BUG Community

Welcome! Log In

bballantine's Blog


ZenGarden Alpha

I was sick all weekend and Saturday was a cold rainy day, so I cozied up on the couch with my wife and coded.  For a while I messed around with animation on AWT.  AWT is like ancient technology, but it comes stock on BUG's JVM and runs pretty well on BUG.  Then, sometime saturday afternoon, I started playing with mtpaint and making pixel art.  I am inspired by a Zen rock garden I saw...
read more

Happy Thanksgiving!

I hope everyone's looking forward to a break from the daily grind to spend time with family and friends.  And to eat wonderful food.  I love long day to work on personal projects and the like.  Here's a list the things I'm considering doing (though I will probably just eat and sleep):* Use JGame to make a cool game for BUG* Install Dosbox on my laptop and play Robot Odyssey.* Play COD* Make pumpkin or...
read more

/// Stripes (on Jetty (on BUG))

The default BUG software stack includes a simple Java web server and Servlet implementation.  The speed and simplicity comes at the expense of functionality.  In the web world, this means that JSP isn't supported.  To help remedy this, we created Sewing, a simple web framework for embedded OSGi systems.  It's not JSP, but it is Freemarker based and has a simple MVC architecture that makes creating dynamic web sites easy. If you want to host...
read more

Java Coding Style

I used to work at a place that had a big long document on company-wide coding conventions.  Some of the conventions were arbitrary and ugly, like prefixing all method parameters with a lower-case p (I came to realize that all of the variable prefixing made the code less readable, not more).  We also had rules on where to write the curly braces, where to declare variables, how to name classes, etc. Some of it was...
read more

JFace EditingSupport for Custom Tables

Stan Lee in Spider Man taught us that, "With great power there must also come -- great responsibility!"  I think about that quote when working on Eclipse plug-ins, only it changes in my head to read, "With great power there must also come -- great complexity!"  Eclipse provides the building blocks to do wonderfully powerful things, but to wade into plug-in development is to wade into all sorts of complexity.  My most recent responsibility/complexity was...
read more

Sew an Awesome Web App for BUG

BUG ships with the PhoneME Advanced Personal Profile JVM and an OSGi implementation called Concierge.  The stack is very lightweight, designed to run well on embedded devices.  This lightweight software stack has it's obvious advantages, but it can be limiting when trying to write apps geared more toward desktop or server environments.One of Concierge's facilities is a very bare-bones HttpServlet implementation.  It makes writing simple web applications and services possible, but not necessarily easy.  Meanwhile,...
read more

Version 1.3 of Dragonfly, the BUG SDK: Best Release Ever

We released the latest version of the BUG SDK today.  This has a number of improvements over the last version, and it's our best version ever.  I highly recommend upgrading to this version as there are a number of improvements in stability and functionality. To upgrade, I suggest starting with a fresh install of Eclipse 3.4.2, which can be found on the Eclipse Downloads Page .  Then follow the directions on our SDK Install Guide...
read more

Tracking Modules in Your BUG App

One thing you may want to do is track module insertion and removal in your BUG Application.  There are probably a couple of approaches to this.  The following solution is easy, but not obvious.  It's the same method implemented in the code running on the BUG that updates the base LCD when you insert and remove modules.The basic idea is that you create a ServiceTracker that tracks only IModuleControl services.  First, create the ServiceTracker.  Here's...
read more

Three Steps for OpenEmbedded N00Bs

I'm relatively new to OpenEmbedded.  Some might even consider me an OpenEmbedded N00B.  I beg to differ.  Here I offer three steps to moving from OpenEmbedded N00B to OpenEmbedded... uh...  ex-N00B?  Regardless of what you call it, if you're interested in getting involved in C development on the BUG or just learning more about embedded Linux development using OpenEmbedded, I suggest the following these three steps:1. Set up your build environment, and build kernel and...
read more