It’s Code Camp time again in Southern California and lots of Coders, Programers, Engineers, Geeks, and Hackers will meet at the California State University Fullerton this coming Saturday and Sunday, January 24 and 25.
Code Camp is a community driven event for developers of all platforms, programming languages and disciplines – well that’s the idea at least. Looking at the session table, one cannot shake the feeling that .net, asp.net, Azure and Silverlight seem a little over represented – but there are also a couple platform independent, embedded, and Java specific talks scheduled as well.
My sessions: Turning a WiFi Router into a general-purpose Network Device and Java UI Generation at Runtime with SwiXML have been scheduled to take place on Saturday, before dinner. I hope to see you Saturday afternoon at the CSFU Campus in H-123 … when you Twitter about the event, please use #SoCalCodeCamp in your tweet so we can track.
Turning a WiFi Router into a general-purpose Network Device
CSFU Campus, H 123, Sat. 01/24/2009, 3:45 – 5:00 PM
Embedded systems are increasingly present in our life and quite a few of them can be repurposed (a.k.a. hacked), to make them even more useful.
The purpose of this session is to have fun and give you some inside of what’s involved in turning a $30 wireless router into a general purpose embedded network device, running the LINUX OS and a full featured Java Runtime environment.
We will take a closer look at some popular Router OS distributions, like OpenWrt, DD-WRT, FreeWRT, Tomato, or X-Wrt and show how to flash the Fonera (FON) WiFi router with a vanilla OpenWrt distribution. The FON is a very small, relatively simple, and inexpensive router, built on the AR531x/231x Atheros WiSoC (Wireless System-on-a-Chip) with an integrated 32-bit MIPS R4000-class processor running at 183.5 MHz, comes with 8 Mbytes Flash Memory and 16 MByte RAM. In short, it has all the attributes required to be added our digital playground.
Embedded OS Development / Kernel Architecture, Implementation and port for Embedded Systems
OpenWrt is a Linux distribution optimized especially for embedded devices and surprisingly, the OpenWrt kernel configuration is done with the help of a character based UI. OpenWrt also comes with a lightweight package management system (IPKG or more recently OPKG), meaning that features that have not already been built into the kernel, can be added later, at runtime. As an example, we will take a look at how a JavaVM could be built, packaged, and deployed, or built directly into the kernel.
Java UI Generation at Runtime with SwiXML
CSFU Campus, H 123, Sat. 01/24/2009, 2:30 – 3:45 AM
SwiXML is a small GUI generating engine for Java applications and applets. Graphical User Interfaces are described in XML documents that are parsed at runtime and rendered into javax.swing objects. Theoretically, you can look at SwiXML as an XML based domain-specific language, allowing to declare Java Swing GUIs. The SwiXML engine will then later at runtime, take a GUI declaration and create that User-Interface on the fly, just like a Web Browser would do with an HTML document.
SwiXML doesn’t introduce any new layout managers or component classes. Instead, it operates directly on the Swing component classes using introspection.