Most recent posts: page 6 of 6 1 2 3 4 5 6
Browse the complete archive by category or month.

March 31, 2008

Robosapien has a coil gun

coilsapien_20080331.jpg

This custom coil gun for V2 robosapiens is outstanding. The video was posted to youtube over a year ago, but I just noticed it now, so let's all just sit back, enjoy, and pretend it's super fresh. Mmmkay?

It looks like Marcus based his coil gun on the bic-pen and disposable camera capacitor design that's been floating around. To that, he added a servo controlled auto-reload mechanism, complete with a LED "armed" indicator light. The final package, with laser sight, should terrorize pop cans and Teddy Ruxpin with a half-Joule of kinetic robo-chaos. The CoilOsapien site below has complete build instructions, in case you'd like to make your own.

CoilOsapien

Posted by Jason Striegel | Mar 31, 2008 08:24 PM
Electronics | Permalink | Comments (0) | TrackBack | Digg It | Tag w/del.icio.us

Faster Windows shutdown

winshutdown_20080331.jpg

It pretty typical for Windows to take a minute or two to shutdown. Most of this wait is due to the OS being extra patient, waiting for all of your applications to safely close. So when an application hangs during shutdown, you are forced to twiddle your thumbs until Windows decides that enough time has elapsed to force-kill the application.

It turns out that most of these arbitrary timeout periods are configurable through the registry and Dennis O'Reilly has posted some easy tweaks that will force Windows to shut down a lot faster.

The registry keys in question are "HKEY_CURRENT_USER/Control Panel/desktop/WaitToKillAppTimeout" and
"HKEY_CURRENT_USER/Control Panel/desktop/HungAppTimeout". The first controls the amount of time, in milliseconds, to wait before killing applications at shutdown, and the second is the amount of time to wait before killing a hung application.

There are some other registry adjustments that can be made which will automatically end running tasks and speed up killing hung services. Check the link below for the nitty gritty.

Shut Down Windows in an Instant

Posted by Jason Striegel | Mar 31, 2008 08:10 PM
Windows | Permalink | Comments (0) | TrackBack | Digg It | Tag w/del.icio.us

March 30, 2008

Assign USB drives to a folder

When a drive is mounted in Windows, it's normally assigned the next available drive letter, and using the disk management tool, you can force a disk to use a specific drive letter. It turns out you can even take this one step further and map a drive to a directory/folder path on another disk.

With this hack, you can have your external USB disk show up on "c:\usb", or anywhere else you like. Here's how:

  • Open the disk management utility: Start->Run>diskmgmt.msc
  • With the USB disk inserted, select the drive from the list.
  • Right-click and select "Change Drive Letter and Paths"
  • Click add and select the "Mount in the following empty NTFS folder"
  • Browse to the folder you want the disk to mount beneath

Now when the disk is inserted, it will always show up mounted beneath the directory of your choosing.

This could come in handy if you have a folder that's filling up your disk. Normally if you move it to another disk, it affects a bunch of paths (especially if it's your program files or something on your desktop). With this tip, you could add another drive, move the contents of the directory to it, and then mount it beneath the former directory.

Assign USB Drives to a Folder [via Lifehacker]

Posted by Jason Striegel | Mar 30, 2008 08:29 PM
Windows | Permalink | Comments (3) | TrackBack | Digg It | Tag w/del.icio.us

March 29, 2008

Little drummer bot

drumbot_20080329.jpg

Yellow Drum Machine is a tiny musical robot who's sole purpose in simulife is to motor around looking for suitable surfaces to drum a beat on.

Notice how the robot first plays on the object it finds (or is forced to find by the angry cameraman), plays a small beat, and records the beat it plays on it. Then this recorded beat is played again, and it starts to play on the object (an belt tracks and everything else it has),and also playing this sampled beat :)

...

Why? Well.. I was sitting thinking what I should do for my next robot, what it should do.. Listening to music.. making a rythm with some robot-parts.. Thought; "Hey, I will make a robot that drives around and plays on stuff"

It's a pretty simple robot, which could make this a fun little weekend project. The main components are a Picaxe brain, an ultrasonic rangefinder for position sensing, and 6 gear motors for moving and drumming. It's funny how the simple addition of a speaker and drum kit transforms a simple obstacle avoider into a soul machine.

