Meta-Nixie Clock

I recently caught Matt Mets’ post on hacking a digital photo frame into a clock by generating a static image for each minute of the day, and then automating the action of advancing the image once per minute. This allows for any number of interesting clocks to be made with suggestions ranging from a written-word clock (as Matt’s project did) to photographing various clocks at each minute of the day to photographs of people miming clock hands. I happened to show this post to my husband and he absolutely loved the idea and wanted one for his desk at work. I immediately realized that I had found the perfect Christmas gift for him! Read the rest of this post »
Posted on January 22, 2010 at 6:01 pm by W. Aaron Waychoff · Permalink · 4 Comments
In: projects · Tagged with: 

lolshield hacking

My friend Jimmie Rodgers, maker extraordinaire has come up with a great new shield for the Arduino which he is calling the LoLshield for “lots of leds”. It’s a charliplexed array of 126 LEDs in a 9×14 grid that pops right onto an arduino. Neat!

A problem with charliplexing is brightness. Since you have to turn each led on and off only one at a time, you must cycle them very quickly and rely on persistance of vision to make it look like many are on at once. The faster you can cycle, the brighter they will seem.

Arduino libraries can be very convenient, but some are slow. Using the original routine which called PinMode() and DigitalWrite() twice for each LED, only limited brightness could be achieved. I worked out a way to use direct port manipulation instead, a process which allows you to directly set the output mode and state of the pins of the ATMega very quickly – and set multiple pins at once to boot! Check out the Arduino Port Manipulation page for more.

Here’s how it works. At the heart, we have a 2D lookup array which contains 4 values for each of the 126 LEDs on the board. The values are what needs to be shoved into the corresponding DDR and PORT registers to turn each LED on. (I used a quick processing sketch to generate this) As an example, let’s walk through the 4 values stored for LED 0, the upper-left LED. It uses pin 13 as its positive pin, and pin 5 as its ground. The values stored are:  {32, 34, 32, 0}

- first byte is the value to enable pin 13 in the DDRB register (00100000) ORed with the value to enable pin 5 in the DDRB register(00000000) (it’s in the DDRD reg so it’s just zeros) = 32
- second byte is value for pin 13 in the DDRB (00000000) ORed with the value for pin 5 in the DDRD reg(00100010) (includes keeping pin 1 enabled for serial) = 34
(These two values are ORed between the pins so that they can be set simultaneously in one assignment of each DDR register)
- third byte is the value needed to turn on pin 13 (the positive pin) in PORTB = 32
- fourth byte is the value needed to turn on pin 13 in PORTD (either the 3rd or 4th byte will always be zero since we only turn on 1 pin) = 0
(Notice there’s no ORing with these last two – we only want pin 13 high, pin 5 should stay low to sink current and provide the ground. Luckily low is the default state for a pin set as an output so we don’t have to do anything with pin 5 here)
Since the enable bit for both pins is now set in value 1 and 2, we just have to shove byte1 into DDRB and byte 2 into DDRD to enable the pins as outputs
Since the output bit for the correct pin is set in either value 3 or 4, we just have to shove byte 3 into PORTB and byte 4 into PORTD to turn the proper pin high
Now, with these values, we just have to put them where they belong, so we have been able to turn this:
void turnon(int led) {
int pospin = ledMap[led][0];
int negpin = ledMap[led][1];
pinMode (pospin, OUTPUT);
pinMode (negpin, OUTPUT);
digitalWrite (pospin, HIGH);
digitalWrite (negpin, LOW);
}
into this:
void turnonbin(int led){
DDRB = ledMapBin[led][0];
DDRD = ledMapBin[led][1];
PORTB = ledMapBin[led][2];
PORTD = ledMapBin[led][3];
}
Which seems to run faster, updating the LEDs faster, and resulting in better brightness and LED stability. Just what I was going for!
You can find my version of Jimmie’s demo code attached, along with the messy processing sketch I used to translate the original LED map into the new version.
Now, go buy a kit from Jimmie and get loling!
Arduino demo code
Processing sketch
Posted on December 29, 2009 at 5:46 pm by W. Aaron Waychoff · Permalink · Leave a comment
In: projects · Tagged with: 

