Saturday, October 18, 2008

REVIEW: IBM ThinkPad 755CS - Installing and using Win95B (OSR2)

  IBM ThinkPad 755CS  
 Installing and using Win95B (OSR2) 
 

Remember, this is a 486DX4-100 with 24MB of RAM; so the critical question is how well it will perform with a potentially demanding OS. 

Disk Space:  With a minimal install and after deleting the "online services" (AOL, etc), the OS footprint was just over 70 MB.  After installing diskspace 3, the compression ratio was 1.5 to 1 on a fairly full hard disk; though it was not possible to find out how well it compressed individual folders. The disk had a good number of .wav and .avi files, so the compression ratio could probably go higher.

Screen: 640 x 480 is too small for modern apps, but it the screen is physically large, so I experimented with using Arial and small fonts at 7 or 6 points; this helped a lot; the start menu can hold more items, the title bars can show more info, and not take up as much horizontal space.  Plus, shrinking the menu settings (be sure to adjust both active and inactive settings) makes the start menu fit lots of items on the screen. It's not as good as having a 800x600 screen, but it's a lot more useable. 

Boot: before I compressed the drive, it took just under 45 seconds to boot to the windows desktop. After compressing the entire drive (including the win95 folder) it took just under 10 seconds longer to boot.

Speed: Just doing normal windows things (managing files, opening the built in apps) felt very snappy at 8bit color; and only slightly sluggish at 16bit color (so slight it may have been imagined). For more demanding tasks, it also held up well (see next two paragraphs).

Web browsing: Well, Win95B comes with IE 3.0, so I tried surfing the web that way for a while on a 14.4 modem. Wow, 14.4 modems suck. But we can't hold that against the IBM, since it would be easy and cheap to upgrade to a 56k modem. But what of the browsing speed once the page is downloaded? It's not bad, in that pages redraw relatively quickly, and scroll smooth enough. It's not nearly what a modern desktop can do, but it's certainly useable, even if you have two or three windows open (this was even true when I had a copy of Word95 in the background). More of an issue is that web pages are no longer designed for 640x480, and IE 3.0 can't handle many modern web sites (including google!). So it would be worth upgrading, though I'd be careful to find another browser with low resource requirements (perhaps opera?). Also, running in small font size made a lot of improvement for some web sites, though images were still too big for my tastes. Perhaps this is where the small screen resolution really comes to the head. Summary: useable, but not nearly good enough to make it a replacement for a real computer.

Office 95: Office 95 works great on this machine. Word loads in a mater of seconds, and runs perfectly once loaded. I'd say it's easily competitive with Office 2k on my 433 MHZ desktop Celeron. Plus, Office 95 is so much more spartan and refined than 2k; aside from the file interop issues, I'd almost call Office 95 an upgrade over Office 2k.  Call me crazy, but that's how I feel.

Sound and Modem: The 755CE has an "mwave" DSP, which can support both MIDI, WAV, and 28.8k functionality, though not all at once. Supposedly you can connect to the internet and play some "wave" content at the same time. I was unable to test this, since installing MWAVE drivers for Win95 required a new bios update, and I couldn't get it to flash the bios. This stems from IBM deciding that you are only allowed to perform a flash if you have a fully charged battery; mine is long past dead. I suspect you could hack it to get around this issue, but it wasn't worth it to me.

"Mouse": the built in track point control worked great, when windows booted. Sometimes, though, it would freeze before loading all the way; eventually I decided it was a problem interfacing to the track point gizmo, and tried loading a real mode DOS mouse driver before windows; this seemed to fix the problem every time; though I suppose it could just be luck too. As a mouse, the trackpoint takes a bit of getting used to, but is clearly much better than the alternative of having no mouse. With time you might even enjoy using it, though I never got to that point. Certainly it's fine for moving windows around and managing your files, but I wouldn't want to game, or draw with it.

REVIEW: IBM ThinkPad 755CS with PC Dos 6.3 and SuperStor/DS

IBM ThinkPad 755CS  
 PC Dos 6.3 and SuperStor/DS
 

Some stats about the machine, as it was when I got it:

Running PC Dos 6.3, the machine had 611k of free space in lower memory.  This was with EMM386, HIMEM, some IBM utils relating to the power management and PCMCIA slots, Smartdrive, mouse, and doskey installed. No drive compression though.

Time to boot to DOS: 32 seconds. Time to boot to Windows 3.1 after that: 20 seconds.

