Monthly Archives: June 2005

Anyone own a MacWizards PowerBook AC Adapter?

I’m thinking about buying an extra PowerBook AC Adapter for my 17″ PowerBook. The design of the Apple-supplied adapter is quite good and it has two plugs, one travel and one long cord. I leave the long cord at home and bring the travel to work. But every so often, I forget it and have to run off of batteries. Plus I dislike having to pack it up every time I commute. I’d just rather close the lid, with the PowerBook’s almost-magical instant-sleep mode, slip it in my bag and go.

So I’m thinking about getting an extra adapter so I can have one at home and one at work. The official Apple one is $79 and the one by MacWizards is $34.95.

Anyone out there own one of these adapters by MacWizards?

Eclipse 3.1 released!

Hear ye, hear ye, Eclipse 3.1 has been released!

It was officially released today June 28th, 2005 at 12:01PM EST.

Get it at the Eclipse download page. As always, it takes a little while to propogate to the mirrors, so if you really want it now, you may have to go to the Main Download Site.

The New and Noteworthy page has a big listing of all that is good and new in Eclipse that has changed since 3.0, which was released roughly a year ago.

Congratulations to everyone!

As an added incentive for downloading, there is a Million Download Challenge where people will donate time and/or money for every day it takes to get to a million downloads. As of now, 6/28/2005 12:50PM EST, there have been 1,659 downloads.

Update: 2:15PM – 8,166 downloads

Update: 4:01PM – 17,033 downloads
Sorry, Mike… I just had good timing. :)

Update: 6:00PM – 27,163 downloads

Update: 8:17PM – 38,331 downloads

Update: 10:16PM – 48,805 downloads

Update: 1:00AM 6/29/2005 – 63,142 downloads

Reading the Rails beta book

I got the Rails beta book (aka Agile Web Development with Rails) and am reading the PDF on my 17″ PowerBook. After hiding the dock, stretching Preview out to be full screen, hiding the drawer and the toolbar, Zooming to Fit, and setting the PDF Display to be facing, I find that I can read two pages of the book at a time! At a pretty decent font size, I might add.

It took a little bit for my order to get fulfilled, but it was worth the wait. There’s over 500 pages of Ruby on Rails goodness in this book. I’ve been reading all the online docs and this book distills a lot of the available knowledge, while adding insights from Dave and DHH himself. It also goes through several examples, which are pretty helpful.

Moleskine full – what to do? Make a Gridster PDA

I’ve been using a Moleskine pocket notebook for the past few months. I got it after reading Getting Things Done, which inspired me to externalize and persist the ideas, goals, todos, etc out of my head and onto paper.

I had been using a Palm for quite a while. When I was in sales, the original Palm Professional was really important to keep me reminded of all the appointments my sales guy and I had (I was an SE), all the people I had to contact, etc.

But over the years, I realized that it was pretty hard to enter information quickly into the Palm. The last straw however was when Graffiti was changed and many of the single-stroke characters I was used to became two stroke. So I’ve been steadily entering more and more things onto paper, but never systematically and I had been using large form factors, which made my notebooks not too portable (except while at the office). And if your notebook isn’t portable, you’re going to lose thoughts.

Enter the Moleskine, which is great. The only problem: they only have 192 pages. And I took 59 pages of notes at WWDC 2005, leaving me with one blank page. So my Moleskine is effectively full!

What to do now?

Well, I remember having read about this invention called a Hipster PDA. When I first saw it, I chuckled. But after talking to Ryan, I realized that I had been under utilizing index cards. Index cards have a nice property that they can be filed in a card box, are relatively inexpensive, widely available, and can be spread out spatially to say see what many of your thoughts / sketches at once. So during a recent trip to Staples, I picked up a big pack of regular index cards, some grid index cards, and some binder clips. And I assembled my first Hipster PDA, made of index cards. However, I found that the ones with the grid pattern were much better, since you can write vertically quite easily and it gives me some guidelines for doing 2D sketches of UIs, workflows, etc. I like to visualize things.

