Euro2008: Go Germany! [Updated]

So, now it's just a few hours away. The single biggest sporting event of 2008 - the Euro2008 final between Spain and Germany!

They're both great teams who truly deserve their shot at gold, but only one can go down in history as winners. No matter who wins I'll be happy, but I've chosen to throw my support behind the Germans.

The spaniards have more star players, especially Fabregas is a genius with the ball, and they have played brilliantly all the way through the tournament. Nevertheless I feel more for Germany and think that with their enthusiastic style of play they may well pull off another miracle in the Alps.

Jetzt geht's los!

UPDATE: Congratulations to Spain on a well deserved victory.

iPhone App Store and the IRS - a study in frustration [Updated]

I decided to spend my friday afternoon setting up all the necessary information in preparation for selling my applications on the iPhone App Store. Since I am based in the EU, not in the US, I ran into a brick wall of trouble.

Once logged into the iTunesConnect system all seemed very straight forward. Since I watched the Publishing on the App Store video that Apple released on iTunes yesterday I knew I had to sign a contract, so I clicked the Contracts, Tax, & Banking Information link.

I then chose to add a new contract for Paid Applications to my account. There are three necessary steps, so I start by filling in my contact information. Not a problem.

Bank Info

I then need to supply Bank Info, like the name and address of my local bank. So far nothing troublesome at all. I also need to provide:
Account Name
Account Type
Branch/Branch ID
Account Number
Account IBAN
Bank Swift Code
Sort Code (UK) / SIC (SZ)

Here things were getting a little hairy, but I was able to figure everything out. My bank actually provided a convenient account number to IBAN converter and the Swift code (althought they call it a BIC code) on their website.

Tax Info

Finally I just have to add my tax info to the contract and I should be ready to go. But as it turns out, this step requires filling in something called Form W-8BEN and involves the IRS. I have to provide a US Taxpayer Identification Number, so I start exploring how to obtain one of these magic numbers.

As I am registered as an individual I need either a Social Security Number (SSN) or an Individual Taxpayer Identification Number (ITIN). I don't think I qualify for a SSN, not being a US citizen and living in Europe and all, so I start reading up on getting an ITIN. As it turns out this will take six to eight weeks and involves filling out another form, form W-7.

As forms go it is actually pretty good, only one page long. But reading the instructions it seems I have to send it in with my passport, not a copy mind you, the original passport. They promise to return it to me in 60 days.

Now, I'm not about to put my passport in an envelope and send it off across the Atlantic any time soon. I need it for my vacation this summer! I'm actually a bit disappointed as I was hoping to be able to start selling applications on the App Store in July. I just feel this could have been handled easier.
Apple Inc. does have a presence in the EU, so how come I have to register for an american tax number anyway?!

Getting an ITAN is a PAIN

Peter Nixey also notes the trouble getting an ITIN in his article about moving his business to the US:

You can’t get an Social Security Number SSN without being a US resident which means instead getting either an EIN (Employer ID Number) or an ITIN (Individual Tax Payer Number) both of which are a PAIN.
To cut a long story short, despite our best bureaucratic wrangling we were unable to attain ITINs. As if from nowhere though, an EIN popped out of a random conversation we were having with an official who it seems we charmed / confused into co-operation. It seems out that EINs actually require almost no paperwork and that the main thing required is persistence.


Quoted from Coming to America: Getting visas to do business in Silicon Valley

For me getting an EIN is not an option as I don't have a company. Although those numbers seem to be only a phone call away.

UPDATE: This turns out not to be true. After reading up on the SS-4 form for applying for an EIN it turns out foreign (non US) individuals can apply for EIN to comply with IRS withholding regulations. So I called the number (+1-215-516-6999) and ended up with an EIN in just 5 minutes. Very convenient, I just wish Apple had made this more clear on their application site.

Lack of memory card slot is my favorite iPhone feature

In my view the lack of a memory card slot on the iPhone is actually a great feature.

Case in point: Here's what happened when Google's Andy Rubin was demonstrating an Android prototype phone to Wired reporter Daniel Roth.
Let's see, let's go to a music player. I can go to Artist here and get my list of — oops, it says the SD card is missing. He squints into the tiny card slot. "Hmm, it's there. Looks like I have a little bit of a bug." He shrugs, taps on an icon to go to the browser, and checks out CNN.com.

Quoted from Google's Open Source Android OS Will Free the Wireless Web

I can't even begin to recount the numerous occasions this very same thing happened on my previous Linux based Motorola smartphone. And it's not just that the memory wasn't available for reading. The applications that were set up to store data (photos, notes, audio recordings) on it would all default back to storing on the miniscule internal memory, which meant I had to spend a couple of minutes reconfiguring these applications after power cycling the phone to get the memory card back. That makes for a truly sucky user experience.

