Michal Migurski's notebook, listening post, and soapbox. Subscribe to this blog. Check out the rest of my site as well.

Apr 24, 2005 1:13am

"stop global warming" launched

I've been silent here for a week, because we've been working frantically to kick Stop Global Warming .org out the door in time for Earth Day.

That was yesterday, and the project is live. It will, of course, grow and change over the course of the upcoming year. The intent is for the site to be a sort of geo-blog, with each update over the next year introducing participants to a global warming hot-spot somewhere in the United States. It starts in Shismaref, Alaska, which is also the subject of an article in the this month's New Yorker on the topic of receding arctic ice. The article describes the way in which the surface reflectivity of ice vs. open ocean acts as a warmth-generating feedback loop. There's a Q and A with the author on the New Yorker's website.

We used Eyebeam's Forwardtrack software as a base for the project, and we are working on a visual map component for the website as the march grows in size and new stops are added. The final development push was madness. I haven't stayed at the office until the first morningbirds started chirping since I first started working with Eric two years ago, but any client who has pizza delivered to help make an all-nighter bearable and champagne when the work is done is all right in my book. Meanwhile, you should join me!

Apr 18, 2005 4:23pm

macromedia bought by adobe

Adobe just bought Macromedia for $3.4bn. This may cause the Flash IDE to suck less.

Dare to dream!

Apr 18, 2005 4:04am

simplicity and verification

Two articles crossed my feed reader today: Bruce Schneier on mitigating identity theft, and a one-sentence post from Thomas Vander Wal on simplicity and complexity:

We must understand and embrace the granular and complex to make things simple for the person.

Bruce says:

Fraudulent transactions have nothing to do with the legitimate account holders. Criminals impersonate legitimate users to financial intuitions. That means that any solution can't involve the account holders. ... Store clerks barely verify signatures when people use cards. People can use credit cards to buy things by mail, phone, or Internet, where no one verifies the signature or even that you have possession of the card. Even worse, no credit card company mandates secure storage requirements for credit cards. They don't demand that cardholders secure their wallets in any particular way. Credit card companies simply don't worry about verifying the cardholder or putting requirements on what he does. They concentrate on verifying the transaction.

These two ideas feel related to me. Thomas generally sums up recent developments in web interface design, notably the "search, don't sort" approach of Google News GMail, and the recent excitement about tagging and folksonomies. Granularity and complexity are being offloaded onto the site owner, where they belong. People who use a service are no longer expecting to engage in their own hierachical sorting of information (because nobody actually wants to do that). Rather, they are using simpler methods for annotating their stuff in a way that makes it easier to find later.

The link to identity theft I have in mind is the locus of responsibility. Currently, victims are responsible for fixing the damage. I check my credit reports every few months to look for fraud, I shred my mail, and I know people who've had severe damage done because they let their social security numbers slip into the open. In Bruce's perfect world, the companies that let your data out would be responsible for the damage, in the form of distributed liability. They would deal with the granularity and complexity of verifying individual transactions, so that their clients can benefit from greater simplicity.

Also, I like Thomas' focus on "the person" rather than "the user". A shift in attitude may help companies such as ChoicePoint regain the trust of the public, if they begin to understand their business as helping people manage the flow of their personal information in the world.

Apr 16, 2005 8:46pm

nine inch nails music giveaway

I was always more of a Skinny Puppy fan, but this is interesting news. Trent Reznor of Nine Inch Nails iss giving away a full track in Garage Band format, based on the original Protools files. This means that all notes and arrangements are free for sampling and re-working, though the output of this remixing can't be used for commercial purposes. Two interesting things about this news, to me:

  1. Easier mashups. The first mashup I ever heard was a brilliant mix of NiN's Closer and The Spice Girls' Wannabe ("I wanna (huh), I wanna (huh), I wanna (huh), I wanna (huh), I wanna fuck you like a..."). This year's E-Tech theme was "remix", and it's clear that an open-source approach to more than just software is starting to poke its head up into the mainstream.
  2. Macs. The Apple Powerbook has become the best platform for this change. Reznor is releasing his song in an Apple format, and the balance of power at E-Tech was overwhelmingly in favor of silver Powerbooks. A platform that allows 30 years of Unix history to run side-by-side with new image and music manipulation tools is a huge win. It's not surprising that Apple is posting record profits this year.

From Slashdot:

Hello all-

For quite some time I've been interested in the idea of allowing you the ability to tinker around with my tracks - to create remixes, experiment, embellish or destroy what's there. I tried a few years ago to do this in shockwave with very limited results.

