Friday, October 28, 2011

Sorrows ... and more

Bill's Sorrows, about which he is pleased.
The lunch time painting continued this week, with Bill putting most of the finishing touches on his Sorrows. They are looking good! I stuck some Vallejo black lava to the base, since all other basing ideas he's had would just take too long on our big Malifaux project plan. No, we haven't made a Gantt chart. Get your PMP out of my toy soldier hobby.

"But Mike," you ask plaintively, "aren't you going to tell us what you've been working on?" Okay, but only in the vaguest of terms. I have been working on three entries for Wyrd's Rotten Harvest painting competition. Two of my entries are definitely complex... almost as complex as my Golden Demon entries have been. One of them in particular has taken me the better part of a month to get to this point, and I'm really hoping to have it done for Monday.

Additionally, I have been putting some time into a new web venture. It's just getting going but it has a lot of future potential and I'm doing all the programming, mostly in PHP, to interact with Google Docs / Google Checkout. Once I get the scaffolding around the product, I can start to fill in the details and it's going to be very, very cool.

Add-Additionally, I have been programming in the Corona SDK. The end result will be games in the Android Marketplace first and eventually the Apple AppStore. Nothing incredibly fancy, but simple games in a genre that is underrepresented in the marketplace now. Hopefully, under-representation and reasonably quick time to market can result in sales. I need to fork out $200 for the Corona Indie license, so hopefully I'll have that available after Progressive is done repeatedly violating my desiccated corpse. As it is I may be liquidating some of my minis to fund Yule-tide festivities.

Monday, October 24, 2011

Behold The Legal Process!

Yup, apparently Progressive Insurance has decided to sue me over the little mishap that I had two years ago. As it turns out, my car insurance had lapsed (by about 30 hours) when the accident happened, so under Michigan law I am apparently not covered under the "no fault" law. That means I am directly liable for all the damages paid by Progressive for the  other person's car. Whee. And the insurance company carrying my policy at the time (although not exactly that time) ... also Progressive. In fact, I'm still a customer of theirs. Go figure.

The lesson here, my little internets, is always pay your car insurance.


Also, thanks to this video for showing me how to make the curvy text in Gimp.

Thursday, October 20, 2011

Thank You, Dennis Ritchie

Unbeknownst to me, mere days before I posted this little homage to my introduction to programming as an adolescent, Dennis Ritchie died.

The death of Steve Jobs did not affect me greatly. I appreciate the attention to elegance and detail that Apple applies to their design, but I have barely used Apple products in my adult life. What Mac aficionados must have felt at Jobs' passing, I am feeling a bit of that with the death of Ritchie.

Dennis Ritchie created C, which I have repeatedly referred to as my "first language" as a programmer ("first" being akin to "native" in this case.) Every other language I have worked in I have done so with a C accent. C was beautifully small and efficient, fast in execution and powerful in capability. It is the language crafted to build the UNIX kernel. You could create code that practically read like English, or you could create code that stomped rampantly over anything in memory. Even the manual was a concise, elegant work, telling you everything you needed to know in an impossibly short format. "C is not a big language, and it is not well served by a big book," the preface of the 2nd edition of "The C Programming Language" reads.

I began programming in C in the late 80's, after buying my Commodore Amiga. I had programmed games in BASIC for what seemed like ages, but the speed of that interpreted language always bothered me. I had successfully learned to program in the compiled language Pascal, and now I was ready to try something that could do what I wanted really fast. There were numerous C examples showing how to access the Amiga's graphics and sound, and I dove in (with limited success) to learn to do that. It wasn't until I got a PC (an AMD 486 clone) in the early 90's that I acquired Borland's Turbo C and really got to work. Game programmers like Id Software and how-to authors like Michael Abrash opened the gates of knowledge to the arcane VGA card to me and my friend Jens. When we acquired a student discounted edition of Watcom's C/C++ compiler with its integrated Rational Systems DOS/4G Extender, the flat memory model became available and I felt like something magic had happened. All of memory was available to me without all that XMS/EMS and segment/offset malarkey.

Professionally as a test/measurement software engineer, I wrote C programs to access hardware, to process test data, to display user interfaces and graphs of results. When I came to my current job, I wrote a few utilities in C at first, but found scripting languages like Perl or UNIX shell more useful for what I needed to do. Still, as I said, I approach every new syntax I learn with the silent question of "I know how to do this in C. How do I do it in X?"

Thanks, Dennis.

Friday, October 14, 2011

Generation 6502

