Planet iFolder 30 September 2005 20:56 EDT The iFolder guys have a planet now. Brady and Calvin will be at the GNOME Summit this coming weekend showing people how to use iFolder and the underyling framework to sync data between machines.

(For those of you visiting this web page from the Architectural Digest interview, iFolder is an open source tool that makes it easy to share collections of files, bookmarks, mails, and other things with friends or teams of people. It has native clients for Windows, Mac and Linux and can share with a server or peer-to-peer.) How to become a hacker 28 September 2005 22:01 EDT Monday in a "chatroom interview" in Beijing someone asked me how to become a hacker. (Those of you visiting this web page from the People Magazine article, you should know the term "hacker" here refers to a computer programmer, not an internet vandal).

My interlocateur wanted to contribute to an open source project, but what tools should he use? What books should he read? Where should he hang out? Where should he start?

I've been asked this a few times so I thought I'd repeat my answer here. Miguel tells me he gets this question all the time too, and gives the same answer I do.

So, I'll let you in on the secret. Here are the steps to becoming a hacker:

  1. Download the source code to the program you want to change
  2. Untar it on your hard drive
  3. Get it to build and run
  4. Open the source code in an editor
  5. Find the part of the code that you need to change to make the program do what you want it to do
  6. Make the changes you need to make to the code and test it to make sure it works
  7. Run the diff -u command and email the output to the mailing list
That's it; follow those instructions and I guarantee you will be a hacker.

If there are no programs that you want to change, then maybe you don't want to be a hacker after all. Or maybe you haven't used software enough; how can you be a software user in 2005 and not have things you want to change?

Steps 1-4 sound stupid and obvious, but the fact is most people get stuck on step 1. Can you be a hacker if you don't have any source code on your computer? It might be possible but I haven't seen it done.

If you bloody your toes on step 3 a few times, don't be discouraged. It is ridiculous and humiliating but sometimes this step takes the longest and is the most difficult.

If you're lucky, step 5 is as easy as grepping the source tree for some relevant string from the program's GUI or output. It's more likely that you'll need to spend some time figuring out the layout of the code, sprinkling source files with printf's as you home in on the right area. It might also help to step through things in a debugger.

Step 5 gets easier the more experience you have. The more code you've read, the more programming patterns you know. Recognizing programming idioms makes it easier to figure out what someone else was thinking when he wrote the code you're trying to change. Of course step 5 is also easier if the software you're working on was written by a programmer with a lot of experience, who tries extra hard to write easy-to-understand code. Programmers with experience write easier-to-read code because they've been through the shock of having to fix a bug in code they wrote a year earlier and recognizing nothing.

Step 6 is commonly referred to as "hacking" but it's not always the part that takes the longest. If you're trying to hack a change into something big and complex, expect step 5 to eclipse step 6 in time consumption. One of the best hackers at Novell recently spent two months working on a hack involving Wine that ended up being a two line change. So prepare yourself mentally to spend a lot of time in step 5 before you reach step 6, and sometimes to go back from 6 to 5 a few times.

But most people don't reach this point, so if you're at step 6 you can safely call yourself a hacker. Whole books are written on how to do a good job of step 6, so I won't elaborate too much here, except to say that you probably can't be good at writing code until you've written a huge amount of it.

The real key to being a hacker is getting to the point where you're hacking. Without source code, a working build and a working knowledge of the layout of the code, you're not even able to start hacking. But once you know your way around in there and you're writing code and watching the program take shape, well, that's the fun part.

You just gotta get there. Goodbye China 27 September 2005 03:31 CCT It's nearly 4am Tuesday morning in Beijing and I should be sleeping. My flight leaves at 1:20pm, connects in Toronto, and I get into Boston at 6:30pm...on the same day!

Go go gadget international date line!

    [photo]
    They were writhing
    [photo]
    Blood Kebabs
One thing I particularly enjoyed from this trip was meeting Xin Wei Hu and Zhe Su, two of the hackers in Novell's Beijing office and two really spectacular guys. I'm looking forward to showing you two around Boston when the time comes! Personal Training 27 September 2005 01:03 CCT My sister Peach has opened a personal training business in Palo Alto. She's awesome, so if you need personal training in the bay area, call Peach! I now understand how my sacks work, stop emailing me 26 September 2005 03:58 CCT It's bedtime in Beijing and thanks to everyone who explained how they work, I am not going to bed ignorant.

