Thanks to Matthew Reid on posting instructions on how to install Boost on Ubuntu 12.04, 13.04 and Fedora. Also works with Boost 1.55 🙂
Ignoring files is a great article on GitHub Help. The global gitignore file is mentioned there. In this file you can ignore files in all the git repositories on your machine. There is a very helpful template that will ignore compiled output files from various languages (
*.o, *.so, *.dll, *.class) as well as logs, database files, packages and also files generated by the operating system (Yes, I’m looking at you Windows
Thumbs.db and Mac
The above page also links to the gitignore repository on github. This repo contains a whole bunch of gitignore files for programming languages, build systems, servers, markup languages, content management systems, … There is also a global folder for more your global ignore file (IDEs, text editors, non-git version control, operating systems…).
Please note that there seems to be better way to do this since git version 1.8.2 (mentioned in these two stackoverflow answers: here and here). The version from the Ubuntu 12.04 repos is 188.8.131.52 though so I’ll take a different route. The project for this example is the handy node.js multi-platform support layer libuv.
Please note that this example expects you to already have an existing project under git control. If you don’t – simply look up on how to create one using
git init or
git clone one 🙂
# do a "clean cut" before adding the submodule
# add libuv to the project
git submodule add https://github.com/joyent/libuv.git libuv
# update the submodule
git submodule init
git submodule update
# enforce the version we want to use (tag v0.10.22)
git reset --hard v0.10.22
git commit -a
git submodule status
You can now reference/include the files of the submodule while still being able to update the submodule to newer versions. Gotta love version control!
I just stumbled across a few useful android apps for BLE development. My curiosity was sparked by github user tomkubitza who wrote that there’s a useful BLE android app by Nordic Semiconductor. They actually have a set of apps/demos which look well-done. It’s nice to see they take those apps seriously – after all WPAN chips are their bread and butter 🙂
For now this is just a list for reference. I might come back and add infos after giving some of the apps a go.
- nRF Toolbox for BLE
- nRF Master Control Panel
- nRF Temp 2.0
- nRF HRM Demo
- nRF Logger
- nRF UART 2.0
- nRF Utility
Texas Instruments SensorTag related
Without a doubt 3D printing has serious potential to spur innovations. However, for the moment it’s too expensive and complex – just imagine the 3D CAD learning curve. For a lot of non-complex ideas you can actually use Lego® to create a lot of useful things. It’s cheap, easy to use and you can go to the next toy store RIGHT NOW and get a starter kit. Here are some clever ideas I came across:
- key holders
- wallet and mobile phone holder
- iPhone 5 dock
- tablet or eReader stand
- Raspberry Pi case – this will work with any circuit board and will also make them easy to stack!
A Software Developer by the name of Michael Hunger even uses LEGO® to track his time. And it’s easy to come up with other useful ideas (I’m sure most of these have been built already)
- CD/DVD/Vynil/Book rack or showcase
- Notebook cooling stand
- PC Case
- Guitar stand
- Guitar effects board
- pen holder
- picture frames
- Gamepad holder (or any other gadget)
Today I set up my LaTeX environment for my master thesis on my Ubuntu 12.04 notebook. It consists of the Tex Live distribution version 2012 and the Gummi LaTeX editor. The latter is very lightweight and has a very useful live preview:
The Ubuntu 12.04 repos don’t contain the latest versions of TeX Live and Gummi. So we’ll add two PPAs – one for a more recent version of Gummi and one for TeX Live 2012.
sudo apt-add-repository ppa:texlive-backports/ppa
sudo apt-add-repository ppa:gummi/gummi
Next we’ll update the repos on the machine and install the required packages. I’ll show you a nice template in a second for which I needed to add some additional packages.
sudo apt-get update && sudo apt-get install gummi texlive-science texlive-fonts-extra texlive-math-extra texlive-bibtex-extra cm-super texlive-lang-german
2. A useful template for theses
Google turned up a nice LaTeX template over at Matthias Pospiech’s website. And here’s why I like it:
- it works (almost, see below) out-of-the-box
- it looks good
- it has a lot of things set-up (quotes, tables, references, two-page bind-friendly print layout, bibliography, math formula support, code listings, diagrams, plots)
- it is THOROUGHLY documented (we’re talking 200+ pages pdf with examples for everything – the template IS the documentation)
The only thing I had to do is replacing each
\include with an
\input (for security reasons only TeX files from the same directory can be included in recent Linux distributions – you can find more on that in this stackexchange response) and I was good to go. The documentation is BIG PLUS – clearly a lot of effort went into this. This will help a lot when modifying the template.
3. Find a text color scheme you like
If you’re going to write reports and/or theses with Gummi you should look for a color scheme that you like. Right now I’ll try Jacob Pennock’s CandyMountain for a while. The editor pane of Gummi is the GtkSourceView from the GTK – so you can use any color scheme that works for it. Gedit also uses
GtkSourceView. There are a few nice styles in Gnome’s GTK wiki, but you can find some scattered across the web.
The color schemes are plain text xml files. You can either install them via the
gedit preferences or copying the xml files into this directory (you may have to create it first):
You can then try and select the color scheme in the Gummi preferences (you may have to restart Gummi to see the new schemes):
Edit > Preferences > Fonts & Colors