What’s Up?

October 8th, 2009 by Corey

Over the past few days I have been obsessed. A song has been playing in my head and I just couldn’t (can’t) get it out. Maybe it is just my 30′s seeping in or some facebook induced reminiscence.

Whatever it is, I’ve had 4 Non Blondes and Linda Perry’s voice performing hourly in my ear all this week.

The song is a fine encapsulation of 90′s music (to me). Great vocals, memorable lyrics without being too trite, nice layered guitar, all sprinkled with some woman empowerment.

Why has this song been bouncing around in my head? So much so, that I finally put the album on my iPhone about an hour ago.

Which begs the question, how could this album had been missing from my iTunes Library?

But I digress…

It’s funny that a single song can send my mind in so many directions.

On one hand, it makes me question my mortality.

Which makes me think it is time for me to reflect upon my life, after all 30 is a nice round number (Although Linda had me beat by 5 years).

On the other hand, it really just makes me want to pick up my dusty guitar out of the corner.

Who knows.

As I spend my days coding on my 17″ screen (yes large for a laptop, but small for a world view), I can’t help but feel cut off from other parts of my life (for better or worse).

I always tell myself, I can catch up tomorrow. Sure it is easy to see that is a fantasy when spelled out in a blog post, but it is much more difficult to see when shuffled in with the mundane details of everyday life.

Does this mean I am in mid-life crisis? No, not really. It just means, I have choices to make today, tomorrow, and the day after. Those choices make me who I am, just as your choices define you.

I guess what it really comes down to is acceptance. Of your sacrifices, your mistakes, your triumphs. Acceptance that this moment will never happen again. You can make the best out of it, or not. Life keeps moving.

Anyways, I’m going to start playing guitar again.

Make it easier! – Dterm

September 24th, 2009 by Corey

I am new to git and shamefully incompetent with the Terminal. However, I am working on it.

One of the tools I came across since I began using git is DTerm. It is essentially a free floating terminal that you bring up with a keystroke.

The killer feature (for me) is once you invoke it with a keystroke, DTerm is set to the working directory of the front most document.

The other killer feature is that DTerm (v. 1.x) is free!

Quick Code – AppleScript from Cocoa

September 23rd, 2009 by Corey

This is just something I picked up over the weekend to interface with Terminal.app via AppleScript:

NSString *s = [NSString stringWithFormat:@"tell application \"Terminal\" to do script \"cd %@\"", folderPath];
NSAppleScript *as = [[NSAppleScript alloc] initWithSource: s];

[as executeAndReturnError:nil];

The intent is pretty easy to pick up (Also, please feel free to handle the error). The question and answer can be found on StackoverFlow.

Understanding the Objective-C Runtime

September 13th, 2009 by Corey

The runtime has been a bit of a mystery to me.

To be sure, I have yet to explore some of the more dynamic aspects of Objective-C/Cocoa in my applications.

In fact, as many know, you can move along quite happily though your Cocoa/iPhone programming without directly daling with it. Others might not realize what’s “under the hood”.

If you really want to have some fun, you will need some fundamentals.

To this end, Mobile Orchard last podcast featured Rogue Amoeba’s Mike Ash who gave an overview of the runtime.

MDN also released episode 7 of the MDN Show which goes into more depth in an interview with Jonathan Dann of Sofa.

If these podcasts wet your appetite, Mike Ash has also produced a nice series of blog posts on the subject as well.

I’m sure you will find other great resources in the community as well, but this should give you a good head start.

Open Source iPhone – Glossy Buttons

September 11th, 2009 by Corey

The buttons in the iPhone SDK suck. There, I said it.

Almost everything on the iPhone round, glossy and “3Dish”.

Except the standard RoundRect buttons included in UIKit.

Of course we can go off and use one of many drawing apps to crank out some nice glossy buttons, but there a few problems with this approach.

First, you have to be at least competent in using some advanced drawing tool.

Second, any buttons you create are static and must be shipped as a resource in your app. It is acceptable to want to generate multiple colors on the fly.

To solve our dilemma, we can use the work of two other people.

Matt Gallagher posted a great article on generating gloss gradients a while back.

It’s quite informative in explaining and implementing the effect. You can run a OS X app and play around with the setting.

The code didn’t quite work on the iPhone because of the absence of NSColor.

So we have two problems. First, we need to adapt the code to the iPhone. Second, we need to add this code to UIButton as a category.

Good news everyone! It’s already been done.

More than that, you can follow a 5 step tutorial taking you through the process of building the code and some explanation behind it.

The first post of the series can be found here.

I would credit the author, but I think he (or she) has gone through great pains to omit his (or her) name from the blog. (Or maybe I’m just too dense).

Update: Michael Heyeck wrote in to claim his awesome work and updated his “About” page to be a little more forthcoming.

Anyways, try it out. It works good for making glossy buttons pretty quickly and it is tweak-able.

Taking the Comcast Plunge

September 9th, 2009 by Corey

I just moved back to Philadelphia and needed to get some internet. I wanted FIOS, but unfortunately it isn’t yet available in my neighborhood (Comcast just lost the fight to keep FIOS out of Philadelphia). Until then, I settled on Comcast.

The tech arrived promptly on last Monday morning. He was a new guy, but seemed pretty settled in and got to work quickly.

