Thursday, August 20, 2009

Wow, thanks!

By the way, I also wrote some more at the Arduino forum here with a couple more pictures.

Wow... Wired and Slashdot. The last 6 hours have been kind of funny and exciting and educational. I have a lot of emails in my inbox, and I'm going to reply to every one of them because there are a lot of insanely cool ideas, and I'm going to try to summarize them all up and share them over the next few weeks... while I work on my projects using the Illuminato X Machina boards (pronounced ill-oo-min-ah-toe ex mah-kee-na).


The really humbling part about when someone else writes something about a project you're working on is realizing just how much you suck at writing... but you only realize that when you see how someone could summarize your entire series of blog posts with a ridiculously more concise version:
"An ambitious group of hardware hackers have taken the fundamental building blocks of computing and turned them inside out in an attempt to make PCs significantly more efficient. The group has created a motherboard prototype that uses separate modules, each of which has its own processor, memory and storage. Each square cell in this design serves as a mini-motherboard and network node; the cells can allocate power and decide to accept or reject incoming transmissions and programs independently. Together, they form a networked cluster with significantly greater power than the individual modules."

Well, hmmm yes... that's exactly it... thanks, Priya :-) And then someone apparently passed another version to Slashdot:
"A group of hardware hackers have created a motherboard prototype that uses separate modules, each of which has its own processor, memory and storage. Each square cell in this design serves as a mini-motherboard and network node; the cells can allocate power and decide to accept or reject incoming transmissions and programs independently. Together, they form a networked cluster with significantly greater power than the individual modules.The design, called the Illuminato X Machina, is vastly different from the separate processor,memory and storage components that govern computers today."
Which is also a much better version than my explanation of the Illuminato X Machina. Ok, so I think I'm going to stay hacking hardware instead of writing professionally. Thanks Anonymous Slashdot reader :-)

While I'm on the topic of thanks,
David Ackley (from UNM who I met at the Santa Fe), Chris, Omar, Mike, Justin and I also wanted to thank:
I'm very excited... in a pop-some-more-penguin-mints kind of way (I have a lot of empty tins if you're interested). This is what Open Source Hardware was meant to be like I think, but in this case the last 6 hours have felt like a lot of "open source ideas", with tons of communities all over the place talking about what ideas they have. So now I know what I'm going to do. I have spent the last few hours collecting hundreds of questions, and ideas, and emails, twitterthings (a little part of me dies inside everytime I say tweet), and chat blurbs and I will do what Open Source was meant to do: incorporate them back into the projects and code I am working on with the Illuminato X Machina and the Santa Fe Project.

In the meantime, I set up a dedicated site where I'm going to keep all the information like docs and schematics and gerbers and IDE compiler code and samples over the next few months... a lot of people are asking about them but they're not done... lots of documentation to write, and files to convert and zip up, but it should all be up by the end of the weekend.


Wednesday, August 19, 2009

Introducing the Illuminato X Machina

The Santa Fe Project is a crazy one, and over 6 months ago, David Ackley and I originally talked down at the Santa Fe Institute about what we would need as far as tools were concerned in the software and hardware domain in order to really get a “feel” for what we were about to try to solve. We sketched a few ideas on the back of scrap pieces of paper (we didn’t have any napkins lying around), and came up with a list of humble and meager features we’d want in a hardware platform: infinite scalability, ad hoc interconnectivity, dynamic boot load and code flashing, physical manifestation of software code, physical computing, compatible with Open Source language work in physical computing like the Arduino platform, a very fast core processor, a more powerful chip than an 8 bit Atmel, yet an approachable basic set of functionality that would allow us to expand on it easily, and a large community of heavy duty, hardcore software and hardware hackers.

Simple! Errrrr…

Then I jumped on a plane and headed back to New York and rode my motorcycle as quickly as I could to Connecticut, and met with Chris and Mike, and said, there’s got to be a way to build this thing… right? Mike laughed at me, but Chris said bring it on.

(6 months later)

And so, it’s with that same kind of pride that you get when you fix a bug and a 1000 line program compiles on the very next try that I proudly introduce the Illuminato X Machina.

The Illuminato X Machina is the result of an Open Source collaboration between David Ackley from the University of New Mexico, Liquidware, and Illuminato Labs. It’s what you’d expect if Complex Adaptive Systems met Open Source Hardware at a bar, drank too much and had a love child that was raised on Physical Computing child support in the suburbs of Modular Electronics. Then one day that child spontaneously cloned itself hundreds of times, and decided to hold hands with all of its clone siblings so that it could play a crazy N^2 O*log(O) game of telephone. Or something like that.

It’s a small “motherboard cell” that can interchangeably link and connect up to other cells, either rightside up or upside down, to adaptively route packets and power to its neighbors, like a grid of biologic cells, passing nutrients and resources to their neighbors. Also, each board can program its neighbors using a dynamic bucket-passing bootloader that allows any given cell in the grid to over-ride or re-program neighbors.