I actually put together the Grid-based Hipster PDA (maybe it should be called a Gridster PDA) before WWDC just to try it out. I did find it better for sketching. And I found that I wrote more and sketched more. The reason is because the Moleskine is so svelte and swanky, you start to think before you write or sketch: “Is it Moleskine-worthy?” And I think this is a bad thing… You don’t want anything to come between your thoughts and persistence, because thoughts can be quite fleeting. But index cards are so cheap, even the grid-based ones, that you don’t mind messing up and throwing it away (optionally tearing it apart), but you would never think about tearing out a page from a Moleskine.

Epilogue: At the WWDC Blogger Dinner, I met the incomparable Merlin Mann, the one who started off my journey into GTD, who blogs 43Folders. I showed him my Gridster and mentioned that I liked the grid cards. He pulled out his and voila, he had a Hipster with grids too! He mentioned that he liked writing on the white side, with faint blue grids to guide him. I like to write on the grid side myself.

OSNews interviews Steve Northover

OSNews has an interesting interview with Steve Northover, the principal architect behind SWT. He’s an old Smalltalk veteran from OTI, which got acquired by IBM in the 90s.

I think the interviewer brings out some good points:

1. SWT is successful because it uses native widgets, it is small, and it is fast

Eclipse is the main beneficiary of this success. I wonder if SWT were available, if early failed Java ventures like a Java-based Netscape (Javagator) and Corel’s Java-based WordPerfect Suite would have succeeded if they had used SWT.

2. “Many people want to build applications that are indistinguishable from native ones.”

I’d take this one step further: Users want to use applications that are indistinguishable from native ones. They would rather not deal with something that looks or feels different. Their lives are already complicated enough. So its not that developers like one way or the other. I’d probably say that programmers would tend towards having one emulated look and feel across all platforms because it is more uniform for the programmer. But user experience trumps programmer desires.

3. “The native versus emulated debate has been going on for at least 15 years. Before Java, we built a portable native widget set for Smalltalk. Sometimes history repeats itself.”

I’ve been on both sides of this debate throughout my career: I started out with native widgets in Delphi since that’s pretty much the only widgets available on Windows back in the mid 90s, then went to emulated with VisualWorks Smalltalk and Java Swing, with an interlude of native with Java AWT, including Applets.

I think it is this AWT experience, which was bad, that causes Gosling and others to recoil in horror from SWT. In retrospect, I wonder what the experience of the AWT implementors was, if they had ever made widget toolkits before. [Wikipedia on AWT: "One of the reasonable causes of this mediocrity is said to be that AWT was conceptualized and implemented in only one month."] It is clear that Steve and his team has done it before and is doing it even better this time, while doing it in open source.

Now I’m back to native with SWT and Cocoa. Of course, web app interfaces like with Rails are the wildcard here, but since they all occur inside the browser, the user has different expectations than with a desktop app.

4. “What is JFace and how does that fit in with SWT?”

This is a constant source of confusion for those first learning how to program for Eclipse. It would be good if we could somehow merge the APIs of JFace and SWT for those who definitely want to program at a higher level. SWT is separated out so that it can be used at lower levels by folks who either just like to do that or want to use it embedded in other contexts rather than in an RCP app or Eclipse-based tool.

Until then, my only advice is to avoid looking at SWT first and JFace second. Instead, try to find a JFace API to suit your needs and use SWT APIs only when you need to (which is still quite frequent.) For example, you could build a tree that does what JFace TreeViewer does for you with just an SWT Tree and adding additional custom built APIs. But don’t do that, instead use a JFace TreeViewer. Doing so will also lead you towards a good Model View Presenter solution, with the SWT Tree being the View and the TreeViewer being the Presenter.

I blogged more about JFace and SWT in Eclipse JFace tip: How to add column headers to a TableViewer.

