Categories: life » goodkarma

RSS - Atom - Subscribe via email

Drupal from the trenches: This is my game

Posted: - Modified: | drupal, geek, goodkarma

I’ve been coaching a senior architect on a Drupal site he’s developing on a tight schedule. With a little bit of help, he was able to build all the functionality needed and keep up with constantly changing requirements. Now it was time to theme the site. As I was walking through how to modify the Zen theme to use the HTML, CSS, and images that he received from the designer, flipping between Vim editors in two Putty sessions connected to the web server, I saw his eyes start to glaze over. Hmm. He was definitely interested in learning how to do it, but I knew he’d enjoy learning it more if he had most of the framework already in place.

I offered to get things started. The senior architect asked me how much time I thought it would take. “Two hours,” I said, which was the first number that came to mind.

After lunch, I headed to the senior architect’s desk with my laptop and wireless mouse. I thought about asking him to change his password to something I could easily type, just in case I needed to start multiple sessions. Then I realized a much better way to do it would be to use my Emacs environment, which is already set up for doing really cool things with Drupal. So I switched my keyboard layout to QWERTY, used ssh-copy-id to copy my authentication ID to the server, and then opened the directory in Emacs using the location /ssh:user@host:/usr/share/drupal6.

Emacs worked like a charm. I edited files on the server as easily as those on my own computer, with all the syntax highlighting and keyboard shortcuts I’d gotten used to. I split windows, moved windows around, copied and pasted regions, and even did a little autocompleting.

I think I made the senior architect’s jaw drop.

I finished almost all the basic theming (minus a few quirky CSS things) in one hour and fifty minutes, ten minutes less than my thumb-in-the-air estimate. The senior architect said it would’ve probably taken him 16 hours over the weekend.

While we were chatting about the changes he’d need to make and the other things he could learn, the senior architect asked me if I played any games. I told him that I play one computer game–Nethack (an old text-based roleplaying game)–and I only play it in airports. I pointed to my laptop and said, “This is my game.” Programming has its own major challenges and minor opponents, it has progress, it has points, it has that adrenaline rush of trial and triumph. Programming is my game. Life is my game.

And it’s tons of fun. =)

Emacs is not just for computer geeks; also, these are the things that keep me going

| emacs, goodkarma

Reposted with permission because (a) it shows that people who aren’t computer geeks can also love Emacs, and (b) it gave me a warm and fuzzy feeling and encouraged me to keep writing, so I want to keep it around just in case I get in a rut again.


I’m an emacs newbie who’s trying to both simplify and empower my computing life, and I’ve chosen emacs as the tool to do that. I’m pretty excited about that, and overwhelmed, too.

Actually, a little background might help: I’m a PhD student in early modern (read: renaissance) English literature. Yeah, I’m a Shakespeare guy. I work in a field in which computers are, to most folks, MS Word, MS Entourage, and MS Explorer. I’m a nut who actually plays with stuff. (Actually, I don’t tell my colleagues about it. It could honestly damage my career. I know, it’s disturbing.) I also have some tech chops, being a refugee from the heady late 1990s tech boom where I co-founded a small company that made some money before it collapsed. I’ve been able to do the basics in emacs for years. The basics, but nothing more.

My introduction this time was a rather circuitous route: I moved from Mellel (on the Mac), to Scrivener where I discovered the wonders of MultiMarkdown. Happily I discovered that I could use MMD and TextMate to create LaTeX files without having to look at a bunch of distracting LaTeX markup. I could write plain text and, with a couple of handy keystrokes, create beautiful PDF files that my committee would appreciate. The plain text files took up no space and could be edited anywhere. I could fit a bazillion of them on my USB drive and carry loads of research with me to my office on campus (where I got a hand-me-down Dell running XP v.e.r.y.s.l.o.w.l.y) and on my much speedier Mac at home and even in Linux. Neat. Still, MMD felt hack-y and was only supported by one guy and I wondered if there was anything else like it out there.

