Letcool 350JP

Bottom line, for NES and below it works alright. If you can find one cheap, say $20 or less, it makes a nice toy. I can’t really recommend it and I would never consider it a ‘go to’ device.

NES: OK most of the time. Games with lots of sprites on the screen will cause slow downs.
Game Boy/Game Boy Color: Game Boy games work very well. Game Boy Color games suffer from the same problems as NES games; slow downs at inopportune times.
SNES and other 16-bit consoles: Too slow to be playable.

The speakers are not great. Everything sounds tinny.

Some Random Notes and Thoughts:

You don’t ‘install’ emulators. They’re already there. Just put your ROMs on your SD card inside of the games folder. Open the Games menu on the LetCool, browse to your ROM and hit the A button. I spent more time than I should have trying to figure that out.

The D-pad is pretty bad. Where the push registers in the travel of the button varies between pushes. This makes timing jumps and such difficult.

Most Current Firmware: http://boards.dingoonity.org/spmp8000-devices/letcool-new-firmware-and-patch-2012-tutorial/

Doom and Quake: http://boards.dingoonity.org/spmp8000-devices/spmp8kdoom-%28sdldoom-1-10%29-spmp8k-quake/


I’ve been lucky enough to get my hands on a GCW-Zero. I’ve had it for about two weeks now and have been playing with it just about every night for a hour or so before bed. I have mainly been playing Link’s Awakening DX, but I have spent a fair amount of time with each system I can emulate.

NES via FCEUX: Perfect. Tried a bunch of different games without issue. Made it all the way through Super Mario Bros. 1 without a glitch.
Game Boy/Game Boy Color via GamBattle: Perfect. I tried a couple of other emulators at first, both of which had problems with music or colors. (OhBoy notably)
SNES via Snes9x4d: I get the occasional slow down. It’s about like SNES emulation on a 3DS. SuperFX games do not work well such as Star Fox or Stunt Race FX.
GBA via ReGBA: No issues that I’ve seen. Mario Kart plays very well. I’m almost expecting to find something glitchy, but so far so good.
Playstation/PSX via psx4all: PSx4All is an unofficial port and the only PSX emulator I could find. Every game I tried was very slow and the sound stuttered or was lagged.
Genesis: I’ll confess I’m not much of a Genesis fan and didn’t try it. There are several Genesis emulators available.
Nintendo DS, Nintendo 64: Spec wise the GCW-Zero should be able to emulate these but there are no emulators yet written.

Some Random Notes:

The hardware is nice. It’s cool, in a nerd sort of way, to see Linux boot up on a handheld. The GCW is light and feels good to hold. You can hold it a long time and not get fatigued. The buttons are all easy to reach and have a good feel.

The native  games for the GCW-Zero are neat but nothing to write home about.

The one exception to the above is Kobo Deluxe.

ScummVM has a port but most of the games are pretty laggy. Should be all good once the software gets some optimizations.

Quake 1, 2, 3 and Decent 2 run really well. The control scheme made them unplayable for me though.

Doom is supposed to run well but for the life of me I couldn’t get it to work.

Warcraft 2 runs in DOSBox. It’s a little laggy but I was able to play the first mission without wanting to kill myself.

Adjusting the volume by holding the power button and using the D-pad is weird, but does the job.

By trolling Ebay I got my GCW for a lot less than retail. I’m not sure I would pay $140 for it.

The best comparison to the GCW-Zero are the Android handhelds put out by JXD. In my opinion the GCW-Zero has great hardware and questionable software. The JXD devices have questionable hardware (quality control issues) and great software (Android OS). If I knew for certain the JXD handheld I was buying had no hardware quality issues I would buy a JXD handheld over a GCW-Zero. Problem with JXD is no one knows if you’re going to get a device with a jacked screen, buttons, or who knows what else.

ThinkGeek is a reseller if you’re looking for a reputable seller.

Bottom Line:

If you can find one for less than $100 I would recommend a GCW-Zero. I think in a year the software will catch up and it’ll be an awesome device.

My other thought is that in a year the handheld Android consoles will be a dime a dozen with greatly improved build quality.

5/9/14 Update: With the release of the newest firmware and some updates to the SNES emulators, SuperFX games work pretty well. Stunt Race FX works great!

