Bill Clementson's Blog

Bits and pieces (mostly Lisp-related) that I collect from the ether.

September 2009
Sun Mon Tue Wed Thu Fri Sat
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
Aug  Oct

Daily Back from vacation

Friday, September 25, 2009

I just got back from a 2-week vacation, so I've been busy catching up on things.

Daily Xcode Requirement for iPhone OS 3.0.1

Friday, July 31, 2009

I've just updated my iPhone OS to 3.0.1 (it's a security upgrade to fix the iPhone SMS vulnerability that was recently announced) and found that I could no longer build/install development apps on my iPhone. A bit of searching uncovered this Apple advisory:
http://adcdownload.apple.com/iphone/iphone_sdk_3.0__final/iphone_os_3.0.1_advisory.pdf

So, if you plan to install iPhone OS 3.0.1 on an iPhone that you use for iPhone app development, you'll need to follow the instructions in the advisory. Note that the terminal command that is described in the advisory is one long line, not 2 lines.

Daily HebrewBible App Store Rankings

Tuesday, July 21, 2009

I use a variety of different tools to measure how my HebrewBible iPhone App is doing. With the latest 2.0 version of the app, it has now moved into the top 100 of the "Reference" app category in both the USA and France (the top markets for the app). The following MajicRank graph illustrates the current rankings:

MajicRank rating

Woohoo!

Update-2009-07-28: After 1 week, the app's performance in both the USA and France has improved even more and I've broken into the top 100 for another "Big Eight" country - Canada!:

MajicRank rating

Woohoo, Woohoo!

Daily New Version of Hebrew Bible iPhone App Available

Friday, July 17, 2009

Today, Apple approved Version 2.0 of my Hebrew Bible iPhone application. In addition to providing 8 different versions of the Hebrew Bible (which can either be read online with no content stored on the iPhone or cached locally for off-network reading) and Hebrew word lookup/lexicon, this version includes links to over 200 Wikipedia articles and provides Google Maps of over 1,000 locations.

Hebrew/English version  Hebrew/English version  Hebrew/English version

Apple made me change the rating of the app to "17+" to indicate that there are "Frequent/Intense" types of "Mature/Suggestive Themes". Their reasoning for this was:

"Our review indicates that the application content is not consistent with the current rating. HebrewBible allows unfiltered access to wikipedia.org, where content with mature or suggestive themes can be accessed."
Come on guys, you've got to be kidding - give me a break! Hmm, a rating of "17+" seems to boost sales of certain movies - maybe I can expect a sudden spike in downloads now! ;-)

Daily Good thing I got my iPhone 3GS last week

Monday, June 29, 2009

It looks like Rogers is all sold out of all models of the iPhone 3GS throughout Canada. Good thing I got mine last week - I've been really pleased by how much better the user experience is with the 3GS over my old iPhone 3G. The features I find most compelling are:

Rogers iPhone 3GS

Daily New iPhone + New Apple Developer Provisioning Profile

Sunday, June 21, 2009

Yesterday, I took some time off from the nice weather and gardening tasks to go out and get a new iPhone 3GS. First off, let me say that the speed difference is really great! I've only played around with a few of the new features (such as the video camera and compass), but the speed increase is a huge plus. Today, I got around to creating a new developer profile for my new iPhone 3GS. My old iPhone was having some problems a few months ago and Apple replaced it, so I remembered the hassles I had then setting up a new provisioning profile for the replacement device (this seems to be a common iPhone developer complaint). I had similar problems this time with the 3GS, so I've decided to note down all the things that I did to get it setup properly. Hopefully, this will help someone else (or, at least, it might remind me of the necessary steps the next time I have to do it!). Not all these steps may be necessary (and it's probably a lot easier if you're just adding a device to an existing profile rather than replacing a provisioning profile); however, I wanted to make sure I knew all the steps this time and it's what worked for me!

When you upgrade to a new device, you need to do the following:

In Apple's iPhone Developer Program Program Portal:

  1. Create a new provisioning profile for the device
  2. Set up a new device profile
  3. Download the new provisioning profile to the Desktop
On the Mac:
  1. Delete the old provisioning profile from ~/Library/MobileDevice/Provisioning Profiles/
  2. Drag the new provisioning profile from the Desktop into ~/Library/MobileDevice/Provisioning Profiles/
