2009-09-19

Fake Windows Antivirus Scams

Seems like any time you search for Facebook these days one of the top results sends you to a fake anti-malware website trying to trick you to install actual malware. I suspect it looks pretty convincing to those people using Windows PCs. However, I'm running Ubuntu 9.04 on all of my computers rather than Windows. Ubuntu is a full UNIX-like operating system similar to MacOS X but based on Linux instead of Steve Jobs ego. So these things just look ridiculous to me. My computers look absolutely nothing like a Windows desktop.

Fake Warning
Oh dear, my system must be filled with viruses! NO! Oh, wait, right, maybe they are lying to me.

Fake My Computer Screen

So, the first thing it does is show you something that looks like the Windows My Computer screen. This sticks out like a sore thumb on a non-Windows computer, as you can see. It has information (IP address, your city, etc) plastered about that claims to be personal information. Well, there's nothing personal about the info its showing. It doesn't even bother to try to show you a real view of your own computer. It just makes everything up. Close enough to scare most people, I guess.

Fake Infection Detection
Oh my goodness, it says my computer remains infected despite their best efforts. I had better let them heal my computer. Benny Hinn would be proud. Now, where did I put my electrified microphone and rubber floor mat...

Fake Virus List
Wow, look at all of those things that Windows security detected. Wait, Windows security? On a UNIX system? Umm. I must have let those mushrooms sit in the fridge a little too long. I'm starting to see things.

The Real Threat
Oh, now lookee here. It wants me to run this handy "removal" tool. How very nice of it. My system is offering to run it with Wine, a Windows program loader for UNIX systems.

Moral
Don't run programs that you didn't ask for. Don't believe what everyone tells you. Doubly so on the web.

Labels: , , ,

2008-11-03

Beware DVDs, CDs created on Windows Vista

Windows Vista uses a new DVD/CD format that nothing else supports. So, if you are making DVDs or CDs for friends on a Windows Vista machine then your friends probably won't be able to read it unless you've manually changed the disc writer settings to "Mastered" each time you burn a disc.

This is, of course, standard operating procedure for Microsoft: Introduce some new whizbang format (documents, disks, etc) into their latest products in an attempt to force the rest of the world to use their latest software. I don't care how much better someone at Microsoft thinks it is... If the rest of the world can't read the disc its nothing more than a worthless piece of aluminum foil glued to a coaster.

Update: Ubuntu Linux 8.10 can read LiveFS formatted discs.

Labels:

2008-08-25

Linux & Vista Slow Internet

If you are seeing slow Internet speeds under Linux (2.6.17 or newer) or Windows Vista make sure your router supports RFC 1323. If it does not then this is likely your problem. To fix it, upgrade or replace your router. RFC 1323 is a performance enhancement for TCP/IP networking which LInux and Vista support. Unfortunately, it seriously hurts performance if the network hardware doesn´t support it properly (or at all).

Labels: ,

2008-07-20

Web Development Resources

I have been working on a web development resources listing for tools and services I use every day.

It can be found at: http://sites.google.com/a/webaugur.com/web-development

Labels: , , ,

2006-10-22

Insight/GDB debugger for Windows on Linux

I needed a debugger for Windows applications which runs on Linux. After some digging around I've found that the MinGW project is maintaining the Insight debugger from the old Red Hat GNUPro Toolkit. Insight is a graphical front-end for GDB (GNU Debugger). That's exactly what I need. But I need the Windows version and I need it running on Linux.

So I've made a package named mingw32-insight for use with Debian-based Linux distributions. There's a native build of Insight provided by Debian, also. My package is wrapped in such a way that it works with the CodeBlocks::IDE development environment, also. You can find instructions on how to add a Linux to Windows cross-compiler configuration for CodeBlocks in the forums. You can install my mingw32-insight package and skip steps 7, 8, 9, 10 and 11 in the above forum posting. My package does all of that for you. My package also adds "Insight for 32-bit Windows" to your Applications -> Programming menu on the desktop.

Who knows how well this works in general. Its quite possible one could run into problems due to missing features in WINE's implementation of Microsoft Windows. But its better than nothing and exactly what I need.

Labels: , ,

2006-05-03

Why is Windows Buggy?

Have you ever wondered why there are so many security bugs and viruses on Windows? Let me posit for a moment that it's because people who write software for Windows are swimming in a sea of incomprehensibility. Microsoft often apologizes with "Windows is more flexible than UNIX" when they compare the two. Right, it's more flexible. Of course it is. If by some chance you can actually understand how any of it works.

Wait, what is UNIX?

To be clear, UNIX was originally an operating system developed by AT&T primarily in the 1960s-1970s. Today UNIX is a blueprint for how to create an operating system. There are many operating systems based on the UNIX System in wide spread use. UNIX Systems run a majority of the Internet, for example. The most popular systems are Linux, Apple Mac, and Sun Solaris. These systems are all very similar to each other. You can take a program written for one of them and use it on the others typically without any modifications.

There are generally two ways to do everything in the modern programming world: Microsoft's Way or Everyone Else's Way. Everyone Else generally falls under the umbrella of UNIX. Back in the 1980s Microsoft abandoned UNIX and decided that they would create their own beautiful yet incomprehensible way of doing everything. Everyone else stuck with the UNIX way of doing things. Why? UNIX systems represent everything in a relatively simple and well understood manner which hasn't changed much since hippies roamed the Earth.

Creating a Pipe

Let's take the example of a simple pipe. For the non-programmers out there a pipe is exactly what it sounds like: it's a pipe. To simplify, if you shove the text "Hello over there!" in one end of the pipe it comes out the other end. A pipe enables two separate computer programs to talk to each other.

I think even the non-programmers will see what I mean when I say that UNIX is easier to understand. Here are two examples of the same functionality from Microsoft's UNIX Application Migration Guide

UNIX Pipe

int main()
{
int res = mkfifo("/tmp/my_fifo", 0777);

if (res == 0)
printf("FIFO created\n");
exit(EXIT_SUCCESS);
}

Windows Pipe


int main()
{
BOOL fConnected;
DWORD dwThreadId;
HANDLE hPipe, hThread;
LPTSTR lpszPipename = "\\\\.\\pipe\\mynamedpipe";

// The following is an approximation of the mode bits used
// in the UNIX example. Will suffice until verified. 0777
hPipe = CreateNamedPipe(
lpszPipename, // pipe name
PIPE_ACCESS_DUPLEX, // read/write access
PIPE_TYPE_MESSAGE | // message type pipe
PIPE_READMODE_MESSAGE | // message-read mode
PIPE_WAIT, // blocking mode
PIPE_UNLIMITED_INSTANCES, // max. instances
BUFSIZE, // output buffer size
BUFSIZE, // input buffer size
PIPE_TIMEOUT, // client time-out
NULL); // no security attribute

if (hPipe != INVALID_HANDLE_VALUE)
printf("FIFO created\n");
exit(EXIT_SUCCESS);
}