I do most of my software development these days using Python under Windows. I had the idea of rewriting my DICOM PHP class in Python with the mind of ease of use under Windows and including any needed DCMTK binaries in a nice package. From past experience with other languages I knew it could be difficult to start other programs in the background on Windows and then keep track of them. I set out to write a simple store and forward application using Python and the DCMTK to see what I was getting myself into.

Turns out Python has some really nice modules for running programs in the background. In a very short period of time I had the beginnings of pretty slick DICOM application. Even as a quick and dirty test application it is able to:

  • Read DICOM tags from files.
  • Start promiscuous DICOM storage services on port 4343
  • Write any images it receives into a directory.
  • Watch that directory for files and detect if those files are DICOM.
  • Compress DICOM files, using a compress type suitable to the file’s modality
  • Send DICOM files to a remote host
  • Perform a DICOM ping in order to tell if a DICOM host is up

You can download all of my files here. Just extract the zip, the good stuff is in snf.py. Take note that this is just proof of an idea and by no means safe or production worthy code.

If you don’t feel like downloading it, here is the complete source:

import subprocess
import time
import os  
import xml.etree.ElementTree as ET

# Is the file a DICOM file?
def is_dcm(file):
  f = os.popen('dcmtk/bin/dcm2xml.exe ' + file)
  out = f.read()
  if not "TransferSyntaxUID" in out:
    return False
  return True

def echoscu(host, port):
  f = os.popen('dcmtk/bin/echoscu.exe ' + host + ' ' + port)
  out = f.read()
  if not out:
    return True
  return False

# Dump out the DICOM header into an array indexed by the tag tags['0010,0010'] = some value
def dcm_dump(file):
  # Run dcm2xml to get some XML of the DICOM headers
  f = os.popen('dcmtk/bin/dcm2xml.exe ' + file)
  out = f.read()
  root = ET.fromstring(out)

  # The XML we get doesn't make it easy to look up tags. Lets reorganize it
  tags = {}

  # Get the meta tags  
  for child in root:
    tag = child.tag
    value = child.attrib['name']
    name = child.attrib['name']
    tags[tag] = value 

  # Get the real tags
  for child in root.iter('element'):
    tag = child.attrib['tag']
    value = child.text
    name = child.attrib['name']
    tags[tag] = value

  return tags

# pull the value from the array generated by dcm_dump()
def get_tag(tags, tag):
    return ''
  val = tags[tag]
  return val

def storescu_switch(ts):
  if 'JPEG Baseline' in ts:
    return '-xy'
  elif 'JPEG Extended' in ts:
    return '-xx'
  elif 'JPEG Lossless' in ts:
    return '-xs';
    return ''


# Compress a DICOM file if need be
def compress_dcm(modality, ts, file):
  switch = ''
  new_ts = ''
  if not 'JPEG' in ts: # we need to compress
    tmp_file = 'temp.dcm'
    if modality == 'US':
      switch = '+eb'
      new_ts = 'JPEG Baseline'
    elif modality == 'CR' or modality == 'DR' or modality == 'DX' or modality == 'SC' or modality == 'RG' or modality == 'OT':
      swtich = '+ee'
      ts = 'JPEG Extended'
      switch = ''
      new_ts = 'JPEG Lossless'

    f = os.popen('dcmtk/bin/dcmcjpeg.exe ' + switch + ' ' + file + ' ' + tmp_file)
    out = f.read()
      print out
      new_ts = ''
      os.rename(tmp_file, file)
    ts = new_ts
  return ts

# Send a DICOM file, compress if needed
def send_dcm(file):
  print file
  tags = dcm_dump(file)
  ts = compress_dcm(get_tag(tags, '0008,0060'), get_tag(tags, 'data-set'), file)
  switch = storescu_switch(ts)
  my_ae = 'PYTHON'
  remote_ae = 'DEANO'
  host = ''
  port = '105'

  print ts
  print switch

  f = os.popen('dcmtk/bin/storescu.exe -ta 10 -td 10 -to 10 ' + switch + ' -aet ' + my_ae + ' -aec ' + remote_ae + ' ' + host + ' ' + port + ' ' + file)
  out = f.read()
  print out
  if not out:
    print file + " sent OK"
