sometimes Carbon makes me cry

the woes of cross-platform C++ development

Carbon is Apple’s APIs that were created for developers who had been writing for OS versions before OS X. Apple really wants developers writing in Cocoa (just as Microsoft wants to developers to write in .Net), and they couldn’t make it more clear to those of us who are using Carbon. While being fairly feature-rich, it is overly complicated and poorly documented. Every company I have ever done professional software development with (which includes several of the top companies in the world) does development in C++. Cocoa doesn’t work with C++. It uses ObjectiveC, which means (like .Net) that you can’t easily write portable code for Cocoa. Apple is going out of their way to make it hard to port apps to their platform and should wake up and support C++ for Cocoa.

Apple and Intel roundup

More on this massive announcement

So everyone is weighing in on this and I’ve been reading tons of commentaries. Here’s some of what I thought were the most insightful.

First of all, Apple has Steve Job’s keynote up so you can watch it for yourself. The one thing I got from that which I hadn’t seen covered yesterday was the fact that Apple has more PPC machines in the pipeline. What this means for those of us trying to decide if we want to get one of the last PPC powerbooks is that we might want to wait a bit longer to see if there will be one more performance boost before the Pentium-based machines show up. The other thing that was interesting was that the Pentium-based machine Steve was demoing on was using a “standard-issue” Pentium which might put to rest some of the speculation around a custom intel chip. Also, the responsiveness of Steve’s demo machine which was using a 3.6 GHz Pentium didn’t seem that much better than my 867 MHz PB.

eWeek’s article about how the transition will affect developers was interesting, but could have had more depth. Steve made it sound like most of the OS X developers had already made the switch to Cocoa and X-Code, but what he neglected to say was the majority of the developers using Metrowerks and Carbon are the oldest developers for Macintosh, with the largest codebases. Don’t expect too many new big features in your favorite mac apps releasing in 2006. has a nice article on some of the other potential benefits for Apple by moving to a processor family with more vendors and options.

Dan Farber has his own summation of the techno-pundits on his blog.

David Berlind has got some great insights in his blog

Thomas Claburn of Information Week has confirmed that while Apple won’t let OS X run on non-Apple hardware, it won’t prevent other OSes from being loaded on Apple hardware. This is a pretty important detail. Imagine being able to dual-boot XP and OS X on sweet Apple hardware… I don’t think Apple should try and become an OS vendor since one of the reasons that OS X is so much more stable and secure is because of it’s limited hardware surface. Some insane percentage of crashes in XP systems is due to driver issues according to Microsoft. Apple has avoided this with their strategy and I think that is a major part of Apple’s appeal.

Peter N. Glaskowsky at eWeek presents a very interesting perspective on the whole deal.

Apple and Intel. Official.

The good and bad

I’ve never been a fan of Apple because of the processor, it is the OS that I like. This is going to be interesting.

the good:

  • Macs should get cheaper. Thanks to the economies of scale, Intel chips are cheaper than PPC chips because they make a lot more of them. This should make macs using Intel chips significantly less expensive than they are right now.
  • Macs should improve faster. Since Intel is developing chips for both PCs and Macs, Apple will get the benefit of the R&D that is done. Since the PPC chips were such a small part of IBM’s business, they weren’t as dedicated to improving them as Intel is.

the bad:

  • This transition will be full of FUD for both users and developers alike. As a OS X developer, I’m now forced to transition my projects to X-Code which I’ve been avoiding until now. X-Code is improving, but it has a long way to go to being a first-class IDE. Not that I’m a big supporter of Metrowerks either. I don’t link having choice be taken away. As a user, I was contemplating getting a new Mac PB this year. Do I wait for the new Intel-based machines next year, or do I get a new one now and hope that apps will still run on it once the transition to the Intel-based macs is complete? If I decide to get a PPC-based mac, do I wait for the inventory clearing sales? Are there going to be any more improvements to the G4 Powerbooks, or are they going to be frozen until the new Intel-based ones come out?
  • Is OS X going to be forced to take stuff that Microsoft is forcing into the hardware level? Microsoft has been trying to push more and more security features into the hardware in recent years to try and circumvent the virus writers and the music pirates. Is Apple going to be forced to support these things? I definitely hope not. Having OS X get dragged around by Windows is the last thing mac users and developers want.

