Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
Programming

Journal Journal: Unlimited Includes 1

I was reading the references to Paul Graham's in the article "What you wish you'd known" and was learning a few things. Then I started reading some of his other articles and it made me come back to some things I hadn't thought about in years, if not decades.

I sometimes say that I know a little about programming, that I figure I'll get better at it as I have more practice, because I've only been doing it for 24 years. So I think I'll tell you a story about one event that got me thrown off the college computer system.

I was in junior college back in 1978 where I was taking computer programming classes. Long Beach City College in Long Beach, California had a Univac (now Unisys) 90/60 mainframe, a workalike for IBM's 360/370 series. It ran its own operating system called VS/9, and ran terminals as well as batch processing using punched cards.

One of the features of the assembler is the ability to issue commands to the loader by using the 'punch' command, which places instructions into the object file, so that you could, for example, tell it where a specific library was so you could load it, similar to the use of DLLs on Windows.

The command to do this was include followed by the name of the file to include. When you compile any program, it is stored in a temporary file called "*" (that's correct, it's name is asterisk. I don't think they supported wild cards for looking up file names then.)

So I got this idea, if you wrote an assembly language program, with the command
PUNCH 'INCLUDE *'
which, when compiled by the assembler, would store that in the file *, and if you then ran it by the command EXEC *, what would happen?

Well, I tried it. What happens is, when you do an EXEC *, it loads the binary file, notices it has an include statement, and attempts to load that, notices it has an include statement, and attempts to load that. It had unlimited includes. In essence, a practice called 'endless recursion,' or the effect you get visually when you hold two mirrors across from each other, the image runs on into infinity.

And that's exactly what putting an 'INCLUDE *' command inside of the * file does, it kept trying to include itself over and over and over until it ran out of memory. Then it would get an error trying to continue to do so, which ran a flag up on the system console. And it kept going, trying to load a recursive inclusion over and over.

There's also another problem. The EXEC function is a priveleged system to load programs; you can't kill it; terminating the task is ignored by EXEC until after the program is loaded. That means either you need to wait until it gets tired and quits (which may take hours), or you have to do a shutdown of the machine and restart it. I think they had to shutdown the machine. Well, the system manager got so upset he cancelled my account. (I had a long history of doing a lot of, shall we say, 'interesting stunts' on that machine; I found things out about it that were apparently not even well known to the people at Univac.)

It's rather interesting how someone who has no preconceived notions can discover things that even supposedly professionals didn't think of.

Politics

Journal Journal: Robert Heinlein does it again! 1

In the 1980s, when it was discovered that the wife of the leader of the free world was using an astrologer to chart her husband's political career, it was noted that the exact same practice was predicted by Robert A. Heinlein in his book, Stranger in a Strange Land, which was published more than a generation before the revelations about Nancy Reagan.

Robert Heinlein also showed how you can steal an election without anyone being the wiser: you use a computer system to count votes, where the computer system's integrity is trusted and there is no means to provide a reliable audit trail outside of the computer system.

He wrote about that in The Moon is a Harsh Mistress which was first published in 1966. And nearly 40 years later, (almost) nobody seems to have remembered yet another of the late, great Bob Heinlein's prophetic views.

Paul Robinson
"The lessons of history teach us - if the lessons of history teach us anything - that nobody learns the lessons that history teaches us."

Programming

Journal Journal: On Criticism of Open Source Licensing

There is an article by DasBlonde criticising the issue of open-source licensing terms at this location.

Here is my response:

I'd like to comment on a number of points:

1. Free Redistribution: The software can be given as part of a package with other applications;

Not all third party applications require a license fee to redistribute therefore this does not "distinguish" open-source.

Many applications have, and in some cases might still, charge a fee for each run-time copy released, or over a certain number. I'm not talking about something like requiring the user to have, say, Access or Word to use a file, I'm talking about the case where someone compiles a program and is required to pay a licensing fee for each copy of the run-time system (that is compiled into their released application) that they release to their customers.

2. Source Code: The code must either be distributed with the software or easily accessible;

Great! So now our government IT departments will spend time writing code at the kernel level, and hopefully it won't introduce bugs to the system.

I do not know if you're intentionally raising straw men or simply do not understand the issue. The issue is not about people doing kernel-level device drivers, the issue is about access and transparency. When people have access to the exact same source code, they can see, with their own eyes, what is present and how it works, if they choose. They have the capacity to understand what is going on inside the system.

I found a bug in the installer for an open-source compiler once, when I noticed it was doing something wierd. I went and looked at the source to the installer, and discovered it was making a bad assumption regarding disk space. I was able not only to report the bug, but the exact line number in the source where the error was. All I would have been able to do in a closed-source application was note the misbehavior, I could have done nothing to help find it. This is free labor I donated to help improve the product.

3. Derived Works: The code can be altered and distributed by the new author under the same license conditions as the product on which it is based;

Right, and what's more, when those licenses are invalidated by all of the infringing patents that lurk, they get to violate those as well.

And you're saying that closed source programs are completely uninfringing of anyone else's patents? That there are never any possible patent infringement issues lurking in any closed source application?

Check out Microsoft's End User License Agreements. Not only do you have no ability to see anything inside the source code - unless you're a huge customer, and then all you might get is a 'view only' license and no means to make any changes - Microsoft will not stand behind you or grant you indemnification if their software infringes on patents issued to someone else. Their EULA specifically says that they make no promises that their software is non-infringing.

And I'd like to ask something else: How exactly do you think it was discovered that those potential patent infringements were there? Because people could examine the source and identify the points involved.

A number of software patents would probably be found to be invalid because they are trivial and/or fail to be non-obvious, but the examiner either didn't know that or couldn't prove it. The average patent examiner has less than 10 hours to look at a patent application and determine what it is doing and what it claims, and ask whether or not this is valid. And patents are written as legal statements, not as an algorithm, so deciphering them is not easy.

The problem here is with the broken and disfunctional patent scheme used in the U.S., not with open source.

4. Integrity of the author's source code: Derived works must not interfere with the original author's intent or work;

Terrific! So, correct me if I'm wrong, but basically does this mean that anyone who modifies source and gives it back to the community to share is on an honor system to "not interfere". And if someone fails to meet this requirement, are they sent to jail? Do they receive a good IM scolding? Will they lose all their network gaming friends?

It simply means that if you change the source you should indicate it is not the same as the original issued by the original author, out of common courtesy, so that if your code changes break something, people don't go back to the original author if they're using your changed version and inform him or her that their program is broken, when it's your change that is broken. Especially since the original author might either not know about the change (if you didn't pass it on to them) or might have decided not to use your change (if, they felt it was too buggy or the function was of too limited a scope to be generally useful other than in very limited cases.)