# Program flow
# Start storescp
# Loop through temp_images directory
# Detect dicom file
# Figure out if compressed
# If not, compress based on modality
# Send File in another thread
# Send OK: Delete File
# Check on storescp... echoscu myself... if no good for five tries... kill and restart storescp

# Directories and defines
base_dir = "C:\\rrad\\r"
temp_images = base_dir + '\\temp_images'

listen_port = '4343' # Hopefully always free

# Start storescp
storescp_args = "-dhl -td 20 -ta 20 -xf " + base_dir + "\\storescp.cfg Default -od " + temp_images + ' ' + listen_port
subprocess.Popen("dcmtk/bin/storescp.exe " + storescp_args)

x = 0 # count runs
bad_echoscus = 0 # Count failed echoscus

# Main loop
while True:
#  print temp_images + " : " + storescp_args + "\n"
  print "Run: ", x

  # check out the temp_images dir for DICOM files
  for fn in os.listdir(temp_images):
    if is_dcm(temp_images + '\\' + fn):
      send_dcm(temp_images + '\\' + fn) # Found one, send it
      os.remove(temp_images + '\\' + fn)
      print "Removed non-DICOM file: " + fn

  # Every 5 runs, echoscu myself   
  if x == 5:
    if echoscu('localhost', '4343'):
      print "ECHOSCU OK"
      bad_echoscus = 0
      print 'Echoscu NG'
      bad_echoscus += 1

    x = 0
    if bad_echoscus == 3:
      print "Too many bad echoscus"

  x += 1 

Crabby Wallet

The Crabby Wallet was one of the first Kickstarter wallets around. It managed to get $300,000 over its original pledge request of $10,000. Typically such a large amount over the original request spells death for a Kickstarter, but the folks behind Crabby managed to pull it all together and deliver the wallets pretty much on time.

I received my Crabby Wallet about a week ago and immediately put it to use as my day to day wallet, replacing a Ridge Wallet.

The first thing you notice is that the Crabby Wallet isn’t the prettiest girl at the dance. It’s black elastic with an elastic strap that comes in a few different colors. Going purely by looks I would pick my Ridge Wallet any day. The second thing you notice about the Crabby Wallet is that it’s small and thin, oh so very thin. The crabby is slightly longer but slightly shorter than a credit card. Cards in the top slot stick out a bit. This makes it very easy to put cards in and take them out, at the same time an elastic strap holds them in so there is no danger of them falling out. With four credit cards inside the Crabby Wallet is roughly the same thickness as a Ridge Wallet empty. It is by far the slimmest Wallet I’ve owned.

The Crabby Wallet solves my one complaint with The Ridge, pocket feel. The Ridge is smooth aluminum, it would slide around my pocket and end up at odd angles. Sometimes my key fob would get involved and sit on the wallet making it very uncomfortable. The Crabby Wallet is made out of elastic, it doesn’t slide around in my pocket. Its thin enough that if my key fob does sit on top of the wallet its not a big deal.

For the ease of use and comfort that comes with the Crabby Wallet I can get over any problems I have with its looks. I really like the Crabby Wallet and it will be the wallet I use for a long time.

You  can buy a Crabby Wallet from http://www.crabbygear.com/

2013-12-16 Update: The elastic began to wear quite a bit and fray. On a recent trip I was pulling cards in and out of the wallet seemingly constantly and it just about did the little guy in. As it is now, the wallet still looks alright, no holes or anything glaring. The elastic band is noticeably frayed. The wallet is very loose. If I dropped it I think the contents would spill out.

It’s the first wallet I have ever worn out and it only took a few months. It’s sad because I really like it.


The first and only Nintendo 3DS flash cart was released last month. Here is my take on it.

It works, mostly. You can put a Nintendo 3DS ROM on an SD card and play it via the Gateway cart. If you’re used to DS flash cartridges and their features you’re going to be in for some surprises though.

As of this writing the Gateway 3DS only works on firmware 4.5. If you’ve ever updated your 3ds you’re out of luck for now.

The Gateway 3DS only allows one rom per SD card. The SD card does not need to be the exact size of the ROM.

The Gateway 3DS does not run any homebrew yet. That means no emulators for SNES, GBA, ect.

The Gateway 3DS does not run DS games. You need a DS flash cart like the DSTWO for that.

