Goodbye WordPress, welcome Jekyll

26 January 2014 Leave a comment

I started this blog a couple of years ago to share my thoughts, ideas and projects. At that time is was using Mercurial on Google code for some software projects but I was not really using version control systems for my day to day work.

When I switched to Git (Github & Bitbucket) about two years ago, I got more and more used to text based document formatting, trying to avoid a bloated GUI’s when possible.

Currently, I am using LaTeX to write presentations, reports and articles. I like the text based approach because this allows you to focus on the content and not on the layout. I am still horrified every time when I have to write something with MS Word, LibreOffice or even worse… on a MS Sharepoint website. I don’t have a specific problem with these products or with the vendor, I just don’t like the fact that you are not in control of your own content.

The last GUI that I was using for my personal content was WordPress. In my search for a decent replacement I found Jekyll, a simple, blog-aware, static site generator written in Ruby.

How it works:

  1. You write a website skeleton and define some settings. This is similar to the LaTeX approach where you select some packages and define some settings up front.
  2. You write your content locally using Markdown formatting and commit it to a git repository. When adding content later on this is the only thing that you have to do.
  3. The server runs some ruby code to generate a static website based on your content (you can also run the same generator locally)
  4. The website is hosted for free on the Github servers

All my future posts will be located at my new Jekyll-based website and this blog will stay behind in “archive mode”.

http://jeroendoggen.github.io/

LaTeX Handouts Builder (Python version)

22 August 2013 Leave a comment

This tool can be used to build “course handout books” using multiple LaTeX beamer slides sets.

I have been using a Bash script with almost the same functionality for a long time. Some background information on this old script can be found in this blog post.

Book structure:

  • Title page, introduction, table of contents
  • One chapter per slide set (three printer-friendly versions: no slides transitions &  less colors)

Example .zip output

How it works:

  • Just run one program: “python build.py”
  • The program starts building all the LaTeX beamer slides.
  • The output is converted to the printer-friendly formats.
  • All documents are merged in the master handouts book.
  • Create a ZIP archive with all the documents

Code and examples available at GitHub.

LaTeX beamer template for “AP University College Antwerp”

22 August 2013 Leave a comment

After merging with Plantijn University College, my employer decided to design a new “house style” for slides and official documents.
Since I have been using LaTeX beamer based slides in my classes for a while, this meant I needed a new LaTeX beamer template for my lecture slides.
The following style is based on the official PowerPoint template.

Source code and examples available at GitHub.

Title page

Outline page

Example slide

Arduino Cheat Sheet — The most important Arduino commands and syntax

1 August 2013 1 comment

Arduino Cheat Sheet” is a poster that gives an overview of the most important Arduino commands and syntax.

It is based on ArduinoCheatSheet by The Mechatronics Guy and created with Brian Amberg’s baposter LaTeX poster style. All the information is based on the Arduino Language Reference website.

Download .pdf version

More info on the Arduino forum.

Complete poster (lowres):

Complete poster (lowres)

Complete poster (lowres)

Top right corner (zoomed):

Top right corner (zoomed):

Top right corner (zoomed):

Playing with generative algorithms

I recently found a small software project while cleaning up some old folders on my PC. The program uses the concept of evolution from biology to solve simple “problems”.

I wrote this code while reading the book The Selfish Gene by Richard Dawkins. Somewhere in that book, the author ask the reader to write their own simulator and I was crazy enough to actually do that…

It was after programming this application and reading several of his books that I decided to start my studies in environmental sciences at the open university in the Netherlands.

Program flow:

  • Enter a ‘secret key’
  • Generate a random string (parent)
  • Generate 1000 strings based on the parent (with minor mutations)
  • Select the child that is closest to the ‘secret key’ (lowest ‘Deltasum’ or the ‘fittest’)
  • This child becomes the parent for the next generation
  • Go back to step 3 until the secret key is found

Code available on GitHub.

Arduino Library for the Parallax (Futaba) Continuous Rotation Servo

A while ago, I started a Google code project to share an Arduino library for the Parallax (Futaba) Continuous Rotation Servo

This project is a free initiative to create an Arduino library for the Parallax (Futaba) Continuous Rotation Servo.
The main goal is to provide a library that simplifies the usage of this particular servo in Arduino projects.

Available functions:

  • rotate(speed)
  • rotateLeft(speed) & rotateRight(speed)
  • rotateLeft(speed, time) & rotateRight(int speed, int time)
  • noMovement() & noMovement(time)

Library Usage:

  1. Download the source
  2. Place the ContinuousRotationServo? folder in your Arduino1.0+ “libraries” folder
  3. Open example sketch: “file”, “Examples”, “ContinuousRotationServo”, “Rotate” (or “RotateTime”)
  4. Connect the signal pin to port 2 (and connect Vcc and GND, ensure Vcc is able to source approx. 200 mA)
  5. Compile & upload code
  6. The servo should be moving as requested

Datasheet: http://www.parallax.com/Portals/0/Downloads/docs/prod/motors/900-00008-CRServo-v2.2.pdf

Categories: Uncategorized Tags: , , ,

Bash script to fix indentation for C++ code

28 November 2012 Leave a comment

This small scripts allows me fix the indentation of C++ source files with very little effort.

Usage:

  1. Drop one or more C++ source files in the “toindent” folder
  2. Run the script “./indenter.sh toindent” (this calls the bcpp indenter to indent all files in the ‘toindent’ folder)
  3. Done

There are some options for step 2:

  • Select one file to indent: “indent.sh file.cpp”
  • Select all files in the ‘toindent’ folder: “./indent.sh toindent/”
  • Select only files with a certain extension in a folder (e.g. “.h”):  “./indent.sh toindent h”

Download

Indentations options can be changed in the “bcpp_indenter.cfg” file.

Follow

Get every new post delivered to your Inbox.