The Rich get Richer

The New York Times ran the numbers and it doesn’t look good for those of us in the lower 99.9% income brackets.

This article is sobering, but is not unexpected. Its good to have some numbers to argue with those morons who insist that giving the rich more money will give everyone else more money too. Basically, the Bush Administration continuing the policies of the previous Bush and Reagan administrations has widened the gap between rich and poor to an extent never known in this country. They are corrupting the American dream and producing an American aristocracy. This is class warfare on a profound scale.

Belltown Pizza

Good pizza at a decent price

Belltown Pizza is open late and serves an excellent pie. I’m not a big fan of the thin crust style being Chicago born and bred, but I was really pleasantly surprised. Additionally, the service was excellent. The only downside was the extremely loud music, but it fits the super-hit-cum-punk-rock atmosphere. Not necessarily worth a drive, but if you are looking for good chow in Belltown, it is definitely worth considering.

The Ram Brewery

If you are given a choice between brunch here and a 7-11, you are better off at the 7-11

University Village is an upscale shopping mall near the University of Washington with a variety of restaurants. This weekend, when we found that all the places we normally would eat had long lines because of some UW parents day or something we ended up deciding to try out the Ram. A sports bar now offering brunch during the weekends. After the 35th St Bistro debacle on Friday night we should have picked up on the warning signs immediately. While other restaurants nearby had a minimum of a half an hour wait, there were plenty of open tables in this place. It has a sort of TGI Fridays ambience which I don’t really have a problem with. We knew that we weren’t going to be eating fancy, we were hoping for a standard American breakfast of some eggs or something. It is very hard to screw up eggs. It is even harder to screw up salmon in Seattle. The cheapest salmon you can buy here will be fresher than anything you’d find in the midwest. Imagine our surprise then when my eggs over easy were not just runny, but were actually completely liquid, Nicole’s salmon omelette tasted more like salmonella. Our waitresses had three tables in the room and yet I had to get up and find someone to get more coffee after the empty cup sat at the end of the table for 10 minutes. Likewise we had to track someone down to get silverware when we still hadn’t received any, several minutes after getting our food. This wasn’t a $5 breakfast place either, this is $15/person. After salvaging what we could from the toast and potatoes we gave up, paid, and went to the grocery store to get some fruit.

Ram Restaurant and Bighorn Brewery on Urbanspoon

The 35th St. Bistro

this “neighborhood place” loved by “all” is to be avoided at all costs

When this new high-end-aspiring spot took over Seattle’s favorite Hippie cafe it was hailed as another sign on the accelerating gentrification of beloved Fremont. I wasn’t going to hold that against it, because from the outside it looked like it had some serious potential. I hadn’t read any of the reviews before entering, I wish I had. Most of the reviews on the sites I’ve found have said that the service wasn’t very good but that the food and ambience was excellent. I was a bit surprised when we entered at 8pm on a Friday night that we were seated immediately. We sat, read our menus, put our menus down, sat some more, talked, sat some more. We sat a good 15 minutes before being offered water or bread. We waited another 5 minutes before our drink order was taken and then another few minutes before our actual food order was taken. We were now starving so we ordered an appetizer which then took over 20 minutes to arrive. It burned our tongues when we tried it (there was no warning from our waitress), when we did get our taste buds back we found it to be extremely bland. We were so hungry though that we finished it and proceeded to wait and wait for our main courses. All during this time the noise level in the room increased to the point where we had to shout at our small table to hear each other. This is a small room with maybe 20 tables so that is saying something. Also, every time someone would walk past our table (which was very often), the loose floor boards would vibrate our silverware around the table. Finally, we gave up and vowed never to return. It is a pity because I really wanted to like this place, but I won’t be back there for a VERY long time.