Notice how the Windows code needed a million comments to explain what in the world all that nonsense jargon was doing? (Comments are everything after a // in the above code.) The UNIX code was simply "mkfifo", a filename and some easily learnable security bits (0777). Simple enough that it needs no explanation.

Also telling is that Microsoft's UNIX example used 0777. 0777 disables all security allowing anything to access the fifo. This is just stupid. However it is understandable for a Windows programmer to do this out of habit. Windows programming interfaces don't have standardized security methods. Nearly every function has its own unique way of dealing with security. So you can't easily remember how security works in any given situation. So it's just easier to disable security and hope everything works out.

UNIX is a trademark of The Open Group. Linux is a trademark of Linus Torvalds. Mac is a trademark of Apple. Somehow, Windows is a trademark of Microsoft. Trademark is a trademark of trademark. And so on.

Labels: ,

2006-02-17

Fear Not the Viruses, Trojans, Worms

Anti-virus software and Anti-spyware software vendors frequently issue so-called press releases which proclaim imminent doom to all computers in the entire universe if people don't pay them lots of money. The so-called press releases proclaim, "Pledge allegance to XYZ Brand Antivirus Pro 9 and your computers will be completely invincible!"

Nearly every Microsoft Windows based computer I have ever encountered is filled with malware (viruses, trojans, worms, spyware, and other undesirable software). Especially those Windows computers with anti-virus software installed on them. Anti-virus software often proclaims "Your Computer is Now Clean" at the conclusion of its run. But upon closer inspection it is almost always wrong. Often it takes 4 or 5 separate programs from different vendors to remove all of the malware. There are very few exceptions to this. And most exceptions are because of the people using and maintaining those computers: not anti-virus software.

The other day I read about an oh-so-terrible "virus threat" to Macintosh Computers that will leave Macintosh owners "shellshocked". So the story goes, no instance of malware has ever caused significant damage to more than a few Macintosh computers. The anti-virus software vendors would have you believe that Macintosh computers aren't worth attacking...yet. They claim, "Any day all Macintosh computers in the world will be obliterated...unless everyone purchases XYZ Brand Anti-virus." Of course the anti-virus vendors are going to tell everyone to buy anti-virus software. That's their job.

Any reasonable person knows malware exists for Macintosh, Linux, and UNIX systems. The reason malware doesn't spread very widely on Mac, Linux and UNIX systems is because software applications on those systems are very diverse, well designed, updated immediately after a flaw is discovered and the users of those systems are attentive to potential threats. Users of Mac, Linux and UNIX systems aren't brainwashed into thinking that they are invincible by anti-virus corporations whose only concern is the bottom line. It is infinitely more likely that an actual person will infiltrate a Mac, Linux, and UNIX system because of a bad password or loose lips than malware would successfully attack it.

True computer security only comes with properly written software and well-informed computer users. No amount of anti-virus software will ever protect a computer system from attack by malicious people who wants access. However, properly written (operating system, email, web, instant messenger, office, etc) applications and sufficiently skeptical users will protect a computer system every time.

I would argue that anti-virus software leads to complacency. People who use antivirus software tell you, "I'm protected! I have XYZ Brand Anti-virus! They promised me a pony if I subscribed!" You might even find yourself explaining to them that their anti-virus software isn't even running or their subscription has never been renewed. Worse, those people fail to recognize real security threats because they are under the false impression that anti-virus software protects them. The true believers in antivirus feverishly update their software many times a day and verbally attack anyone who suggest it is a waste of time. Often the anti-virus users themselves run and spread viruses and trojan programs which they have acquired via instant messages, emails, and random websites. Their infected messages are followed with "I ran XYZ Brand Antivirus on it so I know it's clean!"

Anyone who knowingly uses a computer without antivirus software will do so with a healthy amount of skepticism. And they will be all the better for it.

Am I saying to stop using anti-virus software? No, not really. Use it if you want. Do you need anti-virus software? No, of course you don't. But it can be a useful supplement to your security. Anti-virus is not a substitute for making good decisions about where you get your software and how you use it. I am saying that if you implicitly trust anti-virus software to protect your computers then you are selling yourself short.

Stop using poorly written software and start using common sense.

A good starting point is to order free copies of Ubuntu Linux for you, your family and friends.

Labels: , ,

2005-11-14

Security Threats on Sony Music CDs

It turns out that for the last year or so Sony-BMG has been shipping
rather dangerous Windows software on many of its music CDs. When the
music CD is inserted into a Windows PC it displays a message informing
you that it wants to install a music player so you can listen to this
wonderfully exciting new form of music CD. And if accepted it installs
a "rootkit" which secretly hijacks some parts of Windows without
informing you.

Firstly, the automatic installation of this Sony software can be avoided
to some extent by disabling auto-run:
http://www.annoyances.org/exec/show/article03-018

Some less technical information on the Sony rootkit from CNet:
http://www.cnet.com/4520-6033_1-6376177.html

EFF's growing list of CDs known to contain the rootkit:
http://www.eff.org/deeplinks/archives/004144.php

EFF breakdown of the legal restrictions Sony imposes on people who
choose to install this software by agreeing to the EULA license:
http://www.eff.org/deeplinks/archives/004145.php

NPR Audio with clips from SysInternals (who discovered the threat) and
Sony BMG President. There is a lovely audio clip of Sony-BMG president
saying that rootkits aren't a threat to anyone because, get this, and I
quote, "most people don't even know what a rootkit is":
http://www.npr.org/templates/story/story.php?storyId=4989260



What the Sony rootkit does

  1. Installs a windows kernel patch that allows arbitrary files to be hidden even from Windows itself.
  2. Replaces the CD drivers with ones that prevents listening to or copying audio CDs. Any program which attempts to access the protected music CD is immediately terminated without prompting or authorization. It maintains an internal list of programs which are commonly used to copy CDs.
  3. Installs a music player program which is allowed to listen to the audio CD and make up to three MP3 files from tracks on the CD. It also allows Windows Media 9 to generate encrypted music files for use with Sony, and a few other, encrypted portable music players.
  4. The music player, somewhat covertly, sends a transmission back to Sony-owned servers each time a a music CD is inserted requesting album art for that specific CD.

Why this is bad and may even be illegal

  1. Sony doesn't explain what the software they install is doing to Windows. In many countries it is a serious crime to modify a computer system without the full consent of the owner. That means fully disclosing to the owner what will be done to the computer system. Instead, the EULA basically states that Sony can do anything they want to your computer and you need to install the software in order to listen to this perfectly normal audio CD. Which simply isn't true. The CD plays fine until after their software is installed. That aside, it isn't within Sony's legal rights to prevent you from listening or in any way using a music CD that you have legally purchased. But it may be within their rights if you were to agree to their EULA license because that may be a binding contract.
  2. The rootkit's kernel patch hides files with names beginning in $sys$. Viruses have already incorporated the Sony rootkit into them. The rootkit makes it impossible for anything to even detect let alone remove a virus using Sony's rootkit. Virus scanners are totally useless against any virus incorporating this technology.
  3. The software installed by the CD is invisible and there's no way to uninstall it. Attempting to do so will damage Windows. Sony's recently announced uninstall procedure is almost impossible to complete and possibly dangerous to even attempt. Some virus scanners (F-Secure, Symantec, Microsoft, et al) are issuing updates which supposedly detect and safely remove the rootkit. In the case of Microsoft, and probably some others, it appears that they may have to rewrite parts of their virus scanners to accomplish this. (ie. This scenario wasn't anticipated by most existing virus scanners.)
  4. The rootkit intercepts low level Windows kernel functions. Unlike the original kernel functions it does not validate any information being passed to it. Therefore, it is extremely easy to cause windows to crash with a blue screen. Meaning, it makes Windows infinitely more fragile than it normally is... Normally, the Windows NT kernel protects the system from crashing but the Sony rootkit is poorly written and bypasses Windows' built-in protections.
  5. Removing the kernel patch itself using normal means either makes Windows totally unable to boot or corrupts the CD-ROM driver so the drive doesn't work any longer.
  6. The music player software appears to incorporate the LAME MP3 encoder in some way. In any case, there's strong evidence to suggest it is built into at least some versions go.exe on the CD. The LAME software is licensed under the LGPL license. If that is true then Sony is not fulfilling the LGPL license requirements in any way. Therefore, they may be violating numerous other people's copyrights in order to supposedly enforce their own copyright. And in doing so they would be breaking federal law in many countries including the US.

Long, technical details (listed in cronological order)

  1. http://www.sysinternals.com/blog/2005/10/sony-rootkits-and-digital-rights.html
  2. http://www.sysinternals.com/blog/2005/11/more-on-sony-dangerous-decloaking.html
  3. http://www.sysinternals.com/blog/2005/11/sonys-rootkit-first-4-internet.html
  4. http://www.sysinternals.com/blog/2005/11/sony-you-dont-reeeeaaaally-want-to_09.html

Alternatives

And the obligatory note that Linux, Macintosh, and other UNIX systems
aren't subject to this sort of insanity because of a very long list of
reasons based on decades of experience and sound judgment on the part of
their respective developers. And, also a note that ordering a stack of
Ubuntu Linux CDs costs precisely $0, postage is even free:
Order free Ubuntu Linux CDs:
https://shipit.ubuntu.com/
Ubuntu Linux:
http://ubuntu.com/

Labels:

2005-10-14

Avoid Illegally copied software

New York Times Q&A brings up a good question. How do I know if I'm buying an illegal copy of Microsoft Windows with my new computer? (A pirated copy as some monopolists like to call it.)

Well, to be sure there are no pirates (or other vermin) inside your computer I'd suggest that the very first thing you do is to remove Microsoft Windows from the computer. Instead there are a number of Free Software operating systems available such as those based on GNU and Linux. In fact, you can download Ubuntu Linux at no charge. And Ubuntu Ship-It will even mail you complimentary CDs at no charge and they even pay the postage. Seriously, this isn't a trick. Once you have Ubuntu installed you have access to over 17,000 Linux applications at no charge. No ads, no gimmicks, no hassle, nothing but software.

But if you decide that you want to place yourself at the mercy of a twice-convicted monopolist then you can use their convenient Windows Genuine Advantage to turn yourself in...err, I mean validate your copy of Microsoft Windows.

Labels: ,

2005-07-29

A Genuine Disadvantage

How could a corporation make more money who has, or believed it has, 90% marketshare in some segment of the proprietary software market? One way is to release a free but mandatory upgrade to the software which confuses some percentage of the user base to pay you again for the software they have already purchased at least once. You could market it as a way to ensure users have only a genuine copy of your software and not some sort of altered copy. You could even herald it as the end of "software piracy" to bolster your stock price.

Of course, thinking about it a bit, you realize you would only want to reduce piracy if it means those people are paying you and not switching to some competitor. You need some way to bypass the authorization process for the real people who are "pirating" the software. You'll leave some discoverable hole in the authentication system and then downplay the significance once someone discovers it. So there needs to be some sort of backdoor for the people who simply can't or won't pay you. That'll keep them addicted to your software until you figure out some new way to make money from them. And, heck, if you play it right you can even track the people who figure out how to bypass your new authentication scheme. Maybe you could even give them special offers to entice them into paying; or pay more if they've not figured out how to prove to you that they've paid.

The news agencies will herald you as visionary for solving the "piracy problem" once and for all. The technical publications will agree that you have every right to ensure piracy is stamped out forever and ever amen. The people knowingly and illegally using your software without paying for it will sneer and grumble but not be affected by your restrictions at all. The users will curse you for the demon that you are. The programmers of the world will shake their heads at your antics while they continue to use software that they've built instead of your software. And they will give their software to everyone in the world without charge and encourage everyone to share their software with everyone.

Almost everyone agrees that software piracy is a terrible thing that must be stopped. However, a great many of us believe the definition of software piracy put forth by certain corporations is flawed. Just who are the real pirates? Those who want to be able to share their software and knowledge with the whole world or the gold digging mega-corporations who show up at their customer's virtual doorstep every few months demanding money and waving legal documents and spouting very real criminal and civil threats. Look up the definition of piracy and decide who you think is the pirate.

Disadvantage turned Advantage

You have the power to end the software piracy once and for all. Stop using software written by people who don't allow you to share. Stop using software written by people who don't trust you. Stop using software written by people who dance around screaming on a $40 million stage trying to impress you.

Here, order you and all of your friends a copy of Ubuntu Linux. Ubuntu Linux comes to you at no charge and they even pay the shipping. What's the catch? Simply this, to reap the benefits of Free Software you'll have to decide to give up on your old proprietary software and your old way of thinking about software. Ubuntu Linux really is free to copy, share, and modify. It really doesn't cost you a cent. It costs you only the time it takes to learn about a whole new world of software.

Ubuntu and Linux and Free Software are part of a world without unfair restrictions. A world where you are in complete control of your knowledge and computers. A world without advertisments, annoying marketing pitches, viruses/trojans/worms, or whatever else that makes you want to throw your computer away. You want to stop those annoying software marketing pitches phone calls? Tell them you're using Linux and hear them slump back into their chair knowing they aren't going to pull a fast one on you.

Still aren't convinced that a Free World is one worth living in? Head on over to Wikipedia and see one small example of what the Free Software world has produced. Compare Wikipedia to Brittanica or any number of "proprietary" encyclopedias available on the market. Heck, compare it to Microsoft Encarta and see which one you'd rather use.

Labels:

2005-07-13

Windows and MacOS users: Discover Free Software

OK, now that I have your attention... I ask you to do one thing. Watch all 13 episodes of the Go Open televisions series. The series showcases the true value of Free Software and Open Source software. They show many instances of how and why Free Software and Open Source are changing the rules of the software market. Why they are about much more than getting better, faster, less expensive technology. How they are developed and by whom.

Even if you refuse to try using Linux and other such software you should at least try to understand the alternatives to Microsoft's monopoly-based software market. You'd be doing yourself a huge favor. The real value of Free Software and Open Source isn't the money you'll be saving or the viruses you'd be thwarting. Free Software is about the freedom to do anything whatsoever you want with your technology without having some distant third party standing in your way at every step.

The entire television series is released under the Creative Commons Attribution, Non-commercial, No-derivatives license. Meaning, you can freely pass unaltered copies along to anyone. There are download instructions for Go Open on their website. In summary: Download and install Sun Java if you don't have it already. Download the Azureus BitTorrent client. And then open the first and second torrent files with Azureus. They are about 1300 MB combined. It should take about a hour on a broadband connection but could easily take much longer.

Also, I highly suggest you download and install the VLC media player to watch these videos. It seems like most other players have trouble playing the MPEG-4 video and AAC audio combination. The video may play fine in Quicktime on MacOS (and maybe Windows).

Labels: ,

2005-06-03

Swish-e for Windows

So, I've got Swish-e codebase in Swish-e CVS building for Windows completely on Linux including the SWISH::API for Perl. There are a few reasons for me wanting to dump MSVC and cross-compile everything from Linux:
  1. Convenience: it's completely automated and I can provide the Perl and C API with daily snapshot builds.
  2. I don't use Windows. I hate MSVC. And combining the two makes my blood boil.
  3. We use libtool with our autoconf build. Building a DLL using libtool is utterly trivial. MSVC seems to require a master's degree in technical frobnication to build a working DLL.
  4. I don't want to rely on proprietary tools for any part of the build process.
  5. Most importantly, as of the next release (2.4.4) we will need to provide a DLL on Windows to make it easier to comply with the new Swish-e licensing.
About the new licensing... Swish-e has officially changed the license to GPL with Exception from the former LGPL license. The reasons for the change are many. For one, Swish-e relies on some GPL code and that taints the LGPL license. It would have been pretty easy to replace that dependency and stick with LGPL. Suffice to say, we have technical and philosophical reasons why we want to see the code under GPL. The website and documentation has reflected that fact for a very long time. We simply hadn't made the effort to sweep through the source code and correct the license statements. (Thanks Peter for taking the time to do that!)

Contributors of some significant batches of code (Swish-d Cluster, SwishCtl, etc) have stated that they would not have been able to contribute code back to the community had Swish-e not been under GPL. We don't want to prevent people from using Swish-e. Some of us just don't want a proprietary program being deeply integrated with Swish-e. For instance, there is one Swish-e ActiveX control which relies on an expensive, proprietary library. Those users are stuck with their ancient version of Swish-e because they can't drop in a newer version. We would like Open Source software such as PHP and Python to be able to link to libswish-e. Indeed, even the swish_php code written by Jose is under the GPL-incompatible PHP open source license. (Open Source != Free Software: GPL taints most open source licenses.) So we invoked the "linking over controlled interfaces" exception to GPL that allows any program (proprietary, open source, etc) to link to Swish-e but only if that program uses the documented interfaces (libswish-e). We have our GPL and everyone has access to the search interfaces.

I built this the other day to test release on Linux:
http://webaugur.com/wares/files/swish-e/swish-e-2.5.4-2005-06-01.exe

That build of swish-e.exe is linked to libswish-e-2.dll or whatever it's named. I think I'll add an optional development section to the installer for swish-e.h and libswish-e.dll.a and whatever else might be handy. (Suggestions are welcome.) The MSVC folks will probably be left to fend for themselves from now on. I'll see if I can make it easier for them to generate a DLL import library.

Why don't I like MSVC? MSVC creates tons of busy work and needless distractions. Visual Studio can be handy for debugging but they removed Makefile support in MSVC 6. So you can choose to be trapped inside of their horrible manually-operated GUI for all eternity or you can abandon their debugger and manually write Makefiles. And since the last few releases of GCC, GDB, binutils, etc work almost flawlessly with Windows I see no point in ever bothering again with MSVC. What's more, with GCC you can do useful things like cross-compile Windows executables from Linux and cross-compile Linux executables from Windows. Pick just about any two computer systems in existence and you can cross-compile between them.

It took me 45 minutes just to test the perl stuff the other day. Maybe 3 minutes of actual testing and I wasted the rest of the time rebooting Windows. When I hold down backspace or press a key combo at just the right moment Windows goes into a tight loop and consumes 100% CPU until I kill it. Seems like something to do with IRQs and memory allocation. It's almost as if VMware is triggering events too fast for Windows to keep up. If I increase /dev/shm to 2 GB and instruct the vm to use it for temp space (instead of /tmp on a hard disk) then it doesn't lock up quite so often. I think more RAM would help more than anything.

Labels: , ,

2005-04-28

Beware The Linux Tourists

"And I gave that guy directions even though I didn't know the way. Because that's the kind of guy I am this week." --Homer Simpson

Do a web search for Linux desktop systems and you're likely to find opinions from many thousands of magazine-style authors. How do you know which ones to trust? Well, I would suggest that the ones who actually rely on a Linux desktop system will have the most relevant answers to your questions. Sadly, most of these magazine-style authors are just tourists who project their experience using Windows or Macintosh on to one of the many Linux distributions.

Tourists find it trendy or hip or lucrative to claim they run Linux. It makes them look sophisticated to their non-Linux-using peers. But their idea of running Linux is installing a new distro every week, frobnicating the control panels for a few hours, and taking thousands of screenshots of every window to prove they were there. When I say someone is using Linux I mean they don't go running [dual-booting] to Windows or Mac when they don't immediately know how to accomplish a task. When I say "Linux user" I generally mean they don't even own a Windows or Mac system.

So, how do you spot a Linux Tourist? It isn't too hard if you know the signs. Here are some common phrases to help you spot Linux Tourists:
  1. dual boot or multi boot
  2. (almost, will be, not) ready for the desktop
  3. (I, we, you, people, they) will use Linux
  4. switch to Linux
  5. I'm running (insert latest distro featured on TechTV) Linux this week.
  6. when it can run Windows programs (better, at all, that I lust for)
  7. too complicated
1) Dual booting to another OS is too tempting if you truly want to switch to Linux. 2) Linux has been ready for "the desktop" since at least 1998 when I started using it exclusively. Maybe it's not ready for your desktop because you're not willing, or sufficiently compelled, to give up your old OS and software. 3) Tens of millions of people, or more, use Linux all day every day. Whoever "they" are don't matter to anyone but the corporate Linux pushers. 4) Switching to Linux would imply that people don't already use Linux. Experience tells me otherwise. 5) Isn't it a bit difficult to get any work done if you're changing out your OS every week? 6) I think Windows will be more popular when it can run Linux programs. 7) Everything is too complicated when you are unwilling to learn.

