Crouching tiger, coding monkey

Must have software and tools (Mac OS X Edition)

Filed under: Apple, Development — Grant August 13, 2008 @ 12:03 am

A couple of weeks ago Tim posted his must have software and tools. Always one to steal a good idea, and wanting to balance out his Windows focus, here’s my list.

General Apps

Safari - I’m not a huge browser plugin guy and Safari is pretty darn fast.

Firefox - The above being said, having a backup browser is a good thing.

Mail.app - Solid mail client with excellent free form searching.

iChat - I never got into Adium because this guy has always worked for me.

iCal - Really looking forward to true Exchange integration with Snow Leopard. Google Calendar integration means I actually know what is scheduled at home now.

iTunes - Does a wonderful job with podcasts and video podcasts.

Bloglines - All my RSS in the same place on any computer.

Twitter - Still not sure why I like it so much.

OmniFocus - No program has saved me more often than OmniFocus. Plus it integrates perfectly with Mail.app which makes Inbox Zero easy.

OmniGraffle - People always ask if there is a Visio for the Mac. The question is wrong. It should be is there an OmniGraffle for Windows? (Answer: No.)

Comic Life - If you have ever read one of my design documents you’ll know how much I love this one.

MS Word - Word is the standard for business documents.

Keynote - All my presentations and screencasts are done in Keynote. The animation support alone is worth the price of admission.

Snapz Pro X - Speaking of screencasts, this is my screen capture program…

QuickTime Pro - …and since I’m unable to do anything in a single take you gotta edit.

BBEdit - As far as editors go BBEdit is old school. Sometimes it is good to be old school.

Parallels - For those times when you have to run Windows.

Transmit - An FTP program that costs money? I know, but it makes up for it by being brilliant.

Developer Tools

Terminal.app - Before OS X I was on Linux/Unix. You can give a guy a great UI but you can never take away the command line.

TestTrack Pro - I have used this just about every day for the last seven or eight years.

Surround SCM - Well, since I kinda work on it and all…

Xcode - It baffles people coming from Visual Studio world but it has really turned into a nice IDE.

Instruments - Because sometimes we all leak memory.

Shark - And sometimes we just run slow.

UnitTest++ - Best cross platform C++ unit testing framework I have found.

BuildBot - Nothing more fun than getting emails about broken CI builds. Wait, there’s lots of things more fun than that.

USB on a Macbook Pro is a southpaw

Filed under: Apple, Microphone — Grant May 16, 2008 @ 4:14 pm

Today while I was doing some work I had the most recent Macbreak Weekly podcast going in the background. For the second time in the last few weeks one of the hosts via Skype was sounding an awful lot like a Cylon. It turns out the problem was the USB port on their Macbook Pro’s, specifically they were plugging their microphones into the one on the right side.

*Pauses*

*Scratches head*

The deal, it turns out, is that the USB port on the right hand side is connected to an internal hub that runs all the other devices like the keyboard. What this means is that there isn’t as much power to go around and it causes power hungry things like a microphone to behave oddly. The one on the left hand side however is all by itself so with it everything works great.

I find this interesting because the very same thing happened to us when we were recording some audio here. At the time we thought my MBP USB port was ok but that Jeff’s was broken because mine would work while his wouldn’t. Our theory was supported by the fact moving his connection to the left allowed it to work.

(That’s the standard by which to measure broken by the way, when one works and another does not.)

So that’s the scouting report for today, if you are having USB problems on a Macbook Pro try having it pitch left handed.

One man’s Twitter journey to fix iPhoto, plus Imperial IKEA

Filed under: Apple, Pretty Darn Useless — Grant April 4, 2008 @ 10:01 am

The funny thing about writing a blog but not administering the blog is that sometimes you login and notice that WordPress is all different. It’s kind of like coming home finding that someone has redecorated your house. You leave and everything is arranged in a nice 16th century Japanese Imperial decor and you come back to find wall to wall IKEA. Now, I’m not saying that one is better than other. Who knows, if IKEA existed in 16th century Japan the emperor might have taken a fancy to it. It’s just jarring to go from one to the other, that’s all.

