geek!daily

... it is by will alone i set my mind in motion ...

Mozilla's TraceMonkey Avoids Trampling

Mozilla's TraceMonkey JIT Javascript compiler climbed down from the trees last week only to be somewhat lost in the thundering herd of Google's announcement of the Chrome browser and its accompanying V8 Javascript Virtual Machine.

Based on Andreas Gal's 2006 HotPathVM paper [PDF, 10pp] as well as his doctoral dissertation on bytecode compilation in VMs [zipped PDF, 138pp], TraceMonkey is offering speedups to rival those of the V8 JsVM. This is very worthy of note as both sides are open source and so can borrow learning and code from each other. Competition is good; open competition is even gooder. ;]

I'm not educated enough to offer in-depth commentary, so here's a quick collection of the announcements and discussions from those who are:

  • Mike Shaver's original TraceMonkey announcement
  • Brendan Eich's announcement, complete with benchmarks and metrics galore
  • Andreas Gal's discussion of the underpinnings
  • David Anderson's in-depth discussion of what trace-based compiling is
  • InfoQ's interview with John Resig, jQuery creator and Mozilla's Javascript Evangelist

I'm starting to wonder if Chrome's accidental release wasn't as much a mailroom mistake as it was a tactic to not be an also-ran.

2008.09.03 in Engineering, Open Source, Web 2.0 | Permalink | Comments (0) | TrackBack (0)

Technorati Tags: tracemonkey chrome javascript JsVM JIT

Google Chrome: The Next Big Thing?

A friend at work recommended I have a look at Google's explanation of Google Chrome as illustrated by Scott McCloud [via Google Blogoscoped where they were kind enough to scan the comic they received] and I couldn't wait. You see, Scott McCloud is the author of two of my favorite books, "Understanding Comics" and "Reinventing Comics" ... both must-reads if you're interested in comic history, the vocabulary of comics, or even just in thinking about how we communicate and interact with things on pages.

The Google Chrome strip [via Google Books] is an engaging 38 pages which lightly explains what they're trying to accomplish and how they've gone about it so far. Amusingly, it seems the comic went out a bit earlier than planned, but Google is taking things in stride, with grace and good humor, showing the rest of us how it should be done.

Some of the more interesting choices:

Webkit-based: Google Chrome is based on the Webkit browser engine, which is also used by Safari, Android, and a number of other mobile device browsers. Google's developers liked it because it's fast, memory-efficient, embeddable, easy to adopt, and generally keeps things simple.

The V8 Javascript Virtual Machine: written by "the V8 team in Denmark" specifically to address the shortcomings of previous JsVMs in a number of ways, including compilation to machine language and real garbage collection. I'm pretty excited about this, particularly that they've made V8 browser-independent.

One process per tab: They've implemented this as a protection from crashy apps as well as a way to clearly reveal what's chewing up resources in your browser. This concept also seems to be foundational to their anonytabs and anti-popup measures; it's definitely the basis of their sandbox security measures.

The New Tab Experience: When you open a new tab in Google Chrome, they assume you want to go somewhere rather than see your default page (or a blank page, which I've used for years to avoid unnecessary page loads). A nice UX touch that shows the depth to which they're thinking about this.

Gears Inside: It's no surprise that the Google Chrome browser builds in Google Gears, which has been aiming to bring the Web 2.0 experience even when offline for over a year now. I couldn't find any estimates of how widely installed Gears has become in the past fourteen months, but I'd guess it's low at present despite MySpace and Windows Mobile having jumped on board in the past six months.

There's lots of other good bits in the strip, like the anti-phishing measures page (which makes an analogy between malware and dog poop which couldn't have been made nearly so excellently in any other medium, imho) and a late appearance by Chris DiBona to sum up the open-sourcedness of it all.

I have some minor concerns about the extra resource consumption and possible need for interprocess communication (IPC) in their model. However, this is probably because my last significant experience with IPC dates back almost a decade to SGIs running IRIX. It was my experience then that IPC is hard to implement cleanly as well as the most frequent source of race conditions. It's likely times have changed since then. I hope.

