I am poor. QED.

By jp 07 Feb 2001

graduate student stipend paid to MCB grad students: $17,000
published average annual cost of living in lebanon / hanover: $17,033

boy are they mean.

Andor CCDs

By anders pearson 04 Feb 2001

Lani points out that: “With Andor, you can be sure you get dynamic range with linearity to match!”

(i admit that this post was mostly just an excuse to put up Lani’s cool yearbook photo. that’s what she gets for sending me a copy.)

EDSAC assembler

By anders pearson 04 Feb 2001

for the first two weeks of my Microprocessor Systems Lab class this semester, we were writing machine code for an EDSAC simulator. EDSAC was one of the first true von Neumann machines built in 1949. it had a whopping 2K of memory and 3 registers (an accumulator, multiplier and multiplicand). however, it was a 32-bit architecture (beating Intel by about 40 years).

anyone who’s actually written any machine code before knows that writing anything more than about 10 lines long is tedious and painful. typically, your data (variables, etc) is placed at the end of the program and other instructions access it via it’s relative address. this means that if you insert an instruction somewhere in the middle, your data has moved up a space and you now have to go through your entire program, changing every instruction that accessed data to make it point at the correct address. eg, if you had the following EDSAC code (relative addresses added for clarity):

<br />     GK [sets the relative address base]<br /> 0   ZF<br /> 1   A143@ [add the contents of relative memory location 143 to the accumulator]<br />     ...<br /> 143 PD [an opcode that happens to have the binary value of 1]<br /> EZPF [marks end of program]<br /> 

and you add an instruction after the A143@, you would have to change the A143@ to A144@ as well as increment the address in every other instruction that accessed memory.

knowing that this was going to drive me nuts, i wrote a simple EDSAC assembler that lets you work with variables rather than memory addresses. so now you can just write:

GK 1
ZF 2
O [$figs] <br /> O [$cr]
O [$lf] <br /> A [$n]
TF
A [$here$] <br /> G56F [#print n]<br /> TF [#clear accumulator]<br /> A [$here$]
G88F 3
AF
T [$n] <br /> A [$here$]
G56F 4
5
PD [=n]
#F [=figs]
@F [=cr]
&F [=lf]
EZPF


and it will replace anything that looks like ‘[$variable]’ with the address for the instruction tagged with ‘[=variable]’. it also removes comments (’6’) and handles a special variable ‘[$here$]’ that inserts the current address (useful for calling subroutines via Wheeler jumps in which you have to first put the current location into the accumulator so the subroutine will know where to return to).

i know that EDSAC isn’t quite as popular a platform as, say i386, these days, but somebody might find this useful. i think next i’ll write a C compiler for EDSAC. :)

on the cusp

By anders pearson 04 Feb 2001

(the discussion on the no free will post was starting to veer more into evolution so i thought i’d start a new one.)

the first big milestone in evolution was the appearance of protein molecules that could replicate themselves; ie, DNA and the beginnings of life in general. since almost all mutations are harmful or neutral, the initial strands of DNA stayed pretty much the same from one generation to the next. things evolved very slowly for a few billion years until one day, a couple single-cell organisms bumped into each other and discovered sex. BOOM! suddenly, with genetic material getting spliced together left and right, DNA started changing much more quickly, producing exponentially more and more complicated lifeforms. multicellular life was able to evolve and evolution was in overdrive. now we’ve sort of levelled out again; but we’re about due for another huge leap in evolution.

as i see it, there are several looming possibilities for this next leap:

1) genetic engineering; pretty soon we’ll have the ability to go in and build ourselves from the ground up. there’s obviously some potential there.

2) machines; evolution and biology are robust but not very efficient or fast. technology tends to be just the opposite. machines become more like biology; humans become more like machines. either we merge and go on to the next stage of evolution together; or humans become just the stepping stone that was necessary to bring the world into the age of machines.

3) cancer. cancer is just our cells mutating and reproducing out of control. since most mutations are harmful, cancer tends to kill us. but really, what if this is the next step and cancer is just the beginning of it. at the beginning will be a lot of casualties, but otherwise, it’s sort of evolution in fast-forward. (yeah, this one’s a bit of a crackpot idea, but i thought i’d throw it out anyway.)

i’m thinking that a combination of the first two is the most likely. the third may have just been nature’s “fallback plan” if we hadn’t turned out smart enough to build machines.

Guinness

By anders pearson 31 Jan 2001

a couple days ago, after i installed it on a new server at work, i was all set to post a glowing review of RedHat 7.0 up here. then i decided that first, i would upgrade my home machine. everything is basically settled down now. overall, i was pretty impressed with it although i have a couple small issues.

first off, the new installer “anaconda” is great. its done with Gtk now so linux newbies migrating from windows will be fairly comfortable clicking their way through it. it basically follows the same steps as the old redhat text-based installer (a few things are in slightly different order. eg, you set your root password and setup your network card before choosing packages now). also, the descriptions of the packages that pop up when you go through the list selecting them (assuming you choose “select individual packages” at the right step) are very nice; with the copious amounts of stuff crammed into a linux distro, even a fairly knowledgeable linux geek won’t know what every single one is and what it does by name.

