Archive for February, 2009

Magnetic 6th Sense - Without an Implant!

Saturday, February 28th, 2009
By attaching a strong magnet to both sides of a finger, you can then feel electromagnet radiation.

By attaching a strong magnet to both sides of a finger, you can then feel electromagnetic radiation.

About a “6th Sense”

This has been done for quite a while now actually. With today’s technology, it can be simple to give yourself unnatural and really cool new senses. One of the extra senses commonly added is magnetism. This can be acheived usually by implanting a small neodymium (rare earth) magnet capsule in one’s finger. If you followed implanted people’s descriptions, like that from iatrogenic.cx, you would know how some implants end up, sooner or later, in an infection, or another problem ensues. It’s invasive. There’s no anesthesia, as it’s done by a body modification specialist. When you encounter a magnetic field, the implant would pull slightly outwards, triggering nerves that you can feel as a slight tugging on the finger. By using this method I discovered, you can less accurately but completely noninvasively feel magnetic fields. It’s very simple and costs less than $5.

Let’s Start!

First of all, we need small button magnets. The easiest place I’ve found to get them is at Michaels, strangely. The closest online listing I was able to find wasn’t the ones you need, but it’s close, ProMAG brand. The actual ones are smaller, come 6 to a package, and are probably available in store. Just take two out of the package, and put one on each side of the desired finger. It’s really that simple.

Good Magnetic Fields

You can find magnetic fields in many places. Power supplies are especially good. Their transformers work as large antennas and can be felt. What’s the best are, occasionally, security systems, and always, electric motors. Putting your new magnetic finger near a fan, pencil sharpener, or other motor and feel the vibration, without contact. Too cool!

Using a Hacked Best Buy Gift Card as a Free Amplifier!

Thursday, February 26th, 2009
My iPod goes to the amplifier, then is transmitted through a radio.

My iPod goes to the amplifier, then is transmitted through a radio.

What’s Happening?

So, the way it’s working in the photograph is that music is going from my iPod, to the hacked amplifier, to the handsfree jack, which then transmits on FRS/GMRS frequencies. It can be heard with another two-way radio. Now, you may be thinking, “Why’d you just re-invent the FM transmitter!” Well, this doesn’t transmit on any traditional FM/AM radio frequencies. By utilizing two-way radios for communication, other people with radios you’re already using can hear! Or, play really weird music and annoy them! I prefer the latter.

How is This Done?

The particular gift card was the one that Best Buy sells, which features an iPod speaker on the back. The card comes off easily, with some clips. Take a bunch of screws out, and you expose the circuit board. All I did was desolder the speaker leads and solder on a mini-audio jack, like the ones found on cellphones and handsfree systems. I soldered the positive speaker lead to the microphone section, as visible from pinouts.ru, and then soldered the negative lead to ground. Holding down “talk” with everything on blares music on the selected channel. A tad quiet and finicky, but better than without amplification. Awesome!

<$10 3D "Slow Prototyping"

Tuesday, February 24th, 2009
Salt Dough Landforms

Salt Dough Landforms

Who Needs CAD?

Who does need CAD for simple projects? Who can afford those things? Answer is not many beginning hobbyists. Especially when you’ve got the power of one of the best tangible prototyping interfaces on your hands available today! It is…salt dough!

What’s Salt Dough?

Salt dough is an edible but nasty-tasting dough usable for all sorts of applications. For example, in the case seen above, you can prototype imaginary land forms. It dries in a matter of hours for small pieces, and a matter of a couple days for thicker things. It’s simple, and can be made with off-the-shelf kitchen supplies easily. Just form it into whatever you wish to make it look like, be it anything from a project enclosure to a prototype of a new type of jewelry. Let it dry on a cookie sheet. When it’s done, you could vacuum form it into something usable, carefully hollow it out and make something, or just let it be as is. Choosing the last step, you can proceed to painting. Most general purpose paints should work, probably not oil paints or whatever. Let it dry. Finally, if you really feel it needs a protective coat, dunk it into a little puddle of Elmer’s glue and put it onto a piece of paper or something. After about 10 minute, take a brush and even out the coat, making sure it doesn’t collect into low parts. The best quick, cheap, “slow prototyping” method!

Recipe

Quite simple, here it is:

- 1 cup of salt
- 2 cups of flour
- 3/4 to 1 cup of lukewarm water, depending on humidity. Trial and error.

Add the salt to the flour in a bowl and mix with your hands. Just try not to get it into cuts, as it stings from the salt. Add water until the whole mixture is mixed up. Knead on something easy to clean. Can be stored for about a month in a sealed container. Then it starts to rot and get stinky. Not wanted. Throw away upon rotting, please.

The Partly and Prototypically Built Stabilizer

Sunday, February 22nd, 2009
"Project SteaDIY"

"Project SteaDIY"

Yay!

