Make Linux look like Windows XP

I can’t say I discovered this–I saw a reference to it in User Friendly this past week–but there’s now an XP-lookalike window manager for Linux called XPDE.

A quick look at the screenshots shows it’s a pretty convincing clone. But is it legal?The authors maintain its legality, because it uses no Microsoft code, mentions no Microsoft trademarks, and uses no Microsoft icons. I wish them well, but there is precedent for a copyright infringement anyway.

Some 20 years ago, the best-selling spreadsheet (and perhaps best-known piece of software in the world) was Lotus 1-2-3. It was expensive. In 1985, microcomputer pioneer Adam Osborne began predicting the emergence of Lotus 1-2-3 clones priced under $100. The theory was, if one could clone the IBM PC and undercut IBM’s price, why couldn’t the same technique be used to clone expensive software and undercut it in price as well?

Osborne had insider knowledge, being the president of his own software company. He released a Lotus 1-2-3 clone himself, and in 1987, Lotus sued him. Borland also incorporated Lotus 1-2-3’s menu structure into its own spreadsheet product, Quattro Pro. Lotus won its case against Osborne’s Paperback Software, with a court finding Paperback in violation of Lotus’ copyright, and Osborne disappeared into obscurity in disgust. Borland was more successful, winning its case against Lotus on appeal. But it took six years to do it, during which both companies’ products were eclipsed in the marketplace by Microsoft Excel.

So while XPDE may technically be legal, if I were involved in the project, I would be afraid of being litigated into oblivion.

But in the meantime, if you want or need a Windows-like interface for your Linux box, you can download XPDE.

Outsourcing hurts all of us

Cringely has written eloquently about the effects of outsourcing to India.

Outsourcing hurts more than just IT.Every day, I drive past an old factory. I don’t know what’s in it now. From its appearances, not much, because I’ve never seen any traffic around the place. The sign and the smokestack says “International Shoe Company.” Curious, I did a little bit of digging. It seems that at one time this was the largest shoe manufacturer in North America. It’s pretty obvious that it isn’t anymore. It’s not for lack of people around to staff the factory–there are plenty of people in the neighborhood. From the looks of some of them, they could use a job. But the factory sits, abandoned, for one simple reason.

We don’t want to pay people $5.25 an hour to make our shoes. Those of us who are willing to pay people $5.25 an hour to make our shoes can’t, because not enough other people are willing.

So the once-proud factory sits.

I drive past a smaller operation every day too. It’s boarded up and fenced up, and overgrown with weeds. A faded sign says, “Missouri Candle and Wax Co.” It obviously never employed as many people as ISCO did. But there’s a neighborhood all around it. I’m sure at one time it supported a few households in the neighborhood around it.

Not anymore. The neighborhood’s in better shape than the candle place, due to some rehabbing that’s going on. But I guarantee the people moving into those houses don’t work anywhere in the neighborhood, because the jobs aren’t there anymore.

The jobs aren’t there because we don’t want to pay people $5.25 an hour to make our candles.

Now, I can kind of see paying lower prices for shoes, in some cases. You need shoes. I can’t so much as walk to my car without shoes, some days. If you don’t have a lot of money, you’ll buy the cheapest shoes you can find. It’s a matter of survival.

But candles? Candles are a luxury item.

Like Cringely says, the government isn’t going to do anything about it because the government doesn’t care. Big business wants to offshore, and modern Republicans don’t seem to believe big business is capable of doing anything wrong. If big business says it should outsource, well then, God Himself must have handed them a stone tablet that says, “Thou shalt outsource.” Democrats won’t solve the problem because Democrats need needy people in order to keep their jobs. So Democrats profit from offshoring just as much as Republicans, although for different reasons.

Richard Gephardt suggested solving the problem by instituting an international minimum wage. That would solve it neatly–if a Chinese worker makes $5.25 an hour, then suddenly it’s cheaper to pay the $5.25-an-hour worker who lives next door to make your candles and shoes and computers.

