Recent updates in 'Geek'

Geeking out with Javascript (again)

Stayed up way too late going into full-bore geek mode over SquirrelFish, a new Javascript interpreter built into the latest builds of the WebKit and announced last night on Surfin’ Safari:

“SquirrelFish is a register-based, direct-threaded, high-level bytecode engine, with a sliding register window calling convention. It lazily generates bytecodes from a syntax tree, using a simple one-pass compiler with built-in copy propagation.”

Now if that doesn’t just make you wet, I don’t know what will… :-)

Seriously though, Javascript was one of my first programming loves back when first introduced by Netscape (as LiveScript, they changed the name for marketing reasons). I wrote my first real code that solved a real and serious problem (needed more insults) using this new scripting language.

I then was able to parley this new found passion into a real job (strange but true) and escape the world of retail less than a year later. During that year from first crappy but useful Javascript program, I found my second love - Delphi (yes, still use it, still love it, you can’t make me stop). Soon, in my first programming job I was using both. First project: software for chemists to use a $150,000 automated combinatorial organic chemistry robotic pipetter. Written in Delphi with an embedded javascript interpreter (we used Microsoft’s JScript, the easiest to embed solution at the time).

Back to WebKit’s SquirrelFish Javascript interpreter… It is fast. And this has some nice implications for two things dear to me. One, this may help to extend the usefullness of my aging (3+ years) G4 Powerbook which is clearly beginning to struggle. It is frequently overheating and crapping out during regular usage of any combination of software that make use of the Webkit (ie MarsEdit, NetNewsWire, Safari, etc). Hopefully this will improve once this gets into regular official circulation. I already see an improvement using the newest Webkit build for my browsing instead of plain vanilla Safari 3.1. Second, this is inevitably going to make it into the iPhone, which gives us some potential for speed and battery-life improvements.

(Via Rands on Twitter.)

‘Lying for Jesus?’

Lying for Jesus? is Richard Dawkins’ review of what appears to be a hilariously stupid and somewhat fraudulently produced movie titled “Expelled: No Intelligence Allowed”, narrated by Ben Stein:

“The whole tone of the film is whiny, paranoid — pathetic really. The narrator is somebody called Ben Stein. I had not heard of him, but apparently he is well known to Americans, for it is hard to see why else he would have been chosen to front the film. He certainly can’t have been chosen for his knowledge of science, nor his powers of logical reasoning, nor his box office appeal (heavens, no), and his speaking voice is an irritating, nasal drawl, innocent of charm and of consonants. I suppose that makes it a good voice for conveying the whingeing paranoia that I referred to, so maybe that was qualification enough. “

Many more reviews of the movie and additional news coverage of the bumbling production company behind it can be found at the site ExpelledExposed. Read on.

Lightroom 1.4.1 update released

News of Lightroom update (take 2) at Lightroom Journal: Lightroom 1.4.1 and Camera Raw 4.4.1.

Lightroom 2 beta hits

News late last night that the Lightroom 2 beta is now available.

The Lightroom Beta is available at the Adobe labs site. You need to be an existing 1.0 customer or have one invite you to the beta to try it out. Installing now…

Already a good overview of what’s new at Lightroom News.

Tentacle Sex

Found a detailed description of giant squid sex mechanics from Pharyngula back in 2004. Strangely, just as I was muttering about this (and the hit’s on my link to the more recent “Giant Squid has a penis” video getting most outbound links on this site), squid mating rituals were featured on ABC Nightly News. Having a very squid day.

Monitor Calibration

There’s a good quick article on monitor calibration and color managment by James Duncan Davidson at O’Reilly’s Inside Lightroom site - Monitor Calibration Cheat Sheet.

I’ve got to get better at this, but my results are hit and miss (as evidenced by the shitty prints I am frequently tossing or giving to my daughter to draw on). Partly this is because I like to experiment (with papers, inks, settings), but also because I tend not to have the time to follow through and keep my resolution to calibrate regularly. The Huey Pro I have tries to remind me, but I don’t keep it plugged in and thus tend to turn off it’s nagging warnings…

Could there be a better headline?

The giant squid has a penis.

(Via Pharyngula.)

iPhone SDK apps and background processes

Alright, first, this subject has been covered to the point of being beaten to a pulp all over the web. I won’t repeat it all but I would recommend John Gruber’s rather even-handed posts on the matter The Flip Side of the Multitasking Argument and One App at a Time for the full background and arguments.

Though I see the concerns that other’s have, I simply do not care. It doesn’t effect me. This is partially just my own selfish churlishness as I have no pet projects that require anything that’s missing from the current incarnation of the SDK. My crappy projects will work just fine…

However, it’s also partially because after 13 years of “professionally” programming I’m used to constraints. The business I’m in can be more defined by the constraints than the opportunities. You learn to live with it. I’m so used to hearing the phrase “You can’t do that” (in a variety of interesting accents) that it really has virtually no impact now. This phrase just means I need to modify my approach to solving whatever problem I’m working on, find a different approach or that I need to sell my current approach better to those saying no… This applies to hardware and software interfaces where the party saying “no” is the vendor of those interfaces and it applies to the VP down the hall. The “no” can have good reason or it can just be a result of lack of thought on the other side. Either way, it tends to serve simply to drive more creativity at solving the problem.

There’s already a large community of iPhone developers that won’t take “no” for an answer, thus the large hacking community. I’m not likely to join them (just don’t have the time), but I appreciate and applaud their efforts. For my part, I’m sure the SDK will evolve and respond to developers needs like every other SDK ever published has.

A common refrain from a former boss was “it is what it is” - meaning that there was no sense in complaining about how much “it” may have sucked, we just had to make it work. And we always did…

Lightroom 1.4 Update Released

From Inside Lightroom came news last night of an update to Adobe Lightroom to version 1.4. Hopefully improved printing under Leopard as this was seriously hurting me on my Epson R1800 (though it did get better with improved drivers from Epson). Won’t be able to check it out fully for a few days…

Note: the update was removed from Adobe’s site the next day due to quality issues… The download link now goes to the previous version…

(Via O’Reilly’s Inside Lightroom.)

Languages I have Known…

I was thinking about iPhone SDK, the JDK and how freaking old experienced I apparently have become, got me thinking about the different programming languages I have used over the years. Not an impressive list by any means, and the older generation could probably add several on top of mine (uh, Cobol, Fortran, etc)…

So here they are (in order of appearance):

  • Timex-Sinclair BASIC (played around a lot with this, wrote a little helicopter flying game, then didn’t touch programming again for more than 10 years)
  • Visual Basic (didn’t do much, early Win 3.1 stuff, periodically forced to revisit over the years to fix other peoples code)
  • Livescript (became Javascript, now ECMAscript, used this several times and embedded it one large app)
  • Java (played around, wrote an applet, got bored, keep meaning to check it out again)
  • Delphi/Object Pascal (done several large applications, dozens of smaller ones)
  • C++ (a couple of large applications, dozens of smaller ones)
  • PHP (one application, still playing with it now)
  • Objective-C (played around)
  • Python (played)
  • C# (used in several small apps)

I’m probably leaving some out. So which did/do I like the most? Gotta be Delphi, C++ and Javascript. Hopefully will add Objective-C to the favorites list in the future when I write the next great iPhone app. And the one’s I’ve disliked the most - VB and C#. Not sure why, they just don’t fit my brain as well. Unfortunately, C# is the language of choice in many companies (mine included) right now. Microsoft is good at marketing it and it’s a reasonably powerful language with a nice class library (designed by the same guy that designed the Delphi language and class library).