Not always greener.


That whole "The grass is always greener on the other side of the fence" thing?

Totally applies to a house remodel.

What the designers and architects and magazines and builders and showrooms don't tell you, however, is how things will look and work day to day.

Take stainless steel appliances, for example. Wow, they look great on the showroom floor. They look AMAZING in the pictures.

They look like ass with little kid and big kid and small adult and large adult handprints all over them. And those thing are a pain to keep polished sparkling clean, and who would want to keep them that clean anyway?

And that sink? That stainless steel, double sink with the deep bowl on one side? As far as sinks go, those are gorgeous. I love them. I want one in every house I own.

And you know what?

They are impossible to keep clean.

That deep bowl? Try washing a full sink full of dishes. Leaning over into the deep sink puts a strain on the lower back. Oh, boy, after a day of cooking, I'll be happy for the "I cook, you clean" rule for all the non-dishwasher pots and pans I might use.

Which is not to say, I don't totally love the stainless sink I have in the house. I totally do. It's lovely and beautiful and great given it's only me in the house so I have few dishes to wash. The water splotches and general non-perfect surfaces tell me I'm using the sink. It's being used for its purpose and, you know what, I *get* to use this lovely sink. I think that's awesome.

So, while the grass is greener where you water it, the stainless steel is perfect where you use it, even when it has smudges on it.

thoughts 2011 05 28

Chalkwork Collection icons
Free for personal, 99 for commercial

Blueprint generator
For adjusting column width & count and gutter width

getting started
paleonutrition - emulating the evolutionary metabolic milieu

Public data sets.

CSS Click Chart
CSS properties by example

Conditional loader for JS feature replacment (polyfill, shims, etc.)

Think Stats, Probability and Statistics for Programmers

Open Data Pilot Project
Government of Canada data for all sorts of things

Parsing Techniques, A Practical Guide

npm package list
Oh. My.

Compress PDF
Option in the Save as PDF box

Open Source data mining software
Including Orange, RapidMiner, Weka (written in Java), JHepWork, KNIME.

Visual display (on an iphone!) of app collections, who has what installed, who is using what

Catalog Choice
Similar to Green Dimes, removes addresses from junk mail lists

View a web page as a wireframe, extracting major elements into grey blocks
Free and pro (exports) version

Instagram add-ons
stickers to posters to prints

Touch gesture reference guide

Node.js modules

Automating JavaScript Testing with QUnit

clean room implementation of the UIKit by Apple

jquery plugin for dynamic layouts

Kellan's slideshow by interesting|1295664643;max_taken_date|1295758800;sort|interestingness-desc;safe_search|1

Web Widget for Visualizing Temporal Data

Google Chart API

25 Startup Post-Mortems
JavaScript library simplifying creation of HTML5/Canvas apps with chain based interface.

safari / chrome browser extension to block google and facebook, among others
Open source, code on Google

198 ways of non-violent action

892 ways to partition a 3x4 grid

Safe CSS Defaults

Amazing wood flooring that follows the grain of the wood (somewhat)

when you want to play at being an angel investor

science papers

javacript gotchas

Single page websites

jQuery 1.6 cheatsheet

JS mistakes to avoid
of note, event delegation

GA event tracking guide
For client work

thoughts 2011 02 01

HTML5 Outliner for Opera
For Opera

Learn Python the Hard Way
52 exercises in all: 26 cover just input/output, variables, and functions. / 26 cover logic (boolean algebra, if-statements, while-loops, etc.)

Eloquent JavaScript
General introduction to JS and programming in general.

How to create an opera extension from scratch

Appeals court says warrant needed for email

First-class functions
Functions can take functions as arguments as well as return them.

// a "factory" of sorts.
function makeLouder(fn) {
  return function (a) {
    return fn(a) + "!!!";

var loudAbs = makeLouder(Math.abs);

loudAbs(9000) // "9000!!!"
loudAbs(-9000) // "9000!!!"

Bootstrappers Breakfast
Breakfast with other entrepreneurs, discussing problems and solutions

17 Lessons from Seth Godin about new marketing

Data visualization of sports champions

Copyblogger ipad apps for writing

Code editors for ipad

thoughts 2011 01 15

Catching up on a list of pages, links and the like...

CSS De-Compactor
Debug CSS files by expanding all definitions

List of Incubators and Accelerators

Five data blogs to read
Measuring Measures, Dataists, Flowing Data

Browserling announed at
Cross browser testing in a browser

David Airey's wordpress theme

Why is this even necessary?
To change THEMES, you have to export your SEO settings? That's fucked up and a retarded architecture.

Plugin for JS namespacing

1140 wide, 12 column grid
"Fluid all the way to mobile"

HTML5 + vector + video beta app for Mac OS X

VIM from novice to professional by: Derek Wyatt
Web casts that visually teach VIM

Why I quit WoW and started working out
I wish Kris would read this.

Prettify CSS

emacs mode to send http requests

Headless full-stack testing using Node.js

Client-side jQuery-centric dev links

Express JS
node.js framework

Test Apache rewrite rules

I find this frightening.
The study shows test animals can develop Creutzfeldt–Jakob equivalent diseases via the air.

to do in 2011 01

Things I want to try in January

hourly tracking

Mindful living, from, "every hour my watch emits a chime. this is my signal to become mindful, document the moment, and decide what to do with the next hour. this site is an archive of such moments."

Jonathan suggested I use a twitter account to record the actual moment documenting part, as i can do it via text, ipad, iphone, computer, etc. Then, set up a site (subsite) to pull the twitter feed to my servers. I can certainly keep the twitter stream private, if I want to, or keep it public and have it mirror to my site.

write up 11:11

Of course, first thing in January, I also want to write up the 11:11 statuses I've been doing all year. Of course, that means *finding* all of them.

redo blog

Upgrade to Drupal 6 at least, maybe Drupal 7, not sure about that.

launch TG

Because, really, that's what this is all about, right?


Yeah, there are a billion other things I want to do in January, and if I list all of them, I'll be spinning my wheels at the overwhelming number of things I want to do. So, this list is it. These are the things I want to do in January.


Thoughts 2010-07-14

Web developer tutorials

How to make a bookmarklet

Two JS tools: jquerify & selenium source RC

Blank theme resources

Drupal FileField Sources - FileField extension to upload files via CCK field

Adobe floral brushes, including some swirls

Javascript syntax highlighter

Jonathan Snook's Digital Web author page

smush-it losses image minimizer

Helicopter training start guide

"integrated web security testing environment, which can be used to identify vulnerabilities by using advanced browser automation"

Web based tools for startups

Development resources, not so sure about this list

WP cheat sheets

JQuery grid plugin

jQuery fontscale plugin

Sammy: RESTful evented JS
jquery based

jQuery LongURL plugin

Video players for sites

In theory, 35 drupal modules a site needs (35? ugh)

Learn new skills!

Fluid Grid

Drupal Searchlight views-based search

Canon Powershot SDK

Touch screen stencils and other resources

thoughts 2010 05 29

Drupal wrapper around the jPlayer JavaScript library
This library provides an HTML5-based player, that uses a Flash fallback for browsers that do not yet support it.

Search farther back than public timeline / 10 days

Seven of the Best Open Course Resources For Entrepreneurs

Students Turn Plastic Crap into Clean Electricity
project landfill reclamation

thoughts 2010 03 26

Web Design checklist
list of CSS3 support for various browsers