Hi, my name is Dave and I am a Linux desktop user. Which Linux distro(s) do I use? Red Hat (and Fedora) Linux since 1997. Ubuntu Linux on my desktop systems since shortly after Warty Warthog released.

Labels: ,

2005-03-24

Does Price Matter?

Microsoft is famous for saying that software end-user-license costs don't matter at all in the grand scheme of things. Well, let's just ponder how much money we are talking about here...

1 Windows 2003 Premium Small Business Server, 20 clients

Description Quantity Cost Total
Dell PowerEdge SC420 Small Biz 1 $349.00 $349.00
Windows 2003 SBS Premium License 1 $1299.00 $1299.00
10 Client Access Licenses 2 $898.00 $1796.00

Total Cost $3444.00

20 Windows XP Professional workstations

Description Quantity Cost Total
Dell Precision 370 Workstation 20 $715.00 $14300.00
Windows XP Professional License 20 $379.00 $7580.00

Total Cost $21880.00


The Complete Windows System

Well, for $25,324 you have a basic Windows system. 50% of the total cost goes toward the various (41) Windows licenses you need to run the system. You have no end-user software. You also have no technical support beyond the hardware support Dell might provide.

At this point 20 people can share files or print if you had some software capable of creating/reading files or printing. Basically, it allows you to do almost nothing at this point. You have a matching set of $25,324 doorstops. (Well, you could play a killer game of pinball or solitaire!) If you need office applications you'll have to obtain an additional $14,000 worth of Microsoft Office licenses for the workstations. Not to mention the tens of thousands of dollars for whatever else you need just to begin to have a system capable of doing work. Don't forget that you'll need to spend another $10,000 or so on subscriptions for virus scanners, spyware removal, and elaborate server-side trojan/virus removal systems. To say nothing of having to either pay someone to walk around to each workstation and install security updates each week or buy a remote management system for several tens of thousands of dollars.