Which lead me to muse-mode. From there you can guess my path of discovery: org-mode, planner-mode, remember: oh my!

For a prose writer like myself, the ability to have the cursor jump forward and backward by letter, word, line, and paragraph was nothing new, but M-a and M-e have changed my life. Why don’t all word/text processors understand that the sentence is the fundamental unit of prose writing? Why don’t they all allow me to navigate using units that make logical sense?

Whoever said that emacs was for programmers only surely isn’t a writer.

(This is becoming much longer than I had anticipated, sorry.) My point in writing is to tell you how invaluable I have found your two public chapters (I think they’re 7 and 8) have been for me. The whole idea of writing a book about emacs as cool (as opposed to just highly functional) is both obvious and revolutionary. Know that I would buy a copy today if only it were available.

I noticed in your blog that you felt you had lost some steam on the book. Please don’t. My life is better, my writing is better, my research is better, and, much to the joy of my wife, my progress toward a completed PhD is better, all thanks to emacs which, based on the tools I’m using, is also in thanks to you.

So thank you, and keep writing. I, for one, and hungry for more. I’m sure others are, too.

Jeffrey Windsor

Livin' la Vida Emacs

| goodkarma, happy

Squee! <bounce, bounce, bounce>

Democamp10: Back at Mars

Last, and certainly not least was Sacha Chua. If we could harness it I'm pretty sure we could power a few small cities of the energy that's contained in this one, tiny person – especially when you get her talking about Emacs. Sacha's demo, entitled, “Livin' la vida Emacs” was hands down the most entertaining of the evening. Sacha has basically taken this simple, extendable text editor and pushed it about as far as it can go – at DemoCamp10 she pulled back the curtain and showed us all her little systems and apps she's created in it. I like my GUI/Windows so the whole text-based thing isn't for me but it certainly was interesting to see just how strung out she's got that machine.

DemoCamp10: Congratulations

DemoCamp 10 was held last night, and three of the five presentations were from U of T. Sana Tapal (now at Jonah Group) and Andrey Petrov led off with the Online Marking tool; Jonathan Lung (who was part of the student team that presented at DemoCamp 5) showed us all how productive PHP procrastination can be; and Sacha Chua tried to convince us that Emacs isn't actually bad for you. The other two demos were a social networking/quotes site called, and Broken Tomb, which advertises itself as the world's first commercial Smalltalk host. There wasn't any new technology, but the presenters were entertaining, and it was fun to read the stuff that flashed by on the screen during their demo; the Smalltalk demo had a lot of technical and other difficulties.

Demo Camp Toronto 10 : The return to MARS

Sacha Chua showed off what can be done in the scriptable environment, in this case emacs, as she went from Text editor, to a.i. doctor, to game engine to task / email organizer and beyond. Sacha was six feet tall on that stage, even though she did not actual levitate at anytime (although she came close, as always). A Tour de force of the Emacs, a text editing tool built in a interpreted lisp language environment, bascially a personalized productivity platform which allows for massive customization. Sacha had the crowd entertained and enthralled. (Sacha blogged her own impressions and mentions that Emacs was speaking to her!)

What would you do with Sacha Chua?

Within Toronto's Web community, Sacha Chua has become one of the leading “personalities”. Armed with infectious enthusiasm, charm and smarts, she would be an excellent person to hire once she graduates from UoT. The key question is how best to use her talents. It would probably be as a “super customer service rep, who can come into a bad situation and get everyone happy by the time she leaves. If I was an HR person from Microsoft, IBM,, etc. I'd be knocking on Sacha's door ASAP.

Awww, good karma

| goodkarma, happy

You are really becoming an great speaker ;)
btw, I was hanging around the back and overheard people asking if you had
gone yet – apparently you were the only thing they were there for! awesome!

E-Mail from Mike Tsang

Random Emacs symbol: color-values – Function: Return a description of the color named COLOR on frame FRAME.

Reaching across the ocean: sometimes you just have to make things happen

Posted: - Modified: | business, connecting, goodkarma, happy