Searching for Space (for your hackerspace)

So, once Em, David and I decided that we didn’t need a space, we immediately started looking for a space. It was as if knowing we did not absolutely need a place made the search easier to handle. As I have mentioned previously, there are a lot of benefits to having a location around which to build a community, but the location need not be a defining part of the community. Still, I do think it’s easier for a community to define itself if it has a physical home. (But it’s not so necessary that a group should wait for space to start doing stuff!)

There are a few things you should know about when looking for spaces. (Warning: this could get a little long)

What kind of zoning fits your needs?
This can be a big one, and is going to vary a lot depending on your location and goals. If you are just getting a private space to have a few people share as a studio, lounge, hackerspace, etc. then you may well be able to get by with a residential place. This will generally keep everything cheaper, but you could run into issues with the landlords (who often frown on non-traditional use of residential space), neighbors (people coming and going at odd hours, suspicious of what you are doing, noise complaints), and government agencies (running many businesses out of a residence is illegal, gathering of people for commercial events is problematic, etc.).
A popular co-working facility I know started in a residential area, which served them well for a while. But with their growth and popularity on the rise, friction with the neighbors and landlords have forced them to look for a new space.

How much space do you really need?
Space is a paradox. It simultaneously goes further than you might expect, and is always smaller than you think. It pays to think this one out well. Get too little space, and you won’t have anything better than the corner of your bedroom where your soldering iron is threatening to send the bed up in a blaze. Get too much space and you may not be able to afford it long enough to get your community off its feet.

Read the rest of this post »

Posted on August 17, 2009 at 7:48 am by W. Aaron Waychoff · Permalink · Leave a comment
In: Observations, projects · Tagged with: , ,

Do you really need a space?

Recently, Emily Daniels, David Nunez and I decided that it was Time To Do Something. We were all struggling with some personal creative projects, and felt that we needed a community of people around us who were making interesting things. With the right kind of people gathered, a lot of magic can happen. We were especially interested in exploring the energy that’s created when productive, enthusiastic, creative people come together – whether they are working on their own projects or a collaboration.

Read the rest of this post »

Posted on August 14, 2009 at 9:20 am by W. Aaron Waychoff · Permalink · Leave a comment
In: Praise, projects · Tagged with: , , ,

Making money (on twitter, without a record label, with fans)

These days, I am a total fanboy of Amanda Fucking Palmer. (Please check her and her music out if you do not know her and The Dresden Dolls) As with more and more artists, AFP is dissatisfied with her relationship with her music label, Roadrunner Records. While the restrictions on her expression may be the root of her disagreement with them, the problems run much wider – including lack of support, general idiocy, and more. Simultaneously with this realization, AFP has made steps to support herself – on her terms – without the involvement of her label. This is something that has, inarguably, been made possible by the Internet and will likely gain more and more steam in the future.

AFP has a moderately sized, but rabidly loyal fan base. This is not an accident, she is not simply “lucky” – she reaches out to her fans, cultivates the fields and, above all, remains honest and approachable. Such an interested and loyal group of fans seems to be a far more valuable asset to AFP than any record company ever will. And recently, she has really begun to figure out how to tap these fans for what they will gladly, emphatically give to see their favorite artist continue to create.

Read the rest of this post »

Posted on June 27, 2009 at 11:49 am by W. Aaron Waychoff · Permalink · Leave a comment
In: Observations, Praise

New project released: iSrch Rndmzr 3000!

I’ve finally finished the photography for my project, “iSrch Rndmzr 3000! by Subverted Industries”. The “project” really consists both of a device I fabricated (from an Arduino, display, and salvaged enclosure) and the corresponding web site. I’ll let you visit the site for details. My comments on the project can be found under the “about” section at the site.

There will be more to come for the Subverted Industries brand. Keep an eye out.

~w

Posted on May 13, 2009 at 11:33 am by W. Aaron Waychoff · Permalink · Leave a comment
In: Me, projects

Bizarre.