1 Red Hat Enterprise Linux ES Server, unlimited client access

Description Quantity Cost Total
Dell PowerEdge SC420 Small Biz 1 $349.00 $349.00
Red Hat Enterprise Linux ES RHN/Support 1 $349.00 $349.00
Client Access License (None!) 0 $0.00 $0.00

Total Cost $698.00

20 Red Hat Enterprise Linux WS workstations


Description Quantity Cost Total
Dell Precision 370n Workstation 20 $709.00 $14180.00
Red Hat Enterprise Linux WS RHN/Support 20 $0.00 $0.00

Total Cost $14180.00


The Complete Red Hat Enterprise system


So, for $14,878 you have a complete Red Hat Enterprise environment. You have no money in licenses and no draconian end-user-license agreements. There is no cost for the first year of technical support and RHN subscriptions with Red Hat Enterprise Linux Workstation. Over the course of 3 years the total cost of the system goes up to $21,516; accounting for $2,329 per year for 20 workstation and 1 server network subscriptions. The server provides email, web, database, Java web services, and so on. You have 20 workstations which include a full compliment of office applications, development tools, a full spectrum of desktop applications, and expert technical support and remote management for one year. You can immediately get to work with this system. If you have questions you can call Red Hat and talk to an actual human without per-minute charges.

The Red Hat Network (RHN) support fees are yearly. But I'd argue that the subscription fees are much less of a cost than the time RHN saves you from manually instructing each computer to install your approved security updates. You aren't legally required to maintain a subscription in order to use RHEL; but let's assume you're going to keep the subscriptions active because RHN is a useful service. RHN provides you access to technical support services, CD ISO images of the latest versions of Red Hat operating systems, updates tailored to your specific computers, and remote management interfaces which span not just individual machines but entire classes of machines in your company.

Please Note

I'd like to take special care to point out that with Red Hat Enterprise you are paying them solely for technical support and remote management services. There are no end-user-license fees like with the Windows system. With the Windows system each of those 41 license fees you pay are for nothing more than the privilege to use Microsoft software; this removes some of the fear of having your doors busted down by federal marshalls because you might accidentally have one too many copies of Excel installed. If you need technical support for Windows you'll have to buy extremely expensive support contract or pay per minute charges on the Microsoft 900 technical support number.

(Note: none of this information is definitive. It's taken simply by viewing Dell's online catalog. I could have made a mistake. If so, let me know so I can correct it. Always check this stuff out for yourself. Dell prices change from day to day. The prices I mention are the lowest price I could get by customizing the system on the day I wrote this blog entry. Any trademarks mentioned belong to their respective owners.)

Labels: ,

2005-03-21

When will Linux be the best?

Loaded questions similar to "When will Linux be the best?" and statements like "Linux will be the best when it does X exactly like Y." really irritate me. First, it presumes that exactly one thing can be the best for everything. Second, the author of such a question always points to Windows, MacOS, or another OS the author favors as the current example of best. But that's not really my point at all.

My Point
My point is that Linux is the only system in the short history of computers that has even had the potential to be usable for everything. And I think most of that credit goes to the GNU GPL license which affords some amazing opportunities. It has brought together the engineers of bitter rivals, with their employer's blessing, to co-author common specialized systems based on Linux. The GPL requires them to pass along their Linux modifications which moves the basic technology forward for everyone. These projects would've been dozens of completely disconnected and incompatible trade-secret projects just 5 years ago. Linux gives everyone a common base which they can build upon. It also means that when their project finishes their contributed technology may continue to improve on its own. They don't have to hire someone else to do it for them. They don't have to license it from anyone. The only binding legal agreements they have to make are between each other and the end users of the technology they develop. They don't have to go through some week long approval process of their employer to share every tidbit of software code or information about it with each other. The GNU GPL license handles all of those negotiations for them. They can walk into a room and immediately start doing real work with each other.

Over a short period of time these interactions have pushed Linux in all directions. Linux itself can now be made to run well on nearly any device which has something resembling a CPU and memory. This means that in most cases the same exact programs without modification can be used on devices as diverse as a small wristwatch or a building-sized supercomputer. We no longer need to start from scratch and recreate the same types of programs over and over for every new computer design. The same programs run everywhere. This frees up an enormous amount of time for developers to create new technology. In the proprietary software model we are doomed forever to keep recreating the same old technology in order to even use the new technology. Up until proprietary software we would build new technology upon the knowledge gained from the past. Proprietary software simply has us building the past over and over again.

With Linux there are no more secrets in the OS. And this is a wonderful thing. Its better for everyone involved: engineers, developers, technicians, OEMs, resellers, customers. Take the case of a cell phone. Instead of having dozens of incompatible, proprietary operating systems all phones could share one common OS. This means one could use the same exact programs on all cell phones and not just one model from one company that was only made for 3 months in 2004. This also means that 17 different companies don't have to waste resources creating their own custom phonebook program. Instead they can just buy one off-the-shelf and drop it into their phone at the factory. For example, in the very near future maybe you won't have to spend those 3 days manually retyping your phone book entries using tiny buttons when switching to a newer phone. Just lay the phones next to each other and use Bluetooth to transfer your phonebook database from one phone to the other.

The Old
UNIX proper is long dead. UNIX is dead because every UNIX vendor added proprietary features into only their own version of UNIX. The proprietary nature of each system drove everyone into the ground at full speed because over time they were so different that software from one vendor could no longer be used on another vendor's system. Those who have moved away from proprietary UNIX are almost certain to never return. Nearly every major proprietary UNIX OS vendor (IBM, HP, SGI, etc) has spent the last 5 years or more stripping out useful technology they added into their proprietary UNIX derivative and reworking it for inclusion in the common Linux base. This is what should have happened with UNIX and indeed AT&T tried to implement this idea and failed probably because AT&T was seen as a direct competitor to other OS vendors. Linux is vendor neutral and it seems that vendors are much more comfortable with this situation. At least everyone benefits this way instead of just one competitor.

