Tag Archives: syntax

Origin of CP/M’s PIP command

CP/M was, as you probably know, the first popular microcomputer operating system. It was good but imperfect, and its cryptic command for copying files, PIP, is often cited as an example.

Copy makes sense. Even the Unix equivalent, cp, makes sense–it’s copy without the vowels. But what does PIP mean? What’s the origin of CP/M’s PIP command?

Continue reading Origin of CP/M’s PIP command

Giving and receiving criticism in writing

Internet pal Rob O’Hara wrote last week about why he hasn’t published a book in five years. The resulting discussion has the potential to get ugly–not that I think it will, but the potential is there. Writing about writing, and criticizing writing, is difficult.

I don’t have the solution–I can just tell you it’s difficult.

Continue reading Giving and receiving criticism in writing

My poor-man’s SSD boots DOS really fast

So, my no-name compact flash adapters arrived today. I ripped one open like a kid at Christmas, pulled a PC off the scrap heap, yanked my 128 MB compact flash card out of my PDA, and went to town.Unfortunately I couldn’t get Xubuntu to boot, let alone install a minimal configuration, because my CD was corrupt. I wasn’t sure if I could install anything in 128 MB, but my last Debian 3.0 install was smaller than that, so I held out hope.

So I grabbed a Windows 98 SE CD. Surely that would fit in 128 megs if I left out all of the optional components, right? And if not, there’s always Doublespace, right? Wrong. The installation bombed out, saying I needed 205 megs.

The original Win98 was smaller though, right? So I grabbed that CD. It wouldn’t play either. It repeated that same 205 meg line. I’ll bet it says that to all the guys.

So I grabbed my Win95B CD. I’m pretty sure I once crammed Win95B and Office 97 onto a 170 MB hard drive. It wasn’t pretty, but hey, it was an emergency. But no joy there either. The CD wouldn’t even read. I guess I shouldn’t be surprised since it’s a CD-R that I last touched sometime in 1999. I have no idea where the original CD is, but I know where the manual and COA are, not that that helps any.

I dug around for a Debian CD. I come across those fairly often when I’m looking for something else, but tonight I couldn’t find one.

I found my OS/2 3.0 sleeve, which got me thinking, but I couldn’t find the disc. I know I could make that fit in 128 megs and it would really scream–as in, it would complain loudly about the ATI video, and it would run really fast–but I never found the CD.

So for lack of anything else to put on it, I reinserted the Win98SE disc, rebooted, picked the Command Prompt with CD-ROM option, and dropped into DOS for perhaps the first time since the Clinton administration. I ran FDISK, blew away the partition table and repartitioned it, rebooted, found FORMAT.COM hidden in the WIN98 directory on the CD, formatted the drive, remembered I had to use the /S option, reformatted the drive, copied over himem.sys, oakcdrom.sys, mscdex.exe, and whatever else I could find, and built up config.sys and autoexec.bat files by hand using copy con, since I couldn’t find edit.com anywhere on the CD. I removed the CD, rebooted, and it booted fast–into an error message saying I’d neglected the /d parameter. Considering the last time I used the /d parameter was in 1999, that shouldn’t be surprising. What is surprising is that I remembered the syntax. So I deleted config.sys and autoexec.bat, built up new ones with copy con, and rebooted again.

The Win98 splash screen flashed, then I got a familiar DOS prompt, including indicators that the CD-ROM driver was working. It took about as long to boot as it did for the BIOS to do its thing–probably 1-2 seconds. Not bad for $7 worth of hardware ($5 for the adapter from Compgeeks, and $2 for the CF card from a garage sale).

Supposedly Windows 2000 can shrink down to 60MB if you get really aggressive with nLite. I’d really like to see that, but that means I’ll have to find my Windows 2000 CD. I’m sure it’s hiding somewhere in Argentina, playing cards with my OS/2 3.0 and Debian CDs.

I also ought to download Debian 3.0 again. I’m thinking 60-120 megs of Debian is probably more useful than 60 megs of Windows, but I really want to see how quickly Windows 2000 boots off flash.

Supposedly these cards support UDMA, so I probably ought to order some larger CF cards so I can do something really useful with them. Seeing DOS boot instantly is enough to convince me that these things can be useful. Who knows, I might be insane enough to try running my webserver off flash (the memory, not the obnoxious Macromedia/Adobe product).

Meet Robocopy

If you remember the days of DOS, you know the difference between COPY and XCOPY. For those times when XCOPY won’t cut it, there’s ROBOCOPY, part of the Windows resource kit.If you just need to sync up two directories, Robocopy does it happily. Type ROBOCOPY source destination, and it will happily copy new and changed files over, while leaving identical files alone. This can save lots of time.

ROBOCOPY.DOC will give you lots of tips and ideas for using the program.

I have to do a lot of work over a WAN, and sometimes the network conditions are less than optimal, to put it politely. By that I mean sometimes I get nostalgic for the 9600 bps modem I had in high school, because it was faster and more reliable. Robocopy will detect errors and retry, which is a huge help in these conditions.

One thing I do frequently is copy single large files. The documentation file isn’t very clear on how you do this, and the syntax is tricky. Here’s how to copy a single file between two servers or directories:

ROBOCOPY source destination file(s)

Here’s a line I use a lot, to shoot out new virus definitions to my management servers:

ROBOCOPY . "\\servername\c$\program files\symantec\symantec antivirus" *.xdb

This is just a glorified copy command, but if any part of it fails, it will retry until it works.

In the past I’ve also used Robocopy to move file shares when upgrading file servers. I’ll create the share on the new server, copy everything over, and then, in off hours the night before the cutover date, use Robocopy to sync them up. Here’s an example:

robocopy \\oldserver\accounting \\newserver\accounting /MIR

Of course, since Windows has had DFS for 8 years now, you’re using DFS for everything now, right? Of course not. So for the times when you have to replace a fileserver and migrating to DFS isn’t an option for whatever reason, Robocopy is your fastest and easiest option for a cutover.

Any Unix gurus care to help me with mod_rewrite?

I’ve watched my search engine traffic decrease steadily for the past few months since I changed blogging software. It seems most engines don’t care much for the super-long arguments this software passes in its URLs.

The solution is mod_rewrite, and I think my syntax looks correct, but it’s not working for me.The goal is to fake out search engines to make them think they’re looking at static files. Search engines are reluctant to index database-driven sites for fear of overloading the site. Since I can’t tell them not to worry about it, I have to make the site look like a static site.

To that end, I created a section at the end of my httpd.conf file:

# rewrites for GL

RewriteEngine on
RewriteRule ^/article/([0-9]+)$ /article.php?id=$1 [NC,L]

This line should make the software respond to Thursday’s entry (http://dfarq.homeip.net/article.php?story=20040902200759738) if it’s addressed as http://dfarq.homeip.net/article/20040902200759738.

Once mod_rewrite is working, in theory I can modify the software to generate its links using that format and watch the search engines take more of a liking to me again. But I’ve got to get mod_rewrite going first, and I’m stumped.

Any expert advice out there?

Thanks in advance.

Need to squeeze a little more on that floppy?

I’ve been experimenting again with bootdisks and the FreeDOS project came to mind.

Boot floppies are getting rarer but they’re still hard to avoid completely. I think FreeDOS is worth a look for a variety of reasons.Its system files take up half the space of Win9x’s DOS. That extra 100K on the disk can make the difference between your tools fitting on a floppy or not.

FreeDOS supports FAT32. There’s an unofficial DR-DOS fork that does as well, but the licensing terms of FreeDOS are a whole lot more clear.

The FreeDOS FORMAT.EXE can overformat disks. If you use more than 80 tracks, the disks have problems in some machines, but a 1.68 megabyte disk using extra sectors per track should be OK. Concerned about overformatting disks? The Amiga’s default high-density disk format was 1.76 megabytes. That extra 240K can make a big difference, especially when coupled with that 100K you’ve already saved. The syntax to make a bootable 1.68 meg disk: FORMAT A: /F:1680 /S

The syntax for a 1.74 meg disk: FORMAT A: /F:1743 /S

The FreeDOS command interpreter includes command history, so you don’t need to make space on the disk or in low memory for DOSKEY.

Using FreeDOS and its 1.68 meg floppy, I was able to squeeze Ghost 8.1 (a 1.3 meg monster) onto a boot floppy and still have 197,632 bytes free to play with. With that kind of space left, if need be, one could format the disk with FreeDOS, then SYS it under Win9x and run MS-DOS 7 on it.

If you still need to squeeze a little more space, get the freeware FDFormat, which can also format oversized floppies and lets you reduce the root directory down to 16 entries from the default 224, which gives you a few more kilobytes of usable space. If you need to put more than 16 files on the disk, create a subdirectory and put your files in the subdirectory. The syntax would be FDFORMAT /D16 /F168 /S. Substitute /F172 for a bigger disk. To increase the performance of the floppy (who doesn’t want the slowpoke floppy to be a bit faster?) add the /X:2 /Y:3 options. A boot disk formatted this way yields 1,595,904 free bytes with the FreeDOS boot files installed.

That’s enough space to be almost useful for something again. You’ll at least be able to fit more on Bart’s modular disks or Brad’s network boot disk.

FTE – a DOS-style editor for Linux

I don’t remember what I was looking for, but I found another DOS-style editor for Linux and Unix.

FTE is another editor that harkens back to the look of the typical DOS app of about 10 years ago, similar to SETEDIT. For casual editing, either program will do very nicely, and provide a look and feel comparable to the editor that came with DOS 5 and 6.

I’ve always liked SETEDIT, but it suffers from the same identity crisis as emacs. Is it an editor? An MP3 player? A desk calculator? All of the above? And while it’s workable over a remote terminal connection, it’s not as snappy as I’d like.

FTE is a little sluggish from afar but faster. I like how it gives me the ability to have multiple files open and deal with large blocks of text, and continue to use the same key sequences I’ve known and been using since early high school. Its syntax highlighting is definitely a nice feature. It takes that feature a bit further than SETEDIT. For example, it highlights the corresponding closing bracket when you move over the opening one.

FTE’s main advantage is that it’s already bundled with some distributions. There’s a Debian project page for it. And a Google search turns up anectotal evidence that it comes in recent versions of Suse, Red Hat and Mandrake as well. If you’re a DOS veteran who’s not enamored with vi or emacs, FTE’s probably worth a look.

For what it’s worth, I typically use nano, but FTE is definitely a whole lot more powerful.