Wednesday, December 31, 2008

GNUstep in the year 2009: A look back and a look forward...


Looking back on my last two years as lead, I can see that it is much harder than I originally thought it would be.

I know that I haven't always been perfect, but I'm learning. :) Also, aside from all of that... I've suffered a few very personal losses in the past year and a half that have distracted me a bit from GNUstep, but it's always remained close to my heart.

GNUstep has made some significant progress in this past year in terms of stability, completeness, and usability on UNIX-based platforms and, particularly, on the Windows platform.

I believe that the coming year holds some promise for GNUstep since I have been seeing more interest regarding porting apps for Mac OS X to GNUstep. There have also been a number of new "native" GNUstep apps from GAP and from Etoile.

I think the things we need to focus on, as a project, over the next few months are (this time in priority order):

1) Stability/Polish.
a) We're pretty stable, but there are a few places in GNUstep where we lack "polish." :) We need to make certain that a lot of the little annoyances that we are used to dealing with are taken care of as they make a huge impression when someone first sees an application which uses GNUstep in action. I leave it to other threads/discussions to hash these out, but I will mention one: Menu/Window Focus issues. :)
2) Better compatibility with Cocoa/API completeness:
a) Determine which classes GNUstep is lacking when compared against a given version of Cocoa (TBD).
b) Implement classes and methods identified in step a.
c) Better nib support for writing. Reading appears to work very well, writing nibs has a few issues which I have identified and will document as bugs.
d) perhaps more...
3) Theming
4) ObjC 2.0 (this is a nice to have...) :)

I also think that it's very important for us to stick to the goals which were set out in the blog posting I made here:

Some of the things in the list from my blog have been achieved with great thanks to those involved in doing so (in no particular order):

* Nicola for doing such a great job on gnustep-make, and FHS support and all of his other contributions,
* Fred for his awesome work on gnustep-gui and for helping to make Windows more usable,
* Richard for his tireless work on gnustep-base,
* Riccardo for work on various applications in GNUstep and GNUstep GAP which have helped to identify issues in GNUstep itself,
* Wolfgang Lux who has been a consistently excellent addition to the team since he started contributing
* everyone else who has worked on GNUstep over the past few years.

By giving thanks to these people above, I am, by no means, minimizing the contribution of anyone not mentioned above. :)

Other goals on the list from the blog haven't been achieved yet, but I believe that all of those points are central to GNUstep's success.

With some effort, I believe that we can make 2009 a really good year for GNUstep.

Thank you, GJC

Sunday, December 21, 2008

Update on Bean and Flexisheet...

Well, after a number of improvements recently, Bean is a hair's breadth from working without a hitch. Please see the attached picture below. The only thing left now is to implement some new NSDocument methods which Bean requires in order to work and we should be good to go. These methods are:

-[NSDocument readFileWrapper:ofType:error:] and
-[NSDocument readFile:ofType:error]

We're also very close to getting the spreadsheet that we were working on going. It's called Flexisheet. You can see a screenshot of it here:

The apps themselves are virtually unchanged from their Mac OS X versions. The only corrections necessary in Bean were to not use isEqualTo: (which is a scripting method) and to use isEqual: to compare some objects. Other than that these apps work right from the source. Bean, in fact is built using pbxbuild which is a tool in GNUstep that builds .xcode projects directly. The pbxbuild tool is still in beta but works very well on Windows and all Unixes (Linux, BSD, Solaris). Your help in testing it would be appreciated.

Anyway... I know I don't post as often as I used to and I plan to change that. Thanks for your support of GNUstep. :)

Tuesday, November 04, 2008

Porting two new apps to GNUstep

Currently efforts are underway to port both Bean and Flexisheet to GAP. GAP is the GNUstep Application Project.

GAP's focus from now on will be to both come up with original apps, but also to port as many apps as possible from Mac OS X/Cocoa to the GNUstep platform. This effort is an attempt to create an ecosystem of applications for GNUstep users to choose from.

While GAP itself is not a desktop project, the hope is that these applications will complement the desktop projects which do exist for GNUstep.

The GAP project is also in the process of becomming an official GNU project.

Currently, it's here:

Sunday, October 12, 2008

FLOSS Weekly #44: GNUstep

The taping went great and the show is up in twit here. I had a great time talking to Leo and Randal and getting the word about GNUstep out. Please have a listen!