But Richard Gephardt isn’t going to be our next president, and Richard Gephardt knows just as well as you and I know that there won’t be an international minimum wage coming down the pike any time soon. It’s just election-year rhetoric.

That means you and I have to solve the problem.

Cringely said one thing that I disagree with. He said companies who offer good customer service grow. Maybe sometimes they do, but if that were true, virtually everybody would be bigger than Wal-Mart, because at Wal-Mart, “customer service” is synonymous with “customer returns.” If you need to know where you would find mineral oil, it’ll take you half an hour to find an answer to your question. If you’re lucky.

I guarantee if you walked into A. G. McAdow’s in Pharisburg, Ohio in 1883 looking for mineral oil, my great great grandfather could tell you if he had it and where it would be. He’d even know what the stuff was.

I’ll tell you what customer service is. It absolutely shocked me when I got it last week. I went to Marty’s Model Railroads, and I’ll admit, the reason I went there was because they have the best prices I’ve found locally on used train stuff, and I can get it without the hassle of bidding on eBay. I asked Marty if he had a Marx coupler. He went and looked. He came back and said he didn’t have a coupler but he had an entire truck, and asked what I wanted to do with it. I said I wanted to make a conversion car. He pointed me to the cheapie bin, told me exactly what I should look for, and then when I found an $8 car that was suitable, he took the car, along with the Marx truck, into the back room, drilled out the Lionel truck, and came back with the one-truck Lionel car and a nut and a bolt. We put the car back together on his counter, by the checkout. Then he charged me 10 bucks.

Ten bucks would have been a good deal if he’d just handed me all the pieces and said good luck. But with his tools in the back room, he was able to do in five minutes what would have taken me most of an hour.

Later that week, I took in two Lionel locomotives for repair and bought another conversion car–this time, not because I knew I’d get the lowest price, but purely because I knew he’d treat me well.

When I go to pick those locomotives back up, I need to tell him that’s exactly why.

Marty’s business is growing, but I don’t know if that’s because of outstanding customer service or if it’s simply because he’s the only shop left in eastern Missouri that fixes Lionel trains.

Activists talk about thinking globally and acting locally. Building a sustainable economy requires less global thinking and more local acting.

Don’t go to Lowe’s and Home Depot if there’s a corner hardware store you can go to. The last two times I’ve gone to a local mom-and-pop hardware store I got help without asking for it, got exactly what I needed, and got out of there faster than I’d be able to get out of the big-box store. And as far as the price, I probably made up for it on gas. Remember, Lowe’s and Home Depot are megacorporations. More of the money you spend at the mom-and-pop place will stay in the area.

Don’t go to Wal-Mart if you can get what you need someplace else. Target is a megacorporation too, but it puts more money into the communities it works in. But if there’s a locally owned business left, frequent that.

Don’t go to chain restaurants if there’s a locally owned place you can go to instead. It seems like St. Louis has a thousand delightful locally-owned restaurants. There is no reason whatsoever for a St. Louisan ever to eat at Olive Garden.

And wherever you go, check to see where the product you’re buying was made. I needed a putty knife the other week. The cheapest one was made in China. The one on the peg next to it was made in Canada and it cost 10 cents more. I bought the Canadian one. Neither one helps the U.S. worker, but when I buy the Canadian one, I know the guy who made it was paid a fair wage, and that’s worth the extra 10 cents to me.

Sometimes you have to get creative to avoid these things. If I want model train stuff, Lionel and its competitors all seem to be building everything in China. But I don’t have to buy new stuff.

The same goes for clothes. If all the clothes you like are made in countries that operate as the world’s sweatshop, buy used ones. At least then the operation that created the sweatshop doesn’t profit a second time. Besides, used clothes are cheap. And no one will ever know those year-old clothes weren’t originally your year-old clothes.

DVD players are all made in China today. So there, the decision is pretty easy. Buy the cheapest one. Then you’ve got more money left over for the times when you do have a choice.

Finding a list of countries whose workers earn a living wage has proven difficult for me. Does anyone else out there have such a list?

