Posts Tagged ‘software’

moar Fusion!

Tuesday, December 18th, 2012

Fusion Tables is neat. Google describes it as ‘an experimental data visualization web application to gather, visualize, and share larger data tables’. Last year I tried out their API which was mostly based on sending SQL statements to create and manipulate tables. Recently, I looked at Fusion Tables again as part of an imminent upgrade to Mobile Logger. The API has been upgraded to “v1″, is now much more RESTful and enforces OAuth 2.0 authentication.

Once again, fired up Titanium Appcelerator to dig into the Mobile Logger source code. Every time I look at Appcerelator I’m reminded why I have opted to focus on Objective-C. Not going to get into a religious war…it just feels cumbersome. That could just as easily be attributed to my general unfamiliarity with the Titanium Studio and toolchain, since I’m otherwise using Xcode and Objective-C daily. Still, it’s much better now than when I first started Mobile Logger in 2009—using vim because Titanium did not have an IDE (or documentation, for that matter).

Back to Fusion Tables…it’s fairly easy to create a new table and import all the data from logs. Two authenticated calls: one to create the table and receive it’s ID, and another to use that ID with CSV data in a batch import. Once in Google Drive it’s trivial to map the data and play in various ways to chart the data. Nothing special, but here is a quick result from a walk in the park.

For now, I’ve only gotten a one way trip going. Haven’t tried to reconcile changes bidirectionally, or enabled updates to existing tables…but it seems like a promising start. Beta testing the next release of Mobile Logger now. Release likely just after the new year when iTunes Connect reopens. In the meantime, the code is up on github.

Arduino in Eclipse

Saturday, October 31st, 2009

This tutorial describes how to set up Eclipse for Arduino (AVR) C/C++ development. Eclipse is a full-featured Integrated Development Environment with modern editor features such as syntax highlighting, code completion and error checking. I became interested in using Eclipse for Arduino development as I’m often simultaneously developing firmware for the chip and visualization software in a Java / Processing applet. Since I’m already using Eclipse for Java / Processing, it’s nice to be able to work in the same environment for both.

The Arduino site has a decent walkthrough, but I found some of the steps to be confusing or outdated. Hopefully, this will get you up and running quickly. (more…)

openFrameworks + iPhone libs

Wednesday, March 25th, 2009

of_iphoneI’ve had a few days to test the libraries I cobbled together for using openFrameworks with iPhone and also received positive reports from some folks who tried out the Makefiles I provided to them, so here they are for anyone who’s willing to try them out. -please make these instructions better if you see fit- (more…)

Golden Cheetah 1.0.277 released!

Friday, January 9th, 2009

gc_10277We finally got a new version of Golden Cheetah out the door….it’s been only like, almost a year. Whew! Pressure is off.

I had been making personal builds since the summer to give out to folks who wanted to take advantage off several new features introduced since the march build. Sean gave Justin and I write access to the svn code this past December and we’ve been playing catch up on a backlog of patches, and i’ve been remembering c++ and Qt.

Several new features have been added in this release: Critical Power calculator, find best intervals utility, Pedal Force / Pedal Velocity chart, iBike and Ergomo CSV import, GUI power zones creator, separate vertical axes for Power / HR / Cadence and Speed in the Ride plot, sorting rides with the most recent at the top of the list, and many bug fixes courtesy of JT Conklin. This version is also using FTDI D2xx drivers rather than VCP.

We’ve also switched to a numbered versioning system which will serve to better indicate which svn revision the releases were built from and perhaps will mask our slow release cycle. :)

The new release is available on the Golden Cheetah download page.

success!

Friday, August 15th, 2008

finally got the iBike CSV file support added to Golden Cheetah. the issue revolved around line endings on the iBike file that a user supplied. the file had CR (old-style Macintosh) line endings, and QTextStream::readLine() doesn’t honor them…reading the entire file at once.

