Tag Archives: web

The Web is a Flat Circle

Twenty-something years ago, around my junior year of high school, I applied for an Independent Study project. The proposal: build a website for my school district.

That project was old enough that it predated archive.org, so I can’t even pull a screenshot out of the archives.  But a few times a week, I trudged along in assembling a website for the three schools in the district.

This was, strangely, not new work for me at the time: I was already holding a part-time job for the one web design firm in my tiny town. So roughing out a site structure, scanning photos via a SCSI flatbed scanner, hand-writing the HTML code and picking the right hex colors was a relatively familiar feeling.

The site launched at tburg.k12.ny.us, which was a particularly weird domain, even then. (In a weird bit of internet trivia, the hosting was provided by John R. Levine of “Internet for Dummies” fame, who not only lived in my town but later became the mayor.)

It wasn’t a particularly great site or deep site – you get what you pay for having an angsty teenager design your theoretically professional website – but it felt good to build an internet presence for the place I spent most of my time.

Today, after 13 months of work, 639 tickets, and more meetings than I can genuinely remember, we pulled the trigger on the relaunch of weill.cornell.edu.

Nothing about it is what would qualify as a marvel of modern web engineering. There’s no blockchain, no bespoke node.js content management system, no deep social integration at the cost of your personal data. It’s just a nice website that tells some important stories about a medical school. (I’m big on storytelling this year.)

I’m grateful to have had a great team working with me every day to pull this off, even when I’m spitballing new ideas late in the project.

I’m grateful to have management above me who trusted my vision and my approach, even when what I’m explaining is confusing and foreign.

And I’m grateful that I got the chance to leave my imprint, however temporal a website may be, on an institution like WCM.

Anil Dash on Community Moderation

