Friday Oct 15, 2010

Harmonic Code SteelSeries 1.4

As a follow up to my earlier post, I received a comment this morning pointing me to updates to the Gauges for Swing. I really do think that these are very nice swing components, and I hope you also find them useful!


[From Harmonic Code: SteelSeries 1.4 ...]

Transylvania JUG

Ok, this Java Users Group wins for the coolest Logo. A Duke that even James would be proud of.


Transylvania Java User Group

A JUG for all enthusiasts in Transylvania that think Java is (still) relevant...

[From transylvaniajug:]

And just in time for Halloween!

Wednesday Oct 13, 2010

Custom swing components for Sun SPOTs

An excellent article posted on the Java User Group Münster website on custom Swing components, and specifically using them in Sun SPOT desktop applications. I love the UI components! We'll be using these in some demo apps soon!


[From Custom swing component | Java User Group Münster]

And make sure to read the presentation on making your own custom Swing components! I have been through it several times and hope to implement some of the concepts in future versions of Sun SPOT Manager in order to make it look ... less .. ummm ... yeah, less like that.

Wednesday Oct 06, 2010

This thing runs Java

But I especially like the last frame.

And Derek thinks this is about him.

Monday May 11, 2009

Project Kenai

Safari006.pngSo if you haven't used Project Kenai before, you really ought to check it out. Especially if you're a disgruntled user of Seriously. Here's some impressive stats about Project Kenai.

  • They've increased their membership by over 1,000 members in a little over a week's time!

  • As of today, they're sitting at 7,206 members and 521 public projects. Let's see if they can we hit 10,000 members before JavaOne!

More cool facts below.


Project Kenai, is Sun's developer "cloud" onramp. Having gone live back in September of 2008, we have exceeded over 7,000 members and surpassed 500 hosted open source projects. Currently, Kenai offers an integrated suite of productivity services for developers to host their open source code/projects as well as connect with peers of like mind (with additional cloud features to be released in the future); today's features include:

  • Evolving integration with NetBeans

  • Source Code Management (Subversion, Mercurial, and/or Git)

  • Issue Tracking (Jira or Bugzilla)

  • Wiki

  • Forums

  • Mailing Lists

  • Download facility for documents

Anyone can join by going to And if parties are ready to start hosting a project, they simply need to send an invitation request with a description of their project to: kenai-admin-AT-sun-DOT-com.

I have started a couple of Sun SPOT projects on Kenai, and hope we can migrate our existing projects over there at some point. The interface is clean and the service is fast and responsive. I love it! Try it out today!

[ "The way to make a small fortune in the commodities market is to start with a large fortune." ]

Tuesday May 05, 2009

Dude, come to JavaOne!

Especially if you have some Sun SPOT videos!! Here's a bonus, submit your video and use Sun SPOTs in your video! Just follow the rules here, and get entered for a free pass to JavaOne!

And if you use Sun SPOTs in your video, and get chosen, maybe we can figure something out from us in Sun SPOT land to make it even cooler for you. Who knows ...

So get entered! Like, NOW!

[ "Just remember, it all started with a mouse."

   -- Walt Disney ]

Monday May 04, 2009

SPOTs at JavaOne


As most of you are probably aware, JavaOne, the annual Java Conference, is rapidly approaching. It'll be here before you know it! (Well, actually, it starts on June 2, 2009, but that's coming up pretty fast!)

Also, as many of you know, we here in Project Sun SPOT typically 'do stuff' at JavaOne. In years past we've done tutorials, Technical Sessions, BOFs, booths, etc. This year is no exception, except that we are looking for you to participate with us (ok, so that's not really an 'exception' either). But this year we plan to showcase what you've done with SPOTs.

Roger has posted a message on the Sun SPOT Forums about it, but it's really, really easy. Just post a video of what you have done with Sun SPOTs to YouTube (you know, where all the cool kids post their videos) and tag it with the keyword 'spaughts' and our automatic feed will pick it up. We'll look at it, and we might be showing it (and you!) on the floor at JavaOne to showcase the cool things that are being done with Sun SPOTs.

So break out your video cameras and get shooting!

[ People usually get what's coming to them ... unless it's been mailed. ]

Tuesday May 13, 2008

JavaOne Labs

l1_education_essentials.jpgOk, 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.

-- Norm Schryer ]

Monday May 12, 2008



It's an organized pile. Really.

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.
-- Albert Einstein ]

Sunday Apr 27, 2008

I'm just sayin'

Picture 2.png

And that's all I'm saying.

