The Promising Future of Artificial Intelligence

The following is a guest post

Artificial Intelligence (AI) has been a hot topic in the tech and innovation world as of late.  It has fueled the stuff of great sci-fi movies for generations, but only now is gaining traction in real, marketable products and services.

Yet, video games that feature AI aren’t particularly appealing; at least, not yet anyway. AI is functional, yet still lacks the flexibility and common sense of a real human. This is evident in plenty of online multiplayer games, where most computer-generated characters lack human reactions in complex situations.

⇥ (read more)

Mishandling errors

For the past 3 years, I’ve been working full-time as a software engineer.  This has been a substantial, if not calculated, change for me.  I’d been an hardware engineer for longer than I care to think about.

Perhaps the biggest, while subtlest difference between the two career paths that I didn’t see coming is this: determinism.  I simply love the relative absolute nature of software.  I’m sure some might argue me on that one.  But, you get my point.  For the most, the outputs of any software project can be clearly predicted; the inputs can be nicely quantized, packaged, and displayed in automated fashions.

⇥ (read more)

Day 30+: a postlude

(Copyright Vectorbelly Webcomics)

While the rest of the world is preparing for super sportsing, I’m taking the opportunity to tinker. This post is a continuation of the GaSiProMo challenge I took part in a while ago.

Today’s update brings in the next stage of that project with my OsRAM LED display: better packaging.

The goal here is to reduce the amount of “rat’s nest” wiring from the prototype to a more manageable amount of cabling for better display of the pretty blinky lights.

⇥ (read more)

Darth Rob

In honor of this new Star Wars movie I keep hearing about, I thought I’d dig up some photos from my past, when I was braver and perhaps even nerdier in my love of Star Wars.

Here is my costume from 1999…

Day 30: final day

This post is part of the GaSiProMo challenge.   You can read more about this here.

I’ve got most of the bugs ironed out in my display interface, but not all have been squashed in the driver portion.  In other words, the method in which I can input text into the OsRAM is working nicely (I’m using a serial port console), but the nuts and bolts of how strings are sent to the display — arguably the most important part of this project — remains broken slightly.

The problem is that I was lazy.  I should have paid more attention to the WR and CE lines for proper data latching into the display at the right times.

⇥ (read more)

The lack of file tags in Windows

So, I’m supposed to be working on this month-long challenge.  But hey!  I found some other project to work on.  It’s in service of my recent computer switcheroo, with which I’m a little obsessed lately.

Since recently switching from OS X on an iMac to Windows 10 on a laptop, I sorely miss file tagging. I’ll admit, this is one feature that I had not given much thought when I was preparing for the big leap to another operating system.

Though I’m happy with my switch, I’m also trying not to live in denial.  This is still Microsoft we’re talking about.  They have made incredible advancements as of late with their Windows 10 version.  And yet, in some areas they are very much behind in innovation compared to Apple.

⇥ (read more)

Day 15: display testing

This post is part of the GaSiProMo challenge.   You can read more about this here.

So I have my display working sort of.  It’s definitely showing good old ASCII characters.  Here’s a quick video of it in action:

You can see my code at GitHub.

I’m quickly realizing that I will need a more sophisticated text parser to make this thing usable.  ‘Cuz sending a character at a time for bit-fiddling pretty much sucks.

Platform Interchange

I suppose that the “Slippery Slope” phenomenon applies to me right now.  A chink in my Apple armor developed some time ago.  Then I got out of the iPhone world all together, which amazed me as much as it did my friends.

The recent maturity of Google’s cloud services (Photos, Drive, Music, etc.) had a considerable hand of this transition.  It’s very hard to argue with free, no matter who you are.

But then you do pay for free.  You pay with your time investment and commitment to the new platform.  For me, that cost has been relatively low.

⇥ (read more)

Day 6: early firmware testing

This post is part of the GaSiProMo challenge.   You can read more about this here.

Things are progressing nicely.  I have the display fully wired now to the Mega.  It’s a spaghetti mess, but it’ll work.
I have the serial port on the Arduino working nicely for debug.  I also did a fair amount of thinking with regards to data and address packetizing.  It quickly became apparent that doing a bunch of digitalWrite calls for all this pins (8 data, 5 address, per character of the display) would be a nightmare.

⇥ (read more)

Day 3: Arduino setup

This post is part of the GaSiProMo challenge.   You can read more about this here.

I’ve had a bad experience with Arduino.  But perhaps I was just cranky that night.  I was also unlucky with a defective Uno.

The good news is that for my new project (which has a deadline), my new Arduino Mega is not in fact defective.  I can attest its functionality tonight, at 10:45pm.

This platform is pretty slick.  They cleverly have positioned it between full language control and  GUI-only.  The syntax is mostly C strict.  But there are abstracted functions and methods that keep the very low-level hardware constructs from mucking up the works.  In a word, Arduino has “de-engineered” the sometimes maddening experience of working in firmware on any given microcontroller.

⇥ (read more)