MacVim FTW
9/09/2008

While I've always been a fan of Xcode... peers in the office have turned me onto an excellent port of gvim for OS X known as MacVim:

http://code.google.com/p/macvim/



While there are a million configuration options out there, here are a few I'm running with:

syntax on
set background=dark
set softtabstop=2
set tabstop=4
set shiftwidth=2
set expandtab
set autoindent

Basically those options enable dark background w/ syntax and 2 space softtabs. (and 4 spaces for existing tabs).

if has("gui_running")
colorscheme koehler
set columns=90 lines=65
set transparency=8
endif

For running gui (i.e. macvim) use the dark color theme 'koehler' and give some initial window dimensions. Since I'm a big fan of 80 col code, and vim really doesn't have a good way of displaying that (fail) I use a 90 col window. Also the |transparency| option is a MacVim only option for that gives the window 92% opacity.

set guifont=Monaco:h10
set guioptions=egmrLt
set enc=utf-8
hi LineNr guifg=#333333

These options are enable Monaco 10pt (aliased) and the |guioptions| passes in some flags to always open a window with the toolbar collapsed. The |hi LineNr| is to override the color themes line numbers foreground. The default for koehler is a bright yellow line number foreground, and I like my line numbers to be non-distracting.

:nmap :set invnumber

And finally, this option simply maps double typing control-n while in normal mode (i.e. not insert or visual mode) to show/hide line numbers. Very handy if you don't want to always see line numbers when the file opens.

Anyways, thought I'd pass on this good find.


Back on Correo!
7/30/2008

I've been very busy lately with pushing out the new UI stuff for Songbird, which means I haven't had much free time to work on any side projects.

During the past month or so I stopped using Correo and started to run with the Thunderbird 3 alpha, which wasn't too bad. I made the switch because a couple of the advanced features and additional polish that Correo lacked - Thunderbird had. Last week, I also tried the newer Mail.app that shipped with Leopard. After getting tired of watching Mail.app crash when trying to handle 3 IMAP accounts - I switched back to Thunderbird. Yuck! Now I remember why I started Correo in the first place. So now it's time to fire development back up.

Right now, Correo 0.3 is running off of the 1.8.x Mozilla branch - which is dated now (well, not so much for the embedding stuff). My goal for the next few weeks is to get a build setup working for the 1.9.0.x Mozilla branch (off of CVS). I still can't build mailnews under XULRunner, so that will have to wait. As I've said before, I'm probably going to stash a pre-built binary for the Mozilla dependencies. This gives me the option to patch things if I need to patch them (i.e. the build system). Once this gets done, it should make it easier for others who want to build the source themselves (i.e. no full Mozilla build before an Xcode build).

I've got the source moved over to SVN here:
http://code.google.com/p/correo/

It's currently in a half-ass state, so pulling it won't get you far. Hopefully this weekend or sometime this week I'll find some spare cycles to piece things together.

On a slightly different note, be sure to give the new Songbird "blessed build" for our next release (0.7). We've put a ton of work into it, including a complete UI redesign and super fast metadata scanning (amongst other things of course).


Thinking Chiefs
5/16/2008

NOTE: This post is 100% NFL


It's only May and I'm already pretty excited about the upcoming NFL season. The Chiefs had a terrific draft, and I think it is the initial turning of the tide for the organization. First off, Herm Edwards is committed to bringing in youth and playing them right away. His philosophy towards free agents ("helmets-for-rent") is something I think is pretty true these days. Most free agents come across from another organization and take big chunks out of a teams cap - and aren't always a lock for success.

People will quickly overlook the Chiefs this season, and maybe the next. However, think about these facts:

- They have a solid game changing receiver in Dwayne Wade
- The defensive line with the addition of Glen Dorsey should make it very difficult for teams to run.
- With the pick of Brandon Flowers, Bernard Pollard, and Jarrad Page - the secondary has youth, speed, and talent. Watch out for Flowers and Pollard because they are big time hitters.
- With a revamped offensive line and Chan Gailey the offense should have spark again. With a healthy Larry Johnson coming back, I expect the Chiefs to be much more productive on that side of the ball. Also, giving Brodie Croyle some time in the pocket will allow him to develop and the organization to actually analyze him.

