Category Archives: OS X

UCS Tech Specs

UCS Tech Specs

My first iOS app has been published on iTunes! It’s called UCS Tech Specs. The purpose of the app was really just to help me get more familiar with the Cisco UCS product line. I have a hard time searching for tech sheets on my computer that have all the details people ask me about a specific server. Having it in an iPhone app is pretty handy! I hope it helps other people as well.

What does it do?
It has technical specifications for the most common UCS products. The fabric interconnects, IO modules, different blades, etc. If someone were to ask you: “How many DIMM slots are available on a C250 M2?” then you could quickly look it up. It’s basically just a series of tables that allow you to drill down to different components of a UCS product.

Who will support it going forward?
Me. I plan on spending an hour or two each month updating with the latest parts. The more people that use it, the more time I’ll spend supporting it. The way I’ve set up the app makes it really easy to add or remove components.

What are future enhancements we’ll see in this app?
There are two main features I’d like to add:
1. I’d like to make the iPad app a little different. I’d like to add bigger pictures, and more interactive.
2. I’d like to make the app check for updates if there is a internet connection. That way, I wouldn’t have to update it in Xcode for changes. It would pull updates from an Internet site. This would make updates faster and make it easier for other people to add changes to the app without having to muck around with the code. I’m working on that right now.

I have a suggestion/comment/correction/complaint for you, how should I get it to you?
I’d love any feedback you have. Just email/twitter/comments here. If you just want to talk about iOS and why my app sucks, that’s ok too.

iOS app submitted to iTunes Connect

I just submitted my first app to iTunes using Xcode4 and iTunes Connect. There was a bit of a learning curve, but after hacking away at it last night I’m happy to say its sitting in Apple’s queue waiting for review.

First off, let me say that even though its a total pain there are some good things that come of it: Because of the validation process they make you go through you don’t have to wonder if there is technically something wrong with your app. The validation phase takes care of making sure you have the basic technical aspects of your app working correctly. This includes verifying certificates are correct, making sure nothing offensive is sent to the store, and making sure the code actually compiles and runs.

Perhaps the most difficult thing for me was to sit down and actually read the manual. The part I missed during the entire development process was the iOS portal:

iOS developer portal

This is where you look to upload to the portal

This is found when you log into the iOS developer center.

The first thing I missed was that I needed to create a ‘Distribution Certificate’.

This distribution certificate then needed to be downloaded into my Keychain. Basically, once this is done, you click on the file to download it, then click on the downloaded file and it will be inside your keychain. Not too hard right?

The next step is to actually create an App ID. I found this part frustrating as you are not allowed to delete an app id once it is created. In addition to this the App ID you create inside of iOS portal must be the same as the bundle ID of the app as well as the bundle ID that you give to iTunes connect. (More on iTunes connect in a bit). This is the part that took me forever because I renamed my app several times. I started with UCS Tech Ref, then UCS Tech Specs. So my bundle ID was ucstechref, then I changed to ucstechspecs. The problem is that in iTunes Connect, I had already named it ucstechref and I wasn’t allowed to change it.

Anyway, once the app ID was created, I configured them for push downloads by doing the process it describes in the configuration section of App ID. When finished my App ID had these things configured:

The last step in the portal was to create a “Distribution Provisioning Profile” for the App itself.

And that was it for the iOS portal. Now keep in mind that before I ran through the iOS portal to create my App IDs and Distribution provisioning profile, I had to actually create the app in iTunes Connect. This was pretty self explanatory.

The last step was putting it all through in Xcode. First, you need to open the Distribution Provisioning Profile and drag it into the Xcode Organizer. (Open Xcode and click shift+command+2). Once done here, you need to code sign your app:

The final part is to make sure your -info.plist has the Bundle Identifier set to the App ID that you specified in iTunes Connect and the App ID in the iOS Portal.


Now you have to make sure that you have lots of pictures and the right sizes for all of them! That part was actually kind of enjoyable for me. I use Pixelmator to do all my art work and its pretty easy to get the hang of.

Once you have the right icons specified, go into your product Build Settings and check the ‘Validate Built Product’ and you’ll be warned of any issues you have.

Once that passes, you Archive the application, and can now validate, share, or distribute.

Words can not express the relief I felt after I finally validated the app and it passed all the inspections. The next step was to submit the app. I was stoked. App submitted. But then, I got an email from Apple immediately stating that my app was missing an image! I had forgotten an iPad screenshot. I quickly took one, submitted it in iTunes Connect and I am now back to hurry up and wait mode.

All in all a pretty rigorous process. However, I think its good because it filters a lot of junk from getting on to iTunes. Even though some apps are pretty weak in the iTunes store, they still pass enough hoops to make sure that they’re not complete garbage. I’m hoping my users will at least think that about my app… but if they don’t, hey, what do you expect for free?


Apple doesn’t ship support for mounting NTFS partitions read-write.  You can mount drives, but you can only read from them.  Well that’s not good enough.  Go here:

No need to reboot, just close the installer when finished, then remount your drive and you’ll be writing like the wind.

I use the same drivers for CentOS/Red Hat  to mount NTFS all the time.