<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:admin="http://webns.net/mvcb/"
	xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
	xmlns:content="http://purl.org/rss/1.0/modules/content/">
	<channel>
		<title>
			CoffeeBreak
		</title>
		<link>
			http://www.neverpanic.de/blog/
		</link>
		<atom:link href="http://www.neverpanic.de/blog/rss2/" rel="self" type="application/rss+xml" />
		<description>
			CoffeeBreak, the neverpanic.de blog
		</description>
		<dc:language>
			en
		</dc:language>
		<dc:creator>
			Clemens Lang
		</dc:creator>
		<dc:rights>
			Creative Commons Attribution-NonCommercial-ShareAlike 2.0 Germany License
		</dc:rights>
		<dc:date>
			2011-08-10T23:00:34+00:00
		</dc:date>
		<admin:generatorAgent rdf:resource="http://expressionengine.com/" />
		
		<item>
			<title>
				whatthecommit.com git hook
			</title>
			<link>
				http://www.neverpanic.de/blog/single/whatthecommit.com-git-hook/
			</link>
			<guid>
				http://www.neverpanic.de/blog/single/whatthecommit.com-git-hook/#When:17:23:21Z
			</guid>
			<description>
				whatthecommit.com generates commit messages for the lazy… but being one of the laziest people, this isn&#39;t just easy enough!I currently use Git for most of my version control needs. I&#39;m keeping all of my hand&#45;ins for university under version control to be able to sync them between university and my laptop easily and to make it easy for others to contribute (and sometimes they actually do!). But those of you using version control systems know what the biggest problem with version control is: Thinking of a commit message. Wait no moar! The ultimate solution is here!
whatthecommit.com is a website that provides you with a fresh commit message every time you load it. So all you have to do, is copy and paste the line into your commit window. Still too much work? That&#39;s why git comes with hook scripts. Paste the following code in .git/hooks/prepare&#45;commit&#45;msg in your working copy and make the file executable and you&#39;ll be provided with a wonderful commit message every time you type git commit automatically!
#!/bin/sh## A hook script to prepare the commit log message.# Called by &amp;quot;git commit&amp;quot; with the name of the file that has the# commit message, followed by the description of the commit# message&#39;s source.  The hook&#39;s purpose is to edit the commit# message file.  If the hook fails with a non&#45;zero status,# the commit is aborted.&amp;nbsp;case &amp;quot;$2,$3&amp;quot; in        ,|template,&#41;                line=$&#40; wget http://whatthecommit.com/ &#45;O &#45; 2&amp;gt;/dev/null | grep &#45;o &#39;&amp;lt;p&amp;gt;.*$&#39; | sed &#39;s/&amp;lt;[^&amp;gt;]*&amp;gt;//g&#39; &#41;                file=$&#40; sed &#39;1d&#39; &amp;quot;${1}&amp;quot; &#41;                echo &amp;quot;${line}&amp;quot; &amp;gt; &amp;quot;${1}&amp;quot;                echo &amp;quot;${file}&amp;quot; &amp;gt;&amp;gt; &amp;quot;${1}&amp;quot;        ;;        *&#41; ;;esac
			</description>
			<dc:subject>
				Linux
			</dc:subject>
			<dc:date>
				2010-07-03T17:23:21+00:00
			</dc:date>
		</item>
		
		<item>
			<title>
				Subversion Property Copy
			</title>
			<link>
				http://www.neverpanic.de/blog/single/subversion-property-copy/
			</link>
			<guid>
				http://www.neverpanic.de/blog/single/subversion-property-copy/#When:22:03:53Z
			</guid>
			<description>
				Although there is a couple of Subversion GUIs for Macs, I usually use the CLI. I manage all source code I write during my studies using Subversion and usually add revision number and date of last checkin to the file using the svn:keywords&#45;Property. However, I always forget the set of keywords I usually add: Author Date Id Revision URL. Unfortunately, there is no way to copy a property from one file to another in the standard subversion binary. There is, however, a little shortcut:
svn propset $propertyName &amp;quot;`svn propget $propertyName $fromFileName`&amp;quot; $toFileName
Typing this monster isn&#8217;t any userfriendly at all, though – a little .bashrc magic does the trick:
# add svn propcopyfunction svn&#40;&#41; &#123;    case &amp;quot;$1&amp;quot; in        pc|propcopy&#41;            propName=$2            fromFile=$3            shift 3            `which svn` propset $propName &amp;quot;``which svn` propget $propName $fromFile`&amp;quot; $@        ;;        *&#41;            `which svn` $@        ;;    esac&#125;

Update: Thanks to Raim for the wildcard support. Using subversion auto&#45;props is an option for files, but unfortunately, auto&#45;props don&#8217;t work on directories yet.
			</description>
			<dc:subject>
				Linux
			</dc:subject>
			<dc:date>
				2009-02-15T22:03:53+00:00
			</dc:date>
		</item>
		
		<item>
			<title>
				A Friday 13th story
			</title>
			<link>
				http://www.neverpanic.de/blog/single/a-friday-13th-story/
			</link>
			<guid>
				http://www.neverpanic.de/blog/single/a-friday-13th-story/#When:14:32:36Z
			</guid>
			<description>
				Are you superstitious? Do you believe in Murphy&#8217;s law? I usually don&#8217;t believe in such things, but sometimes you start to have doubts…
This site is served by my own virtual server hosted by Carrot Servers in Austria. The hardware nodes running their servers are housed in one of Germany&#8217;s largest hosting company&#8217;s datacenters. However, three of their datacenters recently suffered from a power loss because of a defunct uninterruptible power source and a series of other unfortunate problems – a little over 12,000 servers were without power for a few hours.
However, it seems my vServer&#8217;s hardware node was damaged by the power loss; one of the hard disk drives in the RAID array was replaced after the outage. Yesterday, the worst&#45;case scenario came true: besides the hard disks, apparently the motherboard was also damaged causing the RAID controller to slowly corrupt the data on the drives. On Friday, 13th, my provider informed me data had been lost and the server will be swapped with a new machine.
Luckily, I did remember creating backup – and it happened to be a recent one (namely from Thursday, 12th). But as Murphy&#8217;s law states, things never work the way you expect them to work. In this case that meant that permissions were incorrect on the backup although I used rsync with the appropriate preserve&#45;permissions option. I&#8217;ve thus been busy reinstalling the software, uploading the files and databases and fixing their permission. As of now, all data has been successfully restored (blessing in disguise) and I&#8217;m supervising the server&#8217;s functions.
			</description>
			<dc:subject>
				Linux
			</dc:subject>
			<dc:date>
				2009-02-14T14:32:36+00:00
			</dc:date>
		</item>
		
		<item>
			<title>
				Backup a Linux server to a Windows PC while preserving user, group and permissions
			</title>
			<link>
				http://www.neverpanic.de/blog/single/backup-linux-server-to-windows-pc-preserving-user-group-permissions/
			</link>
			<guid>
				http://www.neverpanic.de/blog/single/backup-linux-server-to-windows-pc-preserving-user-group-permissions/#When:21:32:44Z
			</guid>
			<description>
				I moved my sites to a new virtual server at Carrot Server. Their offer is (imho) better than the one over at HostEurope, however there are some downsides: they don&#39;t have a rescue system yet (you better watch your step!) and there&#39;s no backup included.


 I can live without the rescue system, but no backup? No way.


 Since I don&#39;t have a dedicated Linux box around at home, I needed to store the backup on my Windows PC. There&#39;s a problem with storing files from a Unix system on Windows though: You&#39;ll lose the owner, group and permission data for the files, since the file systems supported by Windows can&#39;t store this information. A backup without this metadata is useless, though.