The only real holdout is Sun with Solaris. And they do have an advanced OS with a couple features found nowhere else, for now. But to be bluntly honest, using Solaris is a horrendous end-user experience compared to Linux. To be sure, it makes a nice high performance server. But as an end-user system it is terrible. USB doesn't work whatsoever that I've ever seen. The new hardware configuration in Solaris is quite easily the worst ever devised being very tedious and technically oriented. Solaris provides stunningly ancient versions of all the expected UNIX utilities. And the desktop utilities are an strange mixture of 3 or 4 totally different toolkits which look and work in different and sometimes conflicting ways. (Yes, Linux systems do provide programs using many different toolkits. But the major base distributions standardize on utilities using one or another toolkit to provide consistency.)

The BSD family is very good but it has never managed to soar into greatness. Every time a particular branch becomes popular someone steals it (and often its developers) away from the community project to add a bunch of neat, advanced stuff in a new, proprietary "based-on BSD" system. (SGI, Sun, NeXT/Apple, the list goes on for pages.)

Windows is religiously proprietary and as such it is doomed to eventually collapse under its own secrecy. There is simply no way that Windows can survive unless people are willing to accept that computers will never truly progress technologically. With Windows you are forever stuck with some minor variation on exactly what you have now. Windows is too dependent on the design of the PC and the PC is terribly outdated. The PC only has survived this long because of Windows. Imagine if today everyone was using AmigaOS on a slightly more advanced Commodore-style computer. And honestly, PCs aren't even that advanced with Windows. The computers that Windows runs on are permanently frozen somewhere in the early 1980s. And for most Windows users that's fine because they don't really know any better. This is not because Microsoft hasn't tried to break the shackles of the PC. But they have given up trying very hard. Why even bother to change their ways when what they have now is still making them insane sums of money. Well, the only reason is that changing now would spare them in the future. But the future doesn't matter as much as quarterly profit in this crazy little world.

MacOS X is one of those systems that kinda gets it. But they seem to have made the typical BSD mistake. In a sense, they "stole" away a popular, technically advanced BSD system (FreeBSD) and some core developers from the community and then made it their own. They added their own improvements and such to it. And they continue to pull in new features from FreeBSD every so often. For various reasons, perhaps the FreeBSD leadership itself, Apple did not choose to work directly within the FreeBSD community and build that up as their base OS. So now we have two somewhat incompatible systems, FreeBSD and Darwin, instead of a stronger FreeBSD. MacOS X itself further adds an entirely proprietary desktop environment on top of that. Which I suppose is fine since they decided to add provisions for FreeBSD programs to run on it. It's a lousy BSD, really. But it is a decent UNIX system with a very attractive and modern desktop environment running on cutting edge computer hardware. One can easily see why it is almost as popular as Linux.

Labels: ,

2005-03-11

Beware of Software Gifts

The Paranoid Survive

Does anyone remember the Trojans? I implore you, stop implicitly trusting software development corporations. Believe nothing you see on TV, radio, in print or otherwise without verifying it is accurate. You aren't paranoid enough and they are out to get you any way they can.

Be very skeptical of third party endorsements of software. If A says that B's software is great then don't believe A no matter how reputable A might be. For example, Windows software is almost always distributed in proprietary form. Thus A has no way to know what B's software really does without lengthy lab tests.

Always obtain software directly from the author or using a method the author endorses. Obtaining software from unofficial sources may expose your computer to all manner of serious threats. For example, downloading software from so-called "warez" websites is extremely dangerous and will almost certainly end with your computer being attacked. To say nothing of the wrath you may draw from the author and their army of flying monkeys lawyers.

Peer Pressure

A friend of yours says to you, "Hey, I installed this really cool program and it doesn't cost anything! Go try it!" What is your normal response to that statement?
  1. Reply, "Hey that is neat!" and blindly install it.
  2. Reply, "I'll look into it." and glance through the end user license agreement then install it.
  3. Reply, "I'll look into it." and search Google for more information and install it only if it doesn't immediately look harmful.
  4. Look at the features, search Google, read the end user license agreement and privacy policy thoroughly and then only install if it has acceptable terms and is immediately useful.
  5. Reply, "No thanks." and don't install it.
  6. Hide under the desk in fear.
If you are someone who ever does 1 or 2 then you need to just stop the insanity. 3 is very risky because the program may be very new. 4 is perhaps reasonable. 5 is probably the best option for any program you see described as cool, neat, or new. 6 is what people do with their Windows computers after they've installed a "cool, it doesn't cost anything" program.

What's the Real Cost?

All software costs someone something. You really need to make yourself aware of how the software you use is being developed and who's paying for that software development. End user licenses, privacy policies, and other agreements should explain any questionable policies at least in passing. Beware of words like "bug" or "track" or "personal data" when reading these agreements. If they have to tell you they aren't sending "personal data" then they may be stretching the definition of "personal data." For example, many privacy policies will boast how they don't send "personally identifiable data." However, that is subject to their interpretation of the word "identifiable."

Some Specific Examples

What types of software am I talking about? Well, anything you don't need. A few examples of programs whose end user license agreement and privacy policy agreements you should read very thoroughly several times are WeatherBug, iDownload iSearch, Smiley Central, Stop Sign, Bonzi Buddy, Date Manager, Gator, WebSearch Toolbar, anything that claims you can win something, any program that promises to give you coupons, or anything calling itself a toolbar. Maybe the agreements for those programs are acceptable to you and maybe they are not. I certainly would never agree to their terms of use. In fact, I don't agree to the terms of use for most software.

Read all Agreements

Before you install anything on your computer I would urge you to thoroughly read the license agreements and privacy policies. Then search Google to see if you can learn about anything they might leave out or make unclear in their agreements. What you find about some programs or the companies which produce those programs may make you hide under the bed.

Beware of End User Agreements

I would suggest that you remain suspicious of any program (or website) which has an end user license agreement. End user licenses restrict how you are permitted to use a particular program; particularly "retail" programs you have purchased but nearly all proprietary programs have end user agreements. The extent and scope of those agreements may shock and surprise you. Obviously, most proprietary software is going to have an end user license agreement because they want to control how you use that software. Read any agreements as if your livelihood depends on it. Because it probably does. Failing to follow end user license restrictions, especially if you are a business, is very likely to land the SIIA or Business Software Alliance (aka The Software Police), software company lawyers, the FBI and/or some not-so-friendly federal marshals at your door.

Just Say No

Finally, don't be afraid to click "no" or "I don't agree" when a program (or website) asks you to accept their terms. I generally refuse to use accept any end user license agreement and I thoroughly scrutinize privacy policies. As such, I'm unable to use Microsoft Windows or most of the proprietary software that goes along with it. There are plenty of Free Software and Open Source Software (aka FOSS) alternatives which do not place any restrictions on their usage. You can use FOSS applications any way you choose and you can freely give a complete copy, including any modifications, to anyone who wants.

Labels: ,

2005-03-07

Myths and Realities

Linux Reality Outstrips Linux Myth is well worth a read. It's much shorter and surely more interesting than what I've written here.

Myths
The article highlights a popular Linux "myth" as a sign that we've reached a tipping point in the public awareness of computer technology. There's this fascinating myth circulating among people who are unfamiliar with Linux. The myth is making the public aware that Microsoft and Windows are not their only choice in a grass-roots way. I've heard this myth first-hand numerous times from all sorts of people. The myth pits Linux against Microsoft in an epic battle that started long ago in a land far away. It goes on to explain how Linux aims to defeat big old Microsoft and save the world from buggy computer software. Those may be nice side effects but they have nothing to do with any motivations behind Linux. It does make an interesting story. A consequence of this myth is that people are able to consider alternatives. Once people consider that there are alternatives they may also consider that Windows is not even a good alternative.

Incidentally, you can buy a DVD copy of the great documentary Revolution OS detailing the real story behind Linux, GNU, Open Source, and Free Software. The extras and cut-scenes on the DVD are well worth watching.

Realities
The reality is that stagnation for much of the last 15 years defeats Microsoft. Sure, you can point to hundreds of little things that may be better now. But mostly we are talking about changing window decorations and replacing confusing option dialogs with wizards and cartoons. Among the most anticipated new features are workarounds like anti-spyware, anti-virus, and such for problems that shouldn't exist in the first place. That's especially sad since Microsoft has such a great research division. Meanwhile, UNIX and Linux have progressed forward in technical capability at a steady clip.

