Sunday, October 29, 2006

Patents for good, patents for evil: the Blackboard case

Educause, an assosiation of professionals working to improve higher education through information technology, has written a letter to Blackboard about its recent actions in the intellectual-property arena. Basically, the letter expresses concern over Blackboard's lawsuit against Desire2Learn, another e-learning software group.

Course management systems were developed by the higher education community, which includes academics, organizations, and corporations. Ideas were freely exchanged, prototypes developed, and refinements continue to be made... a claim that implies this community creation can be patented by one organization is anathema to our culture.
In the old economy, a company's secrets were its lifeblood. You kept your information private because knowledge was power. Knowledge was limited, expensive, hard to get to. Well, now knowledge is cheap. Information travels freely, and secrets are hard to keep - what matters is what you do with an idea. In an age of openness, good execution (not information revelation) is the means that groups can use to distinguish themselves.

To my young and idealistic eyes, companies that insist on locking others out of the market are missing the point. The right way to do better than your competition is to actually do better than them, not prevent them from competing in the first place. Your company exists to provide your customers with the best possible service; how can you know yours is best if it's the only one available? If you think you're the best, what are you afraid of competition for?

The other core tenet is to promote innovation. The free exchange of ideas fosters innovation. The open sharing of ideas does not preclude commercialization or profiting from ideas... this law suit will certainly have a chilling effect on the open sharing of ideas in our community.

Intellectual property is necessary.As much as I dislike being under NDA for my SCOPE project, I understand why ours is there. Patents are wonderful tools. Theoretically, they free inventors to do the work they love to do without having to worry that they'll be taken advantage of. I find it sad when the same tools purported to give us the freedom to create are used to take away the freedom of others to do the same.

Friday, October 27, 2006

Generation of Greatness

From Hal Abelson's website:

Everyone interested in university education should read Edwin Land's 1957 speech Generation of Greatness.

I agree. To demonstrate why, here's an excerpt (emphasis mine). And yes, it's gender-stereotyping by today's standards, but keep in mind 1957 was a very different time.

The scientist comes to the world and says, "I do not understand the divine source, but I know, in a way that I don't understand, that out of chaos I can make order, out of loneliness I can make friendship, out of ugliness I can make beauty."

I believe that men are born this way... each of these men felt secretly -- it was his very special secret and his deepest secret -- that he could be great.

But not many undergraduates come through our present educational system retaining this hope. Our young people, for the most part -- unless they are geniuses -- after a very short time in college give up any hope of being individually great. They plan, instead, to be good. They plan to be effective, They plan to do their job. They plan to take their healthy place in the community... But I submit to you that when in each man the dream of personal greatness dies, democracy loses the real source of its future strength.
Ironically, many of the things in this speech sound familiar to most Oliners...

Advising families

I would dream that when a freshman enters the university, he would become at once a member of a small group, perhaps of about ten men. He would be associated at once with a mature, established scholar whose first interest is the education... of this incoming group and of the ten who came in the year before.

Project-based learning, OSS, and independent studies

I believe each incoming freshman must be started at once on his own research project if we are to preserve his secret dream of greatness and make it come true.

The entire section on Introductory Courses is also just... fascinating. If we're talking about redesigning the frosh ICB (integrated course block), we should be reading things like this as well as looking at our past 4.5 years of Olin experience and other colleges' attempts.

I'd love to talk about this speech with people, if any of you folks reading this blog end up reading the transcript. I've got so many thoughts around this subject that I can't yet pull coherent thought patterns down onto paper in any sort of concise, useful manner, but conversations usually help that. If you feel like just sitting and talking (or heck, emailing) about the world or life (especially higher or technical education but by no means limited to it), this is a call for emails and chats.

Friday, October 20, 2006

Spiral learning: it's like your toes.

MIT professor John Maeda has a great post on different kinds of learning pain that might explain the fish-out-of-water syndrome most new Oliners balk at during, say... ECS (an introductory engineering course where almost nothing is explained, ever).

