Business trip to Jersey City, NJ

Posted by steve | General Commentary | Sunday 7 September 2014 9:36 am

I recently returned from a business trip to Jersey City, New Jersey. For those that do not know this is literally a river’s width from the lower tip of Manhattan. The hotel I stayed in (with a whopper of a +$1,700 bill) had million dollar views. Here are some photos I took while there. These were taken using my iPhone 4S, so the resolution is not as good as it would be if I were using an iPhone 5.

Click on the photos to see the full sized versions in a new browser view.

View from my hotel room
From my hotel room. My laptop was reflecting on the glass.

Outside of the hotel
Outside of the hotel

World Trade Center from Jersey shore
World Trade Center from Jersey shore

View while eating lunch
View from the hotel restaurant

This last photo is a panoramic I took from the Jersey shore line. The photo is large.
Panorama
Panorama

Share

API Design is a Contact Sport

Posted by steve | Apple Software and Hardware | Tuesday 8 July 2014 2:31 pm

I was listening to one of the Apple World Wide Developer’s Conference (WWDC) 2014 videos recently. The topic was designing good APIs and frameworks. The presenter used the phrase “API Design is a Contact Sport” and I loved it.

What the presenter was talking about is that during the API development stage the internal email lists discussed in minute details all portions of the API before it gets locked down and published. The idea that the right time to express passion about method names and even argument names for proposed APIs in an all out push back and forth between team members is excellent. Once the API gets published you will need to support it for possibly years to come. Even as you enhance APIs in the future the whole need for backwards compatibility, or at least ensuring the user’s apps do not “explode and crash” is critical.

I love the notion of thinking of API design as wrestling the details out.

Share

Obsessed by the idea of owning a Porsche again

Posted by steve | General Commentary | Monday 7 July 2014 7:56 pm

hood_crest

I’ve been a long time Porsche enthusiast. I’ve been fortunate enough to have owned 4 Porsches in my life. The engineering and little details that are in these sports cars have always impressed me. Some folks own Porsches for other reasons, but for me it was always about the engineering and driving experience.

The last Porsche I owned was a 1991 Porsche 911 Carrera 4 Targa. Here are a few pictures I still have from that car.

c4_7

c4_b

That was by far the most amazing Porsche I’d ever driven and owned. The Carrera 4 means it has 4 wheel drive. You could literally feel the front wheels pulling you through the curves when you stepped on the accelerator. It had acceleration on tap, seemingly, at any speed. In fact that was one of the challenges when driving the car. It just seemed to feel most happy when doing 85 MPH or more. Always watching the speed with that car. Other driving features that amazed where the cornering, of course, and how steadily and quickly it could stop. Awesome car.

I had this car back when I met my future wife and she loved to borrow and drive that car often. With the extra seats in the back, which of course could barely support an adult, it was a simple matter to attach a child seat. We often heard “Kick it mom.” from the back seat when she was driving. I also learned the hard way that kids can be distracting and sometimes you can forget to complete a task because of interruptions. I once forgot to fasten that Targa top down when we had the three of us in the car. Just as I began to accelerate onto the freeway the top flew off and away from the car. Fortunately it did not hit anyone but it did get damaged and I had to have it replace. We still talk about that time the roof flew off the car.

The thing about that 911 was that it was “a house payment on wheels”. We eventually sold it and later that year had enough money for a downpayment on our own home. Looking back, especially considering how much trouble that house became and the enormous loss we had to take when selling it, we probably would have been better off keeping the Porsche.

Here I am 16 years later and I’m thinking I’d like to own a Porsche once again. I’ve been really fascinated with the new Porsche Cayman models. Porsche made a pretty significant update to the car design in 2013 with the 981 model series of Cayman. Here are some photos I’ve found around the Internet.

2014-porsche-cayman-s-photo-489159-s-1280x782

dsc_3113

I’m even grooving on the interesting interior options available (like this grey and orange combination).

2014-porsche-cayman-s-interior-photo-501893-s-1280x782

There are currently 3 models of Cayman available. The base Cayman, Cayman S & Cayman GTS. The auto press is all excited about the Cayman S and GTS. They are pretty cool cars. Goodness I’ve spent hours on YouTube watching Cayman auto reviews. It’s pretty easy to get all tangled up in the emotion and conclude the Cayman S is the right car to choose. And if money were no object (when does that ever happen?) it would be. Or even the GTS, since it’s the most expensive of the three but comes standard with all the interesting performance options you would add to a Cayman S plus a little more horsepower.