In the Organizer window in Xcode:
  1. Click on the device (in the left-hand pane)
  2. Drag the new provisioning profile into the "Provisioning" box
  3. Click on the "Provisioning Profiles" (in the left-hand pane)
  4. Double-click on the new profile name (in the top pane) - it should appear in the "Included Devices" bottom pane with an "Installed" status
  5. Close the Organizer window
  6. Press the Xcode/Empty Caches... menu option
  7. Close Xcode
On the Mac and iPhone:
  1. Power off both the Mac and the iPhone
  2. Power on both the Mac and the iPhone
  3. Attach the iPhone to the Mac
For each project you previously built with the old provisioning profile:
  1. Right-click on the [projectname].xcodeproj file and select "Show Package Contents"
  2. Make a backup copy of the project.pbxproj file
  3. Use a text editor (I used Emacs) to edit the project.pbxproj file:
    1. Delete any lines that have the key CODE_SIGN_IDENTITY
    2. Delete any lines that have the key PROVISIONING_PROFILE
    3. Delete any lines that have the key "CODE_SIGN_IDENTITY[sdk=iphoneos*]"
    4. Delete any lines that have the key "PROVISIONING_PROFILE[sdk=iphoneos*]"
In Xcode, for each project you previously built with the old provisioning profile:
  1. Open the project
  2. Press the Build/Clean All Targets menu option
  3. Press the Project/Edit Project Settings menu option
  4. On the Build tab under "All Configurations", chage the "Code Signing Identity" value to iPhone Developer
  5. On the Xcode dropdown menu, select to build on the Device
  6. Press the Build/Build and Run menu option (the application should build and load on the device)
That's what worked for me. If anyone has an easier/alternative approach, let me know and I'll publish relevant comments in updates to this post.

Daily Twin Cities Lisp Group Inaugural Meeting

Friday, May 8, 2009

Two years ago, Robert Goldman gave a presentation to our Vancouver lispvan group. I'm pleased to note that he's decided to start up his own Lisp User Group in Minneapolis. Here are the details of their upcoming inaugural meeting:

TWIN CITIES LISP GROUP INAUGURAL MEETING
9 June 2009, 6:00 PM - 8:00 PM CDT
Common Roots Cafe
Corner of 26th and Lyndale, Minneapolis, MN
http://preview.tinyurl.com/tclisp-crc
Temporary web page: http://rpgoldman.real-time.com/tc-lisp.html

There's a lisp renaissance out there, spurred by the availability of several high-quality open source Common Lisp implementations (SBCL, CMUCL, Clozure CL, and CLISP, at least). After attending the 2009 International Lisp Conference in Cambridge ( http://www.international-lisp-conference.org/2009/index) I was fired up to see if we could share in some of this renaissance here in the Twin Cities.

I was also inspired by visiting with the Vancouver Lisp group, Lispvan. They meet roughly monthly at some location offering coffee, beer, and wine, where they have a talk and some mingling.

In the interests of setting up something like this here, I've (well, Josh Hamell did all the real work) set up a mailman mailing list, tc-lispers ( http://sift.info/mailman/listinfo/tc-lispers_sift.info), and I've reserved the meeting room at Common Roots Cafe ( http://www.commonrootscafe.com/ourcommunity.htm), which offers the aforementioned coffee, beer, and wine (and tasty food --- vegetarian is available and there seem to be at least some vegan options).

At the first meeting John Maraist will talk about the NST unit testing framework for Common Lisp, which he has been developing at SIFT (abstract follows). Then we can plan a next meeting, chat, mingle, and swap stories. Share and learn the latest Lisp applications, techniques, packages, and implementations. Show off your lambda tattoos, evil hacks, and wigflip graphics.

Please come if you can and, whether you can or not, please sign up for the tc-lispers mailing list.

Best,

Robert Goldman
NST: A Unit Test Framework for Common Lisp

In this talk we will introduce the Lisp unit test framework NST. SIFT developed NST for internal use on a number of ongoing Lisp projects, and we believe that the system is now mature enough to release more broadly. In this talk we will review the notion of a unit test, and introduce the use of NST in Lisp project development. NST's implementation makes interesting use of a number of Lisp features --- macro expansion, compile-time execution, metaobject protocols --- and we will discuss its current implementation as well as the lessons we learned along the way.
If you will be in the Twin Cities area on June 9, be sure to attend this new user group meeting. Best wishes to Robert and all the other Twin Cities lispers! By the way, if anyone else is inspired to start a new Lisp User Group, you might want to read my "How to start a Lisp User Group" blog post. I've tried to summarize my experiences in that post.

emacs Copyright © 2009 by Bill Clementson