Penguin Pete home page

"Doomed to Obscurity" - New Web Comic Launched

Date/Time Permalink: 01/01/09 12:51:49 pm
Category: Site News

For a New Year's Day surprise, I'm finally launching the webcomic I've always wanted to do. It's called Doomed to Obscurity and if you give it time, it'll grow on you. Strip #1 is up today; subsequent strips will be published every odd-numbered calendar day. That's the rule.

  • Holidays? Yes, holidays too.
  • Does this mean when the month ends on the 31st, you get another strip the next day on the 1st? Yes it does.
  • Friday the 13th too? Yes
  • Leap Day too? Not that it applies this year, but yes.
  • Why such an unusual rule? Because nobody else does it. I like it quirky. And it's a good compromise between easy enough that I don't miss a deadline, and regular enough to keep readers.

As hinted by today's date, this is a New Year's resolution. I will be keeping up the posting schedule all 186 odd-numbered days this year. I already have a buffer of strips drawn in advance, so I'm already ahead. I have a whole cast pre-drawn. I have no excuses.

This is all in Inkscape, and with characters, props, and templates already saved in SVG, reusing parts of drawings becomes trivial. There's still a few details that might change over time, but then that's half the fun of a comic is watching it evolve! I've agonized the most over what graphics platform to use, but Inkscape has consistently given me the best results in what I think a comic should look like, while keeping the characters easy to pose.

I might also add some features to the webcomic's page later, but for now it's up, and that's all I promised to do!

PS My whole inspiration for this is of course to take all of the webcomic and geek tropes, and stand them right on their noses. So expect plenty of irreverence!

UPDATE Thanks to the commenters who pointed out that the images weren't displaying! I fixed the display problem and according to BrowserShots, I've confirmed correct display on every major browser but Safari and Opera 10, both on XP. Even those two might be a case of mis-loading.

Well, that was an interesting launch...

The Annual Christmas Online Games Speedlink Post

Date/Time Permalink: 12/25/08 12:05:59 pm
Category: LINKS and Lists

Just when you were all wondering if I'd abandoned the dang blog, I'll carry on my Christmas tradition of posting a list of online games and toys that I found interesting this year. Because at least I got Christmas off work!

Gallery of Computation - I love these Flash demo sites. This one has a huge gallery of experiments and explorations in Flash programming. Navigate through this swoopy spacey interface to surf the demos.

Logo in your Browser - Yo dawg! We heard you like Logo, so we put some Logo in your browser so you can hack while you surf! Sorry, it wrote itself. I tried to stop it.

Light Bot - A very unique game. You have to program a bot to walk and hop around, turning on lights on squares to complete each round. To do this, you drag and drop little icons for commands and execute all at once. Also has two functions you can program. Challenging at higher levels!

Texas Hold-Em - Since you hear so much buzz about it - knowing how to program a gambling game site is a good meal ticket for a freelancer - you might as well learn the game. This version was easy for me to learn, although I still regard Texas Hold-Em as "Poker for Dummies".

Sittin' At a Bar - Nothing special about this one - just your typical balance game. Done to promote a song single. With a song you can't get out of your head. Seriously.

Orbs - Has won my award for most innovative useful Flash toy this year. This application lets you compose a simple music loop using a few instruments in two styles and an interface that is so easy, your cat could probably use it. A blessing for somebody like me who has no understanding of music whatsoever. Uh. Anybody know a way to download these as .wav files?

My own Orbs creations:

Super Mario Flash - It's Super Mario in Flash. Compared to the 1000 other attempts out there, this one actually succeeds.

Untangle - A very original game where you move nodes to make the strings connecting them not cross. A lot more challenging than it sounds!

And while we're at it, before my work drags me away from my own site again, Eric over at Binary World has launched a web comic, making him the zillionth acquaintance to have done so while I still sit here pondering how to start mine.

Happy Holidays, you crazy, wonderful blogosphere, you!

How to Talk About FOSS Without Sounding Like a Total Dweeb

Date/Time Permalink: 12/09/08 11:55:13 am
Category: HOWTOs and Guides

If you run Linux, BSD, or any other Free and Open Source system, you know that every time you open your mouth about it in day-to-day life, you usually have to stop and explain what it means. Outside your office or school, there's everyday-type folks who have no idea that such a thing exists, and they'll all have to be taught, one person at a time.

