|
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:
- Download the source code to the program you want to change
- Untar it on your hard drive
- Get it to build and run
- Open the source code in an editor
- Find the part of the code that you need to change to make the program do what you want it to do
- Make the changes you need to make to the code and test it to make sure it works
- 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!





They were writhing
|
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
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
|
2002
|
2003
|
2004
|
2005
|
2006
|
top
contact
This is a personal web page. Things said here do not represent the position of my employer.
|