You are always your own best teacher!

<< Previous Page :: Next Page >>

The Great Blender Survey Results: The News Behind The News

Date/Time Permalink: 11/14/10 04:11:27 pm
Category: Reviews

I'm pretty happy to see the Great Blender Survey results, because they indicate a lot of what my gut feeling has been saying for years, but I never had any concrete data to correlate.

Like Gimp, Blender has been a favorite kicking dog of proprietary software zealots online. Like Gimp, one cannot merely mention the name "Blender" on certain forums such as Slashdot and Digg without being immediately tackled by hordes of flaming trolls descending out of the woodwork. Where do they come from? Why are they so persistent? And so fast - it's like there's a whole office building of servers with scripts running an automated Google search every minute to catch every mention of Gimp or Blender so they can go flame it. You could go to the middle of the Sahara desert and write "Blender" in the sand with a stick, and here comes a helicopter over the horizon to drop three paratrooper-trolls...

I never understood this. I don't use 3DMax or Bryce, and guess how many 3DMax and Bryce forums I have visited and posted in? Zero. The fact that people have nothing better to do than to follow a free program around the Internet every day of their lives just to flame about how they don't use it should tell you something.

Anyway, first there's the demographics. Users (responders to the survey, anyway) are 98% male, about 50% fresh out of high school or college, and have been using it for less than a year. Notice anything familiar? That just about describes the whole social web, at least as far as the parts that concern themselves with technology go. Females are sorely missing from the picture here. I've hung around Deviant Art long enough to know that female graphic artists are more common than that. Whether we're seeing a lack of female 3D designers, female FOSS users, or a combination of both, is a discussion for another day.

Intermediate and hobby use is the overwhelming response for use cases. So if you use it professionally and feel like you're left out of the loop a lot of the time, that's a clue.

For reasons "Why did you start using Blender?" about half say "it was free." Well, yes, if you're a male, 14-year-old intermediate-level hobbyist, sure, you'll try anything if it's free.

Here's what I'm getting at: For years, the complaints about FOSS programs, Blender included, have been stereotyped into a narrow-range of never-fail troll comments. And now what this survey is telling us is that the buzz must have been skewed terribly all this time. Because here comes the nut of the matter in question 10: "What aspect of Blender needs the most improvement?"

"User interface" came in seventh. Seventh!

Because that's all I ever hear, day in and day out, for years and years and years about Blender, is the interface. And the Blender team has been jerking like puppets on a string, rebuilding the interface with every release. Every time they do this, whole swaths of prior documentation and tutorials get flushed down the drain. The instructions that say "push this button to do this" suddenly become useless when the button got moved somewhere else.

Oh, I hope we can all learn from this example, boys and girls. I told you there was something fishy about the interface flames. When I did, I was pointing to Gimp, not Blender, but the two suffer the same undeserved bad publicity, and I indicated as much about Blender when I was talking about Gimp. In fact, in posts like Interface Obsession Syndrome, I've been beating this tired old drum for years.

The next data point is even more telling: The main problems everyone sees in Blender amount to 100% communication issues. Documentation is designers and users communicating how to use the software, publicity is the community communicating to the outside world, training is communication between experienced veterans and new users, and the rest of it seems to say that the communication everybody's hearing so far is strained.

Let me show you what the crazy man is ranting about.

See this link? Blender Tutorial - Basic UV Mapping. Just today I wanted to try putting Minecraft textures onto the sides of cubes in Blender and voila - I'd have a way to build Minecraft objects without even having to run the game. Then I could go on inventing my own objects, and perhaps either inject new ideas back into the community, or have a way to quickly plan out building designs to try in Minecraft later, or what the heck, maybe reinvent Minecraft's object-building capabilities for the Linux-native desktop without fussing around with a proprietary game built for the Windows desktop first using a proprietary language which is now controlled by a big mean ogre. Isn't that a great idea?

Minecraft Blender block render test

Except mapping images to an object in Blender is, like everything, rocket science, so like any typical doof I have to Google for tutorials to do anything in Blender and that's a good one I pulled up. Notice the quality of that tutorial - it's clear, it doesn't lose you in a thicket of jargon, and it has a screenshot for every step. It's very rare that you find a tutorial of this quality, so specifically written for exactly what you want to do.

So, follow the steps. Split the window, OK, that still works. Set one window to UV/image editor, check, that works too. Now switch the cube's display to the 'UV Face Select' mode.

Well? What's wrong? Cat got your tongue? It should be there, right between 'Vertex Mode' and 'Sculpt Paint.' But it ain't.

They changed that between 2.45 and 2.48. You find that out only after some more frustrated searching all over the web, discovering, through sheer luck, that the entry got "merged" into something I probably don't want to use and also, hitting 'U' will get the 'UV calculation mode' - which, I had to discover, only happens when you're already in 'edit' mode.

That's me, and I'm an experienced, salty veteran. You know what you've just done to a new adopter? You made them go crazy. You didn't just insult them or frustrate them - you literally, actually made the user go stark, raving crazy from not knowing what the flaming hell is going on. There's the menu, there's the screen, the buttons all in the same place, everything looks as it should be! You keep opening the menu over and over again to see if the entry is going to show up! You close your file and start Blender again, in case you accidentally hit some button that put it in "make random menu items disappear mode"! And so on.

You also just wasted the tutorial author's time. All that work, down the shitter. I think whoever changed that feature should go look up the author of that tutorial at and pay him or her a fee to hire a writer to redo the tutorial plus pay them a further settlement to compensate them for their wasted time and inconvenience.