Of course, I would first prefer to buy locally made and then used, given the option.

MyDoom/Novarg Gloom

Just in case anybody is curious, my employer’s virus scanners filtered roughly 3,000 copies of Novarg (a.k.a. My Doom) during working hours yesteray. If that’s not a record for us, it approaches it. I know we weren’t the only one.I’ve heard Novarg/MyDoom/My Doom called the fastest spreading virus yet. I don’t have statistics on prior viruses with me, but suffice it to say, its impact certainly felt similar to the big names from the past.

Although SCO would like people to believe it was written by a Linux zealot, I’m more inclined to believe it was created by organized crime. Maybe the creators hate SCO, or maybe the anti-SCO DDoS was just an added touch to throw investigators off.

LoveLetter was the first virus outbreak to really have much impact on my professional career, and I noticed something about it. Prior to LoveLetter, I never, ever got spam at work. Not once. After LoveLetter, I started getting lots of it. I don’t believe LoveLetter’s intent was to gather e-mail addresses for spammers, but I do believe that more than one spammer, probably independently, noticed that viruses were a very efficient way to gather a large number of e-mail addresses.

I got spam before LoveLetter, and I saw viruses before LoveLetter. But I started seeing a lot more of both very soon after LoveLetter.

I don’t buy any giant conspiracy to sell anti-virus software, nor do I buy any giant conspiracy against SCO. I do believe in bored people with nothing better to do than to write viruses, and I also believe in people who can profit off their side effects.

I’ve said it once and I’ll say it again. If you run Windows, you must run anti-virus software. You can download Grisoft AVG anti-virus software for free. Don’t open unexpected e-mail attachments, even from people you know. Even if it looks safe. Don’t send unexpected e-mail attachments either–you don’t want anyone to get the idea that’s normal. Quite frankly, in this day and age, there’s no reason to open any piece of e-mail that looks suspicious for any reason. I told someone yesterday that this is war. And I think that’s pretty accurate.

If you’re an intrepid pioneer, there’s something else you can do too, in order to be part of the solution. If you join the Linux revolution, you can pretty much consider that computer immune. Macintoshes are slightly less immune, but certainly much less vulnerable than Windows. Amiga… Well, I haven’t seen the words “Amiga” and “virus” in the same sentence since 1991 or 1992. But one thing is certain: a less homogenous field is less susceptible to things like this.

 

Misspelling for profit (or lack of it)

I read an interesting story today on several sites, quoting an article that originally appeared in the New York Times about misspellings on eBay and people who get bitten by them–and others who exploit them. (This particular link is registration-free.)

Executive summary: A lot of people can’t spell, and that means items sell for much lower prices than they would otherwise, if they attract any interest at all (one has to be able to find them, after all).

Funny how there’s little demand for “Compact Laptops.” Less yet for “Compact Labtops.” (Why would I want a small hat for a Labrador?)

Some people are afraid their secret’s out now, but I suspect there are more people on eBay than there are who regularly read the NYT. Fewer still will try it. Fewer still still will remember it for more than a couple of weeks.

But it gives me an idea. Is there such thing as a dictionary of common misspellings? Not commonly misspelled words, but common misspellings? Imagine plugging that into a piece of software that searches eBay.

I think I need to patent that.

Free graphics software for Windows

Even people who use Windows exclusively have probably heard of The Gimp, which Linux and Unix users often proclaim as the “free alternative to Adobe Photoshop.” While Photoshop is in no danger of being displaced in the industry, Gimp is certainly more than adequate for most use.

But installing it in Windows has never been easy, unless you knew a well-kept secret: the URL for Installers for Gimp for Windows. (The Windows page at gimp.org is pretty intimidating.)All you need to do is download both files, the GTK+ 2 toolkit and Gimp for Windows. Install GTK+ first, then install Gimp, and you’re golden. Although the current version 2.0 is still pre-release, it’s much nicer than the “stable” 1.2 release–it has more features and a better user interface, and frankly, I don’t find it any less stable.

