Posts

Showing posts from 2006

Dell 2007FP and xorg.conf

In order to better serve those folks Googling "2007FP xorg.conf", I've included an annotated xorg.conf file that seems to work well for me and my Dell 2007FP monitor. I hope it helps you. (It is, naturally, provided "as is", without warranty of any kind, etc., etc., because it could very well damage your hardware, although nowadays monitors are much more forgiving than they once were.) (It seems from my site logs that my venting about my adventures with Linux, xorg.conf, and the 2007FP is one of the more popular Google hits for my site now, just one day after it was posted.)

Venting about Linux

Time for a "Linux is not ready for the desktop" rant. Some time ago, I picked up a Slackware 10.1 4-disc set. I've been trying to use it on a Dell Precision 610 MT workstation, Xeon Pentium III. (That's what you can read on the label.) Through some struggling through the initial start up screens, I was able to determine the box has two SCSI internal drives. I also have a Dell 2007FP monitor (pretty nice). Getting X to come up in something other than 1024x768 was an ordeal. Perhaps I should have realized that no amount of so-called "handholding" was going to help me, and gone to the xorg.conf man page directly. Silly me, I thought this would be like a normal desktop environment, where I would open something called something like a "control panel" and find a sub-thingy labelled "Display" (KDE buries this under Peripheral) and select the 1600x1200 resolution my display claims to support. No. Only 1024x768 or worse. So I go to slackware...

Clive Page’s Free Fortran 77 guide

Clive G. Page 's Professional Programmer's Guide to Fortran 77 is available under the Gnu Free Documentation License. I suppose this means I should dig up my texinfo translation of his LaTeX, which I did a number of years ago, merge in his more recent changes, and release it.

More adventures in multithreading

Just wanted to capture a few more thoughts; over the weekend, I experienced what I think was my first case of deadlock. My chaosnet-on-OpenMCL implementation had worked just fine when the two sides of a connection were careful to exchange only one packet at a time, taking turns. When I tried to listen to a SEND (the Lisp machine analogue to an instant message), the CADR emulator sent two packets in quick succession, and my OpenMCL process would freeze trying to receive it. As an aside, I get the feeling that I don't really know how to debug this kind of thing in OpenMCL: looking at backtraces does not always make it completely obvious which semaphore or lock is being waited for in the various threads, and I don't think it is possible to look at semaphores to see which thread(s) are waiting. In any case, I concluded that my somewhat haphazard use of a "count lock" to protect access to packet number information in a connection was either being used recursively, or v...

Apple II Disk Transfer

It seems that others have also had the desire to upgrade the ADT (Apple Disk Transfer) tool to work with disks other than the Disk II 5-1/4 inch floppy format under DOS 3.3. ADTPro is a ProDOS-based version of ADT. It should presumably work with all block devices recognized by ProDOS. I e-mailed some code to David Schmidt which allowed ADT to work with the ordinary IIgs serial ports; direct access to the Z8530 chip might allow for faster transfers; that's a potential project.

Clickr: Lisp API for Flickr

Mark Probst has developed a Common Lisp API for Flickr and mentioned it on his blog .

More thinking about multithreaded queueing

Looking back on my previous post about multithreaded queues, and based on a little hacking I was able to do last night on my multithreaded-Lisp-user-mode-Chaos-client, and having read a bit more in the Little Book of Semaphores, (must stop typing 'sempahores'!), in particular the turnstile pattern, and the barbershop problem, there are a few other ways to slice the onion. A "waiting room", i.e., the privilege of blocking on the queue is exclusive. That actually makes a certain amount of sense when, for instance, Chaos packets are already sorted by the destination connection. Does it really make sense for multiple consumers to be concurrently transacting on a single connection? What would make sense, in a C10k kind of way, is rapidly generating server connections in response to RFCs, and handing these connections to waiting server threads. Or, if a connection is known to have independent incoming packets, or is deliberately recycled, connections can queue through a tur...

Some old thoughts about TeX

I saw a link on reddit the other day regarding some math-related videos, including a series of lectures by Don Knuth , including some on TeX internals. (One frustrating bit about the Web video is the blurriness of his terminal. Another is that he uses what is now a slightly-out-of-date version of TeX itself). He made a comment near the beginning of section 3, probably similar to things he has written, to the effect that in his education he had benefited both from reading badly-written programs, because they were evidence he could do better, and from well-written programs, because they were a pleasure to read. He then wondered aloud which category TeX is in, but that either way it was a win. I'm not at all sure myself. Perhaps TeX is a monument to the best that can be done in Pascal, and simultaneously a warning that it is the best that can be done in Pascal. I had a definite feeling during grad school, when I was learning LaTeX to write my thesis, and learning Lisp on the side,...