PC Dos 6.2 uses SuperStor/DS for disk compression; it was not enabled; but I wanted to see what it would do so I tried it out.  Running SS/DS dropped the free conventional memory by 41k,  to 570k.  I tried running RAMsetup, PCDOS's version of memmaker, and it only improved things by 4K, for a total of 574k free conventional RAM. Then I used SS/DS to compress the drive; however it complained that the machine's 800 MB drive was too big to compress. Instead I made a 300MB drive out of the disk's remaining free space and copied over the files to find out what the true compression ratio was. After copying over a random selection of the hard disk it achieved a miserable 1.3 to 1 ratio. Concluding that a lot of .wav and .avi files had been copied, I tried again, just copying MSOffice 4.2 and Windows. This produced a ratio of 1.6 to 1, only slightly better than the 1.5 ratio I usually get when I use MS drvspace. Considering I didn't do a direct comparison on the same files, this difference may not actually be significant.
  

How to succeed at a small liberal arts college (Hampshire College, specifically)

Succeeding at Camp Hamp

I feel like I did pretty well with my Camp Hamp education. I enjoyed my time there and I was engaged intellectually with interesting ideas and work. And after graduation, I got into almost every grad school I applied to.  I realize this is not the experience of many Hampshire students, however.  I think that is really a shame.  There is no one way to do Hampshire right, but here is my take on how to come out happy and successful:

Complete four classes every term up to Div3

Look, Hampshire classes really are not that hard.  Especially if you only put in the amount of work you want to. You will need 12+ completed classes for your Div2. Also, the rest of the world seems to believe that learning happens in classes, so you need to have some to show for your four years in college. 

If you really don't like a particular class, you can try to switch to another class. But if it's too late for that, don't just drop the class. Instead, carefully limit how much time you spend on the class.  Just set aside X number of hours to finish everything assigned. It's a good skill to learn how to finish any given sized project in 2, 4, or 20 hours.  Of course, the quality won't always be as good as you like, but you'll at least have completed something. Remember that even an OK evaluation usually says nice things and complements your Div2.  Besides, if you handle things well, you won't have to take more than a few classes you don't like. The trick is to follow the next piece of advice:

Audit at least 8 classes for the first two weeks

Ideally, you don't want to get stuck in classes you don't want to finish.  The true quality of a class is not clear until you've spent some time in the class. So don't shortchange your options. Go to twice as many classes as you need for that term until the work load becomes an issue. Many classes don't have work due for the first few weeks. Take advantage of that to feel out your options.

Treat your advisor as such

Your advisor gives you educational advice. They are not your boss. If you don't like their advice, seek other people's advice to complement theirs.  If everybody agrees with your advisor then you are most likely wrong, not them.  On the other hand, if your advisor is giving you bad advice, either convince them of your point of view, or switch to somebody else.

Keep in mind your advisor is probably smarter than you are. There is no harm in asking them lots of questions. In fact it's a really good idea to get advice from your advisor. Just don't let them run your academic life. They care about turning out a well rounded individual. You care about following your dreams. Your dreams more important. Just be sure that your dreams involve doing good work, and enough effort that you actually learn something.

Also, be sure to switch advisors at least once or twice in your Hampshire career.  Look, you take a lot of their time, they won't mind if you swap them out for another person. And it will be good for you to try out somebody else for size.

Turn your work in on time

Even if its crap, it's better to get it in on time, and keep up with assigned work than to get lagged behind the class. Deadlines are real in the "real" world. Get used to doing as good a job as you can in X hours, and then moving on. Of course, Hampshire makes it easy to push back assignments, and you should take advantage of this when it allows you to do significantly better and more interesting work.  But only rarely does pushing work back really do that without significantly reducing the amount of time you will have to devote to work later in the semester. 

Push yourself

People got away with almost anything while I was at Hampshire. That has some good sides. But really, why are you paying what will soon be close to $40k a year for? The chance to do what you want, in a supportive environment. You can't get an education without working for it. Aim for making it fun, and be ready to spend a little time on the non-fun work, and a hell of a lot of time on the fun work.

Conclusion

Hampshire is really pretty easy to get through. Spend some time in the outside world, and other places of higher learning and you will have to agree. The point, however, is not getting through. The point (should be) doing what you love and learning a lot from it. And if you want that, Hampshire can let it happen better than most places.

Bio...

I've written longer bio's, and more funny ones, but at least this one is up to date.

Part 1: Floyd (1979-1995)