We hooked the modem directly into my MacBook Pro to perform the setup. I had a feeling this would be a problem since I would be using my Airport Extreme, but he didn’t seem to modem/internet savvy, so I just went with it.

My internet was turned on with only a small hitch and the tech went on to his next job. Total time: ~1 hour. Not too shabby. I was feeling good about Comcast.

All I had to do now was plug the ethernet cable into my Airport and I was done.

Not so fast.

I restarted the modem, no-go.

I restarted the AE, no-go.

After a few more restarts and I decided to call Comcast. A few tests and modem resets proved unhelpful. After that, the customer service rep ran out of ideas. Not long after I was disconnected.

Not a good start.

So I dialed back, got in touch with a new rep rather quickly. Unfortunately, she immediately told me they don’t support routers and to contact my router manufacturer. Nice.

(Begin Rant)

I think it is a little ridiculous for any ISP to say they “don’t support routers”. The whole business of an ISP is to deliver bytes from the internet to your browser.

Most households now have multiple computers. This is double true for homes with broadband.

If you are in the internet business, you can’t escape routers. It is just a cop out and blaming other company’s hardware does not especially endear you to your customers.

The cost to having support reps Google a router manual is almost assuredly offset by the amount of good will you bank from solvinf your customer’s problems.

(End Rant)

Now what? Well I started with Google, but nothing useful popped up in any of my searches.

Eventually, I remembered the Comcast twitter handle: @comcastcares.

Over the course of the afternoon I communicated with both Frank Eliason and William Gerth. They were extremely helpful. Frank even called me in between meetings to help troubleshoot my problem.

Shamefully, I must admit that a simple reset of my Airport Extreme fixed the problem instantly.

Setting aside my personal failures in diagnosing my own network issues, I must say I was actually quite impressed with the help I received.

With all of the criticism that Comcast receives on the internet, I was admittedly surprised.

My only hesitation in crowning Comcast “King of ISPs” is the nagging question of: “What if I didn’t use Twitter?”

I would still be in the dark, at least internet wise. I would probably be incredibly upset. Not even Comcast’s own customer service reps pointed me to Twitter. I barely remember gleaning it from some obscure tweets a month or two ago.

I’m sure the company doesn’t want CSRs pushing every difficult question to the Twitter crew, but hopefully they can get the word out a little better.

Even with that, I want reiterate that I indeed had an overall positive experience with my Comcast installation.

Comcast is actively working to improve their image with customers, and it is working.

[corey move:philly] complete

September 2nd, 2009 by Corey

It’s been a long time and TFJL has been neglected. No more!

The Mrs. and I are finally settled down in a quite nook of Bella Vista in Philly.

Of course life doesn’t begin anew until internet is connected which, with a few hitches, was completed on Monday.

Now to think of something to complain about…

…And The Dot Syntax Battle Rages On

August 10th, 2009 by Corey

I find the manner in which programmers vehemently defend and deride coding style preferences absolutely fascinating.

I personally feel that dot syntax serves a worthwhile purpose.
In fact, I have been refactoring old code to conform to this convention.

In the end, I feel these types of debates speak to the health and growth of the Cocoa/Objective-C community.

Open Source iPhone – JSON Data

July 24th, 2009 by Corey

I’ve used/repurposed several open source projects for use in my code.

If you’re not trying to use someone else’s code as much as possible, you’re not doing OOP.

I won’t call this a series, but I would like to showcase some of the great code that is out there waiting to be used. All you have to do is drop it in your project.

This time I’ll point out a framework that I use very frequently:

json-framework (available on Google Code)

It’s drop dead simple to use. You give it data, it gives you a Cocoa Object, end of story.

Here is how I use json-framework in some of my code.

JSON.png

The SBJSON class gives you back a NSArray, NSDictionary, or an NSError (pointer reference).

If you need to parse JSON data, check it out.

Voices That Matter

July 21st, 2009 by Corey

A great opportunity for you to hone your iPhone Dev skills is coming up this fall.

Voices That Matter: iPhone Developers Conference is a two day event that will be held in Boston on October 17-18. It will feature talks from some of the most talented and influential iPhone developers, authors, and experts.

Speakers include:

Bill Dudney
Daniel Jalkut
Fraser Speirs
Marcus Zarra
Aaaron Hillegass
Andy Ihnatko
Jon Rentzsch
Steve Kochan
Lee Barney
Daniel Grover
Bill Licea-Kane
August Trometer
Erik Buck
Erica Sadun
and others…

This conference is designed for developers looking for a succinct, easy way to get up to speed on the specific skills needed to build, test and distribute successful applications for the iPhone and iPod touch.

You can attend sessions covering a variety of topics. Choose whatever sessions best fit your individual skill level.

Not only will you learn how to build and ship successful iPhone apps from the great speakers, but also have the chance to meet and network with many other passionate developers like yourself.

Voices That Matter will help you begin developing iPhone apps as quickly and profitably as possible.

I personally am excited to meet the authors who wrote the books from which I learned Cocoa Touch.

If you register before September 12th, you get a $200 discount.

You will get an additional $100 discount, when enter this code: PHBLOG

So if you are thinking about attending, make sure you register while you can still get $300 off.

See you there!

150x150JoinMeiPhoneVTM-1.jpg

PlaceHolder

PlaceHolder

Full Disclosure: I am attending this conference as non-paying guest.