So anyhow, the real reason why I am here is to give another example of the usefulness of Twitter. On April Fool’s Day, Andy Ihnatko wrote a hugely funny gag story using only Twitter. Through the first few tweet’s I wasn’t exactly sure what was going on but by the time he picked up his traveling companion I was already laughing. By the time the airbags were deployed I was laughing out loud. Once I got to the end I had forgotten all about IKEA.

The real problem though is that Twitter is so darn transient that there is no good way to provide a link to the full story. Luckily someone else out there did the work for him to archive it all up. Seriously, go read it, it’s ha ha funny.

Mac Office 2008: The semi-review and a gift

Filed under: Apple, Surround SCM, User Interface, Word Processing — Grant January 24, 2008 @ 11:48 am

So amid the news coming of Macworld the new version of Office for the Mac was finally shipped by Microsoft. A few days ago a big box filled with all our upgrade versions was delivered to our CIO who, without me needing to ask for it, threw one to me the second I walked into his office.
Now my relationship with Office for the Mac is long and already detailed but I was very much looking forward to the upgrade for three reasons.

  1. Entourage 2004 just never worked for me. I couldn’t schedule meetings correctly, it would barf all over itself all the time, the whole thing was a complete disaster. Even if it wouldn’t be feature complete when compared against Outlook I had nowhere to go but up.
  2. Word 2004 had some screwy tool bars that for whatever reason just bugged me.
  3. It was slow because of the Rosetta translation for the Intel chips.

I am very happy to report that all three of my main complaints have been addressed in this version. Entourage now does work for me, just like it used to for everyone else here in the office. The ability to schedule alone is worth the price of admission especially since Apple decided to let the meeting entry UI of the Leopard iCal marinate in a bowl of liquid mouse clicking stupid before they shipped it.

I know other folks in-house haven’t seen huge speed gains but given my nearly daily usage of Word on massive documents I can definitely tell a difference. The crazy Word toolbars are gone but I suspect that those got swept away in the more modern, and dare I say shiny look, that the entire Office suite got. And that’s really the punch line of the whole upgrade. Yes it is now Intel native, yes it is better looking, but that’s about it for compelling new features. I realize that there are only so many things you can do an office productivity suite at this point but I would have figured that in four years we would have had more than a whole bunch of new layout templates that no one uses anyhow.

Oh, and Entourage still uses the DAV interface to communicate with Exchange. Four years they’ve had to port over the communications code from Outlook. I’ve got the feeling that is a political problem though since all the MacBU people I’ve ever met are more than bright enough to handle that task.

One last thing, for you Mac Surround SCM users out there, the rather controversial move to ditch VBA in favor of AppleScript has yielded dividends. Jeff has written a couple AppleScripts that bring Word document differencing to Surround SCM.

Think of it as our little gift to you, even if the gift is one of those “Man that would really useful for me and if it happens to help out the rest of the world then that would be okey dokey too” types.

Cats and multi-headed dogs don’t play nicely together. What a surprise.

Filed under: Apple — Grant January 2, 2008 @ 6:19 pm

So I was cleaning out my OmniFocus today and I stumbled across this:

I had added that back when I upgraded to Leopard and turned on Active Directory authentication to be the default for my user. Now there is only one problem, my next action isn’t true anymore. In fact, I’ve disabled it completely.

Let’s start at the beginning. Three large jungle cats earlier (Tiger, Panther, Jaguar) Apple added the ability to integrate Mac OS X with Active Directory. To say that their track record has been spotty is a bit of an exercise in understatement.

Get it? Leopard? Spotty? I’m sorry, I really am.

The integration really revolves around the Kerberos authentication mechanism which to the security conscious is really the cat’s meow.

Ha! Cat’s meow. No, I’m sorry. I promise this time.

To explain all this I’ll try to sum up how Kerberos works as quickly as I can here. If you start feeling your eyeballs glaze over or a little bit of drool forming at the side of your mouth the punchline is Kerberos works because little gnomes in your computer work out deals with three headed dogs that allow everything to function properly. That being said here’s the explanation.

    Start eye glazing drool inducing skippable section