Through the years, I've sought to balance my desire to spread technology freedom everywhere I go with the urge not to make a roaring bore out of myself. For those of you who ask things like, "How do I tell my boss about Linux?" or "How do I recommend a Linux solution to my kid's school?", here's some rough rules of thumb I've carved out over the years which allow the maximum teaching with the minimum amount of pain - for both listener and speaker.

#1. Eliminate computer jargon. I've tried every other way, and it doesn't work. No matter how simply you talk, there will be terms that somebody, somewhere, doesn't understand. Even basic concepts like the CPU, RAM, and the difference between a CD-ROM and a DVD will leave some people far behind. So practice removing as much computer jargon from your discussion of computers as possible. This is a goal to be striven for, without ever being reached. Every computer-specific term you have to use, stop and ask if the listener knows what that means. Make it obvious that you're doing so out of consideration.

#2. Use everyday analogies. We're all familiar with car analogies applied to computer concepts - they're a stand-alone meme on places like Slashdot. To explain why open source is important, I'll say that you wouldn't buy a car with the hood welded shut. To explain the importance of technology freedom, I'll point out that the TV manufacturer doesn't try to control what programs you can watch. To explain the community development model, I'll compare it to a food co-op, a worker's union, or a democratic government.

#3. Appeal to human rights. This never fails to catch the ear of the listener, but I never see anybody online mentioning it. Point it out to the listener: YOU own Linux! Right now! It belongs to you as much as it does anyone else. The same goes for all of GNU-licensed software. You have an inalienable right to control the technology in your life. You have a right to use the hardware that you paid your hard-earned money for, in whatever way you see fit. You have just as much say over what lines of code run on your computer as you do over what ingredients go into your food.

#4. Be even-handed. Lest we stray into "wake up, sheeple!" territory, we should be careful not to be radicals about it. There are other important issues in the world, too. And I don't - and never will - say that FOSS is for everyone. I think healthy eating is good for everyone, too, but I know there are some people who will live on junk food regardless of how many nutritional surveys you read out loud to them.

#5. Demonstrate it. By all means, let people look over your shoulder while you work on your laptop. The most interest I've ever gotten from people is when they see actual FOSS software in action. Just quietly go about your business, and answer the inevitable "Cool! How'd you do that?" questions.

#6. Mention who uses it. There's a dangerous idea floating around out there that Free Software is populated by a community of hippies and flakes, and the hippies and flakes who claim to speak for us will never shut up, so that misconception just has to be tirelessly fought against. Point out places like IBM, Wall Street, Google, Hollywood production studios, and of course the backbone of the Internet. Yes, people in suits and ties with jobs use it; it is part of capitalism! Not outside of it!

#7. Unix-like systems have a heritage to brag about - so brag! The first world-wide web server was a Unix-based system, the first web browser ran on Unix, supercomputers run Unix and often FOSS Unix at that, Linux is embedded in smartphones and PDAs and GPSs. Not just some - but all of the innovation in computers comes from Free and Open-Source Software. And yes, I stand ready to defend that bold pronouncement.

#8. If they're still listening, now you can list the benefits. Here we can cut in the usual spiel delivered online: it's more secure, it's more stable, it's often free-of-charge, etc.

#9. Know when to shut up. Sure, you're passionate about FOSS, but don't let it make you a boring drone. Don't take yourself too seriously, and if the listener shows signs of closing their minds to the concepts you're explaining or seems to not be following it, just let the conversation meander elsewhere, with the assurance that if they want to know more about it later, you'll be happy to explain more. It helps to have your own website to point people to! My average pitch for Linux is down to maybe ten minutes, not allowing for questions and conversational tangents.

Drive-thru Blogging

Producing an EBook Cover With POVRay and Inkscape

Date/Time Permalink: 12/03/08 06:49:52 pm
Category: Graphics Tutorials

This is going to be half-tutorial and half-exhibition, for at least the intermediate graphics artist.

In selling ebooks, even though you're buying an electronic document that exists only in the virtual world, sellers prefer to market the book with a graphic of the book as if it were a physical object. Which has given rise to a small market for ebook cover design and renders. Here, I've produced a hypothetical example:

sample ebook

So I'll just walk you through the steps. It isn't worth pinning it down in detail, because that might change for an individual project. You might draw the cover and spine in something besides Inkscape, you might need a different size, and you might want to show a paperback or a spiral-bound book or some other design. I'm also going to use KPOVModeler and show how to do it in the GUI, since my usual POVRay tutorials degenerate into a gobbledegook of code which I'm not sure if that's lost on anybody or what. So let's try reaching the visual learners this time.

So I first draw the cover and the spine as PNG files which have dimensions of 765x990 and 100x990. Here's the aspect, chosen to mimic A4 letter size paper, and a book of about 100 pages or so:

aspect of cover and spine

But they're actually saved as two separate files. Now in POVRay, we're simply going to shape a book out of a few polygons and use the two images as textures for the front and side. Let's try to get KPOVModeler showing it. Start with a merge of a box and a cylinder.

book step 1

The two objects are textures with the flat images we made earlier.

book step 1 texture

Next we're going to cut a slice out of those two merged objects with another box.

book step 2

Last, we put another box inside of the sliced-out box and color it white. This will be our "pages" object. We could go to a lot of trouble and use a texture on top of the white block to look more like paper pages and we could also add some detail inside the top of the spine to make it look like it has binding. Those are all more painstaking details. We'll forget that here.

book step 3

Now comes the really hard part. If we just slap a white-colored plane for the book to sit on and use a default light and camera, we get this:

don't do this

God, that's terrible! To fix things so they're realistic, let's give the plane a texture instead. It will still be pure white, but with the addition of a finish which will have these tweaks:

  • ambient color: a neutral gray
  • diffuse: 1.5
  • reflexion: set the maximum to a slightly less than black shade. We only want to reflect enough light to give it a gloss, not make it look like a mirror.

The next fix is to eliminate the horizon, so we make a huge cylinder around the whole scene, camera, book, light, and all. We want an endless sea of uniform white, just like if we had a studio backdrop. We give the cylinder the same texture as the plane.

book step 4

Now we have this:

some progress

The next thing is to soften the shadow. Look around you now: you never really look at the edge of a shadow again in quite the same way after you start 3D modeling. Let's make our point-light be an area light, with many light-points spread out over a disk shape.

book step 5

Your light in the preview windows now looks like a mesh. Every intersection of that mesh represents a light source. In fact, we're making a round disk of light-emitting objects which is more like our real-world bulb. We're almost there:

almost there

One thing you'll notice is that the render takes about ten times as long to finish! That's because your computer's doing many times the work, tracing a lot more rays than it was before.

One more thing we'll do is illuminate the spine with a second light. This time, it's a plain point light, with the color set to neutral gray - the concept is called a "fill light". We're just filling in the shadowed part of the spine so you can see it, but not making it strong enough for the book to cast two shadows.

book step 6

And now for the last tweak, we're going to create a render mode that is 1600x1200, quality 11, antialiasing set to 'recursive', threshold 0.1, depth 8, turn on 'jitter' set to depth 2, and turn on radiosity. Oh, boy, is that ever going to take a lo-o-o-ong time, even on a fast machine! Go take a coffee break or even a nap; on a slower machine I just leave it rendering overnight.

When it's done, save it, then open it in Gimp and crop it down to usable size. I'd recommend saving it as a high-quality PNG, that way it will stay crisp until you're ready to use it. Scale it down and put it next to your order button on your sales page, you crafty Internet entrepreneur, you!

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

"Evil" and Technology: Not a Black and White Issue

Date/Time Permalink: 11/09/08 04:19:18 pm
Category: General

So, the other day, I'm in a lengthy discussion with an acquaintance, and as usual the conversation gravitates towards technology. I made my usual elevator spiel about Linux and BSD and FOSS, why I use it, blah blah. No, I say, it's not because "Microsoft is evil" that I use Open Source, but because Open Source is good.

Then the conversation veers - "Let me ask you a question about evil.", he says. Sigh, I go, here it comes. So he left-fields me with a question along the lines of "Do you think the government should be restricting access to encryption technology for the masses?" Theoretical question. His point is that it shouldn't.

