Design Patterns in D: Introduction
This and the posts to follow on this topic are a mix of two of my favorite software engineering topics: design and the D programming language. In particular, I’ll be discussing design patterns as first revealed and described by the “Gang of Four”1. In this, the first of the series, I’ll briefly cover some ground [...]
Printing From an Arduino/AVR
If you’re like me, you have a lot of old classic equipment. Besides my beat-to-death Honeywell CP/M and oft-never-found TRS-80 , I have a ton of other old gear like ISA 10bT NICs, VESA and Hercules graphics cards, 400MB IDE hard drives, just to name a few. Well, while digging through my junk looking for [...]
Examining Options for μnix Flash File System
Flash Memory Flash memory is non-volatile storage on a chip that can be electrically erased and programmed. Flash memory has recently improved to support much larger densities than before, making it a viable secondary storage facility. However, flash memory just like EEPROM , has a stated endurance . The endurance of the flash memory is [...]
Finding All Defined Macros in (avr-)gcc
Have you ever scratched your head during a coding session and needed to know how or if a particular item is defined and known/understood by your GCC compiler ? For instance, I often need to know what host operating system I’m on. Should i do a #ifdef __windows__ … #elsif defined(__linux) … #else // defined(__avr__) [...]
Fuzzifier for Fuzzy Sets on AVR
Hi again, I recently wrote a fuzzifier in C++ for an online game project I’ve been working on. Then, for fun, I made a few tweaks to the code and compiled it as a static application and flashed it on an Atmel ATmega644P AVR microcontroller. The output was simple ASCII text via the serial USART [...]
For a Love of Numbers #1: Sequences
Hello and welcome, This is the first post in a series of posts on numbers, number theory , and math. In this post, I cover some basic sequences . Expand the content below to explore these sequences 1 . All sequences, unless otherwise noted, include the first 50 numbers in the sequence. Where found, images [...]
The MIT Battlecode Competition Kicks off Today
As some of you already know, there’s a small, sub-genre of computer games called programming games . In these types of games, the main thrust of the primary mechanic is that you must pre-program a robot/tank/entity to do actions and movements and attempt to respond intelligently to any and all threats from other players trying [...]
Cogitation Conundrum #2
Ok, here’s the next Cogitation Conundrum for you. It might keep you thinking for a few minutes. Professor Brainiac, who is getting on in years, is growing absent minded. On the way to a lecture one day, he went through a red light and turned down a one-way street in the wrong direction. A policeman [...]
Cogitation Conundrum #1
I f you’ve followed my sporadic and seemingly unscheduled blog posts, you’ll be aware that I, from time to time, write on the topic of logic. As an addendum to my normal posts on logical fallacies, predicate calculus and first order logic axioms, I’ve decided to include an intellectual challenge here and there. I was [...]
Hit the Ground Running with C++ on AVR
I’ve often read, seen, and heard plenty about eaking out every last cpu cycle of a controller with assembly or sparse C functions, but all too often C++ gets a bad rap. Criticized for it’s supposed bloating of virtual tables, polluted namespaces, and cout/cin impotencies, C++ is often railed against by the most die-hard of [...]





AVR BattleDroids