I came across an interesting project which making solar lights with plastic bottles and installing them in poor housing communities: Liter of Light. 😀
Category: English
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. 🙁
Scale of the Universe (Enhanced)
There is a nice enhanced and interactive version of the old Powers of 10 video … 😀
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
😀
Download Portal 2 OST for Free
Untill today I didn’t know that you can download the Portal 2 OST from the official homepage for free … 😀
Paper: Does Terrorism Really Work? Evolution in the Conventional Wisdom since 9/11
Bruce Schneier points to a new paper by Max Abrams titled “Does Terrorism Really Work? Evolution in the Conventional Wisdom since 9/11“. From the abstract:
The basic narrative of bargaining theory predicts that, all else equal, anarchy favors concessions to challengers who demonstrate the will and ability to escalate against defenders. For this reason, post-9/11 political science research explained terrorism as rational strategic behavior for non-state challengers to induce government compliance given their constraints. Over the past decade, however, empirical research has consistently found that neither escalating to terrorism nor with terrorism helps non-state actors to achieve their demands. In fact, escalating to terrorism or with terrorism increases the odds that target countries will dig in their political heels, depriving the non-state challengers of their given preferences. These empirical findings across disciplines, methodologies, as well as salient global events raise important research questions, with implications for counterterrorism strategy.
I hope my university has access to it …
Boost your creativity by acting out metaphors
Boost your creativity by acting out metaphors … scientifically proven 😉
Introspective and Intellectually Cautious
Hilarious quote comparing medieval Europe to Al-Andalus:
(talking about how Muslim scholars studied ancient Greek philosophy and the medieval Christian’s suspicion towards pagan texts)
Muhahaha … “introspective and intellectually cautious” … this cracked me up 😀
Al-Ghazali
I just heard a very (and I mean VERY) interesting talk by Hamza Yusuf about Imam Al-Ghazali … his life, his works, his understanding, his importance. 🙂
On another occasion I found an interview with Dr. Timothy Winter about him.
… I really have to read more … 😉