I grew up in Floyd, VA, a rural area of south western Virginia.  To give you an idea of just how rural, Floyd had one stop light, and I lived 30 minutes away from it (though Floyd does have a quite spiffy web site!??).  My parents decided to home school me, for a variety of reasons, but as I got older I took over most of the control of my schooling.  Unlike most home schoolers, I stuck with it for the entire way - it felt like the right way to learn, and I had no interest in going to public school in Floyd.

Part 2: College (1995-2002)

At 16, I took a class at the local community college.  I found that not to be of my liking, but decided to give college one more try before giving up on the idea entirely. I then signed up as a non-degree seeking student at Virginia Tech, liked my first, seven credit semester, and spent two and half years taking a light load there.  Never really interested in being a full time Hokie, I also spent part of one year working at software lab that was part of the VT ISE department.  After amassing 42 credits at Tech, I transferred to Hampshire College so that I could focus my time on Cognitive Science (mostly Computer Science and Cognitive Psychology).  In my final year at Hampshire I did  research on Genetic Programming, producing a 127 page thesis on a range of topics, as well as maintaining active research in other areas of CogSci.  After graduating in 2001 I accepted a one year paid research position on the Hampshire faculty to continue on the topics in my thesis, teach a class, and research graduate schools. 

Part 3: Graduate School (2002-2008?)

Hampshire was a fine school, but it had no graduate program. After applying to 16 graduate schools, visiting 9 of them, and spending months agonizing over the decision, I decided to attend UC San Diego's PhD program in Cognitive Science. Ah, sunny southern California. Actually, it's too sunny for its own good. 

Part 4: The future (~2079)

My life's only 1/4th over, assuming a reasonable life span. There is much left to do..

companies I will not do business with



Maxell 

Rebate's don't always get fulfilled, even when every care is taken to make sure all instructions are fallowed. I believe they have a polity of rejecting a fixed percentage of requested regardless of validity.

ZipZoomFly

This company has very poor control over its inventory (They shipped out a refurbished hard drive instead of the brand new drive ordered), and then hopeless customer support that actively tries to make you unhappy, so long as it saves them money. 

Annotated Music File draft standard

Annotated Music File draft standard

Goals

The Annotated Music File (AMF) standard is designed to allow the distribution of audio files (music, etc.) with additional media types embedded in the package. Particularly, the goal is to allow artists to distribute their works works in such a way that consumers who wish to compensate said artists will have an easy venue for doing so. AMF does not concern itself with copy protection or Digital Rights Management; rather, it is designed so that downloaders who wish to become customers have a minimal number of barriers to overcome.

The secondary goal is to allow content creators to enhance the presentation of their audio; it is assumed that the proper use of this capacity will encourage listeners to become customers.

The third goal is to make the system simple enough that playback software can easily support it, and artists can easily make content for it.

Core Technology

An AMF file consists of a .ZIP file with the .AMF extension, which includes the following files:

audio[00..N].ext Required: The audio portion of the file; may consist of multiple files numbered sequentially, as in audio00.mp3, audio01.mp3, etc.  The format of the audio file is up to the artist(MP3, OGG, etc); but if the playback software does not support the format no playback will be possible. 
amf/lyrics.html Optional: a file containing lyrics or transcription of spoken material. 
amf/about.html Optional: a file with content intended to be shown when the AMF file is being played.  This might include a picture, or song notes, or anything which doesn't fall into the category of lyrics or ordering information.
amf/order.html Optional: a file which should specify how to buy this music, or other artist compensation instructions.
amf/creator.html  Optional: information about the person or group which created the file, including info on where to obtain a catalog of their work.

The audio files should be stored as uncompressed data in the .ZIP so that music players with a simple translation layer can treat them as normal input and perform functions such as seeking without dealing with uncompressing .ZIP bitstreams. Since all annotation files are html, they may contain references to any sorts of additional media the creator whishes to include; those media may be included in the archive (pictures, etc.) or on the internet.

If multiple audio files are stored in the AMF, the annotation files may optionally include anchor tags who's target corresponds to the number of the audio file. In this way, multiple sets of lyrics or order forms can be included for each piece of audio data, if necessary. The format of the anchor is audio[00.N], such as #audio00. The player will jump to that tag when it starts playing back that file.

Speculative Technology

It would be advantageous to provide creators a way to sign the content digitally (say, with RSA), so that the downloader knows it is unmodified. For instance, if the creator has an audio file which the user is asked to pay for, the .AMF file could specify that, any anybody who wished to intentionally avoid piracy could do so. Particularly, if P2P technology was used to share AMF files, then an AMF aware program could chose to not share "paid content" (files would be marked with a 0-length file called paid content.tag in the AMF folder). Of course, the end user could easily remove that file, however, they would not be able to resign the AMF file with the creator's signature.  Any AMF file which truthfully reports its creator could be checked independently to assure it was legal to share.