A long time ago in a galaxy far far away a bunch of smart people decided that sending around usernames and passwords in cleartext on a network was a Bad Idea. Thus loads of schemes and plans and secret handshakes and backroom deals were invented to keep said Bad Idea from happening. One of those schemes worked liked this.

1. A user would enter in their username and password which through the magic of a one-way function turns into the user’s secret key. Nowadays you don’t even need a username and password, things like fingerprints or smartcards or staring funny at a retinal scanner will do. (You’ve got to remember all this stuff was invented back in the 80’s when life was simpler.)

2. The user’s computer would then send a plain text message to the main authentication server saying who it was and that it wanted a bologna sandwich or something.

3. The main authentication server happens to also have a copy of the user’s secret key so it creates a brand new session encryption key, encrypts it with the secret key and sends it back to the client.

4. The client then tries to decrypt the message to get the new session key using his copy of the secret key. If it decrypts successfully everyone yells Mazal Tov and the client stomps on a glass. Actually, that happens if someone has a Jewish wedding. If the decryption succeeds the computer just kind of sits there. If the decryption fails then the username and password must be wrong because the local secret key doesn’t work.

5. A bunch of other stuff happens when the user then requests a network service that doesn’t really apply to the story so we’ll skip it here.

6. A cool sounding name was needed for the protocol so they named it Kerberos, after the three headed hound from hell. Nice.

    End eye glazing drool inducing skippable section

Now Apple has written the software for Mac OS X to act as the Kerberos client while Microsoft has written the software (Active Directory) to act as the Kerberos server. In Tiger I had configured everything to work together with one small exception, I still had the main login screen use local authentication. If I wanted to get authenticated to the Active Directory I had to open up Terminal and run the kinit command. Life was good.

Once I had upgraded to Leopard I figured it was time to join the 1980’s, err, 21st century and configure Kerberos to work with the main login screen. I did a couple clicks here, changed the permissions on a directory there and poof, there I was, trading tickets with the best of them.

That was until I took the computer home.

Once I got there and turned on the Airport, since I use the faster Ethernet at work, one of Kerberos’ heads went and ate its own tail. (This was definitely Not Good since the hellhound has a snake for a tail.) Instead of noticing that it wasn’t on the work network anymore it decided to sit and wait until the Active Directory it couldn’t find would answer its pleas for self identification. Or it would wait until a network timeout occured, whichever came first. Then, to make matters worse, once I got back to work it decided to flip the sullen, sulky bit so that if I tried to start the computer with the Airport left on from being at home it would slow everything down until it dropped the network completely. I was reduced to opening Stickies every time I worked at home with a note on the desktop that said, “Turn off the Airport you idiot” so that I wouldn’t have to double boot the next morning.

After doing this for a month I finally gave up and turned off AD integration completely. Now life is back to normal and local authentication works without a problem.

The moral of the story, I should have know that using a protocol named after a three headed dog with an OS named after a cat was a stupid idea.

Episode #159: Where a fallen slacker returns and a dire warning

Filed under: Apple, Hardware, Unbelievable — Grant November 15, 2007 @ 1:38 am

I’ll admit it, I’m terribly disappointed in myself. I’m sick with regret actually. Truth be told I haven’t done something this stupid since, well, let’s just say that writing about it in a public forum has been strongly discouraged by my legal team.

What I am talking about you ask? I made the boneheaded mistake of telling Yan that come November 16th it would have been ONE FULL YEAR since he had last posted to his blog. A year. 365 days. 1/3 of my kid’s entire life. I’m not sure how you say slacker in Russian but I’m sure it’s spelled Y-A-N.

Anyhow, because I told him this he goes off and does something silly, like making a post. This pretty much ruins my plans for a big celebration on the 16th. On the plus side I hadn’t made any plans yet so now I don’t have to bother. But still, a year. Sheesh.

In tech news I’ve got a story about what not to do when installing and configuring Leopard Server on a shiny new Xserve. First, here’s the list of things to do.