I always get these. Questions phrased as if they had a yes-or-no answer. No, I said, that isn't the point, it's a question of logistics. Because of open source, I can make up any encryption scheme I want to and give it away and there isn't a damn thing anybody can logically do about it, because code is protected by free speech, so the whole point is 'mu'.

That's your word for the day. Mu. You're welcome to go browse the Wiki for the pedantically correct definition, but it in a nutshell it means that you have just asked a black-and-white question with no black-and-white answer. It means you're barking up the wrong tree, looking in the wrong place, and the point just sent you a telegram from the other side of the planet.

People tend to lose patience when they look for a black-and-white answer where there isn't one. Our brains crave binary, XOR decisions.

Let's take a common technology debate: Out of Yahoo, Google, and Microsoft, who is evil and who is good? The answer as I see it lies on a sliding scale. Now, this article, while basically being a little plea for how Microsoft should be seen as a good company now because it makes Silverlight. Case study.

Point one: Silverlight is intended as a Flash/AIR-killer, which is anti-competitive, so bad.

Point two: Silverlight drove Adobe to suddenly be happy, happy friends with Linux. They released Flash 10 concurrently for Linux and other platforms. Suddenly, all those impossible barriers to porting Flash to Linux melted away as soon as some competition happens. It helped break an Adobe/Microsoft Flash monopoly, so good.

Point three: Silverlight, as noted in its Wikipedia page, is also intended as an SVG-killer. This isn't just bad news; it's a tragedy. All modern web browsers except Microsoft Internet Explorer support and render SVG markup directly. If SVG was supported cross-platform, you'd see a new, beautiful web begin to form, where AJAX combines with SVG to create a Flash replacement. You'd see as much of a leap in web design with SVG as we saw with AJAX. Score: 2 bad, 1 good.

Point four: As the Adobe dictatorship benevolently tolerates FOSS development tools like SWFTools, Microsoft is temporarily tolerating the development of Moonlight, the FOSS equivalent of Silverlight. Tied score.

Point five: Of course, they're doing this because they possessed the soul of SUSE Linux, so they're still reselling Novell SUSE Linux licenses and whaddaya know, Novell sponsors Mono from which Moonlight is derived. This shows a huge breech of the Open Source fortress by Microsoft. One more step upstream, and they'll hop from SUSE to my own Slackware and I'll have the Microsoft Sound playing when my Slackware starts up and every man page will point me to a weblink to a useless MSN.net documentation page that's been moved five times since the distribution released. Then they'll just sneak into my house at night and graffiti a Windows logo on my wall or something. I dunno. Point 3-2 evil/good.

Everything is black and white when you zoom it in far enough. Nothing is when you pull back and look at the big picture.

Google is a "good company", but they patent graphics methods and don't release everything as OS and don't port everything to Linux and go along with Chinese censorship. Yahoo is a "good company", but charge to be included in their directory and some of their works reek of adware and they go along with Chinese censorship, too, and I've personally had Yahoo pages that refused to load until I told Firefox to change its user-agent string to mimic Internet Explorer. Microsoft is a "bad company", but they have not, to my knowledge, actually stormed down the street murdering random people, yet, which is the best damn thing I can think of to say about them at this point.

But all three are businesses with the purpose of making money. Hey, when you get down to it, as a freelancer, I'm a business with the purpose of making money.

Is making money, itself, evil? Even a little, tiny bit? If giving food away to anyone who's hungry is better than charging people money for food and turning them away when they're broke, then every grocery store in existence is just that tiny, little, itty bit of evil. Why do we have to be this way? Why can't we all work together for the common good?

Humans haven't evolved that far yet, and maybe never will. Whether we can even get our civilization to go that far is an unanswered question because humans haven't evolved to be that smart, yet.

Well, discuss it amongst yourselves. I am a bear of very little brain today, and big questions bother me.

If Linux were an Atari game, the cartridge would look like this.

Update: Or as Google exec Marissa Mayer puts it, "It’s possible to become too dry, too corporate, too much about making money. I think what’s delightful about ‘I’m Feeling Lucky’ is that it reminds you there are real people here."

See, there it is. Lots of us want to be rich, but if you lose your humanity in the process, you aren't really rich, then, are you?

