New Video show from Mr. Lunduke starts in January.

It’s been quite some time since I’ve done a regular, video podcast (unless you count my once-a-year “Linux Sucks” series).

BryanStarting the first week of January, that’s going to change.  In a crazy big way.  Twice a week — Tuesdays and Thursdays — a technology show hosted by yours truly will be blasting into your eyeballs.

Did I say it was hosted by me?  That’s only partially true.  Technically it’s hosted by a puppet version of me.  That’s right.  A Muppet-y version of Bryan Lunduke will be interviewing guests and reviewing hardware and software.

Everything is in place.  The puppet looks awesome.  The guests and reviews are lined up for the first few weeks.  The audio gear and recording computer (running only Linux, of course) is all in place.  Even the artwork and production workflows are prepped and ready.

But I could still use your help on one final thing: I need a new video camera.  Because the one I have is kinda crap.

My (amazing) wife has been cool with me investing time and money into this new show… but if I suggest to her that I need to buy a fancy new video camera there is a chance that her amazing-ness will turn into “grumpy-towards-Bryan-ness”.  And I’d like to avoid that.  I’m also going to avoid asking for donations (all of you are amazing — and I don’t want to take advantage of you guys).

So, instead, I’m going to try to raise the funds for a new camera through a sale of my books and whatnot (basically everything on the front page of Lunduke.com in one bundle).

It’s one of those “set your own price” sales that we all love so much.

Plus I’m offering a “ready-to-print” gift card.  So if you want to give a cheap, nerdy, awesome present to someone (and you want to put as little effort as possible into it) this is the way to go.


Name Your Price!



You can either pick up this bundle right here (using that little form above) or over on the official sale page.  Either way.  Works exactly the same.  And every penny goes directly towards the new camera for the show.  What sort of camera will the show be filmed with?  That depends, entirely, on how much money this sale raises between now and December 25th.  :)

I’ve gotta say, I’m pretty excited.  This project has been in the works for the better part of a year now — the planning, the designs, the production details… it’s been a heck of a process.  But well worth it.  I can’t wait till January 6th, when you guys get to see the very first video.

Oh!  In case any of you were wondering: I will still be a co-host on Bad Voltage, the audio-only, once-every-two-weeks podcast I record with Jono Bacon, Jeremy Garcia and Stuart Langridge.  No change there.

Share Button

Building Software to Stand the Test of Time.

I love building things.  Tinkering.  Creating something new.

Brick_wall_close-up_viewRight now I’m working on re-doing the brick work on my house — the existing bricks having been in place for over 100 years.  I find the process of re-laying those bricks profoundly satisfying.

It’s like a grown-up version of playing with Lego blocks.  And, when I’m all done for the day, I know that the results will last.  At least… probably for another 100 years or so.

But, with software, things are a bit different.  Certainly far more short-lived.

In fact, most software is so short lived, that we, as developers, spend the majority of our time re-inventing the wheel.

Really, it’s even worse than that.  We’re re-inventing the wheel that we, ourselves, have already re-invented several times.

Case in point.

I’ve been releasing software to the world since the mid-90’s.  And, in that time, every application or game that I have made (with one or two exceptions) has had at least one “preference” that needed to be saved and stored between sessions.

How many times have I built (and re-built) classes and functions to handle reading/writing preferences to disk?  I have absolutely no idea.  Dozens.  In C, C++, Obj-C, Basic, Java, PHP and Pascal.  Add multiple platform frameworks (and revisions of those frameworks) on top of that… starts adding up fast.

Sure.  Building functions for reading/writing preferences to disk isn’t the most challenging or time consuming task in the world… but every little thing adds up.

A specific example.

discblaze-12Over a decade ago I released a piece of CD burning software for MacOS X.  Nothing terribly fancy or complicated, just a simple application that burned files to a CD.

Over the years that followed, that application needed to be updated approximately once every 4 to 6 months just to keep running.  Even minor system updates (ala MacOS X 10.2.4, 10.2.3, etc.) broke things badly enough to make this little CD burner of mine stop working.

We’re talking about minor changing in an underlying platform causing forced obsolescence at least twice a year.

While this example is a tad extreme, the same problems hold true nowadays as well.

Host platforms come and go (how many of us are running AmigaOS as our main desktop right now?) and UI libraries change with the wind (how many GTK1 apps are you running currently?).  There are, quite literally, thousands upon thousands of ways that (even seemingly minor) changes to a system will cause software to cease to function properly.

Is that bad?  Do we really want to stop pushing things forward simply to keep old software running like a champ?  Of course not.  Progress is awesome.  But the problem still exists.

And, when I build something, I want it to last.  When you download (or buy) a piece of software… you want it to last too.

One of the big problems with DRM-ed content (games, media, etc.) is that we, as the consumers of that content, can’t be assured that we will continue to have access to it in the future.  And that makes us grumpy.

But, in actual practice, the same effect is created when companies (or organizations/individuals) release updated versions of core libraries or systems that break backwards compatibility.  Same effect, different purpose.

Ok.  Great.  So what’s the solution?

Oh, jeeze.  I have no idea.  The problem is obvious.  The solution… far less so.

Many say that HTML/JS (ala “HTML5″) is the answer.  To which I say:

“The same JS code barely functions similarly across current versions of a handful of web browsers… and doesn’t really work at all on browsers from just a few years back.  And things are still in a state of flux.  What makes us think that code that works today will work in 2 years?”

Others will point to interpreted, cross platform languages such as Java or Python.  To which I say:

“Which version of Java or Python?  Also which versions of the countless supporting libraries?  Nope.  Same problem.”

We could, of course, go back to just writing console applications.  Do everything in C/ncurses and just call it a day.  But…

“What about when executable formats change?  Because they have.  And they will.  Going with something like C/ncurses reduces the total number of variables that could go wrong… but doesn’t eliminate those variables.”

Okay… so let’s focus on building languages and tools that are easy to port/update when needed!  Cough:

“That solves one, small, part of the issue.  This is something I’ve been focused on with Illumination and App-Make-inator for a few years now.  High-level tools like this do make it easier to re-build apps when needed to work on newer systems.  But they require the developers to rebuild.  And they require the users to re-acquire.  Which isn’t always possible.  What happens 20 years from now when people want to play my games?”

You’ll notice a pattern here.  Basically I’m shooting every (reasonable) possible idea down because it’s just not going to solve the problem.

The Most Ridiculous Solution Possible.

snesThere *is* a solution.  Select a platform, emulate that platform in a portable way, then only build for that platform.  In order to make that work you need to pick a non-moving target that has already achieved the critical mass necessary to build and support a portable emulation system.  Something like a Super Nintendo or DOS emulator.

That solves the problem.  But then you’re limited to the constraints of those systems.  In those cases that would be :

  • No (or highly limited) networking.
  • Memory and file size constraints.
  • A lack of currently maintained modern development tools.
  • No 3D acceleration (for the most part).
  • Plenty of other issues I can’t even think up at the moment.

I went down the DOS route for one of my games.  More just for fun than anything else.

Did it work for that?  Yes.  Yes, it did.  And, to be honest, it would work for most of the types of software and games that I build.  But would that sort of approach work for most software out there?

… probably.  So long as it doesn’t need internet connectivity.  Or 3D acceleration.

And, at least in the current world we live in, it seems like folks would far prefer a “native” experience on their platform of choice — which is a stance I totally get.

TinuxTycoonDOSAtLastThen again… download numbers for Linux Tycoon for DOS are far higher than for all other platforms (including Windows and Linux).  I posted some numbers in a rather tongue-in-cheek article.  I find that notion humorous… but interesting.

Now, for making games in a retro style — which so many games use nowadays — I don’t see much of a reason to not build those games for SNES, Genesis, etc..  As they can then be bundled with emulators and sold in app stores and posted for download quite easily.

All of which is to say: I don’t have a good answer.  But I’m wishing more developers built SNES and DOS games.  Because then I could play those games 30 years from now with my grand-kids.

Share Button

Announcing the App-Make-inator. Build apps “in the cloud”.

Being able to build apps for iOS, Android (and more) without writing any “code” is cool – Illumination Software Creator has been doing it for years.

But wouldn’t it be even cooler if you could do it all from a webpage that works on any device (including iOS and Android itself)?

Illumination IconYes.  The coolness would be off-the-charts.

So I made it happen.

I call it… The App-Make-inator.

Some quick details:

  • Visual development, building on the years of experience with Illumination Software Creator.
  • Easy to learn and use.  No “coding” required.
  • Builds native apps for multiple platforms — including iOS, Android, Windows PhoneHTML5 and Desktops.
  • Completely web-based interface with full support for designing, and building, your app or game right from Chrome on Android and Safari on iOS.
  • Free to use to design and test your app or game.  You only pay for a subscription for the platforms you want to ship on.

That’s right.  Build an iPhone app from the comfort of your Android tablet (and vice versa).

Here’s how it works:

  1. Load up the App-Make-inator webpage.
  2. Design how your app looks by drag-and-drop.
  3. Tell your app what it should do… also by drag-and-drop.
  4. Test your app right from the web page.
  5. When you’re ready to deploy your app, you hit a button and, wham-o, your app is generated (including complete, native source code for the platform you want to release for).

The App-Make-inator will launch publicly in March.  Currently in closed Beta testing.

ISC Portal BlocksBut wait… there’s more.

The source code for the latest version of Illumination Software Creator 5.0 (the Linux/Windows/Mac Desktop-based daddy of the App-Make-inator) is being released under the GPL.

Q: Why release Illumination source code under the GPL?  Why now?

A: The combination of the success of the “pay (what you want) to download” system, combined with the (completely selfish) advantages of having Illumination as an open project that the community can get involved in, makes this a no-brainer.  This isn’t an experiment in GPLing a closed source app.  This is the way forward.

The latest versions of Illumination Software Creator will continue to be released on the Download Page here, with the code available on GitHub.

Share Button

Everything here is free.

All of the software, video games and comics on this website are now available for free.

Illumination Software Creator, Linux Tycoon, Road Sign Hank and the Aliens… the whole shebang.  Free.

This isn’t an experiment in funding Open Source Software.  This is a permanent change (at least as permanent as anything in this crazy, mixed up world) to the way I am distributing my software — brought about, in part, by significant changes in my life.

I will be accepting donations that will be used to fund continued development, design and support — including funding others to work on them.  There’s even a handy-dandy set of sliders that allow you to set how much you want to donate towards various types of projects (including support for the BBS).  Those donations are entirely voluntary.  There is no catch.

Links are on the individual project pages.  And on the side of this page.  Or you can just click here.

All are entirely viable options.

Share Button

Software Alternatives… for DOS

I am building a list of alternatives for certain types of applications for an article series I am writing… and I’m only interested in ones that run in DOS (MS-DOS or FreeDOS).

For example, as an alternative to Excel and OpenOffice Calc — we have Lotus 1-2-3.  As an alternative to Word we have… well… Word (there is a DOS version).

But there are still a lot of holes to fill in.  So I am reaching out to you amazing, nerdy folk to help track down the best old DOS applications  that can replace some of the modern apps many of us use.

Here’s what I’m still looking for:

Visual App Programming (such as Illumination and App Inventor)

Visual Game Creation (such as GameSalad and BLABA)

Presentation Software (such as Powerpoint – I know Harvard Graphics exists… but I can’t find a way to get a copy of it anywhere… it seems to have vanished into the abyss)

Video Player (such as VLC, Totem, etc.)

Project Management (such as MS Project or Calligra Plan)

Instant Messaging (I know, I know.  I ask for a lot.  Possibly a DOS port of naim?)

For those interested, I will be including my complete list and details in an upcoming Network World article (I’ll link to it here).

Share Button