June 23, 2009

I swear, I'm not dead!

I've been gone too long.  But I've got a few projects to post soon, I swear!

-R/C version of ADAM (need parts first)
-External RP-SMA jack mounted in my Eee 901 (done, need to write up and take pictures)
-Wifi "strawtenna" trial (done, same as the jack above)
-Experimenting with mounted switches to activate rifle optics and preserve battery life (squirrel season, yay!)

I'll get to work, I promise!


April 06, 2009

Best Apps I've Used Way to Often

    It's been too long since I've posted.  I blame the...err...economy?  The weather's finally nice, so what better way to enjoy it all then to write about software?  I know I'm stumped.  As an excuse to spend a few minutes copying links for a few apps that have endured my short attention span and earned a special place in my beer soaked, brat-filled, BBQ'in heart, and without further time for the sun to burn off all my white guy winter tan, I present my humble list of awesome apps.  Enjoy!  Or not.  It's too nice out to care...

   

DOSBox - I love DOSBox.  It works outta the box with little tweaking, let's me play all of the games I remember loving o-so-much as a kid on everything from my desktop to my phone, and best of all -- it's free!  It even features full Sound Blaster support so good I wish I had it back when I actually ran DOS.  The newer versions even let me mount cd images onto a virtual cd-rom within the program, so I can play all those enhanced voice acted games like Space Quest IV and Anachronox.  I'm forced to give it no less then 2 floppies up.

   

uTorrent - Regardless of how you feel about filesharing and its attached social stigma, you have to admit that BitTorrent is just a freakin' great  system.  For those not in the know, BitTorrent is a protocol that lets a bunch of computers share out pieces of files to your PC at the same time, splitting the load up to allow faster downloads then if you were grabbing the whole thing from a single source (potentially).  In addition to the obvious game image/mp3/movie sharing use, it's also widely used to share other large files like scientific data and Linux ISOs.  The protocol is fast and tight, but unlesss you want to type all of the commands in at a prompt, you'll want a program like uTorrent.  It's by far the smallest, lightest, and fastest client I've seen yet.  Two pre-release Wolverine movies up.

    

JNES - Sometimes, I just wanna kick back and play Donkey Kong.  JNES lets you play all of those old Nintendo games you remember from between when Fred Savage was almost cool and Hammer was just too damn legit.  Again, small, fast, and works with pretty much every ROM I've thrown at it.  Only problem I've ever seen was it only works in Windows.  No biggie.  Hook up a USB Nintendo controller for extra cool ponts.  Two calloused gamer thumbs to the sky.

   

Open Office - It's Microsoft Office.  Minus Microsoft.  Plus free.  And it's smaller and faster.  Why do you NOT have this?  Two MIA "Clippy"s...ok, jokes over.

   

Notepad++ - As fast as notepad, plus syntax highliting for code, a ton of plugins for extra functionality, and a SPELLCHECKER.  Take that crappy stock text app!  Also free.   And open-source for extra geek cred.

   

Firefox  - If you're using Internet Explorer, I pray for you.  I'll admit, IE's getting better then it ever used to be nowadays, but still can't hold a candle to good ol' Firefox.  The plugins alone make it worth the download.  For plugins, I'd recommend AdBlock Plus, NoScript, and FireFTP.  With the first two, I havn't had any spyware/adware in years, and the latter makes any FTP ops a painless effort.  At least try it out.  You can even run it off a USB thumb drive.

    

VLC Media Player - It opens EVERYTHING, from DIVX to MPEG to MP3 to OGG to AVI to QuickTime to...you get the idea.  And it's free.  And it runs on everything.  And you can convert to/from all of those file types.  Me likey.

    I can go on for a while, so I'll just finish with name dropping, and leave the Googling as an excercise for the blog-lurker:

Ubuntu Linux (almost makes converts from Windows)
TrueCrypt (Best encryption tool I use)
Pidgin Instant Messenger (AIM, Yahoo, Google, ICQ, and MSN IM all in one app)
 DaemonTools Free (Mount CD/DVD images without burning them first)
ISOBuster (Burn CD/DVD Images for free)
uNetBootin (make any USB drive a bootable Linux system)

February 12, 2009

Better, stronger, faster...but not the same

I bought my EeePC 701 over a year ago, before they made any headlines for being just so damn awesome.  It's been with me everywhere I've gone since then, faithfully tagging along in my backpack, tool bag, or under my arms.  Everyone who's seen it was first a little skeptical of it's size, then quickly impressed by what it actually means to have it with me.  Near instant-on boot times (around 20ish seconds with Xandros and Fluxbox installed and tweaked), access to the web damn near anywhere, and all in a package around 2 lbs.  Did I mention it fits in my freakin' toolbag?!?  Alas, as happy as I was with it, I wanted more.

