Mindless missives of a developer from the North.

Nexus 5 Retrieving Shots From Shooting Chrony Beta Master

| Comments

I spent a little bit of time since Christmas working on an Android application that will download velocities from my Shooting Chrony Beta Master. First I pair my Android phone to my Shooting Chrony via bluetooth. A couple of taps on the screen, and lo, shot data is retrieved:

The app itself isn’t ready for public consumption, but as a proof of concept it is encouraging to see. I uploaded a video of this to YouTube so you can see the application in action.

The next “big feature” will be to somehow download the shot data from the phone – maybe by e-mailing it or uploading a CSV to Google Drive or Dropbox.

Adding Bluetooth to Your Shooting Chrony

| Comments

If you’re into reloading, you know about chronographs. Odds are you might have a Shooting Chrony. I myself happen to own a Shooting Chrony Beta Master. These are pretty well made devices, and Shooting Chrony has a no nonsense replacement policy.

The only way to interact with the device is via a proprietary 9-pin-female RS-232 cable, like an old modem. Now, this techique was all the rage circa 1994 when dial-up internet was king and everybody had PC’s with two or more serial ports. This is really sub-par when you want to try and connect your smartphone to a Shooting Chrony (yes, this is possible, but more on this later).

Using Estimotes With Xamarin.Android

| Comments

I recently bought some Estimote beacons (a 3rd party iBeacon-like device) - largely because they seem like a cool and nerdy kind of thing. It has an Android SDK which will allow Android devices to interaction with devices. With a little big of effort, I managed to create Xamarin.Android binding and port the sample Android project provided by the Estimote SDK.

You can see an example of the app in these screenshots:


Measuring Distance With Arduino

| Comments

The Ping))) is ultrasonic range finder that is pretty easy to use in an Arduino project. In my case, I’m using it to monitor the water level in a sump pump. I have an Arduino Uno R3 (with Ethernet Shield) connected to a Ping))) and a TMP36 temperature sensor that is perched above my sump pump. Every 2 minutes the Uno will send out a ping, and figure out the distance to the water below. The TMP36 is used to account for the air temperature in the speed of sound calculations.

Animate a ListView Deletion in Xamarin.Android

| Comments

A visually pleasant effect when deleting items from a ListView is to animate the row being deleted by gradually change the .Alpha value of the view from 1.0 to 0.0. If you’ve tried to animate the deletion of a row from a ListView in a Xamarin.Android application, you may observe some curious behaviour when rapidly scrolling through a ListView with many rows: the animation may appear on rows other than then one that is being deleted.

Sublime Text 2 and Arduino

| Comments

If you’re looking to get into Arduino, and you’re a programmer, the first thing that will jump out at you is the Arduino IDE. It’s best described as “spartan” (to say the least). As I’m used to full featured IDE’s I started looking for a replacement to the default Arduino IDE.

There are extensions to use Visual Studio, but that means me starting up a VM to run Windows which I don’t really want to do for Arduino development. There is a another IDE which looks promising called Maria Mole - but it’s Windows only so not really a contender for me. I need something for OS X. I looked at setting up Eclipse as my default IDE, but ran into some issues with that. Nothing to major, but as I don’t like Eclipse in the first place I wasn’t to motivated to sort things out, so I abandoned Eclipse as an IDE choice.

The next thing I tried was Sublime Text. There is an Ardunio plugin called Stino that turns Sublime into a not bad IDE. In terms of writing your programs, Stino can pretty much do everything the Arduino IDE can do: compile programs, upload them to your Arduino board, import libraries, etc.

Writing GPS Information to a JPEG

| Comments

One of the handy things about the JPEG format is the ability to store meta-data inside the image using EXIF. There are a few libraries out there for the various programming languages that can help you out with this, and Android actually has something built in to the SDK - the class ExifInterface.

Google’s documentation on writing latitude and longitude to a JPEG are a bit light on details - they loosely hint at the format that latitude or longitude should have. (See the documentation for ExifInterface.TAG_GPS_LATITUDE). The API itself is pretty straight forward, but what Google doesn’t tell you is HOW the GPS coordinates should encoded.

Rake Your Xamarin.Android Application

| Comments

Deploy early, deploy often is a popular goal in Agile methodologies. One easy way to support this to automate your build process. Last year at this time I would just use FinalBuilder to automate the builds of my Xamarin.Android pet projects. It doesn’t take much to set FinalBuilder, and it does provide support for a lot of tasks such as versioning .NET assemblies, manipulating XML, dealing with the file system, and so on.

The problem is that FinalBuilder is Windows only. OS X and Linux types are left out in the cold. As I find myself working almost exclusive in OS X when developing my Xamarin.Android applications, I was looking for a Windows free way to automate my builds.

Enter rake and albacore. rake is, of course the build system for Ruby.

Windows 8 64-bit and Android Debug Bridge (Where Is My Galaxy Nexus?)

| Comments

Setting up a new VM for development - this one based on Windows 8 64 bit. Not that I really want to, but it seems that I need to for work (yes, yes, first world problems). So the usual fun with standing up a new VM:

  • Install OS
  • Download Chrome and Firefox and ditch IE
  • Download Resharper
  • Remember that you need Visual Studio for Resharper so install that.
  • Install Java SDK
  • Install Android SDK
  • Install Intellij and Eclipse
  • etc.

Of course, then I notice that my phone, a Galaxy Nexus, isn’t being recognized by Android Debug Bridge. This is a problem as I much prefer to develop using a device as opposed slow emulator that Google ships for Android, and you can’t deploy to the device without ADB.

Updating Octopress

Just did a quick update from Octopress. This is mostly just a test post to make sure that things are working okay. We now return you to your regularily scheduled emptiness.

Have a nice day.