But I find myself thinking about the base Cayman and I realized a couple interesting facts.

The 911 Carrera 4 I had (also known as a model 964) came with a 3.6 liter flat 6 engine producing 247 HP. I’ve already mentioned that it seemed to have horsepower to spare at any speed. It had a curb weight of over 3,300 lbs because of the 4 wheel drive and that extra large rear glass that’s part of the Targa design. It could do 0-60 MPH in 5.5 seconds.

When I evaluate the base Cayman, the engine is a 2.7 liter flat 6 producing 275 HP. Acceleration from 0-60 in 5.4 seconds. So you can see performance in engines and efficiency have come a long way. The car is lighter, coming in at 2,888 lbs. So really, it would be a nearly equivalent performer, perhaps even better since it’s a mid-engine design.

The base price of a Cayman is $52,600 and the Cayman S, with an impressive 325 HP, is $63,800. Pushing over $50K on a car is a bit much for me. But it gets worse. One you start to add options, and there are many very cool performance and driving experience options, the price starts going up fast. Porsche has a reputation for making a lot of options available but at quite a cost. It’s not unusual to add $15,000 or even $25,000 in options.

You can get totally absorbed for hours using Porsche’s automobile configurator found here:
Porsche Car Configurator

The 3D mode on that tool is addicting.

If you want to find a used Porsche, and for Caymans (and it’s convertible brother the Boxster) I’d not consider any before 2009. The reliability just went up quite a bit since then. For me the 981 model series of Cayman is the best and those began in 2013. The good news is now that 2015 cars are starting to arrive at the dealers, they are motivated to provide better discounts on their existing 2014 inventory on the lot. Porsche provides a really cool search tool to find the used Porsche you seek here:
Porsche Pre-Owned Vehicle Search

New cars that were demo models show up on this list too and you’d end up owning a car with a new title as the first owner if you find one of those.

From that link you can search the inventory at all the US Porsche dealers and see pictures and descriptions as well as prices. The smart choice is to select a car that has what Porsche calls “Certified Pre-Owned Vehicle”, aka CPO. This means the dealer has done an extensive inspection on the vehicle and in some cases brought it up to spec, so that Porsche can offer a 100,000 mile, 6 year warranty on the car. That’s pretty cool. You’d still have to pay for maintenance service but that warrants the car as if it were new. Actually, even better than the new car warranty does. Amazing.

So I’m currently dreaming about owning a Porsche again. It might be a while before I have the economic ability to “pull the trigger” but I’m learning a lot about the cars and studying reports and reviews. Unless I have some changes to my economics (like maybe adding $20K per year) it is only a fantasy right now. But I’ve got my eyes open and working to one day maybe make this possible and purchase my last Porsche before too long. I figure whatever Porsche I select I’ll probably hang onto it for a long time. The VW I’m driving right now, which I actually enjoy quite a bit, is 13 years old and has almost 140K miles on it.

Share

Yes Music Early In The Morning

Posted by steve | General Commentary,Music | Thursday 29 May 2014 4:06 am

I woke up early this morning and decided I had not listened to music from my favorite progressive rock band, “Yes”, in a long time. So I made a quick playlist in iTunes of about a CD-length of music, put my headphones on, and listed to some wonderful music. I remember, when selecting songs for the quick playlist, that I wanted to hear some of their best but out-of-the-way music.

Listening, I remembered why I love this band so much. The music and vocals are outstanding and moving.

Here is the playlist.

  1. Cinema
  2. Leave It (vocal)
  3. Take The Water To The Mountain
  4. Nine Voices (Longwalker)
  5. Mind Drive
  6. That, That Is
  7. Order Of The Universe [Anderson, Bruford, Wakeman, Howe]
  8. Change We Must [Jon Anderson]
  9. New New World [Jon Anderson]

When I got to the end I looked back over the playlist song titles once again and noticed a theme running through these which is striking. My subconscious was talking to me this morning?

It is interesting that my mind often seems to work on design and coding problems while I sleep. I’ve written about that behavior before. And it happened again. This morning when I first awoke, before deciding to listen to some music, sure enough I realized a possible solution to a technical problem at work. When I get in this morning I’ll check it out.