I actually had some time and got around to building the Merlin clone. I think I might nickname the project “Project SteaDIY”. My first and foremost problem was the pipe I had ordered. I had had no idea what wall size to order, so I just went with 1/8″. Big mistake. That stuff is like, the type goons carry around to whack people with. Not the kind I can bend in a wooden form. So, I downgraded. Going out to the local hardware store, for about $2 I purchased somthing like 8 feet of thin wall steel conduit. It’s steel, so it’s heavier. But it was bendable. I used a 4.5 inch radius plywood form to bend the semicircle, with a lever type mechanism as described here. It worked, with no kinks either! I crimped something like the last 2 inches in a vice, making it flat.

Attaching Everything

Although I certainly did goof quite a bit when it came to the drilling measurements, resulting in off holes, it all worked out in the end. At Wal-Mart I found some Stanley Line Levels which, after beating into submission, I was able to bolt on. I had the balance bolts ready for a while, also making it easy to bolt. As for the handle, I don’t have anything special that works yet. I tried a kind of gimbal that I had made, more a piece of art than anything else, which broke under the strain of the rig. So, sacrificing stability for simplicity, I merely chopped up something that would work for a handle and bolted it on too. I really need to get a better handle-rig mount that will allow more handle jiggles and less footage jiggles.

The Price?

Amazingly, I think it was under $50 for everything. The most expensive was the plate, which was special order 6061 alloy 1/8″ aluminum, at about $10 including shipping or something like that. This is, of course, not including a camera.

The Synopsis?

I’m not done yet. On my to-do list: better weight balancing, and a better handle mount. The rest works fine, all good.

My Partly Conclusive Study on Response Times

Friday, February 20th, 2009

What It Is

I had an interesting idea, to measure and compare response times after various amounts of sleep. I was going to test after 8, 5 and 10 hours of sleep. You already saw my earlier posts about the tester its self, but some of the results are in. There are, indeed, too many variables such as unregulated heating, ambient light, actual sleeping time, and age. However, this does show a pretty defined pattern in the times.

What It Is Not

This is not a clinical or even particularly scientific study. All results should be handled with the assumption that I, a human, probably made some errors, but not significant to the outcome. It’s not done either, I’ve only done 2 of the 3 days so far.

The Raw Numbers

They’re going to be right below here, in a table for your convenience:

Sleep Times
Time After Waking 8 Hours 5 Hours 10 hours
0 min 29 ms 44 ms incomplete
5 min 18 ms 62 ms incomplete
10 min 47 ms 76 ms incomplete

Interesting Notes

As many probably know, we don’t always think straight when we’re asleep. As a matter of fact, after taking the first test, I needed something to record it. Rather than go for the nice pen in front of my, I pulled a pencil from its tennis ball holder and tried to write. It wasn’t sharpened. Still sleepy, I grabbed my X-Acto knife and in a couple seconds whittled a tip from the stub. I guess I partly overlooked the pen, and subconsciously always had wanted to sharpen a pencil like that. I was definitely more tired on the days I slept less.

The Part-Way Conclusion

So far, we can take a peek at the data and try and conclude something. After 5 hours, my times got consistently worse over time? As a friend pointed out, perhaps since my body wanted more sleep, it was getting drowsier in an effort to achieve its goal? Anyways, the biggest point so far involves some extrapolation. The average of all the first day’s times is ~31 milliseconds. The average of all the second day’s times is ~61! By skipping those three hours of sleep, your response times are almost slowed 2x, at least for the first 10 minutes. Wow.

Importance of a Journal

Wednesday, February 18th, 2009
My journal is a Moleskine with squared paper.

My journal is a Moleskine with squared paper.

Why is a Journal Important?

A journal can be important for many reasons. Unlike the stereotypical idea of a diary, you need not write about your life in a journal. For the most part, I actually don’t. I do tend to carry it around everywhere, often along with a key chain, wallet with no money, a cellphone, and a mechanical pencil. Most, if not all, famous thinkers kept a journal of some kind. Even if you don’t plan to be the next “famous thinker” you can still write ideas and things you want to do down.

What Do You Write?

I’ve already published one scan of my Steadicam plans. That was from my journal. As a matter of fact, I have two journals; one that fits in my pocket and one that’s a lot bigger. I mostly write in the pocket one, as I rarely carry around the big one.

Any Recommendations?

I have found, and I think many will agree, Moleskines to be just about the greatest notebooks on Earth. One of the reasons I’m attracted to Moleskines is because I love nice paper. It tends to be cheap, and feels so good to write on. Moleskines come in many different varieties, and can be used accordingly for what kind of writing you do. Write stories? Use lined paper. Technical sketches? Squared. Doodles or drawing? Blank. Music? Staff.

Where Does One Buy a Moleskine?