I’m on a plane. The guy in front of me just reached over and grabbed the back of his chair, stretching. I wanted to lick his hand. Just to see what he would do. I would deny it, of course, because that would make for a more interesting exchange.

Is that wrong?

Posted on April 19, 2009 at 9:00 pm by W. Aaron Waychoff · Permalink · Leave a comment
In: Uncategorized

Trademarks gone to far!

Did you know that you cannot use the word “apple” in a Google ad for any reason? Even if you are advertising products made from or with the actual fruit? Did you know you cannot use the word “philosophy” either? (that’s the one I got dinged on) In fact, here are a few more common, every-day words that cannot be used in Google ads because someone owns a trademark on the word:

palm
swatch
fossil
tide
crucial
latitude
sloe gin
mulberry
pirate
olympic
smooth
juicy
leap
freedom
citizen
coach
core
crank
pilot

Look very carefully at that list. Every word in that list can be found in any English dictionary and have been part of the language for (in most cases) hundreds of years. How can we even remotely interpret trademark law to allow companies – who took the risk by using common words as their names – a blanket ownership of these terms? Trademark is a narrowly defined right to exclusive use of a term or mark in conjunction with a specific area of business. It is not an exclusive right to use that word in all commercial endeavors! 

I demand that we have our words back. We can’t let the land-grab of trademark continue unchecked. If so, we’ll eventually be forbidden to use these words in writing, emails, and even casual conversation!

 

UPDATE: After complaining, Google has re-approved my ads using the word “philosophy.” While I think that a system that, by default, bans the use of common English words due to tenuous claims of Trademark, allowing their use only after review, is a very flawed system, I do appreciate that I did not hit a stone wall at Google. I understand that they have a real issue here, but I believe that in the case of Trademark – especially in weak trademarks like common English words – the burden should be carried by the trademark holder, not the numerous other people using those common words innocently. The system is backwards.

Some bad flash fiction:

The pilot had to seriously crank the yoke just to avoid crashing on the smooth shoreline. but despite his sweaty palm and pirate hook, he touched down safely in the tide. He had made a crucial mistake in calculating the latitude of the island, and now had a problem of olympic proportions. The leap from the small plane literally shook him to his core, and he landed with a thud in the sand. He realized he would be stuck on the island for a while, but his military training kicked in and he could see the face of his survival coach pushing him in drills. He had to eat and he had to drink. Near the beach, he found fresh water and juicy berries which he wrapped up in a swatch of fabric from his shirt. Combined with the bottle of sloe gin from the plane, he had a  meal that would get him though until some adventurous citizen, out for a pleasure cruise, would eventually grant him his freedom. Either that, or he would become part of the permanent fossil record of the island. He popped a mulberry into his mouth and considered which outcome he would truely prefer.

Posted on March 13, 2009 at 12:34 pm by W. Aaron Waychoff · Permalink · 2 Comments
In: Annoyances, Criticism

Give me less privileged accounts!

I’m quite sure this has happened to you:  You are surfing along. You find that your favorite blogger/website links to a cool new social network/application/utility and you sign up/download it. Then it starts asking you for your Google/Yahoo/Bank/Credit Card/etc account information. If you are like me, that’s when you stop, back away, and just say NO. It’s not that I don’t trust the developers of these services… Oh, wait, that’s exactly the problem – I don’t trust them. I don’t trust them to keep the information to themselves; I don’t trust them to ensure that each and every employee who has access to the info is a fine, upstanding person who won’t run off with it; I don’t trust them to have super-bullet-proof systems that keep everyone else from getting ahold of my keys. To me, it’s just not worth the risk.

I do wish I could give them my account info. I miss out on a lot of potentially neat features by not feeling comfortable doing this. For instance, I was reading up on a new iPhone application today called A Personal Assistant. (review) This app, despite its current rough edges, actually seems like a good idea. It’s essentially a dashboard for all one’s important accounts – banks, credit cards, airlines, social networks (if those are, indeed, somehow important) and more. A one-stop shop for the information that is probably a good idea to keep tabs on, or that you at least want to check quickly. But, of course, to access all this info you have to turn your keys over to the developer. Nuh-uh.

