Archive for October, 2006
Looking back at the life-admin decisions I’ve been pondering over the last few weeks, a definite pattern is emerging.
- Personal website CMS: minimalist (PyBlosxom) or feature-rich (Drupal)?
- PDA: minimalist (Hipster) or feature-rich (Treo)?
- Room: minimalist (bed, desk, desktop, one drawer of clothes) or feature-rich (two desks! toys! posters! wires and docking stations oh my!)
- Transportation: minimalist (scrappy old bike) or feature-rich (car! GPS!)
- Task manager: minimalist (todo.txt) of feature-rich (Hiveminder)?
For the record, my choices so far have been Drupal (in progress), Hipster (due to lack of funds), and todo.txt, with the room migrating towards minimalist and the transportation being a workhorse Camry (no GPS) and a reasonably cheap road bike that I’m still looking for. So that’s
2 full-featured, 1 minimalist, and 2 becoming minimalist.
I’m finding that for me, elegant minimalism is usually the way to go. It’s one of the reasons I appreciate a subset of the traditional Japanese design aesthetic; spartan, but beautifully and refinedly so. (Not sure what the proper term is - Zen aesthetic?)
There are some exceptions, but they’re usually in the domains I don’t know enough about yet; for instance, I use Drupal because I don’t know how to set up my own CMS system, nor do I have the time to do it now (and I could hack for years and not replicate its feature set). Also, minimalist doesn’t mean inflexible. For instance, the simplicity of the todo.txt system is what makes it so malleable and rich.
Fullfeaturism is awfully appealing, and is minimalist in its own way. Why put your trouble into something you can pay someone else to set up (or download for free)? Sometimes the trouble is actually more than the satisfaction of doing it yourself is worth. Sometimes you really should go with the preloaded solution.
Bottom line is that you need to get tools that will get out of your way, and ones that will expand your range of action, not constrain it to some artificial subset of what’s possible. Whatever works for you. Whatever that means.
Will this tool contribute positively to my productivity and quality of life, or detract from it (or add nothing, or too little to make up to what I’m giving up for it)? It’s the same principle behind hiring. You don’t make your team bigger for the sake of making it bigger. You hire the folks that will boost your company’s productivity past the current per-capita mark; for instance, if the new coder you’re bringing in will make the team 20% bigger (5 programmers, hiring a 6th), they’d better make the team more than 20% more productive. That way, the power of exponential growth kicks in.
Actually, I should look at the tools I purchase as employees I’m hiring.
And maybe I should go to sleep so I can write coherent things in the morning.
Sunday, October 8th, 2006 | Uncategorized | No Comments »
Ben Salinas, Chandra Little, and myself have been working on a project for the last five months. One of my more amusing assignments has been to reread The Tipping Point by Malcom Gladwell to see if we can apply anything towards our problem of hooking up engineering volunteers with nonprofits that need designs. (The others have similar assignments; Chandra, for instance, is looking into dating services to see if we can learn anything from them.)
The main idea behind the book is that every system, no matter how complex, has a “tipping point” where a tiny change leverages out to have large effects. These are what you want to look for and hit, as they cause the largest effect with the smallest effort. I call it “lowering the hacktivation energy.” There’s some critical point in every activity for each individual where the cost-benefit tradeoffs suddenly become worth it, and the best way to instigate change is to stick in some catalyst so that people reach that point faster.
Who tips?
In social groups, the tipping point is often a handful of people. Gladwell identifies three types of world-changers; Connectors, who span social “silos” and take joy in connecting their many friends to each other, Mavens, who compulsively collect in-depth information and take joy in sharing the fruits of their knowledge with others, and Salesmen, skilled at harmonizing with others in a way that blends their ideas and passes them virally on.
Our project is trying to leverage a hive of Maven engineers - but others have done this before. We need to train those engineers to become Salesmen, since engineers are stereotypically poor at empathy and communication; we also need to network them with technically literate Connectors who understand their skillset well enough to hook them up with the right people. So many engineers languish in suboptimal positions because nobody knows what they do well enough to help them find their best fit in the larger picture.
Tipping at the start
Getting things started is a perennial problem. Gladwell mentions that the first mover in any action gives the others “permission” to do the same; a suicide “permits” other suicides, a broken window “permits” further vandalism. Less depressingly, an act of kindness encourages like acts to happen, as long as the positive feedback for committing a good deed is sufficiently rapid, genuine, and impressive enough to serve as incentive. This is the wisdom of beta tests and pilot programs; there’s no better sales pitch than “we’ve done it before, and it works.” A lot rides on your beta testers; you want to make sure they come from a place of abundance so they can be unafraid of taking risks since they’re confident those risks will do them no harm.
Once a movement snowballs, it needs the right kind of environment to nurture it. The book claims 150 people is the maximum size for an “agile” group. My theory as to why this happens is that information overload sets in; there’s no way to keep up with what everyone does and knows. Once you pass the 150 mark, insitutional memory becomes inorganic; documentation and rules start replacing things that were formerly just strong cultural norms. The solution is to allow small groups to break off when critical mass grows near. IDEO’s “T-shaped” person (specialty depth, broad vision) and Unix’s “do one thing and do it well” and “every program is a filter” philosophies exemplify the ideal of specialization that can still connect to others. “Small pieces loosely joined” is a description that’s been applied to the internet. It can be applied to people and organizations as well.
Tipping happens again and again.
I’ll be the first to admit that people have written about these ideas thousands of times over, and will continue to do so thousands of years from now. Nothing I’ve said here is actually new. Life is about spiral learning, and spiral learning is about repetition; as the saying goes, “everything old is new again.” And so it goes.
Saturday, October 7th, 2006 | Uncategorized | 1 Comment »
Rediscovery of the day: I’m still withdrawn and quiet Mel when I’m in a situation outside my familiarity; the range of situations have just broadened since college started. Seems the places I still get stuck are the purely social ones; parties, clubs, (non-swing) dances, formal business occasions that are more etiquette than actual business, that kind of thing. I wonder if there are Practicalcoholics Anonymous groups that help people like me who need recreational activity to have a definite point.
Also: Bikes are much nicer when their chain doesn’t keep slipping, and riding back from Wellesley in the dark without a bike light is a bad idea. (However, biking with Matt Ritter is an eminently enjoyable way to spend an afternoon outside.) I am fully aware that I am spending too much time with my computer in my suite; my lungs are withering, my legs are pasty-white, and the most common greeting I hear is “Mel! Where have you been? I haven’t seen you in forever!”
Fixing this.
The next point will actually contain content.
Saturday, October 7th, 2006 | Uncategorized | 2 Comments »
For those of you wondering what Olin is like…
Story # 1
Last night I was walking through the dorms when Not came charging up the stairs giggling uncontrollably and waving a Playbill with an indecipherable scrawl on it. “It’s his signature! I got his signature!” We jumped up and down, squealed, and generally carried on about oh my god, his signature and what was he like and I can’t believe you saw him live and such and whatnot.
Story #2
This week was Alex’s 21st birthday, so to celebrate the weekend we had a tanker. 15 gallon keg in the middle of the suite, everyone filling up cheap plastic cups with beer and dancing to thudding music in a room full of hastily erected flashing lights.
Sounds like college, right?
Story #1: The “guy” was Benoit Mandelbrot, father of fractal geometry, who had just appeared at the Ig Nobel Awards.
Story #2: It was a keg of root beer, complete with 6 gallons of vanilla ice cream for a root beer float party.
So on the one hand, yeah, it’s college.
And on the other hand, we’re definitely Olin. I love this place.
Friday, October 6th, 2006 | Uncategorized | 1 Comment »
Having just come from a meeting where, I’m afraid, I was guilty of rambling on in a sub-optimally productive manner (sorry, Allen and Alison), this post from 37signals hit home, especially this article about how Google runs meetings. They’re as short and as focused as possible, use a big clock on the wall (I need to get a large-display portable timer!), use a projector for note-taking, schedule micro-meetings (5-10 minutes instead of 30, say) and carve out office hours that people can queue into on a FIFO basis.
That’s one extreme end of the meeting spectrum. I believe it’s called an action meeting. I wish we used it more at Olin; one of the things you hopefully pick up here is how to run an efficient, effective meeting, and the folks at Google sound like they’ve got that down cold.
Of course, we’ve got to acknowledge our need to be inefficient equally often. Paradoxically, often the most efficient way to do things is to schedule unscheduled inefficiency, since we need to be rambling humans once in a while. (It’s the same principle behind letting yourself sleep nights; you get less work time, but you get more effective/alert work done.) Sometimes you need a raw data dump, not a productively focused discussion. Sometimes you need to pitch the agenda and dialogue with other humans on a personal level instead of whizzing through a list with everyone staring at the projector screen of notes. This is called a dialogue meeting.
It’s important to know whether a meeting is dialogue or action at the very outset (or when it transitions from one to another). By giving ourselves permission to be inefficient, we allow ourselves to focus when we want to be efficient, and vice versa. The mark of a good mentor (at least among engineers) is that they’re efficient and productively focused with their time - optimized, so to speak - but that they are willing to waste time for you. You both know what they’re giving up, so the time and the teaching are precious, the same way lying down for a breather feels so much more delicious and satisfying after a 2-hour run. I believe the same holds true for meetings.
Use your time wisely. Use it optimally. And know that part of a wise spending of your time (or money, or energy, or anything -) is to allow yourself to “waste” it.
Wednesday, October 4th, 2006 | Uncategorized | No Comments »
Holy instant website, Batman.
Drupal is something I’ve been meaning to play with for a while, but it took Sam Tresler’s Barcamp presentation on Instant Drupal to get me started. He turned a static site into a dynamic Drupal one as we all watched; I decided to take notes and follow along. An hour and fifteen minutes after the presentation started, I’m sitting here staring at a new website for the Olin SWE Chapter on my laptop (as of this posting, the site is not live as I need to get it over to an Olin webserver… but Simone and Kate, if you’re reading this, I finally got off my butt and moved.)
I’m officially sold on this thing. I’m still planning on having a CMS Tryout Weekend for OCP (the Open Content Project, Olin’s open source/content group) - probably right at the end of term, since we have some events (Linux installfest, roll-your-own-distro party, Python GUI eval party) coming up first. But I’m very impressed by Drupal because it seems very easy to teach non-coders how to admin it - incredibly vital because it means the groups you set up Drupal websites for can become self-sufficient quickly and not have to call you for tech support forever.
Here are my notes on the session, which should walk you through setting up your own Drupal site (downloading included) in an hour. Thanks, Sam!
Introducing Drupal
Here’s Drupal’s homepage. It’s technically a CMS, but Sam prefers to think of it as a web development framework.
Today: Building a drupal site from scratch in an hour. Working with http://www.oiaonline.org which is a site with static javascripted pages, .pdf newsletters, an events calendar, links to, and galleries with uploaded images/thumbnails. We can duplicate all this functionality (and more) in Drupal.
Download and install
We need to get started quickly. Install xampp, a preconfigured apache distro with apache, mysql, and php. After installing, go to http://localhost to make sure the server is running on your computer.
Download the latest version of Drupal and unzip it into your htdocs folder (inside your xampp installation - my path was C:\xampp\htdocs.)
Set up your database
- Go to http://localhost/phpmyadmin to see your local phpmyadmin page, thanks to xampp.
- On the main phpadmin page, there is a section labeled “create new database.” Type the name you want to use in and make yourself a mysql database.
- Make sure your new database - we’ll call it mydrupal in this example - is selected in the drop-down box on the very left hand side of phpmyadmin. On the main screen you should see a list of tabs, one of which is labeled “SQL”. Click it; you’ll see a text box labeled “Run SQL query/queries on database mydrupal.”
- Inside your htdocs/drupal folder there’s a file called INSTALL.mysql.txt. Open it up and copy the line that begins “GRANT SELECT, INSERT, UPDATE, DELETE, CREATE…” into the “Run SQL query” textbox in phpmyadmin, changing appropriate variables. In our case, we’re going to replace databasename, username, and password to mydrupal - but you can set them to whatever you want as long as you remember them.
- A few tabs down from “SQL” in phpmyadmin is a tab called “Import.” Go there, click the Browse button, and point it towards htdocs/drupal/database/database.4.1.mysql (this will work for most cases - check the end of htdocs/drupal/INSTALL.mysql.txt to make sure you’ve got the right one) then hit the Go button and watch lots of tables be automatically created.
- Open htdocs\drupal\sites\default\settings.php and set $db_url and $db_prefix lines to the database you created (replace ‘username’, ‘password’, and ‘databasename’ with what you set; unless you explicitly set a mysql prefix during database creation, leave the $db_prefix untouched.) In our case we’re going to change them all to mydrupal because that’s what we used two steps ago.
And you’ve got Drupal.
- http://localhost/drupal should work now. From here on out, the interface is fairly self-explanatory and can mostly be guessed at, but here is some stuff you will want to do.
- Create an admin account; there’s a link on your drupal install’s main page to do this. You’ll probably get an error message that says it couldn’t email your password to you; ignore it.
- Go to administer > settings and fill in the forms with your organization’s information. You may want to turn on “clean URLs” to get rid of extraneous php syntax in your urls, but you don’t need to.
- Cache settings: Also in administer > settings. For development, keep it disabled. When you go live, you may want to enable it so that the webpage won’t dynamically generate every time it doesn’t need to.
- Save before you test your new settings; Drupal settings don’t take effect unless you save.
- The default Drupal settings are pretty good. If you don’t understand something, you probably don’t need to touch it.
Modules: make stuff functional.
- Go to administer > modules and check the boxes for whatever modules you’d like on your site.
- If you want more modules, download Drupal modules you like and drag them into your htdocs\drupal\modules file and they’ll show up on your administer > modules page.
Putting the C in CMS: adding content.
On your left navigation bar is a link labeled “add content.” Click it and you’ll see the available content modules you just enabled. Click the name of the one you’d like to create - the suggested first one to try is a Page - and you’ll get a bunch of self-explanatory textboxes to click and go. After you add your first bit of content, look at your Drupal site again, and it should look a heck of a lot like a fully running CMS… because it is.
Themes: make stuff pretty
- Download themes you like (or ones you’ve made) into your htdocs/drupal/themes folder and they’ll show up in your administer > themes section; just pick one and go.
- You can enable more than one theme (so users can choose which one to look at) but can only have one default (the one that first shows up).
- Themes use normal php and css, so if you know either of those, you can easily modify the default themes to use your own logo and such.
And you’re done. For more information on Drupal, check out their homepage (I think that’s the tenth time I’ve linked there in this post); there may be a local Drupal group near you that meets up if you’re looking for live people to ask questions of. Beyond that, Google is your friend, as people have posted about their favorite modules and such in thousands of places.
I’ll be playing more with this in the coming weeks setting up Drupal for a few groups that I’m involved with, so if you have any tricks or shortcuts to share (or want to drag me into your Drupal group - I’m an engineering student in Boston interested in journalism and education) leave a comment with your contact info or email me and I’ll write you back. Comments and revisions to this walkthrough are also totally welcome; if someone wants to slap it on a wiki, go ahead, mod it, share it, change it, and otherwise consider it yours.
Sunday, October 1st, 2006 | Uncategorized | 6 Comments »