This is not to say that Andriod will suck. Quite the contrary, I have huge hopes and expectations of Google succeeding. Android seems like the one potential competitor to the iPhone platform, and I definitely look forward to trying it out. The point I'm trying to make is strictly hardware related. A memory card slot is never going to be as reliable as a soldered on internal memory.

Eliminating failure points is, in my humble opinion, the most effective way of reducing bugs and problems. The more bullet point features are included in the product specs, the worse the user experience of said product.

A sufficiently large internal memory beats a memory card slot any day of the week. It's just way more convenient for both developers and customers.

iPhone Developer Program == profit?

So I decided to apply for the iPhone Developer Program to add some preassure for quickly learning Cocoa. It took maybe three days from sending in the application until I received the activation code from Apple. All in all a very smooth procdure.
Now I have to start drafting up a few iPhone applications to launch this fall on the AppStore. I'm quite excited about the possibilities, maybe I can even earn some money?

And off we go!

So Amazon shipped Aaron Hillegass's book across the Atlantic in record time and I'm already one chapter in. I took some time yesterday to watch the CocoaHeads Best of Both Worlds video before diving in.

What I take away from the video presentation is to always respect the user's space, to keep it simple and to put an extraordinary amount of thought into getting the GUI just right.

The book (Cocoa Programming for Mac OS X) so far seems to be just what the doctor ordered, but I'll withhold my recommendation until I'm at least half way in.

Summer reading

Scott Stevenson points out that the third edition of Aaron Hillegass' book Cocoa Programming for Mac OS X has been released. Since it appears to be a sort of Cocoa newbie bible I went ahead and ordered it immediately. The affordable price also helps of course.

Let's call this my first major step towards becoming proficient in Cocoa. Now I know what to do with my summer vacation after the Euro 2008 finals have played out.

Bought an iPhone, thinking about security

So I've been away for a week doing a presentation at a user conference in San Francisco. While there I dropped in at the Apple Store across the street from the hotel at least twice per day, attempting to purchase an iPhone. They were constantly sold out.
I even tried at the AT&T store, but they demanded I sign up for a contract in order to buy the unit.

On my third attempt on the day before leaving town lady luck gave me a break. The Apple Store had just gotten a small shipment of 16GB iPhones, and I managed to grab the second to last one in the pile! After running the spectacular Pwnage Tool from the iPhone Dev Team I was able to use the phone with my SIM card. Compared to my earlier cell phone, a Linux based Motorola A1200, it's like being transported five years into the future with the flick of a finger.

Now to my security concerns. I have installed the OpenSSH client and server package, and am somewhat worried about the root password of all iPhone's being public knowledge. (It is alpine by the way.) If someone is able to find my IP address they could easily ssh into the machine as root and totally wipe my phone!

I know I can change the password by logging in as root and running the passwd command, but I worry that changing it will screw up the functionality of the device in some unforeseen way, rendering it an iBrick. Maybe Apple have hardcoded the password into some of the functionality of the device.

I love my iPhone a little too much to risk trying to change the password at the moment, but once the first crush wears off maybe I'll build up the courage and give it a try.

(posted from my iPhone)

What's in a name?

When working in Germany I kept hearing people refer to der Böse Chef, meaning literally the evil boss, when discussing their jobs and work life experiences.

In my mind, der Böse Chef personifies all impopular decisions a boss takes, whether needed or not, in the line of duty. Since I have always nurtured a dream of running my own company or business, at least part time, I hope this blog can help me become my own evil boss. I would probably drive myself nuts changing requirements of the software I would be developing more often than your average cook washes his hands.

Hence the name of the blog.

Update: It is probably worth pointing out that although I haven't always agreed with every decision my current and previous bosses have ever taken, I can't claim to have any firsthand experience of a truly evil boss.

An introduction

Okay, so here's the deal.

I am a full time Windows application developer for a multinational software company. I love my job, I really truly do.

But. It's purely Windows and .NET.

In the last few years I have migrated my private life over to the Mac. My only regret is not making the move sooner, Macs are just the most amazing machines.
Being a developer I am obviously interested in learning about Mac-development using Cocoa, Objective C and Xcode, but I have had a hard time finding the time to really get into it. I hope starting this blog to keep a journal of my progress will help push me along.

Obviously, since I have plenty of experience of C# and Java I will look into Mac development using those languages as well and type up my experiences right here. Hopefully it will all add up to a collection of interesting tips and thoughts on software development on the Mac.

I am keeping this blog mostly for my own sake, but feel free to drop by to read my musings, and do drop me a comment with your best Mac tips and tricks. 

Oh yeah, I do have another regret; not buying huge amounts of Apple stock once I realized how amazing Apple's products really are.