Recent blog entries for mjd

Tue Sep 5 17:29:53 EST 2000 1700-1840 2225-0400
  • CVS proxy coding. Read HTTP standards for POST forms.
  • Craig rang. Talked for ages.

Mon Sep 4 18:44:07 EST 2000 1800-1900 2240-0630

  • CVS proxy coding.
  • Helped design work for pen input architecture.
  • Proof-read deliverables document.
  • Scanned images of design diagrams.

Fri Sep 1 13:45:58 EST 2000 1320-1410 1550-1700 2200-0400:

  • CVS proxy coding.
  • Conference call with the guys in the States.

Thu Aug 31 17:08:31 EST 2000 1600-1830:

  • CVS proxy coding.
Wed Aug 30 13:45:58 EST 2000 1400-1830 0000-0600:

  • Started looking at CVS proxy problem.
  • Had a quick phone meeting with Craig and Greg.
  • Resent a fax to Craig via HTML and TXT over email. The resend is necessary because we have the world's dodgiest fax.
  • Prototyping for CVS proxy. It's been a while since I did this sort of thing.
  • The proxy back end CGI program now serves up a .gif file. The proxy front end now sends a simple server request. Request and response headers are handled appropriately.
Tue Aug 29 23:33:07 EST 2000 0200-0400:

  • Slept most of the day, recovering from yesterday!
  • Did some design for the CVS proxy problem.

Mon Aug 28 21:37:18 EST 2000 2200-0900:

  • Tried to get printer working. Finally found it was because I'd turned off the parallel port in the BIOS. Dowp!
  • Also, this printer cartridge is very old, and I eventually found I should run the "all pins on" self-test first if I've not printed in the last 10 mins...
  • Did paperwork (timesheets, invoices, expenses, proposals).
Wed Aug 16 10:24:44 EST 2000 0900-1130 1330-1900 2100-0130:

  • Took the router back to the shop. Shop called Netgear. Netgear said take it to the distributor. We took it to the distributor who wasn't happy because "you're a customer". After I jumped up and down, they said they'd have a new one for us by the end of the day. Bizarre love triangle!
  • Greg bought a whiteboard.
  • We did some planning, writing down the things we need to do. We want to run XFree86 4.0.1 using a framebuffer and replicate the embedded device work done by Century Software. We can do that on PCs before we get hardware.
  • This requires upgrading a PC to Linux 2.4. But we don't want to risk our development machine (which is also our gateway). So I will set up another small machine (AMD K5/160) to act as the gateway. Got the pieces together from my junk bin pretty quick.
  • Went to the shop and picked up the new router. Also, asked the shop for quotes on PCs and other equipment.
  • Greg played with the router - this one works! :-)
  • I put the hardware of the new gateway together, and got it to boot the RedHat installation CD.
  • Greg continued work on strace.

Thu Aug 17 10:24:44 EST 2000 1030-1200 1415-1900 0050-0530:

  • Greg kept hacking strace. He finally got it to link, and he tried it out. It didn't work first time which is hardly surprising. It's horrid code doing bad bad things.
  • Started installing RedHat packages on the gateway. Without X, it's possible to make the whole thing take less than 150mb of disk (glibc is about 30Mb of that).
  • Customised the gateway - removed unneeded software, configured other software.
  • Spent far too long futzing about with the network card and the PnP modem - they worked just fine in the other machine.
  • Went to lunch with our friends from our old work.
  • Greg bought a nice sturdy chair. He's come far too close to breaking all of mine...
  • Started configuring the gateway machine to be the dialout server/ICQ proxy. We will still use it for this even after we have the cable modem, in case of downtime on the cable network.
  • One of our other machines suddenly died. Much futzing later, I found the cache SIMM had come loose.
  • Moved our work disk from the gateway machine to another machine.
  • Installed a different (external) graphics card to replace the internal crappy 2mb one. Finally, a useable resolution and color depth.
  • After setting up the DNS proxy and dialing server on the gateway, I finally got my first dialout at 5am. Ouch.

Fri Aug 18 13:19:44 EST 2000 1300-1420 1510-1730 2100-2310:

  • On the home straight with the dialout machine. Final tweaks.
  • Greg found vfprintf bug which was killing strace.
  • gnb found bug in entry.S which prevented strace from working.

