Monday, October 31, 2005

I'm a very amateur 3D artists. I've been looking for a way to string a bunch or 3D scenes together with transitions and do some simple effects (besides the Microsoft MovieMaker). I think I have the answer and it's called Wax.

This simple program allows you to add media (video, audio, pictures) to a non-linear editor and then start playing. You can add DirectX transitions, a bunch of built-in plugins and transitions. I found this program to not only be easy to use but fun to play with (the hallmark of a good application). You owe it to yourself to check this program out if you do video editing on a Windows box.

Friday, October 28, 2005

Like many of you, I have wasted many a hour playing the game Tetris. This game is a marvel in simplistic rules leading to complex results. That is why I was so happy when I saw my favorite game repurposed as shelving. I thought, "Hey that his pretty darn cool." Then I thought about all those executive desk toys and I knew what I had to have. How cool would it be to have small Tetris blocks that you could stack on your desk. Pretty darn Geeky if I don't say so myself!

Ahhh, now the problem was how to build the blocks. I could have used my Father's power tools and come up with a wooden model. What fun is that though? I wanted it made out of plastic or some really, really cool model like brass. That is where emachineshop comes into play. emachineshop is a online machine shop that is easy to understand if you have any experience with 3D. You just download their CAD program, input your design, enter the material you want to use, select a process to use (3D mill, lathe, etc.), select a finish and receive a quotation. Their CAD program automatically alerts you to any difficulties that may be present in your configuration of your parts.

It is a quick to design your part with the problem that it is expensive for low volume jobs. My order of 5 sets of 5 blocks was 300+ dollars. That amount goes down quickly with volume. I eventually decided 300 and some dollars was too much for a set of desktop toys. If you want to cut those costs and get your own Tetris desktop toys, I know someone interested in helping you...

Thursday, October 27, 2005

I am a big fan of Acid, a program for mixing together music samples. I'm also a fan of free software as well. This is where the Kristal Audio Engine comes into play. If you are just mixing sounds for your personal enjoyment this program is completely free and competes pretty well with Acid. Better yet, it enables VST plugins which opens a world of sonic possibilities to the end user.

If you have ever wanted to mash up sounds in a creative way for a ridiculously cheap price then Kristal is for you.

In my work for Second Life I often need to edit sounds for my various games and products. I have tried a lot of programs over the years for sound editing and creation but a few years ago I got a hankering to be completely legal in the software I use (comes from selling software yourself). It was then that I discovered Audacity. Audacity is a free sound editor but free does not mean crap in this case.

With audacity you can do all the standard editing, pitch changes, fades, etc. With its support of LADSPA and VST plugins as well as support for the Nyquist language almost any kind of sound or effect can be created within this program. If you are recording sound or changing it I suggest this program.

At my "real job", we have a lot of user systems just floating out there. We really need to know where these computer are at as far as specs, program licensing, etc. The problem is that we have not done an audit in several years. We really have no clue at all what is running on these system. A free program called WinAudit goes a long way towards solving this problem for us.

WinAudit will scan a machine and give a you a very comprehensive spec/software/drivers loaded, etc. list. The only problem is how do you get the information from the machine to a central repository. I quickly discovered that WinAudit had a command line batch mode. Now I just needed a way to get the text file the batch mode produced to a central repository. I thought about creating a batch file to copy the text file to the network drive but then I realized that our outside sales people could not use this option. What was a itinerate programmer to do? That's easy, script a solution. That sounded painful so I decided to use TaskTastic. TaskTastic is a program that I wrote that had pre-defined "Logic Blocks". The logic blocks include emailing attachments, running executables with command lines, etc. Yep, it seemed tailor made for this.

I created a TaskTastic workflow in a few minutes to run WinAudit in batch mode and then I wrapped the WinAudit executable in with the workflow process to create a executable file that my users could run to give us "audit" of their machine. That process looked like:

Now my users can run this TaskTastic workflow executable and a central email address collects that information for futher analysis. Problem solved!

Monday, October 24, 2005