History Repeating History Repeating Itself
Since long before Linux became popular, Microsoft core desktop offerings have consisted of the same basic set of programs with the same basic features. Those programs are Windows, Word, Excel, Access, Visual C++, Visual Basic, and a few others. Their server offerings haven't changed much either. The most notable change between versions of each program is that the newer version almost always creates documents in a format older programs can't read or write. And for your convenience the newer program will happily translate all of your old documents into a format only the newer program can read. After nearly 2 decades of constant development one would think that the stability and compatibility of these programs would be drastically improved. Yet they are still chasing after the same old ghosts and providing the same basic features.

Why is Microsoft frozen in place? That is really quite obvious from the perspective of an outsider. They have found something people will pay insane sums of money to use and they don't want to screw up the cashflow. The only thing preventing them from improving Windows is their belief that the existing body of proprietary Windows software must be supported at all cost. There are large subsystems in Windows which deal with nothing but cataloguing and emulating the bugs found in previous versions of Windows. You might think that sounds insane and I think you'd be correct. However, Microsoft really can't force broken Windows programs to be fixed because Microsoft fiercely promotes the idea of proprietary software; that is, software which cannot be modified or repaired by anyone but the program's original developer. Windows provides what Microsoft calls "Shim Technology" to make a specific proprietary program work as if it was running on the outdated or broken version of Windows used to develop it. Windows needs to know about each specific program that a user might want to run and then provide a set of "shims" to make that program more or less work. A huge set of shims comes with each new version of Windows allowing old programs to remain more or less functional.

Contrast and Compare
A deeply concerning problem for Microsoft should be that the Windows environments and interfaces encourage programs to be deeply tied into the Intel x86 architecture. It isn't feasible to rebuild most native Windows programs for use on another architecture or OS. Microsoft has more recently created the .Net and C# programming environment to encourage developers to write proprietary programs that are not dependent on the x86 processor. However, by my count there are more Linux and UNIX systems running .Net software than Windows. .Net is still so uncommon that most developers of retail software simply don't use it.

A typical presumption when writing a UNIX or Linux program is that you have no clue which computer architectures might run your program. Indeed, you don't even know which operating systems might run your program. Consequently, UNIX and Linux programmers tend to write very portable programs that require only a trivial rebuild to support a new CPU or OS. UNIX and Linux development tools have always encouraged programmers to write portable programs. To further promote writing portable software services like SourceForge and even computer manufactures themselves provide free remote access to development systems. SourceForge has many different computer architectures and operating systems available for Free and Open Source Software developers to use as a test bed.

Another issue with writing Linux and UNIX programs is that most computer architectures don't allow programmers to make serious mistakes. For various reasons and excuses, Intel x86 processors allow a whole host of serious programming mistakes to occur without detection. Worms, memory errors, data corruption, and entire classes of problems Windows-x86 users experience every day simply aren't allowed to occur on other architectures. If a program makes a mistake most computer architectures will instantly abort that program. Then why doesn't Windows support these other architectures? Well, Windows NT did support several of them until around 1999 when Microsoft finally conceded that almost no one wanted Windows on those architectures. Almost no Windows programs existed for those architectures. And porting a mildly buggy Windows-x86 program to a bug-hostile architecture is often more trouble than writing a new, portable program from scratch.

Alternate Realities
Let's consider Mozilla Firefox, a popular Free and Open Source Software web browser, running on the Debian "universal" operating system. Debian can run Mozilla Firefox on Alpha, ARM, HP PA, Intel x86, Intel Itanium, Motorola 68000, MIPS, MIPSEL, Power (Apple & IBM), IBM s/390, and Sun Sparc computer architectures. Debian can run the same program on at least 10 completely incompatible computer architectures without modification. About half of those architectures are strictly 64-bit.

The standard Debian system includes 10,000 programs like Firefox. There are hundreds of thousands of programs like this available from SourceForge. There are over 1 million people helping develop Free and Open Source Software at SourceForge. And I'm barely scratching the surface. There are many other services similar to SourceForge. Many and probably most developers use none of these services and work by themselves or with a close group of friends.

Now consider that Debian provides a choice of 4 different kernels: Linux, FreeBSD, NetBSD, and GNU HURD. This isn't an install-time choice, either. You can quickly switch between the different kernels on an already installed system. Linux supports a huge variety of peripheral hardware and architectures, NetBSD runs equally well on many architectures, FreeBSD provides robust server technologies on popular architectures, and HURD is...well I'm not sure what HURD is good for.

Some Perspective
Natively running the same program without modification on dozens of incompatible architectures under dozens of competing operating systems must seem like complete fantasy to some software developers. And if that's fantasy then easily replacing the system kernel with a different, incompatible kernel must seem completely inconceivable. Believing that one kernel is the best for every purpose seems a bit shortsighted. Not entirely unlike tying your software to a single computer architecture that you don't manufacture...

Labels: ,

2005-01-18

Evolution, Beagle being ported to Windows

Novell has hired Tor Lillqvist to help with porting some of their software to Windows. Tor has always been tremendously knowledgable and helpful and I really hope that works out well for him. He's helped me on more than one occassion when I had questions porting software to Windows.

Novell will be starting a project to port several GNOME applications to Windows including the Beagle desktop search tool and the Novell Evolution Groupware Suite. This, I think, is a great thing. Windows users will be able to migrate from Outlook to a functional equivalent which provides messaging, scheduling, task management support for Microsoft Exchange, Novell Groupwise, IMAP, POP, LDAP, Usenet News, and other protocols. Beagle integrates with Evolution, GAIM Instant Messenger, and other GNOME applications to provide integrated desktop search capabilities.
Comment on SlashDot, "By porting all these commonly used OSS apps to Windows, it helps commoditize the OS itself. This is however a double edged sword. It makes migration to Linux from Windows easier, but also reduces the incentives (excellent Linux-only software) to make the move."
Firstly, Linux is the reason to switch to Linux. You get all these wonderful applications without any of the baggage from other operating systems. It is a fresh start. A clean slate. Linux is a chance to start your computer life, or start it over, without the extra blood pressure and stress of other systems. The OS should be largely irrelevant to the operation of the software running on it and it should certainly seem that way to you. If you are a Windows user and ever think to yourself "Why does Windows do that?" or "Why does the computer always do that when I do this?" then you are being betrayed by Windows. You shouldn't even notice that Windows exists. But the reality is that every time you let down your guard Windows smacks you in the face.

Secondly, I hear the "double edged sword" argument often. Early on, GNU was developed largely on SunOS because that's really all they had. The GNU folks realized that Sun had a fairly nice kernel but many of the user tools were, in my and others opinion, just absolutely horrible. And I think the failings of that OS taught the early GNU developers to strive for something better. You hear a very consistent response when you ask people about using SunOS in the early 90s or even Solaris today. It goes like this, "The very first thing we do when we get a brand new Sun Box is to spend 2 days installing GNU." As a testament to that fact, for several years Sun has been selling all of their systems with GNU, and often also Linux, preinstalled. GNU didn't just clone the UNIX System and its commands. They built completely new tools that worked in entirely new ways. But they never forgot what worked from the old system and they usually made it so the newer, better programs could drop right in place of the old programs.

I guess I'm saying that if you know why Windows, UNIX, a particular application or whatever sucks then you can use that knowledge to avoid the same mistakes. But if you blind yourself completely to the experience then you may become preoccupied with something that others know is a dismal failure. (For example, KDE Control Center truly is a dismal failure not because of bad design but because of the millions of useless settings in it. Sadly, they didn't get the memo because their mailbox is welded shut.) Much wasted time could be spent elsewhere if you learn from others mistakes.

Labels: ,

2005-01-14

Spatial or Not: GNOME vs. Windows

I'd like to illustrate just one of many reasons I love the "spatial" desktop in GNOME (and MacOS for that matter). I have touched on this before in my Modern Desktop Linux and UNIX Systems article. You can't really organize things in a "natural" way with a browser-based desktop like Windows or KDE. It seems artificial and cumbersome to me if every folder is always the same size, same shape, in the same place on the screen, and neatly compartmentalized into ugly little squares.

Generally I want folders to either stay where and how I left them or to show me only the newest items. With a spatial desktop I can have both auto-sorted and manually arranged folders. With a browser-based desktop I would be forced to live largely without the ability to leave things how I left them. Most file browsers regard "manually arranged" as a suggestion and not a divine right. Now, I admit that it does take time to organize things how you want them. I think because of this Windows refugees sometimes don't immediately see the benefit and jump to the conclusion that spatial orientation is like the old "Open Folders in a New Window" mode introduced and abandoned in Windows 95. Some complain about "all those extra windows opening up" when they encounter a spatial desktop for the first time.

