Writing a Twitter Bot in R

Since a while I am contemplating the possibility of automatically publishing on social media some stats and data visualisations from work. When I discovered the nice bot @everytract by @fitnr (and a little later the @GVAcartografic’s #Secciócensal tweets) I decided to try and do a Twitter bot myself in order to see what is possible and how difficult it is. I thought that combining maps and some Italian data would be a good recipe for having fun and so I did set out to use some GIS data from the Italian National Institute of Statistics (ISTAT)(@istat_en) in order to publish a map for every Italian comune (the basic administrative division in Italy).

ErgoDox keyboard

Now that I have a new blog setup, I can more quickly post what has been since long time in the making: my ErgoDox keyboard. It all started with me reading Steve Yegge’s blog on touch typing and being convinced I should give it a try with a proper keyboard. So on 2014-03-24 I joined a Massdrop purchase for an DIY ErgoDox split keyboard. It completed a week later and delivery was done somewhat end of May.

New Blog Engine

I finally decided to give it a try and then switched to blogdown (here the free book.) I sort of followed the migration suggestions in the book, but when I tried to switch to Netlify I got everyting messed up with my OVH setup so I am still with Github Pages…one step at a time… I hope this setup will lower the barrier and allow me to blog and share more.

Docker image for locally testing Oracle

Docker for Oracle This post describes my journey to building and using a docker image for Oracle. It all started as usual searching the web for hints and many results led to the Oracle docker Github repository. This repository under OracleDatabase provides (almost) all the informations needed. My target machine: MacBook Pro (13-inch, Mid 2009), OS X Yosemite 10.10.5. Which Oracle RDBMS? I decided to use Oracle XE because my use case just needed an Oracle DB, so no need to go for bigger and fancier versions.

Setting C.H.I.P. up

Few weeks ago I finally received my C.H.I.P. and PocketC.H.I.P. C.H.I.P. is the famous $9 computer crowdfunded in May 2015 via Kickstarter and PowerC.H.I.P. combines a 4.3-inch screen and a button-style QWERTY keypad with it. Here they are in all their beauty: C.H.I.P. Pocket C.H.I.P. Setting C.H.I.P. up I am interested to play with both toys remotely, so I did follow Setting up CHIP as a headless server with minimal tools in order to install and configure ssh.

DVD to Android Tablet

How to transfer your DVDs to your Android Tablet Suppose your kids want to watch their DVDs in the car on their Android tablet… Here is what you can do (on a Mac OSX 10.9.5): install Handbrake and its CLI $ brew cask install handbrake $ brew cask install handbrakecli install libdvdcss (thanks to lifehacker’s article) in order to bypass copy protection $ brew install libdvdcss go to the place where you will place the ripped DVD: $ cd ~/Movies convert your DVDs: $ HandBrakeCLI -i /Volumes/‘my DVD’ -o /Volumes/Untitled/Movies/my_dvd.

Learning Vega 2.0 a.k.a. Reactive Vega

h1 ~ aside { font-size: small; right: 0; position: absolute; width: 180px; } A Grammar of Graphics Vega 2.0 adds a grammar of interaction to the grammar of graphics implemented in Vega 1.0. When you say grammar of graphics all roads bring you to Leland Wilkinson The Grammar of Graphics Springer Science & Business Media, Jul 15, 2005 But given the price of 100+ USD, I am not even thinking of getting my hands on it.

How to add a new chart type to dc.js

This is a step by step description of how I extended dc.js with a new chart type. It is inspired by a wiki page by Thomas Robert. A Bullet chart Mike Bostock already implemented a bullet chart in D3.js. The vertical version from Jason Davies uses the official code which is available as a d3-plugin. (I have submitted a proposal for a bug fix and will use it instead.)

HTML Scraping or Surviving Orrible Corporate Tools

At work I have to fill my weekly timesheet. We use Planisware’s Timecard to record time spent on the various projects we are assigned to work on. So you need to known what the total working time is for the day. For that our badging in and out is recorded and passed to Chronogestor which does sums them up and provides both a sexagesimal and decimal format. When there is an anomaly the sums are blocked till the request you submitted to fix it is implemented… So I thought I could do some web scraping and extract my clockings from the relevant CG’s page, make the total for the day (in decimal form: in Timecard we record time in decimal form, i.

How Internet Long Tail Helped Me Fixing My Smartphone

I am just more and more amazed by the opportunities offered by the current Internet connectivity: they call it the long tail. It strikes me that just few years ago what I have done would have been extreemely difficult or very expensive … or both. So here is the story of how I was able to fix my Samsung Galaxy S2, the steps I followed and the resources that helped me.