Blogs we like
Does it .match?
I've been doing some work in AS3 of late and stumbled onto a bit of a gotcha last week that I thought I'd share since it caused me about 15 minutes of frustration.
The gotcha pertains to a significant difference in how Javascript and AS3 handle the match method of the String object when the global flag is passed. Consider the following Javascript snippet:
var r = /[a-z]/g
var s = "abc";
var x = s.match(r);
This will return an Array with values "a,b,c" in both Javascript and in its AS3 equivalent.
Now, consider this code, replacing the value of s with something that will not match:
var r = /[a-z]/gvar s = "123";
var x = s.match(r);
In Javascript, this will return null, but AS3 will return a zero length Array. Which means that this...
if(s.match(r)) {
// do stuff...
}
..would always be true in AS3, but false in Javascript. I spent about 10 minutes thinking there was something wrong with my regular expression, and another five thinking there was something wrong with AS3's regexp engine before I realized what was happening.
So who has it right? According to the ECMA 262 spec, AS3 does (see page 101-102). Of course, Mozilla's documentation claims that it will return an Array as well with no mention of null on that page, while Microsoft's JScript documentation admits it will return null if no match is found.
Good times.
Emre Grayson Chipman
My son, born this evening weighing in at 9.33 pounds, measuring 20 inches.
(And that's why I wasn't in Austin this year!)
SXSW Time!
And I'm not gonna be there this year. I know, I know - I should have told you sooner. You're probably already in Austin or in flight, now wishing you had advance notice of this turn of events so you could have just stayed home. I'm sorry, I really am. This really was terribly inconsiderate of me.
Soldier on, brave geeks, and know that with enough Shiner Bock, anything can be fun even if I'm not there. Be strong. And take lots of pictures. And twitter a lot. Let me experience Austin through your internets.
(Any day now I'll have an announcement of why I'm not there this year...)
Three Drawings and a PSA
These three drawings I did leading up to Christmas - I've kept them private on Flickr and not published them here as they were gifts for family and I didn't want to spoil the suprise.
- Clara at 17 Months
- 8 x 10"
- Colored Pencil on Eggshell Mi-Tients Paper
- November 20, 2007
- Big Smile
- 8 x 10"
- Colored Pencil on Cream Mi-Tientes Paper
- December 11, 2007
- Clara at 18 Months
- 10 x 8"
- Colored Pencil on Eggshell Mi-Tientes Paper
- December 21, 2007
And with those, I'll no longer be posting drawings on slayeroffice. 2008 seems a good a time as any to get the site back on the web development talk track. If you're interested in following my portraiture work, you can find it on my new drawing blog. Or, just grab the feed.
Page 222
My good pal Mr. Lawver has included a reference to my Page Info Favelet on page 222 of his new book.
Congratulations to Kevin, Kimberly, Christopher, Rob, Meryl and Mark on the book. I'm not sure when it comes out, but with that caliber of authorship (and obvious good taste) its a must-own.
Maya
Self Portrait III
- Graphite on Cold Press Illustration Board
- 8.5 x 11"
- Source Photo © Kevin C. Smith
- In-progress scans
My first go at graphite in about 12 years. It didn't take nearly as long as a colored pencil drawing, and it was awfully nice to be able to use an eraser. I may stick with it for a little while.
The Angry Cow

- Clara the Angry Cow
- Colored Pencil on Cold Press Illustration Board
- 11 x 8.5"
- Source photo © S.G. Chipman
- In Progress Scans
Clara in her Halloween costume impersonating her Daddy's scowl.
As well, Happy 5th Birthday, slayeroffice!
Brian

- Colored Pencil on Cream Mi-Teintes Board
- 11 x 8.5 "
- October 29, 2007
- Source Photo © Kevin Lawver
Max & Clara
- Colored Pencil on Cream Mi-Teintes Board
- 11 x 8.5"
- October 24th, 2007
- Source Photo © Kevin Lawver
A finished this one a week or so ago but forgot to post:
- Colored Pencil on Cream Mi-Teintes Paper
- 8.5 x 11"
- October 14th, 2007
- Source Photo © S.G. Chipman
Queue everything and delight everyone
Queue everything and delight everyone. Les Orchard explains why I’ve been getting interested in queues recently: “One of the problems it seems most modern web apps face is the tendency to want to do everything all at once, and all in the same code that responds directly to a user.”
A Look at the Presidential Candidates
A Look at the Presidential Candidates. The Big Picture (the Boston Globe’s fantastic photojournalism blog) presents a fascinating collection of historical photos of Senators Barack Obama and John McCain.
quipt
quipt (via). Extremely clever idea: Cache JavaScript in window.name (which persists between page views and can hold several MB of data), but use document.referrer to check that an external domain hasn’t loaded the cache with malicious code for an XSS attack. UPDATE: Jesse Ruderman points out a fatal flaw in the comments.
Table Drag and Drop jQuery plugin
Table Drag and Drop jQuery plugin. Drag and drop of table rows is a special case (jQuery UI doesn’t seem to support it)—this plugin works pretty well though.
Independence Day: HTML5 WebSocket Liberates Comet From Hacks
Independence Day: HTML5 WebSocket Liberates Comet From Hacks. The HTML5 spec now includes WebSocket, a TCP-style persistent socket mechanism between client and server using an HTTP handshake to work around firewalls. The Orbited comet implementation provides a WebSocket compatible API to existing browsers today, and can also act as a firewall/proxy between WebSocket and regular TCP sockets, allowing browsers to talk to things like XMPP servers using Orbited to bridge the gap.
Show Us a Better Way
Show Us a Better Way. The UK Government’s Power of Information Taskforce are running a mashup competition (a.k.a. “ideas for new products that could improve the way public information is communicated”) with a £20,000 prize fund and gigabytes of brand new data and APIs. This is a great opportunity for the software community to demonstrate how important this kind of open data really is.
Phasing out support for IE 6 across all 37signals products on August 15, 2008
Phasing out support for IE 6 across all 37signals products on August 15, 2008. Interesting move considering BaseCamp is used for communicating with (often corporate) clients. It would be nice to see the browser stats behind the decision.
Back to Blogging

I have recently returned from a convalescence break in France where my parents (yes, I am lucky to still have my mother and my father) spoiled me rotten, not to mention my sister-in-law who is so generous with me I can hardly believe it. On top of all that, I also managed to see my beloved brother (who travels a lot so he is hard to catch) and my two treasured nephews. Lovely, lovely, lovely! read more »
A quote from Kroc Camen
A printer driver is a folder with one “.ini” file, and a couple of “.dll”s and that’s it. It is not a 50 MB download. It is not an IE Toolbar, and Side Pane. It is not half-baked photo software. It is not a splash screen when your computer starts. It is not a tray icon.
Running C and Python Code on The Web
Running C and Python Code on The Web. Adobe are working on a toolchain to compile C code to target the Tamarin VM in Flash. This will allow existing C code (from CPython to Quake) to execute in a safe sandbox in the browser.