I, for one, take comfort in the knowledge that my folders stay the way leave them, auto-sorted or not. I no longer find myself aimlessly clicking through folder after folder trying to find a single file among a sea of tiny nearly identical icons with only very small text labels to guide me. Windows and similar desktops force the user to read through similar looking file lists one after another to hunt for a single file. While GNOME allows my brain to navigate on auto-pilot using only familiar looking landmarks. When I reach my destination I see a landscape that looks exactly like I last left it. I don't have to wonder if I'm in the right place.

GNOME on Linux view of a folder:

Explorer on Windows view of a folder:


As I opened the folder on a Windows system I remembered that Windows relies on cryptic three letter extensions tacked on to the file name to determine the type of file. So Windows doesn't even know that my photos are photos. But I suppose for this demonstration that doesn't much matter since everything is always trapped inside a perfect little 128 pixel square and locked in a prison-like gridwork. When it does manage to recognize a photo Windows provides a tiny thumbnail preview. But the preview only works on writable folders and clutters up those folders with ugly Thumbs.db files.

Labels: ,

2004-12-18

Regarding: Open Letter to a Digital World

Opinion: Open Letter to a Digital World
http://www.linuxworld.com/story/47536.htm

Well, it made me feel all warm and fuzzy inside anyway. But I haven't used Windows at all for over 6 years and I guess I understand what he's talking about. The first PC I bought in 1996 was running Windows. From December 1998 to present I have used Linux exclusively on all of my computers. There have been entire years where I've not touched Windows systems. From that perspective I find using current Windows systems quite a shockingly bad experience.

(in)Security (in)Sanity
These past two months, in particular, friends and family have been asking me to help them salvage their Windows PCs. I seem to be viewed as "the computer" expert or perhaps a last resort. I've had more experience than I would wish upon my worst enemy "cleaning" trojans, viruses, etc from these systems. And, like the author of the article, it really shocks me just how bad Windows has become. As bad as you might think Windows is I'm here to tell you that it is much worse. If you think your Windows system is clean and safe I'm willing to bet that it is not. No combination of antivirus and spyware/adware removal tools I could find would protect any system other than Windows XP with Service Pack 2. XP SP2 is only marginally less problematic and the fixes in SP2 seem largely short-term. Windows 9x appears to be impossible to protect without total abandonment and removal of Microsoft software. All Windows systems prior to XP SP2 will soon follow because Microsoft will no longer provide security updates to them. This is clearly a forced upgrade strategy and I can't really blame Microsoft because upgrading is the best strategy. Those who won't upgrade probably don't bother to install security updates anyway. (Windows 2003 Server probably fairs the best of all Windows systems but its security policies prevent many Windows desktop programs from functioning properly or at all.)

Reasons
I've heard many reasons for why someone thinks they can't use Linux. A few have some merit. Many reasons given are excuses to justify the decision to stick with Windows. Fear of the unknown keeps many people frozen in place.

One reason a company might stay with Windows is that some run software they or a consultant has designed to rely on Microsoft technology. They have no business case for rewriting the software so they stay with Windows. When the business logic changes they might consider writing the replacement to run on Linux. But in some cases even these people are switching to Linux desktops. One can setup a single Windows Server system with Windows Terminal Services to run Windows applications. Microsoft's Remote Desktop Protocol, used by Windows Terminal Services, is fully supported by rdesktop on Linux providing stereo sound and true color video. If one is already paying for Windows Server and its user licenses then using Terminal Services means you can eliminate the extra (~$179/yr per CPU in XP contracts) cost of running Windows on each workstation. It cuts Windows upgrades, security, and support down to a single server machine. It also means that every user's desktop is available on any physical workstation. If their workstation catches fire they can walk across the room and pick up right where they left off without missing a keystroke.

Another reason is that a company might have in-house people who are actually qualified to maintain and administer Windows systems. And that can certainly work if the operating system and all software are kept current. But I think it is a frighteningly rare situation. And even experienced admins can easily get into a situation where they are spread too thin to deal with every incident.

But most of the reasons seem to revolve around empty assumptions like "there's no software." I suspect that belief comes from the fact that many Windows vendors don't openly support Linux. Debian Stable includes 9,157 applications. Many Linux systems are based on Debian. Source Forge hosts over 53,000 Free and Open Source applications that can run natively on Linux. That doesn't count proprietary applications from Linux software vendors. And it certainly doesn't count Java applications, Microsoft .Net applications, nor Windows applications that can be run on Linux. That doesn't even count most of the Free and Open Source applications available for Linux.

Maybe there are more Windows applications. Maybe they are better quality. Maybe. I don't know and I don't think anyone could possibly know. It is largely conjecture. Linux has been around longer than 32-bit Windows. UNIX systems have been 32-bit longer than any Windows systems, or really any mainstream consumer systems, have existed. Most 32-bit and 64-bit UNIX systems software can easily be made to run on Linux. In recent years there's been a lot of work on building alternatives to popular Windows software. And I think that gets a lot of the focus when people say no software exists for Linux. They look at only the programs which clone Windows software and then they proceed to grade it on how closely it resembles the Windows software it has cloned. I think that's a very narrow minded perspective. And I think this comes from people who have invested their time in learning what they call "tricks" instead of learning how to use the computer systems and software itself. When faced with a similar but slightly different program they freak because their bag of tricks no longer work.

But Really
Software support really isn't the issue for most people who do talk of using Linux desktops. It may be the cover story but it's not the issue. It's the complete lack of experience with using anything but Windows. Linux isn't Windows, it has never been designed with Windows in mind, it will never be like Windows, and most Linux users and developers consider that a good thing. This generates fear among people who have invested in learning Windows. Those coming to Linux without any deep ingrained Windows knowledge are unlikely to have any such issues.

On Inexpensive PCs
I believe that Steve Ballmer's $100 PC isn't far away. But I don't think it will be running Windows and I don't think it will be a PC. There's a growing market for inexpensive computers running inexpensive software. I hope that retailers like Walmart will lead the charge in coming years. Here's to hoping other major retailers stop cowering in the corner and test the waters with their own inexpensive Linux computers. The only way to make Linux popular with the masses is for retailers to sell good quality systems in physical brick and mortar stores.

My point there is that if a retailer bundles a reliable, inexpensive computer with a good assortment of decent software then people aren't going to care what OS it runs. Most people don't even know what an OS is. Most people I know blame "the computer" when something doesn't work instead of blaming Windows. Many have no clue what an operating system is, why they need one, how to install software, that they can install software, or they don't even know what software is. Many even think that if something didn't come with the computer they have to buy a new computer to add it. Nearly every Windows home PC I have seen is still in the factory configuration with the factory software. Many still show the "Welcome to Windows" tutorial screen at bootup. At the most, they might have installed AOL or MSN simply because someone walked them through installing it over the phone. And I strongly suspect these machines are in the factory config because people are afraid to install anything or even use the computer. They've probably had more than one occassion where the system blew up and their hardware vendor has instructed them to insert "The Big Red Disk" to reset it to factory defaults without explaining the consequences. After doing that once or twice would you ever entrust the computer to your precious family photos or financial records?

Labels: ,

2004-11-22

XP post-Firefox IE Lockdown

Windows XP users, so you've decided to listen to repeated advice to switch your default web browser to Firefox. But IE is still lurking on the system since they won't allow you to remove it. Programs like Outlook, Outlook Express, Eudora, or anything else that displays HTML using the IE engine is potentially at risk. (BTW, I also suggest you switch your email to Mozilla Thunderbird.) Furthermore, your desktop is still potentially vulnerable to "Search Toolbar" hijacks and whatnot because they wound it around Internet Explorer (to wiggle through holes in the federal antitrust ruling against them but I digress).

