Wow… three months since my last post about my Android Clock Widget Project. While I’ve failed to bring stability to the clock selector during that time, I have figured out that the problem is not actually due to a deadlock. Instead, it appears that my project is tickling a bug in the Dalvik VM’s garbage collector.
I recently started spending more time on my Android Clock Widget Project. I’ve implemented some much needed caching of the SVG definitions, speeding performance of clock rendering substantially. In addition, I’ve been working on building a nice graphical clock selector. Unfortunately, this selector is causing me lots of frustration due to a race condition that keeps deadlocking the application’s UI thread. Read more…
When I initially set up my Samsung Captivate, I used my work email as the primary email address for the device. This caused my Android Market applications to be associated with my work email. When Google started allowing multiple accounts, I added my personal GMail account to the device and managed to get a confusing mix of installed applications associated with each account. After being frustrated with this for a while, I decided I needed to fix this.
One of these days I may actually learn my lesson when it comes to installing new software. Lately I’ve been busy with work and recovering from some surgery, so I haven’t really had the energy to focus on any of my personal programming projects. Instead, I’ve been doing a lot of home network administration and software updates. In a multiple cases, I’m reminded of why being on the leading (bleeding?) edge of software may not always be the easiest place to be. Read more…
In my last post about inertia I mentioned that I had started to take a look at Android App Widgets. I’ve long had the idea that it would be interesting to create a widget capable of consuming themes for MacSlow’s Cairo Clock project. This very cool analog clock uses a set of SVG graphics to theme the clock in such a way that it can be scaled to various sizes. While I’m not there quite yet, the ultimate goal is that the widget is capable of rendering all of the themes found at gnome-look.org. Read more…
Inertia is the resistance of any physical object to a change in its state of motion or rest, or the tendency of an object to resist any change in its motion.
For me, this also describes my tendencies toward side projects like my Pingus project. When I last worked on Pingus a couple of months ago, I updated the underlying AndEngine libraries and found a ton of breaking changes. I put Pingus on the shelf until I had more time to look at the breakage and how to solve it. The AndEngine changes are pretty significant and I’m going to need to rethink portions of Pingus in order to get things running correctly again.
In general, I prefer to keep this blog focused on interesting (to me) technical topics. However, as mFoundry continues to grow, I also need to grow my team. I am looking for a Senior Software Engineer to work with the Product Development team. The ideal candidate would be a seasoned Java engineer interested in mentoring younger engineers. This position is based in Larkspur, CA.
In my mind, mFoundry offers the best balance between the nimbleness of a startup and the stability of a larger company. The product development team is staffed by experienced, bright, passionate and fun people to work with. In all, mFoundry is a great place to work and the product development team is second to none.
If you or someone you know might be interested in a challenging and rewarding job with an excellent company, please take a look at our list of careers page for more information.
OK… not really. It is more a case of experiencing zero time for non-work technical projects. As my girls traveling soccer team nears the end of the season, things should start to lighten up just a bit. With that said, I have a few upcoming work and personal trips that will continue to keep me away from personal programming projects like AndPingus for at least a little bit longer.
In the meantime, the Eclipse Foundation has managed to deliver the Eclipse Indigo release on schedule yet again. It is always strange to see the Eclipse MTJ project based on my original EclipseME work ship “yet another release” with no involvement from me. While I’m glad to see the project outlive my involvement, I have to admit it is kind of strange.
Unfortunately (or maybe fortunately?), JavaME is on a downward slide at this point. I had hoped to take a look at the Eclipse Usage Data for the MTJ project and get an idea of its usage as well. However, I’m still looking around for up to date usage data. If I find something useful or interesting, I will try to post something here.
In my last Android Pingus post I mentioned that I was interested in getting Pingus running full screen on my Motorola Xoom. It was clear from Android Market applications that it was possible to run applications across a wide range of Android versions with full screen support for extra large screens, but it was not entirely obvious to me how to actually accomplish that.
In reading the Android supports-screen documentation, it is clear that it is necessary to set the xlargeScreens attribute to true. However, the xlargeScreens attribute is not supported below API level 9. Trying to shoehorn that attribute into my project that was attempting to support back to API level 5, resulted in the following error. Read more…
Despite traveling soccer season heating up, I have managed to make some real progress on destroyable terrain since hitting a wall in my last post. Ground tiles are now implemented and working quite well. In this first video, you can see the individual tiles being marked as the digger works its way through the ground.