No, wait, back up. It should be written right in the software license: going forward, ANY CHANGE to the UI should be submitted as an RFC to a standards committee, with thorough documentation as to why changing it is the only solution to the problem at hand, with screenshots, with diagrams, with user-case studies, with signatures from the developers proposing the change, with requisition forms filled out in triplicate carbon copies ratified by the cosigning signatures of no less than three charter members of the organizations that have sponsored the development of Blender, and then said committee must post a public vote on the Internet and collect and tally votes for a full year, and if a three-fourths majority approve the change, it is allowed to take place but it must be announced and documented on video uploaded to YouTube and Richard Stallman has to personally come and supervise the coding session that day. It must also be added to the 'help' menu, under IMPORTANT UI ELEMENTS THAT HAVE CHANGED IN THE PAST DECADE - at the top of the menu.

That's just what UI changes could use. A little red tape to slow them down.

Hey, remember, this is all in the name of "attracting new users to Blender." You know, that's you people's Holy Grail. I could care a rat's hat. This happens every single solitary time I use Blender to do anything at all. I can deal with it. But since I'm experienced, I could go take a long walk on a short pier. But please, in the name of New Users, do not make them crazy.

End example of what the crazy man is ranting about.

So getting back to the Great Blender Survey, scrolling to the end, what's the first action plan proposed by the survey-taker? They hold up their Don-Norman-blessed edition of Don't Make Me Think and start chattering about changing the interface on the website, as if the whole survey just went through them like chili through a cat.

Somewhere, there's a planet where somebody saw the result of this survey and said, "They should just quit obsessing about interfaces for awhile and just leave them alone. If they did that, every other problem would fix itself in five years."

That's the planet I should have been born on. But I missed and hit Earth instead, damn all of you.

And for all the fans of Don't Make Me Think, the French have a great invention to help you to stop thinking. It's the guillotine. It's designed to rid you of the troublesome organ that does the thinking.

Space Ghost and his coffee

Follow me on Twitter for an update every time this blog gets a post.
Stumble it Reddit this share on Facebook

Are All SEO Marketing Experts Completely Insane?

Date/Time Permalink: 07/19/10 05:09:35 pm
Category: Reviews

I had a chance to catch Craig Buckler over at talking about 10 Common Mistakes Made by Novice Web Developers. Bullet point #9, "Scorning SEO," caught my eye. As Craig says, the way SEO is presented as "a mixture of psychoanalysis, technical complexity, and mysterious black arts," it's no wonder that novices scorn it.

Working as an online freelance writer, I have gone over the years from tolerantly humoring clients who want SEO magic, to strenuously warning clients that what they want is witchcraft, all the way to flat-out bolting from a client the second the subject comes up. Even if you're waving fistfuls of cash in my face and offering a sports-car as a signing bonus, merely mentioning SEO will suddenly cause me to realize that my schedule is way too full to accept new clients right now.

It's no longer a business question. It's just disturbing and scary now. I've become an SEOphobiac. It's like watching an emo cut themselves every day. Even if it's their body and you're very liberal, you eventually just don't want to watch any more.

Just browsing off the top, here's some of the amazing nonsense I see SEO people preaching. I'm not going to link to examples because I'm not singling people out and don't want to... upset them... but see if you recognize these:

One guy says that one-page sales-letter style sites work best of all. Think, when's the last time you saw one of these? You know, the kind "direct marketers" had on places like GEOCities? He goes on to say that this is because every time you force a user to click to a different page, more of them abandon the sales letter. How would you prove this? And what, are visitors these robots who are kept helpless reading long pages because they are powerless to escape?

The "keyword formula." You can recognize one of these mad SEO scientists when they spout pages of scientific-sounding phrases. "Long-term SEO strategy," "focus-selected keyword phrases," "optimal keyword attack formula," "backlink normalization," "optimally-related keyword phrases." There's this percentage, you want your content to have X% keywords. How much? 15%. No, wait, it's 3%. Actually it's 4.0032145%. Yeah. We tested it. We wrote random numbers down and showed them to the dog until he barked at one.

Then they turn around and debunk real jargon. One guy's putting down "latent semantic indexing," he says it's all hooey. To summarize in the quickest way, to avoid bringing actual tears of boredom to your eyes, it has to do with putting search terms into context. Like when you type in "hound dog," it should try to figure out from other words in your query whether you want the dog breed or the song made popular by Elvis (but written by Leiber and Stoller for Big Mama Thornton!). Anyway, this guy puts it down. Why? He says so.

People hate SEO because it works. Man, I'd love to link to this one, because it wins the circular reasoning prize if ever there was one. It also goes on to say, that SEO works because there's a market for it, that Google is lying about not liking SEO because Google hosts Webmaster Tools, and that it's the search engine's fault that we have to use SEO. This goes on for paragraphs. The same guy also uses "SEO" interchangeably as a noun, verb, title, adjective... "SEOs SEO their SEO SEO."

The limit to get into the first page of Google results for competitive terms is two years. Once again, how can you possibly substantiate that claim? I know legitimate websites that have been around for a decade that don't front-page for anything, despite books' worth of content, and yet, if, say, I started a new site about 'malignant mesothelioma' and got enough people on Digg to link to it through buying votes, it could pop to number one in a week. I just searched for that exact phrase and got one site on page one that whois says was created March 2009.

One guy says he uses a software tool to spy on his competitors and what "link baits" they are developing! Wow, that's pretty good. It reads minds? Right through the tin foil and everything?

Link exchange still works in Google. You see this insistence on clinging to decade-outdated tricks everywhere. No it does not work, Google says so. What do the nay-sayers do to back up their counter-claim? They just stand there going "Does too! Does too! Desu desu desu!"

And one guy announces the stunning discovery that you can improve the situation for a page ranking PR-0 by getting more links to it. Hey, finally, something that's definitely true! Of course, knowing that fact isn't the problem. It's like saying "water puts out fire." And all these years you've been using rubbing alcohol, you silly goose.

Woo, n., "a term used among skeptical writers for pseudosciences with certain common characteristics." To understand the spirit of this term, say "Wooooooooooo!" while making a fishface and dancing your fingers in the air, as if you were making fun of somebody for believing in ghosts. Now explain to your co-workers what you were just doing.

