7.30.2008

Mac Application Development, Initial Review

I'm about 30 days or so into what I'd consider the "exploratory" phase of learning the Mac OS X programming system, and I have to say it has been quite interesting so far. I'm far from any sort of in-depth understanding of Mac's wide range of core technologies, but with a fairly solid background in C++ as well as a variety of UI-heavy systems like Flash and Flex it was surely easier than it could have been. Even despite all of that, the learning curve in certain areas is unexpectedly steep (and not always necessarily so, from everything I can figure).

First and foremost, the documentation leaves a lot to be desired. One might say, in fact, that it downright sucks. That's not to say that it doesn't define every method and property, but its definitions are rarely more than a brief, enigmatic sentence, and (more importantly) there literally isn't a single example in any of the class documentation. I, as most developers I know, am a 95% learn-by-example kinda guy, which has made the going slow. Incidentally I've even been a bit hard-pressed to find good examples via other sources online, which is probably the most surprising part. Admittedly I've been spoiled from years of web development, but I've definitely gotten used to being able to find examples of even the most obscure sub-class out there in some forum or another. Cocoa development doesn't seem to operate quite the same, however - there are plenty of simple examples but I haven't found more than a handful of advanced code snippets, particularly regarding the UI components. It suffices to say that I have been hammering through these early days on a heavily trial and error basis.

XCode itself, Apple's project development environment, seems to be very well put together. The user interface was extremely intuitive for me from the start, and you really can crank out an app in no time at all without having any prior experience. That is of course to be expected (being an Apple product), as is the solid and simple functionality of the Interface Builder. XCode/ has some similarities in structure to many other recent coding environments such as Eclipse (and thus Flex) and MS Visual Studio, which I'm sure adds to it's accessibility, but I'd have to say overall it's one of the best coding environments I've worked with to date.

And then there's the code itself. I'm pretty torn on first impressions towards Objective-C. In a nutshell it's an object-oriented offshoot of ANSI C, but shooting off in a different direction entirely from C++. That means that it has more in common with C than C++, and has a radically different syntax for about half of anything you may want to do in standard ANSI C. It's definitely simpler than C++, which is a plus most of the time. There are, however, some really weird syntax differences between Objective-C and pretty much anything else I've ever worked with before. I've worked in over a dozen different programming languages over the past decade and a half, and I have never seen anything like this:

[txtOutput setDoubleValue:[numComponent doubleValue]];

That's not to say that there's anything wrong with that, just that it is initially a bit of a maze to decipher what should be a simple line of code. Ok, I take that back - there are a couple of things wrong with it, primarily just that: deciphering it. I don't see any advantage to breaking the left-to-right reading object-method/property system that is used in nearly every other programming language. I am, admittedly, pretty green in this area, and may soon stumble across some hidden advantages yet. In reality, though, I probably won't even notice it after a couple of months (just like every language's quirks).

Lastly, the wide array of built in functionality is truly unbelievable. For example I threw together a quick test app that interacts with (retrieves, updates, the works) a user's iCal in just a few hours, and that's really just the very tip of the iceberg. The frameworks are very well put together and generally speaking (aside from that whole documentation bit) quite easy to use.

All in all, I'm going to reserve judgment for another couple of months of experience, but I'm definitely hooked. I'm generally not as interested in desktop development as I am web development, but there really are some pretty exciting possibilities here that I can't pass up.

Back to work...

3.26.2008

Snow in Springtime

I'm a big fan of snow, generally - I think it's pretty and tragically Japanese and all that. But in spring, in Seattle? I'm not sure what to think of this...

Regardless, my third week of business planning is well underway, and goddamn this isn't as easy as they say...ok, never mind, I guess nobody said it would be easy. I haven't even lifted a finger to start up the big business plan project, and I'm already tired. I've plowed most of the way through my first official business book, and have just started trudging through my second - a more concise workbook of sorts. I've got budgeting, market research, financial planning, executive summaries, promotional ideas, taxes and sales tactics coming out my ears. I can confidently say that I have the utmost respect for everyone who has ever attempted this, even if they failed repeatedly (maybe especially so). 'Cause some of this stuff is a real bitch. I'm sure it doesn't help that I'm trying to squeeze all of this into a three hour stretch every day after my regular 9 to 10 hour work-day, but I know that's no excuse.

Next month I'm looking at some trips to the local chamber of commerce, a couple of business schools (hopefully), and my first dive into the wide, somewhat phony world of networking. I hope all of the real business people don't suck the soul out of me before I'm done with all of this...

3.19.2008

Starting up the start-up engine

I've been sorely neglecting this blog since - well, it seems since we got back from Germany, which has been quite a while now. Things of many varieties have been keeping me busy, mostly in good ways. I can't remember how many times I've written a post stating something about how "I'm really going to make an effort to start blogging again", so I'll just skip that bullshit this time around and get straight to it.

As some of you may know, I've been harboring a deep-seeded interest in starting my own business for as long as I can remember. My New Year's Resolution (yeah, I try to do those kind of things) this year was to make some serious forward momentum in that direction, so a couple of weeks ago I started hitting the books. I'll be taking some online classes over the course of the next few months, reading some pretty intimidating books (already cracked into the first 750-pager), and generally doing everything I can to get the ball rolling.

So that's that. One of the things I've read over and over again is to (A) Never pass up the opportunity to ask for advice, and that (B) Advice can be found in places you wouldn't initially think. So...

If any of you out there have any advice, even the slightest bit of information you may have overheard, I'm all ears. If you have anyone in your family, or know any friends (or acquaintances or classmates or people you met on the bus or whatever) that have ever started a business (even if it failed miserably), I'd love to talk to them, email them, or contact them in whatever way possible. At this stage, any information at all is pure gold to me.

Thanks in advance!

9.28.2007

There's nothing like a change of plans

I think it might be the best part of vacationing ;-)