I have been meaning to learn Java for a long time now. You can imagine my excitement (yeah, I know, I'm a complete geek), when I saw a copy of Head First Java at my local bookstore on clearance for $14.99. I thought, "What the heck are you waiting for you lazy get. Buy the book and learn already." I've not been regretting it. The Head First Series are some of the best books in computerdom for teaching you the necessities of a new subject. They take you step by step through the process of learning using visual storytelling devices that work (at least for me). I whole heartedly suggest this book or any others in the Head First series.

When I got fired from my first "real job" the manager sat down with me and said. "Michael, I'm really sorry but it's just not working out. Your performance on this last project was pretty bad and we can no longer give you employment with us. It's really nothing personal." It's nothing personal. After going to the restroom and having a fit (and getting some odd stares) I realized what a crock of crap that statement was. To me, it was the most personal thing in the world. I was being told I was not good enough to hold a job there. What could be more personal?

Now, years and many miles more experience later, I realize what the manager was trying to say. He was trying to say "Hey, this is a lousy job doing this firing thing. I'm really not comfortable with it. If you could just do me the favor of not raising a fuss and making it harder for me I would really appreciate it." He was right. It is a incredibly hard job to fire someone. Both sides feel nervous. However, don't minimize the feeling of uncertainty and doubt in the person you are firing by saying "It's nothing personal." Let's face the facts ... you're wrong.

Wednesday, October 19, 2005

I love coming up with programmatic ways to solve problems. Recently I was creating something called "The Orb" in SecondLife. Basically The Orb is like a pet that follows a avatar around and does useful (and sometimes blingy) kinds of things. The Orb is in reality just a hollow 3D sphere but I wanted to jazz it up a bit. What I needed was animated textures.

After a little bit of time searching the LSL wiki I realized the problems inherent in how SecondLife animate texture. To animate a texture in the game you call a function like the following:

The texture (already loaded on the 3D sphere) is in the form of the frames of the animation placed in the same texture one below the other (see picture at left). This caused me some grief. All I had were the individual frames (in the form of png files). I was going to be doing 10-15 of these animations and I did not want to manually place these "frames" in the same file. I knew about a set of cross platform utilities called ImageMagick that could be used to transform over 90 image formats. I really was hoping it could help me. Sure enough, it did.

ImageMagick contains a utility called convert.exe. This command line utility has a multitude of functions that can be used on a single image or a series of images. By using the command:convert -append *.png

I soon had a directory of pngs converted to a single png with the "frames" of a animation stacked one on top of another. Voila. ImageMagick to the rescue.

Tuesday, October 18, 2005

I use torrents all the time (all for legitimate, legal purposes of course ... cough). I have used many of the standard clients (Azureus, BitComet, etc.). Most of these clients are way TOO fat for my tastes. There use of Java or just superflous features make put them squarely in the NO column in my book. Then I discuvered a little BitTorrent client called uTorrent. This Windows BitTorrent client is 96KB. That's right, 96KB. It has all the features I'm looking for including bandwidth shaping and scheduling. Here is a picture of that little feature:

I think this BitTorrent program is fully worthy of your attention if you value efficiency and expediency in you applications.

I do a lot of work in SecondLife and Real Life for that matter with marketing literature and product design. Sometimes you just don't have any ideas on where to begin with a particular project. I find it helpfull at that stage to look at other people's work for inspiration (not thievery, just inspiration ... well mostly anyway). I find that a clipart resource is one of the best ways to get that kick start. Lately, I find myself enamored by a little open source project called OpenClipart at:

This project, faintly associated with Inkscape, has 6900+ vector (SVG) drawings. These SVG drawings can be used in conjunction with Inkscape or the Gimp to complement any projects that you may be working on.

Another great resource for these kinds of projects is IStockPhoto. They take submissions from the community and you pay a dollar per image. These images are royalty free as well (with some restrictions). IStockPhoto in conjunction with the OpenClipart project and Inkscape brings the means to create brilliant marketing presentations to the masses on a budget. What could be better than that? Oh, that's right, sliced bread.

Sunday, October 16, 2005

The RIAA irks me in a big way. Not satisfied with the millions of dollars they earn every year they have to push legislation that limits my ability to use products I own. I felt like wearing my disdain for their policies so I created a T-Shirt that makes my feelings clear. You can buy it at my CafePress.com store for $16.99. The link is:

Well, my ex-business partner, full time friend Phil and I played hookie from work yesterday. What would prompt us to do this you ask? One word explains it all, Serenity.

I was never a fan of the series. I believe I saw 1 maybe 2 episodes. After seeing the movie I have to admit that I am hooked. I'm going out and getting the DVDs (probably some time today). Then I 'm going to sit down and have a nice, long screening.

Before you ask, "Yes, it is that good." If you have not seen it yet you owe it to yourself and any friend who loves sci-fi to go see it. You may be saying, "But, I never saw the series." Check out the following link:

I love brainstorming. Whether it is a story idea, or a set of programming features, brainstorming is my all time favorite activity. The best part about this activity is that you turn off the part of your mind that is cynical and open yourself to possibilities you would never consider in your daily existence.

The worst part about brainstorming is trying to figure out how you are going to capture your ideas in a way that makes sense when you look at it later. I have found the perfect tool to handle this data capture issue, FreeMind. FreeMind lets you store your ideas as a kind of directed graph. You can use it to group your thoughts under conceptual ideas. You can expand/contract the parts of the graph you are interested in seeing, enabling you to focus on the parts of your ideas you are presently working on. Another cool feature is the ability to encrypt nodes in your "MindMap" in order to protect them from prying eyes. All in all this is a very cool (and free) program that I find useful when I am in the planning phase of any new project. I hope you will agree.

Thursday, October 13, 2005

For years now I have been nursing a few stories on the backburner until my "real" jobs and business gave me time to write them. That whole situation changed when my business scaled back. Now I have A LOT of time to pursue my interests (thus this blog).

When all of this went down I just knew I would have to start towing the line and start writing again. The only thing is, I hate the tools most people use to write. Word processors are a great thing but they are over complicated for what I need. The thing I hate most about word processors is the fact that I have to cart the document files with me everywhere. In my life I use 3-5 PCs at any given time. This makes it a real pain because I'll have 3-5 sets of files to keep track of (track revisions, etc.) . This gets tedious to say the least.

Then the hero that is Writely came to the rescue. Writely is an online word processing/collaboration tool. It has all of the basic formatting tools (the ones I need anyway) and keeps track of the revisions of my document. Now I don't have to worry about which one of my PCs has the right files to edit. I can be at a airport web terminal with no computer at all and still write if I get the urge to. It also can publish what I write to a web page and to this blog! Talk about icing on the cake.

If you write and don't feel like worrying about your document files I strongly suggest checking this product out. At the high, high price of FREE it is well worth it.

Wednesday, October 12, 2005

I produce a lot of digital data. My hard drive at home is a 80GB drive that came standard with my Dell PC purchase. 80 GB is quite a bit of storage but I still manage to fill it up on a consistent basis. I was getting incredibly tired of doing DVD backups of data, realizing a year later that I needed a file from last year and having to try to find the DVD I was looking for. Some would say "Hey Lambert, buy a flipping hard drive already!". I'm a cheapskate though and went around looking for a alternative.

After much gnashing of teeth I found a perfect (for me anyway) backup solution called Streamload. Streamload is a online backup solution. The $4.95 a month plan I am on allows unlimited data storage and 1GB a month in file retrieval. I don't know about you but I just want to backup stuff, I barely ever have to go to those files after backup. I just need to know that they are there.

Now, I regularly backup my PC to DVD (for safety) and Streamload. When I need files they are convenient to find on Streamload and I don't have to go digging through DVDs to find them. At $4.95 a month I would call that a bargain.

Tuesday, October 11, 2005

This has been a transitional time for me (Guinterface scaling back, building up a business in Second Life, going off Paxil ;-), trying to figure out what I want to be when I grow up, etc.). Things are settling down now and I think it is time to come up with a list of to dos that I want accomplish. As I get these items finished I'll chronicle them here (to a very bored audience ;-)).