1. Have someone other than yourself haul the unwieldy beast from the FedEx pickup point to the network room.

1a. Hide in shame when said hauling person is literally half your size.

2. Get the network admin to install the rack rails and shove the (still) unwieldy beast into the rack.

3. Have the Xserve hooked up to the remote terminal so that you can sit in relative comfort from a workstation to configure it rather than stand in a room that sounds like the deck of an aircraft carrier.

4. Install Leopard Server using the settings that you tried out on an old G5 so that you know they will work. This allows things like Active Directory integration to actually integrate.

Now, more importantly, here is a list of things not to do.

1. Tell one of the product managers that things are sufficiently stable and that they can start using the new Leopard wiki software.

2. Forget to ask the network admin if the backup client software has been installed.

3. Let the Xserve out of your sight while the network admin changes the run mode from Workgroup to Advanced.

It’s that last one that is the real punch in the gut. You see Leopard Server runs in essentially one of three modes. There’s a Simple mode which is for standalone servers. There’s Workgroup mode which lets you integrate the server with an Active Directory for authentication. (Or an Open Directory if you’re one of the ten people in the world that runs a corporate Open Directory.) Then there’s Advanced mode which is essentially what everything was like pre-Leopard. By using Workgroup mode pulling users from Active Directory is so trivial it nearly makes you want to cry. We did this initially and life was good.

The problem came where the mode got changed to Advanced which has the most curious side effect of completely hosing the Active Directory integration. Authentication errors led to application errors which led to the discovery that really ruined the day:

THERE’S NO WAY TO GO BACK TO WORKGROUP MODE FROM ADVANCED WITHOUT RE-INSTALLING THE OPERATING SYSTEM.

So when you then add a re-install to items #1 and #2 of what not to do, mixing thoroughly with a dash of profanity, it equals a kick in the head to match the punch in the gut.

The lesson here as always, to channel my inner Sports Guy, is that I’m an idiot Yan’s a slacker.

I don’t love the smell of Entourage and Rosetta in the morning

Filed under: Apple, Fire, Mail, Organization — Grant August 3, 2007 @ 2:13 am

About once a year I get terrifically bored and decide that I want to mix things up. Unfortunately I never mix things up in a way that’s somehow a betterment of society. No, I just go and dork with my electronic system of working until I get fed up and go back to the old system.

This year, I decided I was going to ditch Mail.app and iCal in favor of Entourage.

My reasons were simple (digital wanderlust not withstanding):

1. We use Exchange for email and scheduling. iCal’s integration with Exchange is, hmm, “If you can’t say something nice don’t say anything at all”, all what the heck, it’s terrible.

2. Mail.app sometimes shows my read email as unread even after I tell it that yes in fact I did read it and no I didn’t just stare at it blankly.

I knew that Entourage wasn’t really an Exchange client like Outlook and it wasn’t a Universal Binary yet but I could add some rationalizations to my list of reasons:

A. The MacBU said that the Universal Binary version was coming out this fall so no more emulation was in sight. I even had a guy who had a source who knew some stuff that let it slip that this might actually be true.

B. Entourage has this tempting “Project Center” feature where I could setup these elaborate projects that would keep all the files, contacts, emails and everything together. In short, I would be The Organized.

As you can guess by now, this was all a dismal failure.

Before we get to the gritty details, here’s a little background on the two possible ways of dealing with email/calendaring data. The first way, which I will call “The Big Heaping Pile Stack” way works where you really only have two email folders, an inbox and an archive. When a mail comes in you read it, do something about it or reply to it, and then off it goes into the archive. There’s no hierarchy, no structure, just a big folder filled with all the emails mixed together which then relies on the power of search to find what you need later.

The other way, which I shall dub, “The Dewey Decimal without the Decimals” has a whole bunch of folders in which you can move emails. There can even be folders inside folders, massive towers of structure where everything has a place. The workflow here is that you read your email, do something with it or reply to it, decide where in the folder pyramid it is supposed to live, and then finally move it there. The theory is that because of the organizational structure and because you’ve preprocessed where the email is supposed to go that you should be able to find it when you need it.

