December 11th, 2008

Groovy Op-Art Starfish

I was playing around with Illustrator’s Live Paint feature and kinda liked this weird starfish-y thing.

December 4th, 2008

081202 Intelligence Squared Debate: Bush 43 is the Worst President of the Last 50 Years

I’ve started to post raw notes from events I attend. For more information, see the Notes Policy.

For the Motion

  • Simon Jenkins (SJ), journalist (The Guardian) and author.
  • Jacob Weisberg (JW), editor of Slate, author of The Bush Tragedy

Against the Motion

  • William Kristol (WK), editor of The Weekly Standard
  • Karl Rove (KR), former Senior Advisor to Bush 43

Pre-show makeup dusting

Once seated onstage, a make-up artist comes around to give them a final dusting of powder. While Kristol is immobilized by the artist, Rove reaches over and gives Kristol a wet willie. For real. Keep reading →

December 4th, 2008

081204 Small Web Team Collaboration with SVN: Creating Designer and Developer Love

Announcemnts & Ephemera

Intro

  • the inspiration for this has bee “as a developer, this is how I work with designers”
  • starting at pando, worked with a series of freelance designers ST came up with a set of best practices and it evolved. Lots of people said “thanks for teaching me version control”
  • that’s the inspiration for this talk.
  • Here’s what we found:
    • Rules Devs need to do to make their designers lives easier, and
    • Things designers need to learn

Best Practices

  • use a framework or a quality CMS
  • if yr using custom stuff, you want contextual config files. If yr running yr project on a production server, you’ll have a different base URL, SQL db, etc. The easier you make it to switch configs, the happier everyone is.
  • stole this from RoR: set an environment variable and then the config file can switch that, so you don’t change anything; you check out the project and it just works. Default to the designer’s config, so they don’t hav et oknow about it.
  • alternate option: don’t add the config file to the Version Control, and then sym-link to the config. (do this with drupal): make copies of settings.php and create a bunch of symlinks

  • manage yr SQL schema versions

  • devs should be doing this anyway, but the cleaner it is

  • site dumps (if the site is small enough)

  • if you want to be really fancy, make a test data set

  • if you (dev) do all these things, the collaborators (designers) don’t need to do to much to play along

Designers Need To Learn these Things

  • install yr local dev environment (eg MAMP or XAMPP on windows)
  • create a db and a user
  • import a db
  • use version control

  • devs need to use an MVC pattern so dev can make templates fro designers to work on

Setting up the local dev enviornment: MAMP

  • DL MAMP. Drag it to the “Applications” folder. Use it for anything besides RoR. (Use Locomotive for RoR)
  • What about Python? There’s probably something out there (especially w Google App Engine around). Go look for it
  • The document root is “/Applications/MAMP/htdocs”; if you put files in this folder, you can access them from “http://localhost:8888”

  • one of the first things ST does is make a shortcut to his app on the desktop so he can find it later

  • ST wrote a MVC app from scratch for demo purposes

Basic SVN

  • create a repository (place to keep files)
  • you can check copies out to “working copies”
  • when yr done making changes, you can COMMIT to the repository
  • every time someone makes a change, you can see what it was and revert back if necessary
  • this COMMIT pattern will catch multiple changes to the same doc, and mediate conflicting changes. If yr just using FTP, its easy to overwrite each other’s changes.

  • COMMAND: “svn info”: what the situation is; is it in version control? Where’s the repository?

  • repositories are basically just a URL somewhere. If you want to start playing with SVN, beanstalkapp.com is a good place to start. SVN needs to run on an SVN server. If you’ve used a wiki, you know about reversions. This is just like a wiki for yr code.

  • Q: Are there other Version Control systems? A: yes. Git is the cool new one, but it really shines with large distributed projects with lots of branches. It was written by Linus for the Linux project. For small teams you can work on one branch and SVN does a good job; its more mature, has better tools. There’s also CVS, which was the predecessor to SVN and is a little clunky.

  • COMMAND: “svn status”: shows us if there’s anything changed, weird, or funky. As usual on the command line, no news is good news.

  • making a change: ST goes into the template, changes a line of text, and then back to the command line. “svn status” returns an “M” (for “modified”) before the filename.

  • COMMAND: “svn diff”: shows a “-” before the line that was rm’d, and a “+” next to the line added

  • COMMAND: “svn commit”: type svn commit -m “changed a line”

  • COMMAND: “svn update”: update’s yr working copy from the repository. If no one’s changed, it just shows you the revision number. If a newer copy exists on the repository, it updates, yr working copy.

On Windows

  • using XAMMP and TortiseSVN
  • files live in C:\xampp\htdocs
  • right-click on a folder and you can get some Tortoise features, eg “checkout”
  • once TortoiseSVN is installed, files and folders will get a green checkmark when they’re up to date
  • Notepad++ is the file editor of choice. It deals with line endings without complaining and its free.
  • If you make a change, the icon will get a red badge
  • right-click to commit, you’ll be prompted for yr msg.

Create a conflict

  • change and commit on win
  • go to mac, don’t update, make a change, commit
  • warning: commit failed
  • so now you do “svn update” and see the conflict. If you browse to the directory, you can see all the versions, appended with “.r#”.
  • to resolve, do “svn resolved [winning-filename]”, then commit

  • 1. always update!

  • 2. test yr changes!
  • 3. commit them!

