Announcing: Slashdot Deals - Explore geek apps, games, gadgets and more. (what is this?)

Thank you!

We are sorry to see you leave - Beta is different and we value the time you took to try it out. Before you decide to go, please take a look at some value-adds for Beta and learn more about it. Thank you for reading Slashdot, and for making the site better!



SCO Puts Unix Assets On the Block

SL Baur Re:They already did! (217 comments)

Pretty sure /bin/clear (or was it something else...?) on Solaris is a shell script taken direct from Xenix.

#! /bin/sh

tput clear

more than 4 years ago

SCO Puts Unix Assets On the Block

SL Baur Re:Can they do that? (217 comments)

In fact, I don't know anyone in the industry that's actually using real UNIX V code in production anymore.

Be careful with the terminology. Unix V was the first VM implementation of Unix and I don't think anyone uses it any more. It ran on ancient DEC equipment (early Vaxen IIRC). In terms of standard naming, think of Unix V == Version 5 or 5th Edition.

The only significant (mis)feature of System V was Streams, and nobody sane uses that any more. The SVID mostly codified existing practice.

Solaris is like the spiritual descendant of System V. How much of the original System V from around the time of the AT & T break up remains, I don't know. I've never had a source license to anything other than System V/386 (which was R3).

more than 4 years ago

SCO Puts Unix Assets On the Block

SL Baur Re:Can they do that? (217 comments)

Our death has been somewhat exaggerated.

more than 4 years ago

German Military Braces For Peak Oil

SL Baur Peak Oil is a myth (764 comments)

When I took geology in college (~1987) they were predicting that oil was going to run out by early 2000. I guess fifteen years in the future is farther ahead than they expect most people will remember.

Peak oil is a myth and there is very strong evidence of abiotic oil. See http://www.viewzone.com/abioticoilx.html for example.

more than 4 years ago

Thoughts on the latest Microsoft Worm (Part 1)

SL Baur Web 2.0 is NOT a good thing (1 comments)

I sure miss the days when everything was an 80 column glass tty, or a software equivalent. The joke message isn't going to look right unless you have an absurdly wide browser window. Sigh.

more than 4 years ago

New Email Worm Squirming Through Windows Users' Inboxes

SL Baur Re:So that's why the UW mail system went down (473 comments)

How easy would it be to prepend ~/bin to $PATH and stick it in there?

Irrelevant. /home should be mounted noexec unless you're a software developer and even then it's probably better to set up a special area that you don't normally touch to do program development.

But, you could set the system login scripts to forbid ~/bin, ., etc. being in the $PATH. And you can set $PATH to READONLY before allowing user .profile/.bash_profile/.zlogin etc. to execute. This can be defeated, but not without command line magic and it won't have any effect on the window manager.

more than 4 years ago

Programming Things I Wish I Knew Earlier

SL Baur Re:The hard way is more fun (590 comments)

Do you have any idea of what the system administrators will do with your log?

Oh yes, I do. They won't touch it. Their job is only to keep the server(s) running. If it's an application problem, the hammer comes down on me.

The admins only keep the machines running. Application support isn't in their job description.

Of course, we don't leave our logs in system directories. We have our disk where we keep those.

We're talking "Enterprise computing". It's a very different environment.

more than 4 years ago

Supernova Shrapnel Found In Meteorite

SL Baur Re:The wonders of science... (105 comments)

Meh. Think of it another way. Every element other than Hydrogen and Helium was created in the bowels of a star. So, another supernova projectile vomited just in time for one of its chunks to reach our solar system as it was being formed.

Hmmm. Kind of cool coincidence actually.

more than 4 years ago

Programming Things I Wish I Knew Earlier

SL Baur Re:Lesson #8 (590 comments)

Ya know, I actually DID walk to classes, barefoot, in the snow. Yes, I was weird. (I growed up as a hillbilly. My mamma never could learn me to wear shoes much.)

The paper tape and punch cards part I wrote was real.

Seeing how you have similar experience I don't whether to invite you inside to talk about the old days, order you off my lawn, or quietly step off of your lawn.

more than 4 years ago

Glibc Is Finally Free Software

SL Baur Re:Yea.. (337 comments)

I remember -- RMS *did* bitch about the copyright assignment thing.

Correct. It wasn't enough that we were GPL (v2), but we had to get copyright assignments to the FSF from an organization that didn't exist and people who were unwilling to do that.

My only personal contact with Stallman was a phone call just a bit after I took over from Chuck and he promised to "go to war against me" (his words) if I didn't get all the copyright assignments. I couldn't and he did.

In an interesting twist, my successor has managed to get the code base to GPL v3. Sigh.

more than 4 years ago

Glibc Is Finally Free Software

SL Baur Re:Yea.. (337 comments)

No. I haven't lived in the LA area in a decade and a half.

more than 4 years ago

Programming Things I Wish I Knew Earlier

SL Baur Tao of Programming (590 comments)

That was a truly a forgettable book. I had a copy and even tried to read it through several times. I cannot recall anything about it other than the title.

That makes me sad in a way, because I usually can read something end to end.

Regarding the quote: It's not that COBOL was such a bad language for its time. It wasn't. Of the three languages COBOL, FORTRAN and Lisp, only Lisp survives (in new code) in anything resembling its ancestor. COBOL survives in legacy code that will probably never be retired. FORTRAN has mutated into something unrecognizable and arguably didn't last.

We can be grateful for FORTRAN because it buried the notion that compilers could never beat hand coded assembly.

We can be grateful for Lisp because it later spawned The One True Editor.

We can be grateful for COBOL because it made so mistakes that were so glaringly obvious, no one ever made them again.

more than 4 years ago

Programming Things I Wish I Knew Earlier

SL Baur Re:Lesson #8 (590 comments)

There's no substitute for a few solid courses in theory and design.

You must be new here. When I started programming, there were only a handful of colleges that had computer programming departments.

You came along late enough that you might have had decent instructors.

And I walked to and from college both ways, uphill, in the snow, barefooted, my first programming class used paper tape, my second programming class used punch cards, yadda yadda yadda.

Now, get off my lawn!

more than 4 years ago

Programming Things I Wish I Knew Earlier

SL Baur Re:The hard way is more fun (590 comments)

I recently replaced a SMTP protocol implementation with a pipe to /usr/sbin/sendmail. Guess what? It worked much better.

It depends. Did you get all the quoting correct when starting sendmail? How did you handle error returns?

