As some (many? both?) of you know, we have been running a special program for Education with Sun SPOTs. We have been accepting proposals, and granting Sun SPOT kits, for course development in Wireless Sensor Networks, Robotics, and a wide range of other topics. The courses developed through this program are required to be open source, and we're starting to get results!
RTI has submitted an interesting website with some of their course development activities and results. Check it out!
I'll post more as they roll in. If you're working on one of these projects, and you want to see your project listed here, just send me the link (again, if you already did and I ignored it) and I'll get it posted here!
I think we (Sun) 'get it' and get it right, most of the time. Not on everything, for certain, but when it comes to communication, openness and transparency, we have that down. As a counter example ...
I use a nifty piece of software from BareBones Software called Yojimbo (I know, the name sort of blows, but it's a great 'digital junk drawer' for my Mac and helps me save, organize and keep track of lots of stuff in one place. But I digress). Don't get me wrong here, I love the product, and use it almost every day. But their communication strategy seems to be modeled on Apple's. Tight-lipped and reticent. The users on the Yjimbo users' alias are clamoring for answers, for insight into what may, or may not, be going to happen with the product, and where things are headed. the response from BareBones?
Yep, pretty much. Well, other than to point to their FAQ, which says:
We'd like to offer an iPhone version of Yojimbo, but can't currently say if/when this may happen nor what its feature set might be. As soon as we're able to provide more info about our plans, we will do so.
The equivalent of "we can neither confirm nor deny ..." and a non-answer. Don't get me wrong, I understand that at times it can be advantageous to carefully control the release of information so as to not over-promise, under-deliver, or to make a big splash with your announcements. But there is a lot to be said for involving your users, for making them feel involved, a part of the process, and invested in your products. A user that has a mere affinity for a product is not nearly as good as a user that has an investment in, and a commitment to, a product or company. Involving your users gives them the investment and commitment to make them useful assets, not just the other end of the payment stream.
And what has all this to do with Sun? Well, I really think that this little experiment we call blogs.sun.com is a shining example of what can come of a company that values open communication with its customers -- and potential customers. Very few of our customers, I would venture, are unclear about what we are working on, where we are investing, and what they can expect from us. Yes, we all want to see more from the stock price, etc. but it's pretty clear that we have a real commitment to open communication with our customers.
Two years of hair comes almost full circle. When I moved to North Carolina in 2006, I did this:
Yep, cue-balled it. It was easier than having to wash it.
But as soon as I moved here, my then-9 year-old son began a project to grow his hair and donate it to Locks of Love. It was his own idea, and something I'm proud of him for coming up with. And he asked me to do it with him, so I did. Well, last week was cutting time, and I went from this:
to this:
in 10 minutes.
I feel much better now.
[ The only thing to do with good advice is pass it on. It is never any use to oneself.
So the ratings for the JavaOne Hands On Labs came out, and we (Sun SPOTs) did pretty well. Above average, to be exact.
The following scores are generated using the Overall Quality values.
Overall Conference Average (all sessions) 4.12
BOF Average 4.01
Panel Average 3.92
Hands-On Lab Average 4.30
Technical Session Average 4.13
The Sun SPOT Hands On Lab rated a 4.57, the Birds of a Feather (BOF) rated a 4.2, and the Technical Session rated 4.38. All respectable, and well above average.
Thanks to all of you that attended, and gave us such nice feedback!!
[ Mother told me to be good, but she's been wrong before. ]
So this has nothing to do with Sun SPOTs (that I know of anyway), and probably isn't at all revolutionary, but still, it troubles me.
We're spending lots of time and energy on alternatives to fossil fuels for automobiles and power generation, since we (rightly) believe that there is a limited, and ever dwindling, supply of such fuels. I think this is great, and hope we get somewhere fast with this technology or technologies. It will help us with the radical climate change we have caused -- and don't argue with me about that one, I'm not interested in hearing the "I don't believe in climate change" stuff. It's real. Deal with it.
But one thing I have never heard discussed is ... what are we going to use to power jets for air travel? The idea of an electric jet, or a solar-powered jet, just doesn't seem like it's feasible. Is anyone thinking about such a thing? Or are we going to re-expand the world and go back to electric trains and steam ships for long-distance travel?
Just my random thought.
[ If God is perfect, why did He create discontinuous functions? ]
The Sun SPOT Forums have now passed 1k registered users! Might not seem like a big deal to you, but we think it's pretty cool how our little community of Sun SPOT users has grown over the past year. This time last year we had a little over 400 registered users, so this is indeed some pretty strong community growth! And the Sun SPOTs are a community project, so community growth, health and vitality is a great thing!
Speaking of community growth, we'd love to see some more (lots more!) YouTube videos of stuff you're doing with Sun SPOTs. Just remember to tag them with the keyword 'spaughts' so they show up in our You Tube Feed.
[ You don't sew with a fork, so I see no reason to eat with knitting needles.
So one of Arshan's latest interns, Lachlan, is taking his internship seriously and doing cool stuff, and blogging about it. Check it out and give him some blog-love!
[ If you think the United States has stood still, who built the largest shopping center in the world?
So it was pointed out to me today that our forums are teetering on the edge of 1k users. That would be a major milestone for us, as it is, for our little project, a lot of interested users. Of course, I'm still the most prolific poster there, but then again, it's my job, so if I weren't, I'd be in big trouble!
Wonder how long those last few users to get us over the top will take?
[ If you can't be good, be careful. If you can't be careful, give me a call. ]
Ok, so I've been lagging in my blogging a lot recently. Too much else to do. You know, work and stuff. I've fallen off the main page, and my popularity has suffered. Guess I have to get back to regular updates, huh? I got distracted by twitter. But as the reliability and performance of twitter rapidly decrease, maybe I"ll get back to actually blogging.
[ You can't hold a man down without staying down with him.
I got Sun SPOT Certified, now you can too! Just take the Sun SPOTs Course, and pass all the tests. Ok, so you're not 'certified' but you get a certificate (suitable for framing, I hear).
Its a great course, with lots of very good information, well presented, interactive, and informative. And I'm not just saying that. check it out.
[ Every four seconds a woman has a baby. Our problem is to find this woman and stop her. ]
So it's official. I'm now pimping myself out to teach a version of the Hands On Lab I taught at JavaOne this year. Yep, that's right. I'm changing the content somewhat, but the basic premise is the same: Hardware development for Software developers. I'll lead you through the entire process of developing a small wireless sensor application that wireless communicates sensor data (bend sensor) to a remote actuator (servo).
I come complete with the Sun SPOT kits and all the hardware. All you have to do it pay my travel expenses. Unless you're in the Raleigh, NC area. In which case we'll have to come up with some other incentive.
Exotic locations preferred.
[ When more and more people are thrown out of work, unemployment results.
So I just get back from 4 days of blissful ignorance (as opposed to my usual miserable ignorance) to see that Sun SPOTs have made engadget (again). This time for Mike's Flying Bike. If you're too lazy to click any of the links, you can watch the video here:
He was actually supposed to come to the Sun SPOTs BOF at JavaOne, but I think he fell off his bike trying to land at Heathrow or something and got injured.
[ There is no distinctly native American criminal class except Congress.
So there have been some questions recently about what part numbers are the socket and header we use for connecting things to Sun SPOTs. So I thought I'd answer as best I can.
The Sun SPOT kits now ship with a socket, though it is not actually attached to the eDemoBoard (it is in a bag inside the box). That socket is a Samtec connector part SDL-110-T-12 and your SPOT kit should have 2 of them in it already. Unless you were an early adopter, in which case, contact us and we'll get you a couple.
That gives you a socket with 0.018" holes to plug stuff in to. But In order to be able to easily attach things like jumper wires, etc. you will probably need the Samtec connector part TD-110-G-A which will give you a 0.025" Male pin to attach stuff to, rather than the tiny 0.018" female you get from the socket.
[ Everyone is a genius. It's just that some people are too stupid to realize it. ]
Ok, so for all of you that missed it (and shame on you for missing JavaOne!) all the content for all the hands on labs is on-line. Freely downloadable. Even the Sun SPOT Hands On Lab. YOu can't download the hardware, of course, but you can do the whole thing in the Emulator!
Go get it all here. I hope you have a lot of spare time, because there were a lot of Labs this year!
[ If the code and the comments disagree, then both are probably wrong.
So the Sentilla folks were all over JavaOne this year, of course. We love those guys, and members of the Sun SPOTs Team have beers with some of the Sentilla folks at least once a month. Any rumors you hear to the contrary are false (and if you talked to the one guy in the Sentilla Booth who said Sun SPOTs were "the enemy" don't believe that, either).
That being said, I was intrigued by Sentilla's use of Phidgets. They have a plug right on the Sentilla spot for plugging in Phidgets, which makes it really easy (makes it harder to use anything BUT a phidget, of course, but I digress).
So I went back to my hotel at JavaOne and ordered up some Phidgets to play with when I got home, and lo and behold, there was a box on my doorstep when I arrived home! I ordered the Light Sensor, the Force Sensor, the Magnetic Sensor, the Slider, and the Voltage Divider. Figured that was a decent set to start with.
They come nicely packaged, with nice connector cables. Here's what they look like:
Slider -- not really a sensor, but neat
Voltage divider. Would have been nice for the J1 HOL
Light sensor. We have one built in, but a remote one is intriguing
Force sensor. Interesting possibilities
I see a door-open detector in my future
These are all 5-volt analog sensors, so I figured they should be pretty easy to deal with, and boy was I right! First thing was to hook one up. I started with the Force Sensor. I grabbed some jumper-wires, and plugged them in. Yeah, it would be nice to have a connector I could just plug a Phidget into, but I'd rather have the flexibility of using any sensor, and the lack of a specific plug isn't a hurdle. My SPOT looks like this:
SPOTs and Phidgets
And yeah, that's all it took to hook it up. So Now to write the code. I figured this would be easy, but really ...
I went to NetBeans 6.1, and clicked 'New Project', then selected a New Sun SPOT Application:
The new Sun SPOT Application Project type
Named it:
I was using the Force Sensor first
And started working on it:
Complete project made for me by NetBeans
I had to write 2 lines of code. Yes, 2. NetBeans took care of the import statement for me, as well as the try/catch block. The lines I wrote are highlighted in Red:
2 lines of code.Just 2!!
Click the 'Run' button, and start getting data from the Phidget:
Output values printed
Force readings from the force sensor show up in the console. It couldn't get any easier.
The entire process took me 2 minutes. 2 minutes!!! From there, I was able to unplug the Force Sensor and plug in the Slider and without changing the code at all get readings from it. I tried all the sensors, and without changing a single line of my code (all 2 lines of it!) I was able to read all the sensors.
I am not sure how it could get any easier. Maybe having the specific plug on the header would have made it easier, but seriously, hooking up 3 jumper wires is not that much harder than just plugging it in, is it?
Now, to find something to do with these Phidgets!
[ "Protozoa are small, and bacteria are small, but viruses are smaller than the both put together." ]
I'm slowly recovering from JavaOne, and the Hands on Lab, and Maker Faire the weekend before, and traveling, and working 18-hours a day for 10 straight days, etc. It may take some time.
But I took some photos during the preparation for the Sun SPOTs Hands on Lab at JavaOne. We had 75 Sun SPOT kits to open, take apart, and solder headers (sockets) on. Fun.
We had a System. It's all about the system.
We had to take every Sun SPOT out of the box, take each one apart, and pull the sensor board (eDemoBoard) off.
That's 150 eDemoBoards.
Once we had all the sensor boards off, we had the thoroughly enjoyable task of soldering the socket on to each one. That's 75 kits, 2 eDemoBoards each, and 20 solder-points per board, or 3,000 solder points. It only Took Pete a day.
Pete's Soldering skills have improved with all this practice
I'll post more later about other matters, but I wanted to get this up as a shout-out to Pete in thanks for his hours of inhaling solder-fumes on behalf of the Hands On Lab. Thanks Pete!
[ The hardest thing in the world to understand is the income tax.
So I was going to write a long and involved blog post about the release of the ‘nightly’ builds (which don’t happen every night, so don’t get all excited. We’re going to call them ‘nocturnal builds’ since Eric mostly works at night anyway). But then Ron posted this excellent post in the forums about it all, so I decided to just copy it and post it here. Saves me a ton of work.
A couple of points about this:
It means we are making our untested dev builds available, which means that the code has not necessarily been tested. Which means that there may very well be significant bugs. But there may also not be, and we have usually fixed other bugs, so it’s a trade-off.
It makes the Sun SPOT Manager Tool v3.0 (formerly known as Truth or Consequences) the default Sun SPOT Manager Tool. It also makes that freely available to everyone. No more secret sauce there.
It means that the Software Only SDK (the stable version is v3.0 (Purple)) is now freely available to everyone. No more Beta emails to me. Just go fire up the Sun SPOT Manager Tool (here: ) and away you go. I’ll post more detailed instructions shortly.
So here’s Ron’s excellent post, in case you don’t want to go all the way over there to read it:
As part of our efforts to open source our Sun SPOT work we are delighted to announce that we are making available our nightly builds (which actually happen every 2-3 weeks). These builds are based on the current source code in the java.net SVN archive.
Note that these are pre-alpha releases that have not undergone any testing, so use them at your own risk. However we imagine that some folks will want to try out the latest features and bug fixes. This is the SDK version that members of the Sun SPOT Team use for our daily work, so if it is really broken we will normally fix things and do another build right away.
To install a nightly build, go to http://www.sunspotworld.com/SPOTManager/ and click on SPOTManager, or just start up the SPOTManager application if you have already installed it. In the SPOT Manager open the Preferences tab and select "Dev Preview". Then go to the SDK tab and choose the build you want to install.
When reporting problems or bugs please be sure to specify which version of the SDK you are using.
*** Major Changes ***
* Can now deploy multiple application suites to be loaded & run on a SPOT
* Several new ant commands
* Demos are now included as part of the SDK: <sdk>/Demos
* Two new demos have been added: DatabaseDemo & HTTPDemo
* The SPOTWorld application is now called Solarium
* Many SPOT library jar files were renamed or moved
* Almost 200 bugs fixed
The biggest change from Purple is support for multiple application suites to be loaded & run on a SPOT. One can now deploy several applications to a SPOT without disturbing already running applications. See "ant help" for details.
For the most part the SPOT library APIs have not changed, so most of your SPOT applications should compile without needing any changes. However, a number of library jar files have been renamed or moved. This should not affect anyone who uses the ant scripts to build & deploy SPOT apps, but it may cause people using an IDE like NetBeans or Eclipse to not find various library packages.
For NetBeans users this information is specified for each project in the project.xml file in the nbproject folder. We are now using a much better way to specify the classpath using the same properties that are used when building a project with ant. In your project's project.xml file please change:
Bugs that have been fixed are listed in the file changehistory.html located in the SDK doc folder. Note that bugs numbered 1231 or higher can be found on java.net at: https://squawk.dev.java.net/issues/query.cgi
So I have been killing myself getting all the finishing touches on the Hands On Lab I'll be teaching at JavaOne in 2 weeks. Talk about a boat-load of work! I gave two 'dry-runs' at the Sun Labs Open House last week, and Tsuyoshi Miyake blogged about it -- and he didn't even get to come to it! You can read about it here (if you read Japanese) or here if you don't.
[ Screw up your courage! You've screwed up everything else. ]