Posts

1213486160 or 1347703880

As a public service, I would like to remind everyone that  1213486160 == 0x48545450 is 'HTTP' as a 32-bit integer  on a big-endian machine using ASCII or UTF-8. 1347703880 = 0x50545448 would be 'HTTP' in little-endian 32-bit format. Neither is likely to be a packet length.

Converting ITS documentation

I've been playing around a bit more with the Incompatible Timesharing System (ITS). I figured out enough networking on my Mac to be able to use the Java Supdup terminal application to interact with KLH-10 simulating the KS10 architecture. As part of my study, I have also been converting some INFO files to Texinfo, starting the with the file (slow link to UP.update.uu.se ITS system) INFO;DDT > which Bjorn Victor converted to an HTML version: DDT Primer ). I like Texinfo because it can (theoretically) print nice looking books for an ebook reader like my new Kindle Paperwhite, as well as Info compatible for Emacs navigation, and HTML. Actually distributing these files is problematic. ITS generally seems to have operated with a pretty free notion of distribution: send a magnetic tape to pretty much anyone with a PDP-10 who asked, without executing any kind of explicit license agreement, or even having copyright notices on the text. Anyone with access to the system could take i...

Basic ITS hacking

OK, so ITS has only one level of directory in its file system, otherwise known as the SNAME portion of a filename. How do you create a directory if there isn't one already? For instance, if you login as an unknown user JAO and ITS complains it can't find MD:USERS1;LOGIN JAO , and Emacs won't let you create a file USERS1;LOGIN JAO because USERS1; doesn't exist, what do you do? I expected there to be a DDT command to create a directory. But there isn't one. I found a cryptic comment to "look at the documentation for the OPEN UUO." So I did. Examining SYSDOC;_CALLS.124 The file names ..NEW. (UDIR) cause a new directory to be created with the given sname if none already exists. Creating a directory in this way causes a message to be printed on the system console. (A directory is destroyed only when the disks are salvaged by the stand-alone salvager, which is generally run just before the time-sharing system is restarted. A directory is then destroy...

Getting KLH-10 and ITS to work under Mac OS X

I've cycled back to being interested in the Incompatible Timesharing System (ITS). In the interim, I replaced my G4 iBook with a Intel-based MacBookPro. With a bit of hacking, I was actually able to get local networking to communicate with the simulated PDP-10, and thought I would record some of the details. I needed to Install tuntaposx . I used the macports version. Crudely hack the ks-base-its build in klh10-2.0h from panda-dist (and additional patches) to define KLH10_NET_TUN=1 under Mac OS X. I need to clean up my own sources and put them up on github. Also, I needed to hack around the removal of "mtio.h" from Mac OS X 10.6, borrowing the minimum definitions from FreeBSD headers. I guess Apple decided they really didn't want tape drives connected to their machines. Maybe it is still in OS X server? There are a few rough edges in tun/tap support. Following a hint I found online, I open a bash shell as root, and execute exec 4<> /dev/tap0 # create t...

Restoring the Heathkit Jr 35

Image
Heathkit Jr Electronic Workshop "35", Model JK-18 The Heathkit Jr 35 evidently had been stored with batteries in the battery holder, which corroded badly. I replaced it with a plastic RadioShack 4 D-cell battery holder (270-389), wired into the negative power rail and the hot side of the power switch (which is part of the variable resistor). Corroded battery holder Replacement battery holder mounted I mounted the replacement battery holder with a dozen "heavy duty" 1 inch foam double-stick mounting squares (rated to hold 900g), stacked in four groups each three high to overcome the various screws protruding through the main board. The remote speaker station The rubber foot used to protect the relay from being crushed when you turn the kit over was stuck to the remote speaker station. I put it in its rightful place. Relay with the brown rubber foot Earlier, I had built a couple simple circuits, which showed the meter and new battery pack w...

Heathkit Jr. 35

I just picked up a Heathkit Jr. "35" circuit experimenter kit on eBay. I had one of these as a child; I don't remember how it is that we came to own it, but I had an itch to re-read the manual. Buying the manual from vintagemanuals.com would have cost as much as the kit + manual. I remember being befuddled by the descriptions of how transistors worked. It turns out the descriptions of capacitors and transistors were a bit sketchy: I think it is pretty much impossible to understand how the AM radio experiments actually function from the text. The operation of the ferrite-core antenna and the various windings are unexplained as well. I was a bit surprised to find all four transistors in the kit are identical. Thanks to this Heathkit part cross-reference , I see that they are part 417-118, a.k.a. 2N3393 NPN transistors.

Importing from Wordpress.com

I'm working on importing my blog from Wordpress.com . Blogger.com apparently will let me use AdSense even with free hosting, and I should get to know more about AdSense and about the Blogger platform as well, as a Googler. I used the Wordpress.com export feature to create an XML file, and used the http://wordpress2blogger.appspot.com/ tool to convert it, as I was under the 1 MB size limit. The code behind that converter is evidently at  http://code.google.com/p/google-blog-converters-appengine/ . That tool plus Safari saved the result with an .xml.html extension, which resulted in a Blogger error code of "bX-uroqxm" when importing. Removing the extraneous .html allowed the Blogger import to mostly succeed. It does not re-map my Wordpress author identity to my Blogger profile. It also does a pretty poor job importing my source-code formatted content. So I'll be slowly publishing the old posts, tweaking that kind of thing as I go.