What I want: for each and every site that I can log into that in some way provides or contains personal information about me I should be able to create an alternate account (or accounts) which has basic read-only and, preferably, customizable rights. For instance, an account that can see my current minute and dollar balance for my cell phone, one that can read the basic contact info from my Google account, one that can see my current flight schedules on NWA.com, one that can see my order status and tracking info at Amazon, etc. But none of these accounts would be able to change anything or see any sensitive data that I didn’t want them to see. So, sure, I may be giving someone the ability to see that I currently owe $60 on my cell phone bill and that I’m nearly out of minutes, but that person would not be able to change my plan, order a new phone, or even see my call details. And I should be able to do this absolutely everywhere it makes any sense at all.

Software agents are just going to keep getting more and more prevalent in our society – whether they take the form of Dashboard widgets, iPhone applications, or even web site aggregators, they are here to stay. More sites need to start offering data access in a way that enables this functionality without compromising the security of their site or their users.

(Props to the few sites out there with a robust API for read-only access. It’s a start.)

Posted on March 9, 2009 at 1:34 pm by W. Aaron Waychoff · Permalink · Leave a comment
In: Annoyances, Criticism

Tool Fetishist vs. Producer

For years I have been a tool fetishist. (Not really the proper use of that word, maybe a tool-o-phile?) I have been wrapped up in tools, process, and how-to for so long, that I haven’t really been a producer. I think it’s something I learned from my dad, but it’s something that I share with a lot of people out there. 

I love tools. When I say “tools” you probably think about screwdrivers, hammers, power saws and the likes. Yes, I do totally love those things. And drills, and Dremels, and bits, and blades and all sorts of others. But I also love paint brushes and art boxes, word processors and idea databases, drum pads and synth keyboards, soldering irons and multimeters. I have a fascination with the tools and the processes that people use to create, make and produce. And chisels.

I have such a fascination with these tools that I buy a lot of them. I have the curse of being able to pick up just about any medium of creation and make something pretty darned mediocre, and sometimes a little better, my first try. (You may think this is a gift but, uncontrolled as it is in my case, I assure you it is not.) Paradoxically, this leads to a lot of boredom for me in my creative life. It’s why I keep buying tools and paraphernalia for different, usually only slightly different creation mediums. I like using these tools, being in the process, but I get bored with it as soon as I see that I can do it. Not necessarily well, mind you, but I seem to be satisfied about the time that I understand what it takes to get to something good. What I actually seem to be good at, mostly, is understanding what it takes to make something of quality in any one of these areas – woodworking, painting, writing – but what I’m bad at is actually going through the process to the end, over and over, until I not only understand what is needed to go beyond the mediocre-or-a-little-better phase and into the something-that’s-actually-good phase, but actually do it.

The good news in all of this is that, after years and years, I finally began noticing and understanding this a few years ago. I’ve been confronting it and tackling the monster and things are getting better. I do more now, and dabble less. (Oh, I still dabble plenty, but mostly in a few more focused areas instead taking the shotgun approach to hobbies.) I’ve begun to finally admit to myself that I need and want to be good at something, not just passable at a lot of things. And those things I want to be good at are getting the attention.

I know that this is working because, finally, I seem to be rather uninterested in the fiddly mechanics of other writer’s processes. Sure, I am still entertained and even enlightened when Cory Doctorow repeatedly tells aspiring authors to “write every day” (something I totally understand the importance of now) but I’m not so concerned about whether he uses an antique Underwood or the latest version of Open Office to write his novels. It is liberating to realize that I’m finally (mostly) past this barrier. I should point out, though, that I have found some very useful tools that do actually help me write (Scrivener/Evernote/DEVONthink and similar idea-drawer databases in particular) and without my previous levels of interest, I am sure I would not know some of the useful things I know about writing today, but it’s a relief to realize that, finally, I know that above all writing is about putting words down, hopefully in an interesting arrangement. 

Who needs fancy tools to do that?

Posted on March 6, 2009 at 11:52 am by W. Aaron Waychoff · Permalink · Leave a comment
In: Me, Observations