I believe you can purchase online, but I have found it often more convenient to buy from my local Borders who has begun carrying them. Another important thing is to carry a pencil or pen, because borrowing one from a stranger, for example, doesn’t always work.

Sudden Breakthrough!

Monday, February 16th, 2009

Not Exactly Pertinent...

Not Exactly Pertinent...

Image Copyright Protection!
I was thinking about this, and I don’t know why, but it struck me. It occurred to me what the best method of preserving an images quality while protecting against hotlinking and copyright abuse with minimal effort. So, the next morning, I wrote up all the code necessary to make it work. Now, I’m not actually going to describe the entire process, but instead leave it up to everyone to reverse engineer and figure it out! There should be enough there for anyone with basic HTML and CSS knowledge. The example is available here. Enjoy!

Amazon Mechanical Turk

Monday, February 16th, 2009
A Mechanical Turk Visualization

A Mechanical Turk Visualization

What? Mechanical Turkey?

 

No, it’s Mechanical Turk. Yet again, I’ve got too much spare time. Yet again, I keep feeling I should do something productive will all this time. Yet again, I had no idea. Then, I remembered about Turk. Amazon, yes, the same people at amazon.com, quite a while ago launched something called “Mechanical Turk” and they describe it as a “Marketplace for Work,” which it is. People, referred to as Requesters, set up HITs (Human Intelligence Tasks) with a monetary reward. Upon a Worker submitting the HIT, the Requester can approve or reject their work. Once approved, the Worker receives payment.

Sweet! Monetary Value!

Yes, this may seem like the greatest thing to come to the world since sliced bread (July 7th, 1928). In some ways, it could be. Unfortunately, unlike most real jobs, the pay is horrible. Majority of the HITs are in the $0-$.20 range. The tasks that are higher paying are correspondingly harder, such as audio transcription or product guide writing. For example, you might get paid $1.30 for an average graded transcript of a 5 minute slice of audio. Say that it takes you 10 seconds for every second of audio, plus a bit more, like me, and then extrapolate the percentage of minimum wage it is. Roughly $1.30/hour. Minimum US wage is $7.15. That means that you are getting 18% of what a extra-low-end job would be. I guess it’s the sacrifice of convenience.

Um, How Do I Get My Reward?

Once in your Turk account, you can withdraw through one of two ways: to a checking account, or an Amazon gift certificate. A minimum of a $10 checking account transfer is required, and only a $1 minimum on the certificate. I guess it’s better than doing nothing, but the work can be tedious.

The Response Timer (Beta)

Saturday, February 14th, 2009
The basic breadboard wiring, as seen here, is simple. It's the code that's complex.

The basic breadboard wiring, as seen here, is simple. It's the code that's complex.

It Works!

It took way too long for such a simple thing. But, it works. I have, um, semi-successfully created a device that measures the precise time in milliseconds between an LED lighting and a user hitting the button. The button is, of course, made of an old floppy ripped to shreds and taped onto a micro-switch from some old appliance. The wiring is too simple, and would work with the configuration described under “Button” at arduino.cc. It spits numbers out to serial which can be viewed with HyperTerminal, and, in the future, Processing. At this moment, I keep pressing the button with my wrist as it’s so close to my keyboard.

I Can Has Code??

You certainly can has code. It’s based off of what I wrote about earlier, and has one minor major bug. Here goes:

int lightPin = 13;
int buttonPin = 2;
int resetPin = 4;
static int cyclesGlobal = 0;
boolean isTesting = false;
boolean killLoop = false;
void setup()
{
pinMode(lightPin, OUTPUT);
pinMode(buttonPin, INPUT);
pinMode(resetPin, OUTPUT);
digitalWrite(resetPin, HIGH);
Serial.begin(9600);
Serial.println(124, DEC);
}
void reset()
{
digitalWrite(resetPin, LOW);
digitalWrite(resetPin, HIGH);
}
void erraticSignal()
{
digitalWrite(lightPin, HIGH);
delay(200);
digitalWrite(lightPin, LOW);
delay(100);
digitalWrite(lightPin, HIGH);
delay(200);
digitalWrite(lightPin, LOW);
delay(100);
digitalWrite(lightPin, HIGH);
delay(200);
digitalWrite(lightPin, LOW);
delay(1000);
}
void alertStart()
{
Serial.println(246, DEC);
}
void lightOn()
{
digitalWrite(lightPin, HIGH);
}
void lightOff()
{
digitalWrite(lightPin, LOW);
}
void startTiming()
{
delay(200);
while(cyclesGlobal < 10000 && killLoop != true)
{
delay(1);
cyclesGlobal++;
}
phoneHome();
lightOff();
cleanup();
}