I am going to bed in a pigsty, however. Let Me Tell You About My Sacks 26 September 2005 02:03 CCT Today was mainly spent shopping. I got a late start. I woke up at one and didn't feel like leaving my hotel room till something like 3pm, laying around in my own filth, watching CNN. I had some trepidation about the upcoming shopping experience, since at the market on Friday when I'd haggled too hard the salesladly had abruptly grabbed me by the shirt and started punching me in the head. "You waste my time!" she shouted, drawing a crowd. "You big waste of time!"

Today's experience was smoother, though, and in fact so smooth that toward the end of the day so grotesquely laden with goods was I that I had to go luggage shopping just to have a way to carry the bounty back to the hotel. In my defense, I was only buying presents for people I know, nothing for myself. As my friends know, I exist only in the world of ideas and have no material needs.

But at one booth in the massive shopping complex, I saw something so strange and cool I was compelled by an external force to get it. The vendor there was selling plastic sacks filled with a transparent red fluid. I have taken pictures so that you can share in my amazement and wonder:

 

Swimming in the fluid is a tiny metal disc with four perforations around the center.

The disc is slightly dented, and when you squeeze the dent, the perforations make a snapping sound and the dent pops to the other side of the disc. Then, something magical happens.

The fluid immediately around the disc starts to form into opaque crystals and become hard. And it gets hot.

The heat crystals quickly spread. Like ice-9.

In five or ten seconds, most of the bag is opaque, with the consistency of a cold slurpee. And it's warm, almost hot.

These things are advertised as heat packs to soothe tense muscles. The flyer explained that to restore the liquid to its original transparent state and prepare the heat pack for another go I need to boil it in water. The flyer says that it works through "frictional reaction" and that it has "some efficacy on invigoating the blood circulation."

Does anyone know how this works? Search UI Hackfest Underway 26 September 2005 00:57 CCT Lukas Lipka's search hackfest this weekend is yielding fruit. He and Mario Sopena have hacked up the beginnings of Garrett's mockup.

 

Mario's sidebar is a great start. Lukas is now working on rendering search results inside the main body of the window. They are using Cairo for the various widgets.

Stop by #dashboard on gimpnet to join in the fun. Travel is romantic 25 September 2005 22:57 CCT Yesterday: the intention of cycling for hours through rolling Chinese countryside in clean air, rice paddies to one side and in the distance sharp mountains piercing the sky, riding toward the mountains, legs burning, chest heaving, mind becoming clear and focused when old man pushing a cart looks up to smile and wave, shouting a greeting, probably, it was several sounds in a language you have none of the facilities to interpret, but it can only mean: you are white and American and tall and wealthy and a stranger here but I can see from the way that you ride that you have spirit and that we are not so different and that we are Good, both of us. We are good.

During hotel breakfast buffet I'd planned to take a train out of the city but hearing of my plans The Local Office insisted on sending a driver and "Representative" and "Volkwagen" and after some argument and picturing the scene when in dayglo yellow jersey and The Shorts That Keep No Secrets I maneuvered myself and my American-sized ultra-light bicycle (fabricated with avionic precision) into a crowded Chinese railway car, knocking askew the baggage of fellow passengers and bloodying noses, I quietly acquiesced and for two hours our black Volkswagen plodded through the smoggy streets till the last tall buildings were behind us and the Representative of The Local Office said: it is time to get out of the car.

There were trucks. Enormous loud trucks with mysterious cargo that must be military-industrial in nature, huge infernal parts for huge infernal machines of destructive purpose, conveyed on giant trucks lurching and clattering and honking and farting noxious gases directly into lungs and mucus membranes, swooshing past I-beams and backhoes and concrete mixers and utility roads, a scene of constant construction as for two hours down the highway I rode through the miasma, eyes stinging and turning and pressing closed one nostril and blowing and don't hit the shoulder again SHIT I snotted my shoulder, god that's disgusting, and these lycra/spandex shorts and shirt can't wipe anything, not snot, nothing, so it will just sit there all afternoon, slimey in the sun, wicking into the fabric. Slippery fabric.