the first problem i ran into wasn’t so much with the installer, but i encountered it during the install process, so i’ll mention it here. RH7.0 is now a two disk install. not knowing this, i went to linuxiso.org, downloaded and burned the first disk assuming that disk 2 was the standard disk of source code that the old versions shipped with. the install was about 90% complete when it stops, pops out the cd-tray and a “please insert disk 2” message pops up. crap. had to go download and burn disk 2 in a hurry.

while the installer’s interface is nice, the guts aren’t quite so good. i first tried to “upgrade” over my RH 6.0 system. it sort of worked. a little. not really. the console was basically fscked so i couldn’t logon to the machine. i could get it to boot in single user mode and start everything up fine (aside from hundreds of warning messages) by hand and then it was ok, but normal boots were no good. i never really did that much weird stuff to screw up my configuration so it’s disappointing that the upgrade wasn’t very smooth.

instead, i wiped the / partition and just did a straight install. that went real smoothly. then i noticed that i had no network. not only did i not have a connection, the system was pretty sure that i didn’t even have a card. i was pretty sure that i had a pretty standard SMC card (about 2 years old now) in there which previous versions of redhat had had no problem detecting and configuring. so i had to go back and do an “expert” install, forcing it to recognize my card. that did finally work.

i was happy to see that by default wu-ftpd is now not installed. however there were still lots of weird things like rpc, yp-bind, portmap, and nfs turned on by default. it seems to me like the default settings for an OS should be as restrictive as possible while allowing the non-power users to get the most common stuff installed without having to call a help line. so i expect to see telnet on a default install. someone new to linux might not know enough to install it themselves later, but they certainly expect to have it on there; if it weren’t, redhat would have to spend their entire budget on answering phone calls from confused newbies. but things like rpc and yp-bind aren’t really your typical home-user fair. they’re pretty useful if you have a well set-up (and firewalled) intranet, but out in the wild they seem to attract security holes at an alarming rate. but it also seems like the only people who would really be interested in them are the same kinds of people who probably know enough to be able to set them up for themselves. so why include them on the default? i don’t get it.

what made me the happiest though was seeing that openssh is now included and on by default. sweet. now they just need to remove telnet and i’ll be pretty pleased.

ASIDE: the new server at work came with a GeForce 2 GTS. if you keep up on graphics cards, you’re probably drooling right now. dear god. that is a fast card. i was running an openGL screensaver in the root window at full speed/resolution while i worked and it didn’t even make a noticable dent in performance/responsiveness.

export $HOME=128.59.33.118

By anders pearson 28 Jan 2001

sorry about any weirdness and downtime experienced in the last 24 hours or so. i’ve been moving everything over onto a fast new server and in the process of configuring things, i had to break stuff a few times. should be pretty much stabalized now though. hopefully things will also be a little faster :)

my $PDA = &get_pda(rand());

By anders pearson 25 Jan 2001

i’ve decided that the time has come for me to join the whole PDA craze and pick up a little box with which to run my life. so the question now is which one to get?

for obvious reasons (microsoft is evil, a UI designed for a large screen and mouse/keyboard doesn’t scale well to PDA sizes, etc) anything running WinCE (Cassiopeia, iPaq, etc) are right out of consideration.

what’s left is basically the Palm family, Visors, and the Sony CLIE. Visors are cheap and have the whole module thing going for them but i’ve been told that they’re rather flakey and the screen isn’t that nice. goatee.net sings some pretty high praises for
the CLIE and so that is a definate possibility. of the offical Palm
machines, the m100 is very cheap and has a plastic faceplate that doesn’t break easily
(important), the Vx looks pretty and is really small, the IIIc has a color display which is pretty cool, and the VIIx has built-in wireless internet, which is very cool.

after reading tons of reviews, i’m basically torn between the CLIE and a
VIIx. The CLIE is smaller, nicer looking, and cheaper, but that wireless internet has the potential to be better than sex.

so now i’m asking for the opinions of any of you out there who know anything about PDAs and have any recommendations to make or warnings for
me.

being poor is punishment in itself

By jp 25 Jan 2001

I’ve been in a phone battle with these turds at the student loan collectors all day. and they have the gall to expect me to
pay long distance so I can try to have them NOT mess up my credit rating.

example:

(after on hold for 10 mins, my dime)
them: evil corp, can I help you?
me: you have an 800 number?
them: yes, but it’s not for regular use
me: what is it please?
them: it’s not for regular use
me: i see, what is it please?
them: it’s not for…
me: WHAT IS IT.
them: 800-something
me:

(a minute later)

same operator: hello?
me: me again. now let’s talk about my account.
them: are you calling on the 800 number?
me: yes I am. do you need my account number?
them: it’s not for regular use.
me: I’m going to shit on your face. why the fuck do you have one then?

(a minute later)

a different operator: evil corp
me: hi. help.

and so it went. turns out I have to send them a form like every week reminding them I’m still a student. or they’ll take my kids before they’re born.

they can really do that y’know.