Lisp hacking

I wanted to store a link to Alastair Bridgewater's (a.k.a. nyef on IRC) SBCL-based LispOS notes . Nyef's most apparent distinguishing characteristic is an amazing willingness to hack low-level internals on Intel x86-based Lisp implementations. Given the claim that " The classic problem with the 'LispOS Project' is that a large portion of the early effort would involve low level hardware hacking ", nyef seems to be the ideal candidate for overcoming that problem. Also, just wanted to record a link to a vendor selling the remnants of the Interlisp environment. Seems like for something under US$3000, one can purchase a x86-Linux-compatible version of the Interlisp programming environment.

link dump for 22 Feb 2006

A bunch of stuff I was reading back then Weak Data Structures write-up by Bruno Haible, courtesy of Gary King . The classic UNIX HATERS Handbook. Panda's TOPS-20 System. Spare Time Gizmos store front to buy actual hardware emulators of the PDP-8. Rainer Joswig e-mail on feel of old Symbolics Lisp Machines An e-mail discussion about CHAOS vs. TCP in port collisions, a list of Symbolics CHAOS services Google cache of mahalito Symbolics Y2K statement ITS site HACK directory Google Groups discussion on Basic Chaosnet information Google Groups discussion on Chaosnet and ARP Google Groups discussion on Transmitting Chaosnet over Ethernet Google Groups discussion on Why Chaosnet (nostalgia) Google groups search for chaosnet ITS build information build.doc.txt 36bit.org Retro PDP-10

Some ITS links

Wanted to collect a few links on ITS, the Incompatible Time-Sharing System The ITS 1.5 Reference Manual Bjorn Victor's Luser's Guide Bjorn Victor's e-mail setup (perhaps useful information for Lispm Zmail setup) The KLH10 PDP-10 emulator More information on PDP-10 emulation The www.its.os.org archive of AI & MC Paul Svensson's ITS system on the Web

Some ChaosNET thoughts

I looked a little more closely at Bjorn Victor's (TODO: add diacritic to o in Bjorn) work on Chaos emulation for ITS emulators, particularly the CHUDP protocol for passing Chaos packets through UDP. Apparently, it uses a simple header (different from the user-mode UNIX header), and dynamically adds to its routing table when it receives incoming packets. This seems particularly handy. Also, I noticed that the chaosd/server code for the user-mode UNIX implementation does not typically check the hardware destination, but jumps right to the software header for the destination information. This seems wrong. I'm trying to figure out the most useful way to improve the Chaos support. Some of the use cases would be use Internet hosts as repositories for CADR Lisp Machine microcode and "world" bands use Internet hosts as file servers for Lisp machine source code provide Internet-based early-21st-century substitutes for 1980's functionality, such as e-mail and i...

What’s in a name?

I started this blog with a perfectly cryptic name: "wpblog." I suppose it is a natural impulse shared by many people who download WordPress and are faced with a blank box. I spent an additional minute on the issue today, and decided this was a blog about "getting down to brass tacks." Hence, my current name "BrassTacks." I'm not sure how good Google is at measuring the "uniqueness" of this sort of thing. "Voltaire" as the web host was a nod to my previous blog impulse left unfulfilled at blogger.com, when I was hoping to develop a vicious talent for satire. The name alone proved ineffective, but easy to remember. It turns out I have a few good names stored up; one is a nom de guerre, which, for security reasons, I will keep secret. I also have here a good name for an instrumental group: "The Cooper Brass Choir." Properly euphonious. If you have a good enough name for a techie blog, you may have it in exchange.

What is this about

This blog is a simple experiment for now, to understand what is available for a "scratchpad on the Web." I have a picture which is something more like a lab notebook for my various hacking projects. The requirements are roughly access from various places where hacking might happen; an idea for a project can happen at work, but I don't want my personal laptop with me at all times. some kind of permanence, as suits a lab notebook. Various things this might mean: version control with timestamping no revisions allowed at all (this seems extreme: one wants to separate a polished presentation view from the underlying archival lab notebook. One can revise slides for a talk without altering the historical record of the lab notebook) ability to archive into a big .tgz for burning to disk as necessary flexible project documentation easy way to archive associated files; diffs, error messages, screen shots, sketches, links, data sheets downloaded for the web. perhaps I...