Re-Update I swear this is the truth: today (11/18/08) I just discovered that Linus Torvalds blogged similar thoughts to this post of mine and mentioned the same hopeful expectation for Obama that I had in my last post. He even used the phrase "black and white" in the title.

Freaky... was there a subconscious ohrwurm drifting through the net last week and we all caught a touch of it?

Anyway, yes, he wrote his on 11/2 and I wrote mine on 11/8. No, I didn't read his first, even though I link to him in my sidebar blogroll. It's shocking how seldom I get the luxury to read some of my own favorites out there!

I Have Never Been This Shocked

Date/Time Permalink: 11/04/08 11:14:12 pm
Category: Site News

Obama 2008

I still can't quite let myself believe that Barack Obama won. Isn't this the part where they pull some recount monkey business out of their hat? But McCain conceded! He wouldn't do that if he was planning to steal the race, would he?

Well, my theory is that I'm in a coma and I'm dreaming all this. So, while I'm in this coma, I guess it doesn't hurt too much to offer my own little concession.

By the way, thank you, black Americans! You saved our cracker asses. We didn't deserve that.

My concession is that I have been too cynical before. I had given up on my country. I had seen too many former friends in the past eight years turn to enemies because they suddenly came out Red (as in Red State) and I would not be a party to their terror-mongering. I had seen too much civilization rot back to savagery. I had seen too much racism. I had seen too much enlightenment torn down by too much ignorance.

I figured the USA was never going to wise up. And that does happen to countries all the time. Countries rise, spread to an empire, and collapse, fading away. But it wasn't the United States' turn this time. We have at least two good years left in us.

Mind you, this is only the beginning. Do you have any idea how much mopping up we have to do? The Patriot Act, the Iraq War, the housing market crash, the recession, the erosion of personal liberties, the scary-big-number deficit. Somebody's going to have to answer for this, this, and this. All of that has to be undone, just to climb back up to where we were eight years ago.

Liberal rule is very good for Open Source, very good for Free Software, and very good for Technology Freedom. And I'll tell you why: Because all of these things crumble under fascism and thrive under liberty. Because science thrives under liberalism. With it comes education, and from that follows technology. And at the end of that road, there is the possibility of a civilization that looks upon learning with reverence again instead of scorn.

So I'm going to resolve to tone down the cynicism just a bit.

P. Pres. President Ooooooo.... President Oooooo....

No, I can't quite say it yet. Better to just flow with the coma for now.

Oooooooommmmmmmm....

Update: For further view on why Obama and technology are a good mix, see this Wired post.

...and this blog cheers the election of "an openly smart candidate". Which I think is a damn fine choice of words. Yes, smart people can come out of the closet, now! And boy, was it stuffy in there!

...and - I don't know how the heck I missed this! I was watching CNN on election night. I must have taken a fridge break during this crucial moment. So thanks to the blog at OSI for pointing out this clip, where a direct comparison is made between Obama and open source! He even referred to ESR's book, which probably pissed off ESR no end, since he's been kidnapped these past ten years by kinky aliens who replaced him with a right-wing neocon.

Blender 2.46 Tutorial - Boning

Date/Time Permalink: 11/03/08 09:46:10 am
Category: Graphics Tutorials

It occurred to me that with all my graphics tutorials, I have never done any Blender ones. This is because, like everybody else including half its user base and even possibly a few of its coders, I barely understand Blender myself. However, I've gotten stupidly overconfident enough to think I can pull off at least one tutorial. So this will be about boning. Now, some call this "armatures" and some call it "linking" and "rigging" and other colorful metaphors and euphemisms. I call it "boning". You're taking a model and putting the bones in. OK?

Blender ss

So, here's my human model, imported from MakeHuman. I've managed to give her something that resembles hair if you don't look too hard and even labored mightily to imbue her with a facial expression. She'll be volunteering for today's tutorial. However, since boning a whole body will be too complicated for this tutorial, we'll just need a basic limb. How about a leg?

Blender ss

Thank you, volunteer. Now that we've ripped her leg from the rest of her body, we can just work with the leg. Trust me, once you just get boning a limb down, you'll be able to apply that method to boning a whole body.