This is the first time in a long time when I awoke also thinking about music though.

Share

WWDC 2014 is coming!

Posted by steve | Apple Software and Hardware | Tuesday 27 May 2014 9:39 pm

Next week is the week Apple developers get all excited about WWDC. This is it. Apple will start their keynote on Monday and developers from all over the world will be in attendance during the week in San Francisco.

The Apple World Wide Developer Conference is the largest and longest continuous running developer conference in history. It hosts thousands of developers and the tickets sell out in seconds.

This year the keynote presentation will be live streamed. I almost feel like taking a vacation day just so I can stay online and watch as a substitute for being there. As I understand things Apple shuts down their engineering center in Cupertino and sends all the engineers on site to the conference to rub shoulders with their customer developers at technical sessions, workshops, and other conference events. I hope to get in there someday myself. It’s a pretty expensive proposition. The ticket costs money but the real killer is hotels and meals in San Francisco. Plus the flight to get there and back.

I’ll do it someday.

Last year Apple introduced iOS 7 key frameworks like iBeacon, SpriteKit and MultiPeerConnectivity that I ended up using in game apps I’ve produced this year. Apple also gave us Xcode 5 with built-in Xcode Services for Git and Testing Bots and first class Unit Test frameworks last year at the conference. All amazing tools.

In 2012 Apple introduced Passbook with iOS 6, among other things, and I did a lot of work with that. Can’t wait to see what’s in store for developers this year. I think Apple is on a roll. These are exciting times to be an iOS developer.

Apple has started to put up posters at the Moscone Center and the journalists are taking pictures and speculating wildly about the wording on posters for any hints about what lies ahead. Evidently the catch phrase this year is “Write the Code. Change the World.”

How cool is that?

Share

Change Brings Change

Posted by steve | Management & Leadership | Tuesday 27 May 2014 9:21 pm

In the period of just a few weeks, 3 very dear friends of mine have either changed jobs or are in the process of changing jobs. I’ve known all three for 10+ years each. What is interesting is that each of these friends are self actualizing. They are choosing to change jobs. Making choices about their careers without having or allowing someone else to choose by either action or inaction.

They have all picked excellent new jobs and I’m excited for them. In the cases where I see them everyday in my current job, I will miss them when they are gone.

I’ve seen this pattern before. First, it is a good sign isn’t it? While we may never see the IT jobs market we all experienced in the ’90s again, portions of the economy are showing real signs of investment again. The other encouraging thing I’m noticing is that more seasoned veterans of IT development and management, like myself and my friends, are both getting noticed for their own value and we are gaining clarity about our roles as well. The ever present pressure to keep costs down by seeking less expensive labor will be with us for some time, but the value of the skilled talent is also starting to become more obvious as the real keystone to how companies can create the future they want. It is an exciting time.

When I was a manager at a fairly large software development shop years ago there were many interesting lessons to be learned. At that time I was part of a team where there were employees that had been with the company for over 20 years. They knew how things worked and why. Yet we were careful in ensuring that creative voices could be heard. I was one of those voices and enjoyed that experience. New ideas were encouraged and looked at seriously. The funny thing was, and see if this doesn’t sound familiar where you work today, the senior management in the company changed about as often as fashion trends. The folks that did the work, the coders, kept on while the leaders kept deciding what they wanted to do. And that was one of the funniest examples I remember. I had an employee on my team that had been with the company for maybe 18-20 years before I joined. It was important to listen to him. He was smart and he knew what was real and what was “noise”. I’ll never forget this part. One week we all received an email that the company had reconfigured management again, new faces, old faces, silos or not. Another change in configuration. Anyway this guy opens up his desk drawer and files the new org chart away. Then he says to me “Want to see what the next org after this one expires will look like?” I was curious about what he meant. He’d been keeping every org chart for over 20 years. And sure enough if you matched the pattern with a previous one you could see what the one that followed it a few years later looked like. It was amazing.

So is that a bad thing? Like everything else in life, a little yes, a little no, and “do it with moderation” someone wise will add.

I’ll cite another example.