SEO is so infested with woo, you can mine it all day long and hardly come up with a true fact to show for your trouble. You really can't prove anything right and wrong most of the time. You can use common sense, though. You can simply ask, "Would a search engine that allowed itself to be easily gamed remain popular for long?" Let the implications of that hang in the air for a minute.

Perhaps it's just inexperience. Search engines have been big business for only about 15 years now, tops, and only about 12 if you count the dawn of Google as the start of the serious SEO arms race. It's the pioneer days, but time isn't going to heal this wound. I can tell, because I see the woo pile up and get worse every year.

You just have to wonder...

night-night twilight

Update 11/27/10: And here's 5 terrible SEO tips, which goes to show how much snake oil there is being pushed out there. About half the SEO "experts" you'll find out there still believe in keyword stuffing, cloaking, and link farming.

Follow me on Twitter for an update every time this blog gets a post.
Stumble it Reddit this share on Facebook

Adobe's "Magic" Is Gimp's Old Plug-In

Date/Time Permalink: 03/27/10 12:26:30 pm
Category: Reviews

Suddenly the graphics world is all atwitter about this miraculous new feature they're previewing in Photoslop. A Photoslop team guy has a video up with a "sneak preview" of what they're calling "Content-Aware Fill." As soon as I saw it, I remembered some plug-in that I'd tried in Gimp long ago, but couldn't remember what it was.

Then I saw the Real Uqbar post about Gimp's resynthesizer, and the light went on again. Here's the home of the resynthesizer plug-in, and here's a Gimp resynthesizer tutorial, just one of many.

On Ubuntu, I installed gimp-resynthesizer from Synaptic and was up in seconds. But what is resynthesizer good for? Well, let me put on my Gallagher hat:

"The amazing Mastertool Corporation, a subsidiary of Fly-By-Night Industries, has entrusted - who? Me! - to show you the handiest and the dandiest kitchen tool you've ever seen, and don't you want to know how it works? Well first you get out some ordinary apples. You place the ordinary apples between the patented pans. Then you reach for the tool that is not a slicer, not a dicer, not a chopper or a hopper - What the hell could it possibly be?"


Can it make the knothole in this barrel disappear?

barrel before-and-after

Yes! It is just that easy! Can it remove this stupid caption?

stupid caption before-and-after

Yes, given that I color-selected the white text, grew the selection by four pixels, and then ran with both horizontal and vertical tiling turned off, the results are stunning without even the need for touch-up! It is just! that! easy!

I also notice that I inadvertently killed the highlight dots in his eyes, too. Because they were the exact same shade of white - what a coincidence! So now his eyes are less shiny and he looks kind of mad at me for doing that to him.

But can we remove floating debris from this reflective water surface?

river before-and-after

Yes! Those unsightly stray branches are gone without so much as rippling the water surface! But can you remove George Bush's nose?

nose before-and-after

Yeb! Yeb, do cad deboob Deord Bud'd's dose, add ded do cab bap hib talg fuddy.

But wait! Don't tell me! No, it cannot be! You couldn't possibly... make an entire battleship vanish???

battleship before-and-after

