Automated logging of TBs and GeoCoins at GeoCaching.com

16 11 2009

I have taken up a new hobby called Geocaching some months ago, where you run around with a GPS device in order to find hidden “caches” along the countryside. One thing that you can find in these caches are so-called “trackables” which own a tracking number. You enter this tracking number on the Geocaching.com website to claim that you have seen and maybe have taken the trackable item.

When attending an event together with other Geocachers, the number of trackable items present can become really big – there were over 80 of them for the last get-together that I went to. Since I don’t want to track all of these items by hand, I remembered about the possibility to automate web browsers with Selenium. After I got a list of the tracking numbers, I wrote a small script to handle the “Discover It!” requests to the GC.com website.
Read the rest of this entry »

Advertisements




Help with regular expressions

4 05 2008

Mastering regular expressions can quickly become a non-trivial task. While good text editors like e.g. Kate, KWrite or TextPad have good support for regular expressions, it can be difficult to construct complex regexps, and even more so to find out why they don’t work as intended if they fail.

I have found two resources which help with that: first, the Javascript Regular Expression Validator from net shift media, which takes a regular expression from you and provides two input fields for tests which can be matched against the expression – instantly, no need to press any buttons and wait for an answer. This is very handy to find out if there was a typo in your logic somewhere.

If you need more help in debugging your expressions, then Dr. Edmund Weitz’s RegEx Coach might be able to help. This Windows program (there’s an outdated, discountinued Linux version, too) will take you through the evaluation of your regular expression, step by step:

The Regex Coach screenshot





Educational videos on Reverse Engineering

30 10 2007

You have to debug a program. How can this be done? Two very good resources show you how to do it in video:

Lena’s “Reversing for Newbies” shows you how to use the free debugger OllyDbg. Just watching the very first video already teaches you much about using the debugger.

The Reverse Code Engineering Video Website uses the IDA debugger on the same example programs as above, showing how this graph based debugger can help to understand a program. There’s another video on IDA usage on the official website, too.





Laser graffiti

19 09 2007

Like many others, as soon as I saw the demo of Philips’ Drag and Draw gadget, I instantly wanted one of those. Now I saw that a group called the Graffiti Research Lab, inventors of the LED Throwies, created an ingenious device which resembles the Drag and Draw gadget, but in a setup which is a whole lot bigger: They created a Laser Tag system which can be used to project light graffiti on a surface, and you can draw in realtime via laser markers. (second half of the movie) What’s more, the source code is open, so people can build their own Laser tag system! Awesome! 😀





Magick++ in KDevelop

7 12 2005

For my second project in KDevelop I wanted to use the Magick++ image library from the Imagemagick project. If you emerge imagemagick it will be installed for you automatically. Getting it to work with KDevelop requires just a few turns. Read the rest of this entry »





First steps in KDevelop

3 11 2005

KDevelop is being a bit of a bitch right now. All I did is start a new project, used the C++ Hello World template and tried to build it. What I got was the following:
*** [Gentoo] sanity check failed! ***
*** libtool.m4 and ltmain.sh have a version mismatch! ***
*** (libtool.m4 = 1.5.20, ltmain.sh = 1.5a) ***

and a reminder that I should use libtoolize --copy --force and contact the maintainer of the package.

The gentoo devel mailinglist and the KDevelop FAQ don’t offer any more help than that. Do I really have to do this step manually for every new project that I want to create? Isn’t it possible to automate this step?