The goal here is not to prevent illegal sharing, but to allow AMF aware software to intelligently select what should be shared. Fair use is important, and users should be allowed to use what they have purchased.  Any limits on the technology should be designed only to help users who wish to adhere to fair use standards without any extra effort. The emphasis with AMF is trusting consumers to do the right thing when it's made easy for them.  It is, then, perhaps questionable whether any restrictions should be placed on the format, hence this section being labeled "speculative".

Implementation

Currently, all the software needed to create AMF files exists in the form of HTML editors, audio compression software, and .ZIP file tools. Playback software has not yet been implemented, but would not require that much new code. At the minimum the requirements are:

  • a barebones implementation of a .ZIP reader which can read the .ZIP header to find the location of the uncompressed music file, and then extract raw bytes from that location, to be streamed into the audio playback routines. 
  • a external hook to a .ZIP reader to extract all non-audio files from the .AMF
  • glue to an external web browser which is directed to show the appropriate html file(s).

Ideally, all of these features would be integrated into the player's UI, which would require an additional amount of effort, but would still not be that hard if 3rd party .ZIP and .HTML libraries are leveraged.

Tuesday, August 26, 2008

Great, Big, Dark, Cold, Round, Small, Rubbery

One of my more fun classes at Hampshire was a fiction writing class. Here is one of my more enjoyable, if twisted, short stories from that class.

--

Hari waited outside of the dining hall until it was close to, but not quite, closing time. He didn’t have any gripe with the students eating there, the fools! Let most of them leave. Then he turned his back to the door, and pushed through, holding his handgun before him. Passing through the inner door, he spun around and shot the woman who deducted dining dollars from your account.

Wham! It was louder than expected. It had been a while since he had shot indoors. Now he moved fast towards the staff area. An old man popped his head out of an office door, and Hari let him have it. Pushing open the door, he fired three well-placed shots from the doorway, and then spun around and ran on down the corridor. Ten feet in front of him, a student wearing the dining uniform stepped into the hallway. Hari paused, struck with doubt. Was this student really to blame for last night? Did he deserve to die?

The food had been livable last night, nothing really good, but edible. He had chosen some fish and a small salad. It was Tuesday, so it had been exactly one week since he had eaten a cake. The chocolate cake looked good, so he took one of the four remaining pre-cut slices and added it to his tray.

One of the tables in the far corner of the main dining hall was empty, and he sat with his back to the wall, observing the action though the salad and fish. The cake was special, however. It was there to lift his life, and he put his full attention too it after finishing everything else. First he nibbled around the sides, and then, holding it in both hands, took a big bite, chopping down on something rubbery in the goo of the cake. He jerked back from the cake, and pulled out a slimly black object with his teeth. “Phhth.” He parted his teeth and exhaled, letting it fall to his plate.

The rat lay there for a second. Then it pushed itself up, and rubbed goo from its eyes. Said it, “Lucky you didn’t bite my nose off. I’d have to kill you, otherwise.” Belatedly, Hari swallowed the cake, and opened his mouth. The rat interrupted the silence just before Hari could make a sound. “I think, how nasty those people, them doing that to me. Can you believe it? Harm I wasn’t doing to anybody and they yet just dumped me in the mix to rot away. Would you do that to me?” Hari twitched. The rat seemed to take the jumble of motion as negative. “Hari, you I find a good guy. You and me, let’s do friendly stuff. Friends do things for each other, right? I’ll do things for you, you’ll do things for me... Like making sure killing happens to those rotten bastards that dumped me in the mix.”

The rat remained with him for the rest of the night, and each time he appeared, Hari tried to lose him. Hari thought each time that he had lost him for good, but then the rat would whisper in his ear. Hari would turn his head, and the violet and orange little specs would stare back. When he tried to sleep all he could hear were the rustlings of things in his room, shuffle, shuffle, and crash! as something fell to the floor. In the morning, he and the rat formulated the plan, and never had Hari been so excited to carry out a set of actions.

Now, he wasn’t sure. Did the student deserve to die? The rat had deserted him when he entered the commons. He had nobody to turn to now. Nobody to tell him what was right, what was wrong. Only a gun and a fading plan. What loss would one more life-one more student- mean? He bit down on the hot steel, and pulled the trigger.