I read a post at headcaseGames-Blog that got me thinking. What makes a programmer? Way back in the late 1970's, the very forward-thinking Bill Brown, principal of Miller Elementary, allowed students' families to "rent" the school computer for a weekend at a time (for a paltry $10.) On several occasions, my family did this. My younger brothers and I would load games that used Commodore's character graphics set off of cassette tapes and were in complete bliss. The poor Atari VCS (which was actually a Sears Tele-Games, if I recall correctly... there was no "2600" nomenclature back then) sat unused in the presence of the COMMODORE P.E.T. with its mighty 8k RAM.

My dad observed what we were doing and asked, "Why don't you just write your own game?"

"You can write your own game?"

"Sure. Let me show you." (Cue clouds parting and sunlight pouring down.) In about 10 minutes my dad had figured out how to use the machine's built-in BASIC interpreter to write a little "guess the number" game. My brothers and I took turns changing the target number in the program and then reveling in watching each other guess and be told by a computer whether their guess was high or low. Upon correctly guessing, the number of attempts would be reported. It was pure magic. Those ten minutes my dad spent showing us how to write a tiny BASIC program charted the course for the next 30 years of my life.

Like many of my nerdy friends, I ended up buying my own computer, and we all were programmers. Well, we all programmed anyway. Between the Vic-20's, the TI-99/4A's, the Apple II's, the C-64's and the Atari 400/800's we had a diverse little platform group, most of which were based on the MOS 6502 CPU. They had their differences, but at the core they all had a BASIC interpreter built into ROM. Sure there was lots of software available on cartridge or cassette or even the mythical 5.25" floppy, but all of us put a great deal of time into writing our own programs. We even performed the time consuming activity of typing programs into our computers that were published in Compute! magazine or its ilk. After a few hours of typing (typically with one friend dictating) we would hold our breath and type RUN. If it didn't work we would pour over the code and figure out what we typed wrong, often one number in the endless blocks of DATA statements.

So not only did we hunger to program, but we had endless good examples of simple programs to help us understand how the whole thing worked. There was voodoo that we didn't understand yet (Interrupt requests! Player/Missile graphics! Machine language! Sprites!) but we marched relentlessly forward in our knowledge. I clearly remember learning about string variables by analyzing a program I had loaded, forever loosing me from the constraints of only storing numbers.

Years later I wonder how any kid gets into programming today. My daughter is at the age when I was obsessed with programming. She loves computer games, but the idea of programming has no real appeal for her. Everything she could do, all those little triumphs I experienced, have been done 100 times better already, and there is too much competition for her free time to make those first steps seem appealing. Maybe if I get her an Android phone I can get her interested in the Corona SDK.

Monday, October 10, 2011

Sea Monster Self-Portrait?

As reported here, a husband/wife team from Mount Hol­yoke Col­lege are asserting that the fossilized remains of several bus-sized ichthyosaurs at Nevada's Ber­lin-Ich­thy­o­saur State Park are actually the remnants of prior meals of an enormous ancient octopus, and that the beast had arranged the bones, specifically the vertebrae of the ichthyosaurs, to make something of a self-portrait. You can see what resembles a sucker pattern in the image here.

Is this possible? My first thought was "infinite monkey syndrome." Given enough time, there eventually will be an octopus lair with bones that make a reasonable facsimile of Botticelli's The Birth of Venus. Perhaps, but not terribly likely, even with the sorts of time they are talking about.

So now I ask myself, how does it affect what we know now if this self-portrait assertion is true? Other than being a terribly interesting fact about a long dead animal, I can't really think of any way this changes our reality . We have already established that octopus are pretty smart without assessing their skills of an artist. The real question, for me, is whether or not I want to live in a world where horrific sea creatures in some dark past would devour other monstrosities and decorate their lairs with the remains.

Yes. Yes I do.


Sunday, October 09, 2011

How Sunbeam Almost Burned Down My House

Title is a bit hyperbolic.

Everybody loves CF bulbs, right? They are shaped funny, they use less energy, and they supposedly last longer than regular incandescent bulbs.

As I was sitting at my kitchen table working on my laptop, one of the four CF bulbs I have in the overhead fixture started flickering and making popping noises. I've had many CF bulbs burn out on me, so I wasn't terribly surprised, but I've never actually watched it happen.  Like I said before, they are supposed to last longer than incandescent bulbs but all the ones I've bought have been determined to prove that assertion wrong.

