uwMike.com

I am engaged to the beautiful and wonderful Tara Cleaver!

Archive for the 'Geekery' Category

Anatomy of an Open Social Network

July 8th, 2007 6

My Dad has [Facebook](http://facebook.com/). All my friends have Facebook. I have Facebook. I can count on one hand the people my age I know, that do not have Facebook. The people I met last term in New York and San Francisco all had Facebook.

Anyone who talks about “social networks” today as if they mean anything other than Facebook is being coy, or is deluded.

Classmates and Friendster haven’t been important in years; in the wake of its buyout, MySpace is rapidly losing relevance outside of musical artists using it for promotion.

Facebook is the model of a modern, successful, social website. It hits a very pleasant sweet spot between elegance, user-friendliness, and attention to [issues of privacy](http://uwaterloo.facebook.com/sitetour/privacy.php). But there is one major problem: If Facebook Inc screws up, the elegance and user-friendliness can all go away (some of the new Apps are definitely pushing it), and your privacy might go away, too. Facebook is a *closed system*; it’s a single point of failure on all three counts. Read on…

Queues: A Browsing Paradigm for Power Surfers

July 1st, 2007 5

The history and bookmarks features of web browsers have traditionally been separate. Which is strange, since they’re conceptually similar. Each is a title and a link. One represents a place *you’ve already been*, and the other represents a place *you intend to visit in the future*.

For me, they’re also similar in that I don’t really use either of them. At all. Between Google searches and location bar type-ahead, I’m always able to retrace my steps to something I remember seeing. To manually maintain a bookmarks list would be like manually maintaining a contact list in my email—why do it by hand, when Gmail can simply remember everyone I’ve ever corresponded with, and then guess who I mean as I start typing their name in the to-field?

Mozilla have recognized that power users ignore the two features, and have also seen their fundamental similarity. Firefox 3 will introduce a unified feature called [Places](http://wiki.mozilla.org/Places), which attempts to bring a more sensible and usable interface to the browser.

I’ve been thinking about this problem for a number of months, however, and I don’t think Places goes far enough. I’d like to propose not only a unification of history with bookmarks, but a complete integration of that unified feature with browser tabs. Read on…

Shelving Project

June 24th, 2007 4

As time goes to infinity, so also does the entropy of any particular system. This fundamental truth will have long term consequences on Earth’s climate, but around midterm time, it was having immediate consequences on the state of my bedroom.

I browsed through the IKEA website, seeking information on shelving systems that I could use to quell the tide of chaos. I knew the basic size and configuration that I wanted, but I had trouble finding what I was looking for. There were a number of [uninspiring wall-mount systems](http://www.ikea.com/ca/en/catalog/products/10103494), and a bunch more [free-standing units](http://www.ikea.com/ca/en/catalog/products/40103628) that were basically what I wanted, but visually boring and overpriced. When I asked about delivery, I was told that a $150 shelf would cost $180 to bring to my door.

Three hundred dollars was out of the question, so I investigated what could be done on my own. Read on…

A Conch Shell Clock

June 10th, 2007 3

I’ve written before about the [power of JavaScript as a visualization tool](http://uwmike.com/articles/2007/01/08/javascript-visualization/). Then, I’d been talking about it in conjunction with straight-up HTML and SVG. Now I’ve got a neat new demo to share that takes advantage of Canvas.

You’re going to need Firefox or Safari to view this, but [check it out](http://sandbox.mikepurvis.com/js/clock/).

The genesis of this idea comes from Louis K’. Thomas’ [logarithmic clock](http://www.latenighthacking.com/projects/2005/logClock/), which [showed up on reddit](http://reddit.com/info/1thgm/comments) recently.

I had wanted to experiment with some more interesting visuals than what Thomas had in his original. I’ve always been fascinated with polar functions and spiral geometry, and this seemed like a fantastic opportunity to explore this area. Thinking of a traditional clock face, I mused about the feasibility of bending the log clock into some kind of round display that was less obviously just a mathematical plot.

Hopefully I’ll have more time at some point to write about the process of creating this, but for now, enjoy!

A Different Itinerary

April 10th, 2007 5

When I was in California a few weeks ago, Delta had oversold my return flight, so I ended up with a generous coupon to be redeemed for future Delta travel. Thus, in the process of checking out flights, I paid special attention to the offerings from Delta. Why not get my return trip to Toronto as a freebie, if I could?

Well, it turned out that the best Delta could do was around $250, so I’m saving my coupon for the future. But as I browsed the options Delta proposed to me, one in particular stood out as kind of bizarre. Surreal, you [might even say](http://uwmike.com/wp-content/uploads/2007/04/delta-surreal.png). I guess these kinds of things happen when you have a computer proposing itineraries:

Delta Surreal

Read on…

Prettify Bookmarklet

March 22nd, 2007 Comments Off

Google recently released [google-code-prettify](http://code.google.com/p/google-code-prettify/), a nifty little JavaScript for colouring up source code embedded in HTML pages. Anyway, here’s a version that you can [install as a bookmarklet](http://sandbox.mikepurvis.com/js/prettify/).

Parallelism

February 14th, 2007 Comments Off

Bjarne Stroustrup, designer of C++:

All that said, I don’t know what the next major conceptual shift will be, but I bet that it will somehow be related to the management of concurrency. As programmers, we have been notoriously bad at thinking about lots of things happening simultaneously, and soon our everyday computers will have 32 cores.

From a recent interview in Technology Review, [part 1](http://www.technologyreview.com/printer_friendly_article.aspx?id=17831) and [part 2](http://www.technologyreview.com/printer_friendly_article.aspx?id=17868). Read on…

WP-Cats, for Wordpress 2.1

February 2nd, 2007 1

A handful of people emailed me about WP-Cats not working with the newest Wordpress. I’ve fixed the problem now—the compatible version is available as [WP-Cats 0.13a](http://uwmike.com/wordpress/wp-cats/). Over the past couple months, I’ve also received a number of feature requests for it, many of which I think would be useful and sensible, so expect to see a proper update at some point in the future.

Also, I now have a much better understanding of how to properly use closures and JS objects, so that truly heinous JavaScript will get cleaned up a bit, too.

MME Logo

February 1st, 2007 1

Brandon pointed out to me the new website for the [Mechanical and Mechatronics Engineering Department](http://www.mme.uwaterloo.ca) has launched, featuring my logo in the document footer, similar to how [ECE](http://ece.uwaterloo.ca/)’s is.

MME Logo

My understanding is that there will be an official unveiling in the summer term, at which I’ll be asked to give a brief explanation of process and inspiration. So you can all come out to that with your clappers and big foam fingers… or just know that the inspiration was doodling on a tablecloth at [Montana's](http://www.montanas.ca/), and the software used was the excellent [Inkscape](http://www.inkscape.org/).

Engines and Fireflies

January 8th, 2007 4

I had another opportunity recently to make a visualization out of JavaScript; I thought I’d share two examples of using the language for this purpose.

### The 6-Stroke Wankel

Last winter, there was brief flurry of activity over [some guy building a six-stroke engine](http://www.autoweek.com/apps/pbcs.dll/article?AID=/20060227/FREE/302270007/1023/THISWEEKSISSUE). The principle was ingenious—rather than waste excess heat through a cooling system, why not harvest it as an extra power stroke, by injecting distilled water into your cylinder? The rapid expansion of the liquid into gas would provide a small boost, plus drastically reduce the amount of cooling infrastructure necessary on the engine block.

6-Stroke Wankel

My immediate thought was, well, what about doing that with a Wankel? A [Wankel rotary engine](http://en.wikipedia.org/wiki/Wankel_engine) is a lightweight, high-torque system. Mazda uses standard 4-cycle Wankels with their RX7 and RX8 cars, but what about a 6-cycle one, that implemented this water-injection cycle?

[Jeff](http://jeffaho.com) helped me out with some of the formulas, and we ended up figuring out what the thing should look like. Now, it could certainly be modeled in a tool like SolidWorks, or AutoCAD, or maybe even MATLAB, but what’s the fun of that, when only people who have the software can look at it?

Instead, I tried going the SVG route. SVG is an open standard vector language that’s positioned to compete with Flash. Through various problems, it’s not as widespread as it could be, but all of Firefox, Opera, and Safari provide reasonable support for static SVG, and Firefox provides *excellent* support for SVG animation. So you’ll need to be using Firefox to view this, but [here's the animated demo of the six-stroke Wankel](http://sandbox.mikepurvis.com/design/engine.svg). Read on…

© 2004-2012, Mike Purvis, some rights reserved. I'm running Wordpress, and I have an RSS feed.

resume writing services