the solution was pretty simple: use readLine() THEN split(‘\r’) and loop through each piece. files with LF endings will be read in correctly, and the split will only result in one element. files with CR will be read incorrectly (as one big chunk) and then split into lines. the rest of the code is agnostic to the differences. snippet for reference:

        QString linesIn = is.readLine();
        QStringList lines = linesIn.split('\r');
        // workaround for empty lines
        if(lines.size() == 0) {
            lineno++;
            continue;
        }
        for (int li = 0; li < lines.size(); ++li) { 
            QString line = lines[li];

ok, back to packing for the move.

I Like Math…

Monday, February 25th, 2008

…which doesn’t mean that I understand it. However, it does seem to have the uncanny ability to predict how some things will behave and certainly can make come cool looking stuff.

Expanding on the spirographs from the other day, here’s a modified version which will iterate through a range of .1-10.0 for r and R.

Spirograph Generator

Spirals

Oh! The Places You’ll Go…

Monday, February 25th, 2008

I was messing around with generative drawing for the Processing class I’m teaching…and started playing with spirographs (my bigger brain, ie. Google and Wikipedia, reveals that they are called hypotrochoids).

The algorithms are quite simple:

x = (R - r) * cos(theta) + d * cos((((R-r)/r)*theta));
y = (R - r) * sin(theta) - d * sin((((R-r)/r)*theta));

The results are neat, and mapping the basic variables to keys or the mouse provide a nice way to alter the drawing through iteration. Coupled with the PDF library and some extra code the graphs can be printed out at large sizes. Here are a couple.

NeatSpikesOrange

More features

Saturday, February 16th, 2008

I noticed a thread on the Wattage forum that mentioned a new format for Ergomo CSV files. The poster also mentioned that they hadn’t used Golden Cheetah because they thought it was for Linux only. Anyway, I got a copy of an Ergomo CSV file and got to work on making GC.

It was pretty simple to update. Justin had already wrote the code to read in PowerTap csv files. I just wrote in the logic to determine which flavor of CSV was being read and to parse the data in the way GC expects.

Still need more testing. The only Ergomo CSV file I have has German headers (ZEIT,STRECKE…). Hopefully I’ll get other versions of the files to test.

Universal!

Saturday, February 16th, 2008

Golden Cheetah is universal! (i hope)

I spent most of the evening setting up my development environment to get Golden Cheetah to compile as a universal OS X application. This would be made easier if I actually knew what I was doing. In the end, I recompiled Qt4.3.1 and QWT5.0.2 as universal before I could move forward with building GC.

Here’s the configure command for Qt (one line):

./configure -static -prefix /usr/local/Qt4.3u-static -make libs
-confirm-license -universal -sdk /Developer/SDKs/MacOSX10.4u.sdk
-qt-sql-sqlite -LD="gcc -mmacosx-version-min=10.4"

I’m using a non-standard install location for the static libraries so I can update Trolltech’s binaries separately. There was some problem with gcc under Leopard, so some special parameters needed to be passed along: -mmacosx-version-min=10.4

qmake’s .pro files needed to have some config variables set. Specifically, I had to add these lines to each of GC and QWT’s .pro files:

QMAKE_MAC_SDK=/Developer/SDKs/MacOSX10.4u.sdk
CONFIG+=x86 ppc

I was also getting linker visibility issues, which were resolved by additionally adding QMAKE_CXXFLAGS += -fvisibility=hidden to each of the .pro files as well. I don’t know if this is correct, but the resulting application seemed to work.

More testing is needed, but it’s finally working under 10.5 Intel and 10.4 PPC. Forcing the use of the 10.4 SDK and min version 10.4 did something right.

Enough tech…I need to ride.

Almost there…

Wednesday, February 13th, 2008

Golden Cheetah is on the verge of a new release. Sean’s committed Justin and my changes for BikeScore and metric/english preference into the svn trunk. I’ve cleaned up some of the user interface and have compiled an OS X Intel version. More importantly, we now have a desktop icon for the application under OS X…it’s all about aesthetics, really.

We’re discussing the next round of planned features now…it’s exciting.