Tom Whipple

WWDC Day 1: Long lines & Keynote

June 8th, 2009

Well, I don’t think I’ve seen so many geeks in one place. Not even engineering school! As I write this I am sitting on the second floor of the Moscone convention center watching a couple hundred guys (oh and I can see 4 women — wait there’s another!) with their Macs out, posting on their blogs. (Yep, that includes me.)

The morning got off to a disappointing start when arrived to find the line wrapped all the way around the block. Unfortunately, it didn’t start moving until about 5 minutes before the keynote started, which meant that those of us that didn’t arrive at some obscene hour of the morning didn’t get seated in an overflow room until about 15 minutes in. We missed the launch of a couple of new Macs, but webfeeds indicated it wasn’t anything too revolutionary – just the latest laptop lineup. I talked to a guy who started lining up at 3am(!!), so maybe the overflow room isn’t so bad.

We first learned about the new version of OSX (code name: Snow Lepord). It looks like there are going to be a lot of nifty enhancements to the UI in the Finder, Preview, Safari, and Quicktime. The case for the new Safari was particularly compelling if the claims about page rendering performance hold up. Since it will ship today, I’ll probably switch back from Firefox and see how it goes.

However the OS enhancements that look like they may be the most exciting for developers are the features related to multi-threading, multi-core, 64 bit support, and most intersting, the announcement of what Apple is calling OpenCL. This is a new open standard that Apple is releasing to the community, which is designed to allow non-graphics applications to use the GPU for their computations. This will be huge for scientific computing (hopefully Matlab) as well as programs like Photoshop. It will be interesting to see how Apple applies this technology to the MacBook Air, which has no GPU. Unfortunately, very few details were given for these features. Maybe we will learn more in this afternoon’s sessions.

The last part of the Keynote was about the reason I’m here: The iPhone. There are many new neat features that will open up a huge number of possibilities for all of us here. Some of the highlights are: peer to peer via bluetooth, opening up support for accessory hardware, and support sharing the cell network to your laptop and MMS support, pending carrier support. But, unlike the rest of the carriers in the world, it turns out that AT&T won’t be supporting these technologies right away. This revelation drew laughs and heckles from the crowd. I sincerely hope that someone from AT&T was in the room to hear it, since I’m pretty sure that most of us would drop our AT&T contract in a second if there was another US carrier that supported the iPhone.

Finally, a new model of the iPhone was introduced. The new phone will have a faster processor, better camera and voice recognition. Of course everyone (including me) will want the new one, so I’m wondering who I can sell my current 16GB iPhone 3G to. It was also announced that the price of the current 4GB iPhone 3G would drop to $99.

 AFTERNOON UPDATE:  The only way to describe the new developer tools: kick ass. The static analysis tools are revolutionary; the software can automatically find bugs like memory leaks and even logic errors without even running the code. This is amazing, both in terms of technology and ease of use. I can’t wait to try it.

iPhone code signing problems

November 11th, 2008

UPDATE: If you think it should work and it continues to cause problems, use the windows solution (i.e. reboot everything) and do a clean build. Here is a more current discussion.

As many developers have figured out by now, iPhone code signing is unnecessarily difficult. To make matters worse, it doesn’t sound like Apple is very responsive to their developers. (In my case they have yet to get back to me after two days.) A couple of key points:

  1. In the main XCode screen, highlight Targets->AppName, and click the info button. Under Build, the “Code Signing Identity” must exactly match the certificate name from the certificate manager.An Open Question: Does this value get inherited from the project values?
  2. The Resources->info.plist file must have the correct app id. In my case
    com.tomwhipple.${PRODUCT_NAME:identifier}

A couple of more detailed discussions:

  • 24100.net (very detailed and helpful)
  • Apple (a developer discussion thread)

Fire season again

October 22nd, 2008

This year the fires are hitting a little closer to home. (Fortunately, everything seems to be OK so far.) A couple weeks ago there was a fire in the Ventura River bottom. Today, a more serious fire started on the edge of town and moved up into the hills. The entire hillside burned, but by the time I saw it, it was just a black hill with a bit of smoke coming off. It must have gone over the ridge, since helicopters were dropping water there. (I can still hear them as I write this.) But there wasn’t much smoke coming from the area. It looks like the wind has died for the evening, so I would be suprised if it flares up again.

But, it looks like a bigger fire must have started up the coast twards Santa Barbra, because there is a lot of smoke blowing out to sea from much farther west.

I took a picture of the sunset and smoke with my iPhone, but can’t seem to get it off the phone without a lot of extra hassle. (Apple has been a big disappointment lately, but that’s another story.)

Other relevant links.

Configuring CVS for Apple’s XCode projects

October 11th, 2008

UPDATE: It seems that most of the nonsense described below is fixed in XCode 3.1.2. However it is still necessary to import the project and then check it out again.

Apple ostensibly has integrated CVS & SVN as version control into XCode. But in XCode 3.1.1 the CVS integration is very poor. The problem seems to be the project/build directory where XCode keeps binaries. This directory appears to be generated from all the other files, so the solution seems to be to leave it out of CVS.

These steps seem to work:

  1. Make sure the repository is set up. (See Apple’s instructions or better yet, the CVS manual) This includes defining the repository under SCM in XCode.
  2. Create the project in a temporary directory as normal in XCode.
  3. Go to SCM>Configure SCM for this project. Choose your repository and click OK.
  4. Go to Build>Clean All Targets.
  5. Close the project window.
  6. Go to the project directory in the Finder and delete the contents of the “build” directory.
  7. In XCode, go to SCM>Repositories tool.
  8. Click “Import” and import the temporary project directory into CVS.
  9. Click “Checkout” and choose the directory where you will do your work. (This is NOT the temporary project directory you created in step 2.)
  10. XCode will ask you if you want to open the project when it is done with the checkout. If the checkout directory structure looks good, you should delete the temporary directory.

NOTE: If some subset of the builds directory shows up under the SCM tool on the left of the project tab, go to SCM>Refresh Entire Project BEFORE the build directory gets commited.
NOTE 2: If the build directory gets commited by mistake, delete it from the repository, the local directory structure, and the corresponding entry in the projectdir/CVS/Entries file.

Our Congress has failed us

September 29th, 2008

The stock market has lost something like 10% in a SINGLE DAY. All because the congress couldn’t figure out what the hell they are doing. Rather than waiting and forming a stable consensus, they brought the bill to a vote and let it fail. In doing so they have failed the country. All 435 members of the house share in this responsibility equally. If they voted for it, they failed to do enough to build consensus with their colleagues. If they voted against it, they need to explain to the country why they didn’t raise the objection before.

I don’t think I’ve ever done it before, but I wrote my congressman (R-CA) about it:

I see from your website that you voted against today’s financial bailout bill. As a result of your action, the stock market has declined dramatically. We have been hearing from various experts for the past several days that the situation is very bad, yet you have ignored this advice and contributed to an escalation of the problem.

You are therefore personally responsible for the decline in the market. Allowing such an important bill to fail is irresponsible. As a member of congress, you are part of a very small group of national leaders. Safeguarding the health of our economy is just as important as protecting our physical security. It is part of your responsibility as a leader and duty as an American to put politics and ideology aside in this time of crisis and figure out a way out of this situation.

If you and your colleagues cannot support the bill as proposed, you must work together to come up with a reasonable solution, before it is put to a vote. We saw the result of this failure in the market today. You are all, Democrat and Republican, equally responsible for this result. Each one of you owes the country and your constituents a detailed explanation of your position and reasoning.

mail@tomwhipple.com
612-220-1465