void phoneHome()
{

Serial.print(135, DEC);
Serial.println();
delay(100);
Serial.println(cyclesGlobal);
delay(1000);
}
void stopTimer()
{
killLoop = true;
}
void cleanup()
{
lightOff();
detachInterrupt(0);
cyclesGlobal = 0;
isTesting = false;
killLoop = false;
reset();
}
void spill()
{
//debug
/* Serial.println("Now spilling the beans...");
delay(200);
Serial.print("lightPin: ");
delay(200);
Serial.println(lightPin);
delay(200);
Serial.print("buttonPin: ");
delay(200);
Serial.println(buttonPin);
delay(200);
Serial.print("cyclesGlobal: ");
delay(200);
Serial.println(cyclesGlobal);
delay(200);
Serial.print("isTesting: ");
delay(200);
Serial.println(int(isTesting));
delay(200); */
Serial.print("killLoop: ");
delay(200);
Serial.println(long(killLoop));
delay(200);
}
void startTesting()
{

isTesting = true;

startWaiting();

attachInterrupt(0, stopTimer, RISING);
lightOn();
startTiming();
}
void startWaiting()
{
delay(random(2000, 10000));
}
void loop()
{
if (digitalRead(buttonPin) == HIGH)
{
if (isTesting != true)
{
erraticSignal();
alertStart();
startTesting();
}
}
}

Insecticide Please?

I swear, I worked many hours pinpointing the bug. I haven’t found a solution for it. I was able to theorize and implement a solution, but did it work? No. Anyways, after the first test, it starts freaking out and will only say your reaction time is 0. It ends up completely skipping the timing loop, and it even thinks that “0 < 10000″ is false. Right. My solution was to send a pulse to pin 4, which would have a jumper to RESET, in hopes of a self-reset within the program. No avail, but it’s still in the code in case it works for anyone else or something.

Arduino Reflex Tester! (Concept)

Thursday, February 12th, 2009
No reason. No reason at all.

No reason. No reason at all.

Why?

 

So many people ask the same question to so many ideas: why? And I answer so many of those questions with the same two words: why not?

What’s an Arduino?

If you don’t already know, an Arduino is an open-source hardware and software physical computing platform. So what’s that mean? Basically, you are given a very elegant language to program the Arduino circuit board with, and a very easy to use board to connect many kinds of sensors and output devices. It enables you to make things physically happen rather than just show up on a monitor!

Why Go To So Much Trouble?

The problem I’ve always seemed to run into is that, with Windows’ clunkiness and the fact there are many other applications running at the same time, it doesn’t go fast enough. Since it doesn’t go fast enough, you can’t accurately time a human reflex. While an Arduino runs at 16 MHz, and that’s not technically faster than an average computer, the Arduino runs a much lighter  ”operating system,” enabling it to run faster.

So… How?

This configuration depends on there being a jumbo LED on pin 13 of the Arduino and a switch with a 10k pull-down resistor configuration on pin 2. It will spit out some data to serial, which does need a program or your brain to comprehend. That said, here’s my hypothetical and untested code:

 

 

 

 

 

int lightPin = 13;
int buttonPin = 2;
int cyclesGlobal = 0;
boolean isTesting = false;
boolean killLoop = false;
void setup()
{
  pinMode(lightPin, OUTPUT);
  pinMode(buttonPin, INPUT);
  serial.begin(9600);
}
void erraticSignal()
{
  digitalWrite(lightPin, HIGH);
  delay(200);
  digitalWrite(lightPin, LOW);
  delay(100);
  digitalWrite(lightPin, HIGH);
  delay(200);
  digitalWrite(lightPin, LOW);
  delay(100);
  digitalWrite(lightPin, HIGH);
  delay(200);
  digitalWrite(lightPin, LOW);
  delay(1000);
}
void alertStart()
{
  serial.println(246, DEC);
}
void lightOn()
{
  digitalWrite(lightPin, HIGH);
}
void lightOff()
{
  digitalWrite(lightPin, LOW);
}
void startTiming()
{
  for(long i=0; i <= 10000; i++)
  {
    if (killLoop == true)
    {
      break;
    }
    delay(1);
    cyclesGlobal = l;
  }
  lightOff();
  cleanup();
}
void phoneHome()
{
  serial.print(135, DEC);
  serial.println();
  serial.println(cyclesGlobal);
}
void stopTimer()
{
  detachInterrupt(0);
  phoneHome();
  killLoop = true;
  cleanup();
}
void cleanup()
{
  lightOff();
  cyclesGlobal = 0;
  isTesting = false;
  killLoop = false;
}
void startTesting()
{
  isTesting = true;
  startWaiting()

  attachInterrupt(0, stopTimer(), RISING)

  lightOn()
  startTiming()
}
void startWaiting()
{
  delay(random(2000, 10000));
}
void loop()
{
  if (digitalRead(buttonPin) == HIGH)
  {
    if (isTesting != true)
    {
      erraticSignal()
      alertStart()
      startTesting()
    }
  }
}