Let’s make a tablet!

UPDATE: I’ve since returned this unit to the vendor. It’s really bad. The native screen resolution is abysmally small, plus is a weird value such that none of my OSes could handle it. The device did its own down-sampling, but did a terrible job of it. Also, the touch sensing was almost completely broken.

Apparently, there is a thing with these small displays where they advertise them as “1080p input!”, meaning they will make attempts to downsample a 1080p data stream to whatever their native resolution is. The resolution on this one was actually 800×480. I couldn’t get Linux Mint or Windows 7 to display on it at the native resolution. It would take other resolutions and do some pretty awful down-sampling, but it always managed to cut off the edges enough that the taskbar and window title bar were never visible.

The touch feature was also almost completely broken, as well. I tried it on Linux Mint first, trying a variety of different drivers available for the device. All Linux drivers from this manufacturer were compiled from source. I tried the one copy named “Linux” on the included CD and tried two copies downloaded from their website for “Ubuntu 6.06″ and “Debian K26″. Of course, if we’re compiling from source, why would we need separate sets of source code? But anyway, at first it didn’t seem to work, so I thought I just failed to install the drivers, but things that happened later changed my mind. Windows 7 found a HID driver for it, identified it correctly, but it still didn’t work correctly. I also tried to download the latest driver off of their website, but their ZIP file is corrupted and won’t open with either the Windows Compressed Files utility or 7-Zip.

Moving on with the driver found for me by Microsoft, I now tried using the touch screen as the primary display, disabled my main monitor, unplugged my mouse, and restarted the computer, thinking it might help stabilizing the situation. I finally realized that I had seen the same behavior on Linux, I just hadn’t yet figured out what was going on because Mint wasn’t showing a cursor for the touch events and Windows did. It had the axises completely swapped, and also reversed, so dragging down the screen moved the cursor left. Also, it had no concept of a continuous drag event. It would sometimes drag, sometimes spawn a series of rapid clicks instead.

In other words: complete, unworkable garbage.

I’d be interested to hear from people if they have a recommendation for a simple touch screen. I think I’d like at least 15″ size, and I’m a little concerned about the popularity of multi-point capacitive sensing over the older-style, one-point-only resistive sensing. Yes, the capacitive is more precise, but the resistive doesn’t freak out if it gets just a little damp.

unbox14

So here is my latest toy. It is the Lilliput 7″ SKD Open Frame Touch Screen VGA Monitor with HDMI, DVI Input (note: this is not a referral link). You can see more pictures of the device on my Tumblr page. I’m thinking of either building my own tablet computer or a sort of remote control system. It’ll end up being a little chunky, but I don’t mind.

The natural DIY platform for such a project is the RaspberryPi. I’m thinking I want to take the stock Raspbian distro and hack together my own window manager for it to suit the small, restricted dimensions of the system. I’d like something halfway between a CLI interface with its infinite possibility and a GUI interface with its emphasis on geometric arrangement.

Anywah, I’ll keep everyone posted with my progress.

 

FOSSCON 2013

FOSSCON is right around the corner, and Hive76 is gearing up for another run. Our very own Jordan Miller is presenting the keynote talk on building Open Source Infrastructures for Science. We’ll be in our own room again this year showing off our latest gadgets and creations, our tools and our know-how.You can expect to see a 3D printer in action, Circuit Bending, Piezo madness, Battlebots and more. We’ll be there August 10th, 9AM-5:30PM.

Consider registering and getting a FOSSCON T-Shirt and helping us come back next year! As always, feel free to come and ask us questions via WordPress, Twitter, E-mail, or IRC.

 

Genetic Algorithm Visualization Toy

Some explanation for a program I posted here a little while ago.

 

Genetic algorithm playground

See the effects that small changes in environment have on evolution

See the effects that small changes in environment have on evolution

I’ve been studying artificial intelligence for many years. One of the AI constructs that has fascinated me the most has been Genetic Algorithms (GA). With a GA, one “evolves” a solution to ones problem. A “gene” is a candidate solution to a problem, and individual alleles in that gene are individual parameters to the function that attempts to solve the problem. The output of the function is evaluated for “fitness”–essentially, how well it solved the problem–and good candidates are intermingled for the benefit of future generations, while particularly bad candidates are discarded; “survival of the fittest” in its most incredibly literal sense.

This little sketch was written for a couple of reasons. First, I’ve been seeing some AI code that I felt like has been overly complicated. A lot of principle AI algorithms are quite simple to implement, once you understand them. But also, I wanted to demonstrate the flow of a GA and how it tends to find intermediate solutions, improving over time.