The biggest problem is that games that utilize saves do not save once you take the cartridge out. Chew on the implications of that for a bit.

Sadly, that’s a whole lot of ‘does nots.’ Good news is that the makers of the Gateway have plans to resolve all of these problems in future firmware updates as the cartridge is upgradable.

In the meantime the Gateway 3DS is more of a proof of concept than a real usable flash cartridge.


Galaxy S3 with Game Klip

I like playing old games. I missed out on the NDS, Game Boy Color, GBA, and the butt end of the SNES and Genesis. Playing games from those consoles is actually something new for me.

I’ve known about old console emulation on Android phones for a long time. I had an original Droid phone that ran NES games alright. Having to use the touch screen as a controller though makes playing the games frustrating. I’ve played around a bit with using a Wiimote as a controller but then you have to prop up the phone somehow so you can have both hands free to hold the controller, no fun either.

Jump cut to the GameKlip. The GameKlip is a bracket that fits around a PS3 Dual Shock 3 controller and attaches to your Android phone or tablet. You get a real controller to use with your games and you don’t have to try to balance your phone on your lap. The GameKlip is a great idea and I can’t say enough good things about it.

I currently have a Samsung Galaxy S3 running the stock android ROM that came with it. I have attempted to use other ROMs such at CyanogenMod and Slim Bean but they would cause the game emulators to crash after a bit of play. Very cause and effect. Flawless under the stock ROM, reboot into CyanogenMod, load the same quick save up, play for a few minutes, emulator locks up. Bummer.

How well does the Galaxy S3 emulate the different consoles?

PSX: Great! Surprising considering how other emulators perform. Using RetroArch.

N64: It’s hit and miss. Some games wont even load. Speed can be an issue. Mario Kart is sort of playable. Slower paced games like Ogre Battle work ok. I’m currently using MuPen64 Plus AE. I’ve tried several other emulators and its the best all things considered. If you mix and match emulators most anything will at least load. Playability not so much.

SNES: It works well. There can be slow downs in spots with lots of sprites moving around (Contra 3), but nothing that ruins it for you. I’m using SNES9x EX+

Genesis: The same as the SNES.

NDS: Works great. Trying to show both of the DS screens at once on the little S3 screen just makes me wish I had an Android tablet to run the emulators on. Using DrasStic.

GBA: Perfect. No complaints at all. I’m using My Boy!.

GBC/Gameboy: Perfect. I’m using GBC.emu.

NES: Perfect. I’m using John NES Lite.

What about sound lag?

I’ve read a lot about Android emulators having bad sound lag. For instance, you grab a coin in Mario and you don’t hear the sound for it until a second later. Judging from the amount of reports on the Internet I’ve seen it must be a real problem. I already had an Android phone and most of the emulators have free to try versions. I didn’t have any risk involved in trying it out. If I had to buy a phone (or even one of the Android handheld consoles or a tablet) and then hope that emulation works, I wouldn’t have done it. That’s how worrisome all of the lag reports are.

Luckily though I have not had any problems with sound lag in my setup. Is it just my phone? Maybe my combination of emulators, ROM, and Android version is good? Dunno. It just works right for me as is.

What about RetroArch?

Why use all of these other emulators? RetroArch is free and emulates every system!

RetroArch is a good concept. All of the emulators in one place, no questions about licenses, and free. Good times.

RetroArch is hit or miss though. For instance, PSX emulation under it is near perfect. GBC emulation suffers from horrible slow downs and choppy sound. Considering the specs of the two systems you would expect the opposite problem. Using different emulators tailored to a specific system works well for me.  I may have spent $15 total for all of them, but I get a lot of value back in return.


I have a Nintendo 3dS XL. I wanted to get a DSTWO flash cart to run emulators. While researching what to buy I couldn’t find a straight answer on how well the emulation works, specifically for SNES and GBA. About the one constant I could find was that the DSTWO has a CPU in it to help out with emulation. Most of what I could find beyond that went from one extreme to the other, it was horrible or it was great.

After trying out the DSTWO for about a month this is what I’ve learned.

SNES: Works very well. Games with lots of sprites moving around at one time will slow down a little, Contra 3 for instance. I remember Contra 3 slowing down a bit way back when I was running it on a real SNES though. Games that use the SFX chip are super slow and not playable. I played a Link to the Past, Ogre Battle,  and Super Mario All Stars (+ World) just fine.