Each cell runs a 72 MHz ARM processor with 56 digital I/O pins, and the ability to accept power from any one of its 4 edges. This means that the cellular grid can expand in any direction, and the reversible interconnections mean it can grow like a crystal in any orientation. I've uploaded more pictures to my page on Flickr too.

The Illuminato X Machina boards will be available in a limited quantity run that's ready 2 months, so I've put them up for pre-order here. Basically, it is like the Borg of open source, DIY physical computing… it’s crazy, and 7 guys and gals will be hacking it like mad over the next couple of months :-)

Friday, August 14, 2009

Dave's Course

It sucks that I have a day job. If I didn’t, I’d be flying to the University of New Mexico every week to work with David and his class. His class is going to address a lot of the topics I’ve been talking about, the future of computing, and robust physical computing. That has a certain ring that’s starting to grow on me…

If you want to be added to the little informal mailing list of guys hacking over the next few months, or if you’d like to meet up in Boston or head over to the University of New Mexico and meet up, just send me an email at inthebitz at gmail.

Thursday, August 13, 2009

That's My Slide!

I was watching my nephew yesterday and to keep him occupied, I gave him my Slide to program... he quickly got distracted by the paint program and wouldn't let me do any programming on it...


Next time I'm going to give it to him without the paint app loaded...

Wednesday, August 12, 2009

The Santa Fe Project, and the University of New Mexico

What happens if Moore’s Law isn’t the only thing that matters? Are Harvard and Princeton architectures the only choices, especially as the world moves increasingly to parallel architectures? Whatever happened to the plethora of alternative architecture that thrived during the 1970’s and 1980’s? If Seymour Cray were alive today, what would he have developed? What is the Linux equivalent for computer architecture?

The “Santa Fe Project” is about challenging everything I learned in undergrad class, and everything that is taught in computer science books. As a matter of fact, there are a fair number of old, rusty, mildew-collecting books at the Santa Fe Institute in New Mexico that do nothing but talk about computer architectures. But they’re all the same, the only thing that ever changes are the number of registers, the bit width of the registers, and the amount of memory available to you.

There are some people that argue that because every computing machine is Turing Complete, it doesn’t make any sense to build anything else, you can “just emulate it all in software”. But that’s an awfully narrow-minded and usually impractically academic mentality. The problem is that software is intangible, it’s electronic. It’s not physical, so it doesn’t occupy meaningful physical space. It doesn’t interact directly with its environment, it doesn’t change its surroundings, and it doesn’t interact with users physically.

What would a computer look like if it was a complex adaptive system that existed in real, 3 dimensional physical space?

Over the next 2 months, Chris, Mike, Omar, Justin, Matt, and Dave Ackley are going to try to challenge everything we know, by intentionally “undoing” computation. The Santa Fe Project will be as much a mental challenge as it will be about physical hardware design and software design.

And while all of this is happening, Dave Ackley is going to host a course at the University of New Mexico, in the computer science lab. Everything we build and develop, and test, and explore, we will launch immediately to the University of New Mexico and at the Santa Fe Institute. In fact, he’s been working on a syllabus, and we’ll talk all about the research and projects here on the blog.

Monday, August 10, 2009

Run in with the Santa Fe Institute

Over a year ago, I was working in finance and strategy in New York City when I decided to change what I was doing entirely, and join the Open Source Hardware and DIY Hardware and Physical Computing movements. I had no idea it would have such an effect on how I think, and what I now think is important. It’s been a crazy ride, and it’s resulted in meeting more people than I ever could have imagined. I’ve even gotten a chance to travel to some amazing places to talk about Open Source Hardware, and the future of computing with scientists and engineers who know much more than I do.

I’m not talking about the Silicon Valley type of “future of computing”: smaller, faster, lower power x86 architecture. Don’t get me wrong, Silicon Valley is great. But it’s all about gunning for incremental improvement on the same architecture that computers have been running for years.

About a year ago, I started asking myself, I wonder what the future of computing is? Are we going to be using x86 architecture machine with motherboards and processors and ram chips and graphics cards forever? I wondered who’s actually thinking about that problem fundamentally, or differently than the mainstream group of people publishing in the old ivory tower institutions like some of the ones up in Boston, for instance.

I made a list of people and places I wanted to go, to meet with people and ask them, “what is the future of computing?” “What is the future of computation?” “What is the future of structure and architecture?” “What is new and different in computation?” “How will the future get developed: in a company? In an institution? By a community of Open Source hackers?”