You’ll almost definitely want to keep the link to Grokking The Gimp handy. It’s a professionally written book that’s freely distributable, or, if you prefer, you can buy a print copy. Gimp is easy enough to understand if you have a guide, but you need a guide. Given that book, even a drawing klutz like me was able to do some drawings that turned heads. (Paper buildings on a model railroad layout, in my case.)

The copy of GTK+ on the Installers for Gimp for Windows site is also the secret to getting the Win32 port of Sodipodi up and running. Sodipodi is a free vector drawing program, similar in function to Adobe Illustrator, Macromedia Freehand, or Corel Draw. While not as full featured as the current version of any of them, again, it’s good enough for most casual use. Don’t be put off by its low version number; its primary author is a perfectionist. It’s at least as stable as most of the commercial low-end graphics programs I’ve seen for Windows.

There is no equivalent to Grokking The Gimp yet for Sodipodi. This Sodipodi Guide will get you started.

If you want to play around with graphic design and can’t afford to buy Photoshop and Illustrator (even the educational prices can be a bit high for some people), playing with Gimp and Sodipodi is a good way to learn the basics in order to see if you even want to learn more about drawing with a computer. Who knows, the current or some future version may even prove to be all you need–saving you from ever having to buy the commercial software.

Operate incompatible rolling stock together with conversion cars

In the early 1950s, Lionel had two different standards for the couplers on its train cars. “Serious” sets used its knuckle couplers. Entry-level, or “Scout” sets, used one-piece couplers that came to be known as “Scout” couplers. My Dad had cars with both types of couplers in his collection.

Once I got Dad’s set running, I found a Marx car on eBay that I absolutely had to have–an operating Missouri Pacific cattle car. Marx used its own couplers. So how to get both types of Dad’s cars, plus my new Marx car operating together on the same train?

Enter the conversion car.A conversion car is just a car with two types of coupler on each end. I went to Marty’s Model Railroads in Affton to get mine made. Ideally, I’d have done a Marx-to-knuckle conversion car and a Marx-to-Scout conversion car. Then I could convert either type to Marx, and if I wanted to convert Scout to knuckle, I could just use the other two conversion cars. But Marty only had one Marx truck, so I got a Marx-to-knuckle and knuckle-to-Scout made. One could also make a makeshift Marx-compatible coupler with a Lionel truck that lacks a coupler but has a rivet hole (such as those used on the back end of some Lionel cabooses) and a wire Marx coupler substitute.

The only thing to say is to not use a collectible car to make your conversion car. There’s so little market demand for Scout cars that you won’t hurt their value of most of them by making them into conversion cars, and the same holds true of most Marxes. I used cars out of Marty’s $10-and-under box. I’ll also add a suggestion Marty made: Use an open car, like a gondola or a hopper, that you can put a load in to weigh it down. I find my conversion cars derail much less when loaded down with some weight. Even just a film cannister filled with pennies is enough to make a difference.

In the 1950s, Lionel’s knuckle coupler design gave the best combination of realism and reliability, but at a higher cost. Marx’s design was reliable and very inexpensive, but didn’t look very realistic. The Scout design looked realistic and was inexpensive, but wasn’t as reliable as either Lionel’s knuckle coupler or Marx’s tilt coupler. Today, the difference in cost of manufacturing is probably negligible, and people aren’t so concerned about cost anymore anyway.

Serious hobbyists prefer the Lionel knuckle couplers, and for the most part that’s all that anyone makes anymore. But if I like a car, I’m going to buy it, regardless of the coupler, and I want to be able to use basically whatever combination of rolling stock I like.

I’m not sure what that makes me, but conversion cars let me do it, and cheaply.

Optimizing dynamic Linux webservers

Linux + Apache + MySQL + PHP (LAMP) provides an outstanding foundation for building a web server, for, essentially, the value of your time. And the advantages over static pages are fairly obvious: Just look at this web site. Users can log in and post comments without me doing anything, and content on any page can change programmatically. In my site’s case, links to my most popular pages appear on the front page, and as their popularity changes, the links change.

