External content


jQuery plugin for equalizing the height or width of elements.

Why your browser loses cookies when following hyperlinks from an Excel spreadsheet or Word document

Microsoft Office pre-fetches hyperlinks using an internal DLL (which doesn't know about your cookies), follows all redirects and opens your browser with the result. This is because of stupidity.

The "fix" is to not redirect but just render a text like "access denied" with 200 OK when you see that request.env['HTTP_USER_AGENT'].include?('ms-office').

External content

occ/TraceKit · GitHub

Tracekit is a JavaScript library that automatically normalizes and exposes stack traces for unhandled exceptions across the 5 major browsers: IE, Firefox, Chrome, Safari, and Opera.

Git: In an (interactive) rebase, find out which commit you are currently working on (until version <

The following stopped working with git version or higher

When you are using git rebase and are currently editing a commit (due to a conflict, for example), you may want to know the current commit. [1]\
Luckily, there is lots of useful stuff in the .git directory.

Commit hash that you are currently applying
cat .git/rebase-merge/stopped-sha

Useful if you want to inspect the original commit for its changes, for example like:

git show `cat .git/rebase-merge/stopped-sha`
Current commit's message

jquery-timing - a jQuery plugin you should know about

jquery-timing is a very useful jquery plugin that helps to remove lots of nested anonymous functions. It's API provides you some methods that help you to write readable and understandable method chains. See yourself:


// before
$('some').children().doSomething().hide(function() {
window.setTimeout(function() {
}, 1000);
}, 500);

// after

Git: Twelve Curated Tips And Workflows From The Trenches

This article contains:

  • Making ‘git diff’ wrap long lines
  • Set a global proxy
  • Clone only a specific branch
  • Diff file against remote branch
  • List all deleted files in the repository
  • Search for a string in all revisions of entire git history
  • Apply a patch from another (unrelated) local repository
  • Making a more recent branch the new master
  • Adding an initial empty commit to a branch to allow full rebase
  • Zero a branch to do something radically different
External content

King of Nothing, the DCI paradigm is a scam

I’ve worked on huge applications in Ruby and Rails before. I very much want to believe in DCI, but I’m having a hard time accepting the promises of Clean Ruby when it seems like the work on this paradigm is half-done. If it weren’t so oversold and hyped, I think I’d be more patient, but right now I’m just frustrated and confused.

External content

randym/axlsx · GitHub

Axlsx is an incredible gem to generate "Office Open XML" spreadsheet files (XLSX). Does not break on large spreadsheets and supports a ton of features like graphs.

API looks mature and existing code is easy to migrate when coming from the spreadsheet gem.
The documentation of some methods is a bit out of date, but you'll find your way around the gem's code.

No support for reading files, however. :( If you want to open XLSX spreadsheets (for example to confirm your output in tests), you can use [roo](h…

Force GitHub Pull Requests to update the diff against its target branch

When you have a Pull Request on GitHub that includes commits from another Pull Request, you will still see them after the "child" PR has been merged. Unfortunately, GitHub won't automatically update the diff (or commit list).

Here is what worked for me:

  1. Check out the target branch
    1. git checkout my-target-branch
    2. Make sure you are up to date against origin (e.g. git fetch and git status). You should be 0 commits ahead or behind.
  2. Add and commit a file
    1. touch .please-update
    2. git add .please-update
    3. `gi…

Twinkle: Mark window as "demands attention" or show a text notification on incoming call

Mark window as "demands attention"

Install wmctrl through your package manager, i.e.

sudo apt-get install wmctrl

Download the attached script and mark it as executable.

Then go to Edit -> User Profile -> Scripts and add the script for "call incoming".

Text notification

You can additionally get a notification bubble in your window manager, by adding

notify-send "Eingehender Anruf..."

to the script.

How to provoke Selenium focus issues in parallel test processes

As attachments to this card you will find a Cucumber feature and supplementing step definition that you can use to provoke Selenium focus issues that only occur when two focus-sensitive Selenium scenarios run at the same time (probably with parallel_tests). This can help you to detect and fix flickering integration tests.

The attached feature works by going to your root_path and focusing a random form element every 5…

Analyse TCP/UDP traffic with netcat

Sometimes you want to see what data you get through a TCP or UDP connection.
For example, you want to know how a HTTP Request look like.

It's very easy with netcat.

Example to listen on port 80 and the output gets to stdout.

sudo nc -kl 80

It's also possible write it into a file:

sudo nc -kl 80 > output.txt

If you use Ports higher than 1000 you don't need to be root (sudo).

Git blame: How to ignore white-space modifications

When doing a git blame, git will blame the person who added or removed white space in a line (e.g. by indenting), not the person who originally wrote the code.

Say git blame -w to ignore such white-space changes. You want this. \
Note that you can also use it when diffing: git diff -w.


Consider this method, created by a user in commit d47bf443:

def hello

$ git blame foo
d47bf443 (Arne Hartherz 2012-12-19 14:44:38 +0100 1) def hello
d47bf443 (Arne Hartherz 2012-12-19 14:44:38 +0100 2…

Consul 0.4.2 improves querying of nil powers

Previous versions of Consul exhibited strange behavior when querying a power that returns nil.

Consul 0.4.2+ behaves as expected:

power.notes # => returns nil
power.notes? # => returns false
power.notes! # => raises Consul::Powerless
power.note?(Note.last) # => returns false
power.note!(Note.last) # => raises Consul::Powerless
External content

lorempixel - placeholder images for every case

Generate dummy images for a given dimension and topic.

External content

Responsive & Touch-Friendly Audio Player | Codrops

A jQuery audio player plugin that is responsive and touch-friendly. The UI is css-only, no images used.

Simple memory information widget for the Xfce panel (or anywhere else where you can run a shell command)

I was unsatisfied with the existing memory status applets for the Xfce panel, so I wrote a little shell script that shows me just the information I need. Now I use it via a "Generic Monitor" panel applet.

Put this at some place like ~/bin/memory-info and chmod +x it:

meminfo=`free -m | grep 'Mem:'`

used=`echo $meminfo | cut -d" " -f3`
total=`echo $meminfo | cut -d" " -f2`
cached=`echo $meminfo | cut -d" " -f7`

really_used=`expr $used - $cached`

echo "Memory usage: $really_used / $total (Cached: ...

Git: Add all changes

A nice way to stage absolutely all changes (edits, additions, deletions):

git add --all
3267 cards