Combine Lego™ bricks and 3D printing for awesomeness

I wrote about the awesomeness of Lego™ before on this very blog. Someone had an even better idea:

  1. Create a 3D model of what you want to create
  2. Replace most of the geometry with Lego™ bricks
  3. Only print the necessary custom parts and leth those have Lego™ knobs at the right positions so that they can be firmly integrated with the Lego™ bricks.
  4. Save a ton of money AND time in the process 🙂

Luckily, there is a tool that will help you a lot with steps 2 and 3. A great idea! Watch their video:

Official project page: faBrickation

.gitignore keeps your repository sane – some helpful resources

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 .DS_Store!).

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…).

Reference or use git/github-managed code in your git project

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 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
git commit

# add libuv to the project
git submodule add libuv
git status

# update the submodule
git submodule init
git submodule update

# enforce the version we want to use (tag v0.10.22)
cd libuv/
git reset --hard v0.10.22
cd ..
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!

Useful Bluetooth Low Energy Android Apps (for free)

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.

Nordic Semiconductor

BLE scanners/detectors

Texas Instruments SensorTag related

Lego FTW

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:

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)
  • vase