5. No discrimination against persons or groups;

This is an interesting bullet. So, do software vendors discriminate?

Some do or did; see the next item.

6. No discrimination against fields of endeavor: Distributed software cannot be restricted in who can use it based on their intent;

Again with the "discrimination" thing, but this is completely vague so I have nothing more to say here except: What on earth do you mean by this?

Some software back in the 1980s and later had restrictions such as not permitting it to be used in South Africa, or specifically prohibiting any police agency in South Africa from using it, generally because of disgust over apartheid.

While working to ban the practice may be a laudable goal, trying to do so through a software license is silly (because the person who put it in is unlikely to be able to enforce it, and those restricted by it are probably going to ignore it anyway for that reason.)

If you release a software package under that type of license, it means, for example, that you have to let abortion clinics and abortion protesters use it, no matter which side of the fence you're on on that or any other issue. (Somehow I feel I should toss something in here like I wish the baby murderers, and those who want to send women back to coat hangers, would leave the rest of us alone, but I don't want to sound strange because people would wonder how I could be against both sides, but sometimes I am strange, so I won't say it!)

8. License must not be specific to a product; Meaning that an operating system product cannot be restricted to be free only if used with another specific product;

Hey, free is free, however you get it free...who cares? Besides that, I have no idea how this comment really helps government IT.

