Strava meets Python

I use strava to register my rides where I mark my commutes. Once a year I need to identify the commuting ratio for tax reasons.

Strava has an api which is well documented, so please check that out here. The code below will get rides between two dates and calculates the ratio of commutes and private rides.

I’m going to update the code with generators to manage the paging, add some error handling on the requests and clean things up a little, as soon as I get round to it.

Continue reading “Strava meets Python”

Build an IOS app on Linux – without MAC – using React Native

I found myself not finding an app in the apple store that accommodates my requirements.  I have built an app in the past using mac + xcode which works nicely, but now I have an ubuntu running on my lenovo yoga.  So no Mac.  I have been reading about React and React Native so that’s what I’ll try.  It would allow me to publish the app not only for ios but also for android. Also, saves me from investing in a Mac.  And on top of that, I learn React to build apps just about anywhere.  Win Win Win…

I don’t want to waste time with hackintosh, vm, simulators etc.  I really want this to work.

My two new programming languages for this year will now be Golang (backed by Google) and React (facebook).


So we need Nodejs and expo.  Coding is done in either the online Expo IDE or XDE offline.  On the iPhone, we need the expo client.

perl / local cpan without root

Installing  perl modules on systems where you don’t have root privileges can be a real pain.  The easiest way to get it working, is what I found on stackoverflow below.

wget -O- | perl - -l ~/perl5 App::cpanminus local::lib
eval `perl -I ~/perl5/lib/perl5 -Mlocal::lib`
echo 'eval `perl -I ~/perl5/lib/perl5 -Mlocal::lib`' >> ~/.bash_profile
echo 'export MANPATH=$HOME/perl5/man:$MANPATH' >> ~/.bash_profile

Then use it like so:

cpanm Module::Name

Lego and rubik’s cube. Solved.

Lego has always been cool.  Sure, you can follow the build plan, but there’s so much more you can build.  My 10yr old son and 9yr old daughter have been into scratch for a while and wanted to start writing code in python and javascript/html/css.  More on the latter later.  Did you know that Lego Mindstorms works much like a raspberry pi?  You can boot off of an sd card, without touching the firmware, and control all the mindstorms components from python!  Check out the site for more on the subject!
We have to use python since LabView does not run on linux (yes it does, but not without the usual little headaches).

My son found the build plans and built it together with his sister.  We then first got to boot the thing in ev3dev and started with little routines to get the arm and cube platform to move, identify colors etc..

Some time later, after a few build corrections and code updates, this is the result.