One of the jobs I had was Product Manager of an IT team for a manufacturing firm. Because it was a relatively small company, and because the company had only 2 real product lines, if you were a Product Manager you were well known and visible. And I got to know the President and Vice Presidents on a first name basis because we talked frequently. I remember that the manufacturing shop, when I joined the company, was running a standard 40-hour work week single day shift. All employees on the manufacturing floor worked 8 hours a day for 5 days a week unless there was overtime. One day the Vice President of manufacturing had the idea that he would change the structure and still have everyone work 40 hour weeks, but change it to 2 shifts that overlapped in such a way that a single employee worked 10 hours per day for 4 days per week. Some folks worked Monday through Thursday, and some Tuesday through Friday. You get the idea.

And guess what happened? All the benchmarks they had for productivity went up. This stayed that way for several years (I was with that company for 13 years) and got to see what I’m about to describe happen more than once. After a year or two when things felt like they were in a rut, the schedules changed. Still 40 hours per week but now everyone was switched back to working 8 hours per day and 5 days per week. Guess what happened? Benchmarks for productivity went up.

My take away was that introducing change can have benefit.

People make changes in their lives for so many reasons. Things I’ve noticed include:

  1. Someone gets married
  2. Divorce
  3. Kids go off to college
  4. A neighbor moves out or in
  5. Someone close to you dies
  6. Someone gets fired or laid off
  7. Someone you know changes jobs
  8. A friend buys a new car

The saying I’ve adopted is “Change Brings Change”. When people around you change their lives, or have their lives changed unwillingly, it is human nature to pause and reflect about the decisions you make in your own life. As a manager I came to expect changes in a team if any person in that team made a change. If someone left, almost without fail, someone else leaves for a new job too. If a team member buys a new car, someone else will very soon too. It happens.

Should you change things for yourself just to break a pattern? I think it is worth personal reflection. It cuts both ways. You may realize that you are living in a “rut” or have compromised on something important to you too many times. Or you could realize what you have to be thankful about your world and life as it is. We all know people who are always complaining about their job and sometimes hopping from job to job but not really improving their lives.

Change may be good. It may be disruptive. But one thing for sure I notice is that you owe it to yourself to reflect on your life too. Maybe you need to invent your own future, or maybe rededicate the one you have already made? It never hurts to look at things hard in the eye.

One thing for sure. Change will wake you up.

Share

Pair Programming With a 3 Year Old

Posted by steve | General Commentary | Saturday 24 May 2014 8:33 pm

I found this old photograph recently. It was taken back when Melissa and I had just met. That’s Nicholas back when he was 3 years old sitting next to me. He was watching me code from my Den back when we lived at One Lytle Place on the Ohio River. In those days, 1997, I was working on an internet banking framework as part of a small team. We were developing a prototype for some banks in South America.

pairprogrammingat3smaller

The picture is very cute with Nicholas sitting there watching me code. You can also make out the old stuffed “Dogbert” perched on my monitor — I wonder whatever happened to that? — and there’s even a tiny model Porsche on top of my monitor.

Good memories.

Share

Goodbye James

Posted by steve | Smalltalk | Tuesday 22 April 2014 4:09 am

I was saddened to read receently that James Robertson passed away suddenly. He was a torch bearer in the Smalltalk community. I crossed paths with him several times while at ParcPlace-Digitalk. He was an incredible and outspoken advocate. Gone too soon.

Share

The Crimea Quiz Game App

Posted by steve | Apple Software and Hardware,Education,Mobile Phones | Friday 11 April 2014 8:04 pm

Apple just sent me notification that the newest iOS App I’ve written “Crimea Quiz Game” has been approved and is ready for sale. From my past experience I think this means the App will begin to show up for sale in the Australia App Store at midnight tonight and then work its way across the global App Stores accordingly.

This is very exciting for me. Effort to get to this point has been really different than for other Apps I’ve published. But let me share some excitement by describing what this App does before I spend more time describing the interesting experience of getting this App approved.

“Crimea Quiz Game” is an iOS game that you play in your living room at home with iPhones, iPads and an Apple TV. The key feature is that this is a quiz you play using the Apple TV to present the questions and you use your hand held iPhones and iPads to vote on the correct answer. The game uses many of Apple’s new iOS 7 capabilities including the Multi-Peer Connectivity framework to automatically connect between all the devices, Sprite Kit for the graphics and text presentation, and AirPlay to send output to the TV screen.

