As usual, I am jumping around from one side project to the next, always looking for the next shiny object. A repeat of a
Broadcom networking bug
on my new HTC One, lead me to want to be able to dig into the underlying network packets. There are a number of pieces to this project that are completely new to me, including building native code libraries (libpcap) and executing code as a root user on-device to allow libpcap to access the low-level networking stack.
Read more…
Recently, I’ve been playing a bit with the
Appcelerator Titanium Platform
. In particular, I’ve been working on a
native Android module for Titanium
. In their documentation,
they state
:
The best way to debug your Android modules right now is a bit old fashioned. When there is a problem or unexpected behavior in your module, use log statements to trace through your code’s execution.
Read more…
I recently picked up a new Sony VAIO T15 ultrabook laptop. A really nicely designed laptop for a good price. After repartitioning, I was able to install Ubuntu 12.10 in a dual-boot arrangement fairly easily and Ubuntu worked well out of the box. However, screen brightness controls using Gnome power manager did not work out of the box and I had to to some hacking to get at least a bit of control.
Read more…
Recently, I was seeing severe battery drain on my Samsung Galaxy SII. Using the most awesome
BetterBatteryStats
application I was able to see that my phone was not being able to go into deep sleep due to WakeLocks from the
LocationManagerService
. Android’s
LocationManagerService
, is responsible for managing
LocationProviders
and issues location updates and alerts. If applications are requesting location updates too frequently, the
LocationManagerService
may be forced to keep the phone awake to provide those updates.
Read more…
When I started hacking on
EclipseME
way back in 2001, I never would have guessed that it would still be going in 2012 in use in the form of the
Eclipse Mobile Tools for Java (MTJ)
project and a shipping product. A few days ago, Gorkem Ercan of Nokia announced that the
latest version of Nokia SDK for Java is now based on Eclipse MTJ
. Even though I don’t really spend any time on the MTJ project these days, it is very cool to see the software still being put to good use.
While I haven’t entirely given up on my
Android Clock Widget
project, it has definitely stalled out for the time being. I have some potential ideas on how to move that project forward, but between work and coaching soccer I just don’t have much time at the moment to play around. In the meantime, I wanted a nice analog clock on my phone’s homescreen. While looking around the Google Play store, I came across the awesome
Analog Clock Collection
. For anyone looking for an analog clock widget, I’d recommend taking a look.
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.
Read more…
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.
Read more…
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…