Does your wrist hurt? Try using a Pil-O-Splint

I’ve got a bit of wrist tendinitis. I think it is somehow related to my compulsive computing. Also I’m a touch typer and like to type really fast, especially when I’m in the zone (usually with headphones on and iTunes keeping the beat) with design and code flowing out of my head, onto the keyboard, and into an IDE.

I went to one doctor and she thought that there was nothing wrong with me. And that unless my wrist was getting a bit bent out of shape while I was sleeping, then there was nothing she could do. Well I didn’t know if that was happening, so I didn’t get anything.

So the problem continues and I go to another doctor. This guy understands me and is the closest to being a General Practitioner for me (though I think he is officially an Internal Medicine specialist). He determines that yes, I do have some tendinitis and I should probably get a wrist splint when I sleep at night. However, he recommends using a rollerblading wrist guard. This was a step forward, but pretty uncomfortable. I tried some other ones and they were also uncomfortable.

Then I ran across the Smart Glove and the Pil-O-Splint by IMAK. They’re both designed by an orthopedic surgeon, meaning that the guy knows about wrists. The Smart Glove is good for helping me type during the day. I use it occasionally, when my wrist really acts up.

However, I still use the Pil-O-Splint every night. It’s like a special pillow for your wrist. It keeps your wrist mostly immobilized and allows it to heal overnight. I don’t type in my sleep (haven’t figured out how to do that yet), so restricted movement is no big deal. The only thing I’ve had to learn how to do is to adjust my blanket and pillow with my left hand, since my right wrist is the one that is weaker for me, probably because I’m right handed and use the mouse with that hand as well.

I actually forgot my Pil-O-Splint at my hotel at WWDC 2005, so I had to decide recently whether or not to buy one. Well I tried to without it for a few days, but noticed my wrist was getting bent uncomfortable while sleeping and was sore. So I ordered it yesterday from Amazon for almost half price of what I originally paid for it (retail from the manufacturer’s site). I paid for ground, but amazingly, it arrived this morning USPS Priority! Thanks Amazon for reading my mind. Now it’s off to rest my wrist in my brand new Pil-O-Splint…

WWDC 2005 Recap

WWDC was great. It was my first time attending and will probably not be my last. At first it was a bit intimidating, especially with the huge crowds waiting to get into the Keynote. But after a while, I really felt… at home. Like these were my people. How many places does every other person have a PowerBook? Where can you wander the halls and chat with any random person about Macs?

There was a lot of good content too. I couldn’t attend all the ones I wanted to go to, but hopefully the DVDs will come out soon and I can watch all the ones I missed. Like David, a fellow Mac developer from the DC area said “I felt like a kid in the candy store” when I looked at the conference schedule. But as good as the content was, meeting the people there was even better.

It felt kind of like a reunion of sorts. I met all these folks whom I had some contact with from all these different contexts, mostly Mac-related. It was great to go to the MacSB and Blogger Dinner on Monday. Thanks Mike and Buzz for setting those up! I only wish there were more small group meetings like that at conferences. I managed to find several East Coast developers at WWDC and at the airport. I also met a bunch of Apple folks including Andrew (thanks for the new Subversion on Tiger post) and bbum.

WWDC 2005 Keynote Revisited

As everyone on the planet and their mother knows by now, Apple is officially stopping the use of PowerPC chips and will phase them out over the next 2 years. They will be going with the 800lb Gorilla of the Chip Market: Intel.

Some people, OK, a lot of people on their blogs have questioned this move, but here’s my take on it. Just to let you know, I am an Eclipse on Mac programmer by day and a Cocoa on Mac programmer by night. I use a PowerBook G4 mainly and I’ve got a Mac mini and a decommissioned generic Pentium II at home. And I’ve seen change…

…But this was huge.