This sketch will require some basic programming knowledge to be able to alter the fitness function and make the GA do different things, but I think it can be an exciting and compelling exploration into code. There are actually a few simple things one can do to alter the course of the algorithm. Each “gene” represents a row of pixels in the image being drawn when you click “start”. As it currently stands, it will “evolve” solutions converging on the color red. If you change “if((i%4)===0)”* to read “if((i%4)===1)”, it will converge on green. “if((i%4)===2)” converges on blue. There is a 4th opacity component at #3, but it basically just ends up showing black. It isn’t necessary but I just didn’t feel like fixing the code to get rid of it, and maybe someone else will find it useful.

Instead of “if((i%4)” you replace the 4 with another number–say a prime number like 31–you get some interesting results as well. There are a lot of things that you could do here, it’s just a matter of whether or not you wish to pluck at it.

* the percent sign, ‘%’, is known as the modulus operator. For positive numbers, it returns the remainder of a division operation. So, “13 % 5 ” return 3 because 13 divided by 5 is 2 remainder 3 (i.e. 2 x 5 + 3 = 13).

 

Guitar Stuff at Hive

031713150944

Last year, I purchased a 1970 Telecaster copy for $120 from Elderly Instruments. The frets were no good and much of the hardware was corroded, so it seemed like a good instrument to hone my repair skills on.

The first thing I did was take it to Hive and bounced ideas around with some folks. One thing I really love is that no matter what kind of project or idea you’ve got, there’s at least one or two people at an open house who have some expertise to share. (more…)

Tagged with:
 

Kthxbye!

kthxbye

kthxbye

 

Well everyone, so long, and thanks for all the fission reactors. I’ve moved to Alexandria, VA, to be with m’lady, plan our wedding, start a doggy dating website with some folks, and maybe spread the joy of hackerspaces a little further south. Step 1) figure out the joy of hackerspaces.

It’s a bittersweet change, as I am really going to miss Hive76 and her amazing people. You all taught me a lot and I will forever hold it all in my heart with great appreciation.

I’m not disappearing completely. You will still receive the occasional displeasure of reading some new, overly-verbose, trying-too-hard rambling from me on the listserv and in this blog. I plan on visiting on occasion as well. But regardless, here are a few of those things that I learned thanks to Hive76:

  • Everything is permitted. There is an avenue for doing just about anything. Don’t let the fact that you’ve never done something before prevent you from doing it now. Don’t ask permission to do it, either. People ask permission to do things in a lot of different ways. They stall the doing by looking for a job in what they want to do, waiting for an employer to give them permission. They research the “best” way to do something, asking questions of everyone around them, never actually just giving it a try. Someone will show up in your life with a need for help and you can help them by just saying, “I bet I can do that”, without knowing for sure if it is so. You win some, you lose some, hence it is a bet, but you always learn something, and that’s almost as good as winning.
  • Anything is possible. If you put your mind to it you’re capable of just about anything. Things you could never imagine will happen if you just try. Like having a piece of art put into a museum. Or meeting a legend of technology. Or just plain making the block clean for a change. “Luck is what happens when preparation meets opportunity”. A place like Hive can help you always be prepared for the opportunities that inevitably come our way.
  • It’s okay to do stupid things. Actually, it’s even preferable. We are too serious on most occasions. Having a habit of doing things just to see them done–things that have no inherent value of their own, beyond any spectacle they may bring–is pretty much the only way new discoveries are made; certainly the important ones. Without time for play, there is no art. Without art, there is no culture. Without culture, there is no language, no nation, no city, no people.
  • Don’t ever let anyone tell you what is right. Not a boss. Not a friend. Not your parents. Not a single person. You have to decide, and you have to get good at deciding, because half of the people out there are wrong and it’s on you to figure which half. Depending on what it is, more than half of everyone is wrong. There aren’t many places where less than half of everyone is wrong. So get good at deciding what is wrong and then trying new things to try not to be wrong. But absolutely, most importantly, respect everyone else’s path to figuring out how not to be wrong, because if you try to tell them you’re right, you’re probably wrong.

I’m stopping at 4 because it’s not wrong to stop at 4 and I’m also tired of typing for the day. Don’t forget to check out Hive76’s Open Houses on Wednesdays at 7pm. I understand they have an opening for memberships now.

 
Necessity is the mother of all invention

Necessity is the mother of all invention

Michelle doesn’t drink coffee, so she does not own a coffee pot. However, she did have a few coffee filters left over from making cocktail bitters. Fortuitously, she had also finished off a jug of milk the night before, leaving it on the counter because I hadn’t yet taken out the garbage (see! Procrastination pays, probably!) So, the milk jug bottom with a hole cut in the center holds the filter. The milk jug top holds the bottom instead of the filter because the handle was crumpling the filter. The weight of the jug assembly with grounds and water make the chop sticks grip the assembly on top of the jar (my favorite part), otherwise the top-heavy nature of the assembly would probably make it topple over. And now coffee is ready! I can’t tell if it tastes good because it’s freshly ground or because I’m just overly pleased with myself.

 
Fight!