What can you do? Well, I don't have all the answers. And you generally ignore me when I suggest that you switch to Linux. It's always too hard, too complex, too different, too scary, don't have time, or Linux doesn't yet run Windows programs. (Why would Linux even aspire to run Windows programs? Why doesn't Windows run Linux programs? Besides, Crossover Office certainly does run Windows programs on Linux. But you never hear me when I say that.)

Oh, yes, you asked about what you can do... Well, first of all you can disable BHO and Toolbands support in Explorer. What are those? They are the fancy pants little toolbars that invade your computer from seemingly nowhere. BHOs have unrestricted access to the system; which seems insane if you think about it for more than 2 seconds. You can also set a non-evil Home Page and Search site like Google. And finally enable some of the new Internet security restrictions in XP SP2.

Or, you can simply install this registry patch I created to lockdown IE on XP... It is well commented so you can see what it does if you want. I've also made a similar IE lockdown patch system administrators can use to set the defaults. You normally would want to install both.
Disclaimer: if it harms something then you can't blame me. You're installing a hand-made registry patch from someone who doesn't even use Windows. It might even eat your branes and turn your cat into a goldfish.

Notice in this screenshot that the Yahoo Companion toolbar I just installed is missing. Yahoo's website remains blissfully unaware. With a huge amount of luck on your part the evil toolbars will suffer the same fate.

Labels:

2004-11-11

Firefox 1.0

Firefox 1.0 Released

A few people asked me to let them know when Firefox 1.0 was released... Well, it released on Tuesday and the Mozilla websites have finally settled down.



Get Firefox!

Firefox 1.0 Press Coverage:

Firefox Add-ons and Extensions

Turns out that many web-based companies have been quietly developing, or helping develop, extensions for Firefox. Firefox extensions add new features to the browser and they generally aren't specific to a particular operating system. Most extensions work with Windows, Macintosh OS X, Linux, and other systems.

Google has created a custom Home Page that displays random tips:
http://www.google.com/firefox

Firefox extensions for some popular services:

Many more extensions are available from:

Live Bookmarks

Firefox also supports "Live Bookmarks" for syndicating Blog and News feeds into your bookmarks as a folder. For example, this means you can go to IndyStar.com and click the orange "RSS" logo to create a "Live Bookmarks" menu that always shows the latest IndyStar headlines.

You may view a short video showing how to use Firefox Live Bookmarks I have recorded.

Del.icio.us Social Bookmarks Manager allows you to create and share Live Bookmarks with friends, family, yourself or the world. It also puts you in touch with other like-minded people by allowing you to see a list of users who have common bookmarks.

Compatibility

Firefox 1.0 works perfectly with most, even complex, websites. For example, those of us on Road Runner High Speed Online can now access their online services using Firefox without any lack of functionality. CNN Headline News video plays, AP videos play, music videos play, sound prompts work, web-based email works, sports, weather, and everything else works. Not just on Windows but also on MacOS X and Linux.

It is true that a very few websites are heavily tied into Internet Explorer, Windows and proprietary Windows media formats. The only way to change that is to send each non-functional website a polite but stern email or comment asking for cross-platform Mozilla Firefox support. Remind them that they are losing business, however minimal, because they do not support Mozilla Firefox. Tell them of competitors websites that do support Mozilla Firefox. Often the operators of such websites are not well informed by their web developers. Often it is simply because the developer isn't sufficiently skilled to develop cross platform multimedia and wants to hide the fact; they instead insist that cross platform multimedia is not possible and proceed to blindly lock out any browser and OS except Internet Explorer on Windows.

Labels: ,

2004-10-20

Internet Explorer: Stop using it. Please stop!

Seriously, just stop it! I have unscrewed at least a dozen machines the last month and sole the problem with these machines is spyware or trojans or worms or whatever have demolished the system to the point the desktop won't even load.

Where did they come from? Very simple. They came from unfixed flaws in Internet Explorer. Maybe you've not installed the latest Windows patches or maybe MS hasn't fixed the bugs or maybe you're running an unsupported version of Windows (such as Windows 95 or 98). Seriously, I no longer care why your machine is being infected with this junk. If you can't stop these things from invading your computer then you need to just stop using Internet Explorer. Please.

Maybe some website you just love or "need" won't work without IE. Complain to them. Loudly. But I really doubt you'll find many that do not work. And I suggest you ponder which is worse: a broken website or a broken computer. I implore you to just stop using Internet Explorer. Today. Right now. Not tomorrow or next week or when some other browser reaches some version number.

If your computer uses windows 95, 98, Me, or 2000 I'd suggest you do this:
  1. Install Firefox
  2. Grab this zip and run ieradicator2001a.exe to remove IE entirely
If your computer uses Windows XP then at least install Mozilla Firefox web browser and use it instead of Internet Explorer. In fact, delete the Internet Explorer icon from your desktop and start menu so someone else doesn't accidentally run it.

Maybe you have have some clue what you're doing and live in a home with other people who insist on using IE on the computer you use. Try this: import the IE bookmarks into Firefox, make a copy of the Firefox desktop icon, change the icon to the one IE uses and then rename that icon to say Internet Explorer. Then install a theme that makes Firefox look like IE. Do this for each user on the machine, of course. Then wait and see how many months pass before anyone notices, if they ever do.

Please.

Thank you. That is all.

Labels:

2004-08-16

Corporate Email Virus Scanners

As I'm going through the thousands of emails in my inbox I keep coming across subjects like "(big corporation) Antivirus Email Gateway Notification" with headers that seem to confirm the origin. These emails say things like, "Sender, the following email was blocked due to containing an attached file that violates (big corporation) email security policy."

Do the IT managers of this massive corporation really not know how Windows email trojans work? Do the antivirus vendors not know? Is the IT world filled with that many incompetent people? How is bouncing gazillions of "you are not in compliance with (big company) security policies" to innocent people who are not, and further cannot be, infected help anything? Surely they can disable this in their software. If not, most of these companies are large enough that they could demand from the antivirus vendor that these embarrasing features be removed.

As the conspiracy nuts would claim: maybe it is some sort of screwball advertising policy. How better to spam people? It gets the company name out there, albeit not in a very flattering light, and there's a certain level of plausible deniability involved. The average computer user would probably be grateful for such a false warning. And they might even find a virus on their computer as a result.

Oh well, at least a copy of the virus wasn't attached... Almost everyone seems to have shut that feature off long ago.

BTW, my mail server discards any email with a Microsoft Executable attached. So sorry. Try a zip file or something if you legitimately want to get something through to me.

Labels:

2004-07-29

Windows and Devices...

Why do I feel the sudden urge to slam my head into the desk every time I try to deal with Windows?

I've been trying to get Windows 2000 to play nice with my HP Colorado 5 GB Travan drive. It is a standard IDE Travan QIC drive I installed into a USB 2.0 IDE drive box. Seems reasonable that this should work, no? Why do I need Windows? Well, as with most things Windows the data on the tapes are almost certainly in a proprietary format. So I'll surely need to read them using the same Windows program that created them.

So, I wondered if the drive worked at all. I've not used it in many years and then I only used it with tar (the standard UNIX Tape Archiver program). The HP Colorado user manual claims my tape drive originally came with Yosemite TapeWare for both Windows and Linux. This drive came from a computer show with only a user-manual rubber-banded to the drive. So I went to the HP website, found TapeWare and then installed it on Fedora Core 2. I ran the TapeWare Administration GUI, it auto-detected the make and model of my tape drive, and the drive works without a hitch. The entire process took maybe 5 minutes.

So, since the tape drive worked so effortlessly under Linux I thought I'd see what Windows had to say... For testing purposes I have Windows 2000 on a Virtual Machine running under Linux... I started up the Windows 2000 VM and once it had finished booting I told it to attach the tape drive. Windows 2000 instantly says I attached a "HP Colorado 5GB USB Device." Great, that's precisely what I attached. So I run through the wizard and it says it found no drivers (Floppy, CD-ROM, Windows update, nothing). Fine, I downloaded the HP drivers from HP.com. It sees the drivers but indicates they are not for my drive. So after 30 minutes I concluded it won't allow me to use any of the drivers provided by HP. Almost certainly because none are specifically for a USB tape drive.

Why does Windows need a driver disk? It is a Travan tape drive. Windows knows it is a Travan tape drive. By definition, all Travan tape drives from any manufacturer are essentially identical. Linux has one driver for all Travan tape drives regardless of how they are attached. Further, Linux auto-detects and silently configures the device without the need for input from me.

What is the point of even having a USB IDE drive box on a Windows system if nearly every device you might want to attach is going require special drivers that don't exist? It seems to me like this negates the whole point of the external drive box.

Oh well, we'll see how things go once I have the tapes in question. Hopefully I can devise some way to read the data from them.

Labels: ,

2004-07-14

SWISH-E Daily Builds

SWISH-E Daily Windows Builds are being made again. Sorry for letting them go for so long. I'm really glad to find that makensis now runs natively under Linux. WINE has had a number of little nagging problems under Fedora Core. Currently I can't seem to get the ttydrv (Windows GDI Graphical) driver to function; meaning I can't really schedule Windows applications to run in text-only mode from cron (UNIX system task scheduler).

I may start building daily Fedora RPMs for SWISH-E. I don't have a ton of disk space on my web host. However I would like to make daily builds available to get it out there for testing. That hinges on a few things such as getting the Fedora.us build system working on one of my computers. I have a spare machine I could put online just for doing automated builds. That may be ideal.

Also, I'd like to get stable releases of SWISH-E into Fedora Extras. That will be some serious work due to the Fedora.us packaging guidelines and the shear volume of Perl modules the SWISH-E helper scripts support/require. I think it is worth doing, though. There are a growing number of people using SWISH-E and I'd like to make their lives a bit easier if possible. Should I support Red Hat Linux 9? I really don't know how many people are using it compared to Fedora Core or Red Hat Enterprise.

Labels: , ,