Middle Finger of the Week 23 September 2005 01:20 CCT goes to aggregators that resize your photos and don't preserve the aspect ratio. Extremely Small MP3 Players and Eating Blood 23 September 2005 00:25 CCT

    [photo]
    Zhe Su, author of SCIM, holding a 512MB MP3 player
I am collecting lots of interesting goodies at the high-rise gadget bazaars here in Beijing. There are whole categories of devices here that I have never even heard of before, let alone seen in the US. Even the iPod shuffle or the nano — the sveltest of the Western offerings — look obese and American next to these lean, muscular Chinese beauties.

Other popular heretofore-unknown gadgets include tiny, matchbook-sized MPEG4 video players and hyper-thin palm-sized video cameras.

   

It's really inspiring to see these bustling centers of Chinese commerce filled with alien technology. Usually when I leave the US I feel like I'm leaving orbit. My European friends come to Boston to buy hardware because it's cheaper and the new stuff is released in the US first. But here I feel I've discovered a separate, technologically-advanced civilization.

   

Last night we ate at Xiabu Xiabu, an extremely popular local chain specializing in boil-it-yourself hotpot meals served at a long counter that snakes around the restaurant, maximizing its surface area like the villi in your intestines. They bring out plates of raw vegetables and meat and you dip them in the boiling water with chopsticks and dip them in sauce and eat. Totally awesome, and I hope to visit again before leaving China.

   

Although they did make me eat clotted pig's blood. Bicycle Travel 22 September 2005 00:22 CCT As part of my continuing effort to justify owning a really nice bike that I'm totally unqualified to ride, I decided to pack it along with me on my current trip to Barcelona and China.

The best bicycle store in Boston sold me a hard plastic case. Disassembling the bike for shipping was my job: you have to take off the handlebar, pedals, seat and wheels in order to fit the bike into the case.

The first time it took about an hour, mainly because I didn't realize that the threads on pedal bolts turn in opposite directions on opposite pedals, and so I spent about 30 minutes strenuously tightening the left pedal before realizing what was going on.


With Thomas and Kristien in Barcelona Friday night

Biking in Barcelona was unbelievably fun. I rode from my hotel through the city and up to the top of Tibidabo three times, shifting to first gear and standing up on the pedals for the last five minutes each time, Barcelona laid out 1500 feet below me. And then zooming back down the mountain into the city, keeping up with the motorcycles at 30mph zagging through traffic...

When I got to Beijing on Sunday, I was tightening the seat into place when a sudden loud snapping sound indicated that I'd overtightened the seat bolt and sheared it in half. I brought the broken bolt downstairs and found a maintenance guy at the hotel who dug through a huge box of screws and bolts and in about 60 seconds pulled out a perfect match. Phew.


An interesting drum-based bicycle hand brake mechanism
that seems to be common on bicycle carts here in Beijing

This weekend I plan to try to get out of Beijing — an amazing city, but one where the pollution makes my throat and eyes sting — and find some rides here in the Chinese countryside. If you have any recommendations, please send mail!

Oh, and one tip. If you're going to ship your bike on an airplane, remember to let the air out of the tires first. Pop 21 September 2005 23:27 CCT Last month at Foo Camp, we took pictures of balloons popping with sound-activated flashes. Turn off the lights, open the camera shutters, and poke the balloon with a nail. The sound of the balloon popping reaches a microphone which conveys it to a little clapper-like circuit that triggers the flashes to go off.

  Life todo list 20 September 2005 19:54 CCT

Go running along the great wall of China: check!

According to my wrist GPS I did 6k, though much of the time it was more like mountain climbing than running.

(Beautifully composed photos courtesy of Ralf Flaxa)

. . .

2001
     
     
  Aug Sep
Oct Nov Dec
2002
Jan Feb Mar
Apr May Jun
Jul Aug Sep
Oct Nov Dec
2003
Jan Feb Mar
Apr May Jun
Jul Aug Sep
Oct Nov Dec
2004
Jan Feb Mar
Apr May Jun
Jul Aug Sep
Oct Nov Dec
2005
Jan Feb Mar
Apr May Jun
Jul Aug Sep
Oct Nov Dec
2006
Jan Feb  
Apr   Jun
     
     

top

contact
This is a personal web page. Things said here do not represent the position of my employer.