Anil has penned the wonderfully named and 100% correct [“If Your Website’s Full Of Assholes, It’s Your Fault”](http://dashes.com/anil/2011/07/if-your-websites-full-of-assholes-its-your-fault.html):

> When people are saying ruinously cruel things about each other, and you’re the person who made it possible, it’s 100% your fault. If you aren’t willing to be a grown-up about that, then that’s okay, but you’re not ready to have a web business. Businesses that run cruise ships have to buy life preservers. Companies that sell alcohol have to keep it away from kids. And people who make communities on the web have to moderate them.

Really, go read it now if you have anything to do with online community building or moderation.

> So, I beseech you: Fix your communities. Stop allowing and excusing destructive and pointless conversations to be the fuel for your business. Advertisers, hold sites accountable if your advertising appears next to this hateful stuff. Take accountability for this medium so we can save it from the vilification that it still faces in our culture.

Introducing: Couplandish

There are thirty-four days until the US release of Douglas Coupland‘s latest novel, Generation A.

One of my greatest pleasures is finding intersections in aspects of my life. Before he departed the NYC area, it became apparent that my (then-)coworker Zach Szukala shared a love of Coupland’s books, and a particular love for the large-type Helvetica (always Helvetica!) aphorisms they would contain. His first novel, Generation X, embedded these every few pages in the margins, with pearls of wisdom like “YOU MUST CHOOSE BETWEEN PAIN OR DRUDGERY”. His recent attempt to recapture the lightning-in-a-bottle that Microserfs had, J-Pod, featured page after page of sentence in this style that bordered on hypnotic, if not subliminal.

After enough exposure to these books, things throughout your life begin to look…Couplandish. Spotting one of these bits can be difficult to the untrained senses: it’s a certain ratio of detachment, nostalgia, history, helplessness, and wordplay. In time, they begin to jump out at you from signs and announcements on loudspeakers.

For months, Zach and I would jokingly speak Couplandish – inventing (sometimes cribbing) phrases and snippets that we felt wouldn’t feel out of place in one of these novels we loved so much. Back in June, we started writing them down. A small amount of programming provided mid-90’s web color clashes against random large-type Helvetica (always Helvetica!) selections from the library, and Couplandish was born as a Web 1.0 application.

I realize single-serving sites are out of style now, but if you’ve ever read a Douglas Coupland book, I hope this will give you a smile.
(This is the second of two side projects that I had intended to announce. A third is now in development.)

Cloudy Downtime Music

I’ve been informed by the vengeful gods of Victoly LLC, my beloved hosting company, that we are joining the future and moving to a new colo host that will thrust my websites high into the atmosphere and place my web applications into the cloud.

I mention this not because it’s particularly interesting, but because it will require a coordinated downtime across all five of my web offerings.

Luckily for you, there’s plenty of groundwork to be done first. I’ll provide further details when the downtime draws nearer.

Pat’s Papers Launches

One of things I miss most about being in NYC proper anymore is not having NY1 on my cable box. The TV in our bedroom rarely would change off of NY1, especially in the morning when Pat Kiernan would provide a very calming (and slightly sarcastic) take on the news. (My love of NY1 in the past was noted by Mr. Kiernan.)

Pat – who if you’re outside NYC, you probably know best from VH1’s World Series Of Pop Culture – also happens to be on Facebook, and today let all his friends know of his newest endevour: Pat’s Papers. No longer limited to reading just the NYC papers, Pat’s going national.

Being once again able to have Pat read the papers to me in the morning is a great joy. (Pat has also mentioned that a podcast version is coming soon.)

iUseThis for the iPhone

It’s been just over two years since I started using iUseThis, a neat web tool for tracking OS X apps you use. A social network for software junkies, I suppose.

As part of iPhoneDevCamp, Marcus and Arne have launched an iPhone-centric version of the site, allowing people to track and comment on their iPhone apps.

This is one of those things that I didn’t realize I was missing until I saw it. While the App Store does have plenty of methods of app feedback (user reviews, popularity ratings), it does tend to be a bit low on the signal to noise ratio. IUseThis works better, with a del.icio.us or Digg like method of popularity. The more people that mark they use an app, the higher it goes.

You can find my app list on my profile.

(Before anyone starts marveling as to the number of apps I have purchased: dumping five years of spare change into an iTunes gift certificate via Coinstar makes all the difference in the world.)

Javascript Benchmarks: Firefox 3.0RC2 vs. Webkit r34367

The latest Firefox build, versus the latest Webkit build, using SunSpider. Testing done on my iMac (24″, 2.8 GHz Intel Core 2 Duo, 2 GB Ram) under normal conditions (other apps open, browser frontmost during the test).

COMPARISON         FIREFOX 3.0RC2       WEBKIT r34367
** TOTAL **:           1.56x as fast      2597.0ms +/- 2.1%    1666.8ms +/- 0.3%
3d:                  1.44x as fast      327.4ms +/- 5.1%     227.2ms +/- 2.1%
cube:              1.62x as fast      120.2ms +/- 1.1%     74.0ms +/- 2.9%
morph:             1.43x as fast      106.2ms +/- 14.3%    74.2ms +/- 3.6%
raytrace:          1.28x as fast      101.0ms +/- 2.8%     79.0ms +/- 0.0%
access:              1.48x as fast      363.4ms +/- 2.0%     246.0ms +/- 0.9%
binary-trees:      1.54x as fast       44.0ms +/- 2.0%     28.6ms +/- 2.4%
fannkuch:          1.61x as fast      136.4ms +/- 1.4%     84.8ms +/- 2.2%
nbody:             1.28x as fast      137.2ms +/- 6.1%     107.4ms +/- 0.6%
nsieve:            1.82x as fast       45.8ms +/- 3.0%     25.2ms +/- 2.2%
bitops:              1.53x as fast      245.0ms +/- 2.6%     159.8ms +/- 1.0%
3bit-bits-in-byte: 1.62x as fast       39.2ms +/- 5.2%     24.2ms +/- 2.3%
bits-in-byte:      2.07x as fast       62.2ms +/- 0.9%     30.0ms +/- 0.0%
bitwise-and:       1.35x as fast       65.4ms +/- 1.7%     48.6ms +/- 3.9%
nsieve-bits:       1.37x as fast       78.2ms +/- 4.8%     57.0ms +/- 0.0%
controlflow:         1.75x as fast       30.8ms +/- 1.8%     17.6ms +/- 3.9%
recursive:         1.75x as fast       30.8ms +/- 1.8%     17.6ms +/- 3.9%
crypto:              1.41x as fast      155.8ms +/- 2.6%     110.8ms +/- 0.9%
aes:               1.43x as fast       61.4ms +/- 3.9%     42.8ms +/- 1.3%
md5:               1.40x as fast       46.8ms +/- 1.2%     33.4ms +/- 2.0%
sha1:              1.38x as fast       47.6ms +/- 3.5%     34.6ms +/- 3.2%
date:                2.15x as fast      321.6ms +/- 7.7%     149.6ms +/- 0.7%
format-tofte:      2.16x as fast      195.0ms +/- 13.2%    90.2ms +/- 0.6%
format-xparb:      2.13x as fast      126.6ms +/- 1.6%     59.4ms +/- 1.1%
math:                1.60x as fast      277.4ms +/- 4.4%     173.0ms +/- 0.7%
cordic:            1.81x as fast      104.8ms +/- 2.1%     57.8ms +/- 1.8%
partial-sums:      1.48x as fast      124.0ms +/- 8.7%     83.6ms +/- 0.8%
spectral-norm:     1.54x as fast       48.6ms +/- 1.4%     31.6ms +/- 2.2%
regexp:              1.35x as fast      225.4ms +/- 0.5%     166.8ms +/- 0.3%
dna:               1.35x as fast      225.4ms +/- 0.5%     166.8ms +/- 0.3%
string:              1.56x as fast      650.2ms +/- 0.5%     416.0ms +/- 0.5%
base64:            1.16x as fast       77.2ms +/- 1.8%     66.6ms +/- 1.0%
fasta:             2.30x as fast      173.8ms +/- 0.9%     75.6ms +/- 0.9%
tagcloud:          1.34x as fast      133.4ms +/- 0.5%     99.8ms +/- 1.0%
unpack-code:       1.67x as fast      173.4ms +/- 0.6%     103.8ms +/- 1.0%
validate-input:    1.32x as fast       92.4ms +/- 0.7%     70.2ms +/- 1.5%

But don’t worry, Firefox! You may be 56% slower on overall Javascript performance, but you’ve been promised to be bug free!