The biggest disappointment? When the beta is officially released tomorrow, it'll be Windows only for now. The official blog post notes that they're working hard on versions for MacOS and Linux, too (and I suspect they would have liked those to be available on launch day), so when the Google Chrome project page lights up tomorrow, it won't be for the rest of us quite yet.

But I'll be eagerly watching, just the same. You don't see a new browser born every day.

Update: Paul Thurrott's WinSuperSite has screenshots purported to be Google Chrome [via Blogoscoped]

2008.09.01 in Engineering, Testing, Web 2.0 | Permalink | Comments (0) | TrackBack (0)

Technorati Tags: google, google chrome, googlechrome

Cuzillion: 'cuz there's a zillion pages to check

Once in a while I get lucky. Most recently, this means that I was asked to write a blog post for LinkedIn about the tech talk Steve Souders gave for us last week: Even Faster Web Sites. Unfortunately, in the interests of brevity, I couldn't dive on something incidental to the talk which fascinated me: Cuzillion.

Cuzillion is one of those headslappers Steve seems to produce on a regular basis; it's a tool to model web pages and experiment with load order and methodology in order to better understand performance bottlenecks and find your way to a solution. He uses it to illustrate examples in his talks of late (as he did in the slides for his talk at LinkedIn), which highlights another feature: the ability to share a precise example among the team seeking a solution. It fascinates me because it's so straightforward and so obviously useful, yet you can twiddle it to great depth, willfully violating all the well-known best practices, and see clearly why that's not a good idea. It's like checkers: you get the basics instantly, and yet there's so much more there.

After playing with it for a while, it occurred to me that I very much want to say, "Cuzillion, go model the way this web page loads so I can play with it." When Steve announced Cuzillion, he mentioned that he intends to set up a Google Code repo for Cuzillion; when he gets around to that, it might be fun to spend a little time adding that feature.

Check it.

2008.08.12 in Engineering, Hacking, Testing | Permalink | Comments (0) | TrackBack (0)

OLPC: You Know, For Kids ... Theirs *and* Yours.

I just tripped over this video:

... which leads to the OLPC Laptop Giving website. The gist of it is that for $400 you can get an XO laptop for your kids ... and give one to kids who'll use it to change the world.

I think Sam's going to have a very happy holiday.

2007.11.24 in Computing, Engineering, Hacking, Open Source, Technology | Permalink | Comments (0) | TrackBack (0)

Profiling and Optimizing Rails

Picture me doing a happy dance. A very happy dance. I've only been playing with Rails since April and I've been looking for this since the beginning.

Link: How to Profile Your Rails Application and Make Rails Go Vroom!.

2007.07.28 in Engineering, Hacking, Ruby/Rails | Permalink | Comments (0) | TrackBack (0)

CoRaid ATA-over-Ethernet

Nice tight mini-SANs. This plus GFS is pretty sweet.

Link: Coraid :: The Linux Storage People.

2007.07.27 in Engineering, Technology | Permalink | Comments (0) | TrackBack (0)

Sir Tony Hoare The Elegant

I'm in Portland for RailsConf where I met Matt Smith with Semantra. Some of the things we talked about put me in mind of some papers Prof. C.A.R. "Tony" Hoare did a while back and, while attempting to find them online, I ran across his 1980 Turing Award acceptance speech, "The Emperor's Old Clothes" [pdf] in which he says,

"I have regarded it as the highest goal of programming language design to enable good ideas to be elegantly expressed."

That ties in nicely with the belief I heard expressed years ago that complexity and beauty are intertwined such that over-complex things are generally not perceived as beautiful.

Incidentally, the search wandered me in and through Wikipedia's List of Important Publications in Computer Science. A feast for the thinking geek.

2007.05.17 in Computing, Engineering, Science, Thinking | Permalink | Comments (0) | TrackBack (0)

Cleaning up old mail

Just a random thought as I start posting again: I want an easy way to clean up thousands of old emails quickly. Sure, I could leave them around, but frankly it just bugs me to know that I'm maintaining a heap of digital compost some of which I will never, not in a million years, find useful again.