To Dos:

1. A drawing called Cosmologist's Dream with a human head surrounded by planets (in orbit). The head is obviously in the place where the sun should be. In the background is a sea of stars. The head should shine like the sun.2. A drawing called Love One Another that features a street beggar with a collection cup in his hand (held up in supplication) and a business man walking by with his hand held out towards the beggar (in a classic get the heck away from me pose). Speak to the hand beggar man!3. Begin writing my story, The Star Runner, about a galactic business that has "sewn up" all star travel by coming up with gates that transport people from system to system. A scientist develops a "Star Drive" that works like (Warp, Hyperspace, name your technobabble). Of course this threatens the status quo and the story is about the drama that ensues.4. Continue to develop TaskTastic. Hopefully find a way to market it.5. Continue to develop my Second Life business.6. Drum up more consulting work to fill the "Guinterface Void".

That's about all I have for myself right now and I kind of like it ;-). Here's to a more mellow and relaxed Michael ;-).

Monday, October 10, 2005

I've been thinking recently about what a itinerate programmer really is. When I first created this blog at the beginning of the year I was thinking that it was just a cool name. This weekend I decided to try my hand at creating a logo for this blog.

When creating a logo, it is important to consider what you are trying to represent. In my mind I was thinking that a itinerate programmer is kind of like a itinerate samurai. In other words, a programmer without a master. In feudal Japan this was seen as a disgrace. In modern day America you are just seen as hip and very Soho if you are trying to make a living without the safety net of a corporation.

