Cananito
by Rogelio Gudino
RSS Programming Tech Education Tea Movies Other

App Icon (iTunesArtwork) not showing for Ad Hoc builds in iTunes

When making an Ad Hoc build, the way iTunes shows your app icon is looking at the “iTunesArtwork” file. The gotcha here is that the file must not have a file extension. This is sort of documented but not clearly:

Be sure to name this version of your app icon iTunesArtwork and iTunesArtwork@2x, respectively.

If you’re developing an app for ad-hoc distribution (that is, to be distributed in-house only, not through the App Store), you must also provide the large versions of your app icon. This icon identifies your app in iTunes.

Renaming the file won’t work, it’ll just cause Finder to hide the extension. So you have 2 options:

  1. Bring up the Info panel for the files (right click and choose “Get Info”, or do cmd+I) and then rename the file in the “Name & Extension” section (make sure “Hide Extension” is not checked).
  2. Rename the file in terminal (“mv iTunesArtwork.png iTunesArtwork”).




Recipe for a Manager-less Business

I was talking with a friend about the future of management in businesses. This topic came up because of an article I read.

After a lot of thinking we boiled it down to 3 factors that could provide a manager-less business:

  • Ability to hire great remote talent (telecommuting).

I believe that one reason companies need managers is to make great work out of not so good employees. So if you can hire talented employees outside your town the need for managers becomes less important.

  • Slow linear growth (as opposed to fast and exponential).

Another reason is growth. When a company grows too fast, or simply reaches a point where it becomes too big, the need for humans to glue work together begins to show.

If you can execute with a small employee base, or grow slowly, then the need for managers is small.

  • Loyal employees.

The thinking behind this one is that when you have employees coming in and out within a small timespan it might not be worth investing in them. This makes it hard to inject your culture into new hires, so you need a manager to orchestrate all of them.






The State of Server-Side Development from a Cocoa Developer’s Perspective

I started to learn programming while in college, started with Java the first year, then it was pretty much C# from there (I would use Objective-C whenever I could, the last 2 semesters I didn’t even use C#).

Being a Mac user, using Apple tools seemed very compelling and inspired me way more, so as I started to use them I quickly became in love with Objective-C and Xcode.

Having said that, I’ve always felt a huge void in my skills as a developer not knowing in depth a server-side set of tools.

So every now and then I attempt to learn one of the many tools out there, here’s my take on the ones I’ve used.

Node.js (JavaScript)

This has been by far the easiest for me to adopt. I found it pretty easy to learn mainly because of it’s very bare bones, and NPM (their package/module manager) felt overall better than gem (for Ruby) or NuGet (for C#).

I even used Node.js (in combination with Express) for a college project, so I got to know it quite enough.

What has kept me from fully embracing it?

  1. It’s JavaScript (yet it’s a guilty pleasure of mine, although I don’t fully understand it’s prototypical inheritance).
  2. There is no clear ORM winner, you’re best bet to work with a databases (other than MongoDB) is to use SQL.

Ruby on Rails and Sinatra (Ruby)

The Ruby language seems very appealing to me, it’s minimalism gets my attention a lot.

I’ve tried countless times to get on board with Ruby on Rails. I just can’t. Setting everything up takes so long and often frustrating. Maybe it’s just me, but I feel like it generates too much stuff that I don’t even need, and getting it to do what you want to do seems like a battle not worth fighting.

Sinatra on the other hand seems way more compelling to me, it’s bare bones like Node.js. Maybe I should play with it more, but what keeps me away from Sinatra is that it’s not as popular as Ruby on Rails or Node.js, so finding answers to my problems could potentially take longer.

ASP.NET/WCF (C#)

I don’t know why, but I used to hate C# in school. Nowadays I’ve come to see that it’s a powerful language (judging by articles and videos I see).

I also hated VisualStudio. It feels like your typical super bloated software, with so many icons all over the place and very slow startup time. But nowadays my view on it has been balanced because of it’s claimed stability/robustness and excellent debugging tools.

I don’t know if I’m spoiled by Xcode, but I’ve found that I truly miss using an IDE when I start developing using a text editor and the terminal. And actually not only IDEs, GUIs in general (I use SourceTree to deal with Git, Versions to deal with SVN, Base to deal with SQLite, etc.). But I’m also picky about this, if it’s not a native app, I’ll think at least twice before using it, I can’t stand Eclipse for example.

So you would think then that C# should be the way to go, but… I need to run Windows, I don’t even want to get started on that topic (yes, I hate Windows).

Conclusions

I did omit PHP and Java (barely used them), due to the simple fact that I hate them and pretty much everyone can agree that they are horrible languages. I also omitted GNUstep, seems like it’s a big hassle and doesn’t offer 100% of what Cocoa has to offer.

In theory for me to adopt a set of server-side development tools in a blink of an eye would be having all these:

  • Native Mac IDE.
  • Easy deployment to Linux servers.
  • Good ORM.
  • Good Object-oriented, imperative, class-based inheritance language.

Yes, those are huge requirements, maybe someday.