DosPP - Two programs; a CD replacement app that accepts unix style slashes, and also works with wildstars. Nice if you use unix as your other command line OS. Also includes "forline" a program to execute a user-specified command for each line of a file. Full C source to both included.
Saturday, October 18, 2008
DOS Software: free!
Steps to installing Windows 95OSR2 on a machine with no CD-ROM drive
I've got a few machines with no CDROM drives that need OSes put on them (mostly laptops). Here's how I do it.
Required materials:
- 1 floppy disk
- Win95B CD
- PC with CDROM drive and serial port
- null modem cable (cheap on ebay)
Steps
Prep files:
- From the Win95 CD, copy the folder with all the cabs in it to your hard drive
- Delete files we won't need (remember serial transfer is slow):
- You should end up with a folder that has less than 50MB of data in it.
setup21i.exe
setup32.exe
wowkit.exe
cs3kit.exe
(these files just allow you to install AOL or Compu$erve)
Prep target machine:
- Make a Dos bootdisk (format a:/s), and copy format.com and fdisk.com to it.
- Boot target machine with floppy.
- Fdisk its hard drive "fdisk"; delete old partitions, make a new one. Note that drivespace3 does not support fat32 drives so if you want to compress your disk you need to make an old-fashioned fat16 partition. Keep in mind that Fat16 maxes out at 2GB per partition, and at that size each file takes a multiple of 32k.
Transfer (with Zip2.2):
Zip2.2 is a nice, more or less free, program for Transferring files between win9X machines and DOS machines. It does not work with XP or 2K. As an alternate option (if you can find it) Lap Link 5 can be used in place of Zip22; it's faster, more fault tolerant, and more user-friendly. But it's commercial and long ago taken off the market. Doesn't mean you can't find it; try looking for ll5.zip...
- Download a copy of Zip 2.2 ("zip22.zip", a null modem transfer app by Eric Meyer (search for null modem on this page) and place it on the boot floppy as well.
- Connect two machines with null modem cable.
- Format its hard drive "format c:".
- Start zip on target, make sure it is set to the right port, and put it in server mode.
- Start zip on host, set it to create folders (under options), and Send the contents of the cab folder to the target machine.
- Wait a while (about two hours) for transfer to finish. Did I mention that serial transfer is slow? But it's better than floppies, folks.
Transfer with Zmodem:
If you use a WinNT based OS you can't run zip. Instead use HyperTerminal (which comes with all versions of windows I've used) on the Windows size, and a DOS based Zmodem client on target machine. I recommend Conex (local download here). I would the windows install files it as one large zipped file. The comm settings I used which seemed to work well were 115200 8-N-1, Hardware Flow Control.
Install:
- Change directory to the folder where you copied the files and type "setup".
- Setup takes a while; about an hour on a P200, for instance. Near the end of "copying files…" (98%) setup will try to install AOL and Compu$serve. Since you deleted them, you will have to tell Windows to skip those files.
- Windows still manages to install some online services even after we deleted them from the setup folder; feel free to delete them as well after the install concludes. You should be able to get Win95 to install in less than 100MB of space fairly easily given these steps.
Conclusion
Now that you have Win95b installed, use Ethernet to share your other machine's CD-ROM drive and install the rest of your software that way. It's much quicker than serial networking. But if you must, you should know about the DCC option. That's Direct Cable Connection, which allows two Windows boxes to share folders and drives over parallel and serial cables, much like if you used a Ethernet connection. It can be tricky to set up; be sure that both machines have netbui installed or it will fail mysteriously. Do a google for direct cable connection windows for websites with lots of info on just how to get it to work.IBM Thinkpad 755CSE Review
This high end machine once cost $5000 from your local IBM dealer. Your not-so-local ebay dealer has them for less than $50. Yes, it's a steal from a historical perspective, but what does it have to offer you, today? Here's a preview of comming posts on this topic:
IBM PC Dos - If you buy one with software, you are likely to find it comes with PC DOS. You are free to replace with MS DOS, but should you?
Running Win95b - If you like to be productive, you might enjoy a relatively modern OS. But will your ThinkPad enjoy it too?
Gaming with the 755CSE - That's why you really bought it, no? Disappointment awaits, my friend.
Conclusion: this machine works better for productivity than fun. But it's from IBM so did you really expect any different? Still, as a word processor on the go, it's price and performance can't be beat.
REVIEW: IBM ThinkPad 755CS - DOS Gaming
IBM ThinkPad 755CS | |
I tried playing some old DOS games on the 755CE. Turns out it's less than perfect for that, mainly due to sound issues. But briefly, let me first cover the track point issue, and the screen quality.
The trackpoint, simply put, doesn't work too great for twitch games. It's just not as responsive (at least by my hand) as a trackball or mouse. For slow paced games it's fine, but for things like Populous, it's not much better than using the keyboard. Perhaps with a lot more experience this preference would go away, but I'm sure it would take some training. Beyond control issues, it's just plain fatiguing to use the trackpoint for long periods of time. This is even true on my modern Dell laptop, which I use a lot, so I doubt that issue will go away with training.
As to the quality of the screen, it's quite good. I didn't get a chance to play anything that used a 640x480 mode, but all the mode 13h games looked and played great, whether fast twitch or slow and lush. In short, the LCD on this machine cannot be beat. It's ever so much better than trying to use a passive matrix display, like what my Twinhead 550S has.
Now, on to the main problem:
The sound chip IBM uses to simulate a sound blaster doesn't work too well. It's not all that compatible, and requires some hefty DLLs too. I managed to run with more than 600k free conventional memory only by booting with just emm386/himem, and the sound card drivers (ie, no smartdrive, drivespace, ect) under Dos 6.22. Even with plenty of free ram, it didn't work with everything. There were two versions of the emulation software, 2.24, and 1.09, I tried both, in general I didn't see a big difference, but here is what I did see, for a few games I tried:
Xargon: could play with just music under the 1.x drivers, would not load with any sound at all under 2.x
Lemmings (Xmass 94 version): title loads, but no sound, and game exits whenever you try to load a level.
Spell Casting 201: didn't work with 1.x, appears to work, but poorly with 2.x (ie, it complains, but seems to be fine)
Warlords 2, Populous, Power Monger, LGOP2, Lure of the Temptress: all work fine.
The Incredible Machine: fully playable, but seems to have some display issues, draws part of the screen double. I've seen this on my other portable, the Twinhead 550s. Looks odd, but really doesn't cause a problem. I suspect this has to do with TIM using a "mode X" VGA setting, which means non-standard resolution, and is something LCD display's just can't accommodate.
REVIEW: IBM ThinkPad 755CS - Installing and using Win95B (OSR2)
IBM ThinkPad 755CS | |
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 | |
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.