Yellow Drum Machine

Posted by Jason Striegel | Mar 29, 2008 08:22 PM
Education, Electronics, Music | Permalink | Comments (1) | TrackBack | Digg It | Tag w/del.icio.us

March 28, 2008

CSS ad blocking for Firefox and Safari

Using Firefox's CSS-based chrome feature or Safari's advanced stylesheet preferences and a little clever CSS coding, you can disable most banner ads, making them invisible in your browser. This technique is considerably easier and more flexible than setting up a private DNS server or proxy to filter out images from ad-serving domains.

The trick is setting up a number of CSS rules that use "*=" substring selection on an element's properties. For instance, matching an IFRAME tag with the SRC parameter containing doubleclick would look like IFRAME[SRC*="doubleclick"] and matching an anchor tag with an HREF containing a url with "ads." in it would look like A:link[HREF*="ads."]. Giving the style "display: none ! important" to all of the possible combinations and adding the stylesheet to your browser's chrome effectively turns off the ad-serving web. The site below has a comprehensive CSS file that's been tailored to assassinate ads from most networks.

To be honest, I didn't realize that you could do this type of parameter matching and subselection in CSS, so it's worth looking at the CSS source for that alone. If you don't use it for this purpose, perhaps the technique will come in handy for something else you are working on.

Better Ad Blocking for Firefox, Mozilla, Camino, and Safari
Ad Blocking userContent.css

Posted by Jason Striegel | Mar 28, 2008 09:20 PM
Firefox, Life, Lifehacker, Mac, Web | Permalink | Comments (0) | TrackBack | Digg It | Tag w/del.icio.us

Design Coding: web standards rap

Next time you're trying to explain the importance of web standards in modern web design and development, just let this video do the talking for you.

The Poetic Prophet (AKA The SEO Rapper) is back with another marketing rap. This time he describes how web standards and proper design can affect the ranking and conversion of pages on your site.

I know this isn't the usual fare here, but I feel I'd be remiss in my duties if I didn't include it in our compendium of all things hack.

Posted by Jason Striegel | Mar 28, 2008 08:00 PM
Music, Web, YouTube | Permalink | Comments (2) | TrackBack | Digg It | Tag w/del.icio.us

March 27, 2008

Shredz64: Guitar Hero for C64

shredz64_20080327.jpg

Toni Westbrook authored a new C64 game called Shredz64, bringing the best game of all time to the best computing platform of all time:

You can use the real Guitar Hero controller using the PSX64 PS2-to-DB9 converter which Toni also created. This takes the game controller input and maps it to the appropriate up, down, left, right and potentiometer lines for the Commodore.

Shredz64 uses the internal SID audio processor to play any of your favorite SID tunes. In addition to the built-in songs, you can import new SID files and even create new levels by editing note tracks (using the game controller, naturally).

I'm speechless.

Shredz64

Posted by Jason Striegel | Mar 27, 2008 07:32 PM
Electronics, Gaming, Hardware, Music, Retro Computing, Retro Gaming | Permalink | Comments (4) | TrackBack | Digg It | Tag w/del.icio.us

March 26, 2008

BATMAN: adhoc mesh routing

batman_20080326.jpg

BATMAN (Better Approach To Mobile Ad-hoc Networking) is a routing protocol designed for multi-hop ad-hoc mesh networks. When you run BATMAN on routers in an ad-hoc network, the nodes in the network constantly send out little broadcast packets that are picked up and re-broadcast by nearby machines. Rather than have each node develop a formal map of the network, they can figure out the most reliable routes to other machines in the network based on the speed and reliability of broadcast packets that they receive from other nodes.

You can imagine a scenario where router A might be a single hop away from the uplink router U, but the connection is somewhat unreliable or drops packets from time to time. If router B has a solid connection to U and also has a reliable connection to A, it might be a faster and more reliable to route A's packets through B, even though it's ultimately 2 hops to U. The way BATMAN works, router A would receive U's broadcast packets more frequently from B (due to the U<->A packet loss), which would cause it to automatically send outbound data through the more reliable B connection.

