The Case for Adding Scala

Scala is a language that I have been examining for awhile. Early on the library versioning issues really turned me off, but the seem to have been solved. It’s also a very large language that requires programmer discipline to not abuse. Twitter has been a big proponent of Scala and the Effective Scala document is a great start on how not to abuse the language features. This post argues against Scala in large projects or in mixed projects.
Read more

Making A Living in the App Store

TL;DR – Starting a business is hard and most fail. The NYC has posted an interesting article about the app store boom.  The article focuses on a couple that bet everything on developing a business around making apps.  While I agree with the articles premise that making a living on the app store is a  very hard thing to do (see Zynga’s collapse), the article failed to mention that any startup is hard.
Read more

Stop SOPA!

This issue is too important to ignore so I’ve been trying to build a post that explains what SOPA is and why it is not the answer.  Turns out that Tim O’Reilly has recently given an interview about why SOPA isn’t needed and should be stopped.  As a publisher who benefits from copyright, he explains in a clear and concise manner why SOPA is not needed.  Read the full interview at GigaOM.

Emacs Org-Mode

As a vi and vim user I had never come across emacs org-mode until yesterday.  I’ve spent the last couple days fitting it into my project and task workflow and must say that I am really impressed.  Traditionally whenever I have tried to use project management or task tracking software it would always get in the way of how I wanted to do things.  This inevitably would lead me back to a text file list on my desktop, a piece of paper with notes, and recently a google doc that looks a lot like my desktop text file.
Read more

Resting and Working

People who write software are using their creativity to solve problems.  I compare it to writing using a very precise language and grammar to express a story to the user.  I came across this video over at the 99%.  In it Tony Schwartz, author of “The Way We’re Working Isn’t Working“, relates athletic performance to creative performance.  One thing athletes have known for years is that the rest between workouts is just as important as the workout itself.
Read more

UITextField Format For Currency Revisited

Since my first post on formatting a UITextField with proper currency symbols and separators I think I have learned a lot more about objective-c and more importantly the UI components provided by Apple.  In this article I will revisit how to format a UITextField with the correct currency symbol and grouping separators. The original goal was to create a text field that would update in real time both with the currency symbol and grouping separators as numbers were typed in.
Read more

The Lazy Programmer: Language Selection

When I was in graduate school one of my fellow students was a C++ fanatic.  To him, every software problem was best solved by C++.  To his credit he probably could solve any problem using C++, but was that really the best use of his time?  By assuming C++ as the best language choice for every problem was he being lazy or simply over working himself? The common adage to describe the scenario above is “when all you have is a hammer, every problem looks like a nail.
Read more

Hello World Version 2.0

What a crazy year.  So the blog kind of fell off as work got really busy along with life.  Now that I have gotten life back to a normal pace I plan to resume writing both the blog and some new iPhone apps.  I have a few ideas kicking around and will be working on them as I have time. iAutoCalc is on my list of TODOs that needs to get updated to the iOS 5.
Read more

What Language To Learn First?

When looking at various programming forums I see this question over and over. Many responders usually jump in suggesting languages from C to Java to Ruby to Lisp. Well, maybe not Lisp but you get the point. The problem with so quickly answering the above question is that I think the answer is: dependent on the individual learning a SINGLE language should not be the goal Personally, I learn by seeing the details.
Read more

Objective-C Protocols and Delegates

My earlier article about building a currency formatter for a UITextField generated a few comments and some confusion about how to use delegates in iPhone programming. In this article/tutorial I hope to clear up any confusion and tie it back to using the the currency formatter with the UITextField. What Is A Protocol? The Apple documentation on a protocol can be found here. The documentation summarizes that: Protocols declare methods that can be implemented by any class.
Read more