My list of people to interview was pretty long, but included a few places like the Cambridge and Oxford College, MIT, Stanford Institute, Santa Fe Institute, the Army War College, Los Alamos Labs, NASA. So basically, a bunch of places out of my league. But I figured, why the heck not? So I made a bunch of phone calls, and found some very interesting people. Some of them were snotty, others were full of themselves, but almost everyone I met had one thing in common: they were defensive and protective of their ideas. It didn’t feel right.

Then I found the Santa Fe Institute. It’s a think tank in the middle of New Mexico, perched up on a hill overlooking desert and shrubs. And there are all kinds of people there who share one thing in common: asking weird questions about the future of algorithms and computing in ways that no one else does.

So I flew there, and spent a week and a half sharing ideas, talking to people about my problem, and meeting all types of researchers from different disciplines and fields of study…

And that’s how I met David Ackley. Over the next 6 months, Dave and I and the guys at Liquidware had some pretty deep, intense, and off the wall conversations about the future of computers.

And since we’re all hackers at heart, we decided to do something about it: we started a project called, appropriately, “The Santa Fe Project.”

Tuesday, July 28, 2009

Update on the TripleWide Extender X and Open Source Pricing

One of the most fundamental rules of business I've ever heard is that products need to be priced independent of cost. This is also cited as the most common rookie mistake, the idea of costing out a product and slapping a fixed margin on top.

"You've gotta charge what the market will pay, otherwise, you're leaving money on the table!"
"If you just put a margin on top of cost, then the price wars will begin, and you're just going to keep discounting and discounting until there's no margin left"

The Open Source Hardware Bank has gone against that rule entirely. The price was deliberately assigned as a roughly 15% margin over cost, which was estimated and made apparent upfront. But then again, the goal wasn't to "maximize profits (and take over the world)". It was simply to make a piece of hardware accessible and feasible to build, and to offer a modest reward for everyone who helped make it possible. So it may violate the rules of conventional business, but this paradigm of "Open Source Pricing" works for the sake of turning an idea into reality.

Then what happens when the cost estimates were a little too high to start off? Business rules would say you keep the excess margin, but following the 15% over cost model, the price would be reduced accordingly. So as it turns out, building the TripleWide Extender X was much cheaper than expected (in part because of similarities in production to the DoubleWide, and taking the final assembly in-house to get them out faster). With an original anticipated cost of 31.53, the price was 36.26. And so the "Buy 1, Build 1" cost was 67.79, and folks who helped fund it would have received one TripleWide and a check for 36.26 in return.

As it turned out, the TripleWide X, Illuminato compatible (double rows of headers) cost 24.87 to build, keeping a constant 15% margin would result in a price of 29.26. The real question is then, what happens to the people who have funded one at 31.53, expecting their 15% return after it sold? Well, the difference in cost still goes back to them.

To recap, Buy 1, Build 1 was originally:

36.26 to buy 1
+ 31.53 to build 1

for a total of 67.79.

As it turned out, the cost was lower. So now:

29.26 to buy 1
+ 24.87 to build 1

for a total of 54.13.

Hence, everyone who bought 1, built 1 will get:

1 TripleWide X + 7 (the difference in final price that they overpaid)
+ 29.26 (the final price of the board sold) + 6.65 (the amount they overpaid in cost)

All told, they'll get a check for 42.91 rather than just 36.26, since the savings are passed along. The product was made possible for cheaper than expected, and everyone saves money. It's the business of Open Source Pricing :-)

Friday, July 24, 2009

ButtonShield... HOW TO?

A lot of people who just got their ButtonShields were asking about how they could get up and running, so I decided to put together a short summary sheet for the ButtonShield.

It goes over all the different parts of the ButtonShield, from the arduino communication libraries to how each of the buttons are mapped.
I've put it up on the Liquidware site over here. Let me know if there's anything else I should add, or cool things to do with it!

Wednesday, July 22, 2009

CC Processing and More

A sneak peak at the new liquidware.com cart system shows how it's much easier to checkout using just your credit card. This is a huge improvement over the paypal account system.



Google has been pushing this faster web thing lately:
http://code.google.com/speed/. Matt B used some cool techniques like
multiple domains for parallel downloads, aggressive HTTP caching, and
better image compression to make Liquidware.com over 2x as fast for some users. Look at these neat graphs of the http traffic:


Liquidware.com is way bigger than a year ago, it's nice to get it back
to being speedy!

Tuesday, July 21, 2009

Hacking the TouchShield Slide: Undocumented Easter Egg

Why is open source cool? I got an email from Raj, who’s been using the TouchShield for a while, saying “I noticed there’s an extra RGB LED that I don’t think is supposed to be there.”

To which I replied, “PSYCH! Actually, it’s supposed to be there, and you’re the first person to discover that easter egg!” There are other easter eggs on the TouchShield Slide, but this is the first one that anyone’s found.

Ok, well then I guess it’s time to post some code…here's how to hack it:

void setup()
{

/* Setup pin direction */
SETBIT(DDRD, PD4);//set the red led data direction to output
SETBIT(DDRD, PD5);//set the green led data direction to output
SETBIT(DDRD, PD6);//set the blue led data direction to output

/* Turn on all LEDs */
CLRBIT(PORTD, PD4);//turn on the red led
CLRBIT(PORTD, PD5);//turn on the green led
CLRBIT(PORTD, PD6);//turn on the blue led

}

void loop()
{

/* Turn on all LEDs */
CLRBIT(PORTD, PD4);//turn on the red led
CLRBIT(PORTD, PD5);//turn on the green led
CLRBIT(PORTD, PD6);//turn on the blue led
delay(1000);//wait for 1 second

/* Turn off LEDs */
SETBIT(PORTD, PD4);//turn off the red led
SETBIT(PORTD, PD5);//turn off the green led
SETBIT(PORTD, PD6);//turn off the blue led
delay(1000);//wait for 1 second

/* Blink the RED LED */
CLRBIT(PORTD, PD4);//turn on the red led
delay(1000);//wait for 1 second
SETBIT(PORTD, PD4);//turn off the red led
delay(1000);//wait for 1 second

/* Blink the GREEN LED */
CLRBIT(PORTD, PD5);//turn on the green led
delay(1000);//wait for 1 second
SETBIT(PORTD, PD5);//turn off the green led
delay(1000);//wait for 1 second

/* Blink the BLUE LED */
CLRBIT(PORTD, PD6);//turn on the blue led
delay(1000);//wait for 1 second
SETBIT(PORTD, PD6);//turn off the blue led
delay(1000);//wait for 1 second



Unbeknownst to everyone who’s ever bought a TouchShield slide, there’s actually a multi-color RGB LED backlight on the reverse side of the board. This lets someone set “mood lighting” for a gadget – eat that, iPod…


Tuesday, July 7, 2009

This Book Sounds Like Me!

Ever wake up one day, and realize that your entire life has been predicted, if not played out, in entirety, in a book? I think that just happened to me...


I just read this little post on Boing Boing today, and my jaw literally dropped. Actually, Justin's jaw dropped too because this is not only creepy, it's kind of cool at the same time. Cory Doctorow talks about Makers, his next novel, which began as an online serial a few years ago, called Themepunks:

"Makers tells the story of a group of hardware hackers who fall in with microfinancing venture capitalists and reinvent the American economy after a total economic collapse, and who find themselves swimming with sharks, fighting with gangsters, and leading a band of global techno-revolutionaries."


Going down the list...

  • Hardware Hacker - check, check, check
  • Microfinance - check
  • Economic Collapse - check
  • Fighting with Gangsters - sort of :-)
  • Global Techno Revolutionaries - check, check, and check
  • PowerPoint - check
  • Blue Blazer - check (I almost always wear one, just because)


I read the first 2 chapters from the Themepunk story web site, and a few things stuck out that totally rang a bell:

  • The fact that IBM doesn't even make their own computers anymore. Yeah, what the hell?
  • "Capitalism is eating itself." What a great phrase! According to some economists and job surveys, the best and brightest want to become bankers, not engineers - booooo....

There are a couple of things in the writing that don't completely work, but that's ok:

  • There's no CEO, because that's too corporate sounding, and plus everyone knows that centralized hierarchical organization models are so 1980's paradigm (sorry, Henry Mintzberg)
  • No khaki's - they get solder flux stains too easily ... everyone knows jeans are way better :-)

So I guess I don't really have any other choice than to say, ... I will buy this book, and definitely look forward to reading every page. I just hope it ends up well!

And if you're reading this, Cory Doctorow, I would absolutely LOVE to sell your book on the Liquidware shop website....

Viva la hardware hacking microfinance economic rebuilding techno revolutionaries!

Sunday, July 5, 2009

Arduino IDE Meets Ruby

Scripting languages have evolved a lot in the recent years. Ruby in particular, has had such a significant impact, that there are entire teams dedicated to maintaining it's visual identity across the web.


Designed by Tom Schaub is a widely used logo for the ruby programming language.

Sporting some flashy ruby icons, is the Scripting tab in the Arduino IDE. Upon startup, a listing of your ruby script files is generated from your Sketchbook directory.


Don't look, yet!

Of course there's no scripts in there, you need to crack open your ruby reference and create some. Once you do, you'll see how easy it is to automate repetitive tasks.

Hello_Arduino_World.rb code listing:
puts("Hello Arduino World")
Click RUN and you will get the standard output right to the console:


File I/O
How about writing to a file from a ruby script? Well that's easy:
myFile  = File.new("test.txt","w")

myFile.puts("Writing a line to a text file.")
myFile.puts("And Another.")

myFile.close()



Ruby scripting support is built into the Antipasto Arduino IDE in versions 0.8.11 or greater.



Enjoy!