Anyway, the bulb sputters and dies, and I had two thoughts:
  1. That name brand bulb didn't last as long as the ones I bought from the dollar store.
  2. Looks like I'm going to have to change that ... sometime.
I went back to working, but within about 30 seconds I had an additional two thoughts:
  1. What is that burning smell?
  2. Maybe I should remove that bulb before it ignites.
I turned off the fixture, removed the bulb (clearly the source of the odor once I was close to is) and inspected it. The base was hot to the touch, and you can see the burned area in the photo. I can only imagine how much worse if would have gotten if I had not removed it within 60 seconds. 

From now on, all CF bulbs shall be turned off before we leave the house.

The marking on the bulb say: Sunbeam 120V, 60Hz, 475 mA, FE-IIS-26W, 26W, E217916, 53SJ
The bulb was not used with a dimmer, was not in a totally enclosed or recessed fixture, or used where exposed to the weather. 1007.

Wednesday, October 05, 2011

Lunchtime Painting 28mm

Hmmm. Shoot the enemy, or make him sad....
so hard to choose.
Bill painted Sorrows. I painted Kell Bailoch while the 15mm minis looked on jealously.

We did a little time analysis, and it's taking Bill about three sessions to paint a Sorrow now. Given that we have about 30 sessions in his 15 week term, and that 10 of them are gone, the goal of getting the entire Pandora box painted in these 15 weeks seems unattainable.


Tuesday, October 04, 2011

PSA: Talk To Your Kids About This Tragedy

A friend of mine buried his 14 year-old daughter today. Abi had been experimenting with self-asphyxiation (called "the choking game" among other names) and things had gone wrong. There is an absolutely heart-wrenching information video/presentation at http://www.gaspinfo.com that explains more about this. Caleb and Kassi are determined that the truth about this to be known so that other kids don't cut their lives tragically short as their daughter did.

I know a lot of you hobbyists are parents. I have kids myself. As hard as it's going to be, I will be watching this with them tonight. I ask that you do the same.

Sunday, October 02, 2011

Galactic Grenadiers 15mm WIP

Galactic Grenadiers, 15mm Militiaman (done... I think) and Planetary Guard (WIP)
I decided to do the militiaman in a stereotypical "army man green" scheme. I had actually put some paint on a couple of these guys back in the 80's, but for some reason chose orange for their helmets, probably because they resembled construction helmets. Who knows what drives the twelve year-old mind? The planetary guard (far left) are used as police in one mission, so I figured I'd paint them blue. The eyes on the suit are so big that I made an attempt at sky-earth reflection. (Who knows what drives the forty-three year-old mind?) I included the completed Grenadier because... well, mostly because he was within arm's reach when I took the photo. The militiaman doesn't have much "pop" right now. I think I need to highlight even lighter, maybe a selective scorpion green or livery green.

I had kept the name of the game these belong to un-revealed in the hopes that someone would recognize them. Upon reflection, my scenario of someone stumbling onto my painted minis and exclaiming "Those are from Ral Partha's 1980 tabletop game Galactic Grenadiers!" seems ... unlikely.

Rules can be found here. Each turn (page 2) is a strange twelve phase ordeal including six specific shooting phases. Combat results are determined by calculating the difference between attack and defense stats of models and rolling 2d6 and comparing to a matrix. One thing I chuckled at is that Imperial elite grenadiers are attack 4 defense 4, while the more basic human militia are attack 3 defense 3. I feel like I've seen that somewhere else... Interestingly enough, models stats go down as they get wounded. To the credit of my younger self, every last piece of the game is accounted for. I was the kind of kid who would keep electronic toys in the original packaging, Styrofoam and all, when not in use.

Paints used, mostly for later reference:

Grenadier:

  • Astronomicon Grey base
  • VGC Ghost Grey 1st HL
  • VGC Skull white 2nd HL
  • VGC electric blue visor (mix with white for lower half)
  • Reaper grey liner
  • VGC blood red (w/ hot orange) for accents
  • P3 greatcoat grey for weapon, VGC cold grey HL, electric blue muzzle
  • Basing: calthan brown db + cobra leather db

Militiaman:

  • Knarloc green base
  • snot green highlight
  • orkhide shade shading/lining
  • calthan brown+devlan mud for boots,pack
  • P3 greatcoat grey weapon, cold grey HL
  • electric blue sunglasses/goggles

Planetary Guard:

  • Mordian blue
  • electric blue mixed in for highlight
  • mord blue/electric blue/white/cobra leather, cl+black for lenses