|
Projects
My personal projects
Featured Those are some of the projects and scripts I've developed over the years. Unless specified all this software is licensed under the GNU General Public License (GNU-GPL) v3. Feedback is appreciated: tokland AT gmail.com
JavascriptType-ahead-find extension for Chrome/ChromiumType-ahead-find is an extremely useful accessibility feature (a core functionality in major browsers like Firefox or Safari) which is not implemented in Chrome (nor planed to be). So, until Chromium developers come to their senses, we will have to use an extension. http://code.google.com/p/chrome-type-ahead/ PythonLangBotsLangBots is a framework to make programmable bots fight in a battlefield. The framework itself is written in Python and Pygame, but participants may implement their bots in the programming language they like. http://code.google.com/p/langbots/ PyShengPySheng downloads a book from Google Books and saves the PNG images for each page (and a unique PDF). It can be run either from the command-line or using a simple graphical interface. It should work out-of-the box for Unix systems (GNU/Linux, BSD) and (with minor modifications) for Windows. http://code.google.com/p/pysheng Youtube-uploadUpload videos to Youtube from the command-line (splitting the video if necessary): http://code.google.com/p/youtube-upload SpynnerProgrammatic web browser module for Python with Javascript/AJAX support based upon the QtWebKit framework. http://code.google.com/p/spynner/ Simple subtitles Python libraryCurrently this module only scales (adjusts fps timing) for SRT subtitles. Useful for those subtitles that do not sync with video due to different frames-per-second. For example, to convert a 23.976fps subtitle to a 25fps video: $ python subtitles.py 25/23.976 file.srt http://code.google.com/p/tokland/source/browse/trunk/subtitles Sudoku solverYet another brute-force sudoku solver, but written following Functional Programming paradigm: http://code.google.com/p/tokland/source/browse/#svn/trunk/sudoku Hotkeys for the X-WindowXhotkeys provides a simple and easily configurable hotkey launcher for the X-Window System, binding keys and mouse buttons to configurable commands. It should work on all desktops (Gnome, KDE, ...) available for the GNU/Linux operating system. Configuration files can be modified manually or using a graphical GTK+ configurator. http://xhotkeys.googlecode.com Asterisk PhonepatchThe term phonepatch usually refers to the hardware device used to connect a radio transceiver and a phoneline. Asterisk-phonepatch do that task, but it's mainly software, as it uses the Asterisk software PBX. http://www.nongnu.org/asterisk-phpatch RPN calculatorA Python command-line interactive Reverse Polish notation calculator: http://tokland.googlecode.com/svn/trunk/rpn/rpn.py Extract audio from a CDExtract/rip audio tracks from a CD (people used to do that, before the P2P era) with song titles obtained from Gracenote (formerly CDDB). http://tokland.googlecode.com/svn/trunk/cd2ogg/cd2ogg.py Automatic SSH backlinksThe SSH protocol is very useful to create secure port-forwarding between computers. If you need permanent SSH links (typically with some forwarded ports), sshlink may be useful to you. http://www.nongnu.org/sshlink/ Simple math game solverGiven a bunch of numbers, and using the four basic operations (add, subtract, multiply, divide), find -or be as close as possible to- another given number. Spanish readers will recall it from the popular Cifras y Letras TV quiz show. http://tokland.googlecode.com/svn/trunk/cifras/cifras.py $ python cifras.py 3 7 10 50 100 8 546 546 = ((((50+7)*8)-10)+100) Also, a Haskell implementation: http://tokland.googlecode.com/svn/trunk/cifras/cifras.hs Pyeuler ProjectThe Euler Project proposes some mathematical problems to be solved using any programming language. In this wiki, we see and discuss solutions using Python and functional programming. Python is not a functional-language, but it was interesting anyhow: http://github.com/tokland/pyeuler Uya Wifi router web interfaceOSPF Router Configurator with a web interface developed with CherryPy. UTM converterPython module to convert UTM to/from Latitude-Longitude coordinates. http://tokland.googlecode.com/svn/trunk/utm/utm.py Colorize regular expressions in filesSimple script to Detect and colorize regular expressions in files or standard input: http://code.google.com/p/tokland/source/browse/trunk/colorize/colorize.py Python FAQI mantain the official FAQ page for Python-es mailing list. http://python-es-faq.wikidot.com/ RubyYaml2csvTransform YAML file into CSV and backwards (useful for I18n translations). http://github.com/tokland/yaml2csv ShellFile-sharing downloader/uploaderBash command-line downloader and uploader for some of the most popular file sharing websites. It works on UNIX-like systems and currently supports Megaupload, Rapidshare, 2Shared, 4Shared, ZShare, Badongo and Mediafire: http://code.google.com/p/plowshare/ Megaupload downloader (free-download only)Standalone script to download from Megaupload (no account required). http://code.google.com/p/tokland/wiki/MegauploadDownloader Loop over a commandThis seems to be a hole in the otherwise extremely complete UNIX toolset: a command to loop over commands until they succeed. This is a simple Bash implementation of the tool: http://code.google.com/p/tokland/source/browse/trunk/tools/loop.sh Very useful to make sure that calls to network-tools (rsync, wget, ...) really succeed. Download from Google BooksDownloads a book (that's it, all the images) of a book in Google Books. http://tokland.googlecode.com/svn/trunk/google-books/download_google_book.sh Bootstrap an Arch LinuxBootstrap a base Arch Linux system where you can chroot to. http://tokland.googlecode.com/svn/trunk/archlinux/arch-bootstrap.sh Convert anything to MP3Well, convert anything-that-mplayer-can-play to mp3. http://tokland.googlecode.com/svn/trunk/mp3/mplayer2mp3 Download BBC radio episodesDownload radio episodes (they use Adobe Flash) from the BBC website. http://tokland.googlecode.com/svn/trunk/bbc/download_episode.sh English pronunciationPlay English words (and cache them) using The Free Dictionary webpage. http://tokland.googlecode.com/svn/trunk/pronounciation/pronounce.sh Convert FLAC+CUE or APE+CUE to FLACUse this simple shell script to convert and split a unique, big APE or FLAC audio file to many FLAC files (the CUE file needed). http://tokland.googlecode.com/svn/trunk/flac/ape2flac WebsitesBicingInfoAn email & SMS alarms Rails website for Bicing Barcelona. The Ruby module to get Bicing Barcelona occupations is hosted in github: http://github.com/tokland/bicingbcn $ gem sources -a http://gems.github.com # (you only have to do this once) $ sudo gem install tokland-bicingbcn MiscellaneousArchlinux AURMy packages at the Archlinux User Repository: http://aur.archlinux.org/packages.php?SeB=m&K=tokland RAE Spanish dictionaryDownload and process DRAE contents. Words list and definitions (HTML, SQL and Dictd files). (Spanish page) http://code.google.com/p/tokland/wiki/DiccionarioRAE My 2-cents in social programming siteshttp://stackoverflow.com/users/188031 http://snippets.dzone.com/user/tokland http://gist.github.com/tokland |