It looks like this might be fun to experiment with a neighborhood network or even in a larger home with poor coverage. BATMAN is available in OpenWRT, so you could scatter a number of cheap routers throughout an area, give one of them a DSL uplink, and have solid wireless laptop connectivity wherever you want it.

If you really want to get crazy, you can run the routing protocol on your Linux laptops too, making them full mesh participants and expanding the coverage area wherever you go.

B.A.T.M.A.N.
Using BATMAN with OpenWRT

Posted by Jason Striegel | Mar 26, 2008 09:53 PM
Linux, Wireless | Permalink | Comments (3) | TrackBack | Digg It | Tag w/del.icio.us

March 25, 2008

iNoteBook: repurpose an old laptop

inotebook_20080325.jpg

It seems like I end up updating my laptop every couple of years, but as cool as new hardware is, sometimes the challenge of finding a new use for the old machine is more interesting. The iNoteBook mod is a classic example, transforming a broken, screenless iBook into a stealth desktop machine.

What's your favorite laptop reuse project? If you've got one, please share in in the comments.

The iNoteBook

Posted by Jason Striegel | Mar 25, 2008 07:56 PM
Hardware, Home, Mac, Retro Computing | Permalink | Comments (0) | TrackBack | Digg It | Tag w/del.icio.us

March 24, 2008

Safari single window mode

Dennis Stevense posted a great little Terminal hack which enables single window browsing for the latest version of Safari. If you're running 3.1 you can type in the following command to make all "target='_blank'" links open in a new tab instead of in a new window:

defaults write com.apple.Safari TargetedClicksCreateTabs -bool true

This is one of my favorite Firefox features, so I'm pretty happy to see it available in Safari, even if it's under a hidden setting.

How to enable single window mode in Safari

Posted by Jason Striegel | Mar 24, 2008 09:30 PM
Mac | Permalink | Comments (1) | TrackBack | Digg It | Tag w/del.icio.us

March 23, 2008

Run Safari in Ubuntu

safariubuntu_20080323.jpg

The Ubuntu Unleashed blog has a simple guide for getting Safari to run in Ubuntu. You basically install the Windows version of Safari under WINE, copy over a few core Windows fonts to your WINE install and it just works. You can even install the flash plugin.

I'm not positive that I wouldn't feel a little dirty running closed software on a Linux desktop, but considering Safari is still my preferred browser under OS X (much to the embarrassment of some of my coworkers), I can understand why this could be cool for a lot of folks.

Howto: Install Safari on Ubuntu with Flash

Posted by Jason Striegel | Mar 23, 2008 08:43 PM
Linux, Linux Desktop, Ubuntu | Permalink | Comments (1) | TrackBack | Digg It | Tag w/del.icio.us

March 22, 2008

Easter egg anemometer

easteranemometer_20080322.jpg

Here's something fun to do with the kids tomorrow after they've finished emptying those big plastic eggs of jelly beans and malted milk balls.

The basic ingredients are plastic eggs, a small DC motor from an old CD player, and a cheapo multimeter. It's a quick afternoon project, and you'll be able to measure the wind's speed—a useful addition to your toolkit for backyard experiments.

Easter Egg Anemometer (Wind Speed Meter)

Posted by Jason Striegel | Mar 22, 2008 08:42 PM
Education, Electronics, Science | Permalink | Comments (0) | TrackBack | Digg It | Tag w/del.icio.us

March 21, 2008

Easiest cross-browser CSS min-height

Enforcing a minimum height for block elements in HTML is one of those few CSS tricks that you can't live without. There are still enough folks using IE6, unfortunately, and it doesn't support the min-height or min-width CSS parameters. This has caused the invention of a number of different hacks and browser-conditional style sheets to get the desired effect.

Many of the different methods work well, but after trying a number of them, I can say that the following method is the easiest to use and is compatable across all common versions of Firefox, Safari, and IE. Many of you are probably already using this method—it's not new—but for those of you who aren't, give it a try. It should save you a lot of headaches.

Cross Browser min-height

.foo {
min-height:100px;
height: auto !important;
height: 100px;
}

This works because all of the more recent browsers will understand and respect the min-height setting as well as the !important designation. So in the example above, the block will be given the min-height setting you specify, and the height:auto will take precendence over the height:100px, even though it appears earlier in the code. With content shorter than 100px, the min-height setting is observed, and with content that is longer, the block is sized to fit the content.

