<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Capi&#039;s Corner</title>
	<atom:link href="http://www.dont-panic.cc/capi/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.dont-panic.cc/capi</link>
	<description>Development, Network, Security, Ideas &#38; Opinions</description>
	<lastBuildDate>Tue, 09 Apr 2013 18:28:08 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>HOWTO: Fully encrypted vServer with Ubuntu 12.04</title>
		<link>http://www.dont-panic.cc/capi/2012/10/24/fully-encrypted-vserver-with-ubuntu-12-04/</link>
		<comments>http://www.dont-panic.cc/capi/2012/10/24/fully-encrypted-vserver-with-ubuntu-12-04/#comments</comments>
		<pubDate>Tue, 23 Oct 2012 23:09:07 +0000</pubDate>
		<dc:creator>Martin Carpella</dc:creator>
				<category><![CDATA[computer]]></category>
		<category><![CDATA[sysadmin]]></category>
		<category><![CDATA[encryption]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[vserver]]></category>

		<guid isPermaLink="false">http://www.dont-panic.cc/capi/?p=325</guid>
		<description><![CDATA[In this blog post I am going to demonstrate how to easily setup a virtual server at Hetzner. This setup will work for most other vServer operators as well, but some adjustments may be required. Prerequisite is that you are able to access the console of  the server while booting, as you need to be [...]]]></description>
				<content:encoded><![CDATA[<p>In this blog post I am going to demonstrate how to easily setup a virtual server at <a href="http://www.hetzner.de/">Hetzner</a>. This setup will work for most other vServer operators as well, but some adjustments may be required. <strong>Prerequisite</strong> is that you are able to <strong>access the console</strong> of  the server while booting, as you need to be able to enter the passphrase. You also need to be able to boot into some sort of &#8220;Rescue System&#8221; for the setup. This is no in-place setup. In Hetzner&#8217;s &#8220;<a href="https://robot.your-server.de/">Robot</a>&#8221; this is pretty easy.</p>
<p>One thing to consider regarding security: <strong>fully encrypting a vServer might seem&#8230; senseless</strong>, as the host operator can easily copy the whole memory of the VM while running and extract the key this way. True. There is no way around this fact. My reason for wanting a fully encrypted system is more of the way that I want to be sure that the data is encrypted on the storage system. I want to protect from being unable to ever fully wipe the persistent data from disk in case I cancel the VM, the VM gets moved to a new host, or a failed disk is sent in to the manufacturer. For me, this is a compromise I can accept. YMMV.</p>
<p>You can also try this HOWTO under <a href="https://www.virtualbox.org/">VirtualBox</a> with the <a href="http://www.sysresccd.org/">System Rescue CD ISO</a> images. Actually, that&#8217;s where I verified all steps are working.</p>
<p>So, let&#8217;s dive into the fun of the HOWTO. <strong>BEWARE! THIS TUTORIAL WILL WIPE ALL DATA ON YOUR VSERVER! I TAKE NO RESPONSIBILITY IF YOU LOSE DATA!  IT MIGHT ALSO NOT WORK FOR YOU. USE THIS AT YOUR OWN RISK!</strong></p>
<p>The following steps will partition the disk, setup LVM and LUKS, install Ubuntu 12.04 and prepare the system for reboot. Most parts can be copied line-by-line. Please beware that there are some parts in this tutorial that needs to be adjusted: UUIDs of partitions, hostname, username, and most important: network setup.</p>
<p><span id="more-325"></span></p>
<p>The following steps were performed for my <a href="http://www.hetzner.de/hosting/produktmatrix_vserver/vserver-produktmatrix">Hetzner VQ7</a> instance directly after ordering it:</p>
<p><strong>1. Reboot into Rescue System.</strong></p>
<p><strong>2. Partition the disk</strong> using <code>cfdiskd /dev/sda</code> or <code>fdisk /dev/sda</code>, whichever you prefer.<br />
You need two paritions, <code>sda1</code> with about 256MB, which needs to be marked bootable and which later will be mounted as <code>/boot</code> and <code>/dev/sda2</code> which should be the rest of the disk. This will be the LUKS container, which will then ultimately host the LVM with all other partitions.</p>
<p><strong>3. Create LUKS container on <code>/dev/sda2</code>:</strong></p>
<pre>apt-get install cryptsetup

cryptsetup luksFormat /dev/sda2</pre>
<p>At this point you need to confirm that you really want to wipe all data on <code>/dev/sda2</code> and then enter your encryption password, twice. Use a secure password here! Your entire encryption depends on this password.</p>
<p><strong>4. Open the LUKS container and initialize an LVM volume group on the decrypted partition:</strong></p>
<pre>cryptsetup luksOpen /dev/sda2 sda2_decrypt

vgcreate vg-encrypted /dev/mapper/sda2_decrypt</pre>
<p><strong>5. Create swap and root partitions in LVM and create file-systems:</strong></p>
<pre>lvcreate -L 2G -n swap vg-encrypted
lvcreate -L 10G -n root vg-encrypted

mkfs.ext2 /dev/sda1
mkswap /dev/vg-encrypted/swap
mkfs.ext4 /dev/vg-encrypted/root</pre>
<p>I normally tend to only use the space I will likely need in short-term for root, as on LVM and with <code>ext4</code> you can always re-size the file-system even while the file-system is mounted. Keeping unallocated space in the volume-group provides more flexibility, like being able to add other partitions on demand, or cool features like LVM snapshots which can be quite handy for doing crash-consistent backups of the host.</p>
<p><strong>6. Record UUIDs of partitions</strong><br />
You will need them later on:</p>
<pre>blkid /dev/sda1 /dev/sda2 /dev/vg-encrypted/root /dev/vg-enrypted/swap</pre>
<p>This will output something similar to the following:</p>
<pre>/dev/sda1: UUID="e789d69e-1a90-492d-8a1e-1f719a3b754e" TYPE="ext2"
/dev/sda2: UUID="f25ad69c-5c6e-4f35-b305-a8b193d58111" TYPE="crypto_LUKS"
/dev/vg-encrypted/root: UUID="d9f21bd7-508b-4404-916e-50fcc6b73f12" TYPE="ext4"
/dev/vg-encrypted/swap: UUID="e4c91de1-ad8d-4e05-9cee-2803d45840a2" TYPE="swap"</pre>
<p>I will use this UUIDs for the rest of this HOWTO, be sure to replace them with your&#8217;s, wherever they are used below.</p>
<p><strong>7. Mount target system for <code>debootstrap</code></strong></p>
<pre>mkdir -p /mnt/ubuntu &amp;&amp; \
mount /dev/vg-encrypted/root /mnt/ubuntu &amp;&amp; \
mkdir /mnt/ubuntu/boot &amp;&amp; \
mount /dev/sda1 /mnt/ubuntu/boot</pre>
<p><strong>8. Download and install <code>debootstrap</code></strong></p>
<pre>cd
wget 'http://archive.ubuntu.com/ubuntu/pool/main/d/debootstrap/debootstrap_1.0.42_all.deb' &amp;&amp; \
ar x debootstrap_1.0.42_all.deb &amp;&amp; \
cd / &amp;&amp; \
tar xzf /root/data.tar.gz</pre>
<p>This will download <code>debootstrap</code> 1.0.42 which can install Ubuntu 12.04 (Precise) and install it in root of the rescue system.</p>
<p><strong>9. Bootstrap Ubuntu onto the target disk</strong></p>
<pre>debootstrap --arch amd64 precise /mnt/ubuntu</pre>
<p>This will download and install the base packages for an Ubuntu 12.04 system and install it in <code>/mnt/ubuntu</code>, which is the root partition inside the encrypted LVM. This can take some time&#8230; Please also note that you need to bootstrap amd64 or the 32bit version, dependent of the rescue system you booted.</p>
<p><strong>10. Mount / bind virtual filesystems and enter chroot</strong></p>
<pre>mount -t proc none /mnt/ubuntu/proc
mount -o bind /dev /mnt/ubuntu/dev
mount -o bind /sys /mnt/ubuntu/sys

cp /etc/resolv.conf /mnt/ubuntu/etc/

LANG=C chroot /mnt/ubuntu /bin/bash</pre>
<p><strong>11. Configure disks, network, and hostname<br />
</strong><strong>Attention!</strong> This are now sections that you <em>MUST</em> adapt for your system!</p>
<pre>echo "
UUID=d9f21bd7-508b-4404-916e-50fcc6b73f12 / ext4 defaults,noatime 0 0
UUID=e789d69e-1a90-492d-8a1e-1f719a3b754e /boot ext2 defaults,relatime 0 1
UUID=e4c91de1-ad8d-4e05-9cee-2803d45840a2 none swap sw 0 0
proc /proc proc defaults 0 0
sys /sys sysfs defaults 0 0
" &gt; /etc/fstab

echo MYHOSTNAME &gt; /etc/hostname

echo "127.0.0.1 localhost
127.0.1.1 MYHOSTNAME
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
" &gt; /etc/hosts

echo "# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
address 192.168.15.105
netmask 255.255.255.0
gateway 192.168.15.1
" &gt; /etc/network/interfaces</pre>
<p><strong>11. Configure Ubuntu mirror</strong><br />
For Hetzner, you can use the following setup:</p>
<pre>echo "# Packages and Updates from the Hetzner Ubuntu Mirror
deb ftp://mirror.hetzner.de/ubuntu/packages precise main restricted universe multiverse
deb ftp://mirror.hetzner.de/ubuntu/packages precise-updates main restricted universe multiverse
deb ftp://mirror.hetzner.de/ubuntu/security precise-security main restricted universe multiverse

deb http://archive.ubuntu.com/ubuntu precise main
deb-src http://archive.ubuntu.com/ubuntu precise main

deb http://security.ubuntu.com/ubuntu precise-security main
deb-src http://security.ubuntu.com/ubuntu precise-security main
" &gt; /etc/apt/sources.list</pre>
<p><strong>12. Install essential packages (Kernel, OpenSSH, &#8230;)</strong></p>
<pre>dpkg-reconfigure tzdata

apt-get update
apt-get install aptitude openssh-server
apt-get install linux-image-generic
apt-get install cryptsetup lvm2</pre>
<p>If you are asked where to install <code>grub</code>, chose <code>/dev/sda</code>.</p>
<p><strong>13. Setup LUKS for boot</strong></p>
<pre>echo "# &lt;target name&gt; &lt;source device&gt; &lt;key file&gt; &lt;options&gt;
sda2_decrypt UUID=f25ad69c-5c6e-4f35-b305-a8b193d58111 none luks
" &gt; /etc/crypttab
echo "dm-crypt" &gt;&gt; /etc/modules

echo "aes" &gt;&gt; /etc/initramfs-tools/modules
echo "aes_i586" &gt;&gt; /etc/initramfs-tools/modules
echo "aes_x86_64" &gt;&gt; /etc/initramfs-tools/modules
echo "aes_generic" &gt;&gt; /etc/initramfs-tools/modules
echo "dm-crypt" &gt;&gt; /etc/initramfs-tools/modules
echo "dm-mod" &gt;&gt; /etc/initramfs-tools/modules
echo "sha256" &gt;&gt; /etc/initramfs-tools/modules
echo "sha256_generic" &gt;&gt; /etc/initramfs-tools/modules
echo "lrw" &gt;&gt; /etc/initramfs-tools/modules
echo "xts" &gt;&gt; /etc/initramfs-tools/modules
echo "crypto_blkcipher" &gt;&gt; /etc/initramfs-tools/modules
echo "gf128mul" &gt;&gt; /etc/initramfs-tools/modules

update-initramfs -u -k all</pre>
<p><strong>13. Create a user</strong></p>
<pre>adduser myuser
addgroup --system admin
adduser myuser admin</pre>
<p><strong>14. Exit chroot, umount, and reboot</strong><br />
Basically we are done now. We can leave chroot, reboot the system.</p>
<p>When the server reboots, observe it in the console, you&#8217;ll need to enter the password anyways.</p>
<p><strong>Known problems:</strong></p>
<p>I have experienced that after the latest kernel update for some reasons the prompt for the password does no longer work. In this case I disabled <code>quiet splash</code> in <code>/etc/default/grub</code>.</p>
<p>I also currently am having an issue that the encrypted container is not recognized by the initramfs, so it falls to busybox. If I open the LUKS container there manually and scan for LVM, and then exit the busy box, boot resumes as it should.</p>
<pre>cryptsetup luksOpen /dev/sda2 sda2_decrypt

lvm lvchange -a y

exit</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.dont-panic.cc/capi/2012/10/24/fully-encrypted-vserver-with-ubuntu-12-04/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>A geek&#8217;s unified instant messaging setup</title>
		<link>http://www.dont-panic.cc/capi/2011/12/10/a-geeks-unified-instant-messaging-setup/</link>
		<comments>http://www.dont-panic.cc/capi/2011/12/10/a-geeks-unified-instant-messaging-setup/#comments</comments>
		<pubDate>Sat, 10 Dec 2011 19:31:21 +0000</pubDate>
		<dc:creator>Martin Carpella</dc:creator>
				<category><![CDATA[computer]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[bitlbee]]></category>
		<category><![CDATA[communication]]></category>
		<category><![CDATA[geek]]></category>
		<category><![CDATA[irssi]]></category>
		<category><![CDATA[znc]]></category>

		<guid isPermaLink="false">http://www.dont-panic.cc/capi/?p=308</guid>
		<description><![CDATA[Today I want to present to you my unified instant messaging setup, which enables me to communicate from any of my computers and also any of my mobile devices (Android, iPhone, iPad). Goal for me was to provide a setup where I have single client per platform with a centralized history I can search if [...]]]></description>
				<content:encoded><![CDATA[<p>Today I want to present to you<strong> my unified instant messaging setup</strong>, which enables me to communicate from any of my computers and also any of my mobile devices (<a href="http://en.wikipedia.org/wiki/Android_(operating_system)">Android</a>, <a href="http://en.wikipedia.org/wiki/IPhone">iPhone</a>, <a href="http://en.wikipedia.org/wiki/IPad">iPad</a>). Goal for me was to provide a setup where I have single client per platform with a centralized history I can search if I need to. I want one &#8211; and only one &#8211; client for my communication. I only care about text instant messages, actually; I hardly ever use voice or video services when communicating online. I really like the asynchronous nature of instant messages. At the moment, I have integrated <strong>IRC</strong>, <strong>ICQ</strong>, <strong>Google-Talk</strong>/<strong>Jabber</strong>/<strong>XMPP</strong> (which could potentially also include <strong>Facebook</strong>), and <strong>Skype</strong>. The current setup also gives me push notifications to my iOS devices on messages directed at me. Today&#8217;s posting is only intended to give you a very high level overview. I will add detailed descriptions of individual setups of the individual components in later posts.</p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-319" title="The Unified Instant Messaging Schema" src="http://www.dont-panic.cc/capi/wp-content/uploads/2011/12/im-schema.png" alt="The Unified Instant Messaging Schema" width="498" height="309" /></p>
<p><span id="more-308"></span></p>
<p>Core of my setup is <a href="http://en.wikipedia.org/wiki/Internet_Relay_Chat">IRC</a>. All my instant communication is mapped via IRC. Pretty old, but really well-working technology. Main reason here is that many of my friends and colleagues also communicate via IRC. I use <strong><a href="http://irssi.org/">irssi</a></strong>, which is a console client that can run within a <a href="http://www.gnu.org/s/screen/">screen</a> session so it continues to run even when I am not in front of a terminal. The <a href="http://scripts.irssi.org/html/screen_away.pl.html">screen_away plugin</a> takes care of setting the away status when screen is detached.</p>
<p>To connect my non-IRC services, I use <strong><a href="http://www.bitlbee.org/">BitlBee</a></strong>, which is an IRC proxy to connect to non-IRC protocols. BitlBee supports all my external protocols (<a href="http://en.wikipedia.org/wiki/ICQ">ICQ</a> &amp; <a href="http://en.wikipedia.org/wiki/Extensible_Messaging_and_Presence_Protocol">XMPP</a>, that is). It also supports Skype via the fabulous <strong><a href="http://vmiklos.github.com/bitlbee-skype/">bitlbee-skype</a></strong> plugin by Miklos Vajna. It requires a running Skype instance within a VNC server, though, but this is fine for me.</p>
<p>irssi is considered core of the setup, as it also provides the the <a href="http://irssi.org/documentation/proxy">irssi_proxy</a> module, which enables <em>other</em> IRC clients to connect to this irssi instance, and when writing via this connection this is treated as if it has been entered directly into the irssi terminal. This mode is essential for my &#8220;centralized history / log file&#8221; requirement.</p>
<p>As connecting to the irssi_proxy module will only provide you with messages sent to you after you have connected, another layer is added: <strong><a href="http://wiki.znc.in/ZNC">ZNC</a></strong>. I launch this IRC <a href="http://en.wikipedia.org/wiki/BNC_(software)">bouncer</a> at the same machine as my irssi screen session. It connects to the irssi_proxy module and provides me with history if one of my external IRC clients connects, i.e. I am sent the history since the last time I connected to the ZNC.</p>
<p>My mobile devices connect to the ZNC bouncer via SSL whenever I decide to launch one of the clients. Due to my settings, I only get new messages. ZNC can be configured to send you the last n messages though, regardless where you last picked off, if you prefer that. But for me, it is primarily the &#8220;new&#8221; stuff that matters in communication (but this is of course personal taste).</p>
<p>On my iOS devices (iPhone, iPad) I use the <strong><a href="http://colloquy.mobi/">Colloquy Mobile</a></strong> client. This is a clone of the GPL-ed <a href="http://colloquy.info/">Colloquy</a> IRC client for OSX. In the App Store, it costs a few bucks, but I payed happily as this helps them in the development. There is a very nice plugin for ZNC, <strong><a href="https://github.com/wired/colloquypush/tree/master/znc">colloquypush</a></strong>, that enables push messages to Colloquy via Colloquy&#8217;s and Apple&#8217;s push servers. I have added a few patches to this open-source module, dealing with privacy (you can configure it to skip content of the messages when pushing) for sensitive communication channels (e.g. my work channel). Also I added an option that push messages are only sent while in away mode. This is where screen_away gets handy, as I only receive push messages when I am not attached to the screen session (or deliberately set myself to &#8220;away&#8221; mode in irssi). You can get colloquypush from the &#8220;official&#8221; maintainer&#8217;s <a href="https://github.com/wired/colloquypush/tree/master/znc">github repository</a> or <a href="https://github.com/capi/colloquypush">mine</a> (my &#8220;wip&#8221; branch is a few commits behind, as I am working on the Android improvements at the moment, see below).</p>
<p>On Android I use <strong><a href="http://www.andchat.net/">AndChat</a></strong>, which is a free (as in beer) client, but not open-source. Unfortunately there is no push functionality available at the moment, but I am working on an extension of the ZNC colloquypush module to work with a notification app I am currently developing (no estimated time of arrival, if ever).</p>
<p>For me, the setup provides the following benefits:</p>
<ul>
<li>Centralized approach with a single client which is &#8220;always on&#8221;.</li>
<li>Single location for all logfiles, so I can search them using standard Linux tools.</li>
<li>irssi is <a href="http://en.wikipedia.org/wiki/Ncurses">ncurses</a> and I <em>love</em> ncurses interfaces. I get nostalgic about the old terminals.</li>
<li>I can easily connect from any computer via SSH and attach to the screen session.</li>
<li>I can catch up while on the go via my mobile devices.</li>
<li>I receive notifications if anyone of my friends demands my attention (at least on iOS).</li>
<li>Native clients on the mobile devices, they simply feel smoother than connecting to an SSH session from your slow GPRS connection.</li>
</ul>
<div>The following points I am currently not so satisfied with, but hope to improve in the future (in decreasing order of annoyance to me):</div>
<div>
<ul>
<li>No notifications on my Android mobile phone.</li>
<li>ZNC sends me everything since I last connected, even if I have already seen it from within irssi. I suppose writing a plugin to ZNC to clear the buffer when switching into &#8220;away&#8221; mode could fix this and should not be too hard.</li>
<li>No way to search the history from the mobile devices. Centralized history is only available to me when I am connected to the screen session via SSH.</li>
<li>No real &#8220;status message&#8221; support from within Bitlbee. This is not really important to me, as I stopped reading status messages quite some time ago.</li>
<li>Skype must be running within a VNC window. Not sure if this will ever be fixable. Let&#8217;s hope Microsoft won&#8217;t discontinue Skype support for Linux.</li>
<li>SMS has not yet been integrated into this communication schema. But I have some ideas here (but they will take even longer than the Android notification issue).</li>
</ul>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.dont-panic.cc/capi/2011/12/10/a-geeks-unified-instant-messaging-setup/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Fix two Ubuntu 10.04 window manager annoyances</title>
		<link>http://www.dont-panic.cc/capi/2011/01/27/fix-two-ubuntu-10-04-window-manager-annoyances/</link>
		<comments>http://www.dont-panic.cc/capi/2011/01/27/fix-two-ubuntu-10-04-window-manager-annoyances/#comments</comments>
		<pubDate>Thu, 27 Jan 2011 07:00:25 +0000</pubDate>
		<dc:creator>Martin Carpella</dc:creator>
				<category><![CDATA[computer]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[compiz]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[usability]]></category>

		<guid isPermaLink="false">http://www.dont-panic.cc/capi/?p=289</guid>
		<description><![CDATA[When upgrading to Ubuntu 10.04 I noticed two annoyances (which actually are just a matter of personal taste): The OSX-like positioning of the close, minimize and maximize buttons on the left instead of the right of the window. The fade-out (invisibility) of other windows when using Alt-Tab for tabbing through the available windows on the [...]]]></description>
				<content:encoded><![CDATA[<p>When upgrading to Ubuntu 10.04 I noticed two annoyances (which actually are just a matter of personal taste):</p>
<ul>
<li>The OSX-like positioning of the close, minimize and maximize buttons on the left instead of the right of the window.</li>
<li>The fade-out (invisibility) of other windows when using Alt-Tab for tabbing through the available windows on the current desktop.</li>
</ul>
<p>As I tend to forget and need to Google every time I encounter a newly setup 10.04 system, I now jot down the settings to change.</p>
<p>For changing the window buttons:</p>
<ol>
<li>Start <code>gconf-editor</code>.</li>
<li>Find <code>/apps/metacity/general/button_layout.</code></li>
<li>Change its value to <code>menu:minimize,maximize,close</code>.</li>
</ol>
<p>For changing the opacity of inactive windows during Alt+Tab window switching:</p>
<ol>
<li>Start <code>gconf-editor</code>.</li>
<li>Find <code>/apps/compiz/plugins/staticswitcher/screen0/options/opacity</code>.</li>
<li>Change it to any value you like, where 100 is fully visible and 0 is totally invisible.</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.dont-panic.cc/capi/2011/01/27/fix-two-ubuntu-10-04-window-manager-annoyances/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The power of git aliases</title>
		<link>http://www.dont-panic.cc/capi/2010/12/09/the-power-of-git-aliases/</link>
		<comments>http://www.dont-panic.cc/capi/2010/12/09/the-power-of-git-aliases/#comments</comments>
		<pubDate>Thu, 09 Dec 2010 21:56:59 +0000</pubDate>
		<dc:creator>Martin Carpella</dc:creator>
				<category><![CDATA[computer]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[productivity]]></category>
		<category><![CDATA[tricks]]></category>

		<guid isPermaLink="false">http://www.dont-panic.cc/capi/?p=278</guid>
		<description><![CDATA[Based on a recent question on stackoverflow I found the power of git aliases and want so share one I invented for answering the question and after that I found very useful in everyday git use: git config --global alias.add-commit '!git add -A &#38;&#38; git commit' After this, you can simply check in all new, [...]]]></description>
				<content:encoded><![CDATA[<p>Based on a <a href="http://stackoverflow.com/questions/4298960/git-add-a-git-commit-in-one-command/">recent question</a> on <a href="http://stackoverflow.com/">stackoverflow</a> I found the power of <a href="http://git-scm.com/">git</a> <a href="https://git.wiki.kernel.org/index.php/Aliases">aliases</a> and want so share one I invented for <a href="http://stackoverflow.com/questions/4298960/git-add-a-git-commit-in-one-command/4299159#4299159">answering</a> the question and after that I found very useful in everyday git use:</p>
<blockquote><p><code>git config --global alias.add-commit '!git add -A &amp;&amp; git commit'</code></p></blockquote>
<p>After this, you can simply check in all new, modified, and deleted files with a simple</p>
<blockquote><p><code>git add-commit -m 'My commit message'</code></p></blockquote>
<p>I have aliased this command also to <code> git ac</code> in order to save further on typing. I never thought that this combination could be that useful, but actually I think it really is. Thanks to the questioner for bringing the idea up.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dont-panic.cc/capi/2010/12/09/the-power-of-git-aliases/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>OCZ Vertex2, Linux, and ancient nForce 430 chipset</title>
		<link>http://www.dont-panic.cc/capi/2010/12/01/ocz-vertex2-linux-and-ancient-nforce-430-chipset/</link>
		<comments>http://www.dont-panic.cc/capi/2010/12/01/ocz-vertex2-linux-and-ancient-nforce-430-chipset/#comments</comments>
		<pubDate>Wed, 01 Dec 2010 21:58:16 +0000</pubDate>
		<dc:creator>Martin Carpella</dc:creator>
				<category><![CDATA[computer]]></category>
		<category><![CDATA[hardware]]></category>
		<category><![CDATA[sysadmin]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[ssd]]></category>
		<category><![CDATA[troubleshooting]]></category>

		<guid isPermaLink="false">http://www.dont-panic.cc/capi/?p=274</guid>
		<description><![CDATA[Today I finally received my brand-new Ocz Vertex2 OCZSSD2-2VTXE120G 120GB and eagerly wanted to install it in my 4-year-old HP workstation which currently is running Ubuntu 10.10 exclusively. After setting up the alignment according to some tutorials I found online, I started the setup process. Shortly after starting the copy step of the installation, the [...]]]></description>
				<content:encoded><![CDATA[<p>Today I finally received my brand-new Ocz Vertex2 OCZSSD2-2VTXE120G 120GB and eagerly wanted to install it in my 4-year-old HP workstation which currently is running <a href="http://www.ubuntu.com/">Ubuntu</a> 10.10 exclusively.</p>
<p>After setting up the alignment according to some <a href="http://www.ocztechnologyforum.com/forum/showthread.php?54379-Linux-Tips-tweaks-and-alignment">tutorials</a> I found online, I started the setup process. Shortly after starting the copy step of the installation, the whole process came to a grinding halt with filesystem errors. Looking into the kernel debug messages it seemed like <a href="http://en.wikipedia.org/wiki/Serial_ATA">SATA</a> commands were causing errors. After checking hardware, cables and switching SATA ports, I began researching the issue and soon found that the issue might be fixed in the next firmware version of the drive. So I wanted to upgrade from 1.23 to 1.24, which could only be done in Windows&#8230;</p>
<p>After installing a trial of Windows 7, I finally wanted to upgrade the firmware, but the drive was not detected, but was accessible. The release notes indicated that I would need to switch to <a href="http://en.wikipedia.org/wiki/Advanced_Host_Controller_Interface">AHCI</a> mode. After several attempts, includig a BIOS update, I realized that there was no way to do this with my old hardware, as my <a href="http://en.wikipedia.org/wiki/NForce">nForce</a> 430 chipset simply doesn&#8217;t support it.</p>
<p>So my only remaining option was to simply try the kernel arguments I read to be the fix for 1.24 with the 1.23 hardware.</p>
<p>So, if you add the following kernel option during installation and afterwards for every boot, the disk seems to work quite well (<a href="http://www.ocztechnologyforum.com/forum/showthread.php?72572-Vertex-LE-breakdown-in-Linux&amp;p=579861&amp;viewfull=1#post579861">source</a>):</p>
<blockquote><p><code>libata.force=norst</code></p></blockquote>
<p>Actually, this forces the ATA driver in Linux to <em>not</em> issue any reset commands on the bus. I really don&#8217;t understand why this improves/fixes the problem, but it seems the device has issues when being reset on my chipset. I can also notice this that in 2 out of 3 attempts if I reboot the PC the disk is not recognized any more before I reboot again.</p>
<p>Despite these issues, the SSD now runs with astonishing performance with the suggested 32 head / 32 sector alignment, and a 512kB partition alignment scheme. After an initial <a href="http://en.wikipedia.org/wiki/TRIM">TRIM</a> with <a href="http://sourceforge.net/projects/hdparm/">hdparm</a>&#8216;s <code>wiper.sh</code> I enabled <code>-o discard</code> for my ext4 partition and could also verify using hdparm that this results in the sectors being trimmed. Please note, that you need to manually compile and install the latest hdparm version on Ubuntu 10.10, as the included version fails with the very long free block list and doesn&#8217;t handle splitting the sectors in multiple requests. The latest version doesn&#8217;t have this issue any more.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dont-panic.cc/capi/2010/12/01/ocz-vertex2-linux-and-ancient-nforce-430-chipset/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Remaining Windows Vista/7 &#8220;rearm count&#8221;</title>
		<link>http://www.dont-panic.cc/capi/2010/02/19/remaining-windows-vista7-rearm-count/</link>
		<comments>http://www.dont-panic.cc/capi/2010/02/19/remaining-windows-vista7-rearm-count/#comments</comments>
		<pubDate>Thu, 18 Feb 2010 23:51:48 +0000</pubDate>
		<dc:creator>Martin Carpella</dc:creator>
				<category><![CDATA[computer]]></category>
		<category><![CDATA[sysadmin]]></category>
		<category><![CDATA[vista]]></category>
		<category><![CDATA[win7]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://www.dont-panic.cc/capi/?p=266</guid>
		<description><![CDATA[It is a well-known fact, that it is possible to extend the initial grace period for activating your (hopefully legitimate!) copy of Windows from 30 days to 120 days by using slmgr. This is a tool that is intended to allow the preparation of image-based installers for enterprise use by allowing to reset the initial [...]]]></description>
				<content:encoded><![CDATA[<p>It is a well-known fact, that it is possible to <a href="http://www.mydigitallife.info/2006/11/12/delay-or-extend-windows-vista-trial-install-and-activation-wpa-grace-timeout-period-hack/">extend the initial grace period</a> for activating your (hopefully legitimate!) copy of Windows from 30 days to 120 days by using <code>slmgr</code>. This is a tool that is intended to allow the preparation of image-based installers for enterprise use by allowing to reset the initial grace period up to 3 times.</p>
<p>If you tend to forget the number of times you already reset the counter, you can easily check for yourself: simply run</p>
<blockquote><p><code>slmgr -dlv</code></p></blockquote>
<p>to get detailed licensing information, including the number of remaining re-arms and remaining grace time.</p>
<p>If you want to know when exactly your grace period runs out, use</p>
<blockquote><p><code>slmgr -xpr</code></p></blockquote>
<p><strong>Note:</strong> This simply gives you more time, it won&#8217;t prevent you from having to buy and/or activate Windows. Re-arming is not a bug, it works as intended and is an important tool for use in corporate environments.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dont-panic.cc/capi/2010/02/19/remaining-windows-vista7-rearm-count/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Novatel Merlin U740 using only Windows 7 onboard tools</title>
		<link>http://www.dont-panic.cc/capi/2009/11/19/novatel-merlin-u740-using-only-windows-7-onboard-tools/</link>
		<comments>http://www.dont-panic.cc/capi/2009/11/19/novatel-merlin-u740-using-only-windows-7-onboard-tools/#comments</comments>
		<pubDate>Thu, 19 Nov 2009 00:32:11 +0000</pubDate>
		<dc:creator>Martin Carpella</dc:creator>
				<category><![CDATA[computer]]></category>
		<category><![CDATA[hardware]]></category>
		<category><![CDATA[sysadmin]]></category>
		<category><![CDATA[dial-up]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[merlin u740]]></category>
		<category><![CDATA[network]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://www.dont-panic.cc/capi/?p=257</guid>
		<description><![CDATA[I have lost the install CD of my Novatel Merlin U740, an older PCMCIA UMTS card. As a consequence I got no &#8220;Mobilink Connection Manager&#8221; after installing Windows 7 on my notebook. Fortunately I found this guide by Novatel Wireless which explains how to connect using only on-board tools in Windows Vista, by setting up [...]]]></description>
				<content:encoded><![CDATA[<p>I have lost the install CD of my <a href="http://www.novatelwireless.com/">Novatel</a> <a href="http://www.3g.co.uk/PR/June2006/3209.htm">Merlin U740</a>, an older PCMCIA UMTS card. As a consequence I got no &#8220;Mobilink Connection Manager&#8221; after installing <a href="http://www.windows7.com/">Windows 7</a> on my notebook. Fortunately I found<a href="http://www.novatelwireless.com/files/UMTS%20-%20Creating%20Vista%20DUN%20Connection.pdf"> this guide</a> by Novatel Wireless which explains how to connect using only on-board tools in Windows Vista, by setting up a dial-up connection. It still works in Windows 7. The important part is to set the APN as part of the driver&#8217;s initialization string.</p>
<p>The telephone number you have to set is <code>*99#</code>, which should be provider-independent.</p>
<p>The following settings are for <a href="http://yesss.at">yesss.at</a> only:<br />
Username: <code>web</code><br />
Passwort: <code>web</code></p>
<p>Remember to set the APN as part of the driver&#8217;s connection string in Window&#8217;s &#8220;Device Manager&#8221; as described in the PDF.</p>
<p>Again, for <a href="http://www.yesss.at">yesss.at</a> this is: <code>AT+CGDCONT=1,"IP","web.yesss.at"</code></p>
<p>For this to work properly, the SIM must not have a PIN set, as otherwise the SIM will be locked and the dialer cannot dial out. For me this is ok, as it is a pre-paid card which can hardly be abused if it gets stolen, but your situation might be different, so please consider the security implications. (I suspect that it should be possible to unlock the SIM card somehow using the <code>AT+CPIN=1234</code> command, but I did not research how to separate several initialization strings, as it did not work immediately.)</p>
<p>The solution works quite well for me, even under Windows 7. Disadvantage is that there is no way to tell the signal strength and exact mode of operation (despite the color-coded status led on the Merlin U740).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dont-panic.cc/capi/2009/11/19/novatel-merlin-u740-using-only-windows-7-onboard-tools/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>tr.im to be shut down</title>
		<link>http://www.dont-panic.cc/capi/2009/08/10/tr-im-to-be-shut-down/</link>
		<comments>http://www.dont-panic.cc/capi/2009/08/10/tr-im-to-be-shut-down/#comments</comments>
		<pubDate>Mon, 10 Aug 2009 10:29:21 +0000</pubDate>
		<dc:creator>Martin Carpella</dc:creator>
				<category><![CDATA[advocacy]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[url-shortening]]></category>

		<guid isPermaLink="false">http://www.dont-panic.cc/capi/?p=246</guid>
		<description><![CDATA[To emphasize my demurs against URL shortening services which I have mentioned before, here comes the prove that my thesis is correct: the URL shortening service tr.im is going to be shut down by end of this year. As Robert Scoble put it, this is a &#8220;shortcoming&#8221; of the Twitter platform, where the shutdown most [...]]]></description>
				<content:encoded><![CDATA[<p>To emphasize my demurs against URL shortening services which I have <a href="http://www.dont-panic.cc/capi/2005/05/20/short-urls-future-loss-of-knowlege/">mentioned</a> <a href="http://www.dont-panic.cc/capi/2009/06/17/url-shortening-services-soon-to-be-under-siege/">before</a>, here comes the prove that my thesis is correct: the URL shortening service <a href="http://tr.im/">tr.im</a> is <a href="http://blog.tr.im/post/159489555/tr-im-to-december-31-2009">going to be shut down by end of this year</a>. As <a href="http://scobleizer.com/">Robert Scoble</a> <a href="http://scobleizer.com/2009/08/10/twitters-platform-shortcomings/">put it</a>, this is a &#8220;shortcoming&#8221; of the <a href="http://twitter.com/">Twitter </a>platform, where the shutdown most likely will be felt most.</p>
<p>This is the first time I am aware of actual knowledge/data-loss which will occur due to the shutdown of such a service.</p>
<p><strong>Update:</strong> tr.im <a href="http://blog.tr.im/post/160697842/tr-im-resurrected">announced that they will stay in business</a>, due to an overwhelming response. But still, the final shutdown of such a service sooner or latter can and will happen. And even worse would be the continuation of such a service where all the URLs would be redirected somewhere else&#8230;</p>
<div id="_mcePaste" style="overflow: hidden; position: absolute; left: -10000px; top: 60px; width: 1px; height: 1px;">http://blog.tr.im/post/160697842/tr-im-resurrected</div>
]]></content:encoded>
			<wfw:commentRss>http://www.dont-panic.cc/capi/2009/08/10/tr-im-to-be-shut-down/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>URL shortening services soon to be under siege?</title>
		<link>http://www.dont-panic.cc/capi/2009/06/17/url-shortening-services-soon-to-be-under-siege/</link>
		<comments>http://www.dont-panic.cc/capi/2009/06/17/url-shortening-services-soon-to-be-under-siege/#comments</comments>
		<pubDate>Wed, 17 Jun 2009 17:30:09 +0000</pubDate>
		<dc:creator>Martin Carpella</dc:creator>
				<category><![CDATA[advocacy]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[hacking]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[url-shortening]]></category>

		<guid isPermaLink="false">http://www.dont-panic.cc/capi/?p=231</guid>
		<description><![CDATA[I have already written about my opinion about the problems of URL shortening back in 2005. Yesterday, Jeff Atwood pointed out other issues like commercialization. Today, another threat has come true: hackers have manipulated the URLs of shortening service cli.gs. Given the huge amount of information hidden behind such shortened URLs, and given the popularity [...]]]></description>
				<content:encoded><![CDATA[<p>I have already written about my opinion about the <a href="http://www.dont-panic.cc/capi/2005/05/20/short-urls-future-loss-of-knowlege/">problems of URL shortening</a> back in 2005. Yesterday, <a href="http://www.codinghorror.com/">Jeff Atwood</a> <a href="http://www.codinghorror.com/blog/archives/001276.html">pointed out</a> other issues like commercialization. Today, another threat has come true: <a href="http://blog.cli.gs/news/hack-update">hackers have manipulated the URLs</a> of shortening service <a href="http://cli.gs/">cli.gs</a>.</p>
<p>Given the huge amount of information hidden behind such shortened URLs, and given the popularity and number of these links, especially nowadays on <a href="http://twitter.com/">Twitter</a>, these services could see themselves being under permanent siege of hackers/crackers. Being able to manipulate hundred of thousands if not even more vastly distributed and popular URLs to point to a given site could be used for both, generating (lots of?) ad-revenue, or as a new form of DDoS-attack.</p>
<p>At the moment there seems to be no way around using these services (especially with services like Twitter), but in the medium/long run a solution has to be found if we don&#8217;t want to lose lots of valuable information.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dont-panic.cc/capi/2009/06/17/url-shortening-services-soon-to-be-under-siege/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Windows Vista Home/Business/Enterprise has a telnet client, too</title>
		<link>http://www.dont-panic.cc/capi/2009/02/19/windows-vista-homebusinessenterprise-has-a-telnet-client-too/</link>
		<comments>http://www.dont-panic.cc/capi/2009/02/19/windows-vista-homebusinessenterprise-has-a-telnet-client-too/#comments</comments>
		<pubDate>Thu, 19 Feb 2009 09:01:31 +0000</pubDate>
		<dc:creator>Martin Carpella</dc:creator>
				<category><![CDATA[software]]></category>
		<category><![CDATA[sysadmin]]></category>
		<category><![CDATA[telnet]]></category>
		<category><![CDATA[vista]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://www.dont-panic.cc/capi/?p=220</guid>
		<description><![CDATA[For some unknown reason, Microsoft decided that only the &#8220;Ultimate&#8221; version of Windows Vista ships with the telnet client installed by default. It can, however, be easily installed on all the other versions as well. Open the Control Panel Select &#8220;Programs&#8221; Select &#8220;Turn Windows features on or off&#8221; Scroll through the list, select &#8220;Telnet client&#8221; [...]]]></description>
				<content:encoded><![CDATA[<p>For some unknown reason, Microsoft decided that only the &#8220;Ultimate&#8221; version of Windows Vista ships with the telnet client installed by default. It can, however, be easily installed on all the other versions as well.</p>
<ul>
<li>Open the Control Panel</li>
<li>Select &#8220;Programs&#8221;</li>
<li>Select &#8220;Turn Windows features on or off&#8221;</li>
<li>Scroll through the list, select &#8220;Telnet client&#8221;</li>
<li>Press OK</li>
<li>Wait (for surprisingly long)</li>
</ul>
<p>That&#8217;s it, voila, the telnet client is now installed on your Windows Vista Non-Ultimate.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dont-panic.cc/capi/2009/02/19/windows-vista-homebusinessenterprise-has-a-telnet-client-too/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