After spending some quality time sitting in hotel rooms on a press tour, it dawned on me that the technology now exists and is already in the hands of some of you. I got to work experimenting and came up with something I think you'll enjoy.

What I'm giving you in this file is the actual multi-track audio session for "the hand that feeds" in GarageBand format. This is the entire thing bounced over from the actual Pro Tools session we recorded it into. I imported and converted the tracks into AppleLoop format so the size would be reasonable and the tempo flexible.


You need a Macintosh and you need GarageBand 2.0. If you have a newer Mac, you already have the software. The more RAM you have the better. I did this on a PowerBook 1.67 w/ 2G RAM but it has been running on far less powerful systems. Drag the file over to your hard disk and double click it. Hit the space bar. Listen. Change the tempo. Add new loops. Chop up the vocals. Turn me into a woman. Replay the guitar. Anything you'd like.

I gave this to my crew and band to test out and all work effectively stopped for a while - it's fun to mess around with. I've now heard a country version of the track as well as an abstract Latin interpretation (thanks, Leo).

There are some copyright issues involved, so read the notice that pops up. Giving this away is an experiment. I'm interested to see what comes of it, what issues are raised and what the results are.

Have fun-

Trent Reznor

April 15, 2005

Apr 14, 2005 7:05am


I've been doing a lot of research on spline curves lately, for a soon-to-be-announced project that requires moderately sophisticated rendering techniques not normally available in flash. This project has two requirements: drawing a smooth line through a series of points on a map, and varying the thickness of the line to convey information.

(see this in motion, see how it was made)

For those not familiar with graphics software such as Adobe Illustrator, splines are curves whose shape can be controlled by points. The curve travels through anchor points, while control points are used to influence the shape of the line. Here's an example, with anchor points shown as open blue circles and control points shown as filled blue dots:

The word spline comes from a term used in shipbuilding:

Because of their great size, such drawings were often done in the loft area of a large building, by a specialist known as a loftsman. To aid in the task, the loftsman would employ long, thin, flexible strips of wood, plastic, or metal, called splines. The splines were held in place with lead weights, called ducks because of their resemblance to the feathered creature of the same name. (Philip J. Schneider, NURB Curves: A Guide for the Uninitiated

The Flash MX drawing API provides a function called curveTo(), but it's based on a simpler type of spline curve called a quadratic curve. The splines used in Illustrator are cubic curves. The difference has to do with the number of control points that determine a curve: more control points means better control over the curvature of the line. Fewer control points means simpler math, crucial for an animation program such as Flash. Timothee Groleau has an excellent article, Approximating Cubic Bezier Curves in Flash MX, which shows a few strategies for "faking" cubic curves using Flash's simpler quadratic curves. The advice boils down to chopping up cubic curves into short quadratic curves that are close enough in appearance to fool the eye.

The math involved in drawing cubic curves is actually a lot less hairy than it looks. The easiest way to think about it is to imagine a point moving through space, pulled towards the control points over time. In those equations, t refers to the position of the point in time, from 0 to 1. x(t) and y(t) are two functions that give the x, y position of that point in space at time t. Drawing curves is difficult, drawing lots and lots of straight lines that are short enough to look like curves is easier. If you thin-slice t, you draw many segments and get a prettier curve. If you increment t by a larger amount, you draw fewer segments for a blockier curve, but it's a faster process.

In my case, I had a series of known anchor points, and had to guess good positions for control points. I did this by looking at neighboring anchor points. For example, when drawing the segment B-C of a longer line A-B-C-D, the position of the control point attached to B is based on the angle between A and C, while the position of the control point attached to C is based on the angle between B and D. This way, the line can be "stitched" together, with a smoothly-varying curvature over its length. A is influenced by B and C, B is influenced by A, C and D, etc.

Rendering variable thickness is more difficult. Taking the derivatives of x(t) and y(t) gives you a vector showing the current direction of the line. Using a bit of cartesian/polar conversion, it's possible to find the positions of points perpendicular to that tangent, which are to the sides of the line. Varying the distance of these points gets you two additional "rails" alongside the central curve. When traced, these rails follow the curve closely. Interesting things happen when the width of the whole thing is greater than the diameter of a hairpin turn.

This flash file shows my progress so far. The open circular points are placed randomly. The positions of the black control points are guessed, and the yellow line is drawn based on these values with a smoothly-varying thickness over its length. The whole thing is interactive, so you can get a feel for the behavior of the path as the control and anchor points are moved about. Here is the actionscript source.

Apr 11, 2005 5:15am

eyebeam's contagious media showdown


Friends and Colleagues,

I am pleased to announce the world's first Contagious Media Showdown -- an open competition to see who can make the most viral website. Eyebeam set up a special server, lined up thousands of dollars in prize money, and recruited the best and brightest to make this experiment in contagious media possible. You can join the fun here:


Enter the contest by reserving a spot on the official contagious media server. Then come to the workshops on May 7th, party with the panel on May 14th, and (if you have skillz) pick up your award on June 18th.

The workshops and panel include the people who brought you HotorNot.com, FundRace.org, BlackPeopleLoveUs.com, the Rejection Line, Blogdex, Del.icio.us, Gawker Media, ZeFrank.com, Dog Island, the Nike Sweatshop Email, and Pizza Party. We have special guests from the Yes Men and the Electronic Frontier Foundation and sponsorship from Creative Commons, Technorati, Alexa, and Datagram Hosting.

It is going to be hot -- tell a friend.


Apr 7, 2005 4:15pm

why python web programming matters

Ian Bicking on why Python web programming needs help:

Resolving Python's problems with web programming is the most important thing we can do to market Python. You might dismiss me as being self-centered, as I'm a Python web programmer, and we all think our own problems are the most important problems. But then I'm a web programmer because I think it's the most important and empowering development environment of our time - it has been for at least the last five years, and I'd be surprised if that didn't stay true for at least the next five years. And I am doing okay - these aren't my own problems I'm complaining about. I don't want to talk down Python web programming too much - if you are serious about web programming the initial investment will pay off, since Python is a great environment. But if you aren't committed enough to invest that time, and you want to produce something useful quickly, then - though it hurts me to say this - Python isn't a good choice.

It's telling that I found this linked from Mr. Rails' website, where commenter Jonathan LaCour sums up the situation thusly:

Python doesn't need a Rails clone. It needs something as cohesive as Rails. Rails is good because its a full stack that takes advantage of Ruby's strong points. Python similarly needs a full stack that takes advantage of Python's strong points.

I recently got serious about learning Python for web programming, and I feel the same way. I'm not a rails guy by any means (can't stand the moronic second-coming evangelism: "I can't stand Python. Thanks for wonderful framework, David. Ruby is golden!!!" OMGWTFBBQ.), but having written my own frameworks in PHP, I can see the value of a strong choice with high visibility. Zope ain't it, but that was the best the Python mailing list could come up with when I asked about moving from PHP.

