RSSAmplifier

Blog

Guyzmo's blog

Recent content on Guyzmo's blog

i.got.nothing.toRSS feed ↗15 posts

Latest posts

How to manage invoices with the CLI and an editor

Here’s a common thing we often hear: if you’re doing a task more than once, automize it! A few years ago as I did my first freelance gigs, I hacked a LaTeX template I found on Internet to be able to build my own invoices. I even wrote an article in French about that. But then, I found myself repeating the edition of the different elements of the invoice and figured that I could…

Docopt, the elegant way to build CLI

Recently, I’ve been caught in a troll with a friend who told me he doesn’t like docopt and prefers to stick with argparse . My opinion is that both are just tools with strong and weak points. I do have a preference over defaulting to docopt , and use something else really when I’m hitting a use case that makes docopt totally irrelevent. CLI Design I don’t think…

Git-Repo The ultimate utility for managing services

Over the last decade, we’ve seen many online platforms offering repository hosting, like SourceForge, Savannah, Gitorious, Google Code, Github, Launchpad, Gitlab… And a bunch of others I fail to remember. They offer a great service to help developers and the FLOSS community to make it easy to find and share code on a project. Though, they all always sucked at one thing, it’s to…

A migration story: from blogofile to hugo

It’s been a long time since I last posted on that blog. Besides the fact that I’ve been too busy to update it, it’s also because it was stuck in 2009. When I first heard of the concept of static site generator I was very excited, so I used the first tool that existed — Blogofile . I hacked together a site, made nice looking URL (on the nothing.to/do scheme 😉) , and made my site…

Arduino: C++ Style

Here’s a simple tip that will make C coders cry and yell, but will definitely make C++ codes happy: how to implement C++ stream syntax for Arduino. Based on the following tip from the Arduino Playground, I added a few things to make it more compatible with C++, so one can test a library on his computer, before running on the microcontroller: static uint8_t base=0; inline Print &operator…

AVR for BLE and iOS

For a project I’ve been assigned the task to access the ANCS from an AVR using Nordic’s nRF8001. Even though it’s mostly integration work of Apple’s specifications and Nordic’s ones, it end up being way harder to build than expected, and couldn’t have been done without the help of the Nordic’s support team. First tests The first tests were quite easy and…

AVR bootloaders: reboot into bootloader

When dealing with firmware updates, you need to make the AVR reboot into bootloader. And there are lots of solution when you try to do that: either you force a reboot using the ‘reset’ button, and try to launch the avrdude command just 42ms after hitting the switch, or you can use the not always wired up and not always working properly DTR line pushed down, or you can wire a pin to the…

KiTT: A Multitouch Gesture Tool based on Kivy

I have now used for several years on my OSX computer the really excellent BetterTouchTool by Andreas Hegenberg. When I reconfigured my linux box again, that was something I really missed. Being able to move around workspaces or tabs using two/three fingers was just impossible. I have looked over the intertubes for some gesture management application, and found a few stuff like Touchègg that I…

Notmuch: How I learned to stop worrying and love the mail

I’m a long term mutt user, I think my first mutt install was in 2000 or 2001, and by that time I was happy with that, managing my mail in mbox. But then, I started to subscribe to many high traffic mailing lists, and I had to create several mboxes and use mail delivery program that can filter the mail (basically procmail). And then the mbox technology got overwhelmed by the quantity of mails…

Learning Javascript by hacking JSHint

About ten days ago, I decided I should learn Javascript. I used to have a terrible opinion about that language, mostly because all I knew about it was the very bad parts… All globals, weak typing years of irritating approach for web programing. Go for javascript But then, at FOSDEM 2013, I let me convinced by my Mozillian friends that it is actually not such a bad language, and it is possible to…

Pollux'NZ City goes opensourced!

Today, the decision has been taken to give the Pollux’NZ City project a second breath: it is being published as opensource and libre. We are really thrilled to share the project’s technologies we have developped over the last two years, with my friend and colleague Kasey at CKAB . The origins At first, it began as a simple implementation based on Adafruit’s sensor shield, as a…

The Open Light Project: Next Step

The goal of that project is to create cheap and efficient wireless devices to control professional lightning products, traditional analogical ones using a controlled Triac and DMX ones, by using a transceiver to DMX. For the wireless part, the best option is using the zigbee, which is light, cheap, yet meshable. The first step, here, is to test the designs exposed, then prototype it using the DIP…

Run the SL030 RFID reader on linux

I needed to use the SL030 RFID reader on linux (on a beaglebone with i2c support enabled, of course). But when I tried to communicate with the device using i2cget , the device failed and disappeared from the detected devices… After the break, we’ll see why and how I solved it. My first contact with the SL030 has been using arduino , using the SL018 library and everything worked really…

Python Event Source Library

After looking at a lot of different technologies, it rapidly seemed obvious that HTTP 1.1’s long polling methods are what I was looking for. But when I tried to find client/server implementation, I rapidly found out websockets implementation that are über-sophisticated and with only the server-side (the client side being javascript) or other very obscure technologies I won’t list. To…

Hack to work with msp430 on macosx

I got my hands on a msp430 launchpad to play around with it, and unluckily, the launchpad does not play nice with macosx. So as every manual states it, you begin by getting the toolchain : % sudo port install msp430-gcc msp430-binutils msp430-gdb msp430-libc msp430mcu you can also do it using brew : % cd `brew --prefix` % git pull http://github.com/reid/homebrew.git % brew install mspdebug…