In the case of older versions of IE, neight the min-height parameter nor the !important designation are supported. Instead, the browser essentially sees a height:auto, immediately followed by a height:100px, and the latter takes precendence. Lucky for us, height parameter in older versions of IE function exactly like the min-height parameter. When content expands past the size of the element, it grows to accommodate it. When content is shorter, the specified height is respected.

I don't find myself using it as much, but this also works with min-width:

Cross Browser min-width

.bar {
min-width:100px;
width: auto !important;
width: 100px;
}

Posted by Jason Striegel | Mar 21, 2008 08:31 PM
Web | Permalink | Comments (9) | TrackBack | Digg It | Tag w/del.icio.us

March 20, 2008

Visualization API for Google Docs

docsvisualization_20080320.jpg

This looks really useful. Google recently released an API for using Gadgets and visualizations inside of (or pulling from) the Google Docs spreadsheet system. Developers can create useful visualization models, like Gantt charts or geographic heat maps, and Docs users can use these tools inside their own documents.

The Gadgets in Docs framework also allows the visualizations to be plugged into iGoogle, so you can have an up-to-date visualization data on your iGoogle page that pulls from spreadsheet data in real-time. I found the timeline gadget, pictured above, to be particularly useful, but if you don't find the particular visualization you need, you can now go ahead and make it yourself.

Visualization API [via Google Blog]
Example Visualization Gadgets

Posted by Jason Striegel | Mar 20, 2008 09:31 PM
Google, Life | Permalink | Comments (0) | TrackBack | Digg It | Tag w/del.icio.us

March 19, 2008

From Nand to Tetris in 12 Steps

Shimon Schocken gave a really interesting Google Tech Talk titled From Nand to Tetris in 12 Steps. In the video, he describes a course where students design a complete virtualized computer system from scratch, building from the humble nand gate, to a functional cpu and memory architecture, to compiler software and an operating system, all culminating in a simple game that runs on the virtual hardware.

The hardware projects are done in a simple hardware description language and a hardware simulator supplied by us. The software projects (assembler, VM, and a compiler for a simple object-based language) can be done in any language, using the APIs and test programs supplied by us. We also build a mini-OS. The result is a GameBoy-like computer, simulated on the student's PC. We start the course (and this talk) by demonstrating some video games running on this computer, e.g. Tetris and Pong.


Building a working computer from Nand gates alone is a thrilling intellectual exercise. It demonstrates the supreme power of recursive ascent, and teaches the students that building computer systems is -- more than anything else -- a triumph of human reasoning.

It looks like most of the course materials are available online. The necessary hardware emulator and simulator software is open source and available from Shimon's website.

CS101 Digital Systems Construction
Video - Building a Modern Computer from First Principles [via Slash7]

Posted by Jason Striegel | Mar 19, 2008 09:02 PM
Hardware, Retro Computing, Science, Software Engineering, Virtualization | Permalink | Comments (2) | TrackBack | Digg It | Tag w/del.icio.us

March 18, 2008

Paper cameras - old and new

papercameras_20080318.jpg

In 1970's Communist Czechoslovakia, the state-run magazine ABCs for Young Technicians and Natural Scientists published a cut-out paper camera called the Dirkon. Looking very much like an old Nikon, the little camera is essentially a simple pin hole design, dressed up to look like its SLR cousin.

Fast forward to 2000's Capitalist USA and you'll find the ReadyMech Cameras which were recently released by adver-warehouse Corbis. Retaining much of the Dirkon cool factor, but looking nothing like a contemporary SLR or digital, there are a number of bizarrely awesome models to choose from.

Whether you dig the ReadyMechs or the classic Dirkon, making the cameras is as simple as printing out a PDF on heavy-weight paper, and following some simple instructions to cut, fold and tape the camera together. To use the camera, you assemble the package around a standard roll of ISO200 35MM film, wind between shots, and pull a little tab aside to expose the film for 10 seconds or so, depending on how bright the lighting is. Getting a clear photo is all about holding still (or setting the camera on a solid surface during exposure).

The Dirkon Paper Camera
ReadyMech Cameras