The reason I'm sticking with Python for now is that it's an unmitigated joy to program in. List comprehensions, everything-is-an-object, simple entry-level web packages like Jonpy, and a general feeling of shit-togetherness all make it feel like a "real" language.

Apr 6, 2005 6:57am

vanilla ice ice bay

Implausible Claims Made by Vanilla Ice in His 1990 No. 1 Hit "Ice Ice Baby." Fun fact: I can still recite extended portions of this song, from memory!

Apr 5, 2005 8:26pm

unilateral collaboration

The Christian Science Monitor had an article about website spinoffs by Jim Regan yesterday:

As private and commercial Web portals begin to invite outside involvement and experimentation, new sites are being launched which, rather than offer any unique material of their own, offer an alternative method of viewing someone else's material. Some are practical, some merely recreational, but all are examples of yet another evolution of the web - the 'unilateral collaboration.'

"Unilateral collaboration," what a gem!

It's nice umbrella term for a lot of current ideas:

  • The theme of e-tech this year was "Remix," which played itself out in sessions devoted to the theme of working with others' raw materials. There was the web services mashup presentations by Alan, Cal and Erik, as well as sessions on modifying hardware or biological materials. The fact that the CSM is catching on is a sure sign that these kinds of meta-services are real.
  • Technological enablers for unilateral collaboration are being embraced by owners of data. Yahoo! now has a robust API available, and firms like E-Bay make a large percentage of their money through their web services interface. The physical metaphor I have for this in my head is less about transparency, and more about porousness. It would be lovely to see this approach spread to other domains, such as government. A complete web-based API to government information would be a dream.
  • Legal enablers are gaining some street cred as well. The GPL has worked for years, and Creative Commons licenses are establishing legal ground for copyright-enforced openness in the creative world. Supreme Court Justice O'Connor says "The primary objective of copyright is not to reward the labor of authors, but `[t]o promote the Progress of Science and useful Arts.' To this end, copyright assures authors the right to their original expression, but encourages others to build freely upon the ideas and information conveyed by a work. This result is neither unfair nor unfortunate. It is the means by which copyright advances the progress of science and art."