Sun Aug 20 13:19:44 EST 2000 1130-1200 2045-0115:

  • Went to swap meet. Bought Red Hat source CD, and 2 power cables.
  • Moved all the equipment to another room, so that the only thing in our office was one PC, for the cable modem installation.

Mon Aug 21 13:19:44 EST 2000 0900-1800 2130-0100:

  • Installed Windows 98 on the PC, so as not to freak out the cable company.
  • The cable installation was supposed to take 2-3 hours, but took nearly 6. Everything that could go wrong, did go wrong. Part of that time was blocking up a hole that turned out to be useless, and reconstructing a brick that the drill shattered. Also, it took a long long time to configure the PC to work with the cable modem.

Tue Aug 22 13:19:44 EST 2000 0930-1320 1340-1840 2200-0130:

  • Carried all our stuff back into the office and set it up.
  • Worked on getting the networking going. Tried for a long time to get the router to work with a Linux box.
  • Found out from our friend what we needed to do to get it to work with Linux (the DHCP request needs to know the official name of the machine).

  • Futzed and tinkered with the router trying to get things to work. Found some bugs in it, plus manual mismatches, and upgraded to the latest firmware. Seems a little better, but not much.
  • Late at night, outgoing connection failed. The router couldn't be pinged. After much head-scratching, I found that the DHCP client on the WAN side was giving itself a private (192.168.100.*) address - impossible! Also, it seemed to give this IP address up after a couple of seconds. Left it unconnected, as I didn't want it flooding the net with DHCP requests and getting us into trouble. Rebooting the router did not help.
  • Installed ssh on felix.

Wed Aug 23 13:19:44 EST 2000 1100-1420 1540-1900 2110-0230:

  • Retried the router. The DHCP address now looks normal, but the lease counters are far higher than I would think normal. I think the router software has DHCP bugs.
  • gnb wrote fork() test for strace.
  • gnb sent strace patch to SuperH mailing list, and to the strace maintainer.
  • gnb and I set up cvs log to linuxsh-cvs mailing list script.
  • gnb figured out glibc problems - MUST compile with threads.
  • Downloaded PeeWeeLinux, a Linux dist targetted at embedded needs.
  • Since we're now outside Alphalink, we can no longer send or get mail through there. Reconfigured our mail programs to get the mail from our cableco.
  • Set up a .forward file on Alphalink to redirect my mail here.
  • Downloaded and installed StarOffice 5.2.
  • Tried to read Greg's timesheet spreadsheets with StarOffice. No joy.

Thu Aug 24 13:19:44 EST 2000 1120-1300 1400-1830 :

  • Set up some NFS shares of our MP3 collection, our SuperH work area, and our home directories, so they can be accessed on all our machines. This should really be done with the help of NIS and autofs. Greg will do that.
  • Reinstalled sshd on catflap.
  • Worked out why ssh was not authenticating me on other machines.
  • Explored why only some of my mail is being forwarded to me.
  • Untarred PeeWeeLinux and started having a look at it.
  • Worked on spreadsheet for timesheets.

Fri Aug 25 13:19:44 EST 2000 1245-1515 1645-1730:

  • Timesheet stuff.
  • Looked at PeeWeeLinux. A twisted maze of shell scripts. The website is so promising, but it feels quite clunky to use.
  • Went to OfficeWorks and bought stuff.
Wed Aug 16 01:29:41 EST 2000 1400-1800, 2050-0240:

A slow day today.

  • The retailer we rang didn't come through with the router they'd promised, so I found another retailer and went to them instead. Because it's not an in-stock item, I paid the money at the retailer, but had to go to the wholesaler to pick it up.
  • Read the router manual and played with it for a bit. We couldn't get the serial interface to work properly (it sends but won't receive) but we got the telnet over ethernet method working in short order.
  • In the process of testing filtering rules, we managed to cause the ethernet interface of the router to stop listening.
  • After a lot of stuffing around with different cables and ports and PCs, we have to conclude that the serial port of the router is faulty, so it's an expensive paperweight. I'll take it back and get it replaced tomorrow. Good thing we did this before the cable modem arrives.
  • Greg started work on getting strace to work. He's trying to do this natively on fluffy, but unfortunately we are still being plagued by assorted NFS errors and timeouts. It's really painful. As a datapoint, trying to save a file from inside Chiyonofuji's "vi" hangs for ages. We strongly suspect a bug with NFS writes.
  • Cleaned up some more files and directories in our working area.
  • Sent mail to Warren Harris.
  • Did we mention the strace user-mode code is simply hideous?