Posted by Jason Striegel | Mar 18, 2008 08:29 PM
Photography | Permalink | Comments (0) | TrackBack | Digg It | Tag w/del.icio.us

March 17, 2008

CryoPID: hibernation for Linux processes

We're all familiar with the hibernate/deep-sleep features that are typical on your standard laptop. In this mode, the entire contents of RAM are written to the disk and the machine is completely shut down. When it's next booted, the system is restored to the exact state it was at before sleep, with all of your programs running just like they were when you left them.

What if you could do this at the process level? You could kill whatever umpteen-gazillion applications you have running, reboot your computer, and then start your apps back up whenever you like and they would be exactly the way they were when you left them.

There's a Linux application called CryoPID which attempts to do just that.

CryoPID requires no special kernel modifications and operates in user mode, so you don't need to be root. All you do is run the freeze program on a process you own:

freeze /tmp/savestatefile 1234

This will archive the state of process 1234 into a self-executing, compressed file named /tmp/savestatefile. To start it back up, just run the save file:

/tmp/savestatefile

When this is executed, your application will be restored, relinked to any previously-loaded DLLs, and attached to the file descriptors it had open.

You'll run into some problems with network socket connections you had open, and support for X applications is still only experimental, so the useful scenario is a bit limited, but it's a promising concept and could come in quite handy in the command-line world.

CryoPID - A Process Freezer for Linux

Posted by Jason Striegel | Mar 17, 2008 09:32 PM
Data, Linux | Permalink | Comments (3) | TrackBack | Digg It | Tag w/del.icio.us

March 16, 2008

Art Bots 2008

ribbondancer_20080316.jpg

The fifth international ArtBots exhibit is being held on September 19-21 in Dublin Ireland. Whether you're interested in creating a robotic work of art, or a robot capable of producing its own works of art, you have till May 1st to submit an entry.

I've seen the output from this robot talent show / art fair for a few years now, and I'm really excited to see what happens this year. Are any of you folks planning on entering or attending?

Shown above: One of Bruce Shapiro's "Ribbon Dancer" robots. When activated, the robots are able to perform intricate dance routines by moving a ribbon through the air in choreographed patterns. It's the robot equivalent of an Olympic floor routine.

ArtBots 2008 Call for Works
Ribbon Dancer Robots

Posted by Jason Striegel | Mar 16, 2008 06:59 PM
Electronics, Life, Science | Permalink | Comments (0) | TrackBack | Digg It | Tag w/del.icio.us

March 15, 2008

HOWTO: Fast SMT soldering

I've only had to solder a couple of SMT chips, and though my attempts have worked out for me, it's always been a combination of frustration and fear that I'm damaging the IC. John Gammell sent this video to me in response to one of my newbie attempts. In it, he shows how a pro approaches an SMT job using the "vertical drag" method.

It looks like he fixes the IC to the board, applies flux to all the pins, and then quickly drags a bead of solder back and forth over the pins. It's pretty unbelievable how quickly and precisely he is able to do the job. Impressive stuff.

Professional SMT Soldering

Posted by Jason Striegel | Mar 15, 2008 07:40 PM
Electronics | Permalink | Comments (7) | TrackBack | Digg It | Tag w/del.icio.us

March 14, 2008

Wii homebrew now works from internal SD Card

It looks like the 0.1alpha3 release of the Wii Twilight Hack now works with the internal SD slot. No USBGecko or other additional hardware needed.

There are 5 versions of the chainloader for the different regions and releases of the Wii console. Follow the instructions to unzip the right one to the correct directory on your SD Card, and then it's as simple as copying your homebrew .elf file to the SD card's root directory and starting up Zelda.

Twilight Hack 0.1alpha3- [via] Link

Posted by Jason Striegel | Mar 14, 2008 09:00 PM
Gaming | Permalink | Comments (0) | TrackBack | Digg It | Tag w/del.icio.us

Bloggers

Welcome to the Hacks Blog!

Brian Jepson.Brian Jepson


Jason Striegel.Jason Striegel


Philip Torrone.Phillip Torrone



See all of the books in the Hacks Series!
Advertise here.

Recent Posts

www.flickr.com
photos in Hacks More photos in Hacks