Genesis: About the same as the SNES emulation. The Sonics play well.

GBA: Never saw any problems.

NES, Gameboy, and Gameboy Color titles all play well.

Tip #1: If you try to load the DSTWO and you get a ‘No game inserted’, or ‘No game card inserted’ error, take the cart out and press it back in pretty hard. Its not a problem with how you formatted the card or any other some such. It’s a problem with the cart not seating down properly and the pins not making contact. Just give it a good push in.

Tip #2: The SD slot in the DSTWO is spring loaded. You push the SD card in and it clicks when it is seated. You push it in again and it clicks and the card pops out. The bits inside the card that handle the spring and the seating are cheaply made and wear out after a while. This happened after about ten in and outs for me. I’ve read on some forums about it happening sooner and of course some people never have a problem at all. My SD card will push in, but it no longer clicks and sticks. I ended up opening the DSTWO up, removing the spring and taping the SD card down. I suppose I could of (and should of) sent the card back for an exchange, but I didn’t want to be without it for that long.




After owning a Ouya for a week I’ve returned it to Amazon for a refund. The Ouya had problems that I couldn’t get over. I could have waited and hoped some future update would have fixed those problems, but after dealing with Ouya support and reading their forums I wasn’t confident it would happen.

The Bad


I wrote a whole post about my frustrations with overscan. The fact that it had the problem was frustrating enough, the response I received about the problem put me over the edge. This problem and the response is the majority reason I returned my Ouya.


The lack of support is appalling. There are issues, such as the overscan problem,  that make the Ouya unusable for people. The response you receive, if any, is that they’re working on it. In the case of the overscan problem, it’s been about three months and three firmware updates with no fix. I did get a response about my problem with overscan, but I felt the Ouya representative was annoyed I was even bringing it up. It’s a problem with your TV after all.

The touch pad

The touch pad on the controller is an awesome concept. Their implementation is bad and almost unusable. It’s hard to reach and when you do get a finger on it the cursor flies around on the screen almost at random. Also, you have to really give it a good thump for it to detect a click.


I personally didn’t care much for the games. My selection was very limited though because of the overscan problem.

The Interface

The interface was overly simplistic and somehow sluggish. I didn’t like that my side loaded apps were in a different spot than my Ouya Store apps. The store having some options to sort would be nice.


The Ouya’s wifi is just plain bad. Side by side with an ASROCK 330 using a no name USB wifi dongle the Ouya had worse reception,  higher ping, and a slower speed. I had to use a wired connection for XBMC to properly play videos on the Ouya.

The Good

I don’t want to come off as an Ouya hating fan boy. The Ouya has some great ideas and some great qualities.

XBMC and Plex ran like champs. They self corrected for my overscan problem. They both played all of my videos without any long buffering or stutters. (once on a wired network)

The emulators are awesome. I tried everything from the Atari 2600 to the PSX, all worked fantastically and corrected for the overscan.

Where it went wrong for me

I have an old XBOX running XBMC I use for emulators, then I have an ASROCK 330 for XBMC. My hope with the Ouya was to combine those into one machine. As an emulator and XBMC box Ouya did well. The overscan and the other problems (especially the overscan) just bugged the hell out of me. I didn’t want to use something I felt was broken.

I think the Ouya as a concept will ultimately be successful. Either the Ouya 2 will correct all of the problems, or a competitor will appear that does. If nothing else, the Kickstarter shows the market for a set top entertainment device that is open and hackable, I just don’t think the current Ouya is it.

I love David Nacho Cheese flavored sunflower seeds. I used to buy them by the case in 5.25 ounce packs from Amazon. Sometime last year Amazon stopped selling them, thinking this was just Amazon being weird I found other website to fuel the addiction. As time went on they too would stop selling the big packs, eventually leaving the small packs as my only option. Something was very wrong in the world.

After a lot of Googling I only found one other person that seemed concerned, complaining and asking questions in an Amazon review to no avail. What was going on with my beloved seeds? Why wasn’t the world in an outrage?

Not being able to find any information online, I sent an email to Conagra, the folks that own David. This was the response:

It’s great to hear you enjoy our DAVID Nacho Cheese Sunflower Seeds!  I’m sorry to say we have discontinued our 5.25 ounce and 1.75 ounce sizes, but we do still have our .8 ounce size available. – Christine


Amazon still sells the small packs of Nacho flavored seeds.  The small packs taste the same as the large packs. For me it takes about two packs to add up to what I’ll eat in a sitting.



I’m picky about wallets. I always have and still do only keep them in my right front pocket along with my car key fob. I rarely carry cash outside of an immediate need. When it comes to wallets the smaller and thinner the better.

Dopp Regatta Wallet

Dopp Regatta 88 Series Front Getaway Pocket

I’ve had my Dopp Wallet since I was a teenager. It sets the standard by which I judge all other wallets. Its thin, it has more than enough room for all of my cards, and it has an ID window. There is plenty of room for bills.  Your cards, bills, and ID are all easy to get to, but at the same time do not accidentally fall out. My only real problem with the Dopp Regatta is that I’ve used it for 15+ years and I would like something new.

I didn’t think I could get bored with a wallet, but over the last couple of years I’ve found myself buying other wallets and trying them out.


Twelve South BookBook

The BookBook is a wallet and phone case combo. I used it for a couple of months with my iPhone 4S. In the end I went crawling back to my trusty Dopp wallet and glow in the dark Gameboy cell case because of the thickness and the mute problem explained below.


  • It looks good.
  • It makes holding your phone while browsing the web, playing games, or whatever, comfortable.
  • I received lots of compliments from people after they saw the BookBook.


  • Between my phone and my cards it is just too thick. Depending on my pants sometimes I couldn’t sit with it in my pocket.
  • The 4S version doesn’t have a hole for the camera, I had to slide my phone out of my wallet to take a picture.
  • Whenever I would hold the phone to my face to speak sometimes it wouldn’t detect this motion and turn the screen off. This led to me constantly putting the phone on mute with my cheek. This was beyond annoying.

Russian Mario WalletRandom Russian Mario Wallet

I purchased this wallet off of some guy on the Something Awful forums. The graphic on the front made it a must buy. The wallet is made out of vinyl, the same sort pool toys are made out of. When you put a card in it the vinyl grabs on and never lets go. I had so much trouble getting the cards out of the wallet it has never left my house. Vinyl is not a good material for wallets.

The Rubber Band Method

The ultimate slim wallet is the rubber band. Problem is you look like a homeless person when you try to pay someone. I tried a rubber band out for about a day, felt stupid, and stopped. I can’t give it any technical complaints. I didn’t like for the same reason I don’t turn all of my old jeans into shorts; standards.


The Ridge Wallet

The Ridge: Front Pocket Wallet

I’ll confess I have a soft spot for Kickstarters. The number of interesting or just plain unique products being developed through there piques my interest. Luckily I have yet to be burned by any failures. The Ridge is a Kickstarter I funded back towards the beginning of the year and received a few weeks ago. That’s a pretty fast turn around for a Kickstarter.

The wallet is two black brushed aluminum plates held together with heavy duty elastic. It has a nice heft to it. You can buy them with a money clip attached to the side. In a pinch you could cram some bills into the clipless version. This is the wallet I am currently using.


  • I really like the way it looks. Really do.
  • It’s small, the width/height is just slightly larger than a credit card.
  • You can be all cool and scan your cards without actually taking them out of the wallet.


  • Sometimes it gets all wobber jobby with my key fob in my pocket and becomes uncomfortable, leaving me to adjust things as if I’m playing pocket pool.
  • The two metal plates that make up the sides are about four credit cards thick. If these were thinner you would have a much thinner wallet.
  • While I have zero indication this will happen after my several weeks of use, I worry about the elastic wearing out someday.

Crabby Wallet

Crabby Wallet

This is another Kickstarter wallet. I have yet to receive it. Its a lot like The Ridge, except made out of cloth. I’m hoping the cloth will improve the pocket feel and thickness of The Ridge. I’ll update once I have a chance to try it out.


 9/17/2013: I received my Crabby Wallet and I have posted a review of it here.

2/3/2014: I’ve reviewed the Kickstarter funded Simple Wallet.

 8/26/2014: I’ve found a wallet I really like.