The downside? Remember the days when people bragged about how their 66 MHz 486 was a perfectly good web server? Kiss those goodbye. For that matter, your old Pentium-120 or even your Pentium II-450 may not be good enough either. Unless you know these secrets…

First, the simple stuff. I talked about a year and a half ago about programs that optimize HTML by removing some extraneous tags and even give you a leg up on translating to cascading style sheets (CSS). That’s a starting point.

Graphics are another problem. People want lots of them, and digital cameras tend to add some extraneous bloat to them. Edit them in Photoshop or another popular image editor–which you undoubtedly will–and you’ll likely add another layer of bloat to them. I talked about Optimizing web graphics back in May 2002.

But what can you do on the server itself?

First, regardless of what you’re using, you should be running mod_gzip in order to compress your web server’s output. It works with virtually all modern web browsers, and those browsers that don’t work with it negotiate with the server to get non-compressed output. My 45K front page becomes 6K when compressed, which is better than a seven-fold increase. Suddenly my 128-meg uplink becomes more than half of a T1.

I’ve read several places that it takes less CPU time to compress content and send it than it does to send uncompressed content. On my P2-450, that seems to definitely be the case.

Unfortunately, mod_gzip is one of the most poorly documented Unix programs I’ve ever seen. I complained about this nearly three years ago, and the situation seems little improved.

A simple apt-get install libapache-mod-gzip in Debian doesn’t do the trick. You have to search /etc/apache/httpd.conf for the line that begins LoadModule gzip_module and uncomment it, then you have to add a few more lines. The lines to enable mod_gzip on TurboLinux didn’t save me this time–for one thing, it didn’t handle PHP output. For another, it didn’t seem to do anything at all on my Debian box.

Charlie Sebold to the rescue. He provided the following lines that worked for him on his Debian box, and they also worked for me:

# mod_gzip settings

mod_gzip_on Yes
mod_gzip_can_negotiate Yes
mod_gzip_add_header_count Yes
mod_gzip_minimum_file_size 400
mod_gzip_maximum_file_size 0
mod_gzip_temp_dir /tmp
mod_gzip_keep_workfiles No
mod_gzip_maximum_inmem_size 100000
mod_gzip_dechunk Yes

mod_gzip_item_include handler proxy-server
mod_gzip_item_include handler cgi-script

mod_gzip_item_include mime ^text/.*
mod_gzip_item_include mime ^application/postscript$
mod_gzip_item_include mime ^application/ms.*$
mod_gzip_item_include mime ^application/vnd.*$
mod_gzip_item_exclude mime ^application/x-javascript$
mod_gzip_item_exclude mime ^image/.*$
mod_gzip_item_include mime httpd/unix-directory
mod_gzip_item_include file .htm$
mod_gzip_item_include file .html$
mod_gzip_item_include file .php$
mod_gzip_item_include file .phtml$
mod_gzip_item_exclude file .css$

Gzipping anything below 400 bytes is pointless because of overhead, and Gzipping CSS and Javascript files breaks Netscape 4 part of the time.

Most of the examples I found online didn’t work for me. Charlie said he had to fiddle a long time to come up with those. They may or may not work for you. I hope they do. Of course, there may be room for tweaking, depending on the nature of your site, but if they work, they’re a good starting point.

Second, you can use a PHP accelerator. PHP is an interpreted language, which means that every time you run a PHP script, your server first has to translate the source code into machine language and run it. This can take longer than the output itself takes. PHP accelerators serve as a just-in-time compiler, which compiles the script and holds a copy in memory, so the next time someone accesses the page, the pre-compiled script runs. The result can sometimes be a tenfold increase in speed.

There are lots of them out there, but I settled on Ion Cube PHP Accelerator (phpa) because installation is a matter of downloading the appropriate pre-compiled binary, dumping it somewhere (I chose /usr/local/lib but you can put it anywhere you want), and adding a line to php.ini (in /etc/php4/apache on my Debian box):