Given my penchant for stacks, which one of these do you think is my more natural way of living?

Come on. Seriously. Look at the names for Pete’s sake.

“The Dewey Decimal without the Decimals”

“The Big Heaping Pile Stack

Looking back at my rationales we can see being The Organized just doesn’t fit the way my mind is set up. I am certainly organized, but I have a hard time wrapping my head around any kind of taxonomy where I have to decide what I’ll need in the future now. “Do I put this email about how to apply field dressing for a burn into the ‘Safety Tips’ folder or the ‘One thousand reasons why owning a flamethrower would be the coolest’ folder?” See, there’s no right answer there for me and god knows I don’t want to go looking in the wrong place when I have a massive burn on one hand and a flamethrower in the other.

The thing that pushed me over the edge though was Office 2008 for the Mac being delayed until January. The speed penalty for running Entourage in Rosetta was just getting to be too much. I mean, if I was running in native speed checking two folders to solve my burn problem probably wouldn’t be too bad. I’ve got the feeling though that that situation has a real time is of the essence thing about it so I probably best not dawdle.

All this means is that I’m now back to Mail.app which has fast search for my big archive folder even if it still shows some mails as new. I’m also back to iCal and the copy/paste sit-ups that are required for using it with Exchange but the path is now paved for fun with napalm. Now I don’t have to waste time organizing my email and I can instead focus on buying something that will put me on a number of government watch lists.

Toasty yours,

Smokey Grant Lammi

Matt and the iPhone (wow, that sounds like the name of a bad children’s book)

Filed under: Apple, iPhone — Grant July 23, 2007 @ 2:40 pm

Due to the overwhelmingly positive response I’ve received since last selling out a coworker who did a podcast intervew it is with great pride that I bring you:

Matt Disher, our CIO and chief network dude, professing his undying love for the iPhone.

Alright that might be stretch, but the part where I said he’s on the podcast is true.

WWDC Keynote - Full reaction

Filed under: Apple — Grant June 12, 2007 @ 9:02 am

Ah a new day is a here. It is nothing but blue skies and nice weather here in the Cincinnati area, which pretty much means I’ve doomed us to a snowstorm or something tonight.

Yeah, sorry about that.