For any kind of enterprise code, I'd lean towards an SMTP implementation exactly because when something fails (and pagers are going off everywhere at 3am) you can make a log of exactly what went wrong.

more than 4 years ago

Programming Things I Wish I Knew Earlier

SL Baur Re:Comment your code (590 comments)

Put enough comments in your code so that five years from now you (and others) can remember what you indented the code to do.

/* This is hairy. We need to compute where the XEmacs binary was invoked
          from because temacs initialization requires it to find the lisp
          directories. The code that recomputes the path is guarded by the
          restarted flag. There are three possible paths I've found so far
          through this:

          temacs -- When running temacs for basic build stuff, the first main_1
            will be the only one invoked. It must compute the path else there
            will be a very ugly bomb in startup.el (can't find obvious location
            for doc-directory data-directory, etc.).

          temacs w/ run-temacs on the command line -- This is run to bytecompile
            all the out of date dumped lisp. It will execute both of the main_1
            calls and the second one must not touch the first computation because
            argc/argv are hosed the second time through.

          xemacs -- Only the second main_1 is executed. The invocation path must
            computed but this only matters when running in place or when running
            as a login shell.

          As a bonus for straightening this out, XEmacs can now be run in place
          as a login shell. This never used to work.

          As another bonus, we can now guarantee that
          (concat invocation-directory invocation-name) contains the filename
          of the XEmacs binary we are running. This can now be used in a
          definite test for out of date dumped files. -slb */

OK. So now everyone knows how Lisp programs written with a core in C initialize themselves, right?

And as much as people may joke about it, XEmacs was tested to ensure that it worked as a login shell prior to release.

more than 4 years ago

Programming Things I Wish I Knew Earlier

SL Baur Has ImageMagick improved? (590 comments)

Don't do image processing work with PIL unless you have proven that command-line ImageMagick won't do the job.

I think the worst mistake I made as Mr. XEmacs was attempting to unify our graphics support to call ImageMagick libraries instead of the custom stuff we were using (and later restored when ImageMagick was backed out).

Does it work any better now? The last time I looked at display(1) a couple of years ago, it still wasn't close to long lost and patent challenged xv(1) that got shut down by the GIF patent war.

more than 4 years ago

The Many Iterations of William Shatner

SL Baur Re:Delusions of Grandeur (152 comments)

While not related to TOS you reminded me of the first and last Star Trek Convention I went to, which had Frakes and that chick who played Dax at it

Terry Farrell.

The only Star Trek cast member I've ever met was James Doohan at a book signing.

But about the old series, the only criteria that women on the cast had to meet was to sleep with Roddenberry (he was married to Nurse Chapel. Uhura, Janice Rand, etc. were mistresses). How did the men get casted?

more than 4 years ago

Researchers Cripple Pushdo Botnet

SL Baur It's not dead yet, it's getting better (129 comments)

Look at their graph: from a high of 1,400 on 3 Aug to 0 on 26 Aug. -- that ranks as both a "seriously crippled" and "success" in my book.

So while you chose to belittle their achievements, I for one chose to say a silent "Thank you! Well done!" for their years of persistence in fighting this war.

I did. Color me unimpressed. This isn't the first time that this botnet's servers have had their numbers reduced.

I didn't see any analysis of what is going on server side and that is where all the interesting code is.

Their client/server protocol is self-repairing in that servers can propagate new IP lists of servers to clients. According to the various articles, (some of) the servers have been taken down before.

Apparently nothing is known about what is going on server side.

This botnet puts a high priority on not being detected (according to TFAs).

All that is happening now is a reconfiguration. Lay low, infect new servers, then it's business as usual.

Oh and my threat estimate of this botnet is very high. It's MS Windows only at the moment, of course, but the analysis seems to indicate that with not much additional work, could function in a heterogeneous network.

more than 4 years ago

Researchers Cripple Pushdo Botnet

SL Baur Re:Is this really a big deal (129 comments)

Correct me if I'm wrong, but wouldn't adding new C&C servers be as simple as pushing an update to the bots? If there are still remaining C&C servers to update with (let alone still a third), that should be pretty routine for them.

Not in this case. This botnet apparently can spread other client side malware, but doesn't attempt to infect new servers.

That's a very hard problem and I guess that's good.

New servers can be added manually though. Part of their protocol involves the client receiving updated lists of servers. That's why even though this was first detected in 2007, had the servers attacked repeatedly over the years as in this article, the botnet is still around.

The associated articles only discuss how the client side works. All the fascinating code is on the server side and apparently has not been broken.

If you need to get all 30 at once, all that has been achieved is that they're back to square one.

True. The loss of 2/3 is a minor setback and one that's happened before. This isn't the Black Knight. Servers can be added to this botnet, while limbs cannot be regrown.

In case it isn't obvious by now, this botnet was done by someone who has some experience in (Soviet) military network programming (C3I). What will happen when (laid off, down on their luck, etc. etc.) US C3I experts turn to the dark side?

more than 4 years ago

Glibc Is Finally Free Software

SL Baur Re:Yea.. (337 comments)

Grats, but why did that hypocritical Stallman allow Glibc to keep the G in identical circumstances to the XEmacs situation and demonized us?

more than 4 years ago



Children caught kissing face jail

SL Baur SL Baur writes  |  more than 7 years ago

SL Baur writes "It wasn't very long ago in history that ages 14 and younger were considered adults enough to marry instead of "children".

GERMANY is poised to bring in a draconian law tomorrow that will effectively outlaw kissing and cuddling between children under 17 in public places.

While experts acknowledge that the bill has good intentions, they fear it will deprive teens of a sexual rite of passage, through flirting and experimentation.
Full story is here: http://news.scotsman.com/international.cfm?id=1935372007"

Link to Original Source

Latest Gay Republican Outing

SL Baur SL Baur writes  |  more than 7 years ago

SL Baur writes "This quote from the article is classic:

Blacker, who is gay, wanted to show his partner how tight her behind is; he postulated that if he aimed a quarter at her butt, it would bounce off like a rocket. He was right. Rice, who was dancing, didn't realize what he had done until everyone began laughing hysterically. She was flattered — and proud.
The birth of a new quarters drinking game, perhaps?"

Link to Original Source

SL Baur SL Baur writes  |  more than 7 years ago

SL Baur writes "http://newsinfo.inquirer.net/breakingnews/infotech /view_article.php?article_id=70004

