First Moon Landing: 19 years x 2

July 20th, 2007

According to the official story, man first landed on the moon 38 years ago today. What makes this special is that 38 years is divisible by 19. And 19 is the period of the Metonic cycle, the approximate common multiple of the tropical year and synodic month.

6939.6075 days =  19 tropical years
6939.6887 days = 235 synodic months

What this really means to us is that the phase of the moon today is very close (within about 6 hours) to what people saw 38 years ago on July 20, 1969. Very cool.

So, enjoy the view of the moon today and remember back to when we as a global humanity first bought the story that man had finally made it to the moon. ;)

My First Bug Report

May 15th, 2007

I recently submitted my first bug report to the Debian Project, regarding mod_dav and apache2. It was accepted by the maintainers of the relevant packages, and they’re taking the necessary steps to fix it.

So I’m proud of my little contribution. :) Yay for me! Yay for Debian!

Gulistan and Yorgos — Encounter Between the Notes

March 17th, 2007

My Tchou Tchou is having an important exhibition of her artwork at the Today Art Museum in Beijing. The opening reception will be on the evening of March 29th. I hope you can join us there.

More information can be found on her website: Gulistan Art.

[Gulistan and Yorgos ecard]

An awesome blog about Python, Linux, and System Administration

March 9th, 2007

I recently discovered an awesome blog about Python, Linux, and System Administration. Chris Siebenmann is a sysadmin for the University of Toronto Unix Systems Group. I could spend hours reading his archives. Smart guy. Articles are short and informative to the max. Hope you enjoy it:

Emailing cron output to different users

February 1st, 2007

When a cron job generates output on either stdout or stderr, the output gets mailed to the owner of the crontab. Now, you can specify an alternative email address by setting the MAILTO environment variable in the crontab, but this applies to all jobs in the crontab.

So, if you want the output of different jobs to get mailed to different users, then you can just redirect the stdout and stderr of each job to the mail command like this:

13 02 * * *     /bin/backup 2>&1 | /usr/bin/mail -s "Cron <root@exobox> /bin/backup" \
user@example.net

MTR as a combined traceroute and ping tool

December 21st, 2006

mtr combines the functionality of the traceroute and ping programs in a single network diagnostic tool.” And it’s really cool.

Like ping, it sends “echo” packets from your machine to the target machine to measure latency and packet loss along the network path, but it continuously displays updated statistics in real time as it operates.

Like traceroute, it shows the names or IP addresses of each machine along the network path, also updating these statistics for each machine.

Here’s some (frozen) sample output from the ncurses mode (terminal mode) mtr:

                                My traceroute  [v0.71]
exobox (0.0.0.0)                                             Thu Dec 21 16:15:01 2006
Keys:  Help   Display mode   Restart statistics   Order of fields   quit
                                             Packets               Pings
 Host                                      Loss%   Snt   Last   Avg  Best  Wrst StDev
 1.                                         0.0%    20    0.4   0.3   0.2   0.7   0.1
 2.                                         0.0%    20    1.6   1.4   1.0   2.7   0.4
 3.                                         0.0%    19    1.3   1.3   1.0   2.7   0.4
 4. 10.0.0.25                               0.0%    19    1.1   1.2   1.0   2.7   0.4
 5. 219.142.10.17                           0.0%    19    1.4   2.6   1.2  16.0   3.3
 6. bj141-130-121.bjtelecom.net             0.0%    19    1.4   1.6   1.4   2.5   0.3
 7. 202.97.57.221                           0.0%    19  199.3  12.0   1.3 199.3  45.4
 8. 202.97.37.9                             0.0%    19    1.7  35.7   1.3 186.5  56.2
 9. 202.97.53.146                           0.0%    19    1.8   2.0   1.5   4.8   0.8
10. 202.97.61.50                            0.0%    19  284.6 292.2 278.3 305.8   8.7
11. so-4-0-0.mpr2.lax9.us.above.net        15.8%    19  286.2 291.9 278.6 325.2  11.5
12. so-5-0-0.mpr1.iah1.us.above.net        15.8%    19  313.2 323.8 311.3 340.5   8.6
13. so-5-3-0.cr1.dfw2.us.above.net          5.3%    19  319.6 331.1 314.1 404.6  20.3
14. so-0-0-0.cr2.dfw2.us.above.net         11.1%    19  696.0 718.7 693.3 797.2  33.7
15. so-3-1-0.cr2.dca2.us.above.net         36.8%    19  347.4 354.9 342.5 368.7   8.6
16. so-0-1-0.mpr1.lhr3.uk.above.net        11.1%    19  421.5 423.6 411.1 438.2   7.8
17. so-1-0-0.mpr3.ams1.nl.above.net        11.1%    19  433.9 438.9 422.4 514.1  22.0
18. DutchDSL.above.net                     33.3%    19  423.1 432.7 418.7 463.0  11.4
19. ge-0-1-0-v189.rtr1.ams-rb.io.nl        27.8%    19  405.8 414.7 398.2 434.6  11.6
20. 213.196.40.242                         23.5%    18  404.8 418.1 399.9 485.8  21.9