NOTE: I'm doing this with Blender 2.46, the one with the Big Buck Bunny splash screen. I must say up front as a disclaimer that if you even think of attempting this tutorial with any other version of Blender, before or since, you will lose your mind. Permanently. This tutorial is only for version 2.46. Since every version changes something and makes every previously-written tutorial useless, we have no choice but to specify each and every version down to the last possible snap-shot instant day, hour, and minute. So. Version 2.46, downloaded and installed on May 18th, 2008, at 2:02 PM, Central Standard Time.

I can't answer any questions about Blender. I'm channeling this tutorial through Tarot cards.

So select the leg.

Click the cursor (the little annoying red-and-white life preserver thingie) to the thigh end of the leg. You might want to view the leg from top and side to ensure the cursor is centered.

Blender ss

Hit the space bar to get the menu. Select Add... armature.

Blender ss

Hit 'tab' to go into edit mode. Hit 'z' to go to wireframe mode. Hit your head to go into migraine mode, but only after we're done. You should have this:

Blender ss

Now hit 'g' for 'grab' mode and drag that end of the bone with the mouse until it's inside the knee.

Blender ss

Now, you know how you hit the 'e' key to extrude a section of mesh? It works the same way with bones. So when we're at the knee, just hit 'e' and keep on draggin' until you're in the ankle. Click to set it.

Blender ss

Now one problem: When we hit 'z' to turn off wire-frame mode and see how it looks, we can't see the bone (well, not all of it) because it's inside the leg. So in the little bottom panel labeled 'armature', click 'x-ray' and 'auto 1k' while you're at it. 'x-ray' will allow the bone to be visible in edit mode, and 'auto ik' will make it behave more leg-bone-like when we move it. Also hit 'names' so it will show the bone's names.

Blender ss

So then hit 'z' and behold:

Blender ss

Now hit 'tab' to go back to object mode. And right-click on the leg - not the bone - to select the leg - not the bone. Then hit 'tab' for edit mode and hit 'a' to select all of the mesh.

Blender ss

Here is what we have to do next: Tell Blender that this leg has to be attached to the bones. To do that, we have to identify the leg and the bones, and explicitly tell each one how it relates to the other. Because computers are stupid.

So under the bottom section called 'link and materials', under 'vertex groups', hit 'new'. A little box pops up; your group of vertexes is named 'group'. Let's keep it at least this real by clicking in the word 'group' and deleting it, typing in the word 'leg' instead and hitting 'enter'. Then click 'assign'. Now all of the vertexes belong to the 'leg' group.

Blender ss

Hit 'tab' to go back to object mode. Now look down at the little boxes at the bottom again, and a new box appeared named 'Modifiers'. Click the 'add modifier' button and select 'armature' from the menu, and you have a new little box. Under 'Ob:', type 'Armature' (yes, of course, it's case sensitive!) since that's the name Blender automatically assigned it this time, and under 'VGroup', type 'leg' for what we named the hunk of meat we're trying to control.

Blender ss

Now, you're in 'object' mode, the leg is selected, and you're this far. Now hold the shift key and right-click the bones. Now the leg 'n' bones are selected. Now hit Ctrl-P (the 'parent' operation), select 'armature', and in the second menu select 'name groups'.

Blender ss

Ah! Whoo! You're done! You've finally gotten a bone inside a body part and taught it to move together! To review the fruit of your labors, use the little mode selector menu...

Blender ss

And then right-click on a bone to select it and hit 'g' to grab it and move that sucker around. Wow!

Blender ss

OK, can anybody see where something went wrong? Most of the leg's moving, but the toes are stuck in space and the rest of the vertices stay attached but stretchy like we stepped in some chewing gum. Oh, God! We didn't add a foot bone! We should have done that. Then the whole thing would move with us. So I did this to illustrate a 'gotcha': be sure that the meat all has sufficient bones in it. In real modeling, you would have not only extended a foot bone, but probably bones for each individual toe, right?

Here's a knight I did a while back for a project which didn't pan out. Just to show that, yes, it can be done right.

Blender ss

Blender ss

Note the bone structure I've high-lighted inside the foot. The way bones behave, the smaller they are, the less skin area they possess with this method. Since an armored knight is a walking tin can and isn't animated down to individual toes anyway, it doesn't matter that we aren't replicating the whole bone structure here. Just enough to make the whole foot come along with the bones.

Hope you got something out of this. For that matter, I hope I can follow it the next time I have to bone something. For further knowledge, I recommend the education and help section of the Blender site, and I also recommend you buy a copy of the Blender Book.

There's no way I'm qualified to do this tutorial, but I searched all over the web and found nothing for this. So now one exists. It will be out of date in five minutes when they release the next version of Blender and play Twister with the interface again, after which time I will be punished for all eternity by angry readers trying to follow this tutorial with version 2.47++ and screaming "I tried to follow this and it's wrong! You suck!"

C'est la vie. (corrected per Perlejade's comment)