I got into Poser yesterday and started working on my Samurai. Once I had the face correct (a pain by the way), I worked on finding a good Matrixy outfit for my Samurai. I found what I was looking for at PhilC Designs on the web. Then I found a sword from from Renderosity and then set about posing the character and sword. A quick render and a few post production Gimp passes and I was ready to place the samurai in a gun sight. Why a gun sight you ask, well because a independent programmer is always under the gun ;-). Finally, I created the gun sight in Inkscape and put the text inside the scope and voila, all done!

Saturday, October 08, 2005

Here is a little image I came up with over the last few days. Still needs a little work but it is getting there. The theme is after crashing a car the driver (dead obviously) is not sure what has just happened and is trying to hitch a ride home.

I used the usual suspects on this drawing, with a few differences. The original picture was done in Blender. The model of the person was a .obj file imported into Blender from Poser. The car mesh was created by Benigno "Virus" Fernandez as Poser prop. I exported that as a .obj file, positioned it and did a mesh deform of the front end from where it hit the light pole. The grass was created using Blender static particles (a real pain to get the settings right). The following are the setting for the material I used in Blender:

The key is to make the material render as wire only. This gets you the "grassy" look. I change the material for the person to be a Blender halo where the halo particles were very small. This gave a kind of "dot-matrixy" glowing material for the person. I knew I would have to do something with this later.

After I rendered a 1600x1200 .png file I imported this as a background to a ParticleIllusion project. ParticleIllusion is INCREDIBLE. I quickly added the fire, sparking smoke and a blur around the figure to give it that "ghostly" look. Then a quick render and voila, done ;-).

Friday, October 07, 2005

I recently created a program called TaskTastic which enables you to push out "programs" to user systems on your network. These programs are created with a flowchart-like configuration system. Basically, this is like drag and drop programming that is distributable (at least that would be what the marketing people would say ;-)).

To make a short story long, I needed a (hopefully free) installer program to install this piece of software cruft on my user's machines. I had been using the NullSoft install NSIS. That installer system is very full featured but very programming intensive. What I needed was a system that was easy to get going with, enter Inno Setup and ISTool. Inno Setup is a full featured install system for Windows. ISTool enables you to quickly build these installs without a lot of scripting knowledge. I had a professional setup running in just a few minutes with these two programs.

I think if you try them you will be impressed as well. Inno Setup may not be InstallShield but then again it's not InstallShield if you know what I mean. If you are looking for a simple, professional install system that will not set you back a lot of greenbacks, give Inno Setup a whirl.

Thursday, October 06, 2005

Recently I was given the task to write a SpamAssassin (SA) plugin for Guinevere. Guinevere is a mail filtering, virus scanning, rule following rootem tootem program for the GroupWise email system by Novell. It makes sure that viruses and other nasties cannot get in through your Mail Internet Gateway. It has had SA protection since version 2 but Mike Bell (the author of Guinevere) wanted a system more tightly integrated and let's face it, quicker.

Well, to make a short story long I've been maintaining the plugin now for 6 months or so. In that time HUGE changes have been made to the modules that make up SA. When a new revision of SA comes out it is my job to figure out what exactly has changed and how to deal with those changes.