Undergraduate life here at MIT can be brutal with the incredible 24/7 onslaught of problem sets. This term I chose to administer the experience of uncertainty and awkwardedness in their weekly problem solving. I consulted Amber on my current problem, to which she contributed, "They (the MIT students) are used to a certain kind of learning pain at an enormously high dosage level; but you're administering a different kind of learning pain that although less, actually hurts more." The light went on in my head. If you're used to taking it in the face all the time, you're ready for another; but when you get your toes stepped on for the first time it's going to hurt because the pain is brand new.

I remember balking at the lack of direction in ECS my freshman year (To this day I am not sure how I passed) and privately whining about the vagueness of UOCD (user-centered design) at the start of the semester sophomore year. Then I started becoming a more proactive TA and talking to the profs about why they were causing us pain. And I started realizing they weren't trying to teach us math per se (or circuits, or whatever), but a different way of thinking.

Ok, that sounded corny and vague. But it's true; Olin students hear ad nauseum how we'll forget all the formulae but remember how to learn things in order to solve problems. The thing is that in order to teach methods (ways of thinking), you need to practice applying them to stuff, and in our case that stuff happens to be engineering content, like thermo.

Learning the many different ways to "think like an engineer" is infinitely harder than learning how to apply the Fourier transform for exactly the reason Maeda outlined: every different way of thinking you learn is like being attacked in a new and painful way in a new and painful spot. Used to getting your toes stepped on? We'll start pelting eggs at your kneecaps. You learn how to adapt, rather than how to adapt to a specific situation. You become a generalist, a designer, a problem solver.

In short, an engineer.

MacArthur foundation and Digital Learning

Opportunity, thou has been knocking incessantly on mine skull. You haven't done this for a while (or I've been deaf to the knocks), but man, I've got to stop being distracted by all these glorious possibilities for the future or I'll never pass my classes this term.

My current source of joy is the MacArthur Foundation, the folks behind the infamous "MacArthur Genius Grants." Specifically, they just opened a new initiative on Digital Learning, or in other words how to use technology to teach both in the classroom and outside of it, and how it (especially technology not designed, used, or intended directly for education) is influencing how students think and learn.

Be still my heart. I've already posted comments on the new initiative's blog. I'm looking forward to seeing what they do next - maybe there's a place for me somewhere in this glorious teeming world of engineering education. Technology and education and usability and computers and open information accessibility for knowledge and justice for all kinds of learners in the wide, wide world. Doors are being flung wide open in front of me, making it very hard to do things like sleep and problem sets.

Possibilities are endless! But I have to graduate first.

