September 1, 2009 Header
Smorgasborg - Random Objects

April 2010 Thirteen posts

Random Affirmation

Small project that, on click, loads new affirmations. A photo from Leah, some jQuery with AJAX, and voila. I like it.

If anyone has suggestions for a “random thing of the day” type thing, please let me know.

The JavaScript I code to attach the behavior is:

			{type: "POST"
			, url: "generate-affirmation.php"
			, beforeSend: function(xhr){
				$('#affirmation').html('<div class="loading"><img src="/affirmations/ajax-loader.gif" alt="loading..." border="0" height="24" width="24" /></div>');
			return xhr;
			}, success: function(txt){

And the PHP of generate-affirmation.php is:

$raw_affirmations = array();
$raw_affirmations = @file("affirmations.txt");
$raw_commented_affirmations = array();
$html_affirmations = array();

foreach($raw_affirmations as $raw_affirmation) {
	$raw_affirmation = trim($raw_affirmation);
	if((substr($raw_affirmation,0,1) != '#')) {
		if(strip_tags($raw_affirmation) != $raw_affirmation) {
			$html_affirmations[] = $raw_affirmation;
		} else {
			$html_affirmations[] = htmlentities($raw_affirmation);
	} else {
		$raw_commented_affirmations = $raw_affirmation;
print $html_affirmations[array_rand($html_affirmations)];

Progeny Film Festival; Blacksburg

This past weekend Leah and I went down to Blacksburg and attended (most of) the Progeny Film Festival. These were student and community-made films and they showed real promise. I have a soft spot for student film. The Festival was held at The Lyric Theater, which has an interesting history.

The film I liked best was Harano Childs – Model Railroader, and with the magic of YouTube you can watch it:

We didn’t stay for all the festival; we saw half the films and enjoyed them.

It was the first time I’ve been to Blacksburg in a long while. I think the last time I was in Blacksburg was in the Summer of 1992 when I took the CRTT exam (I passed).

At the same time as the Progeny Film Festival was another interesting event, a concert by
the Linux Laptop Orchestra. We didn’t go to that though. But it’s another piece of interesting culture attached to Virginia Tech. I’m looking forward to more opportunities for Leah and I to drive down Interstate 81 and visit Blacksburg.

The drive was not as long as I thought it was going to be. Spring has sprung in a big way, and Saturday was a lovely day. The green is overwhelming and the landscape of southwest Virginia is beautiful.

Massive Sqwertz

Psst… just between you and me, can I tell you about a new webcomic I think you should look forward to?

I’ve known Brett Jackson since sometime in the 20th Century. At the time I believe he was the prime mover in the San Diego Macromedia Users Group. He is soft-launching a webcomic, and I did theming and customization. The site looks beautiful, and I’m looking forward to the new comics every week! You can subscribe to the RSS feed and get the new ones.

It’s a beautiful design, and it was fun to turn into a WordPress theme.

Brett’s always been a nice fellow, a helpful fellow, and he has the distinction of creating a drawing (a ribald caricature) that, inexplicably, is one of the most popular items in my flickr account:

Joe's Decision, by Brett Jackson

“Viewed 19,179 times” since it was posted June 29, 2005. Why? I have no idea, really. Some sort of fluke of Google I think. By comparison, this other caricature by Brett, a bit more plain, has only been viewed 600 times.

Joe by Brett Jackson

I like those a lot.

And today, I have a new image, not for flickr, but for me. In thanks for my work on the theme, Brett has given me the first ad! I dig it the most. That hat is pretty much exactly how my hat looks.

I love the ad, and I’m looking forward to more comics from Brett! That url again is

(Also, I’ll probably post about some of the tricks I employed on the site, but that’ll be for another time. If anyone is interested in speccing out a webcomic WordPress theme please get in touch. I have some ideas but I’d love to hear what webcomics folk like in terms of themes)

Apple 3.3.1 iPhone changes cause uproar

I have been watching iPhone development for a while. I’ve played in it and with it and been fascinated by it.

The latest changes, where Apple is proposing to disallow alternate languages and runtimes to make iPhone apps. What it says is:

3.3.1 — Applications may only use Documented APIs in the manner prescribed by Apple and must not use or call any private APIs. Applications must be originally written in Objective-C, C, C++, or JavaScript as executed by the iPhone OS WebKit engine, and only code written in C, C++, and Objective-C may compile and directly link against the Documented APIs (e.g., Applications that link to Documented APIs through an intermediary translation or compatibility layer or tool are prohibited).

Not calling private APIs is not new. They don’t want you to do that. When I attended the last BarCamp, Chris Hughes (twitter: @chews) said that probing undocumented iPhone APIs by decompilation was essential to being a good iPhone developer–that doing so assures you can see where the platform is going.

The tricky bit is “only code written in C, C++, and Objective-C may compile and directly link against the Documented APIs (e.g., Applications that link to Documented APIs through an intermediary translation or compatibility layer or tool are prohibited).” So, what happens to things like MonoTouch or Adobe’s nascent Flash Packager for iPhone? MonoTouch uses C#, and Adobe’s tool that releases tomorrow uses Flash (so, ActionScript).

This change made some people crazy. Lee Brimelow is a Platform Evangelist at Adobe focusing on the Flash, Flex, and AIR developer communities. is what TheFlashBlog says. Mr. Brimelow basically turned Apple’s policy change into an opportunity to lose his mind, spectacularly. Here’s his post: Apple Slaps Developers In The Face. He ended it with:

Go screw yourself Apple.

Comments disabled as I’m not interested in hearing from the Cupertino Comment SPAM bots.

Despite it being called “TheFlashBlog” and him being an employee, since that post the other day a disclaimer and several redactions have been made:

This is my personal blog. The opinions expressed here do not necessarily reflect those of my employer.

My guess is those changes kept him from getting fired.

Meanwhile, Jon Lech Johansen, better known as DVDJon called out Steve Jobs on this issue:

In defending recent changes to the iPhone SDK agreement, Steve Jobs made a general argument about platforms:

We’ve been there before, and intermediate layers between the platform and the developer ultimately produces sub-standard apps and hinders the progress of the platform.

Since iTunes for Windows uses non-native APIs such as CoreFoundation and CoreGraphics, Steve Jobs is effectively calling iTunes for Windows a sub-standard app.

Is iTunes hindering the progress of the Windows platform by not taking advantage of the latest native Windows APIs? By Steve’s logic, Microsoft should start banning apps such as iTunes from Windows.

It should be noted that Mr. Johansen makes an iTunes competitor called doubleTwist. His point is a good one. Windows, whatever one thinks of it, has been a vibrant ecosystem in part because developers cannot be prevented from using other-than-official Microsoft toolkits to make their applications.

Monotouch, meanwhile, has a much more reasonable point of view, and views the changes as merely proposed and not final:

This is an update from the MonoTouch team at Novell to the MonoTouch community.

Many have contacted us about reports on the changes in the iPhone Developer Program Agreement and while we can not comment on the specifics of a confidential agreement, we want to address some of the points that are being brought up.

We believe that MonoTouch brings an impressive value to the Apple ecosystem.

MonoTouch’s C-powered runtime blends the power of native code and Apple’s iPhoneOS APIs with type safety, automatic memory management, and other benefits that years of runtime innovation have delivered to the ISO Common Language Infrastructure.

We are reaching out to Apple for clarification on their intention, and believe there is plenty of room for course-correction prior to the final release of the 4.0 SDK.

MonoTouch’s programming model exposes the iPhoneOS API to the C# language to give developers the same control and access that Objective-C developers get.

If Apple’s motives are technical, or are intended to ensure the use of the Apple toolchain, MonoTouch should have little difficulty staying compliant with the terms of the SDK. MonoTouch runs only on Mac OS X, and integrates tightly with XCode and the iPhone SDK. Applications built with MonoTouch are native applications indistinguishable from native applications, only expose Apple’s documented APIs and uses a rigorous test suite to ensure that we conform to the iPhoneOS ABIs and APIs.

With this in mind, the MonoTouch team remains excited about the potential for Enterprise and AppStore-deployable applications developed for the iPhone and iPad. Support for iPhoneOS 4.0 on MonoTouch will be arriving soon.

More sinister is the reaction of Dan Grigsby, of Mobile Orchard, an excellent blog and podcast about iPhone development. He has decided: I’m Abandoning iPhone Development. Mobile Orchard To Stop Publication. This is about the most drastic reaction from an iPhone developer I can think of. He has read the tea leaves of Apple’s actions and decided that the greater opportunity is in Android Development.

Meanwhile, iPhoneWax is a framework that lets you write iPhone apps in Lua. It bridges Objective-C and Lua using the Objective-C runtime. With Wax, anything you can do in Objective-C is automatically available in Lua! The reaction by developers in the iPhoneWax group is confusion, anger, and disappointment: Thread: Section 3.3.1.

Ansca Mobile has Corona SDK, a commercial software development toolset, is in a similar position. They seem to think they’re okay: Corona and iPhone OS 4.0:

First and foremost I want to thank all of our Corona developers, friends and family for their support regarding the new Apple 4.0 OS Terms of Service Agreement (TOS) on how it could affect you, our developers, and us, as a tools company.

Let me reassure all of you that we will do whatever it takes to make this work, just like we have been doing since Corona first started shipping.

I believe that Corona will be fine, and we are committed to delivering the best tool for multi-platform game and app creation for Apple and Android devices, and we will continue to add new features to Corona and to make it better every time we put a new release out.

I, along with my co-founder Walter Luh, have reached out to Apple both officially and unofficially, and we continue to do our diligence in regards to the new TOS. We have also been in touch with other companies that are in the same situation we are.

John Gruber explains the changes a bit more in his post Why Apple Changed Section 3.3.1. Mr. Gruber is always worth reading for thoughts on Apple, but he says:

Flash CS5 and MonoTouch aren’t so much cross-platform as meta-platforms. Adobe’s goal isn’t to help developers write iPhone apps. Adobe’s goal is to encourage developers to write Flash apps that run on the iPhone (and elsewhere) instead of writing iPhone-specific apps. Apple isn’t just ambivalent about Adobe’s goals in this regard — it is in Apple’s direct interest to thwart them.

Rafe Colburn, who I’ve been reading for many years, has a nice summation of all of this as well: Apple kneecaps competitors and partners. He brings up the parallel of Java, which seems especially apt:

I am reminded of Microsoft’s reaction to Java, specifically the early hype about Java. We all think of Java as a boring server-side language now, but the initial idea behind Java was that software developers could write applications in Java rather than writing them for Windows, and that those applications would work everywhere, thus defanging Microsoft’s desktop OS monopoly. Microsoft took various steps to prevent that from happening, but they lacked a tool like App Store that would enable them to just ban Java. Apple has that card to play, so they’re playing it.

I think Apple pissing off developers is a gigantic mistake. These are engaged, smart people who believed very strongly in the iPhone platform. Pushing them away means that Apple is taking the decision to encourage them to go with another platform. At the moment it looks like Android would be that platform. Other contenders for taking that iPhone business: webOS, though Palm is struggling; maybe Symbian‘s phones will be more “Smartphone-y.” Blackberry or Maemo. I am hopeful and interested to Apple makes a course correction on this.

The AppStore is both a strength and a weakness for Apple. It’s a source of revenue, and there vetting of official iPhone apps, but it also is slow, and is much criticized. Here’s a random article with criticisms: 10 Reasons Why Apple’s App Store Policies Make No Sense.

If their concern is for application quality or platform stability in light of the fact that they are also introducing multitasking–why not simply include disclaimers about the fact that applications may be less stable. Or maybe allow developers to push “questionable” apps into a “beta” mode. Apply disclaimers to these apps, and let users and developers see and decide. I may be naive, but there may yet be a creative solution that protects Apple but still allows independent developers to do their thing.

I’m interested to see if Apple makes changes in light of the pushback from independent developers. It would be a shame if all these creative developers were simply kicked out the door. In light of software history though, that may be exactly what happens. Luckily, the industry is still young, and these developers have alternatives. But pushing away developers can’t help but ultimately hurt the iPhone platform.

Now, all that said, it’s possible the reason for phasing out everything but C, C++, and Objective-C is part of a larger shift. Here’s an interesting theory that it has more to do with a shift in underlying processor: Like the change from 68k to PowerPC, or PowerPC to Intel. iPad’s now sport custom processors, maybe there’s something like that afoot. I’m not technical enough to know the merits of this possibility, but if so it’s possible a shift in platform strategy may be inferred by this developer-angering development.


NOTE: This was originally published on April 11, 2010 as a page of its own. As of October 30, 2023 I’m moving it into a blog post.

Question: What is a colophon?

Answer: A brief description, usually located at the end of a book, describing publication or production notes relevant to the edition

  • Infrastructure includes:
    • The Internet itself
    • The DNS root nameservers makes domains possible
    • Pairnic rents me the domain name and has since 1999
    • pair Networks rents me server space and capabilities. They are an excellent hosting company.
  • I share a server with other people, and it makes possible many things:
    • FreeBSD is the UNIX operating system the server runs
    • Apache a web server, actually answers page requests from visitors
    • PHP is a programming languages that integrates with Apache and makes much nifty stuff possible
    • MySQL runs on yet another box, and makes yet other things possible
    • Some of the assets for the site are in Amazon Web Services S3
  • The content itself is composed of many things:
  • I try to check my work for validity, responsiveness and accessibility:

Malcolm McLaren is dead.

Most famous for being a rock empresario. For the Sex Pistols. For Punk theory. For Bow Wow Wow. Dead at age 64.

He could be a lot of fun. Here’s Buffalo Gals, 1983:

I don’t remember this video, or the nudity, but the song sounds like the 1980s to me. I always liked the song. Drum machines, cultural pastiche, earnestness. It’s Madame Butterfly, from 1984:

Read the man’s Wikipedia entry. Fascinating fellow: Malcolm McLaren.

“Lucky” – an iTunes playlist

  1. The LuckiestBen Folds
  2. Bad Luck Blue Eyes GoodbyeThe Black Crowes
  3. The Poignant & Epic Saga Of Featherhead And Lucky LackBlues Traveler
  4. Mack The KnifeBobby Darin
  5. Lucky BagElectronic
  6. Lucky Bag (Miami Edit)Electronic
  7. Luck Be A LadyFrank Sinatra
  8. Hard Luck WomanGarth Brooks
  9. I’m LuckyJoan Armatrading
  10. Just Got LuckyJoBoxers
  11. Lucky NumberLene Lovich
  12. Lucky SevenLew Lewis Reformer
  13. Lucky LispMorrissey
  14. Lucky Ball & ChainThey Might Be Giants
  15. You Got LuckyTom Petty & The Heartbreakers
  16. UnluckyWAX

See also: rock and dead and jesus and don’t.

Pixels, by Patrick Jean

A visual treat for Friday.

via jwz.

Pre-Gaga Gaga.

Deleted: The first time I heard of Lady Gaga it was from Krisztianna. At the time I thought her fandom of Miss Stefani Joanne Angelina Germanotta was delusional or maybe even ironic. As it turns out, Lady Gaga actually has quite a lot going on for her. She’s worked hard, and for many years to create an identity and aesthetic that is musical, outlandish, controversial, and to many, incredibly entertaining.

For those of you who have written off Gaga as yet another vapid pop princess, I present you with a video from before she was Lady Gaga. This is a young woman who has clearly been practicing her piano and singing.

If you’re compelled by that, and are curious to know more about her story and theories about her and her work, check out:

Read the “Growing Up Gaga” article. You’ll appreciate much more her rocky road to fame, and the hard work she put in to get there.

More thumbnailin’: photos

Check it out at posts tagged “photos”.

posts tagged with "photos"

This follows up this post where I talk about posts tagged “drawings.”

←March 2010May 2010→