Geek Tools


  • Custom Discord RPC

    This little tool, developed by Bumbleboss, lets you set a nice custom rich presence in your Discord game status. You can set different titles, add an icon and more details. Here you can find out more about how to use it. Click the title to get an overview of the releases you can download.

  • Convert PNG to ICO

    A small online tool you can convert PNG files to ICO or ICNS. Very handy if you just made your own app logo.

  • Pattern Maker

    Web app that lets you put together your own pattern from smaller icons or symbols. There are preset icons but you can also upload custom ones. Definately fun to use.

  • Online TeX Editor

    You ever wanted to embed your funny TeX-formatted equations on your website or you just want it as an image because the Word equation editor sucks like hell? Then this is most likely what you've been searching for.

  • Top 100 iTunes Charts

    Keep track of the current top 100 songs on iTunes. Just in case you like the stuff running on radio 24/7 and want to stay up to date... Anyways it's interesting to see what le world is listening to.

Photo Tools


  • The Photographer'S Ephemeris

    A map that shows you the sun's and moon's position at any time as well as of sunrise and sunset. So basically a must-have tool for searching good photo spots and planning your next trip.

  • Instagram Hashtag Optimizer

    Finding good hashtags for your new swaggy instagram posts can take you quite some time. To speed up your workflow and to optimize the hashtags' efficiency you can simply type some keywords and filter out the best of the best. Check out the rest of the site as well, its pretty cool!

Mac Tools & Commands


  • Go2Shell

    Install this and you get a finder integration that lets you jump straight into the shell at the current directory. That helps. More than you think.

  • DevDocs Desktop app

    Its unofficial but super cool. No need to rage about finding DevDocs in a ton of browsertabs, just fire up the app. No limitations compared to the website.

  • Display Path in Finder's Title Bar

    To show the full path instead of just the current folder in the title bar of your finder, just enter those lines in your terminal:

    ~/$  defaults write com.apple.finder _FXShowPosixPathInTitle -bool true
    ~/$  killall Finder

    If you ever want to change it back, enter the same thing again, but change the true at the end of the first line into a false.

  • Disable ReportCrash

    If you experience a high CPU-usage of the probably-helpful ReportCrash that fires up everytime Photoshop gives up living, you can disable that feature manually. Here's how:

    ~/$  launchctl unload -w /System/Library/LaunchAgents/com.apple.ReportCrash.pl        ist
    ~/$  sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.ReportCr        ash.Root.plist

    The second line is basically the same as the first but makes sure, ReportCrash is also disabled for applications you're running with higher permissions. You may be asked for root's password to execute it. To enable ReportCrash again, run the same lines with load instead of unload in the beginning.

Code Snippets


  • Method to get object length in JavaScript

    Object.getLength = function(obj) {
      let iLength = 0;
      for(var sKey in obj)
        if(obj.hasOwnProperty(sKey))
          iLength++;
      return iLength;
    };
  • Sort 2D array for specific element in JavaScript

    function sortArr(arr, sort) {
      let swapp,
        n = arr.length-1,
        s = sort-1 || 0;
      do {
        swapp = false;
        for(var i = 0; i < n; i++) {
          if(arr[i][s] < arr[i+1][s]) {
            let tmp = arr[i];
            arr[i] = arr[i+1];
            arr[i+1] = tmp;
            swapp = true;
          }
        } n--;
      } while(swap);
      return arr;
    };
  • Print n first primes in JavaScript

    function prime(x) {
      let isP = true;
      if([2,3].includes(x))
        return isP;
      let half = x % 2 != 0 ? (x - 1) / 2 : x / 2;
      for(var i=2; i<=half; i++) {
        let div = x / i;
        if(Math.round(div) == div) {
          isP = false;
          break;
        }
      }
      return isP;
    };

    function print(n) {
      let c = 1, i = 2;
      while(c <= n) {
        if(prime(i))
          console.log(c++ +'/'+ n +': '+ i);
        i++;
      }
    };

Coding Activity