Please create an account to participate in the Slashdot moderation system


Forgot your password?
DEAL: For $25 - Add A Second Phone Number To Your Smartphone for life! Use promo code SLASHDOT25. Also, Slashdot's Facebook page has a chat bot now. Message it for stories and more. Check out the new SourceForge HTML5 Internet speed test! ×
User Journal

Journal Journal: Thoughts on the latest Microsoft Worm (Part 1) 1

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.

From: (Steve Baur)
Newsgroups: rec.humor.funny
Subject: NEED HELP FAST !!!!!!!!!
Keywords: original, computer, smirk
Message-ID: []
Date: 12 Jul 92 23:30:04 GMT
Lines: 58

This composition is original, although the subject is not.
--------------------------- Cut Here---------------------------------
Newsgroups: comp.unix.questions
Subject: NEED HELP FAST !!!!!!!!!
From: (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!!!! |
  | |

- Steve (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.


Journal Journal: Microsoft Appreciation (but I still love Unix) 2

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.]. 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.

Desktops (Apple)

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

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!


Journal Journal: A brief history of Unix

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) ...


Journal Journal: Age bits redux 1

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.

It's funny.  Laugh.

Journal Journal: Shanghai - that Extra Mile...

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...


Journal Journal: USA -vs- Jim Bell

(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.


Journal Journal: The clash of two cultures

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.


Journal Journal: fork(2) and vfork(2) and clone(2), a cautionary tale

"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).


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

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 ( 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, 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!

It's funny.  Laugh.

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

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.

United States

Journal Journal: We (meaning USians) are doomed ... 1


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).


Journal Journal: Why we *must* blame Microsoft for malware 2

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.


Journal Journal: Password security in OS/X

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 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.

Slashdot Top Deals

The unfacts, did we have them, are too imprecisely few to warrant our certitude.