Certain products from Microsoft are licensed only when used with Microsoft operating systems, and specifically prohibit use with non-Microsost operating systems or certain other software. This, in effect, is what is called a "tying clause" and in certain legal circles it is considered an unfair business practice.

9. License must not contaminate other software; and

Well, the term was "restrict" not contaminate...I guess this is intended to draw attention...and, well look there you have it. The point here was to ensure open-source software license didn't require other software shipped with it to be open-source. I don't know how other vendor's infringe on this... anyone else know?

It is also to prohibit an application from not allowing you to use other applications with it, so that neither a closed-source nor an open-source application or operating system can prohibit you from using any other software product, whether it be open or closed source.

10. License must be technology-neutral.

Meaning, you can use open-source software to build any type of software application your little heart desires. Yep, I can do that with other platforms as well.

Uh, in correspondence to #8, I believe that Microsoft Visual Studio specifically prohibits its use except on a Microsoft licensed Operating system. Or if not that, there is something else which I can't remember of the top of my head, but some of Microsoft's products specifically require in their license that you only use them with their operating system. Whether what the license meant was that you could only use them if you had a legitimately licensed copy of the operating system or that you could only use it with their operating system, I'm not sure, but the requirement was still there.

I've probably gone on too long as it is, and I have to stop because someone called me to do something, but there are some of the reasons behind why your comments are either misguided or incorrect, or simply arrogant and possibly unfair attacks on open source.

Paul Robinson

Operating Systems

Journal Journal: The three creators of Linux: Torvalds, Stallman and Gates 1

Neil Stevenson, in his weblog, argues that three people are most responsible for the development of the Linux system we all know and love: Linus Torvalds, Richard Stallman, and Bill Gates. And I don't think he's crazy.

Now, you might just ask how Bill Gates could in any way, shape or form, be responsible for the development of Linux, the "cancer" that is destroying software development (as his number 1 lieutenant Steve Ballmer puts it).

Well, it's like this: In order for Linus to develop the kernel that is Linux, he had to have the toolchain of compiler, editor and linker to be able to do this. These are the tools that were developed by, or indirectly caused to be developed, by Richard Stallman as a result of the creation of the Free Software Foundation. But, all these tools and even the kernel would have been worthless if all we had were very expensive, underpowered hardware such as was the original IBM-PC.

Now, what caused the PC to become much more powerful and less expensive? The commodity purchase of lots of them by lots of people in order to do all the different jobs they have to do. And what was the driving force for this? MS-DOS and later Windows.

If there hadn't been a relatively easy way to run programs on PCs, and ways to develop products that could run on all of them, the PC would still be an expensive product that few would own and it wouldn't be very powerful. And that was a result of having a standard operating system to work from.

So whether people want to admit it or not, if Microsoft had not developed software that made it possible for lots of computers to be sold, the price of computers would still be very high and Linux would be nothing but unrealized potential because very few could afford the hardware necessary to run a multi-tasking OS.

User Journal

Journal Journal: From Him, the Deceased