[ "Do not meddle in the affairs of wizards, for you are crunchy and good with ketchup." ]

Saturday Feb 16, 2008

Flying Saucers in Java

So the SPOT Manager application was trying to do some fancy XHTML/CSS rendering for a while, back when I was trying to have a built-in RSS News Feed Reader. But that was a dead end, at least for the SPOT Manager. In doing so, I unwittingly stumbled on one of the Top Ten Amazing Java Applications: #8 Flying Saucer.

Of course, I'm even more excited to see that #10 is Sun SPOTs!!

It's not where you are on the list (unless you're #1, of course!), but that you made the list at all!

[ Due to a shortage of devoted followers, the production of great leaders has been discontinued. ]

Saturday Feb 09, 2008


So this one is close to home for me, and I'm so glad that Sun is supporting it! It's called Project:Possibility, and it's designed to encourage Open Source Software designed to aid the disabled.

To quote their website:

"Our mission is to inspire a community of disabled persons and software developers to work together and make a difference by inventing software that will unlock new areas of life for persons with disabilities, giving them access to experiences previously impossible to achieve."

I'm behind that 100%! They have just announced their Semester Project hosted by the University of Southern California, so go check them out. Sign up to participate. We've given them some Sun SPOTs for the project, so think up a great use for Sun SPOTs for aiding the disabled and go make it happen!

[ "Whatever the missing mass of the universe is, I hope it's not cockroaches!"
-- Mom ]

Thursday Jan 24, 2008

Java Mobile and Embedded Days

I didn't get to go, since I had just been in CA a couple of weeks ago, and am coming back in a couple of weeks (and don't own my own plane), but it sounds like it is going well.

MaryMary sure seems to be enjoying it! If she can fix the spelling on Roger Meike's name, she just might get that free kit. :-)

I'm sorry I missed it, since I didn't get in the picture of the team, but I was busy setting up the BigDig Cam with a Sun SPOT, and working on my Sun SPOT Telemetry Pinewood Derby car (post on that to come soon!)

[ The greatest dangers to liberty lurk in insidious encroachment by men of zeal, well-meaning but without understanding. -- Justice Louis D. Brandeis ]

Tuesday Nov 27, 2007

We're #1

Must-have gadgets for the discerning geek | InfoWorld | Analysis | 2007-11-23 | By Galen Gruman:

Yeah, that's right, Sun SPOTs are top of the list for "Must Have gadgets" for the techno-geeks.

[For those who like this sort of thing, this is the sort of thing they
-- Abraham Lincoln ]

SPOT Road Trip, Day 1

So it's been a long time since I've actually been on a road trip (mostly because it's been so long since I was in college, but we don't need to go there, do we?). Right, I thought not. But last week two of the guys from the Sun SPOTs Team came out to NC for a Sun SPOTs mini-roadshow. We had presentations scheduled at Virginia Tech, NC State and UNC. But we also wanted to pop up to Asheville, NC and see our friends at Warren Wilson College who are doing the Sun SPOTs project with the Rainforest in Panama (more on that later).

I'm still editing the video from the presentation at Virginia Tech, so maybe someday I can put that up. The best part of that trip (other than the presentation on Sun SPOTs, of course!) was that the pizza was double-ordered, so we ended up with 32 pizzas for 15 participants. Everybody got a pie! The presentation went really well though. There was a lot of interest in Sun SPOTs. We presented an overview of Sun Labs, the specifics of Sun SPOTs, and then we did a bunch of demos (most of which even worked!).

Virginia Tech has a great Sun Campus Ambassador who did a fantastic job of organizing the event and getting great attendance even in the face of a huge stand-up comedy event the same night.

Rather than spend the night in Blacksburg, Arshan, Martin and I hit the road and drove all the way back home. Classic roadtrip stuff, including the pizza in the car!

So that's day one of the trip ... more to follow.

[Fights between cats and dogs are prohibited by statute in Barber, North
Carolina. ]

Friday Oct 19, 2007

Irish SPOTs Home - IJTC - Irish Java Technologies Conference

I wish I had known about this conference ( Home - IJTC - Irish Java Technologies Conference ) I love Ireland and would have volunteered to go in a heartbeat ...

[Science is what happens when preconception meets verification. ]

Sunday Sep 30, 2007

Purple is here!

112334842_3ecf7585dd_o Well, today was the day. We have now officially released Sun SPOT SDK v3.0 Beta, otherwise known as 'Purple.' See the complete Purple release notes to find out about all the changes.