When we play-tested this it generated a lot of excitement and was quite a bit of fun. Here is how a typical Apple TV display looks while playing the game.

Crimea Quiz Game Apple TV Display

Crimea Quiz Game Apple TV Display

On your networked iPhone are buttons matching the multiple-choice answers.

iPhone Answer Buttons

iPhone Answer Buttons

If you think you know the answer tap the matching button before one of the other players. The only thing is, see that timer up on the Apple TV display?…

Countdown Timer

Countdown Timer

If no one answers before the timer runs out (and it gets red as you get close), then no one scores.
The game then shows the correct answer, and the name of whomever got it right, on the Apple TV display for a few seconds and then the next question is presented. This cycle is repeated until the game ends and someone has the highest number of correct answers.

Game Over

Game Over

The game itself is about the current crisis in Crimea. I figure most folks, me included, don’t know much about the Ukraine and Crimea or even where the heck it is. So as a quiz topic this should be both interesting and educational. The game has 28 questions built-in. When the game is launched you can select how many questions are chosen randomly for a game round.

I also had some fun designing a setup screen with custom controls that is used by one player before the game begins. Here’s that setup display running on the iPhone.

Setup Options

Setup Options

The open source program Gimp was used to create the custom graphic elements and then I coded up some custom Sprite Kit controls for the buttons, switches and sliders.

Now, a little bit about the process to get to this point. The game was written and submitted to Apple for review on March 24th. Then on April 2nd the App was rejected with a reason that I’ve never encountered before “Metadata Rejected”. Apple provided details about the rejection and it turns out they didn’t find some problem with the App. Rather, they asked me if I would create a video showing how to work it. This was something new but then I figure, maybe the written text description I had given was not enough. After all, this app uses the Apple TV in a manner that I have not seen much in other App Store games. So setup might be confusing. And I figured if Apple said they needed a video showing how to setup the game hardware, then anyone would. So I created a video using the iOS simulator, and Quicktime and iMovie for editing and submitted that to Apple the very next day. In the mean time I was busy enhancing by adding features and cosmetic improvements so I decided to create a whole new version and resubmit.

Apple rejected it again on April 3rd. This time they wanted me to make the video again but using real Apple hardware and not showing it running on the simulator. Okay. That was a little more effort. I had to dig out our old Cannon video camera and threw together a few short clips showing the game being played on some iOS devices we have at home. I also did some editing in iMovie to see if I could make up for the lousy video skills. The app was resubmitted with a link to the first and second video. A new binary was readied on April 6th.

Then I didn’t hear anything for a few days. This morning (April 11) at 3:05 AM I received a text message that the game was in review! My first thought was, wow that’s early. Apple must have a pretty decent size staff running day and night for App reviews. I figured that maybe in an hour or two I’d get notice that the App was approved. The previous App I created took only 2 hours to approve once they began the review. But, this one is a lot more complicated because it has networking and uses the Apple TV. Around 1:00 PM I received a message from Apple saying that they needed more time to test it. Now I was secretly hoping this meant that maybe Apple found the App pretty interesting and was playing around with it. Just a fantasy, I know. Around 5:00 PM this evening I received a message saying the App was approved for sale in the App store. That was quite the journey. But like I said, I’m real excited. I think this App is a pretty neat idea, it’s fun to play, and it’s both timely and educational.

Here’s honestly hoping this game is a success. It’s just like those trivia games you see in some bars except this one you play at home with your friends.

The App is in the App Store at this link. I have also created a support web site which also shows off what it does and provides links to the setup and playing videos that were created for Apple during the review process.

So go check it out. I’m quite proud of it and also have a lot of plans for where I will take this idea in the future.

Share

Updated Xcode 5 Unit Test Tutorial

Posted by steve | Apple Software and Hardware,Education,Mobile Phones | Wednesday 5 March 2014 11:43 am

This morning I received a compliment via email from someone I’ve never met before about my Xcode Unit Test tutorial. I was instantly motivated to read through it again and check it for typos. So, after about an hour’s worth of careful reading and edits I have updated the tutorial this morning.

If you have an interest in learning how to write good Unit Tests for iOS and Mac application development, check it out. The tutorial can be found here.

And thanks again to everyone that provides feedback on my tutorials. I’m especially curious about how folks stumble upon or find them since I make no special effort to market the material.

Share
Next Page »