zend_extension=”/usr/local/lib/php_accelerator_1.3.3r2.so”

Restart Apache, and suddenly PHP scripts execute up to 10 times faster.

PHPA isn’t open source and it isn’t Free Software. Turck MMCache is, so if you prefer GPL, you can use it.

With mod_gzip and phpa in place and working, my web server’s CPU usage rarely goes above 25 percent. Without them, three simultaneous requests from the outside world could saturate my CPU.

With them, my site still isn’t quite as fast as it was in 2000 when it was just serving up static HTML, but it’s awfully close. And it’s doing a lot more work.

 

And we\’re live

I’m pleased to unveil The Silicon Underground, Version 5.0. I’d still like to do some design work and a little more tweaking here and there, but now that we’ve reached the point where what we have now is better than anything we’ve had before, it’s time to throw the switch.

Design. The default layout is CSS-based. Some people don’t like CSS, because Internet Explorer won’t resize text on pages that use CSS. You can pick “clean,” a layout that doesn’t use CSS, from the menu at the top left. It’s about double the size of the CSS-based layout but will render well in browsers that have issues with CSS.

Click one link, and the site stores your preference.

Over time, I will probably introduce new templates. The two I have now are pretty generic; I literally dropped my old logo into existing templates and made just one or two other changes.

Filtering. Maybe you just come here for the computer-related entries and couldn’t care less about what I write about toy trains. Or vice-versa. You can selectively indicate which story categories you want to ignore, and the site will remember your preference.

Search. The search functions on the previous software I was using (b2) were nice at first, but once I had several hundred entries in the site, it started getting less and less useful. This search engine allows you to limit your searches within a topic and to perform three types of search: exact phrase, all words, and any words.

Speed. While the uplink speed of my DSL line is still a limiting factor, now it’s the biggest limiting factor. The database search now accounts for about 10% of the time you spend waiting for the page. Previously it was more than half.

I hope you enjoy it.

Status update

I’d like to say I haven’t been posting because I’ve been busy migrating the website to new spamproof software. Actually I’ve been busy at work, and I’ve been holding back so Steve DeLassus won’t have ever-changing content to migrate.
Here’s what I can say: The new software is good. Very good. It’s faster than b2. When you post comments, you can title them. The search engine blows everything else I’ve seen out of the water. Not only is it fast, it also searches posts and comments separately, so when a thread veers off topic, it’ll still find it (and point you to the right place). You can limit your search to certain categories, and you can specify whether you want an exact phrase, all words, or any of the words. If you vaguely remember me saying something four years ago about optimizing config.sys in DOS, you’ll be able to find it pretty fast with this new stuff. A lot of blogs out there have tons of great information in them, but finding it can be difficult. I may not have quite as much great information, but what I do have will be easy to find, and I’m hoping that once you find something you like, finding more stuff like it will be easy as well.

Popularity is based solely and entirely on page reads. I think this is more scientific than the karma scores, and it may cause some old, forgotten stuff to be unearthed thanks to search engine traffic. We’ll see.

I’ll be able to close certain threads off to comments. I don’t know about anyone else, but I’m sick to death of the Mormon thread. My sanity needs that feature.

And finally, registration will be required to post comments. You create a user ID, you tell the system your e-mail address, and it e-mails you a password. I know this won’t be a universally popular decision. I see it as a necessary evil, to keep spambots away. It’ll also tend to discourage people who come here and snipe. The upside to that is the system doesn’t make e-mail addresses public. You can e-mail other users, but my system sends the mail, so you never see the person’s address. This may or may not be easy to disable, and I’m torn on whether it should or shouldn’t be.

Overall, I think it’s going to be a huge improvement over the status quo. The speed will be good, and the lack of spam will be good. And if I’m not having to deal with spam and abusive people, I’ll have more time to generate content–both from not having to go delete the stuff and chase people away and from a lower level of frustration. I think that’s a good thing.

It’s not quite ready yet. But I’m hoping to make the cutover sometime this weekend.