[I've known him as a man, as an adolescent and as a child -- sometimes on the same day. ]

Technorati Tags: , , ,

Wednesday Sep 26, 2007

When's Sun SPOT coming to ...

51719764_597acc2b0b [1]

So after blogging for the first time in months, I get the question I knew I'd get:

When Can we order them outside the US?

Of course ... And the answer, which you all can see coming a mile off ...

Real Soon Now.

See? I knew you'd see it coming.

The short answer, from my boss is that open source\* may beat the product to some locations. And he said I could quote him on that.

The longer answer is, of course, a lot more complicated. We are working diligently on distribution to the EU, and I believe Australia. Other parts of the world will follow as soon after that as we can manage it.

\*Yes, you read that correctly. We are going to open source the entire project. Hardware, software, the whole shebang. So you might just get the chance to bring Sun SPOTs to your corner of the globe!

[1] Photo courtesy of dbking under Creative Commons License

[Security check: INTRUDER ALERT! ]

Moving towards Purple

So we in Sun SPOT land seem to have a particular affinity for colors. We started our with animal names for our releases, but quickly realized that we didn't know enough animals that actually had spots on them (Beagles don't have proper spots, and neither do giraffes) after which we gave up. (To quote one of our British friends "could we use an animal that actually has spots next time?" :-) )

728302642_2b11b18b10 [2]
So our first release was called 'Green.' That was v1.0 of the Sun SPOT SDK. Good, solid release. Lots of features, and we supported a fair number of platforms. Actually, it was way better than that. It rocked. Servo controllers built in. Tone generators built in. Lots of supported sensors. Fabulous stuff.

217083999_36467ae647 [3]
Then came 'Orange' our 2.0 release. More platforms supported (Solaris x86 and Intel Mac, to be specific), and better performance, more features, and lots of other coolness. Multi-hop support, access to the UART, better sensor support. It out-rocked Green, for sure. But software is a moving target. And perfection is even faster-moving. Before Orange was even out the door we had already begun work on

202093703_578566f363 [4]
So now we're in the final stages of preparing our next release (Purple) for beta. We hope to be going live with a Purple Beta as soon as this weekend, if things check out with the latest release. We spin an SDK, and then we all pound away at it for a few days. If we can't break it, we figure it might be ready. Hey, this stuff does say "Experimental" right on the box. :-)

So look for a Beta of the Purple (v3.0) Sun SPOTs SDK soon. Don't know where to look? Well, I'll post something else about looking for Betas later.

And yeah, we're already starting work on ...

["Whom are you?" said he, for he had been to night school. -- George Ade ]

Technorati Tags: , , ,

[1] (photo courtesy of carrera911e under Creative Commons license)
[2] (photo courtesy of watertownsurfer under Creative Commons license)
[3] (photo courtesy of vigneron under Creative Commons license)
[4] (photo courtesy of rooneg under Creative Commons license)

Thursday Jun 07, 2007

A Day Without a Feature

So I've been working on a new tool for Sun SPOTs, called "SPOT Manager" (the marketing types made me put the space in there). Inside the group, we call it the "SPOTKnocker" which is actually one of its more tame pseudonyms.

The SPOTKnocker is a tool that I started writing just to make my life easier. Just goes to show you that what you think might make things easier often can make them more difficult. But it was a chance to improve my Java programming skills, and I was doing it for myself anyway, so I continued.

Then I made the mistake of letting my boss see it. And thus the title of this blog entry. Roger would play a little, and say "you know, it would be cool if it could ... " and I'd be off on another feature.

The tool started as a way for me to keep track of the various versions of the Sun SPOT SDK that I had installed on my machine -- everything from early test releases to current production releases, to the next latest and greatest release were always needed. How could I keep them straight? And how could I easily install the latest released engineering version? So I came up with a simple GUI to manage my SDKs. Here's what that first panel, how the application started out, looks now:


I could 'activate' any given SDK, or delete it, or rename it, or add comments to it. It was very helpful to me. But feature-creep began right away. Being able to control the Sun SPOTs themselves was the next big thing, so I added that. Now I could control the version of the firmware on the devices themselves and easily upgrade, downgrade, and query one or a collection of Sun SPOTs. So Another panel was born.