Finding a solution

 Some kind of container solution was needed. Tar archives support Unix permissions, however packing all files into a huge tar file would require transferring all data on every backup run. My internet connection at home is not T1, so transferring all data every time I do a backup is probably not a good idea (and it&#39;s perfectly useless, too).


 There&#39;s rsync — the state&#45;of&#45;the&#45;art tool to transfer only the changes (yes, changes, not only changed files; very useful if you have some multiple GB files around). So combining rsync and tar seems the way to go.


 I could have packed all files into a huge tarball and rsynced it to my PC (effectively only tranferring the changes), but that would mean the tarball would need to be stored at the server (at least temporarily). Now imagine the disk is 95% full and you&#39;re trying to pack the whole filesystem — we have a problem here.


 Fortunately I&#39;m not the first one facing this problem: Thanassis Tsiodras outlines a way to backup your Linux server preserving permissions to a Windows PC using a loop&#45;mounted file system on a Samba share.
 This technique would require a Linux box, though. Bummer! (If I had a Linux box around, I&#39;d backup to it directly).
			</description>
			<dc:subject>
				Linux
			</dc:subject>
			<dc:date>
				2008-08-24T21:32:44+00:00
			</dc:date>
		</item>
		
		<item>
			<title>
				Updating my Ubuntu Backup OS
			</title>
			<link>
				http://www.neverpanic.de/blog/single/updating-my-ubuntu-backup-os/
			</link>
			<guid>
				http://www.neverpanic.de/blog/single/updating-my-ubuntu-backup-os/#When:20:52:00Z
			</guid>
			<description>
				The guys over at Ubuntu released their new Version 7.10 (Ubuntu versions are named year.month) today. So I thought I&#8217;d upgrade my backup installation.
I always keep a Linux system on a separate hard disk. This is quite important for me, as it&#8217;s my only sheet anchor when I mess up my Windows installation or my hard disk crashes. This Linux system is a clean Ubuntu 7.04 Feisty Fawn with some Compiz desktop effects from a 3rd&#45;party&#45;repository &#45; no need for special software here, as I hardly use the system at all and Ubuntu comes with almost everything you usually need.

So Ubuntu 7.10, codename &#8220;Gutsy Gibbon&#8221; was released today, and as I always like to live at the edge, I thought I&#8217;d upgrade &#45; well, at least I tried. The update manager stopped responding multiple times when trying to download the updater script. A quick Google search, let&#8217;s see how the servers do this&#8230; there&#8217;s a command&#45;line tool called do&#45;release&#45;upgrade, maybe this one is more stable?
First it seemed it was not, since it took about 5 minutes just to find that there&#8217;s an upgrade, but it did the job or at least does it until now, and I&#8217;m already at downloading packages. At the moment of writing, I&#8217;m downloading libcroco3 (whatever this is &#45; funny name, though).

New post will follow once the system is running Gutsy Gibbon.
			</description>
			<dc:subject>
				Linux
			</dc:subject>
			<dc:date>
				2007-10-18T20:52:00+00:00
			</dc:date>
		</item>
		
		<item>
			<title>
				Experiences with ClipShare Pro 2.0
			</title>
			<link>
				http://www.neverpanic.de/blog/single/experiences-with-clipshare-pro-20/
			</link>
			<guid>
				http://www.neverpanic.de/blog/single/experiences-with-clipshare-pro-20/#When:12:48:00Z
			</guid>
			<description>
				There&#8217;s quite a market for YouTube clones, it seems. I&#8217;ve been recently working with three of these scripts, namely the commercial ClipShare Pro 2.0, the free PHPmotion and the Real Estate Video Upload Software I wrote a while ago. My experiences with these scripts are quite mixed, though.
Requirements
All of the scripts are based on PHP and MySQL &#45; there might be other solutions out there, but since my clients all had the traditional LAMP setup I didn&#8217;t bother searching for alternatives.
For encoding, all of the scripts named use the same combination of MEncoder, ffmpeg to support the Flash video format, the ffmpeg PHP extension and FLVTool2.
Installing these software packages isn&#8217;t that hard unless you&#8217;re on something different than a .deb&#45;based Linux system: The Debian multimedia repository provided me with the MEncoder and FFmpeg packages, I installed Ruby to run FLVTool2 (which is a Ruby script) and installed ffmpeg&#45;php from Atomo64&#8217;s Debian Repository (thanks to Raphaël for this one).
If you&#8217;re on another system, you might end up with a lot of compiling, though.
Once you got all these things in place and made sure your php.ini settings allow the exec(), shell_exec() and system() functions you can start doing the real installataion.
			</description>
			<dc:subject>
				Web Development, Linux
			</dc:subject>
			<dc:date>
				2007-10-14T12:48:00+00:00
			</dc:date>
		</item>
		
	</channel>
</rss>