Last night after the kid went to sleep I got a chance to watch the actual WWDC Keynote. While not as good as being there it is a heck of a lot better than “watching” it by reading a macrumorslive text feed. Here are some more in-depth things that I took away from it.

  1. 1. New Desktop (i.e. Dock) and Finder
  2. Both good things, both things that should have happened a while ago. For me these were the only truly new Leopard announcements thanks to my access to the Leopard seeds and my attendance at WWDC last year. I like the new Finder UI, although I’m not sure of the use of Cover Flow.

    My daughter however adores Cover Flow and uses it extensively to browse the iTunes collection at home. It is important to note, however, that she is only two years old and can’t really read. Thus we can assume that Finder Cover Flow will be HUGE with the preschool crowd.

  3. 2. Quick Look
  4. This could be interesting, and word from my people on the street in SF says that is fun to use. From what I could see in the Keynote it was working well which is quite an improvement from the last time I saw it. (Last time “working” meant grabbing onto your screen and then never going away.)

  5. 3. Time Machine
  6. After my adventure with hard drives recently this alone is worth the $129. An interesting new piece to this is that you can plug a USB drive into a Airport and then backup wirelessly. That is very cool.

  7. 4. Spaces
  8. What’s old is new again on this one. It was useful on Linux and Unix back in the olden days when dinosaurs still walked the earth, it will be useful today.

  9. 5. iCal
  10. I use iCal all the darn time for my scheduling but the corporate scheduling is done using Outlook/Exchange. This means a manual step and a real pain for me when accepting appointments and a trip to Outlook Web (bleech) to create a new meeting. I had high hopes that the new iCal would play nicer with Exchange but that doesn’t appear to the case. Boo.

    On the flip side the Active Directory integration with Open Directory seems to be improved. Unfortunately improved seems to mean lobotomizing Open Directory and turning it into a pass through sock puppet of Active Directory. I guess if it gets the job done going all Charlie McCarthy isn’t that bad.

  11. 6. Xcode, Interface Builder, Dashcode, Xray
  12. Doesn’t seem to be a lot of new stuff here since last year but all are good updates. Xray alone will ultimately make life better. It will be very interesting to see how well C++ is supported in the released version of Xcode. Clearly Apple wants everyone to go Obj-C all the time but there are just some certain realities in the world that they need to acknowledge. For instance, the tons and tons of legacy C++ out there and the complete lack of ability to do Obj-C/Cocoa cross-platform in any meaningful way.

    (Don’t even suggest GNUStep. Seriously, if you were, it is time to sit down an examine your life.)

  13. 7. UNIX improvements
  14. One of the things I’ve never understood about Mac OS X is how when they first released it they tore out large chunks of its BSD system. (i.e. lots of missing system calls, like dlopen) This made porting stuff that had been written for another Unix more of a task than it should have been. Rumor on the street suggests that this will be much improved.

    Plus, apparently they are making things like Ruby and Python first class citizens with Cocoa bridges and AppleEvent bindings and everything. Thumbs up there.

  15. 8. Safari for Windows
  16. I got a chance to download and play with it and it’s, well, Safari running on Windows. I will freely admit that I still don’t entirely get the reasoning behind this one. That’s fine though, there are lots of things I don’t get in the world so this will just be one more.

    This announcement has been super fun to annoy the QA Wizard Pro guys with though. They seem to love it when you ask, “When are you going to support Safari on Windows?”

  17. 9. The iPhone “SDK”
  18. Ok, now for a retraction of the reaction from yesterday. From the previous post I said:

    …depending on your definition of an iPhone SDK. So Cocoa is no, Web 2.0 is yes, I can live with that. Now I just need to get one of the darn things.

    It turns out I was working on some bad information from A.) Not being able to physically see the Keynote and B.) Getting real bad information from Yan on the ground in California. When he called me right after the Keynote one of the things I specifically asked was if you had to run your app through Safari using a bookmark or if it would show up as an individual icon on the iPhone’s main screen.

    Now what I heard from him was the latter, which means either I couldn’t understand him over the cell phone connection as walked down the streets of San Francisco (who knows maybe he was dodging out of the way of a trolly car) or he’s crazy.

    Either way it turns out that your “app” for the iPhone is little more than a website hosted on your webserver that is designed for a little screen. Sorry Apple, but that rates a Boo * 10.

    I still want to get one though.

All this being said I talked to Yan one more time late last night and he said it would be hard for him to go back to Tiger now after using Leopard all day. He said it was too much fun. Take from that what you will but keep in mind, he may be crazy. :-)

WWDC Keynote mini-reaction

Filed under: Apple — Grant June 11, 2007 @ 5:55 pm

The other day I wrote:

So I guess if I had to make a wager, horse racing style, I’m in for $2 on a UI update to place, $2 on an iPhone SDK to show. I could even pull an exotic and box those two on an exacta but I’d probably just be throwing away money at the point. It will be interesting to find out, just a few more days until post time, err, conference time.

Turns out the exacta would have paid out, depending on your definition of an iPhone SDK. So Cocoa is no, Web 2.0 is yes, I can live with that. Now I just need to get one of the darn things.

The Desktop/Finder updates looks promising but I won’t really know until I can drive it. The biggest announcement is also the strangest in the release of Safari for Windows. Tim has some first impressions of it but he didn’t mention the thing I like the most and that I’ve been waiting for since last WWDC…

Search highlighting.

I’ll pause and let you mumble whatever “You must be the lamest person in the history of history” joke that you want here.

Now that that is out the way, look at what I mean:

Highlighted text

No more little blue highlighting of a word, this sucker is a giant orange rectangle-ish thingie that kind of pops onto the screen. If you can’t see this then, well, you probably never had a chance to see the old blue highlighting so you don’t know what you’re missing.

Next Page >>>