Microsoft Corp and South Korea's LG Electronics (LGE) said Thursday they have reached a patent cross-licensing agreement aimed at further developing each other's current and future products. LGE will be able to use Microsoft's patented innovations in its products, including Linux-based embedded devices, the two high-tech giants said in a statement.
The article goes on to add that Microsoft will be making more payments to LGE than LGE will make to Microsoft. That still means users of LGE's Linux-based embedded devices will be paying the Microsoft Tax."



Thoughts on the latest Microsoft Worm (Part 1)

SL Baur SL Baur writes  |  more than 4 years ago

I wrote this in 1992 for rec.humor.funny. I've long lost my "original" digital copy, but as Linus says, real men don't make backups, they let the internet archive their work for them. Or, something like that.

Path: athena.cs.uga.edu!emory!swrinde!zaphod.mps.ohio-state.edu!uunet.ca!xenitec!looking!funny-request
From: baur@mdcbbs.com (Steve Baur)
Newsgroups: rec.humor.funny
Subject: NEED HELP FAST !!!!!!!!!
Keywords: original, computer, smirk
Message-ID: [S425.63b1@looking.on.ca]
Date: 12 Jul 92 23:30:04 GMT
Lines: 58
Approved: funny@clarinet.com

This composition is original, although the subject is not.
--------------------------- Cut Here---------------------------------
Newsgroups: comp.unix.questions
Subject: NEED HELP FAST !!!!!!!!!
From: cs245@cs.somewhere.edu (The Unknown Hacker)
Date: 7 Apr 92 12:55:45 EDT
Organization: UNIX Guru's R Us!

Sorry if this is a FAQ, but I've heard that a FAQ is something
everybody already knows, but since I don't know the answer to this
everybody doesn't know it, so it can't be a FAQ, so here I go ...

I've just created about the most Awesome change directory program ever
written. If it doesn't find the target directory through an
exhaustive CDPATH search, it uses the most sophisticated spelling
corrector (based on a thorough analysis of Webster's on-line
dictionary, and a list of the 1000 most common directory names on Unix
systems throughout the world) to try to find a match that way. If
that fails, then it tries to create the directory, and if that fails,
it opens /dev/uri-geller, and reads the mind of the invoker to try to
figure out what to do. It executes with almost 0 impact on system
resources, and is most truly the finest/tightest code ever to grace
the memory of a computer.

The only problem is that it doesn't work. No matter how I've tried,
once I've done that last chdir (and I've tried doing several identical
chdir(2)'s in a row to see if that would make the directory change
more "sticky" but that didn't work) I always end up where I started in
the shell I started my program in. I've tried setting the PWD, and
CWD variables with putenv(3), but that doesn't seem to have any effect.

What it really seems to me, is I need some way of telling the shell what
directory it's supposed to be in when my program is done executing.
Put more simply, I need a way of modifying the environment of a parent

E-mail responses only. There's too much noise on this bboard for me to
be able to read it. And HURRY!!! I need to turn this project in by 5pm
tonight !!!!

  | _ /| |
  | \'o.O' UNIX Guru in training |
  | =(___)= |
  | U Joe Programmer |
  | ACK.. THPPT!!!! cs245@cs.somewhere.edu |
  | |

- Steve Baur@mdcbbs.com (236/607 4/1/92)

This is obviously a joke. But it also illustrates a fundamental difference between Unix and most other systems. Unix has process isolation and without an extreme amount of cooperation between processes, it is impossible without system software bugs to modify the environment of another process without its permission. This is A Good Thing.

Commentary in Part 2.


Microsoft Appreciation (but I still love Unix)

SL Baur SL Baur writes  |  more than 5 years ago

This is taken from a posting I did in a political forum (certain not to be popular here) on an iphone article. The poster's alias I am quoting and the web site are available upon email request.

Given that Windows is now the only surviving personal computer OS not based on Unix, the point of Microsoft's deflection from Gates' Xenix-centered vision would be interesting to know.

That's a fascinating comment.

in 1979, well prior to MS's link-up with IBM in which they parlayed Tim Paterson's QDOS to IBM as MS-DOS (without telling Paterson what they were up to), Microsoft was plugging a version of Unix called Xenix.

Xenix wasn't a flavor of Unix so much as a licensed port. It was Unix.