Looking at the Avg column (units in ms), the above output shows that my network packets pass through Beijing Telecom’s routers to the U.S., then to the U.K., and finally to their destination in the Netherlands. A large latency increase occurs between lines 9 and 10 (presumably leaving P.R. China), and another between lines 13 and 16 (U.S. to U.K.).

mtr has some interesting display modes besides the above, where it shows the latency of each packet graphically according to a dynamic scale. In this way, the above points of really large latency can be easily detected.

mtr can be obtained from the mtr website, or it can be installed in Debian/Ubuntu by:

# apt-get install mtr-tiny

or

# apt-get install mtr

for the ncurses or X11 versions, respectively, although mtr-tiny appears to be installed by default in the Debian and Ubuntu machines I have tested. So you may already have it.

61-Point Relaxation

December 15th, 2006

The following relaxation exercise comes from Stephen LaBerge and Howard Rheingold’s Exploring the World of Lucid Dreaming (1990), which they adapted from Swami Rama’s Exercise Without Movement (1984). It’s one of my favourite meditations—one that I can do in bed, waiting in line at the bank, or while riding in a taxi. Anywhere I can be still, really. I need more practice, though, because I rarely succeed in ending on the number 61. I’m often off by one or two.

I believe I like this meditation because it is methodical, with clearly laid out steps to take. Plus each step gives me feedback that feels good, and also serves to tell me when to move on to the next step. Aside from keeping track of the number I’m on, I rarely get lost.

Please try it. You’ll need to experience it for yourself to see if this method suits you.

1. Study the figure

The figure below illustrates 61 points on the body. To do this exercise, you need to memorize the sequence of points. (This is not difficult, because the points are arranged in a simple pattern.) They begin at the forehead, travel down and up your right arm, then across to your left arm, down your torso, down and up your right and left legs, then back up your torso to the forehead.

[61-point relaxation diagram]

2. Focus your attention on one point at a time

Begin at your forehead. Focus your attention between your eyebrows and think of the number one. Keep your attention fixed at Point 1 for several seconds until you feel that your awareness of the location is clear and distinct. Think of your self being located at this point. Before moving on to the next point, you should feel a sense of warmth and heaviness at this spot.

3. Move through each point in sequence

In the same manner, successively focus your attention on each of the first thirty-one points. Proceed slowly, and imagine your self being located at each point as you reach it. Feel the sense of warmth and heaviness before moving on. Do not allow your mind to wander. At first you may find this difficult to do; you will discover that at times you suddenly will forget that you are doing the exercise and start daydreaming or thinking about something else. If you lose your place, return to the beginning or the last numbered point you attended to, and continue. Practice with thirty-one points until you can attend to them all in sequence without daydreaming or losing track.

4. Extend your practice to include all sixty-one points

When you can attend to thirty-one points in sequence, repeat Steps 1 and 2 with all sixty-one points. Practice this until you can do all points without losing your focus. Now you are ready to use this exercise with lucid dream induction techniques.

The Machines Have Taken Over

December 8th, 2006

The latest comic from Dilbert speaks some truth about life as a Sysadmin:

[Dilbert: The machines have taken over]

Ubuntu Open Week Begins Tonight

November 27th, 2006

If you’re curious or interested in getting involved in the Ubuntu community, “Ubuntu Open Week” begins tonight. It’s “a week of IRC tutorials and sessions designed to encourage more and more people to join our diverse community”. More information is here:

https://wiki.ubuntu.com/UbuntuOpenWeek

The times in the calendar are UTC, so just add 8 hours for China. For example, the first session on Monday on the “Ubuntu Desktop Team – Sebastien Bacher” at 15:00 UTC will actually occur at 23:00 tonight, Beijing time. Of notable interest is the “Ask Mark” session on Tuesday, featuring Ubuntu founder Mark Shuttleworth.

By the way, I plan on attending some of the earlier-in-the-evening sessions, but once it gets too late I’ll just let my IRC client log the rest of them while I’m sleeping. ;)

Matrix Transform

November 15th, 2006

The latest comic from xkcd is just too funny. Check it out:

[Matrix Transform by xkcd.com]