Xcode 7 UI Testing: A Little Adventure

October 4th, 2015 1:06 AM PDT
Updated October 4th, 2015 2:35 PM PDT

One of the big features announced for developers at this year’s WWDC event was automated UI testing. This is something I think all developers should be doing in some capacity, whether with Apple’s tool or something else.

In iOS land, we’ve been able to do this for a while with the Automation instrument. But the tests were in JavaScript (not Objective-C or Swift), and had to be executed separately from normal unit tests.

I was excited to see that Xcode 7 would include a test recorder that could generate test code in the same language as my app. I just got done kicking the tires (better late than never), and the results were… mixed. I want to record my results here while they’re fresh in my mind in case anybody else runs into the same issues I did (including my future self). Read the rest of this entry »

C++ Renaissance? I’m not so sure.

October 18th, 2011 6:00 PM PDT
Updated October 18th, 2011 4:45 PM PDT

Leonardo da Vinci. Not to be confused with Leonardo da Turtle.

I’ve seen various posts lately talking about a “C++ Renaissance”.  I’m trying to make some sense of this, and mainly to figure out whether it’s true.

It seems there is some belief that just because there is a new C++ standard (C++11, formerly known as C++0x) there is a “renaissance”.  Most of the posts I’ve seen on the subject are basically restatements and requotes from a recent interview with a couple guys on Microsoft’s Visual C++ team.  So far all I can tell is that the VC++ guys are hyping their own product, and some people are buying into it.

I haven’t heard of any widespread transition from Java/PHP/Python/Ruby/Perl/Objective-C/etc to C++.  Server-side developers who are developing for maximum performance may use C++, but they probably already were before the so-called renaissance.  Mobile developers are still primarily using Objective-C on iOS and Java on Android.  Console game developers were already using C++.  Embedded developers will continue (not start) to use C++ if they have the luxury; otherwise they’ll use C or assembler.  Kernel developers will continue to use C.

The major remaining category is desktop apps.  Mac apps are generally written in Objective-C (in fact that’s the only way to access the Cocoa GUI framework).  Linux code is largely written in C.  So the renaissance must be on Windows, right?  Well, Microsoft seems to be the focus of this “renaissance”, and even they aren’t fully embracing C++.  Yes, it will be possible to write Windows desktop apps in C++, but Metro is Microsoft’s latest-and-greatest development tool, and Metro apps are mostly about HTML and Javascript.  And .NET (primarily C#, VB.NET) probably still fits into Microsoft’s plans somewhere.

So where exactly is the renaissance supposed to happen?

Holy crap, iOS 5 finally lets you customize sounds!

October 17th, 2011 11:46 PM PDT
Updated October 18th, 2011 12:20 AM PDT

I used to customize all the sounds on my Windows Mobile phone (I feel dirty just saying I had one of those) back around ~2006, and I’ve always wished the iPhone would let me do it. It took a few years, but it finally happened. I’m surprised I haven’t seen this new feature mentioned anywhere.

There has always been an option to customize sounds, but it’s always sucked… until now. iOS 4 and below only let you turn a lot of the alert sounds on and off, but iOS 5 lets you customize each sound:

iOS 4: Lame

iOS 5: Yaaaaaay!

And on top of that, you’re not limited to the built-in alert sounds! You can finally use any ringtone for any alert sound, whether you purchased it from iTunes or made it yourself for free.  For example, I’m using a Saw ringtone to celebrate Halloween.

If you’ll excuse me, I’m off to download some free video game ringtones.

(Edit: I almost forgot to mention you can edit any contact and set their individual text sound as well.)

iPhone fixes

October 17th, 2011 9:43 AM PDT

Over the weekend, I upgraded from an iPhone 4 on AT&T to an iPhone 4S on Verizon.  For the most part, I’ve been happy with it.  But I did have to fix a couple problems.  Here are the problems I had, and the solutions I found.

Read the rest of this entry »

New podcast – Three Guys One Joystick

June 20th, 2011 8:42 PM PDT

I recently started a video gaming podcast called Three Guys One Joystick with a couple of my best friends. We’re mostly talking about older games, but we’ll talk about newer ones (and maybe even mobile games) from time to time too. Check it out!

Three Guys One Joystick

LiveHTTPHeaders 0.16 for Firefox 4.0 (unofficial)

March 24th, 2011 10:40 AM PDT
Updated May 17th, 2011 9:19 PM PDT

Update: LiveHTTPHeaders 0.17 has been released, so this hack is no longer needed or recommended.

LiveHTTPHeaders, one of my favorite Firefox plugins, hasn’t been officially updated for Firefox 4.0 compatibility yet.  I hacked the .xpi file so it will install in FF4.  If you’re impatient like me, grab it here.  It’s working fine for me, but I can’t guarantee it will be 100% stable.

Download LiveHTTPHeaders 0.16 for Firefox 4.0 (unofficial)

Pipes J2ME ported to MediaPortal

November 2nd, 2010 10:22 AM PDT

Oren Chapo just ported Pipes J2ME to MediaPortal:

Thanks for this addictive game. I’ve been playing it on my Nokia phone for over a year now.

Since I love the game so much, I’ve ported it as a MediaPortal plugin (C#). I’ve used your base classes and added my own touch (multiple levels, scoring system, timed game, sound effects).

You’re of course credited as the source for my plugin, and my plugin source is available to the public.

Additional information is available at:

Pipes J2ME is now open source!

January 9th, 2010 9:11 PM PDT
Updated January 10th, 2010 10:05 PM PDT

I have opened the source to the J2ME version of Pipes. If you’re interested in contributing to the project, it’s hosted on Github:


Anyone is welcome to submit source code, documentation, translations, etc. directly to Github. I’m putting the source under the GPL license.

I’ll be happy to answer questions about the source and the code architecture, but I probably won’t be able to help much regarding how to use Git or Github. Most of my experience has been with Subversion, CVS, and Perforce, so Git is still new to me 🙂

Note: The iPhone version of Pipes will remain a separate closed-source project under my personal ownership.

Anyone interested in working on Pipes J2ME?

January 3rd, 2010 1:02 AM PDT
Updated January 10th, 2010 10:06 PM PDT

A number of people have pointed out that my J2ME version of Pipes doesn’t work properly on some newer phones (especially those with touch screens, such as the Blackberry Storm). It is also lacking in features compared to my iPhone version.

The fact is I simply don’t have the time or resources to maintain the J2ME version. I don’t have a J2ME phone anymore, and since I don’t make any money from the J2ME verison, I can’t justify buying development equipment.

So my question is this: If I were to release the source, would anyone be willing to help out by adding new features?

From Nothing To Something. How To Get There.

September 22nd, 2009 9:36 AM PDT

This is an interesting read for anyone interested in startups: