Nov 092014

With the holidays fast approaching, I thought it might be fun to share my list of on-the-go tech essentials for any geek technology enthusiast.

Leatherman Sidekick Multi Tool

What’s a “tech essentials” list without at least one multitool? I like this Leatherman Sidekick because of its great tool selection and reasonable price. The pliers are solidly built, and the locking blades are a welcome safety feature.

Fenix PD35 850 Lumen Flashlight

I discovered Fenix flashlights a few years ago, and have been hooked. The Fenix PD32 (link) was my first foray into the PD line, and is still the light I carry most often. Its successor, the Fenix PD35, is pictured below. With a removable clip, six output modes (including strobe), and full one-handed operation, this is a great choice for EDC (everyday carry). If it’s built half as good as my PD32, it will last you for many, many years.

Fenix PD12 360 Lumen Flashlight

Why another flashlight? This Fenix PD12 is small enough to fit on a keychain so there is little chance of you forgetting to take it with you. It runs on a single CR123A battery, which is the same type that the PD35 uses.

Swiss+Tech Utili-Key 6-in-1

This is one of those subtle little tools that you don’t even notice until you need it. Great for when you accidentally leave your full-sized multitool at home.

Pluggable USB 3.0 Memory Card Reader

Unlike most other memory card readers, this one has a built-in cable, which makes it great for travel. And, in addition to the usual SD, microSD, and MMC families, it supports the Sony Memory Stick (MS, MS Pro Duo, etc.) card types.


Micro USB to USB On-the-go adapter cable

This little USB OTG adapter cable is great for letting you access USB storage from your phone. When paired with the memory card reader above, you’ll be able to upload photos from your camera without a computer!

Anker 3.6A Dual USB Wall Charger

This one kind of speaks for itself – when you’re on the go, a quality USB charger is a must. The Anker 3.6A Dual USB Wall Charger has two ports – one designed for Android and the other for Apple devices. I like this one because of its slim design and lack of annoying LEDs.

Panasonic In-Ear Headphones

These Panasonic In-Ear Headphones have no business being as good as they are, especially considering that they’re under $10. They sit comfortably in the ear and produce surprisingly good sound.

Anker 10000mAh Portable USB Charger

For long car rides, a quality portable USB charger is a necessity. This Anker 10000mAh Portable USB Charger has two ports, and holds enough juice to charge an iPhone 4+ times or a Galaxy S4 2+ times.

Targus XL Backpack

With all of these essentials in hand, you’ll need a way to store and transport them. For the last 2.5 years, I have been carrying the Targus XL backpack.

Let’s get something out of the way: this backpack is huge. It’s designed to hold a 17″ laptop and it does so with ease. Even with a laptop, you’ll have enough room to hold multiple textbooks and most of the items mentioned on this page. It has an incredible number of pockets and zippered compartments for storing anything you could imagine. It is easily the most quality constructed backpack I have used, as well.

Product images owned by Amazon

 Posted by at 5:35 pm
Feb 212014

I was planning on writing a beginner’s tutorial for using PWM on raw AVR chips, but I found that Arduino already has a nice guide here:

The only change you need to make to their code to use it without the Arduino software is to remove calls to “pinMode”. Do so by using the appropriate DDR register twiddling or macros such as these:

 Posted by at 1:33 pm
Apr 182013

As many have noticed, Flash on Linux was recently upgraded to version This update breaks the ability to use Amazon Instant Video.

The best solution I found is at AskUbuntu. However, there were a few steps missing (such as purging the plugin cache), so I made an edit to add those steps. So, if you are having problems with the new Flash update, check out that link.

 Posted by at 1:50 pm
Sep 162012

I’ve been working on a rather large project for the past few months (a library), and I’ve had the need to customize how the debugger displays my classes during a debug session. I found two very helpful articles from Jared Par that I wanted to share.

Article #1: FlattenHierarchyProxy

A problem I ran into very recently is how to simplify the creation of DebuggerTypeProxy proxy classes for objects that have several levels of inheritance (I describe the problem on StackOverflow). Briefly, when debugging an object that has one or more base classes, the base and parent properties do not show side-by-side. Base class properties and fields are under a separate expandable list. This means that you need to expand through two lists to view a property that came from the base class. More levels of clicking are required when further levels of inheritance are used.

Solution: In his article, Flattening class hierarchies when debugging C#, Jared creates a proxy class called FlattenHierarchyProxy that accomplishes what I want: parent and base class properties and members are corralled side-by-side in the debugger display. It’s a really useful class that I suggest you check out.

Side note: I’ve made several modifications and improvements on the class which I plan to publish as a new open source project. Details to follow.

Article #2: DebuggerDisplay attribute best practices

This article provided some helpful dos and don’ts on the usage of the DebuggeDisplay attribute. It’s a quick read, but really useful: DebuggerDisplay attribute best practices

 Posted by at 9:38 pm
Sep 132012