The main selling point of ultimate mobility with a full desktop environment was offset by only two things in my mind: the poor screen resolution (not size, a 7" screen was surprisingly adequate) and the poor battery life.  With 2007-08 battery technology, why should this machine only get about 2.5 hours of useable life?  Asus had promised "all day" battery life by this time, and I've yet to see any official battery packs that even hit 4 hours for sale.  It was time...for a new avatar of mobile desktoppiness.

Last week, I decided to order me an EeePC 901.  The "Linux" version also comes with a larger internal SSD (20 GB total, as opposed to the "XP" version's 16GB), so I naturally bought that one.  Besides, the second it was out of the box I popped in a thumbdrive and began the installation of eeeBuntu, which is awesome by the way.  At first I was worried I wouldn't like the change as much as I should, but man, I am soooo happy.

Battery life, thanks to the Atom processor, is easily 3-4 times better then the 701.  Right now, depending on use, eeeBuntu automatically scales my processor between 800MHz and 1.6GHz without any pause.  I left the thing unplugged all day at work, used it for nearly 6 hours on and off without ever suspending/shutting down, and still had over 30% charge in the tank.  The 9" screen is clear and crisp as hell, and I can't even begin to complain about the resolution.  Only one window so far has needed to be dragged around the screen to get to all the buttons, and that makes my nippies perk.  The webcam has been upgraded to a 1.3 MP too, which is actually not that noticable.

There are a few things that I miss as compared to the "old" 701 however.  The biggest, because I'm a fingerprint/scratch pussy, is the finish.  The 701 was a sleek, flat, almost beaded finish that never once showed dirt, scratches, or fingerprint smudges.  The 901, on the other hand, is glossy as all hell, like a freakin' black Pontiac, and is a total smudge magnet.  The trackpad is larger, but doesn't seem as usable, and the buttons are kinda hard to push sometimes.  That's really it though, so I guess I'm just too nitpicky.

As far as OS, I thought I'd never see anything worth sacrificing the speed of Xandros and Fluxbox, but man was I wrong.  Eeebuntu is not only incredibly easy to set up, but supports so many more apps without a hastle that I'm actually willing to live with a slightly longer boot time.  I decided on the Base install, since I hate to have apps pre-installed that I never touch.  After maybe an hour of installing, updating, and tweaking, I'm finding myself way more productive then my previous setup.  I've been playing with Gnome-Do, and I like the way of doing...well...everything through it.  And I just remembered I need to pop DosBox on still...Dos games work so well with this platform it's scary.

Anyway, enough rambling.  Base message here: I'm happy, and may have to reluctantly sell my 701 now.  She will be missed.  Or turned into a Backtrack platform for security research.  :)

January 17, 2009

360 Degree Servo Modification, the Easy Way!

In my recent delve into simple robotics, one of the major pains in the rump has been modifying servos to spin a full 360 degrees, making them into little cheap gear motors to push my little creations around the house.  The biggest hassle to the process is getting the servo potentiometer to stay at the "90 degree" position, tricking the internal electronics into stopping the motor when I send it a pulse to head for 90 degrees.  The standard method involves cutting out the mechanical stop on the final gear, drilling out the tab that locks the same gear to the potentiometer head, and gluing the pot in place after adjusting it to the proper position.  The issues that are inherent in this process are many, but include having to break apart the glue and re-adjust the pot if your voltage source ever changes, and having it dry just out of position, as these pots (at least in the HS-311 servos) are really, really touchy.

When I went looking for a better solution to the problems I was seeing, I found a number of people that recommended using a pair of 3.3k resistors tied together to produce a three legged fixed resistor network in place of the pot.  In theory, this would mean that the resistance from the center leg to either other leg would be equal, fooling the control circuit into thinking it had a perfectly centered pot.  I thought this an ingenious approach, and that fact that it would be immune to bumping and such was a great bonus.  In practice, finding two exactly identical resistors, soldering them perfectly so as not to add undue resistance, and accounting for the internal resistance in the rest of the circuit that apparently throws things out of whack was a major pain in my bootie.  I needed a better approach.

Searching Digi-Key,  I decided to try a large turn pot that would allow me to fine-tune the resistance as perfectly as I could.  I settled on this guy here, a 5k 25 turn pot small enough to fit comfortably in the case.  After posting about this plan on the Society of Robots forums, another poster suggested to drill a hole in the side of the servo for the screw adjustment to protrude though for easy access to adjust later.

Once the parts came in (always fast through Digi-Key), I popped open my servos and cut out the stock pots.  Soldering the original wires to the legs of the new pot, I ended up with a nice, simple mod.

IMAG0050

Then I simply drilled the hole for the screw to poke into, and closed everything up after a quick test.  The pot is held in place internally with a little bit of super glue (use the gel type, it won't flow everywhere), and the mod looks very clean.  You can see the small gold screw adjusters from the back of ADAM.

P1170009

These are now super easy to adjust when testing, and with the amount of changes I'm always making, a really nice time saver.  The bonus to doing this in the future to other servos is not having to drill the plastic out of the center of the large gear riding over the stock pot, since the pot can be completely removed with just one screw.  Some servos have inserts for this gear that can be popped out easily with a screwdriver, but the HS-311 does not.  Total time from a stock servo to a sweet cheap gear motor with this method: less then 10 minutes (plus dry time for the glue if used).  I wish I had done this sooner.  :)

January 04, 2009

ADAM MK2 Progress Report

Further work has gone into the improved ADAM platform.  So far, this includes:

- Mounting the omni-wheels to a front axle (a threaded rod with hex nuts to hold everything in the proper place)

- Mounting the axle through two HDPE brackets screwed into the chassis

- Adding standoffs to the base chassis to hold the Arduino board

- Mounting the 9V battery holder and switch, as well as the 6V battery pack (between the servos on the underside)

To easily wire in the servos, I placed a small breadboard in front of the arduino to act as a power/signal bus.  In the future, this could be removed and replaced by using a Roboduino instead of the Arduino.  Maybe in version 3...

One issue I've run into is the differences in how the servo control signal is pulsed between my old AVR code and Arduino code.  If I tell the servos to stop (i.e. rotate to 90 degrees for an unmodified servo), they continue to rotate.  I've dissected the servos and readjusted the internal pots to keep the wheels from rotating in that case, so I'll have to keep an eye on that.  The servo pots are so sensitive that I may have to go back in and replace them with a set of fixed resistors instead in the future.

The other lesson learned was signal noise messing with my servo setup.  Apparently, if I connect the ground from my 6V battery to the ground of the Arduino, the noise can be eliminated, and it seems to have done the trick.

Hopefully, this means I'll have a finished bot sometime within the next few days.  After that, I'll need to work on the wireless control system.

December 30, 2008

ADAM Gets a Makeover...

Wow... 2 months since I did any kind of project worth blabbin' about here.  I blame the holidays.  And maybe Fallout 3.

About a month back, I was inspired by Admin (Yeah, that's the name he goes by) of SocietyOfRobots.com and his project "ERP", the Experimental Robot Platform.  The idea was to build a reusable base platform that could easily be changed and built upon to try out new algorithms and mechanical designs without having to build a new (and basically the same) platform each time.  This was the idea behind the ADAM project as well, but that proved to be kinda ill conceived on my part.  I placed a good deal of emphasis on the breadboarding section and headers for ADAM's first incarnation, and I really didn't need/want all of that after all.  Sure, it was great practice, and a fun first attempt at smething useful to keep me occupied and geek-saturated, but I know I can do better.  SOR's Admin has WAY more talent for this then I, and does a great job of planning, sketching, modeling, and documenting his projects.  His site and forum are easilly the primary reason I decided to finally build in the first place.

In the spirit of continuing improvement (possibly through repeated failure) of ADAM, I came up with a MK 2 design to enhance my fun.  And in the spirit of a filthy, filthy zombie, I cannabalized the hell out of ADAM MK 1 to build him (and took his brains now that I think of it...)

The plan is to swap out the AVR micro for a full Arduino Decimilla, cut the form factor down by about half the size, replace the silly RC car salvage wheels with RC aircraft tires (again, thanks Admin!), and add a 2 deck design for plenty of space to add servos, sensors, arms, etc.  The upper platform could be easilly swapped out completely for new ones if need be, and the whole thing will just look more professional then a crappy Radio Shak board on a piece of crappilly cut plastic.

Deciding I'd like to place the servos underneath the lower platform, I needed some quick brackets to hold them in place.  Firing up my scroll saw for the first time since I bought it (finally!) I cut up 2 little "C" shaped brackets out of trusty HDPE.

PC300035
These I could mount on the sides of the platform to hold the servos.  ADAM MK1 used a crapload of Gorilla Glue directly on the servos for this.  I don't recommend it, as it makes one look both unprofessional and lazy (nt to mention impossible to fix right if a servo burns out).  I also realized that glue + HDPE is not an easy marriage to work through (although in a pinch, E-6000 is absolutely GREAT).  A few minutes drilling pilot holes and I was in business.

PC300037
The main problem I had with ADAM MK1 (besides the fact that I wanted to switch to an Arduino) was keeping him straight.  I couldn't tell if it was programming and servo calibration, the recycled RC wheels, or the el-cheapo caster on the front that was making him swerve all over unpredictably.  Besides the nice RC plane foam tires I'm using in MK2, I ordered up a pair of omni-wheels.  This would reduce drag to an absolute minimum up front, as omni-wheels can easilly move in any direction with little friction.  I havn't quite figured out how I want to mount them, but the idea is to drop down a piece of HDPE on either side of the lower platform up front, and run an axle between them.

PC300040
PC300041
PC300043
So that's where I'm at after tonight's fun.  I still need to find standoffs for the second platform to mount on, and I'm thinking about battery placement for the servos.  I'm planning on either using some of the empty portion in front of the micro and 9V casing, or just velcroing the pack to the underside, since I have about 2 1/4" of clearance, and the pack I'm using is about 1/2" thick.

So far, I'm pretty happy.  It's WAY more professional looking, and should be easy to play with after I've figured out the upper platform.  Once I find a few standoffs and mount the omni wheels, I should be driving this lil' guy all over the house.  First planned project: mobile web-controlled camera to screw with the cat from work.  :)

October 22, 2008

...in Which Our Hero Becomes a Walking Access Point

One of the most frustrating thing's to me is having all of these sweet high-tech gizmos in my backpack, on my desk, in my tool bag, and in my pants (err...pockets) and each one does its job incredibly well. The frustration comes into play when I have a situation (such as today) where I'd really like to have one device talk to another, but it's such a pain in my ass that I don't bother.  Examples include GPS to laptop, phone to laptop, and the most recent, laptop to interwebs.  While all of these things have at one time or another successfully been implemented, the one that had been escaping my willingness to screw around with was getting my Eee PC to see my phone as a gate to the joys of the 'net.  Lucky for me, I had a lot of time to be bored today.

Enter WMWifiRouter.  Why had I never heard of this before?!?  Must've been in my Fallout 3 pre-release trance... Anywho, this thing is the best damn app to happen to smartphones since...well...ever I guess.  With about a minute of configuration, I can now tell strangers that there's a hotspot in my pants, and not feel like a 70's porn star.  So now wherever I've got a signal (pretty much everywhere I usually need one) I've got wifi for my laptop.  Schweet!

The only issue I had was getting my Eee to connect to it.  As this is a pretty common issue with the Eee, I wasn't too worried.  Lo and behold, after a few minor adjustments...

MobileWifiSuccess

Yep, AT&T is once again proudly (and unwittingly) offering me use of their network from a point other then my little phone browser.  And they wanted another $30 for a tethering plan...HA BITCHES!

Further quick plug: Vendetta Online.  I likes it.  Bonus points for being cross platform and opening up mission design to the public.

September 29, 2008

...In which Our Hero learns from his mistakes...

So I got bored this weekend when Kate was out at a baby shower, and decided to set up a web server/FTP platform/PHP/ASP/.NET dev box.  I figure a dedicated host like that on my domain would give me a great platform to learn on.  I'm sure I'll have more details logged here as the days go by, but I just made a really, really silly mistake, and felt I had to share if I was going to feel dumb enough to learn not to do it again.

For the base services I've set up, I took the easy way out and installed XAMPP.  It's a great package that rolls Apache web server, PHP, MySQL, and FileZillaFTP (among other things) into one easy to administer ball of server-time goodness.  I was playing around with my router (DD-WRT installed, yet another future post) to open up the ports for FTP, and I wanted a quick test.  Created a test user locally, set up a share, and placed a test file.

Now, FTP clients have come a looong way from the console based systems I used to use back in the dark ages of CompuServe and AOL.  FireFTP is a great extension for Firefox that provides a nifty little GUI for ya to upload and download to your hearts content, without all the hassle of typing and remembering port numbers.  It also makes it really easy to not pay attention, and click through popups you think you've read.  I thought I was deleting a local copy of my test file.  I had actually deleted my local "Documents and Settings" folder.  Let me tell you, for a guy who feels pretty comfortable hex editing executables, watching his desktop and music get eaten file by file is excruciatingly painful.  To add insult to injury, FireFTP had politely asked me if I was sure I wanted to delete that folder...BY NAME...and made sure I was aware that an FTP delete was not headed for the Recycle Bin.  I clicked OK out of habit, sure I was deleting the file I right clicked on, and not the folder that was highlighted.  Pain.

Balls

Luckily, a quick search nabbed me a copy of the free utility Undelete PLUS.  Fifteen minutes later, I have most of my stuff back.  And now that I've exposed by tremendous folly, I can carry on with just a tiny dent to the ol' ego.

Lesson learned: Click careful kiddies...

September 26, 2008

A step forward for browser based gaming?

CypherLogo I recently stumbled upon Cypher.  It's a "hacker" themed game played entirely in your browser, which makes it a good candidate to run in an alternate tab behind a spreadsheet at work.

The main premise sets you as an up and coming hacker type, out to prove yourself worthy of "ub3r-1337n355" or some other stereotypical Hollywood bull, but don't let that phase you, it's quite well done actually.  In the spirit of similar games such as Uplink and Blue Sky, almost everything is done through a GUI, although a console is available for limited tasks (I'll get to that more later).  You navigate various menus in a simple, well laid out interface, purchasing hardware and software, scoping out potential targets, and running missions for experience and cash.  The menus are intuitive and easy to follow with little confusion, and there's an easy to see link leading to a wiki right at the top of each page.  Although the wiki contains some pretty useful beginner info, it does seem a bit unfinished.  I had a hard time finding some help with tracing other players so I could kick them off servers, but then I noticed the chat link.  A simple pop-up chat applet links you easilly to any other player who's hanging around in there, which is actually pretty common, since the game's not exactly fast-paced.

And that's the main point here.  Browser based gaming has always been slow as hell to me.  I'd log in, use up all of my "turns", and maybe log in the next day or two to see if anything actually happened.  Boring.  The turns in Cypher however have been comming in fast and constantly (2 every ten minutes, and the average action takes like 1-10 turns).  You also start with 5000, making it easy to pretty much just do whatever you want to from the get go.  But the main jewel I see in this game, and the part I really, truly hope is expanded, is the "Virtual OS".  Clicking the "console" link pops up a new browser window with a desktop like interface, complete with programs to run.  A mail client, development tools, and even a "web browser" for linking to in-game pages...good deal.  It feels pretty snappy too, I'm pretty impressed by the potential.  I wish there was more control from the terminal app, but I really can't complain too much elsewise.

Overall, I'm having fun so far.  Way more then I had with the other browser games I've tried and dropped.  We'll see how long this one lasts.  :)

EDIT A FEW HOURS LATER: I've noticed another annoying property of the way missions work.  In order to gain levels, you need xp.  You get different ammounts of xp from each mission, and they are divided into single player and multiplayer.  Single is self explanatory.  Eventually, you run out of those and still need more xp to level.  So your only choice is multiplayer.  You need at least 2 people on the same mission for it to start, otherwise you'll just sit there idle.  Well, I seem to be the only one sittin' around here on level 4.  Until somebody else is at my level and needs xp, I have nothing to do.  I've written a few pieces of software, but they're not really profitable at this point.  Oh well, that's what "Auto-join mission" is for...overnight xp hope.

September 10, 2008

Spore. Is there more to say?

Well, I ordered/received Spore the other day, and I continue to have a blast with it.  There's about 500 reviews of every aspect of the game out there on the web already (many of which were written well before the game was out actually), so I won't bother adding to the pile.  But I do wholeheartedly recommend you pick it up.  I don't care if you're 8 or 80, it's easy as hell to play and incredibly fun at that.

I've yet to see anything look even close to anything else due to the variety of parts and textures available and the online content that's automatically downloaded.  And of the things I've seen, most have looked like a bit of care was taken with how they were built, and not just slapped together.  I'll admit, many of my buildings especially were just kind of mashed up in a minute or two, but when I take the time to actually build, they come out pretty well.

Here's a shot of the spaceship I'm flying around terrorizing and exploring the galaxy:
Spelljammer

Yep, it's a Spelljammer.  What can I say?  I love the idea of a big-ass spacefaring sloop flying through the cosmos messin' up yer day.  :)  Other awesome things I decided to make in my quest for ultimate domination include the Mobile Oppression Palace from Futurama. 
Mobile Oppression Palace (1)
It just walks up to enemy cities and blasts propaganda 'till they give up and join my cause.  Awesome.  Just what a spacefaring parrot-like explorer race needs to gain the upper hand.

Noonian (8)

And no comments on the hat...I happen to think it's dashing.