Why I Am Not A "Linux Advocate"

Date/Time Permalink: 10/27/08 05:37:50 pm
Category: General

At first, you might mistake me for a "Linux advocate". I'm running a site about Free and Open Source Software (FOSS), of which Linux is counted as an example. I certainly bring up Linux and the programs that run on it a lot.

Yet my purpose here is actually not advocacy for a particular system. In the first place, I do cover BSD, Solaris, and other FOSS systems also. Many of what will run on one runs on the other. In the second place, to tie my "loyalty" to Linux would be just as bad as to tie it to a proprietary system. No matter how well Linux does now, there's no saying that it couldn't be corrupted to something worse later. I examine Linux (and all FOSS) with the same critical eye I would proprietary software. I have used Linux for ten years and have it installed on four machines and have sampled dozens of distros; and even then, it's still on probation. To do otherwise would be to stop treating technology like technology and treat it like a religion.

My purpose here is only to empower my readers. Here, I say, you can do nifty things with your computer, too. Let me show you how. No, don't listen to the trolls telling you that you're too stupid, that it's too difficult, that it's not user-friendly enough. I'm showing you how. I serve up a side of commentary on geek culture and FOSS community, but that's just side commentary. My main message is that I got this far in life just by reading and figuring things out on my own, and you can too.

Because we need more people who can do that.

Have you noticed how much technology writing there is out there that revolves around insulting the blazes out of you, the readers? Every day it's "we need to dumb this or that down". Every day it's somebody shoving a new ideology down your throat. Or insulting your intelligence with another "think tank" study that "proves" some point that favors some commercial company who just happened to fund the study. I grind against that.

So, what's wrong with "advocates"?

When I think of "advocate", I think of 60's flower children singing protest songs on the sidewalk. To do such a thing for Linux, to me, is like funding a presidential campaign with lemonade stands and bake sales. It insults its cause by trivializing it. And that's the biggest insult of all.

Am I exaggerating about flower children? Not a whit. The subject of my last post was a loud protest at the Ken Starks cult and their endless mudslinging sermons about how they're the only true friends of Linux and everybody but them is an enemy. Well, just how bad is that delusion that they have? Here's a thread on LXer for comments appended to that original story. Give it a scan, if you can stand to.

The thread holds much flaming against the companies that actually build Linux, sell it installed on their computers, and run Linux-based businesses. IBM, HP, Dell, and so on. The rest of us are pretty jazzed to have them "on our side" (whoops, sides are for activists), I mean to have them putting Linux out there for the rest of the business world to benefit from. But in the Starks' cult, all companies are bad companies, except, of course, for Starks' own company, HeliOS Solutions. It's a company, it's a charity, it's a floor topping and a dessert wax!

Oh, the wrath poured onto any Linux business but HeliOS by the "Linux advocates"! Red Hat, Novell, even Slashdot, again, is savaged at the tip of Starks' pen, as collateral damage, I guess.

Hmmm, we've all seen those accusations against Linux users. Like this one at DaniWeb:

"The one thing I wish Linux didn't have is this rancid, religious, overzealous fanboys who give Linux a bad name. If you look at the Linux thought leaders, developers, and community leaders, they don't possess the same acrid attitudes that the congregation-at-large does. Linux is an Operating System. It is not a religion. Mac people used to act like that and it's not only unbecoming but embarrassing as well."

That we're zealots, that we're commies, that we're anti-business and unrealistic. From whence could such beliefs have been fed? From bearded hippies who stand up at the Linux Summit and interrupt business with their zany little protest, perhaps? Listen carefully when they do this: They do not identify themselves as HeliOS Solutions or the Ken Starks cult, but as "the Linux community".