Such and Such vs. Uberclocker Advance (credit: Charles Guan)

This past weekend I had the great pleasure of competing at NERC‘s Motorama Robot Conflict with my fighting robot Such and Such – built 100% at Hive76.

Though it might have looked a little boring, that was the most exciting match of the competition for me. After 2 years of on-and-off work, Such and Such, the most ambitious robot I’ll ever build, worked like a charm.

(more…)

Giving the Gift of Making

This year I wanted to do something a little different for Christmas gifts. Instead of just getting people electronics or video games or clothes, I wanted to give something that encouraged creativity and making. A lot of people never even think to try to make things on their own, so maybe a little hobby-style gift will give them a taste and spark an interest.

Texas Instruments MSP430 LaunchPad.

To that end, I did two things. First, I bought ten MSP430 LaunchPads. These things are really inexpensive, so they make great stocking-stuffers. If you don’t know what the MSP430 is already (really, we talk about it constantly, where have you been), it’s a 16-bit microcontroller with really low-power consumption needs. They run on 1.8 to 3.6v power supplies at up to 16MHz, making them quite a powerful little beast for only $4.30, which includes the chip programmer. If you were to buy the chips alone, they cost about $0.50 each, with a few different serial communication protocols built in, and requiring only a small selection of external parts (2 resistors and 2 caps if you want to do it right, 1 resistor if you’re living dangerously, and face it, at $0.50, you can afford to live dangerously). It’s something of a long-term project plan of mine to buy 100 of these and try to build a small, physical neural network computer.

A lot of people have shied away from the MSP430 because the Code Composer Studio software–based on the professional-grade Eclipse development environment–is very difficult to use in comparison to the Processing-based software typically used to program Arduinos. But luckily, someone has taken the Arduino cue and created Energia, a Processing-based editor for use with TI’s LaunchPad line of MCUs! If you’re experienced with Arduino, using Energia is a snap, and if you’re not experienced at all, it’s really not that big of a learning curve.

I prefer to call it Serious Putty

Second, I bought supplies to make “magnetic Silly Putty”. About a week ago, I saw this Instructable about kneading some Iron-Oxide powder into a little Silly Putty and jumped on Amazon right away to get a 6-pack of Silly Putty eggs and a 5 lbs bag of black Iron-Oxide pigment. Honstely, 5-lbs is way too much, but there are plenty of other things you can do with it, like make ferrofluids or your own paint, so it’s handy to have around. You will need a fairly strong neodymium magnet, but again, these things are fun enough to have around anyway, so have at it!

Making the putty is really easy. I pooled all 6 eggs of putty together in a non-stick pan. On very low heat, I warmed up the putty until it was just too hot to handle with my bare hands. If it starts to become the consistency of chewing gum and sticks to the pan, don’t worry, it will unstick when it cools down. Don’t heat it further than that though, it will start to smoke and burn. Wearing rubber gloves to give me just enough insulation from the heat and to keep my hands from getting stained black, it’s just a matter of working a large, heaping tablespoon-full of the black powder into the putty. You will need to work the putty like taffy, stretching it and folding it to blend the powder evenly into it. Once the powder is sufficiently kneaded in to the putty, it will not stain anything, so keep testing it on the back of your rubber glove to see if it leaves any marks. I then cut the putty into 6 equal chunks and shoved them back in their eggs. It took 10 minutes total. I thought about taking some photos of the process to show it off, but really, it could not be simpler.

I’m hoping these gifts will be completely unexpected and will inspire people to try something they never would have considered on their own. The MSP430s are just a really easy, cheap, fun way to get into programming, and the magnetic Silly Putty is a great example of something you can’t buy as a product that is also extremely easy to make.

 

Exile: The Family You Choose: The Kickstarter Campaign

ZOMG GUYZ!

One of my first projects here at Hive76 was the Burning Zombie Dummy. A friend of mine had called me, asking me if I knew how to set people on fire safely, and that led into a very stern discussion about what he was trying to do and that I would take over so that noone would get hurt. So I became the Special Effects Design Engineer for Exile: The Family You Choose, and it was one of the best times of my life. I got to do some pretty awesome things (including making an impromptu harness for doing a shotgun-to-the-chest effect), met a lot of really great people, and learned a lot about a hobby that would ignite my passion in a way I hadn’t felt in a long time. Seeing our end result, this thing that we made together, from start to finish, without any adults (of course, we’re all adults, but you never really feel like it) helped to further cement my belief that anyone is capable of doing anything. The hacker spirit is strong in the indie film world. (more…)

Google+