Planned Trip:

View Larger Map

Actual Trip:

View Larger Map

At Last...Pictures!

430 photos and videos...knock yourself out.
Germany/Austria 2007


And if you're too lazy, here's an embedded slideshow.

9.24.2007

The end?

I always like to think that there's really no end to a good vacation - just a long layover in between where you have to work for a while. That doesn't make it any easier to say goodbye to a wonderful place, and this time was no exception. It's Monday today - we arrived last night around 9PM after a long day of plane rides, bad food and a long layover in Jersey where we managed to catch part of a football game. The culture shock of returning to America was thrown in our faces twofold this time around, as we both had to muster up the strength to get into the office by 7AM this morning and deal with mounds of backlogged work.

But the memories are still fresh - just past the horizon, seemingly. Intermittently throughout the day, I found myself sitting back, turning to look out my window, and letting out a deep, whimsical sigh. It's hard to imagine we could have done so much in just two weeks. It's hard to imagine that just three days ago we were sitting in the shade of chestnut trees, eating pretzels and drinking liter-sized mugs of beer without a care in the world. It's hard to imagine that less than a week ago we were drifting, dazzled, down the most beautiful river in the world.

But the hardest part of all comes a bit later - where do we go next? :-)

Berlin, Part Zwei

Coming back to Berlin on Friday night gave us a chance to spend a whole extra day walking around and just soaking up the city. Since we're staying in the old East Berlin this time around, we set off in the morning on a casual stroll through that neighborhood. It's a very intriguing mixture of past and present, with almost every street containing bold, new apartments and storefronts intermingled with still un-restored, bombed-out remains of a painful history. All the while, a seemingly endless stream of graffiti lines the first floor of the wall-to-wall buildings - some beautiful works of art, others hastily sprayed political statements. The people, as in any place, bear little mind to these surroundings (as they see them every day), but for us it wove together a striking and beautiful cityscape with more visible history than anywhere I've ever lived.

Later on that afternoon, on our way to dinner, Skick noticed that a few streets were blocked off, and a helicopter was hovering a ways away above the city. Curious, we decided to take a detour and find out what was happening. It was a good 8 blocks away before we started seeing rows and rows of police vans converging on an area just around the corner. When we turned the bend, we were engulfed in the thumping bass and loud chants of a political protest. We decided to follow it for a while, and made our way through hordes of college students waving flags, throngs of riot-police standing at attention, and more than a few clusters of recently pepper-sprayed kids recovering on the sidelines. The protest wasn't out of hand at all (just a few small pockets of over-zealous participants, as per any such event), and was very interesting to watch. It was also quite fitting to see since Berlin, saturated in political strife for years, has been a center of such demonstrations throughout many generations. We watched the protesters drum off into the distance, and headed on our way.