Well, let me be the first to say: "Hey, assholes! I'm the Linux community too! And I think you need to take a long walk off a short pier!" If for no other reason than because you need a bath, yah grass-smoking, tambourine-banging hippies!

Here, take a long, hard look at what "Linux advocates" do:

  • In that same LXer thread, user 'jdixon' expresses how difficult it is to fund both of (Helios) Ken Starks' projects, and asks which is the least important. He is told that "they're tied at the hip". It sounds expensive to be in the church of "Linux advocacy".
  • In the Mandriva forums, Lindependence was being pumped up by the Helios cult, and, well, read the reaction. A forum moderator merely state that they're rubbed the wrong way by Helios' constant projects, another moderator mentions how Helios spams. Whoops, red alert! Here comes tracy_anne, registered cult member, to flame and harass and cuss and fuss. Thank you, tracy_anne. If we had any doubts about how "Linux advocates" are to behave, you've set the platinum standard!
  • Ugh, devnet again! I hate to stir devnet up, because I don't like picking on the handicapped, but there was some "random" Linux observations, which brought me up. I posted a couple of passes there, kinda playful and not much purpose, saying (a) my, I seem to be on your mind a lot, and (b) after devnet sneered back (I think his face is frozen that way) that I was a “fake advocate versus real advocate”, I explained that I'm not a "Linux advocate".

That last example takes some explanation for why it's an example of the problems with "Linux advocacy". The devnet rhapsodizes:

"As for your impact, your dropped my name last July trying to lace me in again with Ken’s latest initiative…so I guess I owned you one with a name drop and association."

Hmmmm, last July? Ken Starks was doing Lindependence2008... I saw it going on but was busy keeping my mouth shut about it to see what happened... I go back over my July posts... nothing. When did I say that?

And then I remember those emails I was getting last summer (I mentioned them in my last post), from readers asking me why I wasn't covering the further doings of Helios and company like I did Tux500. Groan! OK, but sure enough, a few of them came in in July. Sure enough, I did respond to one of them mentioning devnet along with "the usual suspects" in the reply, where I explained that babysitting them wasn't my job, even if I volunteer for a season.

Um, could that be it? Either devnet or somebody else poses as a reader trying to feel me out on what I'm going to do about Lindependence before they turn on the spam machine shaking people down for money?

Well, don't be friggin' paranoid, Pete! Jeez, if you have to regard every correspondent with suspicion... and then I remember 'Anonymous' posting over at Linux Lock about "going undercover"... which I certainly never asked anyone to do. Well, since he's posting there saying he's turned coat, maybe he's now "undercover" for "the other side"? Because I don't see where I mentioned devnet and Lindependence in the same page in July 2008 except in private replies to emails from people who gave no indication that they were tied in with devnet or Ken Starks.

You see how stupid this "Linux advocacy" business is?

What, are we in a spy novel? Undercover! Yeah, I'm infiltrating the enemy camp! It's us against them! You're either a "fake advocate" or a "real advocate"! You're either a friend of Ken Starks (and one who donates some cash), or you're not a true friend of Linux!

Or maybe, if you're a "True Linux Advocate(TM)", you're actually a retarded money leech with no life.

That, finally and at last, is why I'm not a "Linux advocate".

Neither is Red Hat, Novell, IBM, HP, Dell, Google, or any other company. We're into Linux for the money, bub. Plain and simple! Even my own site ties into my own business, and I'm very frank about it.

Oh, by the way, make up your own minds who your friends are. You readers are big people who tie your own shoes; I'm sure you can figure it out on your own.

Now, I'll try to handle the comments on this one. We'll see some more flames from the cult of Ken Starks spewing their usual hisses and boos - I'm still deleting "TK" from my server, who night and day has sought to find his way around every IP block I put up, ever since last post when after three comments to have his say, I was done with him. Since devnet gets hearts in his pupils whenever I bring him up, I'm sure he'll be by. I wonder if Thomas Holbrook The Third (and 33 1/3rd) will pop by? Maybe we'll even hear from some of the macho men of Austin who gave Helios a dollar, who like to threaten me with aluminum bats and mangled English. Who knows? It's all great fun with the radical Islamic extremists of Linux!

No Fear!