Of course, there has to be a way to configure the tool itself, for proxies, etc. so another panel was born (I won't bore you with the look of that one).

And what about controlling another Sun SPOT application in development, SPOTWorld? (Randy hasn't been forced into a space yet :-) ). So another panel was born.

And what about capturing output, rather than having it all spewed to come terminal, or /dev/null? Yep, you guessed it, another panel was born.

And having the tool be able to upgrade itself in place?? Yeah, a great idea, but another feature.

At one point, I decided I wanted just one day to go by without a request for a new feature (Proxy support? Delete everything? Multiple update sites? Update the demos? Update the NetBeans Modules?)

It's a slippery slope, and one, I have found, that never seems to end! At least I have been able to put a "1.0" version stamp on it and release it with the latest release of the SDK (we call it 'Orange' but you will know it as Sun SPOT v2.0). So look for the SPOT Manager (aka SPOTKnocker) in a Sun SPOT Development Kit near you soon!!

[The rhino is a homely beast, For human eyes he's not a feast. Farewell, farewell, you old rhinoceros, I'll stare at something less prepoceros. -- Ogden Nash ]

Tuesday Oct 17, 2006

Dynamic class loading/unloading

Ok, sol I'm no Java guru by any means. Not by a long shot. But I have been doing a lot of Java programming lately. A lot. And some of it is actually starting to get rather complicated. As an example ... the Sun SPOT kits (and no, they are not available yet, sorry) come with a base station. The base station is a computer-conected SPOT with no sensor board or battery, used mainly as a bridge between the laptop/desktop world (and hence the Internet) and the world of Sun SPOTs (the IEEE 802.15.4 world).

The problem I had is that I only have one base station SPOT. But I wrote the GPS SPOT and also a Remote Controlled Camera SPOT application (not blogged yet). Both of them require a base station in order to bridge the Internet/802.15.4 divide. But remember, I only have one base station.

So my first solution was just to combine the two base station applications into one. But I could see that such a solution was soon going to lose its appeal as the number of applications I needed to run grew. Also, I could not debug one application, or update one of them, without killing the other, at least temporarily. Hmmmm ... how to share the base station in a way that would allow applications to be added and deleted without affecting other applications.

I know this problem has been addressed on other areas, like application servers, but I needed to do it in a very small footprint.

And I needed to do it on Sun SPOTs.

So I began looking in to the whole thing. And it turns out that I could find very little information on how to do what I wanted to do. Writing a class loader to load classes is pretty easy. Actually unloading classes is a tad harder. Also, as I found, there are some cool flags to the VM that are not well documented, but that can show you what, exactly, and in excruciating detail, the class loader and garbage collector is doing. This is very useful information, it turns out.

Will give you fairly detailed information about what the Garbage Collector is actually doing, but I really needed information on what the ClassLoader was up to. I found these flags:



to be hugely helpful in that regard. I could watch classes being loaded and unloaded, so I knew when I had successfully managed to completely nuke a particular class.

I now have a Base Station application that I can dynamically load and unload base station applications into -- though they are not truly 'applications' but rather just threads in an existing application -- which has proven to be hugely helpful to me in running multiple, unrelated base station applications from my one measly base station.

I tend not to post actual code here, but I can, if I get enough interest.

[There's no room in the drug world for amateurs. ]

Wednesday Mar 08, 2006

Sun SPOTs Launched

Yes, I know, we launched them on a rocket a few weeks ago, but now we have actually launched them as a pseudo-product (called Project Sun SPOT).

Yesterday at Sun's World Wide Education and Research Conference (WWERC) Roger got on stage with Scott and officially announced Sun SPOTs:


We figured that bringing the rocket to this launch and launching it in the keynote would get us in even more trouble than we got in by Sun security over the Space Program launch, so we embedded the SPOT in a beach ball and launched it into the audience while displaying the ball-telemetry.:-)

So, go read all about the new eSPOTs at SunSpotWorld and read all about it.

More after I get back ...

Wednesday Feb 08, 2006

NetBeans and SPOTs

Well, it's happened. NetBeans 5.0 has finally been released. I, for one, couldn't be happier! Just to give you some perspective on from whence I come, I am one of those people that firmly believe that vi is a "development environment." vi has been my development tool of choice since 1990 when I first started writing C code. I wrote about 200,000 lines of C using vi as my development tool in a short amount of time, and though I have never really mastered vi, I still use it every day for editing config files, and even some quick-n-dirty development work -- mostly just fixing a typo in my code. Let's not start the emacs vs. vi holy wars here, ok?

But with the advent of the Sun SPOTs project, I actually tried using a GUI development environment. Lots of folks I know use Eclipse, and I admit that I tried that. But it was confusing and, well, vi was easier. Stick with what you know when you need to be productive, right? I tried using NetBeans 4.1, but it was buggy, slow, and hard to make work correctly (where is that property set? How do I change that classpath?). I used JEdit for a while, but the code completion was annoying, and the ant plugin couldn't handle our complex ant build scripts. So I went back to vi and the command line.

Then along came NetBeans 5.0 Beta, and I tried that. It crashed a lot, but it was head and shoulders above 4.1. Then came RC1, and RC2, each significantly more stable and more useable than the previous release. I started using them more and more for my development. The code-completion was effortless. The refactoring worked tremendously. The fixing of imports worked so well I stopped doing my own import statements. It quit crashing. It was fast, elegant, and just worked.

Now, from Netbeans, I can do all of my development work. I can write my code. I can build my code. I can deploy my code to a Sun SPOT (eclipse can't do that!). I can run my code on a Sun SPOT (eclipse can't do that!). Finally, a GUI development tool that actually makes me more productive rather than less productive. A GUI tool that is easier and more natural to me than vi. (And yes, you can all stop laughing at that statement that vi is in anyway 'natural.' Argue if you want that vi is a crime against nature, but it will always hold a special place in my heart.)

I even comment my code! The Auto Comment feature actually encourages me to properly add javadoc comments to my code, so I am now actually building useful code, and useful documentation of my code, at the same time. Miracles never cease.

Given my decades-old reliance on vi as a "development tool" for programming, I find this next part truly astonishing. We (the Sun SPOT team) decided that we were going to ship NetBeans with our SDK. It would be the 'default' development environment for Sun SPOTs. There has been a lot of heated argument for and against this decision, but we decided a long time ago that it was the 'right' decision, given Sun's support for NetBeans. But I have, over the past month, become not just agreeable to this plan, but a vocal and outspoken advocate of this plan! To the point that earlier this week, after a deficit of coffee and no proper breakfast, I let loose a tirade in a meeting about the current level of dissent on the topic, and the current state of NetBeans 5.0. I noticed that during the meeting at least 2 people actually downloaded NetBeans 5.0.

So there you have it. NetBeans 5.0 finally converted me from a vi-weenie to an IDE user. Somebody check the snow level in hell, would you?

[ A German, a Pole and a Czech left camp for a hike through the woods. After being reported missing a day or two later, rangers found two bears, one a male, one a female, looking suspiciously overstuffed. They killed the female, autopsied her, and sure enough, found the German and the Pole. "What do you think?" said the the first ranger. "The Czech is in the male," replied the second.]

Wednesday May 04, 2005

BlogEd Entry

BlogEd Entry:

I'm trying my first BlogEd entry. If BlogEd is as good as Ecto, I'll gladly switch!

Friday Apr 29, 2005

Sharks, with frickin' lasers on their heads!

Ok, so now the word is 'out', at least sort of. We had our Sun Labs Open House this week, and presented a lot of stuff, but the most exciting was, or course (at least for us!) the Small Wireless Sensor Devices -- we call them spots -- that we showed. They are cool. Very cool.

These are small (obviously) devices that have sensors onboard -- we have a light sensor, a temperature sensor, and a 3-axis accelerometer on ours for now -- and run a wireless network. (802.15.4 for those that are interested).

So at the Open House we showed a bunch of demos, the most amazing part of which was that we just got these boards about 3 weeks ago. And we developed all these demos in about three weeks. How did we develop so much so quickly you ask? Well, unlike the Basic Stamps, and the Berkeley Motes, these little devices run Java. And we all know how to write Java already, right?

So we had demos of small remote controlled robots made from Legos (the cool part of this robot was that the remote control was from another spot, and you controlled it just by tilting the spot in your hand. Tilt it forward, the robot goes forward. Tilt it back, the robot goes backwards. Cool!),

Dscf1425 1

and we proved, conclusively, that when you close the door to the refrigerator, the light does, indeed, go out. That was fun.

And, just for kicks, we had sharks, with frickin lasers on their heads. Dr. Evil would be so proud.

Dscf1437 1-1

These devices are so cool it's hard to keep calm. Coming to work is so much fun again!!! Come to JavaOne if you want to see them. We'll be showing them, and maybe even selling them or giving them away, there.

This time, I mean it. I'm going to try to blog more often. I'll try to keep up to date with what I am doing with these devices, and where we're headed with them ... but I get so wrapped up in actually doing it that I forget to blog.

Thanks to Tim Bray who also works at Sun for posting some of the instructions to use Ecto for posting to my blog. I just hate adding entries through the web interface.




« April 2014