Tuesday, October 07, 2008

Appearance on FLOSS Weekly

Hey guys... I'll be on FLOSS Weekly with Randal Schwartz and Leo Laporte. The show is hosted here.

Needless to say I'm very excited to be on the show and a good friend and fellow contributor to the project, Riccardo Motolla, will be appearing with me.

Talk to you soon!!

Sunday, October 05, 2008

Are we really going to fall for it again?

Wednesday, May 28, 2008

On the market again...

With my current gig ending in about 3 weeks, so I'm told, I'm in the market for a new contract position. I really want to find something that will be more interesting than most and not just any old work.

Excite me, make me learn, challenge me and, most importantly, keep me from being bored because I get bored VERY easily.

Any takers? ;)

Tuesday, May 13, 2008

Death knocks on our door again...

Sometimes I'm forced to think about all of the people I've lost in the past couple of years. While I don't consider myself to be old enough to go through this, I seem to be starting to see death as an unwanted companion.

For the last two years people who have mattered to me have passed away one by one. First my Father... then my Uncle Victor, who was everyone's favorite uncle.. you know, the funny one who's good at telling jokes. Then my Uncle Frank. He was the talker the one who loved people and the one who always tried to be everyone's friend.

Perhaps the hardest blow recently to me, personally, was the death of my closest friend Jason Withers. He died of a stroke last year in December because of a piece of plaque that had formed in one of his arteries. That's a very cold and clinical description, but one I've come to accept. Jason was closer to me than a brother and I think of him often. He and I used to have a sarcastic humor together that only comes when you've known someone for many many years.

The most recent is my brother in law, Shawn. He passed away last night. He was a close friend. He suffered from cancer and fought it until the end. My sister loved him very much and she is extremely distraught over his death and, yet, I feel cold. Death has visited my family way too often in the last few years... Death is like an old friend whom you're at first surprised to see, but then becomes someone you know all too well.

I know that the emotions will come... that the tears will come... and that, soon, our pain will be done.

The one thing that all of this stresses is the importance of life. Death is the one thing that comes to us all in time. While love may elude us... death is certain. It's important to tell those that you love... that you love them without question. Because he may be at your doorstep, or theirs much sooner than either of you anticipate.

Sincerely, Greg C.

Monday, April 07, 2008

New Gorm Release!

Check it out... there is a new Gorm release it's 1.2.4. Please download it and try it. You can get it at

Monday, February 04, 2008

Bad Company

As many of you who follow my blog may or may not know, I'm a software consultant. This means that I run my own small company consisting of, you guessed it... one employee... me.

Well, sometimes I find myself in the unfortunate position of dealing with an unreasonable client. Such was the case in the last 6 months. While I will not mention the client by name I will say that they were in the habit of underbidding contracts by hundreds of hours and hoping that the the heroic contractor (please note the generous dash of sarcasm here, folks) could come swooping in and save the day.

When you have project managers who don't know how to estimate jobs, then you will ultimately make mistakes that end up costing your company money. When you have people who don't understand software or how it's done and you feel like you can slog off all of the work onto your developers, you will lose developers. Herein lies the perfect way NOT to run a company because it causes several things to happen all at once:
  1. You're customers will be angry at you for not completing the projects in a timely way.
  2. You will piss off your developers because they will end up working 10-20 hour days. (Yes, I have worked two days in a row at one point non-stop... trust me I'm 38 and, at my age (while I'm not old... well not yet at least) my body doesn't forgive me very easily for punishing it like that. I learned this the hard way.)
  3. You will sour your reputation in the marketplace because of both #1 and #2 because, while people will not be talking maliciously about you they will speak the truth about you. Please remember it's not slander/libel if it's true.
  4. Because of ALL of the above you will lose money.
One of the worst situations I have run into is where companies hired account representative and "creative" people (i.e. graphic artists) and suddenly thrust them into the role of a PM. These people have no clue what to expect and tend to think of creating an application like one would think of writing a word document. They do not heed warnings, nor do they listen to reason when they make decisions that will cause issues with architecture down the road.

I have personally always seen it as my duty to keep people informed about where they can improve their business, but, sometimes, there's little you can do especially when management is unwilling to listen.

At any rate, there are good jobs and bad ones. I'm simply thankful that I'm on a good one now.

Sincerely, G.