Another note on Croyle - I'm a big fan of the kid. He's got a strong arm and is coming out of a big time program in the SEC (Alabama). The players (at least most of the younger ones) all seem to really like and click with him. If you remember, Chailey was the offensive coordinator of the Steelers when they had Kordel Stewart - and he made him very productive (and look at Stewart these days). I think Gailey will be able to adjust the system for Croyle. The previous coordinator (was the offensive line coach during the Vermeil era) just didn't seem to have a very good strategy and approach to running the offense. I think some of the blame for Croyle's slow start can be blamed on him. But if Croyle struggles again this year, I won't be surprised for the Chiefs to go after a big time college QB in the draft next year (Chase Daniels?).

Anyways - back to reality in May on the west coast. But it's getting much closer to giving DirectTV a call for the Sunday NFL package!


Ubuntu 8.04 Beta
4/10/2008

For writing the inotify version of my XPCOM file system observer service, my linux flavor of choice has been Ubuntu. So I had bootcamp set me up a good slice of my mac books HD and installed 7.10. It was working fairly well, especially after following this guide. However, there is an issue with the kernel version that shipped with 7.10 that makes resuming from a suspend work like 20% of the time. This hold up got pretty annoying considering I like to just put my mac book to sleep and carry it to a local cafe, so I started to look into options. It looked like my options were to downgrade the OS or the kernel, or try the new ubuntu 8.04 beta.

Well I like fancy new things, so I decided to switch and use the beta. So after some quick hiccups, the system is running fairly smooth (and suspend works). I'm really starting to like Ubuntu, and if I could fix up a few things, I'd probably use it on a day-to-day basis. For instance, the alleged new auto-screen detection thing doesn't work on my third gen macbook. I like to hook up to my big screen at home so I don't have to hunch over. If anyone has had any success with getting this feature to work, please contact me (nick at nkreeger dot com).


One thing done...
4/07/2008

Well, this weekend was pretty busy thanks to an awesome trip out to Tahoe to ride the wall at Kirkwood! The conditions were pretty sweet even for April!

However, I did manage to find a few cycles this weekend to take out the security prompts out of Correo - and start the new auto-login prompts! I'll try and put some more time in this weekend (outlook good so far) so that I can get a test-build out to the community. While I'm at it - I'm thinking of ways to bundle up a pre-build version of the 1.8 branch. I think this will help get the source in other devs hands much much easier. I need to set up some scripts to build Correo against XULRunner anways, so now is as good as a time as ever to start a custom build setup!!!


Things I want to work on
4/04/2008

I've been fairly busy at the new day job, but I've been compiling a list of things that I would love to work on. Hopefully I'll have a free weekend or some slower evenings to punch these out:

Correo:
Camino:
Songbird:
Mailnews:
Other:

My side project that I've been working on lately has been a XPCOM native file-system observer service. So far I have the Mac (kqueue) and the Linux (inotify) almost done. We shall see how windows goes.

Side Sports Notes:


Embedding XULRunner in Cocoa
2/21/2008

Last week I started working on prototyping a plan to pull the Camino rug out from under Correo and build a fresh framework based on XULRunner. As I mentioned before - this will make it easier for others to get the source and build it - plus may help set the path for Camino to eventually move to XULRunner in the future.

Setting up a project in Xcode took some time, but once I had all the required dependencies (you have to copy most of the dylibs into the Application.app/Contents/MacOS/ folder - or point to the /Frameworks/XULRunner.framework...) and the necessary headers added to the search path things came together pretty fast.

Download the Example Here

In this example, it's a no-thrills-barebones demo. There is no embedded view, just a class that starts up XULRunner and XPCOM and another class that demonstrates that XPCOM is running. The test class (in XRTestClass.mm) simply inherits from the nsIObserverService class and gets registered for a dummy event and is "notified" by the containing Obj-C class (XRTestClass). See the code for details.

When I get more settled in here in SF - I will probably start cutting up an embedded view and start moving the Correo code to this type of platform. However - I noticed that trying to build the mailnews component (this was probably on branch - can't remember if I tried trunk) with XULRunner didn't work because of some older auto-complete interface that isn't used by XULRunner. Anyways - that's a problem for a later time ;-)



The old archives are here.