When Simon called me up to say that he was really excited about
working with QSR because of their interest
in Asterisk but that they hadn't gotten in touch with him yet, I said,
“Really? That's it, I'm going to make something happen.”

So I did. I didn't have anyone from QSR online in my buddy list, but I
knew that if anyone could find people, it would be
Clair Ching. (Tip: If you ever need any kind
of information, no matter how obscure, ask a librarian!) She gave me
Ian's cellphone number. I tried calling it up, but my cellphone seems
to be blocked for international calls. She called it up, but Ian
didn't answer. I sent a text message to Ian asking him to go online.

Clair also pointed me to other QSR people like
Marvin Pascual. Marvin told me that Ian was
probably out to lunch or en route to dotPH because it was Friday. He
gave me Ian's Yahoo Messenger ID and dug up Myna's cellphone number. I
remembered that Ian told me I should talk to Myna about business
development opportunities, so it was terrific that they were traveling

I noticed that I had a Google chat message from
J. Angelo Racoma. I remembered that
Angelo's associated with dotPH, so I asked him to track Ian down,
possibly by calling the dotPH folks. Angelo set that in motion, too.

… and when I saw Ian's Yahoo Messenger status change, I was, like,
“w00t!” I messaged, “Thank you for letting me assert my SUPER GEEK
GIRL POWER and renicing myself to -20!”

Big, big, big kudos to Clair Ching, J. Angelo Racoma, and Marvin Pascual for helping me track Ian down and get him online right then and there. I owe homemade cookies and lasagna all around. You rock.

Simon and Ian had a great conversation threshing out the technical
aspects of the project. I think they were basically establishing that
they knew what they were talking about and that the other person did,
too. While they were doing this, Myna and I chatted about the business
side of things.

Good stuff. I think it'll be a terrific fit, and I look forward to
seeing what'll come of it. I'm glad I helped make that phone
conversation happen, if only because I exerted enough will for them to
get around to talking. I knew they'd have a good conversation, but
it's sometimes hard to get around to it what with everything else
going on.

Sometimes you just have to make things happen.

Love 2.0

| goodkarma, happy, love

Photo by Rob Dudley. License: Creative Commons Attribution.


Just wow.

Whenever I falter and lose sight of my way, other people lift me up,
set me on my feet, and point me back in the right direction.

Where would I be without my family and my friends and those random
strangers and acquaintances who take a moment out of their busy days
to reach out to me in all their generous humanity?

I am thankful for these moments of sadness and confusion, however
brief they are, because they give me an opportunity to appreciate and
deepen my respect for the wonderful, wonderful people in my life.

From friends who called and messaged and e-mailed as soon as they read
my doubts, to my mom whose encouragement addressed my fears and
strengthened my resolve, to coworkers who not only told me of
interesting opportunities but also expressed their concern

I am loved beyond my ability to comprehend, and if I can spend the
rest of my life sharing that experience of love with other people…

It's been said that it takes a village to raise a child. I am being
raised by the world.

I'm Somebody!

| goodkarma

From Diary of a Somebody, in the Guardian (a UK newspaper):

“”The best bloggers use their blogs as a tool to engage with others on a particular topic. Too many people focus on telling their story,” advises IBM's blogger in chief, Christopher Barger. He had been busy writing his own blog for 18 months on topics utterly unrelated to work when the chief executive summoned him to his office and informed him he had been reading his blog for a year. After an initial panic, Barger realised he was being promoted, not fired. He is now responsible for “tying blogging to IBM's overall strategy”. In a company that employs 300,000 people, promoting a culture of internal and external blogging has led to connecting groups of people tackling similar problems across the world, identifying experts, such as Ed Brill who works on IBM's Lotus software, now routinely quoted by journalists and analysts as an expert, and spotting future talent – such as Sacha Chau, a placement student currently at IBM Toronto, now gaining recognition for her popular internal blog.

Minor fixes: Sacha Chua, not Chau, and I'm actually a graduate student on a research fellowship, not a placement student. =) But yeah! Way fun.