Apr 3, 2005 8:09pm

launchbar wins

(This entry started out as another application fan letter, but it gets quite a bit more general towards the end.)

I've been a user of launchbar since OS X 10.1. It has recently gotten a bit of high-profile competition from Quicksilver, but the kick in the pants resulted in a beta version that co-opted a number of Quicksilver's new features, in a way that I think is superior to Quicksilver.

Launchbar is a small app that brings a command-line-style approach to interacting with the Mac GUI.

You just hit Command-Space to bring LaunchBar's input window to front, enter an arbitrary abbreviation, and as soon as you start typing LaunchBar displays the best matching choices, ready to be opened immediately.

Launchbar learns as you use it: a few matches for a given set of characters are shown, whose order is dependent on your previous choices. Over time, my copy has learned to associate "F-N" with the Finder, "S-F" with Safari, "M-A-P-S" with Google Maps, "E-R" with Eric's contact information, and so on. For years, Launchbar was limited to finding documents and applications, but recent versions have expanded to include the address book (for mail and chat), browsing history, and tighter integration with the Finder and Terminal.

There are also so-called search templates, URL's with a wildcard. So a Google search for me (system wide) means "Command-Space-G-O-O-Space-[search term]-Enter", while a Wikipedia lookup is "Command-Space-W-I-K-I-[search term]-Enter."

Today I got an object lesson in the value of browsing history search.

I remembered a phrase from a site I had recently seen: "Genre is what we call one hit and its imitators." This wasn't enough for a Google search, and I couldn't remember where I had read it. On a whim, I typed "Command-Space-G-E-N-R-E", and the first result in Launchbar was the Greg Costikyan rant I had been looking for. The word genre appears nowhere in the URL, the page title, or any of the headers on the page. It was just the most relevant recent item I had browsed that happended to contain that term.

It will be fascinating to see how this plays with Spotlight in Apple's forthcoming Tiger operating system. I expect to see direct hooks from Launchbar to Spotlight, allowing for keyboard-only access to full hard-drive searchy goodness.

This all feels like part of a broader shift in attitudes toward computer usage that are summarized in Gmail's slogan, "search, don't sort." This movement is also embodied in popular tools like Flickr and Delicious, which have popularized a flatter, more ad-hoc method of organizing information. Services like these assume that categorization is more expensive than search, a sea change made necessary by the ocean of info-bits we're drowning in, and possible by generally faster processors and generally more ubiquitous internet.

For the moment, the grand unified personal infocloud is still a few years away, but it's being slowly converged-upon from two directions: Launchbar is coming up from the all-your-stuff-in-one-place approach, while a galaxy of API-enabled web-services (Flickr for pictures, Odeo for sound, 43 Things for desires, Ta-Da Lists for responsibilities, Upcoming for events) are exploring the all-of-one-type-of-thing-everywhere path. All-your-stuff-everywhere can't be too far away.

Apr 3, 2005 8:14am

pope john paul

Just after the election of the pope in 1978, Father Boniecki recalled, John Paul went on a pilgrimage to the birthplace of St. Francis of Assissi.

"There was a group of people there," he remembered. "The pope didn't know where they were from, maybe Czechoslovakia. They held up a sign that said, 'Greetings from the silent church.' They meant the church from behind the Iron Curtain, the church that couldn't say anything.

"The pope saw the sign and said, 'There is no longer a silent church. I am its voice.' "


August 2022
Su M Tu W Th F Sa

Recent Entries

  1. Mapping Remote Roads with OpenStreetMap, RapiD, and QGIS
  2. How It’s Made: A PlanScore Predictive Model for Partisan Elections
  3. Micromobility Data Policies: A Survey of City Needs
  4. Open Precinct Data
  5. Scoring Pennsylvania
  6. Coming To A Street Near You: Help Remix Create a New Tool for Street Designers
  7. planscore: a project to score gerrymandered district plans
  8. blog all dog-eared pages: human transit
  9. the levity of serverlessness
  10. three open data projects: openstreetmap, openaddresses, and who’s on first
  11. building up redistricting data for North Carolina
  12. district plans by the hundredweight
  13. baby steps towards measuring the efficiency gap
  14. things I’ve recently learned about legislative redistricting
  15. oh no
  16. landsat satellite imagery is easy to use
  17. openstreetmap: robots, crisis, and craft mappers
  18. quoted in the news
  19. dockering address data
  20. blog all dog-eared pages: the best and the brightest