Thoughts on Singletons

There are sometimes where some things keep bugging me in terms of programming. I often keep asking myself and others about utilizing the best techniques to solve various programming problems and applying certain concepts in a program.

Most answers I keep reading/hearing tend towards the “wow” factor. Which is something like “I don’t know exactly why, but it would be cooler if you did it like this”. I don’t usually listen to any recommendation regarding programming practices if it isn’t backed up by strong arguments as to how it may affect me in the long or short term as far as my projects are concerned. As programming languages are evolving, so do practices utilizing those languages, and often, as good programmers as we may be, we may sometimes find ourselves lagging behind others who may be less experienced, but better listeners.

Let’s face it. Many of us have utilized a not-so-well-thought technique in favor of completing a task within a certain amount of time. In other words, we have all sacrificed the chance to use good programming practices in need of being “faster”. Usually, this results in usable code, that may be improved in later versions. Less often, this isn’t the case.

As far as programming practices go, there are few of them that have received as much love and hate as Singletons.

Continue reading

iGreekNews HD 1.2/ iGreekNews 1.8

iGreekNews 1.8, followed by iGreekNews HD 1.2.1 are out. I know I promised that I would deliver the updates sooner, but technical reasons kept me from doing so. Not to mention that I have been involved in some other projects, and I also had to upgrade my systems to use Lion, and Xcode 4.1.

iGreekNews for iPhone has several improvements, from which many of them are not visible to the end user. One of the most notable changes, however, is the support for Facebook and Twitter. I originally implemented those functions for the iPad, and I wouldn’t do it for the iPhone, mainly because I didn’t want how the UI elements would behave. I decided to wait before I make large changes to the code.

 

Continue reading