Qs

  • Q: What about absolute URLs? A: avoid absolute URLs. If yr using a framework, there’s always a helper. But if you have to, you can mess with apache and have it redirect the URLs in a Virtual Host Directive. PITA though.

  • Q: What about “files” in drupal? A: use “svn ignore” or just never add it, it doesn’t matter.

  • Q: why isn’t the DB in version control? A: “Version control is not backup”. But do nightly backups in the db. The schema can be in version control though.

Making a Database

  • go to phpMyAdmin
  • make a db called “demo”
  • import the “init.sql” db into “demo”
  • create a user, give him privs (not global)
  • neat trick: create the user first, and hit the “create a db w same name and grant all privs”

confiq file:

  • should just have an array with hosts, user, pass, db names and let the designer manage that

  • you can use SVN on fla’s too if you externalize all the actionscript

tips

  • Pragmatic Programmers version control book is good
  • lighthouseapp.com is a bug-tracking hosted service that hooks into beanstalk so you can enter the bug ticket number into the message and it’ll address the bug ticket on the commit

  • google has free svn hosting, but only for open source

Mac SVN Clients

  • SVN X
  • Versions
  • coda has SVN
  • Cornerstone
  • finder scripts

November 12th, 2008

Spot.Us Launches

I’m very proud to have helped design David Cohn’s Knight News Challenge-award-winning crowd-funded journalism site. Spot.Us provides a platform for ordinary citizens to commission stories from freelance journalists, giving (1) the public a say in what stories get written, and (2) creating a new revenue stream for journalists who’re confronting budget cuts and layoffs in almost every newsroom in America.

After months of behind-the-scenes action, Spot.Us finally launched, with nice write-ups in Wired, the Huffington Post, and TechCrunch. Go check it out—or better yet, suggest a story for journalists to tackle!

November 9th, 2008

Youth Vote Support Chart

Future Majority, the blog authority on progressive youth politics, asked me to make a few graphs detailing young voters increasing support of Democratic candidates over the past 32 years. Go check it out and let me know what you think!

November 6th, 2008

Post Election Graphics Roundup

This morning I woke up for the second time in a country with a President Elect Barack Obama. It’s starting to feel real. My endorphin and dopamine receptors are completely burned out, but at least I’m no longer spontaneously breaking out into tears, so let’s take a look around. There’ve been a lot of interesting graphics marking the close of this two-year-long election campaign.

✂———✂———✂———✂———✂———✂———✂———✂———✂———✂———

Kottke takes a look at the NYT’s cover, which was my favorite by far of the major paper’s headlines. It was spare, powerful, and dignified.

Nyt Omama Cover

There’re galleries of other newspaper headlines here and here.

UPDATE: Another great gallery here.

It wasn’t long ago that Karl Rove was talking about America’s incipient “permanent republican majority”. He might have been speaking prematurely. The only region of the country to vote more republican than in 2004 was the Appalachian belt. The rest of the country went heavily Democratic, as the top-notch NYTimes Information Graphics department shows.

Blue America

Traditional red-and-blue election maps make the USA look much redder than it actually is because population density and geography are decoupled. Cartogram maps distort the size of counties to reflect their population. M.E.J. Newman has a series of maps that tell the story well, but there’s something beautifully kinetic about this map. I think I’ll have it framed.

Cartogram 2008

Patrick Moberg’s gotten a lot of attention for this whimsical and profound drawing that could be seen as a whipsmart take of Chernoff Faces.

Presidential Portraits

Finally, the image that best captured my bleary, awe-filled, humbled state of mind when I woke up for the first time in the country that elected Barack Obama:

OMG

November 3rd, 2008

Site Updates

Updated wordpress, changed the theme to Pressrow, and am testing out Textmate integration.

October 24th, 2008

Winning this Election

I just sent out a mass email, something I do very rarely.  (I think the last one announced my engagement / need for a new home for my cats when I got engaged to my feline-allergic wife.)  If it was important enough to send to everyone I care about, its important enough to reproduce here.  Full text of the email after the jump.

Keep reading →

September 18th, 2008

Notes from Clay Shirky’s talk: “It’s Not Information Overload. It’s Filter Failure”

I’ve started to post raw notes from events I attend. For more information, see the Notes Policy.

From O’Reilly’s Web 2.0 Expo.

Clay Shirky: “It’s Not Information Overload. It’s Filter Failure.”

Keep reading →

September 17th, 2008

080917 Web 2.0 Expo Notes

I’ve started to post raw notes from events I attend. For more information, see the Notes Policy.

## 080917 Web2.0 Expo Notes

In this episode:
- John Resig - Processing & Javascript
- Dan Saffer - Tap is the New Click
- DHH - Go REST with Rails
- Joshua Schachter - Lessons Learned in Scaling and Building Social Systems
- Keynote - Fred Wilson - The History of Tech in NYC
- Keynote: Deb Shultz - The Death of the Grand Gesture
- Keynote - Jason Fried - I Started 37 Signals and You Didn’t
- Maria Thomas - Etsy CEO on Growth
- Gary Vaynercheck - Ad Lib

## John Resig - Processing & JS

Keep reading →