The surest way would be to quickly tag any email I read and choose not to delete with some indicators about why I didn't just ditch it immediately. Evolution, the Linux Outlook-a-like, gives me a little of this via its Followup feature; Thunderbird didn't have a plugin to help with this when last I looked.

Still, there should be some helpful methods, such as a list of all the old mail's senders along with a count of how many they sent and expandable to see the titles. Let me easily select all or some of any sender's emails for deletion (for UI, think packages/subpackages in an installer). Others might be grading the importance of the old email according to length of thread, number of times I replied in the thread (indicating I found it important) and so forth.

And yes, I've got a lot of these to go through. =\

2006.06.23 in Engineering, Metadata, TagEverything | Permalink | Comments (0) | TrackBack (0)

LinkStations: NAS for the Hacking

Think network-attached storage (NAS) that talks to whatever flavor bx you've got. Windows? No problem. Mac? Sure thing. Linux? Happy to. Pull it out of the box and in a few minutes you've got hot-and-cold running fileservice.

Then I found out there's a community of folks hacking them. Putting Debian on 'em. Augmenting them with all sorts of goodies.

These little hummers are too much fun.

Link: LinkStationWiki | Main / Home Page.

2006.03.22 in Engineering, Hacking, Linux, Technology | Permalink | Comments (0) | TrackBack (0)

Biodegradable Food Containers

Most excellent: disposable "plastic" food containers made from corn resin. They biodegrade in ~45-60 days in your compost bin. You can buy them at Ecoproducts.

Link: Popgadget: Personal Tech for Women

2006.03.20 in Engineering, Environment, Food and Drink | Permalink | Comments (0) | TrackBack (0)

Next »
My Photo

About

 Subscribe in a reader

AddThis Social Bookmark Button

Categories

  • Administrivia
  • Blogs
  • Books
  • Business
  • Computing
  • Data Portability
  • Economics
  • Electronics
  • Engineering
  • Environment
  • Facebook
  • Food and Drink
  • Fun!
  • Games
  • Graphing.Social
  • Hacking
  • History
  • Identity
  • Leadership
  • Linux
  • MacOS X
  • Management
  • Metadata
  • Open Source
  • Organization
  • Parenting
  • People
  • Photography
  • Privacy
  • PublicSquare
  • RailsRumble
  • Reputation
  • Ruby/Rails
  • RubyConf 2007
  • Science
  • Social Networks
  • TagEverything
  • Technology
  • Testing
  • Thinking
  • Trust
  • UI
  • Web 2.0
  • Weblogs
  • Writing

Archives

  • April 2013
  • March 2012
  • August 2010
  • October 2009
  • September 2009
  • August 2009
  • July 2009
  • June 2009
  • May 2009
  • January 2009

Words on a Page

  • Carol Tavris: Mistakes Were Made (But Not by Me): Why We Justify Foolish Beliefs, Bad Decisions, and Hurtful Acts

    Carol Tavris: Mistakes Were Made (But Not by Me): Why We Justify Foolish Beliefs, Bad Decisions, and Hurtful Acts

  • Steven Gary Blank: The Four Steps to the Epiphany

    Steven Gary Blank: The Four Steps to the Epiphany

  • Chip Heath: Made to Stick: Why Some Ideas Survive and Others Die

    Chip Heath: Made to Stick: Why Some Ideas Survive and Others Die

  • Patrick M. Lencioni: Silos, Politics and Turf Wars : A Leadership Fable About Destroying the Barriers That Turn Colleagues Into Competitors

    Patrick M. Lencioni: Silos, Politics and Turf Wars : A Leadership Fable About Destroying the Barriers That Turn Colleagues Into Competitors

  • Marc Ian Barasch: Field Notes on the Compassionate Life : A Search for the Soul of Kindness

    Marc Ian Barasch: Field Notes on the Compassionate Life : A Search for the Soul of Kindness

Pages

  • If
  • The Tagline Graveyard