I posted a review on Amazon for the book "For Us, the Living" by Robert A. Heinlein. Here it is, with additional material not included (since it includes the blurb for the book on Amazon I don't have to explain the story in the review I posted) there, for those interested (probably nobody, but at least I tried.)

Heinlein's first book becomes Heinlein's last book as For Us, the Living was published now some 16 years after Heinlein died, and provides a very interesting preview of how Heinlein sees a world that changes in very radical and strange ways (not unlike our own.)

Many of the concepts Heinlein would use in his books would come back to haunt us whether we liked them or not. (His 1962 Stranger in a Strange Land's example of the wife of the leader of the world's use of an astrologer to plan political strategy predated by a generation the revelation of Nancy Reagan's repetition of this practice in her husband's political life.)

This book can be classified as a "Utopia," (a happy example of a society and how it operates) as opposed to some of the more dreary dystopias of an unpleasant future (such as Aldous Huxley's Brave New World, a future I fear our own society is heading more toward than the one predicted by Heinlein in this book.)

To give more information about the story for those who don't know about it, Perry Nelson is driving his automobile in 1936 when he has a blowout, skids over a cliff, and comes to in 2086. He is found by a lovely young woman named Diana who nurses him back to health and allows him to discover the new world 150 years after he supposedly died - and came back to life in her world - and how much has changed over 7 generations. Many of the concepts dealt with in this book are explored in other books Heinlein would write later, especially including Beyond This Horizon, which would borrow a great deal from the society envisioned in this book. Heinlein would later use the same idea of a man being stuck in a strange situation and assisted by a woman who helps him in the book Job, a Comedy of Errors.

There are some rather interesting predictions of a future that Heinlein could only guess at, from a world of such lower levels of technology than our own that even the automatic transmission in an automobile wouldn't be invented for ten years after he originally wrote this story.

The book's mention of a military attack via two aircraft on New York City in 2003 gave me an eerie flashback to a similar incident two years earlier in our own world.

His references to a more liberalized treatment by society of men and women and their personal relationships with one another has, to a much greater degree than probably could have been imagined then, become much closer to reality (although no where near as far as the book goes; on the other hand we still have more than 80 years to go before the events in the book take place, so there's always room for improvement.)

A number of ideas of his I find amazing and challenging (I thought I understood Fractional Reserve Banking as a concept until I read it here and realize there are details about it that probably most bankers don't even get), even if I find the potential for their implementation extremely unlikely (keeping the power to create money through fractionalized reserves in the government's hands as a way to eliminate income taxation and fund a system of public lifetime pensions for everyone instead of allowing banks to make money off of the process) is something that sounds like a great idea, but those who have a vested interest in the current system are not going to allow it.

It is said that the sexual connections between the characters is so racy that the book would have been unmailable when it was written back in the 1930s, and yet there is not so much as one word of description of any sex acts at all in this book. (I think the idea that people might actually have more than one lover at the same time, or might be able not to be jealous of whomever they are involved with, were too radical to be published for that time and age even if the practice even at that time was probably more common than was admitted.) Even today, the anger over the concept of persons of the same sex marrying (a concept this book doesn't come close to touching) has a number of people very upset.

I think that that, more than anything else, is the Achilles' Heel in the book's utopian future: it demands most people to stay the hell out of other people's private affairs when they aren't hurting anyone else. The scene where a couple, in the middle of a press conference, wanting a private moment with each other and one of them asking the reporters to treat it as such - and the press going along with this request - was a rather amazing incident which I find not very likely, given the standards of the media of today. With the overly large interest by the general public in having a say so - through laws prohibiting such conduct, or licensing it - in the matters of other people's private consentual sex acts, marriage, relationships, and living arrangements, it is hard to envision a free society such as the one contemplated by this book, where most people tend not to care how other people live their lives. (Too many people in their black hearts want to dictate how other people should live according to their standards, not those of the people involved.)

All in all, For Us, The Living is an amazing book that should make you think about your concepts of what our society considers important, how we relate to one another, how we manage to survive and provide for ourselves and our future, and perhaps how we could relate to one another if we chose to stay out of each other's personal, private business (in a general Libertarian point of view.)

On a scale of 1 to 5 I gave the book 5 stars.

First Person Shooters (Games)

Journal Journal: Tales of Doom (3): Doomed to Failure

Yesterday, August 3, my sister charmed a guy at a computer store into selling her a copy of DOOM 3 a day early from the release date. Oh boy! This is my story of trying to get it to work.

Our story begins last weekend when I purchased 512 MB of memory to upgrade my one-month old HP Pavillion A305W (2.8 ghz) from 256 MB to 768, since the minimum for DOOM 3 would be 384 and I might as well have a little slack if I'm going to upgrade anyway. (I remember having computers that didn't have that much disk space, let alone memory.) I decided to wait and see how my video card would stack up, figuring if I didn't like the results, I could always go buy a card if I had to. As I had only paid $350 for this machine (it was a remanufactured model and discounted) I felt paying $250 for a graphics card was a little extreme. But if I have to, I have to.

Flash forward to August 2, when I tell my sister - who owns every game console out there, PS, PS/2, XBox, GameCube, plus a Sony VAIO PC, that the game DOOM 3 is out, does she want me to get it? It's kind of a stupid question, but basically if she's going to buy it I don't want to buy a duplicate copy. So she tells me to go ahead.

Yesterday she calls me from her cell phone, she gets a guy she knows at a store to sell her a copy then, (a day ahead of the embargoed release date), so I don't need to buy it. She really did, my brother brings over the package, and I look at it.

I can't install it on my sister's computer. The computer was originally installed with Windows XP Home. But many of the games we have from the previous computer won't run on XP, so a few months ago I purchased a copy of Windows ME on eBay, backed up her copy of XP, wiped the drive (because they formatted the whole thing NTFS, which ME can't use) and reformatted most of it as VFAT, except I left some 9GB unused in case I might want to install a Linux partition later; so I can install XP along with ME because I've left plenty of space. Only problem is, we can't find the XP disks that came with her computer, nor can we find the backups. So what I'll do is install DOOM 3 on my computer and she can use it (I have a second spare computer I can use to do my work) when she wants to play until we can upgrade hers, as I left XP on my computer because everything I use works with it.

So I get the program and I install it. Three CDs. Okay, so start up the program. The startup routine runs, checks out my video card, which is an 80MB card, which seems to be okay, it tries some OpenGL primitives and some of them fail, so it informs me it has rejected my video card "Mene, Mene, Tekel, Upharsin" ("You have been judged and found wanting" - Daniel 5:25)

Okay, looks like I'll have to buy a video card. Since I am upgrading her machine too, I'll just buy two and charge them to her! So, any way, I commit the number of her computer to memory and run over to Micro Center, and I get there at maybe 10 minutes before closing. I also need to buy memory for her computer because she only has 228 mb on hers. (It's probably 256 minus what it steals for video ram.)

Before I left I remembered that my machine, from seeing the inside, does not have an AGP slot, so I'll have to remember to buy a PCI card. I'll buy two of the same so I don't have to have two different installs.

I'm in the store. I can't remember the model number of my sister's computer, so I don't know what memory type it uses. Clerk is nice enough to try, he goes online to check, but can't figure it out, because Sony's Website lists over 20 different VAIO desktops and doesn't tell much about them.

I had told my sister I would call if I had a question. I use my cell phone to call home. I get the machine. I call her cell phone, it rings and rings and finally I get voice mail.

So I call back home and leave a really long message, hoping she'll hear and pick up. No soap.

So I ask the guy what's a card that will work with DOOM 3. Before I left on the 12 mile trip to go to that computer store, I thought I should take the box with me. But I forgot and left without it anyway. Since he's never seen the box, he doesn't know except what is recommended in the store circular: ATI Radeon 9800 PRO. So I buy them, take them home, unpack one, crack my box and go to install it. It won't fit.

I never even bothered to look at the package the clerk handed me. 256MB AGP card. The exact wrong type of video card.

I messed up. The one type of card that I can't use and I knew before I left to go get it that it would not work. But I didn't look and didn't think. Oh well, all I can do is go back tomorrow (which is now today) and buy the correct card.

I guess you could say that with forgetting the model of computer, forgetting that I must make sure I don't get an AGP card, and going so late I couldn't get back to the store on the same day, meant my attempt to play this game was Doomed (3) times to failure!

I'll end this little article here as my sister is chomping at the bit for me to get the correct equipment so she can play this game.

Hardware

Journal Journal: IBM to build new Top 20 Supercomputer

Reuters reports that IBM will be building a 1,186 node, 2,300 AMD 64-Bit processor cluster supercomputer for the U.S. Army. The computer is expected to clock-in at 10 teraflops, and is expected to be in the top 20 of the top 500 list of supercomputers. A recent article in Slashdot spoke on the alleged crisis of the reduced use of "real" (and much more expensive) supercomputers vs. "multiprocessor matrix" (my term) clusters such as these.
User Journal

Journal Journal: Open Source is not going to do everything in software

A news item regarding Open Source Myths appeared here on Slashdot about the article on Neil Gunton's website to which I wrote a reply. I made some comments to him in response. I have amplified some of those comments and expanded upon them here.

Title: "I liked your comments about open source"

And I happen to agree with the points that you have made. But I don't necessarily believe that things are as bleak for the small developer as you make them. You have just as much risk that if you develop something successful that some larger company may develop something similar as well as someone else developing an open-source product that might also compete. Certainly it be nice to be someone who wants to make money writing programs and not "spend all his time on the phone doing support." But unless you are working for some large company that can hire the people who they need to do that stuff, you're going to have to do some support yourself of your product. I do it with the stuff I write.

But you take that risk when you enter any business. The buggy-whip manufacturers and horse carriage makers were in a great line of work until the automobile killed them. Some of those companies switched over to building parts for automobiles. They adapted to the environment.

I also think you're throwing the blame for the inability of a single programmer or small group to develop some really hot application and sell a huge number of them to a lot of people is unworkable today because those who got there first have raised the bar by increasing the expectations of users to include a large number of additional features and "bells and whistles," many probably having little to do with core functionality, but still raising the cost of development and increasing the complexity and cost to support.

While some of this is a good idea, a word processor that provides all of the functionality to write a complete book is something I needed when I started writing the books I'm working on, there are lots of things in Word Perfect that are of little or no use to me, but may be of use to others. (I'm not one of those Word Processor bigots, I've tried Microsoft Word, and in discovering that it could not do what I wanted for my books, in examining one of the mistakes it made in formatting I decided I liked what it did better than what I was using, and was able to quickly borrow the feature back into Word Perfect.)

In the response to you I had forgotten to add - and I'll do it here in my journal entry - that it's estimated that only 5% of all software developed is of the "boxed retail" or "intended for public consumption" type application. Most is for in-house use, is developed for private release or for a specific customer, or is developed for specialized applications such as device drivers and software to run appliances. In none of any of these cases is there even a commercial market for the software being developed, and there is no "external price" available for a large percentage of software being developed because it is stuff that is developed for non-public consumption.

You seem to knock going into "niche" products or into things that are not very popular, or going into custom development. Some of these things can be quite lucrative, especially if you get into woefully underserved areas where there is a big lack of a good product for a particular marketplace. Because if it's a small market that doesn't have a good application to solve its problem, there may be room to charge more for solutions that are not being served.

I think what you're complaining about is that the "low hanging fruit" and the "easy" stuff that was very lucrative without a lot of effort has already been taken. Whether that's true or not, I don't know. But I do know this: trying to get by in a market by going after the "easy" and "simple" stuff is a sure way to be marginalized by others who have the same idea (or, as in your examples, to be usurped by some open source application.)

But let me push your own words against you: If it's not something that will "scratch the itch" of some open-source developer, you're not going to see an open-source application come out in competition to it. Some kid in a garage is unlikely to develop an open source payroll application to compete against some commercial one, or we should have seen open-source payroll packages by now. It should not be that hard to do, there are even plenty of source code modules in existence going back to the 1970s when the DECUS source code libraries were released for PDP-11 and other Digital Equipment Corporation machines. So it's not like someone even has to do this from scratch, a lot of the work has already been done.

I have yet to see open-source banking software. I don't mean programs to run one's checkbook, I mean ones to run a bank. Or a credit union. There are lots of small credit unions that probably do a lot of work with paper-based files and manual transaction work that could probably run their operation on some sort of networked package which is not expensive (compared with the huge prices I'm sure large vendors charge in comparison.)

I'm guessing here and may be completely wrong when it comes to the above example, but I'm sure there are lots of other industries and applications that could use better software tools to support their business and could pay the kind of money that is worth it for a single-party developer or small group to get involved in, but not enough for large companies to bother with, and too much trouble for some unpaid programmer to get involved in developing an open source competing product.

Now, looking at, for example, financial applications, while there is a development of GNUCash, a clone for Quicken (which basically is a system for managing personal finance, something an individual as a programmer might be interested in), I have yet to see any interest in developing complicated financial software for businesses such as the complete package (payroll, Accounts Payable, General Ledger, Trial Balance, Accounts Receivable) even though it's been done - with source code publicly available - in other areas, as I noted above.

That's just one example.

Simply, there are lots of different application types individuals and small groups can work on for sale that are of little or no interest to the "scratch your own itch" type of programmer who might be tempted to write an open source application to compete with something you might write, if it's of the type of material that they have no need for.

Just think of other applications that programmers have no need for, and you're unlikely to find someone else coming along and writing an application in competition to it at the free-software level.

Also, most of these people involved in stuff in that environment tend to migrate to Linux; very little of it filters back to Windows. So if you hang around Windows applications it's unlikely to filter over.

Another thing: push for and strive for better interfaces, easier to use and more intuitive development for the non-programmers who might use such applications, and this will also raise the bar to the open-source movement in developing competing alternatives to what you might create. They are extremely weak in developing good quality software that is easy for the average person to use. Their usability factors are often very weak. If you target the parts they are weak on and market to those, you can often stay in areas where unpaid labor is not going to try to compete.

Space

Journal Journal: 35 Years ago Today: "One small step for [a] man..."

As some may have forgotten - or were not even alive when it happened - On July 20, 1969, Neil Armstrong, as part of Apollo 11 became the first human being to set foot on the moon. There are some interesting background issues which a number of people may not be aware of, and I'd like to share them.
  1. Armstrong blew his line! When he stepped onto the surface of the Moon, Armstrong says, "It's one small step for man..." long pause, "One giant leap for mankind." I think the pause there meant that Armstrong realized he had not just blown it on national television, but on worldwide television. The line was supposed to be read as "It's one small step for a man, one giant leap for mankind." Rather than be caught with his pants down (hard to do when on the moon in 250 degrees F!), he finished the line anyway.
  2. The transmission of the television signal used up almost the entire remaining spare national transmission capacity. My understanding was that basically, there was enough capacity in AT&T's microwave network to support 4 television channels. With the three networks using theirs (for programming being taped or filmed for broadcast later), that was essentially sll the extra capacity there was, one channel.
Security

Journal Journal: Mexico's Attorney General gets microchip implant

In a follow-up to the recent story here about how some Japanese schoolchildren will be tagged with RFID tags in their bags and clothing, CNN is reporting that the Mexican Attorney General (and some of his staff) have actually had microchip implants inserted beneath the skin, both as a means to access certain databases and as a means to be tracked in the event of kidnapping. Somehow this sort of thing bothers me, I fear it might become required.
Programming

Journal Journal: Worst features of programming languages?

A recent article here asked the question, "Favorite Programming Language Features?" and wants to know what feature or features you like most about any particular programming language. I'd like to ask the complimentary question: what do you think are the worst features of programming languages?

Here are some (of my opinionated) examples:

  1. Case sensitivity in C. Of all the brain-dead moronic ways to make programming harder and more error prone, having case sensitivity has to be one of the biggest. It is difficult enough to write code and correctly use variables (unless your language supports mandatory pre-declaration) but adding the possibility of 2^N different identifiers for every identifier of size N (a two letter variable like "pi" has 2^2 variations (pi,Pi,pI,PI) increases the possibility of error.
    Now, however one of the nice features of at least one language is the use of case sensitivity with respect to formatting variables, in which the way the variable is declared causes the system to reformat every use of the variable to the same case (but you only have one variable of that name no matter what case you use to define it.) This allows you to determine if you have properly defined a variable, in that if you use the same convention and a variable's case doesn't change to match, you know you're using it incorrectly or it's not defined. In that sort of case, the language is making it easier for you to find errors, not making it easier to create them.
  2. Pedantic demands for exactness in cases of harmless error. Most HTML browsers shouldn't mind if you leave off the </body> tags at the end of a document; presumably under XML if you don't close everything your document has errors (and presumably should be rejected as unprocessable). If you leave off a tag it should simply mean you get wrong results (like failing to close an <I> tag means that the rest of the document is rendered in italic or until a higher-level tag closes the range being processed, if the document's state is retained) from that point, not that the document is rejected.

Now, let's hear your comments.

Wireless Networking

Journal Journal: FCC Rules WiFi must be free to use

In an article in ComputerWeekly, the FCC has ruled that it has final jurisdiction over unlicensed wireless space, meaning that an airport authority can't force airlines to (pay to) use its wireless network and may use their own. This bodes well for the development of wireless networks in various areas as it means that you have the right to set up your own network even if your landlord would want you to use theirs.
Movies

Journal Journal: It was 20 years ago today

It was 20 years ago today, May 20, 1984, that The Terminator arrived from the future. It is interesting to consider how much of the world has changed in twenty years.

Warning: Plot Spoilers

For those who have never seen the movie, here is a summary: In the story, there has been a nuclear war, caused by machine intelligence seeing all humanity as a threat and triggering WW3 as a means to destroy that threat. The machines then operate death camps on a 24/7 basis to complete the extermination. A man named John Connor is able to lead the masses in an uprising to smash the machines and stop man's extinction. The Terminator is then sent back in time by the machines in an attempt to change its present by altering its past, specifically by killing Connor's mother before he is even conceived.

Having watched that movie many times in the past few weeks I am thinking how many things have changed in our world.

  • Ubiquious reachability: while pagers were available then, they were relatively expensive and they weren't two-way. Today virtually anyone can afford a cell phone and anyone can get e-mail, even if you don't have a computer.
  • Computers were very expensive then; today they are affordable by almost anyone, and the usability of them is tremendously better than it was when the DOS command line was king. Also today's desktop computers rival the power and capacity of mainframes then.
  • Microwave ovens allow anyone instant hot tea or coffee or popcorn
  • The legalizing of home taping spurred the acquisition of VCRs, which encouraged movies to be released on tape, which encouraged the development of DVDs
  • The development of inexpensive fax machines has basically eliminated the need to mail short documents. In 1984, most newspaper help wanted ads for technical people had an address to mail resumes. By 1994, almost all ads used a fax number. Today, almost no place which is hiring anyone above a low-level peon job (and even some of those) lists a street address and either uses fax or e-mail.
  • Unsolicited advertisements were basically received in the (postal) mail, which costs money. Today, spam represents 90% of the e-mail I get.
  • Real-time communications across any but short distance was exorbitantly expensive. The Internet was unheard of and accessibility for ordinary people would be about a decade away. Today the Internet has collapsed space and distance for many people, has made many forms of long-distance communication either cheap or nearly free, and is a destructive threat to many organizations that collect rents for their middleman activities.
  • Oh yes, a certain Austrian-born body builder was ripping people's hearts out of their chest in a popular movie. Today that same man is now the Governor of California.

So, what's your thoughts about how things have changed?

Slashdot Top Deals

"I say we take off; nuke the site from orbit. It's the only way to be sure." - Corporal Hicks, in "Aliens"

Working...