The Sad State of Seattle Food

What is going wrong with Seattle Restaurants?

Hey a new Category!

Seattle is known as a fairly snobby place when it comes to food. We introduced expensive gourmet coffees and weird sounding microbrews to the world. For most of Seattle’s history it was a fairly blue-collar kind of town. With restaurants focusing on quantity as well as quality. That all changed during the go-go nineties with the influx of dot com and Microsoft millionaires. We now have all sorts of gourmet food around here and for a while it was excellent. Now it seems we are in a bit of a decline. Formerly excellent places like Cafe Campagne are no longer worth a visit while new places like Dandelion and the 35th St Bistro try to make up in high prices and presentation what they lack in ambience and food quality.

What amazes me these days is how some of these places are surviving. My wife and I recently had to walk out on a meal at the 35th street Bistro because we couldn’t hear each other and because we had waited 45 minutes for our entrees. If we had stayed we would have ended up paying more than $30/person for the privilege. You read the reviews on these places and they sound amazing, but they are horrific. I’m hoping to write as many good reviews as bad ones, but this weekend we tried two new places and both frankly sucked so there won’t be too much positive to say. To avoid being too negative, I’m going to list a few of my favorite places now.

Non Gourmet Food
The Other Coast – this is an amazing sandwich shop on Ballard Ave. The quality and staff have gotten a bit less consistent since it changed hands last year, but when they do it right, it is awesome.
India Bistro – Hands down the best Indian food in the city, no questions.
Bento Sushi – my neighborhood Sushi place is also one of the best in the city. Some seriously high quality food for not so much cash.
Delfinos – I’m from Chicago, that means I like my pizza very thick and this University Village place does it right.

On the Gourmet Side
Chiso – Higher end Japanese cuisine in Fremont, very excellent
The Queen City Grill – if you can get there before the crowds you can eat very well in a great environment. When it gets crowded though, it is a lot harder to enjoy
Brasa – Excellent Portuguese-Fusion cuisine

There are many more good places that I’ll try to get to, but I’ll mostly be concentrating on new places here, I think.


want to know why Windows is so easily hacked?

As technologies progress and our devices are ever more networked with each other, security in operating systems has become increasingly complex. This complexity makes the systems themselves less secure because it is harder for developers to understand it. So the OS vendors add complexity to deal with the fact that applications are doing security wrong which creates a vicious cycle.

Are you a windows developer? Do you understand ACLs? Maybe you do, but most likely you only think that you do. Why? Because they are somewhat complicated. “What, I can explicitly grant permissions for my network printer to access this file?” Microsoft doesn’t make it easier. The documentation in MSDN is near useless. The web isn’t your friend here either since a lot of the websites I’ve found when looking for more info were just wrong.

I was working on a nasty file-permissions problem in a project that I was working on which necessitated a move from old-style file permissions code to ACLs. Now, I’ve been developing professionally on Windows for over 10 years, and I thought that I understood ACLs. Nope, I just thought I did. I spent days studying the web and writing test programs to figure out how to give the appropriate permissions to a single file. Luckily, I had an awesome tester who could break my stuff in ever more increasingly complicated ways, otherwise I probably would have shipped something that either didn’t always worked or was just a crazy security hole.

I realized that if it was that hard for me, what about all those less experienced or rushed developers currently shipping applications for Windows? The majority of developers inside of Microsoft probably don’t understand ACLs as well as they should. Is there any wonder why there are so many security issues in Windows?

The answer isn’t further complexity, but better documentation and education. This is critical stuff for Microsoft and 3rd party developers. It is time that Microsoft treated it that way.

I haven’t reviewed the ACL implementation in OS X 10.4 yet, but I shuddered when I heard that it was being added.