You are on page 1of 4

Programming Is Fun Again!

I sometimes forget one of the main reasons I like programming, and that's that programming is fun.
People can talk all they want about problem solving and helping others to accomplish tasks, but for
me it's all about realizing that I can do it, and that's always been a fun thing. Granted, there's some
code to write because some user (somewhere) needs a new feature, or there's a bug to be tracked
down and squished, but the main reason I like programming is that it's, well, fun.

Of course, what with everything else, I had forgotten this. Life is busy and I'd generally gotten to the
point where any programming I did was to do with something that others were asking me to do: give
a technical presentation, write an article, consult with a start-up, deliver a course, or start another
book. I wasprogramming, and it was OK, but I was doing it to get to some end-point, not necessarily
to have fun. I wasn't programming for the sake of programming; I was programming because I had
to.

And then something wonderful happened.

I came across Erlang. Or to be more precise, I was pointed at Erlang by one of my past-students who
wrote an intriguing article about an Erlang CMS called Zotonicfor Linux Journal magazine. The author
of the article, Michael Connors, then sent me an email together with a "you've gotta take a look at
this!" plea. Based on this, I thought Erlang interesting enough to explore it more and I've been
learning Erlang for a number of months now.

In fact, I've been programming in Erlang just for the heck of it!

I'd forgotten what this was like: writing code, realizing that I can do it, and then getting it to work can
be so much fun! Nobody is asking me to write Erlang code. I'm also not writing the next-best killer
Erlang application. And, I've not got some darn-hard problem that needs solving in Erlang. I'm simply
programming in Erlang in my spare time and it's fun. What a lovely feeling.

Of course - me being me - I couldn't resist the opportunity to tell others about my latest language
"find". So, when O'Reilly Media asked me if I wanted to do another webcast, I jumped at the chance.
Feel free to check out my own personal take on Erlang. Enjoy, and have fun!

[Ed note: Are any of you HF readers programming in Erlang? Even if not, do you agree with Paul--if
so, what is fun about programming for you?]

Posted by Paul Barry on Monday, Oct 24 Permalink | Comments (4)

Head First iPhone and iPad Development and iOS5

Well, iOS5 is out, and that means that Head First iPhone and iPad Development officially needs some
tweaking to work with the latest tools!

First, a quick overview of the new features in iOS 5. For the OS itself, the biggest change is the
addition of iCloud to the storage solutions for apps. Primarily Apple apps are leveraging this ability to
support synching at this point, with Photo Stream, iMessage, and iTunes purchasing support, among
others, but as time moves on that will expand. Newsstand support has the potential to change the
publishing industry by providing a centralized place on the device and method of updating subscription
type materials. You can find the Apple summary of these and other features here.

There are lots of other bells and whistles, the new Siri app is a personal assistant app that can parse
meaning from verbal messages and find out information for you, but it only really works on the new
iPhone 4S. Twitter integration is system wide now, and the new Reminders app is also really cool. It
has geo-fencing for tasks, so you can set up a task that says "remember to take my shoes home from
work" and when you leave that place, iOS will send you the reminder.

What does iOS5 mean for Xcode? Xcode has two major changes. First, there is now storyboarding
support. That means that instead of creating each .xib file and manually linking them together and
coding the transitions, you can create a big .storyboard file that contains all of the .xibs for your app
and you can graphically edit the transitions between views.

The second big change is that Apple has added ARC (Automatic Reference Counting) to Xcode. A lot of
the memory management work that we teach in the book has been automated. While it is stil
important to understand what is going on, all the retain/releases that we have so painstakingly put in
our code are now handled automatically.

What if you want to use the book with the new Xcode? Just a couple of things that you should know
about. First, all the downloaded code here on headfirstlabs.com will still work, no problem. Second,
when you create new projects, there are some new checkboxes to be aware of. When the project
starts, there are boxes to "Use Storyboard" and "Use Automatic Reference Counting." In order to use
our book as it is, you'll need to UNCHECK these two boxes. That's it. If you keep those two things in
mind, all the examples in the book will still work without a problem.

One of the things that keeps technology exciting is constant change! Fortunately, these changes are
relatively minor as long as you set up the project properly and you'll have happy coding. In the
meantime, we're busily working on updating the book, which will be out early next year.

Posted by Tracey Pilone on Friday, Oct 14 Permalink | Comments (11)

It's True. Don't Believe A Word Of It.

I'm often asked how I came to write for the Head First Series, specifically on their Python-related
titles.

I'd been working with Perl for years and had written or co-written two Perl-related texts, and towards
the mid-to-end of the 2000s had started working with Ruby quite a bit, no more so than as a result of
all the (justified) hype surrounding Ruby on Rails. As a consequence, I'd read (and own) a lot of Ruby-
related books.

Now, imagine my surprise when, one fine day, there I was sitting, re-reading some of the material in
my well-worn copy of The Ruby Programming Languagewhen - I kid you not - a big bolt of lightning
shot out of the sky and buried itself in my beloved book. Take a look at the photographic evidence if
you don't believe me.
I took this as a sign that my days of programming Ruby were numbered and that somebody,
somewhere was trying to tell me something...

OK, I'll admit that some of that story is not totally true. Actually, the bit about the lightning isn't.

What actually happened was that it was my turn to cook dinner and, as Cooking for Geeks had yet to
be written, I didn't yet understand how important it is to actually pay attention while cooking. You
see, in one hand I had a pot which I popped on the stove-top to heat up. In the other hand, I had the
Ruby book. When the pot got hot (or so I thought), I set the book down on the stove-top while I
attended to the pot's contents.

It was then that I noticed a rather strange burning smell... then smoke... then (very nearly) fire. The
Ruby book was smoking! Not paying attention, I'd switched on the wrong heat-ring on the stove-top
and placed my book directly on top!

Needless to say, dinner was delayed that evening. But, I took this as a sign that my days of
programming Ruby were numbered and that somebody, somewhere was trying to tell me something...
and, anyway, the contract to co-write (with David Griffiths) Head First Programming (which uses
Python) had just arrived.

Posted by Paul Barry on Friday, Jul 29 Permalink | Comments (4)

You might also like