BUG Community

Welcome! Log In

How To

Quake on the BUG!

A pretty significant milestone has passed here at Bug Labs - might we say, the "killer" app has finally arrived. That's right - Quake has been ported to the BUG!  Using QuakeSDL, BUGcommunity member cmw hacked together a binary which is guaranteed to replace the Bug team's nightly COD2 deathmatches.  We're already salivating at the idea of CTF matches over a BUGwifi or BUGbee 802.15.4 network!In three steps, you can now play Quake with your...
read more

R-OSGi, or how to call OSGi services remotely: Part I

When learning OSGi and discovering the power and simplicity of the service registry, a common thought is "Oh, I want to use this service remotely...how can I do that?"  And, well, currently the answer is you can't!   While there is active work going into remote services in R4.2, the existing OSGi specification only defines what happens inside of a single JVM instance.  But what if you really want to remote your OSGi? One sweet solution...
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


Check out AutoBUG! The AutoBUG combines the BUG's hardware and connectivity (GPS, GSM, accelerometer, etc.) with data from a car via its CAN BUS. This system turns the car into a hotspot node on a network. The current iteration of this project should run on any GEN 2 Prius, which is one of the most fun and hackable cars around. See Brian's wiki info for some advice on how this project could be modified to...
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

What is OSGi?

We mention OSGi at Bug Labs so often that sometimes we forget that a lot of people have never heard of OSGi or used OSGi before hacking on the BUG. I certainly hadn't when I came to Bug Labs a year and a half ago.  Today I want to post a high level outline of what OSGi is and why it is so important to the BUG. I won't cover writing an application with OSGi...
read more

Having openjdk'6 sources display in eclipse

Have you ever been working on a project, tracing through code, only to get to a point where you're inside your jvm's core class code?  Probably.  And you've probably noticed that the core classes don't display all that prettily in eclipse, you'll get some  polished-up bytecode:Well it's pretty easy to attach some source... especially if you're using ubuntu and openjdk-6.  Try this: sudo apt-get install openjdk-6-source Give it a minute to finish, then, in the...
read more

BeagleBoard, Java, OSGi, and Benchmarking

The BeagleBoard is a sweet little single board computer from Texas Instruments, based on the OMAP 3530 processor. It features audio in and out, S-Video and DVI out, USB, RS-232, and an SD card (though surprisingly it lacks an Ethernet port or wifi onboard, so you must buy some extra parts if you want internet access). It has solid community support and well documented instructions for building an image with OpenEmbedded. The best place to...
read more

The Whiteboard Pattern

There was a time when computer programs were expected to run unattended. A program was a set of instructions and input data that was fed into the computer, and if everything went well some output data came out of the other end. f(x) = y. Oh, those halcyon days. Today's programs are expected to react to all kinds of events. Sometimes those events are a result of user interaction, like button presses and mouse clicks;...
read more

Adding Commands to the OSGi Shell

Usually you will want to interact with your BUG application using a GUI, a web service, or an interface provided by a module. But sometimes you want to be able to tell an app to do something without having to create a UI or a web service. The OSGi console provides an easy way to talk to a running app, or any other OSGi bundle. This document will explain how provide new commands that can...
read more

Powered by Community Engine