Skip to content

{ Category Archives } programming

HSGrep benchmarking

Few days ago, I rewrote sgrep in Haskell. I was curious to know how it compares to grep in term of execution speed. In particular, I was interested to verify that hsgrep scales as O(log n), instead of O(n), with n being the size of the file analyzed. First of all, in order to have [...]

Tagged , ,

HSGrep: Sorted Grep in Haskell

As an exercise to learn Haskell, I wrote a specialized grep to work on sorted files. It uses binary search to scan a text file and print all the (consecutive) lines that start with a user defined string. My program is a rewrite of sgrep in Haskell: I called it HSGrep. Code is available on [...]

Tagged , ,

git pre-commit hook for python and javascript

Following a recent discussion on HN, I decided to share my own git pre-commit hook. It’s a work-in-progress, so you can find the most updated version here. To use it, just drop it in your .git/hooks directory. At every git commit, it will run pep8 and pyflakes on .py files, and gjslint on .js files.

Tagged , , , , , ,

Haskell and VIM

I had to tinker quite a bit before finding a decent configuration for vim to edit Haskell files. Here are the packages and config files I use: Haskell mode: interaction with Haddock, compiler integration, and other general settings. Indentation: proper source code indentation. More configs to enforce good style (no tabs, tabstops, etc.):  You can [...]

Tagged , ,

http client in haskell

To try to make sense of this, I decided to write a “simple” http client in Haskell in as many styles as I could think of: it’s a long time since I found so many new concepts while studying a new programming language…

Tagged , , ,

pylint.vim

vim + python + pylint is a powerful combination, especially when using this vim plugin. unfortunately, the script stopped working after a pylint upgrade: you can download the fixed version here! if interested, the patch looks like this:

Tagged , ,

md5 vs sha1 in python

If you are interested to know if the myth about MD5 being faster than SHA1 holds for Python, here is the result I got on my box: Result is: MD5 is faster, but only just, in Python 2.7.2. Considering that MD5 is broken, I think I’ll use SHA1…

Tagged , , , ,

sleepsort

to honor the funniest thread in months, here is a lisp implementation of sleepsort!

Tagged ,

javascript templating benchmark

there are many popular libraries to do templating in javascript. the most popular are: JQuery Template Pure Template Resig Template Trimpath Template JQote2 Template I decided to benchmark them, so I created a simple “hello world” test. you can find it here. as usual, the results are interesting. here are, on my box: Firefox 3.6 [...]

time to go home!

better go before I break it…