In other news, I finally told my mother I was considering not going directly into engineering grad school, and the world didn't explode. We're going to talk about it over Thanksgiving (haven't spoken to my dad yet) but all in all, she seems to be taking it much better than I'd thought. Apparently, Mom expected me to do something strange after college. I'm not sure if that's a compliment, but I'll take it as one.

Wednesday, October 18, 2006

The Olin timesaving roundup, version 1.0

A few of you might know that I'm intrigued by lifehacks and time management. It's not that I'm organized (I can hear my mother roaring with laughter at this suggestion) in the least; it's that using certain tools allows me to be disorganized without harming my productivity. Here's my current roundup; I'd love to hear what other people are doing. (I'm sure I'll repost a variant on this every couple years.)

  1. Getting Things Done by David Allen - rapidly becoming a classic in the life-management field. A generic, tool-independent framework for thinking about how you take care of things you've got to do.
  2. Time Management for System Administrators by Tom Limoncelli - almost like a geek's study manual to the first book. As mentioned above, one of GTD's strengths is that it's not domain specific; one of this book's strengths is that it is. It even uses geek metaphors to explain things (if you've thought of your brain as having "extra cycles" or being "low on RAM," read this).
  3. Hiveminder, my latest pick for a to-do list application. Note that I'm still in "trial mode" and switch todo lists like I change my socks; we'll see where I finally settle down (re-ping me in 5 years on this). Previous addictions include Netvibes and todo.txt, but Hiveminder is basically todo.txt online where I can't lose it. GTDgmail didn't catch on with me for some reason. Later on I'd like to see if I can set up a sync between Hiveminder and a todo.txt installation on my PDA - this assumes I'll get a PDA, though. (PDA currently deferred due to lack of funding. Maybe it'll be my 21st birthday present to myself.)
  4. Notebook - that is to say my Moleskine Cahier, which I love. They're the cheapest kinds of moleskines you can get, lovely and portable; nice enough that I enjoy doodling in them, and cheap enough that I'll actually haul them around without guilt that I'm "messing them up." I keep a post-it on the last page I "braindumped" (I sync my sketchbook to my laptop to-do list - in this case, Hiveminder - every night) and a pen on the currently blank page so it always opens up to the right location for writing in.
I need to find a better solution for...
  1. My laptop. It's getting big, bulky, and annoying to tote, especially since I can't close the lid without having it crash any more (and yes, I've been to IT and gotten practically all its parts replaced by now.) I need something digital that I can take around and type notes into, since I type (coherent things) much more rapidly than I speak sometimes even - I'm thinking a PDA and one of those bluetooth foldy-keyboard things, one in each pocket, but we'll wait for the funding to build up first. In the meantime, I'm trying to wean myself off Windows and onto my old Powerbook for daily use. At least that won't crash when I close the cover.
  2. My calendar. It's complex and varies enough from day to day that I can't remember it, and task-switching is frequent enough that I need something to remind me that I should be walking towards my next meeting. This means that unless I have a functional laptop next to me running Outlook and making little beeps, I have no idea where I should be, leading to the all too common scenario of Mel being late. Must... find... solution.
A final word: going meta and thinking about time management is great, but iif you're starting to spend more time managing your time management stuff than actually doing the things you're supposed to do, it's gone too far. Moderation in all things. Speaking of which, I should take my own advice, stop writing this, and go for dinner.

President Miller on creating a new paradigm

Ran across a pdf last week and thought it might make good discussion fodder, especially given that Pres. Miller speaks to the CORe GA tonight (for the uninitiated, that's Olin's student government. And a very excellent job they do, too).

President Miller's testimony for the Secretary of Education's commission on the future of Higher Education. (Will try to keep this link correct - I might be moving the file soon.)

Some points that stood out for me:

"Students are more capable than expected. Perhaps the most important conclusion we reached in our experimentation with bright engineering students is that they are far more capable of independent learning in truly challenging situations than we expected... [during Partner Year] we asked five students who had recently graduated from high school (but had never taken a college course) to design, build, and demonstrate a pulse oximeter (a medical instrument for measuring the oxygen content and pulse rate of a patient’s blood) within five weeks. We expected to learn something by watching them get stuck on the electronics or the fabrication challenges, but instead they didn’t fail as expected... we suspect that students are frequently under-estimated as partners in the educational process in other institutions."

Just how big a deal it is to not have tenure. As a student with no family ties to academia, when I heard four years ago that Olin had no tenure, my reaction was "well, that's nice." But apparently it's a huge deal. Apparently, tenure is what junior professors devote their lives to working towards. It's why they don't sleep, barely eat, work weekends and late nights... I'm now even more impressed by the magnitude of the sacrifice our faculty made to teach us here.

"Continuous improvement and innovation requires attitude shift and continuous assessment."
Yes, and I'm worried about this. In the worst-case scenario, we've burnt out our older community members by asking for too much feedback and using it in a suboptimal manner (inevitable when you're new to the continuous improvement game - the continual improvement process itself needs continual improvement), which leads to the jaded older members not teaching the bewildered yet eager newer members how to give good feedback and effectively implement change. This is one of the things I really want to change somehow; CAST, ARB, and Ann Schaffner are trying to figure something out. (Ideas very, very welcome.)

President Miller also brings up the point that we were all self-selected to come to Olin, that putting together special people yields extraordinary results - and that we all probably would have done well in other places, but when you place a lot of us in close proximity, some sort of astounding nucleation takes place and the whole becomes greater than the sum of its parts.

Anyhow, I've got class right now, so I'll leave off - but I'd love to hear what people think of this paper (or better yet, what Pres. Miller says tonight at the GA. 7pm in the Crescent Room - come on, folks!)

Tuesday, October 17, 2006

Captioned videos online!

One reason I love the internet is that it's historically text-based and therefore accessible to me. One fear I've had is that we're moving towards audio and video content that I can't hear or understand.

I suppose I shouldn't have worried. Three projects that prove why:

1. Sphinx, an open-source voice recognition engine developed at CMU. You can set this baby up yourself - in fact, DJ got an install running on his Olin laptop in the casual span of an evening. And it's on par for accuracy with commercial packages.

2. Informedia, a software suite (also by CMU) that I'd describe as "automatic closed-captioning for videos." Using the Sphinx engine, it automatically processes your movies and gives you a stream of text time-synced with the video itself. That means you can textually search movies and have it jump to specific spots in the recorded conversation.

3. Google video... with captions. The result of something like Informedia being applied to all the media content out there.

Hurrah for all the people behind these creations! I hunger for information - things like this open up a whole section of the world's data to me.

Saturday, October 14, 2006

Those who teach, can.

Apparently it's been obvious to everyone but myself for the last however many years that my huge passion in life is learning. Education gets dragged into everything I do, and practically the only way I'll be motivated to learn or do something is if it can be used to teach someone else. This week, Lynn and Gill finally got through my head the thing I've been saying to everyone else for years but never did myself. It's okay to do what you love. And as a main job, not a side one.

It's okay for me to not pursue a hardcore ECE/CS PhD right after Olin. It's not that I don't have the smarts to do it - it's that my focused passion, right now, is in using that engineering knowledge to hack education and get more people into engineering, and that I should go for that and that it's okay. I always thought of education as my "side thing" because I'd be wimping out and "wasting" my technical gifts otherwise, but it'd be just as much of a waste to not make use of my love for and gifts in education as well. It's not that I can't do engineering, or that I don't love it. It's that I love this side of it more.

There's a story Rob Martello tells about how it took him three years of reading history books after his engineering work at night to realize that hey, why should the ten minutes of history reading be the best part of my day? Why can't that part be my main work instead? Similarly, when I added up hours and realized that I was reading about things like Constructionism for 12, 15 hours every week and my 2-credit independent study with Lynn on programming textbooks was consuming more time than my 4-credit engineering classes, it was like a light turned on.

At the end of my conversation with Gill, I asked him if this was what it felt like to find what you loved and let yourself love it. He said yes. I thanked him, walked outside, danced all the way back to East Hall, lay in the grass, and cried for joy.

I still don't know what I'm doing with my post-Olin life exactly, but I now know that it doesn't have to be a technical PhD (and actually, that it probably won't). I'll probably get an ECE or CS PhD somewhere down the line, but that'll be a decade or two after, when/if I find part of that discipline that I love and want to focus in on.


Tuesday, October 10, 2006

Villanelle for our time

Today's quote comes from "Villanelle For Our Time," by Frank Scott.

We loved the easy and the smart,
But now, with keener hand and brain,
We rise to play a greater part.

Monday, October 09, 2006


Speaking of tools which don't get in your way... (screenshot taken from this page too.) Windows-only, but Mac folks will recognize the Quicksilver-like tendencies. Basically, press Alt-space and this little dude pops up; start typing the name of the program you want to run or the file you want to open (you can set the directories you want Launchy to look in) and whoop, up it pops. No Start > All Programs > Adobe > Photoshop > Blah > Blahblah > Blahblahblah clicking.

I've been using it for all of 2 minutes, and I'm completely sold.

Minimalism vs Fullfeaturism

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.

Saturday, October 07, 2006

The Tipping Point

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.

Braindump. Carry on.

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.

Friday, October 06, 2006

Of course we're typical college students.

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.

Wednesday, October 04, 2006

The art of learning how to meet productively

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.

Sunday, October 01, 2006

Barcamp: Drupal tutorial

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 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.