I want to get a CD containing the RedHat 6.2 source RPMs. This would be a convenient way of making new or replacement packages for Chiyonofuji when we find existing ones that don't work, like inetd.

There's just so much stuff we could work on. What to do next? We really need a whiteboard so we can chuck TODOs on it and juggle them around until we get a priority we're happy with. Hmm, might do it with some scraps of paper.

Mon Aug 14 14:38:10 EST 2000 1015-1315, 1415-1800, 2300-0430:
  • Drew up purchase order for Craig.
  • Rang Optus to order the cable modem. The installers will be here in one week - Monday between noon and 5pm.
  • Rang a local computer hardware retailer, got him to order a Netgear RT311 home router from his distributor. We will use this as our firewall. Should be picking this up tomorrow afternoon.
  • Rearranged our office, with the addition of Greg's table. Rerouted and tidied up all the cables and the junk that's been accumulating. Now it looks like an office!
  • Went to lunch at 1315, back at 1415. Picked up credit card.
  • cvs uped our checkouts. This PSTN modem is killing us - 15 minutes per checkout per update.
  • Cleaned up and deleted a few old checkouts we had.
  • Drew up list of equipment we need.
  • mjd worked on the NFS timeout problem. Turns out that to effectively debug the kernel after it's started we will need a separate command channel from the serial port, either another serial port or telnet over the Ethernet port.
  • gnb worked on building a telnetd for the SuperH. After spending a lot of time on it, in.telnet was found in /usr/libexec/. What's it doing there?
  • inetd is not working. netstat shows no waiting connections, even though inetd is running. After much head- scratching, we found that the "syslog" logging mechanism wasn't working. /dev/log could not be created by syslogd. We traced this down to having left "Unix-domain sockets" out of the kernel configuration.
  • After this, inetd was running, but not binding any ports. After much head-scratching we found that the inetd program doesn't have a problem, but the chiyonofuji distribution has misconfigured it by putting the config file somewhere else. After creating the necessary configuration files, inetd seems to work now. In particular, Greg symlinked /usr/etc/ to /etc/. Did inetd ever work?
  • Grr, this inetd has a bug: It adds extra, random and irrelevant options to the program it's spawning. As an example, in.ftpd complains about being given "-L" - where does that come from? This is possibly because TCP wrappers aren't being used on this machine, but we'd need to dig around more to find out.
  • We tried to run the in.ftpd daemon manually, but it doesn't like the -p flag that is supposed to tell it to open its own connection, rather than being handed the connection on stdin/stdout like when it's started by inetd.
  • We're now starting in.telnetd manually, but the client-side telnet says "All network ports in use". We think this is because there are no pseudo-ttys. Time to get them working.
  • Created /dev/ttys[0-7] and /dev/ptys[0-7] and tried again. No luck. Maybe it uses Unix98 ptys.
  • Recompiled the kernel with Unix98 ptys. Still doesn't work.
  • Worked out how to mount the devpts filesystem necessary for Unix98.
  • Grr, still the same problem. Greg is looking at the glibc sources to see how it accesses ptys. It seems to try and use the Unix98 method (if the kernel headers glibc is built against supports Unix98 ptys). If they're not available, it falls back to the BSD pty method.
  • Oops, those BSD pty/tty pairs should have been [pt]typ instead. Once we fixed that, we now get a login prompt. But after the username, things die. It turns out that in.telnetd is looking for /usr/bin/login which doesn't exist in chiyonofuji. This incarnation of in.telnetd could never have worked! We worked around this by symlinking /usr/bin/login to /bin/login, which does exist.
  • Well, a telnet login works!! Hi-5's all round!! inetd is still broken though - without it, in.telnetd will have to be manually started via the serial port whenever we want to log in. But at least we can log in two people at the same time, and we can use the serial line as the debugger channel for kernel debugging while using the network for interaction.
  • Sent off mails to people.
  • Arrgh! The cache patches that Niibe-san checked in earlier today seem to have fixed our NFS problems. More testing tomorrow.

One conclusion we have reached: Although Chiyonofuji shows signs of not having been extensively exercised, the selection of packages and its basic philosophy will make a worthwhile basis for the work we're planning in the future. I think coupling this with Stuart's ideas of having source RPMs for the packages in the distribution and we have a winner. I cannot wait to start working on it.

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!