Imagine my surprise (NOT), when major changes were made to how SA processes mail in the last major release (3.1). I was faced with how I was going to understand these changes. I needed a file differencing program and voila, WinMerge to the rescue.

WinMerge is a great, free, file differencing utility. It also has the ability to merge changes from one file version to the next. Since I keep older version of my changes to SA code in a vault I was able to quickly see what had happened to make my plugin not work. I wholeheartedly suggest you take a look at this utility when you're not sure what has changed between versions of your program.

Wednesday, October 05, 2005

When I was just a lad in the mid 90s I used to love playing a game called Scorched Earth. It was a basic 2D game where both players had tanks. You took turns shooting each other over a varied set of terrains. My friends and I would spend hours lobbing various types of ammunition at each other. Needless to say, it was a complete and utter gas to play.

The other day I was perusing the games on Sourceforge and found something called Scorched3D. I thought to myself, "That sounds familiar." Sure enough, it was a remake of my favorite classic ;-). This thing has gotten a serious makeover. For one, you can play the game with players across the Internet. You can also play the game across a LAN. Best of all, the game has a 3D makeover and a TON more weapons to play with.

If you like simple and fun games do yourself a favor and check this game out.

Tuesday, October 04, 2005

I just wanted to warn you that todays post is a philosophical one. Some of you undoubtedly just ran for the hills screaming. I would not try to persuade you otherwise. I guess I'm just talking to those of you who are left at this point ;-).

I was thinking today about the root of unhappiness in my life. The conclusion I came to was that the things that upset me most were times, places and events in my life where I believed the world owed me something. These situations are minion but include, low satisfaction at work, unhappiness with my worldly possessions and most importantly dissatisfaction with how I was treated by someone.

I pondered these things for some time and came to the conclusion that the world does not "owe" me anything. There are people that work incredibly hard all day long for a $8 an hour and here I am complaining that I did not get a bump in salary to $60,000 a year ;-). How many times have I bemoaned how someone treated me in junior high school? Can I count the number of times I thought I should be more successful because I was working 60-80 hours a week between my full time job and side businesses.

The expectations are in a word total and utter crap! Best to work as hard as you can and be happy with where you are. Better to focus on family and friends and pleasing and making them happy. The things you have can be taken away from you so quickly and then what do you have ... family and friends (hopefully). Better to focus on what is truly important in life, serving others and making others happy. Let's face the facts, some of the happiest times in our lives are found when we do something truly selfless and nice for others.

I guess this post boils down to a quotation by the famous luminary Mark Twain:

Don't go around saying the world owes you a living. The world owes you nothing. It was here first.

Monday, October 03, 2005

I have been a big fan of Poser over the years. I have used it to make countless walk cycles and I won't even mention the number of times I have posed a humanoid and exported the results to another 3D package.Now I have a new dark master in the arena of figure posing to talk about, Daz|Studio. This package is a free, not quite as feature filled, Poser alternative. I played with the interface this last weekend and I have to tell you it seems quick and powerfull. Better yet, the people at DAZ 3D are offering their Michael and Victoria human models for free for a limited time. These can be used in DAZ|Studio to great effect.I think it is so exciting that beginning 3D artists have access to these wonderful tools. Where were these toys when I was starting out? Anyway, check out these great tools and unleash the artist in yourself!

Saturday, October 01, 2005

Inkscape is a wonderful vector graphics program that I have been using to create marketing information for Guinterface and my business in Second Life. I cannot say enough about this package. I'm not a artist by any stretch of the imagination but this package is intuitive enough and powerful enough to make me look like one. Although not as polished as some more "professional" package (read Adobe products here), it manages to combine enough features to make its asking price ... $0 seem very cheap.Here are some of the things I have done entirely in Inkscape for my businesses:

About Me

I graduated from Wright State University in 1996. Then I took my first job at an undisclosed company. Inspired by the pain of managing blocked email I wrote Guinterface (a utility for managing email blocked by Guinevere and GWAVA). Firmly on the side of good (ha, ha) I struck out to make my way in the world. Then I realized that managing the PCs on my network was a royal pain in the butt and that seemed to call for another application ... and Tasktastic was born.
In other words the businesses and commercial successes in my life were complete accidents and other existential cruft ...