|
|
Index: Home | What Is Izumi | Misc Links | Random Thoughts | Too Much To Read | The Rant Vault | Quotes
Here's an extract from the Webalizer log for my Izumi site in March 2008:

The numbers may vary and the ranking might chance slightly but overall that's a pretty constant search pattern on my site except for one unusual entry.
Amusing, isn't it?
This morning when going to work, I was on the highway in a nice & fluid traffic. I was probably doing in the 60 mph, nothing too fast. Suddenly I saw the minivan in front of me run over something on the ground and that projected it in the air.
That looked like a foot-long piece of solid, maybe wood or similar.
And it landed. On the hood.

And bounced back. On the windshield.

And finally bounced back somewhere else.
The whole thing lasted 2 seconds and now I need a new windshield and 5 days of body shop on the hood.
I guess it could have been worse. But, damn, that windshield was barely 4 month old!
Thinking about it later, my reaction had been to do absolutely nothing and in fact it was the right one -- there was traffic all around me, there was no escape pattern to avoid it.
When I rebuilt my desktop box six months ago, I picked an ASUS M2N-E motherboard with an AMD Athlon 64x2 5600+ and 2 GB of G.Skill DDR2.
That config has been running mostly smooth for quite a while. Once last year, I remember trying to boot the computer, the BIOS starts showing up and then nothing happens. It would look like this and just sit there:

That was once and it stopped the next day. And now it's doing this again.
Eventually if I let it sit there for 15 minutes or more, the BIOS might concede to start but the whole thing seems pretty flaky. It might not start or Windows might crash during the boot or something like the sound chip might not be working at all.
A quick search online seem to indicate that the ASUS M2N-E has frequent boot issues and the culprit might be the support of the memory. And I'm not even overclocking mine, so it's clearly a sign of a flaky series of motherboard. What is strange is that for me most of the time it had worked just fine (until now at least) and that eventually the board boots. Maybe because I run the conservative BIOS settings.
Reports from forums indicate that some BIOS updates might fix this so I'll see what the latest BIOS update does.
I'm just back from Thunderhill where I participated in the Hooked on Driving - Driver Development Program (select DDP here).

As always, getting to Thunderhill is the hardest part (not to mention the 6 AM wake up call) but at least the weather was very nice -- relatively clear, sunny with a refreshing wind -- and the people from Hooked on Driving were really nice.
The group was pretty small, we had 4 people in the beginners groups and 6 in the advanced one. The 4 of us in my group had 3 instructors whom were giving plenty of feedback, which was much appreciated.
The program consisted of a series of exercises: running over dots to understand the car limits, simulate getting in the dirt and back on the track, and of course the mandatory find-the-apex-yourself, the cone zigzag and the braking exercises. All the kind of stuff you have to do when you want to learn your car, which is exactly why I went there in the first place.
We also had some more practical exercises to learn the track, especially a good amount of time practicing turn 9. For those unfamiliar with the track, it's a nice "blind" spot: the track goes up the hill, and right at the top there's a turn to negotiate and since you can't see the road on the other side of the hill it's really hard to know where to go when you're doing that at 50 MPH :-)
Later we did the same with turn 5, which is even more tricky, but this time we stopped and literally walked the turn. Once used to it this way, I found these turns to be almost the easiest ones. We walked turn 11 too but I still found it pretty tricky to get right after.
We also had a nice number of real track laps, basically I was following a lead car driven by an instructor. This started nice and slow and depending on how the student behind was following the instructor would give some nice feedback or pickup speed. I built up a descent speed although a couple of times I almost wanted to pass the lead car ;-) but it was really nice to have a reference point in case I had forgotten how to negotiate a turn and most important to see in advance which zones would be tricky and where to brake. Having the instructor in front made most turns look almost obvious; remove him and it's a whole different story...

In total I drove 85 miles, with most of it on the track so it was pretty good for a training program. And I used about 8 gallons of gas, so that gives me a respectable 10 mpg, not bad :-)
Most important I see now what my little car can do, it's really nice to see it in action and to have a safe place to experiment with it. It's only a Civic Si so it's clearly not as spiffy as the other cars one expects to find there -- for example the others "beginners" cars included a Subaru STI, a Corvette Z51 and an F430!
I can really see a clear difference with the old 240SX. The most important is the understeer instead of oversteer of course, but the way the power builds up is interesting too -- the VTEC really kicks in at 6k RPM and the red line is at 8, so after a couple of laps I found where to downshift to get more RPM faster thus a better momentum.
So overall a great experience which was totally worth it.
I finally received my OLPC XO laptop, which I ordered via the G1G1 program.
It's cute and nice. Here are a couple of pictures:


Continue reading on the Olpc Xo Tips page. There rest of the pictures are here.
The original goal was that it would be a laptop for the kids to play with. That's still the goal, but I'm going to play with it first ;-) I need to see what activities would be good for them and maybe program some things I have in mind or alter existing stuff for my needs and then have them play with it under supervision.
It seems impossible to get a descent home printer now-a-day. I mean one you don't have to replace every other 2 or 3 years.
Last time I was ranting about how our last Brother HL-1440 sucked and we replaced it by an HP LaserJet 1012.
Turns out the HP LaserJet 1012 sucks too.
I always knew it was an "host-based" printer, meaning the Windows box is the one that prepares the image and sends it to the printer. What I didn't know is that it is actually a more powerful printer which is caped down due to some firmware bugs. These bugs are known by HP but they choose to ignore them, as one can read one this forum page: HP LaserJet 1012 Unsupported Personality PCL.
In my case, 3 years down the road, the printers works fine, very fine. When it decides to work that is, which doesn't happen very often. Continue reading the HP LaserJet 1012 rant for the full details.
So is another HP LaserJet going to suck too? What other printer would you recommend?
That's what happens when I make a left turn on 36th and Lincoln and I hit the middle street divider because I didn't get my turn right...

Luckily I'm "only" in for a new rim and tire, and some alignement.
Sorry for the poor picture quality, I took that one quickly with the cell phone just before going to the garage. What you see is a good size dent in the front left rim and a serious rip in the tire.
So what happened? I'm used to that turn, to go to the daycare, and it's usually a nice turn. However I made the turn too sharp too much in advance and I realized I was heading towards the divider, so I tried to correct and it looks like I was almost there since I barely hit it with the side of the rim. Even so it was quite a shock, I even immediately stopped on the middle of the bridge to see how much of the front bumper & wheel was still intact -- that's how bad it felt.
And a while ago I "shaved" another divider with the left rear rim & tire:

One post every two months... not too bad :-)
I've been really busy recently.
First, on the work side, I changed teams at the beginning of the quarter. That was really good and invigorating. Lots had to be done, and lots happened.
Update: I generally tend to avoid posting about work and I will make no exception here.
Second, I changed my "workflow" at home.
I got real tired of not writing Rig2 and decided to fix this.
I never got to implement Rig2 since the design was mostly self-centric: most of the design was driven by the desire to create a nice design. But there were no compelling features and thus no much motivation to start implementing it. Besides I had tried last summer to start the design and it had got boring and after a couple weeks of fighting I still had nothing to show but a bunch of self-referencing classes.
So I started again from scratch with Rig3. As indicated in the design doc, my plan was to implement the bare minimum that I needed right away. Then enough motivation would flow into the project to allow it to sustain itself.
To make this work, I had to focus on this single project for my spare time, and put aside a number of other ideas I had been toying with in the past two months. Too many competing ideas lead to spare time fragmentation.
And it worked. I started the design doc by finding which features I really needed that I didn't have. I found out that instead of re-writing Rig1 (the photo album) from scratch, I could just use it, and focus on resolving the current pain point -- namely that it was taking too much time to enter nice formatted posts in the Wordpress blog and that an Izumi/wiki-like syntax stored in plain text files with a pre-determined filename convention could generate those posts automatically.
Then I cut the feature set in two parts: the core "engine" part, which makes it possible to generate the content, and the "application" part, which actually generates the content. To start, I needed a bit of the engine and pretty much nothing of the application.
Then I cut the feature set even more so that I'd have a "two week" iteration -- the saint Graal of the over-hyped modern "extreme" programming paradigm. It turned to be more like a month-or-so iteration but it worked: I literally spend half an hour there, 5 minutes there, any time I had some time free and I could focus on the task, with the idea that I'd try to address at least one point of my task list per day. Think ahead where you want to go, split into small tasks and try to address them one a day.
At first I had nothing to show. Rather than rush to write a monolithic piece of "something" with no idea if it would work in the end, I used unit tests. Rather than focus on the naive and baseless mantra of "one test per method", I focused on a more sound strategy of "one test per feature". That is the idea of the test is to show that given task points get solved.
Accordingly half of the task points are for "feature X" and the other half are "UT for X". This means sometimes there are one or more tests for a given class or method, and sometimes there's just a single test that will test a top-level method and inner methods are not tested (kind of a black-box test.) In some rare cases, the result of a method call is really not testable, in which case I still write a test and even though I don't quite check the result, it acts as a coverage test.
There's more than 50% of the code dedicated to tests. One of my non-written goals was to keep the implementation as simple as possible and I think I did quite well on this.
Oh and I even rewrote my own template engine. In just 600 lines of python, including comments. This removes the need for the Django or Kid template libraries, which do too much for my needs and yet are not powerful enough.
Overall I'm very satisfied with Rig3 so far. After the initial cut, I started actually using it to produce content and quickly found necessary to add some of the features that didn't make it in the very first release. Most of the engine part will stay like this, changes are more expected on the application and templates part.
And we are back online! Business as usual will resume shortly. Thanks for you patience -- the management.
This week-end was placed under the "home networking improvement" category :-)
The fact you can read this is a good sign.
My initial goal was to rebuild my home DSL server and split it between a front DSL/DMZ server and then place a NAS behind it.
Currently it does both, and it's also my linux toy box, so it runs a mix of Debian stable + security and various Debian unstable, with a complicated iptable setup to expose only a limited set of ports to the outside with plenty more services in the inside, and then with a secondary network just for the wireless that is treated as mostly insecure with WEP, MAC filtering and all sorts of goodies.
That Linux install has been around since almost 7 years now, perpetually evolving as I updated the kernel many many times, changed hardware, changed hard drives, etc. There's no much in common with the stock Linux that got installed 7 years ago, and there's probably not a single hardware component that hasn't been upgraded.
So anyway, this time I needed to upgrade the hard drives again. I could just have swapped one hard drive by another twice bigger but that didn't sound satisfactory enough. Since I have so much free time in my hands (negative numbers always look more impressive), I decided to rebuild a new server from scratch just for the NAS, and then a simpler smaller server just for the DSL and NAT.
Then I realized that I can really dispense of the separate server for the DSL and NAT, or more exactly use a Linux box that does that very well: an embedded Linux such as any of those DSL/Cable Wifi routers does exactly that. So I started looking for one.
My first choice was towards a Netgear WGT624. I like the design, the specs are OK and I'm familiar with the configuration interface since my father has a Netgear DGB834G for ADSL2+ and that works pretty well. Unfortunately, the reviews and online comments for the WGT624 are really terrible (lots of wifi disconnects or router freeze.)
Since there's ample concurrence in the domain of 802.11g gateway/routers, I continued looking online and eventually it turns out that people mostly like the Linksys WRT54GS or the Buffalo WHR-G54S. Comments have it that the latest revision of the Linksys WRT54GS is bit too cheap and most will prefer the Linksys WRT54GL (same hardware with a bit more memory). All these apparently share the same reference design and the firmware is based on Linux.
Note that generally I wouldn't care so much if it ran Linux or whatever else. However here the bottom line is that the firmware being open source has been made public and there have been at least a couple of good projects started around this code base, adding features that you may not find in the original firmware.
Anyhow I ended up getting the Buffalo WHR-G54S, which incidentally was cheaper than the Linksys, available at Circuit City online with a discount and in-store pickup. Oh and it looks much better than the Linksys massive box.
So I first gave it a try. My idea was to keep the setup the router to do the NAT, DHCP and all that, disable these services on the PC server and use port forwarding to make the other services available.
Setting up the router was easy. The first thing was to change the admin password and to close the open wifi network (brr!), then configure the LAN on 192.168.1.x (it comes on 192.168.11.x), add some DHCP static hosts and the port forwards. On the old PC server side, it was a bit harder. It took me a while to realize that clearing the iptables tables was a bad idea when it defaulted to drop rules. Then of course I had to change all the bind config to match the new network. As usual what should have taken 5 minutes took a whole afternoon.
Anyhow yesterday I had my network mostly setup, with the only problem that trying to access my web site using the external domain name would just show me the router's config page. Quite frankly, I find it really dumb that they would put the router's internal web site on port 80 (Netgear puts his on 8080). Now that the problem with Apache's virtual host is that they depend on the hostname, so fine I duplicated the virtual host to use a specific hostname that was mapped to a local network address. It worked but then Wordpress started barking at me because they name their database table using the hostname itself! Grrr... That sounded like too much hacking around the fact that I couldn't change the integrated web server's port.
After thinking about for a while, I had a look at the DD-WRT forums and found a post indicating the web server port can be changed. DD-WRT is one of the open source replacement firmware for the router. So finally this morning I bit the bullet and just upgraded the firmware (flashing the router was as easy as following the instructions).
The feature set is mostly the same with some obvious enhancements: the integrated web server can run on https rather than http (which in itself solves the port 80 issue), and most important you can ssh to the modem, view the config files and manipulate all variables in the nvram manually.
So there I have, part 1 of my new home network. Next step is the NAS and DMZ.
Blog Archives:
Most recent posts
2007/06/19 - 2007/03/31
2007/03/30 - 2007/02/21
2007/02/21 - 2007/01/01
2006/12/30 - 2006/11/12
2006/11/04 - 2006/09/24
2006/09/24 - 2006/07/28
2006/07/27 - 2006/04/29
2006/04/24 - 2006/01/21
2006/01/21 - 2005/12/17
2005/12/12 - 2005/10/04
2005/09/25 - 2005/08/28
2005/08/28 - 2005/06/14
2005/06/11 - 2005/05/24
2005/05/17 - 2005/04/22
2005/04/14 - 2005/03/22
2005/03/18 - 2005/01/15
2005/01/13 - 2004/12/17
2004/12/16 - 2004/12/03
2004/12/02 - 2004/11/21
2004/11/21 - 2004/06/20
[RSS]
|
|

This work is licensed by Raphaël Moll under a Creative Commons License.
|
|
| Color Theme: | Gray | Blue | Black | Sand | Khaki | Egg | None |
|
|
|
|