Category Archives: Computers

Sideband #46: POV-Ray 101

Take a seat!

Take a seat! (click for big)

As promised last time, my simple tour of POV-Ray continues with some examples a bit more interesting than an abacus stone or a box with holes in it. Time to move beyond a bunch of teal-colored spheres! (How about a bunch of hunter-green cones?)

I think it’s nice to have a place to sit while I lecture, so I’m going to use my digital woodworking set to provide a bar stool (and maybe a beer). The beauty of the virtual world is that , well, free stools (and maybe beers) for everybody.

Because I don’t just make a stool. I make a thing that makes stools.

Continue reading


Sideband #45: POV-Ray 101

Sideband ElectrodeRecently I took you on a tour of a virtual theatre I “built” to help illustrate a post about light and color. It’s virtual because it wasn’t built with wood or metal or rock, but only with 100% natural electrons grown in the U.S.A. (free range; no pesticides or antibiotics).

I also showed you some smaller objects I built with the same tool: a freeware ray tracing application, called POV-Ray. The application is a “rendering engine.” It takes your design and renders it as a 3D image, complete with textures, shadows, reflections and a variety of other life-like effects.

Today I’m going to take you down into the engine room!

Continue reading


Sideband #44: CG Theatre

Sideband ElectrodeBack on my first Sideband post, I wrote that, “Sideband posts are miscellaneous thoughts that accompany the main thread of posts. Think of them as small paths that meander off the main road. Some branch off, go a short ways and die after a short while. Others are scenic trails that follow along the main road.”

They never quite achieved that vision, so this year one goal is getting Sidebands back on track with that original “mission statement.”

And I’m going to start with fun topic: computer-generated 3D images!

Continue reading


Computer Haiku

It’s shaping up to be a killer week. I thought my first task in the new job would involve designing a system, but it turns out much of the business process analysis hasn’t been done yet. Given a target date of December, I have my work cut out for me.

This is likely to be a light week blog-wise (and I hate to think it could actually get worse in the weeks ahead) If I post much at all, it’s likely to be fairly light, possibly pulled from my past writing or maybe even some golden oldies from the days of the USENET era.

With that in mind, here’s a set of computer haiku error messages that made the rounds back in the day. Enjoy!

Continue reading


Wednesday Wow!

Welcome to Wednesday Wow, an irregular series appearing from time to time when I want to write about something that made me say, “Wow!” Or which made me say, “Weird!” Or, “Wonderful!” Or possibly even, “Wild!!”

There may also be posts about Widgets, Whirligigs, Wiccans, Waffles, Wallpaper, Whimsy, Wisdom, Wit, Weather, Wind, Winter, Wushu, Wackos, Whatnots, Wherefores or Whatever.

But not about Women, Wenches or Wahines; they’re too special to be limited to a day, even though they often make me say, “Wow! Wonderful!”

Nor will it be about Work, War or Woodlands. Also, no Whining, Whipping, Whispers, Whistling, Windows, Wine or Whiskey. And I’ll try to not be Wanton, Wonky, Whistful or Worrisome. I can’t guarantee I won’t wander into being a Wry Wiseass. And I hope my Words won’t be Wrong, Wasted or a Wreck.

Continue reading


Sideband #41: CS Jokes

I close the first round of CS101 articles with some of my very favorite CS jokes. Sure, they’re esoteric, but they’re also really funny. Thing is, you may have to trust me on that.

Binary

I have a sign in my cube:

There are 10 types of people…
Those who can count in binary,
and those who can’t!

It garners two reactions. Some people just walk away puzzled. Some people look puzzled for just a moment and then they crack up.

Continue reading


CS101: Four Principles

If nothing else (and I think there is plenty of else), I can look back on all those years of writing code and pick out the main themes and principles, the things that seemed to matter most.

That’s what this CS101 series is about: things I think matter most when it comes to designing software.

Lately I’ve been looking into fours, doing things in fours. With that in mind, here’s Four Primary Principles for Programmer:

Continue reading


CS101: Always Use LT

Here’s a simple tip! I can’t begin to count how many potential code bugs this has eliminated. It takes some getting used to but once you make it automatic it’s a real help in keeping code and your thinking correct.

The tip is this: when you write relational expressions, always use less-than, never use greater-than.

Tip: Always write (B < A), not (A > B).

Continue reading


CS101: Clarity Trumps Everything

Clarity is the #1 priority when writing code. Clarity trumps everything else; it’s even more important than the code being correct! One of the biggest wins a serious programmer can offer is writing clear, readable code.

Source code is for the human reader; it’s not written like that for the computer. If it were up to the computer, humans would use the same ones and zeros it does. It would be much more efficient that way.

But we (inefficient) humans need ways to write and talk about computer programs.

Continue reading


CS101: Easy to Hard

It’s been said that programming is an exercise in managing complexity, and while that’s true, it’s only part of the picture. (Still, it’s a pretty big part!) More to the point, managing complexity applies to much more than software design. A defining characteristic of modern life is its complexity, so learning to manage it might be a Pretty Good Idea!

Thinking about a friend struggling with the complexity of life lead to remembering of one of P.J. Plauger‘s articles about problem modeling from his book, Programming On Purpose. (The book is a collection of his essays from the long-defunct, but most excellent, Computer Language magazine.)

Thinking about Plauger’s ideas again lead to thinking they might be worth sharing. Whether fresh or review, these ideas capture six key basic analytical techniques nicely. If you’ve never really thought about them before, you may find the ideas useful.

Continue reading