When I walked into the room where the Keynote was, there were speakers blaring and it seemed more like a concert than a conference. U2 and all the techno from the iPod ads was shaking the room. Everything seemed larger than life. There were ushers trying to find room for everyone and I got a seat about 10 rows back, all the way to the right. The lighting was top notch, with big glowing Apple logos floating above the stage.

So Steve Jobs steps out and the crowd goes crazy. Some guy yells out “Steve, we love you!” I’m guessing if Steve were to jump out in the crowd, he could probably surf it. But he seemed to have something on his mind. And we had something on our mind. We had seen the TV crews outside and all the rumors and news reports over the weekend. Honestly, I think most of us wanted it not to be true.

Steve went over how the user base was growing, the retail stores were growing (with a great little movie about it), how the developer base was growing, how attendance at WWDC was the highest in a decade, and how iPod and iTunes is this huge digital music juggernaut. So we were pretty pumped. There was going to be 2 million copies of Tiger shipped soon. I thought about how Spotlight was a partial fulfillment of Jef Raskin’s dream to not have to remember where you put a file or what you named it.

Then the bomb dropped.

It seemed like time was standing still. Or that the all the air had gone out of the room. It was surreal. But it was true. Steve gave the official answer that the performance per watt projected into the future spelled the effective end of the AIM alliance. (That was Apple, IBM, and Motorola.) Basically, by mid 2006, Intel would be over 4 times as powerful as the PowerPC chips per watt. This seems like a huge difference especially as more people buy laptops instead of desktops. We’re still waiting on the dual 3.0Ghz G5 desktop and the PowerBook G5. And not being able to deliver those were two big straws on a camel that was straining to stand.

You might think that this seems like a bad move because there will be a lot of volume in the Power line soon. Yes, Sony, Microsoft, and Nintendo all run Power, but they are all customized versions of Power. So PowerPC wouldn’t get all the volume from the game consoles because they are effectively four different lines of chips: one for Apple, one for Sony, one for Microsoft, one for Nintendo. This is all good for IBM chip manufacturing, but it wouldn’t have helped Apple.

After the initial shock came some comforting news: Apple had a plan B all along. I think they got this from NeXT, which had ported OpenStep to a variety of platforms. Apple had been running OS X on Intel for the past 5 years (which is when OS X came out.) I wonder if they have it running on any other platforms.

Then came the big surprise ending: Steve had been running his presentation on a copy of OS X on a Pentium 4 the entire time!

OK, so what does that mean for us Mac developers?

Well, a lot of us won’t have to do much. Java programmers won’t have to do anything. I guess Eclipse will port over SWT to OS X/Intel. Even if it doesn’t, there is a PPC to Intel translator built into OS X/Intel called Rosetta. It reminded me of HotSpot and it seemed quite good.

Cocoa programmers will have to get Xcode 2.1, upgrade their project, set a flag to compile for both PPC and Intel, recompile, and deploy their new Universal binary which contains both executables. Pretty simple.

There’ll be plenty of time to do this, since Apple isn’t scheduled to ship Mac/Intel computers until around this time next year.

On a personal level, this is on one hand exciting and nerve-tingling, but on the other hand, no big deal. I’ve been through a lot of different transitions, at the language level (Smalltalk -> Java), at the OS level (too many to count), and at the hardware level (I’ve had a Timex Sinclair, a PCjr, a Mac, an Amiga, a 10th Anniversary Gateway, several custom built-PCs and now the PowerBook and Mac mini.) I think this will be smoother than the rest, because the OS, language, and frameworks will stay stable, and only parts of the hardware will change.

It’s true!

What a wacky world we live in. First Microsoft switches to using customized PowerPCs in Xbox 2 and now Apple switches to using Intel chips in future Macs.

I had a pretty good seat about 10 rows back all the way on the right hand side. Steve Jobs kept us all in suspense by saving the big, earth-shaking, no make that universe-shaking news until the end:

Apple is going to use Intel chips

I’ll blog more later about this because my head is swimming and I’m starving for lunch…