For the last few days, Origin (EA’s content delivery system, not was pissing me off because although I entered my correct password, it would still reject my login. Then I would have to start the password reset process by requesting a reset key and choosing a new password. I was then logged in successfully, but the next time I went to log in with the password I just created, I’d have to start the process all over again.

The Origin application helpfully neglects to tell you that your password must be at least 8 and no more than 16 characters. Even worse, Origin still takes passwords that are longer than 16 characters – my guess is that it trims them down to the maximum 16 characters.

Solution: So, if you are having this problem, go through the reset process and be sure that you enter a password that is 8 – 16 characters. Then everything should work.

 Posted by at 2:17 pm
Sep 122012

Over the past few years, I’ve amassed quite the collection of basic electronic components (chips, resistors, etc.), little microcontrollers (Arduinos and Arduino clones), and a few other tiny gadgets (the coolest of which I consider to be this mini WiFi module). With all of these sensitive components and modules, I sought a simple and cost-effective way to store, protect and organize electronic parts. Here is what I’ve found to work.

Resistor kit

I used to consider resistors (and possibly capacitors too) the most difficult things in my collection to organize correctly and compactly. Luckily, I’ve discovered a way to not only stock up my collection but also organize the resistors that I already have. This resistor kit: Joe Knows Electronics 1/4W 86 Value 860 Piece Resistor Kit is perfect.

Each resistor is organized into a labeled baggie, and all the bags fit into the pictured box with a resistor code chart on the lid.

Joe Knows Electronics 1/4W 86 Value 860 Piece Resistor Kit

Capacitor kit

The same company that released the resistor kit also released this awesome capacitor kit. It’s organized just like the resistor kit, with each value of capacitor in its own little labeled bag. I highly recommend it.


Jumper wires

The most annoying thing in the world is making your own breadboardable jumper wires. I refuse to do it. Instead, I bought one of these: Elenco 350 Piece Pre-formed Jumper Wire Kit. The wires are the perfect stiffness, and the box keeps the various sizes from running into each other.

Parts organizer

LEDs, diodes, buttons… where do they go? For these (and similar parts), I’ve found this parts organizer: Stanley Consumer Storage 014725 25-Removable Compartment Professional Organizer.

The organizer has individual compartments that can be rearranged, and parts will not slip around (each compartment has a bottom, and when closed, there is very little space between the compartments and the lid). I wouldn’t suggest dropping the organizer, though, even if closed.

I also keep most of my ICs (integrated circuits, or, chips) in this organizer, but a little more care is needed (see below).

I own three of these things, and they are by far my favorite item in this collection. One day, I’ll post pictures of how I have everything situated in the organizers to give you ideas of how to organize your own parts.


Anti-static foam

Integrated circuits, microcontrollers, and a lot of other electronic components and modules are sensitive to static electricity. Many parts manufacturers protect their chips with anti-static foam. The leads of the part are pushed into the foam, which is slightly conductive. The best deal on this foam that I’ve been able to find is here: Techni-Stat Foam Conductive 24″ X 36″ X 1/4″ High Density

1/4″ is plenty thick, and two by three feet is much more than it sounds.

To store my integrated circuits, I press their little leads into sections of the foam that are the same size as a compartment in my parts organizer. Multiple layers of foam + chips can be stacked in the same compartment. You can also protect your microcontrollers and other electronic gadgets with leads by pressing them into this foam. I will say, however, that this foam does not have enough give to make storing things like Arduino Nanos simple.


Anti-static bags

Where do I store my microcontrollers and similar-sized items? Anti-static bags!

I have three sizes:

The 3 x 5″ size is perfect for storing smallish things like Arduino Unos. Larger boards (and/or those with protruding headers) are best kept in the 4 x 6″ bags. So far I have only needed the 6 x 10″ bags to store cables, but I might use them in the future to store finished projects.

These bags are resealable and reusable. They make it much safer for me to handle my electronics. Just make sure the bags are fully pressed closed, or else they may not block any static.


Label maker

Once everything is filed away and in its place, how do I know what is what? For this task, I use the Epson LabelWorks LW-400 Label Printer. Under $30 and with a bunch of options, it’s perfect for labeling my anti-static bags once their contents are safely tucked away. I also use the labels to label the compartments in my parts organizer.


Barcode scanner

I’ve actually had this for a while; a USB barcode scanner. Goes well with the label maker above, since the label maker can print barcodes. I also use this to manage my collection of books. At about $20, it’s pretty cheap; in fact, it was the cheapest barcode scanner that actually projects a laser that I found. Most of the cheap ones require you to hold the scanner up directly to the barcode.


Grid-It Organizer

Here’s something that I just got recently. It’s not just for electronics per-say, but it is really useful if you want to organize electronic devices such as flashdrives and cables. The best way to tell you about it is to show a picture of it in action:

It’s basically a rigid, flat (no, it doesn’t fold up or zip) organizer with stretchy, grippy straps that criss-cross. They are a variety of sizes and lengths, and to put something in the organizer, you simply lift the strap and slide your item in. The grippiness of the straps aren’t easy to see in the image, but trust me, this thing will hold on to your stuff tight.

What you can’t really see in the picture I posted is that there are tons of other straps behind the items. It’s endlessly configurable. I bought the black one, but I thought the red was easier to see.

Hopefully you enjoy these as much as I do! Please note that I don’t own any of these images; Amazon does.

 Posted by at 1:12 pm
Sep 092012

Found a neat blog will all kinds of topics on basic Microcontroller programming (as well as Linux and Mac hacking): The microcontroller-specific topics are here: The author writes long-winded posts just like me! I can tell we’d be friends.

One of the things that caught my eye was the collection of posts on SPI and also the fact that a lot of the programming examples and techniques target AVR (which I’m trying to get into).

 Posted by at 11:20 am