Visualize Your Password Reuse

There is a nice Firefox add-on that lets you visualize your password reuse.

Green dots (nodes) are passwords, blue dots connected to them are all the websites you use this particular password on. If two passwords are similar but not the same they are connected by orange edges.

My password reuse visualized

My password reuse seems quite low except for the orange spot in the middle and the small cluster in the lower left. 🙂

Get rid of OS X ‘Quarantine Events’

So it seems OS X keeps track of all your downloads (even if you are using the Incognito/Private Browsing mode of your browser).

It stores the information in the following files:

  • ~/Library/Preferences/com.apple.LaunchServices.QuarantineEventsV2 on Lion
  • ~/Library/Preferences/com.apple.LaunchServices.QuarantineEvents on Snow Leopard

They are SQLite databases and can be manipulated with the right tools.

So to delete all the contents you need to open the file for your version of OS X (Lion in my case).

sqlite ~/Library/Preferences/com.apple.LaunchServices.QuarantineEventsV2

In the SQLite console delete all entries in the one table it contains.

delete from LSQuarantineEvent where 1=1;

This statement works in either file, but if you have Lion you might as well get rid of the old file.

rm ~/Library/Preferences/com.apple.LaunchServices.QuarantineEvents

60% Within 30min … Respect

Sony takes the cake in insensitive and shameful actions:

As much criticism as record labels receive for how they treat artists, Sony Music might take the cake. The company pulled the ultimate in shameful activities this weekend by raising the price on Whitney Houston’s Ultimate Collection album on iTunes and Amazon within 30 minutes of her death on Saturday.

Annoying Recent Items in the OS X Dock

OS X Lion has this annoying behavior that it will list an apps recently opened files when you open its dock menu. The ugly thing is you can’t turn this of globally and not all apps have their own options to turn this of or clear the list.

Well I have found a (ugly) way to do this, but it works:

rm ~/Library/Preferences/*.LSSharedFileList.plist

You will have to manually kill dock in the activity monitor for the changes to be applied.

But this does not mean that apps won’t produce these lists again. 🙁

You will have to manually deactivate recent files (e.g. for VLC):

defaults write org.videolan.vlc NSRecentDocumentsLimit 0
defaults delete org.videolan.vlc.LSSharedFileList RecentDocuments
defaults write org.videolan.vlc.LSSharedFileList RecentDocuments -dict-add MaxAmount 0

You will have to repeat this for any other application you don’t want to track recent files. 🙁

Datenschutz in Jobcentern

Interestante Einblicke in den Datenschutz bei jobcentern.

… mal konnten bei einer Suchabfrage nicht mehr als 100 Ergebnisse angezeigt werden. Letzteres kommentierte die BA mit der stets erheiternden Angabe, dass mehr Ergebnisse auf eine Suchanfrage keiner Software der Welt möglich wäre.

[…]

Das Jobcenter Pankow hatte auf die Anfrage des Bezirksverordneten (Anmerkung: irrtümlich wurde hier geschrieben, bei Herrn Schrecker handele es sich um einen Bezirksvorsitzenden, er ist jedoch ein Bezirksverordneter, dies wurde nachträglich korrigiert) eine ebenso einfache wie ernüchternde Antwort: Eine Löschung findet nicht statt, da diese technisch nicht möglich sei.

[…]

Dass das Jobcenter nun seinerseits bei der BA interveniert, ist allerdings Wunschdenken, die Tatsache, dass eine Datenlöschung technisch nicht machbar ist (sofern tatsächlich eine solche Unmöglichkeit vorhanden ist), ist für die Verantwortlichen offenbar ein Fakt, mit dem sich lässig leben lässt. Angesichts der Praxis vieler Jobcenter, den Datenschutz als Banalität abzutun bzw. zu verlautbaren, dass es Datenschutz für die Betroffenen ebenso wenig geben kann wie Privatsphäre (O-Ton: „Hier im Amt muss man eben die Hosen runterlassen, sonst gibt es nichts“), ist dies eine Ansicht, die nicht einmal mehr zu Kopfschütteln, sondern bei den meisten Betroffenen zu einem resignierten „Nichts Neues“ führt.

Teurer Atomstrom

Es gibt gerade “lustige” Artikel, wie die Atomlobby Frankreich energiepolitisch gegen die Wand gefahren hat und sich nun vom Atomausteiger Deutschland Strom importieren muss, damit es nicht zu großflächigen Stromausfällen kommt. m( Noch viel lustiger ist, dass die Energieversorger gerade üble Verluste einfahren, weil man vor den Wahlen im April die Strompreise nicht erhöhen will … lol.

Auszug:

So wird die Abschaltung von acht Atommeilern ohne Probleme ausgeglichen. Nach Angaben des Ministers sei bei dem sonnigen Wetter in den letzten Tagen eine Kapazität von bis zu 10.000 Megawatt an Sonnenstrom, eine Leistung von etwa zehn Kernkraftwerken, eingespeist worden. Dazu kommt aber noch der Windstrom und darüber seien weitere 11.000 Megawatt erzeugt worden. Es bestätigen sich nun die Prognosen, dass die Abschaltung der acht Atomkraftwerke die Energieversorgung nicht in Frage stellt. Bei einem weiteren Ausbau der erneuerbaren Energien könnten schnell auch die restlichen Meiler abgeschaltet werden, ohne wie in Japan verstärkt auf Öl oder Kohle zurückgreifen zu müssen.

Aus dem 2. Artikel:

Dass man die Kilowattstunde in Frankreich für 8 Cent verkauft, aber nun für 2 Euro einkaufen muss, kommt das Atomstromland nun sehr teuer zu stehen. Anders als von Energieversorgern befürchtet, muss nicht für zusammenbrechende Netze in Deutschland die “Kaltreserve” aktiviert werden, sondern um Strom nach Frankreich zu liefern, damit dort die Versorgung nicht zusammenbricht.

Chrome Beta for Android

I just installed Chrome Beta for Android and I must say it’s slick. It’s fast and its UI gets out of the way. Their solution for tab switching is nice too. It will keep as many tabs open as possible, it it needs to free space, it will save a screenshot and unload the tab. If you switch back you will see the screenshot while the page reloads in the background … nice trick I must say. 🙂

I hope Firefox Mobile can catch up with those tricks. Especially at start up. It seems Chrome uses the same trick for start up too. It must be, because it does not use Android’s built in browser engine so it must load its own at startup and this is no small piece … but they have solved this very well … kudos.

How to to set up Gitlab on Debian

Update: This howto is outdated. GitLab has changed a lot since it was written and a lot of it is not applicable anymore (e.g. since GitLab 5.0 it doesn’t depend on Gitolite any more and only needs one system user to be setup). So you are probably better off using the official installation guide. 🙂


If you want to install Gitlab on Debian you can easily follow their installation steps for Ubuntu. But be careful there are a few gotchas nobody is talking about.

The following steps will assume you are root.

Preparations

First make sure you have all the latest updates installed.

aptitude update
aptitude full-upgrade

Then we have to install a few packages.

aptitude install git-core wget curl gcc checkinstall libxml2-dev libxslt-dev sqlite3 libsqlite3-dev libcurl4-openssl-dev libc6-dev libssl-dev libmysql++-dev make build-essential zlib1g-dev libicu-dev redis-server sudo

Install Ruby

If you have not installed ruby you might want to consider using RVM.

Install it with

bash -s stable < <(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer)

It will be installed into /usr/local/rvm.

Ask it for the requirements for installing MRI and install them.

rvm requirements
aptitude install build-essentials ...

Install ruby and make it the default.

rvm install 1.9.3
rvm --default use 1.9.3

You should install a minimum set of gems. Add “passenger” if you are running Apache as your web server or “thin” if you are using Nginx.

gem install bundler

Install Gitolite

First of all we want to create a dedicated user for Gitolite and Gitlab. This will also be the user the Rails processes will be running in (this is important later).

adduser \
  --system \
 --shell /bin/sh \
 --gecos 'Git Version Control' \
 --group \
 --disabled-password \
 --home /home/git \
 git

Configure git for the new user.

sudo -u git -H git config --global user.email "git@your-server.tld"
sudo -u git -H git config --global user.name "Gitlab Admin"

Generate the ssh key for the git user. It will be saved in /home/git/.ssh/id_rsa. We will run Gitlab as the git user so it will use this key to authenticate against Gitolite.

sudo -u git -H ssh-keygen -t rsa -b 2048

Copy the public part of the key for later use when we setup Gitolite.

sudo -u git -H cp /home/git/.ssh/id_rsa.pub /home/git/rails.pub

After that we install Gitolite. In contrast to the Gitlab documentation I installed it from the Debian repositories.

aptitude install gitolite

It will not be fully installed as it will tell you something like:

No adminkey given – not initializing gitolite in /var/lib/gitolite.

So we do this by using dpkg-reconfigure and using our previously prepared account.
When prompted, answer as follows:

  • Gitolite user: git
  • repositories directory: /home/git
  • admin key: /home/git/rails.pub
dpkg-reconfigure gitolite

Now you should have Gitolite set up in the /home/git directory. But we will still have to tweak it a little.

Edit /home/git/.gitolite.rc and find the line that reads “REPO_UMASK = 0077;” and change it to “REPO_UMASK = 0007;” (i.e. three zeros).

You now need to change the directory privileges on the /repositories directory so Gitlab can use them

sudo chmod -R g+rwX /home/git/repositories/
sudo chown -R git:git /home/git/repositories/

Gitolite should be ready now.

You can test it by cloning the admin repository:

sudo -u git -H git clone git@localhost:gitolite-admin /tmp/gitolite-admin
rm -rf /tmp/gitolite-admin

Install Gitlab

Install a few prerequisites.

aptitude install python-dev python-pip redis-server libicu-dev
sudo pip install pygments

Clone Gitlab

git clone git://github.com/gitlabhq/gitlabhq.git gitlab
cd gitlab

We create a gemset for Gitlab to not pollute the global gemset. To automate this we will use a .rmvrc inside the Gitlab directory. RVM will make sure it will be loaded automatically whenever you enter the directory.

echo "rvm use 1.9.3@gitlab --create" > .rvmrc

cd into directory to make rvm use the .rvmrc and accept with “y”.

cd .. && cd gitlab

Check your current gemset with

rvm current

It should show something like “ruby-1.9.3-p0@gitlab”.

Now you might need to update Gitlab’s Gemfile (e.g. add the mysql2 gem for MySQL databases).

Now install the gems necessary for running Gitlab.

bundle install --deployment

You may need to run “bundle install –no-deployment” to pick up changes to the Gemfile and rerun the previous command.

Edit config/gitlab.yml to configure Gitlab. If you have followed this howto you should only need to update the “email” section and the “host” option in the “git_host” section.

You might want to edit config/application.rb and update the time zone and locale configurations.

Edit config/database.yml and set up your database configuration.

Now set up and initialize your database.

bundle exec rake db:setup RAILS_ENV=production
bundle exec rake db:seed_fu RAILS_ENV=production

Install with Passenger + Apache

(todo)

Install with Thin + Nginx

(todo)

Result

😀