Bill Gates himself called MS-DOS 2.0 "the bridge to Xenix," clearly signaling a belief that the future of personal computing rested on this flavor of Unix [cf. http://www.theregister.co.uk/2000/01/31/ms_sells_stake_in_sco/]. Somehow that vision jumped the rails.

PC-DOS 2.0 was indeed a bridge to Unix. The new DOS calls added were all flavored towards Unix equivalents. I wrote alternative C libraries for two different C compilers in that period (Computer Innovations and Lattice) and already had extensive Unix experience by that point. It's true. The new code was buggy and poorly done in some cases (the globbing code that was more Unix-style than CP/M style was hopelessly bugged in 2.0).

Perhaps IBM drove that... hard to say, and a bit ironic in view of that company's reliance on Linux today. But it could be that the era Ballmer refers to was the turbulent circa-OS|2 era, in which Windows took its current vector.

IBM was driving OS/2 towards a bridge between their mainframes and PCs. I forget all of the details (I was never employed to work on IBM mainframes), but the big deal with OS/2 was supposed to be compatibility between the PC world and IBM mainframe world.

During this time frame, Unix was driving the final coffin nails behind proprietary, lock in systems. See Tracy Kidder's book Soul of a new Machine for the final dying gasp in that era. That was the final OS written by the manufacturer for a specific new machine. DEC VMS was still king in the minicomputer world, but its realm was disintegrating.

By the mid 1980s Unix was making inroads into previously DEC VMS-only territory. I watched that happen in my first job out of college being hired into a VMS shop. By the end of my time there, we were Unix and VMS was a relic of the past.

Microsoft hired the top VMS guys out of DEC to do Microsoft Windows NT in this same time frame. This should have been a clear indication to DEC stockholders to bail on the company, but it took more than a decade for the company to die.

I don't agree with all the things that VMS did, but it (DCL) allowed sufficient customization and had so many cool features that it was possible to reduce the pain level of using that system to a point where you could get a bit of enjoyment out of using the system. EDIT/TPU (which was a DEC reimplementation of Emacs, complete with provided source code for most of the editing features) was part of that. DEC SHELL, which was a native CLI that emulated the Unix Bourne shell was so buggy that I was banned from using it after I caused multiple cluster crashes in one day. Sigh.

I'm a Linux developer, have been before the kernel was a gleam in Linus' eye. I've been a Unix fan since 1981. Unix's strengths have always been a simple system call interface and lack of really complicated things like VMS RMS (Record Management System) which never made much sense and hardcoded extensions having special meaning. If a file has the execute bit turned on, it can be run. If it doesn't it can't. Contrast that to a hypothetical email attachment named sarahpalinnude.jpg.exe in the current Microsoft world.

I'm not particularly a Microsoft hater and I never got involved in Open Source because I hated Microsoft DOS or Microsoft Windows, I never cared for those systems in the first place (exception below). I got involved because I wanted to have a system that was all in source code that could never be abandoned and taken away from me by the company I bought it from.

I got a significant amount of enthusiasm by working on my roommate-of-the-time's PC on PC-DOS 2.0. I thought it was a great idea, no matter how buggy.


Unix *is* for desktops and has been for a long time

SL Baur SL Baur writes  |  more than 5 years ago

Mac OS X is Unix inside and Unix is not an acronym. Please don't call us "geeks". I've run multiuser, multitasking systems at home since 1985 starting with System V boxes. Before my Macbook Pro, the x86 systems I have owned ran Linux.

I care that:

  • /bin/zsh is standard. I've been a diehard zsh fan for almost 20 years
  • You can run X11 apps alongside your Mac apps and (when Apple doesn't break it) it comes standard with the system
  • It plays the games worth playing - the number one gaming company in the US, Blizzard, supports Mac OS X and at least in the case of World of Warcraft, works better on OS X than Microsoft Windows
  • Emacs comes standard (I wish they distributed XEmacs, but you can't have everything)
  • Open Spaces is really, really good and I've been hooked on virtual desktop systems since I tried olvwm in 1995
  • I like the NeXTStep style interface. I was a big fan of WindowMaker before I finally switched to KDE
  • Mrs. Baur loves her Mac.

I'm not going to upgrade to Snow Leopard for Microsoft Windows support. The Citrix client runs the only app I need to run for work.

I keep a fair distance away from Microsoft Windows. On the unfortunate occasions when I've tried to use it, I've always felt like either gouging my eyes out because of the eye-searing color contrast, or driving a screwdriver through my forehead because of the frustrating user interface, or both.

Sun had viable desktop graphics systems before there was ever a Microsoft Windows. They did great work in GUIs in the early to mid 80s. Unfortunately they have always been economically challenged when it came to price points and I suppose that's the main reason why they sold themselves to Oracle.

When Jobs was in exile he did the NeXT, a direct competitor to Sun on the desktop and with a similar architecture (Unix inside). NeXTStep, the NeXT user interface was later reborn as OS X.

There is a long history of GUIs on top of Unix (and its descendents) as an OS.

What kind of system will I buy my sons when they're old enough?

  1. Mac OS X or Linux where they can get lots (or all) of the source code and learn programming by tinkering with the system.
  2. Microsoft Windows where they can learn to be obedient Microsoft Windows office drones.

"Your homework assignment for tonight son, is how many places can you find Daddy's name in Changelogs."

No brainer, at least for me. Unix, live free or die!


A brief history of Unix

SL Baur SL Baur writes  |  more than 5 years ago

Unix was created by Ken & Dennis after coming off of the Multics project. Unix is a "weak pun" on Multics. Ken Thompson needed something to run a space war game on a shiny new PDP 7. Dennis Ritchie wrote a compiler for him. Deciding they needed to prove to their managers that they were really working, they sold the project to management as a document writing platform. Dennis Ritchie wrote the first file system (the setuid bit patent bears his name). Joe Ossanna wrote troff. The memory pressure that troff brought to bear on the system lead them to divide i & d space thus bringing the total process memory to a whopping 128k.

Writing the kernel mostly in a high level language proved to be a stroke of genius that would change the computing world forever, though it would take another decade and a half for the rest of the world to figure this out.

Dennis Ritchie's compiler was never ported away from the PDP. Steve Johnson wrote the "portable C compiler" which would ultimately inspire gcc.

Due to AT&T's status as a telephone monopoly, they were not allowed to commercialize the system. That wouldn't come until the 1980s and they did that as badly as they anything non-technical - "AT&T couldn't market eternal life".

Because they couldn't market the system, it was distributed as source code to Universities and eventually folks at Berkeley picked it up and hacked on it to produce BSD. Source licenses were typical through the 1980s. My first official on-the-job experience with Unix in 1987 was on a Pyramid that had a hybrid interface divided into universes (with source code). You could either select a BSD-ish or a System V-ish style system interface. Sadly, Pyramid did not revolutionize the world, but they were awesome machines for their time.

The earliest Unix box I got my hands on personally was a Stride 440 running a beta System V/R2 in 1985. Sadly, their Unix port never supported the bit mapped graphics that their hardware supported. The AT&T 3B1 aka Unix PC, which was the first commercial Unix desktop, predated Microsoft Windows and did support bitmapped graphics and a mouse, but was marketed very badly. It didn't become particularly reasonable to buy until after it was EOLed.

Oh Unix, how I love thee (and how good you look on my Macbook Pro) ...


Age bits redux

SL Baur SL Baur writes  |  more than 5 years ago

I've linked to this old article I wrote anonymously 13 years ago before in ordinary postings, but I might as well come clean.

Requiring mandatory age and personal information requirements for internet access is a stupid idea. Stupid.

This was first posted to cypherpunks in April of 1996 and then reposted to the Computer Underground Digest. The original article follows ...

I am going ahead and releasing an alpha version of KiddieFind a free Unix implementation of LolitaWatch. Everything is under the GPL, so the source code is free, hack on it all you want ...

KiddieFind is an enhanced free version of Nubility Inc.'s LolitaWatch for Unix. It works by locating network packets that have the US federally mandated Under18 bit set, and then uses publicly accessible databases to map them into a street address and phonenumber.

The networked version works as follows, using the provided plug in module (a version is provided in 0.01 for AOL, I'm working on a CompuServe version and will have it ready in a week or so) to connect to a major online service. Once connected it goes into the equivalent of promiscuous mode and scans all traffic for the age bit, and forwards the information back to your system.

After collecting all this information, it scans a number of publicly accessible databases to turn the information into a street address. The geographical location can be approximated by running a traceroute on the IP address of the originating packet and works backwards until a host with reliable geographic data can be located. KiddieFind only requires state-wide granularity, and this only to narrow the later phonebook search.

Once a geographic location has been determined, it's not likely that the child has her own phone. Therefore the parents must be found. A search is done through the any number of the available on-line telephone books. By this stage KiddieFind should have a manageable number of candidate numbers. If real names are being used, than it's easy to isolate the correct phone number. Hopefully the Denning geographic information will be mandated soon, thus eliminating nearly all sources of error isolating the correct neighborhood.

If there are still too many candiate numbers a number of other mostly automated searches can be done. The parents' home web pages can be searched for personal information, etc.

Once you have the system tuned, all you merely have to do to locate a street address and phone number for any number of children is just login and poke around a bit. Everything else is done in the background. You don't even have to think about it.

I've obtained the address and phone numbers of over 5,000 children so far, but I expect this will become easier after all the kinks in the system are worked out.

GNU archives are located throughout the world, pick the one closest to you for downloading.


A layoff blood bath in Cisco is not news for Slashdot?????

SL Baur SL Baur writes  |  more than 5 years ago

I'm rather surprised that the huge Cisco lay-off wasn't news enough for Slashdot today. As a first hand participant, I'll be happy to post more details if anyone is interested. Sigh.


Shanghai - that Extra Mile...

SL Baur SL Baur writes  |  more than 5 years ago

I was so so so tempted to submit this for April 1st, but decided against it. OB: NSFW link approaching ...

The plausibility argument is definitely there - this wasn't originally posted on an April 1st and there is a distinct shortage of women in China due to their one child per couple policy.



Address for whoever wants to give it a go: No 145 Shan Dong Zhong Lu, Ren Ji Hospital, Building 1, 7th FL, near Fu Zhou Lu, Shanghai, China.

I might start a "designer-sperm-bank", collect the best designers/artists sperm from around the world, so there will be more mix-race children, less racism, hopefully all artistic too... Ok I'll stop now...


USA -vs- Jim Bell

SL Baur SL Baur writes  |  more than 5 years ago

(As a Blue passport, I plead the 5th with regards to any questions regarding this posting)

I've never read through an entire case transcript before and this is fascinating. On the face of it, Jim Bell now (I presume) imprisoned cypherpunk, was being prosecuted for championing his Assassination Politics essay. There's more to it than that and the idea isn't original with him, Tim May wrote about something similar in the Cyphernomicon


Certainly one moral of this story is DO NOT testify as a defendent. Jim is certainly a very bright technical person and one even versed in debating political theory, but as one can see from the transcripts, he is ripped to shreds when he decides to testify on his behalf and even worse, argue with court assigned lawyer.

I found the debate on the instructions to the jury remarkable, though perhaps I should not. It appears that at least in 2001, there still WAS some semblance of rule of law not men.

The only suppressed fact that I am aware of in this trial was how IRS agent Jeffrey Gordon pursued his prey. He made it clear that every subscriber to the cypherpunks mailing list in the 1997 timeframe were targets, in a very personal way and every bit as chilling as the acts described in this case. What kind of a frame of mind does one wish to induce when every (posting) list member gets emailed a PR-like announcement of the arrest of Jim Bell?

The court transcripts are here:


It's long, but fascinating reading and certainly an argument against current and forthcoming thoughtcrime laws. Jim never intended to threaten anyone, My ex-wife has threatened me with death on many occasions and usually with resort to terrorist rebels in the hills of Mindanao. She laughed it off as a joke when we were before the chief of police in Banaybanay.

33 months in prison for puting a smelly chemical in an IRS office, plus however many years he received for this conviction. I also find it fascinating that it is acceptable to throw real death threats at Acceptable Governmental Targets, like the AIG guys.


The clash of two cultures

SL Baur SL Baur writes  |  more than 5 years ago

In the recent History of the Bourne Shell article link here I got into an exchange with a PowerSheller (likely a developer). Due to the length and thoughtfulness of his defense of PowerShell seen below my comment here - link here I'm journaling it.

Thank you for a thoughtful response. I don't agree with you, but at
lease I now know where you're coming from. So on that basis ...

How about these:
Pipes are object-oriented. Commands are piping objects instead of plainly text. This means that

If you know who I am, you'll know that I do not consider "object oriented" to be a feature. I also regard writings such as TFman pages perltoot and perltooc as "dick waving".[1]

The advantage of using plaintext as a default is that it is highly resilent to underlying architectural differences. Throughout my career I've always been in an environment where I have had to interact with hosts with different OSes and different CPU types. Therefore, in my mind, something like `foo | ssh remotehost somecommand | bar' should Just Work. It shouldn't matter whether `remotehost' is 32 or 64 bit, or running HP/UX or Solaris or Linux. Nor should it matter what version of the O/S is being used.

Once you have to take that sort of stuff into account, you're looking at something like ASN.1 to represent data in a pipeline.

subsequent commands can refer to properties instead of parsing columns trying to get delimiters right and avoid false positives

Agreed that this is a "limitation" in a dead simple plaintext type approach.

tools/commands do not have to worry that columns may not be wide enough

Heh. No comment.[2]

you don't have to suppress headers and formatting information and

Well, actually you *do* want to do that, on data that's going to be post-processed by an arbitrary number of other programs.

values are passed strongly typed, i.e. dates are just dates and you need not worry about ISO formats to sort correctly

That requires specialized (and localized) knowledge built into the shell.

text (string) is just an object type so you can still just pipe text if you so choose.


instead of passive text the script/commands may interact with the objects. As an example, ProcessInfo objects (returned from the ps cmdlet) expose a WaitForExit method which allows scripts to wait for a process to terminate without resorting to ps loop polling or specialized tools.

See above comment about stuff crammed into the shell. Also, that's what the `wait' builtin is for.

First class strongly typed script language is embedded. It understands floats, objects, dates, times etc. Unlike when you drop into Perl or Python, PowerShell script still allows the use of commands with full piping embedded in scripts.

I'm not sure what point you're trying to make. Perl *does* have embedded capabilities to use shell syntax and semantics in pipelines and I would be surprised if Python did not have something similar.

Provider/drive architecture which is extensible. PowerShell comes with providers for file system, registry, credentials store, certificate store, environment, variables, functions and aliases. Providers are user-extensible and providers also exist for Active Directory/LDAP, Exchange etc. The upshot: You can manipulate
any store just like you manipulate directories and files, using the exact same commands. You can change "current location" into Active Directory, go to an organizational unit and start adding/removing members like it were files. With the exact same commands.

Once upon a time, one could simply use cat(1) as a mail reader and password file reader.

I am positive that the retro changes that MSExchange have wrought on the world are not for a positive benefit. I am dubious about Active Directory as well.

structured, nestable exception handling using try-catch-finally blocks.

Modern Unix shells give you access to similar capabilities, sans `nestable'.

transaction support (v2). Lets you rollback/commit changes to file system, registry or any other transaction aware provider as atomic transactions. Yes, NTFS is transactional.

It doesn't solve the problem of doing transactional scripting with transaction-unaware applications that need to be transaction-aware. CF my earliest XEmacs release building scripts.

script signing. By default PS will not let you run any script files unless they have been signed by a trusted authority, which can be yourself, your IT dept. or a 3rd party supplier. This can be set to only block unsigned scripts received from the internet/mail or never block (stupid).

I wouldn't consider this a feature, but that's a personal opinion.

debugger support (v2). Not just tracing but actual debugging with breakpoints, variable inspections/changes/continue etc.

Such facilities can be built into scripts. Tracing is provided with the `-x' option, which can also be set within a script.

Culture and internationalization support. Allows localized scripts with messages from multiple language dictionaries.

I'm not aware of anyone doing this with the Unix shell (and if someone is, please enlighten me).

But you wanted to see something that could not be done more easily in a modern nix shell (like bash or zsh?). Let's see:

# list all empty directories below current:
ls . -r | ?{!($_|ls)}

for i in $(find . -type d); do
[ $(ls -a $i 2>/dev/null| wc -l) -eq 2 ] && echo $i

This should work the same as in Version 7 Unix.

# list all directories below current which are empty except for
*.tmp files:
ls . -r | ?{!($_|ls -ex *.tmp)}

for i in $(find . -type d); do
[ $(echo $i/*.tmp 2>/dev/null) != "$i/*.tmp" ] && echo $i

# a better slashdot rss reader
$wc=new-object Net.WebClient
$rss.RDF.item | ?{$_.creator -ne "kdawson"} | fl

Muwahaha. There's no way I can possibly improve on that one.

# or just read the slashdot headlines through the speakers
$wc=new-object Net.WebClient
$voice=new-object -com SAPI.SPVoice
$rss.RDF.item | %{[void]$voice.speak($_.title)}

Does this also work on GNOME, KDE and MacOS X?

# list threads consuming more than 100MB (working set)
ps | ?{$_.WS -gt 100MB}

Variant ps(1) output is a known portability issue. Does this script
work the same when PowerShell is running under Unix?

# which 10 processes has been using most CPU?
ps | sort -desc CPU | select -first 10

$ ps -ax -O '%cpu' | sort -rnk 2 | head -10

# but how is their average CPU utilization since start?
#(format in a table with process name and average CPU utilization in percent with 2 decimals)
$big = ps | sort -desc CPU | select -first 10
$big | ft Name, @{ E={$_.CPU/((get-date)-$_.StartTime).TotalSeconds};
L="CPU avg"; F="{0:p2}"}

That one I'd have to resort to a special script.

[1] "(Yes, the double-function call is slow, but if you wanted fast, you wouldn't be using objects at all, eh? :-)" -tchrist in perltoot.

[2] Perl guys, I'm looking at you.


SL Baur SL Baur writes  |  more than 6 years ago

"We are at war with System V, we have always have been at war with System V" - George Orwell, paraphrased from 1984.

Selected quotes from the online Perl manual:[0]

$ man peripc
sub REAPER {
$waitedpid = wait;
# loathe sysV: it makes us not only reinstate
# the handler, but place it after the wait
$SIG{CHLD} = \ # still loathe sysV

In the beginning ...
Ken Thompson[1] had a wonderful flash of brilliance, "if I fully swap out a process, change the in-core process id in the kernel structures of the in-core copy, then I have implemented a new process function with only a handful of lines of code". Thus was fork(2) born.

Unix and its descendants have always had the philosophy that process creation should be and is cheap, and it certainly is compared to its competitors. But the main primitive, fork(2) did not scale up too well. What works on a PDP 11/70 may not work so well on a VAX.

Basing the idea that fork(2) is nearly always followed by exec(2), which essentially throws away the entire state of the child process, the inherently sinful vfork(2) was born in Berkeley in a predecessor O/S that not inappropriately uses a demon as its mascot.

vfork(2) got away with being, much, much faster than traditional fork(2) by doing away with much of the copying of process state that fork(2) does. The major drawback is that the child process shares full virtual memory state with the parent. Extremely careful programming was required if one was using the nominally faster vfork(2) over fork(2).

Consider it the predecessor of threads programming on Unix without any of the forethought of modern threads libraries.

For many years, Linus resisted introducing vfork into Linux. Linus being Linus, it was usually, "I'm not about to put that kind of crap into my kernel." Sometime after 2.0, I think in the 2.1 time frame, the VM in Linux had firmed up enough that he could implement a decent vfork using COW (copy on write) for shared writable pages, and thus vfork(2) entered the Linux kernel, *safely*[2].

The mindset that most of us guys who value engineering principles have is that much of the "innovation" brought forward by the BSD guys was a cheap hack. That includes /bin/csh which is perhaps the worst engineered language ever and has caused untold cost in damages to developers writing interactive programs (like Emacs) because users ended up being recommended to put interactive `stty's in their ~/.cshrc that would always execute and puke if sub shells were being invoked from a containing program without a control terminal.

The worst aspects of System V are gone. Sadly, the worst aspects of BSD 2 and BSD 4.x appear that they will live forever.

[0] I hate the way formatting works differently here and sucks harder than in regular mode.

[1] May peace and blessings be upon him.

[2] It did not last long as an independent system call and was fairly quickly replaced with clone(2) that is primitive to both fork(2) and vfork(2).


Oddest SPAM I've ever gotten (and read) - Slashdot poll

SL Baur SL Baur writes  |  more than 6 years ago

I received the following SPAMmy email that somehow made it through all the SPAM filters between my email box and me. The questions are interesting enough so I will take the time to answer them here, but I never respond in kind to unsolicited email of this sort.

Sorry. I am never going to trust email sent from a gmail address and claiming to be originating in Hong Kong, even if it is only the next island away.

Dear SL Baur:

My name is Lily Liu. I am a PhD student carrying our a project with my supervisor Christian Wagner (iscw@cityu.edu.hk) who is a professor at City University of Hong Kong. We are trying to understand the popularity of Slashdot to its active contributor, such as you. We hope you might be able to help us in our effort by answering three questions.

Question 1:

In your opinion, what (if so) makes Slashdot special among online discussion sites? Is it the content, the group of people it draws in, the discussion engine (e.g., content rating and filters), or possibly other factors?

I find it entertaining and sometimes insightful. I have found it most useful in training my bullshit filter in order to obtain reliable information from unreliable sources.

Question 2:

Compared with other discussion sites you know or/and have used, do you consider Slashdot's technology platform to be better? In other words, does it encourage (a) more sense of community or (b) more active participation? (In answering please also feel free to mention the other discussion site or sites you might be comparing to)

There was a better sense of community in FreeRepublic.com, but only for the True Believers. As that community drifted towards neoconservatism and continued to blast the so-called "fringe" supporters such as libertarians, I drifted away from it.

Technologically speaking, the software on FreeRepublic wins hands down over the software on Slashdot.

The software driving Slashdot is irritating much of the time, but often does not get in the way of enjoying discussions. Of recent concern, it used to be easy to mostly write free text (in a message like this) with an occasional HTML tag, but they are deprecating that. It used to be easy to read article titles before clicking on an article to read, but they deprecating that as well in favor of an unreadable color scheme.

Question 3:

As a unique user in slashdot, could you please rate your own reciprocity by assessing what you get from the community compared with what you contribute to it?(you can give an answer such as: i think i get more or i contribute more,of course we would be very appreciative for your explanation of detail)

I am a "disciple" of uber cypherpunk Timothy May and believe most strongly in the principle of - if you do not like the quality of discussion, contribute higher quality discussion yourself.

Of sites worthy of spending time on, as this one (including FreeRepublic) the value of the discussion is at least 10:1 over the value of the actual articles.

I've wasted too much time editing stupid HTML tags that I would not have been forced to insert in the default editing mode. Begone!


My entrance "exam" for detention in twitter's "Troll Zoo"

SL Baur SL Baur writes  |  more than 6 years ago

Interesting in how a post that includes a broad sweeping generalization that more or less reads Microsoft Windows has so litle value, they have to pay people to get their first fix and an observation that my spouse learned to hate it because of its instability gets turned into "says M$ sucks because Emacs sucks."

I've been using Emacs (and forks like Epoch and XEmacs) for longer than many of you have been alive. And Earth to twitter (via his mother or someone else who will read this to him), I'm not about to stop. Ever.

The full thread is around a flame directed at twitter.


We (meaning USians) are doomed ...

SL Baur SL Baur writes  |  more than 6 years ago

See: http://wcbstv.com/national/Jury.Finds.Goof.2.849689.html

The pertinent bit in there is:

Despite being a convicted felon, he is not required to drop out of the race or resign from the Senate. If he wins re-election, he can continue to hold his seat because there is no rule barring felons from serving in Congress. The Senate could vote to expel him on a two-thirds vote.

So let's see, we prohibit felons (most of them convicted on recreational drug charges) from even voting, ever again in their lives, but one can withstand a felony conviction and be voted into and/or remain in the Senate?


I am neither Republican nor Democrat so I'll add that Barney Frank and Chris Dodd can loot the country for billions of dollars and not so much as face a trial.

The Republic is doomed. (I did not know that bit about convicted felons being allowed to hold office, but not to vote).


Why we *must* blame Microsoft for malware

SL Baur SL Baur writes  |  more than 6 years ago

Microsoft is to blame for the malware explosion and here's why.

I wrote the following[edited for context] in response to someone who was attempting to blame "the idiot behind the keyboard":
Offering to execute pieces of email should never have been an option, let alone an unprompted default. Offering a prompt is a total misunderstanding of the real issue.

I can't think of an appropriate car analogy, so how about a rake analogy? Prompting before executing a file received in email is like attaching a notice to a rake laying on the ground with the tines facing up that reads, "if you step on this rake you could do serious damage to your face, proceed?" That is intended to sound dumb because it is every bit as dumb as executing things received via email.

There were good solid reasons why shar messages were distrusted and so somebody wrote unshar so one could unpack such things without executing it directly in the Unix shell. This was all standard industry knowledge about a decade before the release of Microsoft Windows 95.

Only idiots execute code received in email, but only an interface done by worse idiots gives them that option. Microsoft popularized the misfeature and made it a feature that some people cannot live without. It should never been a feature in the first place. And for that, you most certainly can lay blame to the management chain at Microsoft that signed off on the idea. The US tobacco industry was successfully sued for billions over much less.

I'll go after the creeping evil Javascript in a future journal entry, never fear.


Password security in OS/X

SL Baur SL Baur writes  |  more than 6 years ago

I wish to document a statement I made in good faith, but perhaps without sufficient information and provide clarification that I am not trolling.

My intention at this time, is to gain information as to whether Apple resellers are selling tainted product in Asia, or someone is tainting their product in Asia, or I am just an idiot and hit the wrong key somewhere. I've been a Unix user at home for over two decades and so I was shocked when I clicked a button on a login screen to see my password displayed.

I originally wrote:

Consider Mac OS X Leopard. If you do not choose a hint for your password, it will happily display your password in cleartext at the login screen when the hint button is clicked.

This comment was based on direct experience and apparently unique to me. So, after being pounded over the head with a clue hammer, I wrote the following:

This thread is already inside google, so I will post a summary and shut up.

I retract the general statement I made earlier in the thread and summarize the information here.

This a Mac Powerbook Pro purchased at Fries Electronics in San Jose in July 2007 with Mac OS X 10.4. It was booted for the first time outside the store.

It was upgraded to 10.5 with a shrink-wrapped box purchased in Manila, Philippines from an official Apple store this past July, before the hardware problems listed below manifested.

I had the show password hints option set.

I do not have a password hint on my account.

When I clicked show hint at the login screen, my password was displayed.

The machine is now out of service with a bad motherboard that is being replaced. It is possible there was some kind of hardware problem.

The system may have been booted into Safe Mode. I do not recall. One aspect of the dying mother board was that the airport was being misdetected at system boot.

This was an administrative account.

The software was purchased in the Philippines. It may or may not be the same image sold in the United States.

All music, videos, and most games sold in the Philippines are counterfeit, pirated or both. I have no idea how much of shrink wrapped software for sale is counterfeit.

I cannot reproduce the issue at the moment because my wife's Macbook is 7000 miles away and mine is in the shop for repairs.

An Apple person with a Macbook and a spare partition is welcome to call me at the office in order to borrow the Philippine 10.5 DVD long enough to install it on the empty partition and duplicate the same steps described above.

I like Macs. I'm not a fanboy, but it's Unix inside and my wife loves her Mac. I would love to be proved wrong, or demonstrate to someone that bad Apple system software is being sold in the Philippines.

I will shut up until I get my Powerbook back and have had a chance to redo the steps myself.

I posted the summary because as I was googling for other pages that might have been appropriate to my query, I found Slashdot. It is only fair to Apple that I attempt to rectify the situation. I have no wish to harm Apple. As an Open Source programmer from way back, when I see something go wrong in software, I want to fix it. In Linux, I can, but not in OS X. So, I'll provide as much information as I can so that if I have run across some wierd corner case, they can fix it.

Since that was posted, I remembered two other things I should have mentioned:

The account in question was created in 10.4 at the first system boot.

I used a program downloaded from apple.com called OnyX to clear caches in order to get the machine to boot out of Safe Mode when the bad airport driver was insmod'ed at boot. This might be an artifact of the 10.4 -> 10.5 upgrade.

I offer my apologies to Apple if this was something one off due to impending mother board failure or something like that. And if someone in Asia is selling tainted 10.5 CDs, maybe they would like to know about that.


Why Unix has survived the test of time

SL Baur SL Baur writes  |  more than 6 years ago

I wrote this entry in a recent article:

I have been impressed with Unix and its descendents since I first encountered them in college. The big Blue and Green books documenting Version 7 Unix were useful for everything Unixy at the time and I've always liked the multiuser/multiprocessing aspect of the system. System V/R2 was a disaster on the order of Microsoft Windows XP (so I've read, I only used Microsoft Windows XP/SP2 for about half a year and it was only less stable than System V/R2 with patches), but it was released two decades earlier and since has all the problems worked out.

The Unix model, as first designed by Ken Thompson and Dennis Richie has withstood the test of time as no other software project ever has. They killed the proprietary O/S model on minis and mainframes. They killed the idea of non-portable OSes, though Microsoft has resurrected that idea. They so excited the minds and hearts of programmers that dozens of reimplemented spinoffs were done ... and survive to this day.

And now, I want to expand on it.

The Blue and Green books, which were published around 1980, were critical for the success of Unix. They documented every system call, every library call and did not leave anything out. This was the true start of Open Systems. No longer would you have to have huge support contracts with your O/S/Equipment manufacturers to figure out how to do things[1]. This was underscored by the fact that the crucial user interface to the system that every user had to endure, /bin/sh was just an ordinary program and many people who were unsatisified could and did (/bin/csh being the first) reimplement it.

* Open Interface, interchangable parts.

Unix has long been criticized for its cryptic commands. Well, it was until certain people decided the command line had gone out of fashion. The small, but numerous included commands with Unix emphasized a philosophy of Small is Beautiful and Do One Thing and Do it Well. While maybe being difficult to remember at first (but the Blue Book had all the manpages in nice, removable and 3-hole punched pages), were easy to type. But, let's face it, whether you are working at a 110 baud hardcopy teletype, or an Xterm, it's easier to type `ls' than `directory' or something like that. Later advances in Unix shell technology made that rather moot with user-defined aliases and bound function keys as in zsh. The point to remember is that the later advances were enabled by the fact that /bin/sh, wonderful innovation that it was at the time, was an interchangeable part.

The original Unix guys were proud of the pipeline, and indeed, it is a useful concept, but I doubt many folks today take much use of it. Programs like Richard Stallman's Emacs, XEmacs, Expect handle most of the complicated cases in greatest usage today and the rest are things like <some command that will produce a lot of output> | less.

As multicore systems become prevalent, we may see someone take advantage of that to make really wonderful pipelines possible, I'm not optimistic. But hey, I'll be happy to hack at zsh, with all of its wonderful pipeline primitive extensions if someone throws money at me, but on second thought, I'd rather the zsh guys be the target (of the money).

* Flexible design methodology.

Unix has been multiuser since the very beginnning. Well, after they got the bugs out that caused people to shout "a.out" when they were running programs they had just compiled. For historical perspective, the original PDPs had similar amounts of memory as the first IBM PCs. Separated I & D space (for a whopping 128k of address space) was a huge win in the days.

* Multiuser/multiprocessing because no one needs to be administrator on a computer to use it and no one does just one thing at a time.

The Unix file system has simplicity at its core. Files are just files and handled as a stream of data. Encoding a file's purpose as part of the file name or as metadata had been the norm and Unix broke that. RMS was the complete opposite and older folks remember the shelves of bookcase space VMS programmers routinely kept near by filled with programming manuals. Open, read, write, close. It doesn't get any simpler than that.

* Files are just files[2].

Over the years, kruft has crept in, as it will with any going[3] software project but not enough to invalidate what Ken & Dennis started almost 4 decades ago. Certainly the lack of an rmdir(2) system call was an oversight[4], but not a crippling one. My number one criticism of Unix is the short-sightedness of using only 32 bit signed integers for time computation that make the End Of The World coming around January 17, 2037. Fortunately, modern Unix-derivatives use 64 bit time and I guarantee you, many of the ones you see today will still be in use 3 decades from now.

Unix. Live Free, or die.

[1] I am pointing the finger at the former Digital Equipment Corporation here. In the mid 1980s, I was employed at one of the first 100 .coms with all the associated huge defense contracts of the time, and was trying to code for myself a feature that was in one of the DEC supplied standard VMS utilities. I could not make it behave the same way as the DEC program. I spent many hours trouble shooting the problem, many hours on the phone with a DEC consultant who claimed to be reading the source of the program that implemented the feature I was trying to implement, but no luck. Just Say No! to undocumented interfaces.

[2] Yes, at times I have read mail with cat(1).

[3] As in "going concern" an accounting term referring to businesses with a future.

[4] Which causes the command `/bin/rm -rf /' run as root to fail after removing the /bin/rmdir program (do not try that at home unless you know what you are doing).

Slashdot Login

Need an Account?

Forgot your password?