Yes indeed! While we clearly have some manual smoothing left to be done to the horizon (just copy 'n' paste that chunk to the far right over the rough patches and finger-smear out the seams, it's good enough), you have to admit that that was an amazingly smooth vanish for compensating for one-fourth of the image's area! As a bonus we removed the two buoys floating in the foreground because, heck, why not?

Follow me on Twitter for an update every time this blog gets a post.
Stumble it Reddit this share on Facebook

Gnome is Rapidly Becoming My Least Favorite Desktop

Date/Time Permalink: 10/11/09 02:59:53 pm
Category: Reviews

Part of my motivation when I made the big switch from Slackware to Ubuntu was a desire to step out of my comfort zone and give something different a try. And while I've warmed up to Ubuntu - heck, I even like it at times! - I'm still cold on Gnome.

For reasons like this:

Gnome sucks

Such a simple thing! I want to hit F11 and have Emacs open. Gnome's set-up already has slots for starting web browser and terminal, so I'm able to have half of the default key scheme I've had for going on a decade now. F12 starts gnome-terminal and F10 starts Firefox, leaving the F11 key dead like a missing tooth.

As you might guess at this point in the whine, try it yourself. No emacs! Changing the command to just plain 'emacs' doesn't work. Restarting Gnome doesn't work. Disabling every single other keyboard shortcut doesn't work. For the record, 'F9' doesn't launch ABIWord, either (you can see I tried that in the screenshot, too), but one problem at a time.

Googling gets you a recommendation of a package called 'keylaunch.' I check - yes! Install the Ubuntu package, list 'keylaunch' to start when Gnome starts, create my .keylaunchrc file, follow the instructions I Google up, list the key and command, log out and restart Gnome... F11.


This helpful guide I found on keylaunch does just happen to mention that Gnome has a special problem with keylaunch, but even this salty expert author only seems to have a hazy idea. I start the terminal (F12) and type 'keylaunch' and get back "X Error of failed request: BadAccess (attempt to access private resource denied)" just like it says. The author at that link advises me to kill Nautilus.

Fine then! F12- "ps aux | grep nautilus", kill the process number... try it again... Nothing. Restart the terminal, type keylaunch again, and get the same error! "ps aux..." again, but no Nautilus. Now what? At first I only had no Emacs-on-F11, but now I have no Emacs-on-F11, no keylaunch, no Nautilus, and no idea. Chances are it used to work back when this guide was written, and then Gnome broke it some more.

I'm tired of working on it. It should have done what I told it to do way back up there at that dialog I pictured at the top. Why put the empty promise of a control you're not going to let the user have?

Gnome wasn't so bad back in the Red Hat days (before 9.0, which is the last time I used Red Hat). But with each subsequent release, it gets more and more Windows. It's like watching a grown college-educated person regress back in time until they're a toothless crawling baby.

True, it is simple to use - as long as you are an idiot. But the second you try to do anything un-idiotlike, you discover there's a straightjacket holding your arms in place. You're going to be spoonfed, whether you like it or not.

Here is what is wrong with Gnome, and it is the ultimate crime you can have any piece of software do: It gets in your way. It fights with you.

Like replacing the names of your old familiar programs that you grew up with with descriptions:

Gnome still sucks

...because sending you hunting through the alphabetized list of menu entries until you have to guess that 'text editor' means 'gedit' is preferable to having somebody who is unable to guess what a program with the string 'edit' right in the name does be afraid to click on it.

Like replacing the perfectly-good xscreensaver-demo with its own screensaver app:

Gnome still sucks

...which takes away the custom settings for screensavers. Why? Are you afraid somebody's going to hurt themselves with it? Even Windows allows customization of screensaver settings, and when you're even more dummified than Windows, you've got a problem!

This is just the example I mean. There is no reason why you shouldn't let the user use any key to do anything the user damn well pleases to, whether Nautilus is running or not. There is no reason, at all, at all, at all. You can do this in any programming language, on any platform - you can do this in raw X and in the most primitive window managers such as TWM and the *box series. In Fluxbox it's one line in a text file!

Therefore, Gnome puts extra stuff that gets in your way to stop you from doing that. "Leave that to mommy; you're not old enough to run Emacs anyway. Now open the hanger - here comes the airplaaaaane! zoooooom..."

Follow me on Twitter for an update every time this blog gets a post.
Stumble it Reddit this share on Facebook

Public Service Announcement To Those Selling Computers On Craigslist

Date/Time Permalink: 07/05/09 04:28:56 am
Category: Reviews

Hello, I am a geek. I am your market.

Look around. See anybody else with me? It's just me. I can say this because business users buy their computers through other businesses. And the non-geek home users only feel secure buying their computer the same place you did.

It's just me. And I'm exploiting my position on purpose.

I am, in fact, the most arrogant, condescending, self-important, insufferable computer geek you have ever met. I will dispense with the list of my credentials - suffice it to say that as far as you're concerned or will ever be able to comprehend, I make lightning shoot out of my fingers, have scrolling program code in my eyeballs, and can tell you what Google dreams about in its sleep.

My sole interest in your machine is to wipe its hard drive, exorcise the Demons of Microsoft from it, install GNU/Linux or BSD on it (or something else you've never heard of) and add it to my growing hacker den of a home network.

Even without the building-up-my-power part, scraping consumer garbage off of every computer I can get my hands on and installing Linux on it is something I like to do anyway, even if I'm not going to use said computer. It's how I mark my territory.

Here's a few tips on getting me interested in your dusty old stuff:

(1) No used computer, unless it's only movable by forklift, is worth more than $200. I don't care if you bought it today. It's used now, and I could build one just like it from parts for $200. Therefore, to make your complete system as attractive to me as one I could build from brand-new parts, it has to be priced at $199 or less. The cash savings to me are a side-benefit of not having to order parts and wait for them to ship, plus labor.

(2) No used mobile device is worth more than $50. Laptops, phones, PDAs, media players, etc. That's because these devices are not (generally) designed to be disassembled and reused for interchangeable parts, so either it's useful as a whole to me or it's trash. Most mobiles lack the raw power that I need.

(3) Monitors, by themselves, are worth: Nothing! El zippo! Nada! Corporations give monitors away by the dumpster-full! Better monitors than what you have are what those tall office buildings downtown have to pay $20 each to dispose of, because of the environmental impact.

(4) Other parts, by themselves: Usually not worth much. Keyboard, mouse, speakers, external drives: $0. Other peripherals might be worth a $20.

(5) Any - ANY ANY ANY - computer or computer-related electronic equipment which is older than fifteen years is worth ZERO. The exception is the rare collector's item (NExT cubes, Amigas, BeBoxes, some PDP/Vaxen) which are far too rare for finding on Craigslist, anyway.

(6) I don't give a thin damn what software you have installed on it. That's all going to become blank disk sectors five seconds after I get my hands on it. I hope you made your final peace with your precious Bonzi Buddy, because it's going to the Great Bit Bucket in the Sky.

(7) Brands that are NOT hot items: eMachines. Compaqs. Gateways. When I see brand names like this, I think about welfare checks and trailer parks. It is not something to brag about to say that your computer is an eMachines. eMachines are the kind of thing they give away in a box of cereal.

I say all this because... Here's some quotes from a day last week:

* "Apple Macintosh Plus, External Drive, Keyboard, Mouse + - $90" - From what, 1987? Its only value is nostalgic entertainment, which is worth driving over to pick up for free if you live really close.
* "Laptop Battery - $10" - That's it, the battery? Did you find it on the ground?
* "Great Gift for Dad WD Elements External Hard Drive 750 GB NEW - $100" - If my kid blew a Franklin buying me a tiny piece of a computer, I'd be stricken with grief for having raised such a fool.
* "Apple Macbook- Barely Used! - $900" - I just checked Google and found one for $609 from GainSaver - BRAND NEW AND WITH BETTER SPECS THAN THE ONE IN THE AD! And speaking of specs, this ad had "McCafee Virus Scan [sic]"... I'm wondering if this person even knows for a fact what they have. Maybe it reboots when you turn it upside down and shake it.

What's gotten into everybody all of a sudden?

This never used to be a problem. I used to find second-hand machines on Craigslist, get them, rehabilitate them in the name of Truth, Justice, and the Linux Way, and sleep happy knowing I saved another space in our overcrowded landfills and helped reduce the collective carbon footprint.

Then the US economy crashed, and, apparently, the new fad is to dumpster-dive and pick through your neighbor's trash, saving every rotten banana peel and moldy cantaloupe rind you find to try to sell on Craigslist or eBay. Anything free, even dirt, gets snatched up and taken down, reappearing minutes later with a new ad: "Top Quality Fill Dirt - $50/pound!!!"

I'm picturing a late-night infomercial driving this. Somewhere, there's a pitch called something like "$ecret 2 Riche$", charging suckers forty beans a pop to find out how they can "turn trash into treasure" - make up to $500,000/week! Hoarding - it used to be a mental illness, but now it's an exciting new business plan! It's that buzzard who does those "Video Professor" computer-training DVDs, isn't it?

Anyway, sorry, no, you cannot get rich selling trash. Scavengers are a non-exploitable demographic. What they do is just give up on reading any ads for a while and go back to dumpster-diving themselves. For further enlightenment, consult the law of Supply and Demand.

high supply low demand

Follow me on Twitter for an update every time this blog gets a post.
Stumble it Reddit this share on Facebook

Eight Reasons Why Fluxbox Is My Favorite Desktop

Date/Time Permalink: 04/05/09 04:06:31 pm
Category: Reviews

It happened again, this time at Tech Republic. They ask the question "Which Linux desktop would you show to a new user to impress them?" and the answers are limited to 3 versions of KDE, 2 versions of Gnome, 2 variations of Enlightenment... and Fluxbox once again is left lurking in the shadowy anonymous depths of the dreaded option "other".

What the hell does Fluxbox have to DO to get some love around here?

Fluxbox logo

For that matter, what does Window Maker, FVWM, iceWM, and the other diverse Linux-native desktops have to do? You occasionally find somebody who stumbles upon the inconceivable notion that XFCE exists alongside KDE and Gnome, but basically Linux desktops suffer from the same misconception that plagues the rest of technology: binary thinking. There is a maximum of Two (2) choices in any topic, because one brain can't seem to handle the complexity of thinking about more than two. (Microsoft or Apple, Mac or PC, Visual Basic or C++, Democrat or Republican, Coke or Pepsi, God or Devil) Even Linus Torvalds seems to not be aware of anything beyond KDE and Gnome.

Well, bust that. If you haven't tried Fluxbox yet, you don't know what you're missing, and here's why:

#1: FAST!!!

There's a very good reason why Fluxbox is the default desktop in lightweight Linux distros like Damn Small Linux: It is one of the fastest desktops out there. You can't appreciate what a difference this makes until you try the same program on either system. You know when you start Firefox on KDE and you have a few minutes to twiddle your thumbs while the system crunches until it displays Firefox? That doesn't happen on lightweight window managers like Fluxbox. Click - BAM! - it's open. Fluxbox is also ideal for old hardware and new hardware with limited resources, for this reason.

#2: Stylish

Now, point #1 could hold just as well for Blackbox, IceWM, heck, even Ratpoison. But Fluxbox takes the extra step of making the desktop look good. XFCE can look good in a tasteful cute way and KDE always looks good in a flashy, gaudy way, but only the Fluxbox desktop can consistently be described as "sleek and sexy".'s own screenshots page doesn't even do it justice; check out the shots at DeviantArt, a site which owes its roots to the software skinning community. Box-Look also sports some Fluxbox theme bling.

#3: Simple

With all the complaints you hear out there about Linux being hard to learn, this should be an especially compelling point: you can learn Fluxbox in about a day, period. There's a man page, another man page on creating your own theme, a few text files in your home directory under the '.fluxbox' menu, and that's it. If you want extra features, there's third-party downloads galore. The whole system is set up with the 'plug-in' mentality. It has far fewer features than its competitors, but you can add what you need and not be annoyed by having the features you don't need. The first rule of design is that it is uncluttered, even to having no desktop icons by default.

#4: Easy text file setup

Don't knock the text file method until you've tried it! For example, to make your own menu, you only need to know:

  • System-special commands get square brackets [].
  • Titles for entries get parenthesis ().
  • Programs to be launched get curly brackets {}.
  • System-special commands include [begin] [end] [submenu] [separator]. There's others, but the system includes them by default at the end, and there's no reason to mess with them.
  • You can include program-specific options between the curly-brackets {}. Anything you'd type from a command-line to launch something can go right into the brackets.

An excerpt from my own menu:

      [exec] (xscreensaver) {xscreensaver-demo}
      [exec] (CDplayer)     {gnome-cd}
      [exec] (Totem)        {totem}
      [exec] (pickBG)       {~/code/script/wish/pickBG}
      [exec] (     {~/code/python/}

[submenu] (Office)
      [exec] (Abiword)      {abiword}
      [exec] (Gedit)        {gedit}
      [exec] (Evince)       {evince}
      [exec] (NVU)          {/usr/local/share/nvu-1.0/nvu}

...and so on. Begin a new submenu with [submenu], end it with [end]. There, you've learned menu editing. It even passes the Notepad test. How long did it take you to figure out menu customization in KDE and Gnome, or, God forbid, XFCE?

#5: No default keys

This is a pet peeve I have with other desktops. A, well, kind of flaming pet rage, actually. Especially with KDE, whose developers are absolutely DETERMINED to define a default action for EVERY possible keyboard combination you could ever think of, no matter how piddling and pedantic that action is. Alt-shift-tab-SysRq? No, they thought of that one too. That's the command to make it unmount all USB media while changing the desktop icon theme to Pumpkin Pie while whistling "Singing in the Rain" and readjusting your monitor to 640x480. Here, look at this screenshot from a recent KDE system:

Somebody's a real smart-ass

I've never seen a keyboard in my entire life that has an F13 key, but if we invent one, Trolltech has already pounced on it and demanded first dibs. You know what happens when we define every action for the desktop? There are no keys left for applications. I can't hit a key in a program without KDE going, "Oh! He wants to change the theme! Quick, stick a big, fat, slow dialog in his face on top of his application!" You know what it takes to disable keyboard shortcuts in KDE? Click each one and then confirm the "Are You SUUUUURE?" dialog one at a time for all 16,491 key combinations. You could replace waterboarding with this.

Fluxbox doesn't do this to me. So I'll just have to get my abuse the old-fashioned way, from paying a dominatrix.

#6: Tabs

Another pet peeve I have is programs which don't understand the concept of tabs. Gnome is better about this; both Gnome Terminal and the text editor GEdit use tabs for opening multiple sessions/ files. For those programs which haven't joined the 21st century yet, Fluxbox has this little tab it sticks onto a window, which you can drag onto another window's tab and poof, they become one united super-window with as many applications or files as you want. It can also let you specify windows to auto-group whenever they open. Here's an example of the Gimp, with tool options tabbed to the main panel and six image files tabbed together:

500% smarter than other window managers

Considering how many people out there complain about multiple windows being opened, this is quite a perk. That's Fluxbox design in a nutshell: so smart, it even makes up for the shortcomings of other programs.

#7: The Slit

Let me try saying this with a straight face: Do you want to see my slit? Here it is:

Surprisingly clean, isn't it?

The slit holds dockapps, those cute little square programs that also run in the panels of Gnome, KDE, and XFCE desktops and in the Window Maker dock. With Fluxbox, the slit can be hung from any edge of the desktop space in any direction, can be themed, can be made transparent, and can be made to auto-hide and pop up on mouse-over. Once again, it's smartened up with a minimalist design with plug-ins you can add.

For those who will ask: The slit is showing pclock (clock), wmmemmon (RAM monitor), cputnik (CPU monitor), wmhdplop (disk read/write monitor), wmnet (network monitor), and wmix (sound volume control). Also before anyone asks: Dockapps are a mess! Some are packaged with distros, some have to be compiled, some need to be updated... You're on your own! Until either gets updated or somebody whacks together a one-stop distribution point that's as easy to use as Firefox's add-on site.

#8: It gets out of your way!

What other annoyances doesn't Fluxbox have? It doesn't take extra time to start up with a splashy opening. It doesn't declare 1000 dumb sounds for every trivial event (KDE, 1000 confirmed dialogs to disable, waterboarding, dominatrix), it doesn't require a whole suite of programs to go with its environment... it does exactly what so many interface pundits out there say they want: it's happy to be invisible. Two days into your first Fluxbox trial, and you will forget it's there!

PS: While I'm on the subject, there is the XWM Guide I have on this site. It's about three, maybe four years out of date by now (since I ported it from an old site). It's badly aged and on my list for an overhaul. So, yeah.

Follow me on Twitter for an update every time this blog gets a post.
Stumble it Reddit this share on Facebook

Weather Forecast From the Command Line

Date/Time Permalink: 02/02/09 05:35:42 am
Category: Reviews

For years, I've been getting my weather from Firefox plug-ins, usually ForecastFox. The trouble with these is they have to update every few minutes, causing a brief lag in bandwidth and even a small blip in performance if you're using some other program while Firefox is running. Recently, my ForecastFox started misbehaving for no particular reason. It would blank out and freeze up and so on.

So I decided to uninstall it for now and explore alternatives. True, I could just bookmark the local news weather page and be done with it. But I like something that would run in the background, use the minimum of resources, and not be dependent on running a web browser. So I explored command-line options.


The first I found is weather-util, a Python script done by a formidable fellow who is geek enough to have affinities for Linux, HURD, and OpenBSD all at once.

Despite the INSTALL instructions telling me to put the Python module here and the man pages there, I just plonked the whole directory in my Python subfolder and call it with a three-liner shell script, so it can stay together in one place and still be treated like an install program.

In my case the command line is

./weather -i KDSM -c "Des Moines" -s IA -f

...for Des Moines, Iowa. And follow the instructions in 'FAQ' and you, too, will know what your four-letter METAR code is.


I also stumbled on a script called "weather" on my Slackware system. It's in /usr/bin/, and it's a Tcl/Expect script that uses telnet to put weather data. Yes, you heard me, telnet. I had no idea telnet even worked anymore! The only clue to the script's origin is a comment at the beginning:

# weather - Expect script to get the weather (courtesy University of Michigan)
# Don Libes
# Version 1.10

...and leave it to Slackware to have something like this lurking around. Anyway, I went root and edited the line:

if {$argc>0} {set code $argv} else {set code "WBC"}

Changing WBC to DSM for Des Moines... which was a completely lucky guess.

The Wicked-Cool shell script option

Since I have a copy of No-Starch Press's "Wicked Cool Shell Scripts", I'll go ahead and mention this script which checks Accu-Weather from the command line. I remember trying it on another box a while back and I seem to recall it worked OK there.

The only problem with any of these is that there's a minute lag in getting the data. This could be solved, if I get that picky, by setting a cron job to run the script every hour or so and save it to a text file for easy catting.

Now while we're on the command line, it'd be nice if somebody drew an ASCII map of the state:

    |                                  |                          |            
    |                                  |  MS                       )            
    /                                  |                          [             
   |                                   |                          [            
   |                                  I35                          ---         
    \              SL                  |                              \       
     [                         FD     /           CF                   \-\      
     [                                |            WL                     \    
      \                               |                                    \   
       \                             AM      MT             CR              \ 
        |                             |                                     ] 
        \                             |                                      ] 
         \                            |        ______________IC_____________/   
          \             ___I80________DM______/                       DP----   
           |___________/            |                               ---/       
           |                        |                              [            
           |CB                      |                               ]          
            \                       |              OW               ]          
            |                       |                              /           
            \                       |                             /            
             \______________________________________________     /             

And then somebody else could come up with a way to make the radar map be ASCII too, and you could just represent the precipitation with clouds of #'s rolling across the map...

Oh well, that would be *too* geeky.

Update 1/5/10 This old post no longer applies, as I now run Ubuntu and run a Gnome panel applet for weather info. However, here's the latest thing in command line weather, this time with RSS and PHP. The torch has been passed!

Follow me on Twitter for an update every time this blog gets a post.
Stumble it Reddit this share on Facebook

CrossOver Games for Linux Running Diablo 2

Date/Time Permalink: 11/30/08 09:31:50 pm
Category: Reviews

For those of you wondering where the blazes I've been - this should answer your question! Between the manic pace of pre-Holiday-season work and getting back into Diablo 2 again, I haven't been much good otherwise.

The back-story is that I saw the post on Slashdot where CodeWeavers was giving away licenses to CrossOver for a limited time. So I'd been curious about it, but not urgently. This was just the time to try it.

Got the coupon-code and downloaded it and installed it, but I was stuck for what to do with it. Most anything Windows-based I'd already gotten running on Wine or DOSBox over the years? What's left? I wanted a real challenge to put CrossOver through its paces. Then I remembered that I still have the full Blizzard's Diablo 2 + LOD expansion disk set and dug it out.

It runs like a dream! My hints for CrossOver are to go ahead and try something even if it's not listed as being officially supported, check the Wine database for clues as to what you'll run into for that program, and learn the concept of bottles really well.

A bottle, as documented by CodeWeavers, is simply the container for a program or set of programs. As opposed to Wine, which puts everything in /drive_c/, or DOSBox which mounts whatever you tell it to as the C:\ folder, CrossOver lets each program think that it has "Windows" all to itself. You can install more than one program in a bottle, of course, which is necessary to do things like get the whole Diablo 2 thing in there.

This pains a lot of people, even on Windows, so I'll describe it here. For getting Diablo 2 going, choose the FULL install of all three disks, exit, use CrossOver's "run Windows command" option to install the official D2 1.12 patch from Blizzard, install the LOD expansion disk, exit, do the same for installing the official D2 1.12 LOD patch from Blizzard. Many users online complain about the game not finding the disk. This is a bug which is fixed with the patch. Do not try to fix it with "no-CD" hacks and moving files around, they will not work. There's lots of bad advice from script kiddies out there telling you different.

One more common complaint, especially trying to run it on Linux, is lousy performance. The game will freeze or be very slow and the sound will stutter. This is caused by picking the wrong option at the end of the video test. Run the video test and no matter what it tells you, pick the top 2D option. See image:

the answer to your problem

After you have all that going, have the LOD play CD mounted and start Diablo 2 LOD through CrossOver. During play, I've even been able to switch to a different virtual desktop (how I got Gimp to take the screenshots) and consoles (how I'm writing this), with no issues; D2LOD will be minimized when you come back to it, but still running fine. I've got it running smooth on hardware from the turn of the century, even with Firefox and Emacs running with it at the same time.

So now that we're on the subject, I'll be the typically self-indulgent RPG geek and bore you with the gallery of my character builds in Netha- , ah, Diablo:

Lucky the Barbarian

Lucky, level 16 Barbarian
specialty: combat masteries

I named him lucky because I hope he'll be a good little magic-finder some day. Right now, though, he's not very exciting. I'm trying to keep him as focused on pure passive masteries as I can, because I'm tired of characters who are mana pigs.

Lupina the Druid

Lupina, level 24 Druid
specialty: lycanthropy, wolf summoning

Obviously, a wolf motif. His sword is a gladius with the Runeword 'Steel' socketed, which helps with his attack. Probably going to go all the way.

Marrow the Necromancer

Marrow, level 18 Necromancer
specialty: bone skills, skeleton summoner

My billionth-or-so attempt to build a pure skeleton necro that will be able to play all the way through the game. Yes, I know necromancers suck and skeletons are weak. I'm stubborn that way. He was pure hell to level until 18, when he can finally use bone spear; now he rocks. I have the unique helmet 'Wormskull' ready for him when he makes level 24.

Vanity the Assassin

Vanity, level 32 Assassin
specialty: traps, shadow skills

My advice if you want to play through the whole game as a single player is to use the insanely-over-powered assassin, as long as you:

  1. avoid claws and martial arts skills like a necro avoids poison dagger.
  2. weild an ultra-damaging melee weapon. I have the unique morning star 'Bloodrise', which is working very well.
  3. do not melee, but use Blade Fury (in traps) for your main attack. Blade fury uses 3/4 of your wielded weapon damage. Counting damage mods from charms and such, I'm currently doing 77-120 per shot, which makes it the most damaging skill in the whole game for a paltry 1.8 mana.
  4. pump Burst Of Speed (in shadow skills), which also boosts your attack speed. Add any gear that increases both running and attacking speed.
  5. add skill points in the Shadow Master summon, keep a few traps handy for backup, and keep your Act I rogue mercenary.

Course, I haven't been into Diablo in years, so it's slowly coming back to me. Anyway, I've tried CrossOver on various other sundry little tasks and it performs excellently. It's very well-behaved, and is less clumsy that raw Wine. It's actually kind of a front-end for Wine, so I assume anything Wine can do, CrossOver can do, with much less work. I don't know if I'd be using it if I hadn't gotten it for free, since my need to run Windows software on Linux is not that urgent, but for those out there aching to do so, CrossOver is a good solution.

Yours truly, happily level-grinding through the holidays (until I get tired of it again)...

Follow me on Twitter for an update every time this blog gets a post.
Stumble it Reddit this share on Facebook

A Little Talk About Google SketchUp

Date/Time Permalink: 06/04/08 12:25:51 am
Category: Reviews

A motto of mine: To keep your sanity and balance, break your own rule every great, long, once in a while. So, on a site devoted to FOSS, while being a raving FOSS zealot, I will now kind of, sort of, review Google SketchUp, a proprietary graphics application.

I have yet to blog in detail a philosophy about open source and quality which I have called "Tools vs. Toys". But briefly, my rule of thumb is that if it is a Tool, (editors, operating systems, programming languages, mission-critical apps) it must be open source or it is not worth the memory bytes to store it. Toys, on the other hand (games, video, music, entertainment), have near-equal quality regardless if they are proprietary or open source. I've been able to comfortably keep that philosophy intact for years, but Google SketchUp challenges it.

I used the (beer) free version of SketchUp 6.To get it running, I used the Wine Windows-emulator. This blog post, complete with the comments, was all the help I needed. Specifically, I ran the setup program, installed Gecko on the second run, and then used Wine's regedit program to make changes to the HKEYs as the comments specify. It doesn't do any good to describe this further, because FSM knows what's going to happen on your system, and mine is so tweaked and hacked it isn't even Slackware any more.

SketchUp did finally run. I should say it "walked". It is indeed insanely buggy on Linux. I've gotten it to crash at least a dozen times, several triggered simply by mousing over the menu and once when trying to export an image to PNG. It takes a lot of patience to keep going when the UI does this:

Google SketchUp on Linux

Here's what you're seeing: Any mouse click causes the entire buttons-and-menus area to black out. To make a button appear again, you have to mouse over it. The menu headers never show up at all, but a click to the invisible black space makes a drop-down appear anyway. In addition, all of the cursors show up in the editor window with a white box around them, and each shape of cursor has its own unique hotspot, which you can't see when it's on the pixel you want because there's white box in the way. I couldn't begin to figure out what the problem is, but I'm thinking it's something to do with GTK??? And the fact that I'm emulating Windows software on Wine in Slackware in a hacked-up environment?

Anyway, despite the problems, I followed the excellent video tutorials and managed to crank out a few decent "Hello World" images.

Google SketchUp on Linux

Google SketchUp on Linux

Google SketchUp on Linux

The only way I could use these models in production, since it crashes when I try to export to PNG, is to take screenshots in Gimp, mask out the beige background, and then work from there. Here's that last building imported into Inkscape and vectorized:

Google SketchUp on Linux

SketchUp has strong points and weak points. It is indeed fantastically intuitive to start using and even very fun, but once you start pushing it to create greater works, it starts letting you down. For instance, it's easy to carve a block down to a curved shape, but only in one dimension. Let's say I wanted to make the top piece of this chair back:

Google SketchUp on Linux

It's easy enough to make the front profile:

Google SketchUp on Linux

And also easy to carve out the curve from the top:

Google SketchUp on Linux

But it is impossible to do both at the same time:

Google SketchUp on Linux

UPDATE: A big penguin salute to commenter "Nessunome", who reveals to us a way to do this using intersections. Complete with illustration here.

Other things (how to make a sphere) are possible, but so fiddly and non-obvious that you're very unlikely to know how to do it or even if it is possible to do. Basically, SketchUp suffers from the affliction of looking good in demos, but not holding up well in production. For one thing, to do anything precise, you have to type in numbers. Oops, look out! It's a command line! That thing that everybody but me hates! Well, if you're going to type in coordinates, you can do that in POVRay and Blender, too, albeit not in the variety of formats that SketchUp allows.

However, it does shine in some ways, even to the point of excellence. It's more of a CAD-type program than a true 3D program. It's unbeatable (presuming you can get rid of the bugs) if all you want to draw are architectural sketches, and indeed that's the stated intended purpose of the developers. There is nothing you can do in SketchUp that cannot also be done in Blender or POVRay, and indeed KDE's KPOVModeler is within an iota of having as intuitive an interface, while modeling for the 10x more powerful POVRay.

OK? You can point out the wonderful SketchUp object warehouse, and use those models yourself, but now you're just playing the Sims without the Sims part. If anybody produces the Blender-made Elephant's Dream using only SketchUp, I'll eat my mouse.

Which leads us to the inevitable confrontation: SketchUp is closed-source, proprietary, and bound to stay that way. It gets a free one-day pass on this site because Google has been so buddy-buddy with FOSS, and as a demo for those who want to run it on Linux. The reason it's likely to stay proprietary is because it has... PATENTS! Yes, the patent flying-monkeys are coming out of the sky to get you; run, Dorothy, run! At least, the "Push/Pull" tool is patented - this is what you use to pull a square into a block and a circle into a cylinder.

Well, is this prior art? Here I am doing the same thing in Blender, using "extrude":

Google SketchUp on Linux

And I can move it any old way I want here. For that matter, Inkscape has an extrude tool, too, and it ain't even blinkin' 3D!

There are many aspects to Google SketchUp that are just plain derivative of other 3D drawing editors; it's just that Google brought these elements together in a thought-out way to provide a uniquely low-barrier interface, which is actually the kind of thing that Google does best.

So, there's something to say for G SU. Sadly, there'd be a lot more to say for it if it was (a) open source so we could fix it and extend it, (b) ported to Linux natively, and (c) not patented. I'm not one of those trolls who go around pointing at Google saying, "They're gonna turn evil any moment!", but reluctantly, I have to say here regarding SketchUp, "Google, this is one rotten fart in your otherwise lovely flower garden."

/*                                                                       */
/* -__ /\\                                     -__ /\\          ,        */
/*   ||  \\               _          '           ||  \\        ||        */
/*  /||__||  _-_  \\/\\  / \\ \\ \\ \\ \\/\\    /||__||  _-_  =||=  _-_  */
/*  \||__|| || \\ || || || || || || || || ||    \||__|| || \\  ||  || \\ */
/*   ||  |, ||/   || || || || || || || || ||     ||  |, ||/    ||  ||/   */
/* _-||-_/  \\,/  \\ \\ \\_-| \\/\\ \\ \\ \\   _-||-_/  \\,/   \\, \\,/  */
/*   ||                  /  \                    ||                      */
/*                      '----`                                           */
Follow me on Twitter for an update every time this blog gets a post.
Stumble it Reddit this share on Facebook

<< Previous Page :: Next Page >>
suddenly the moon