<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Bits and thoughts</title>
	<atom:link href="http://chsc.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://chsc.wordpress.com</link>
	<description>Personal blog of Christof Schmitt</description>
	<lastBuildDate>Fri, 04 Jan 2013 01:46:22 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='chsc.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Bits and thoughts</title>
		<link>http://chsc.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://chsc.wordpress.com/osd.xml" title="Bits and thoughts" />
	<atom:link rel='hub' href='http://chsc.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Wrapping up my previous job in Linux kernel device driver development</title>
		<link>http://chsc.wordpress.com/2012/12/26/previous-job-linux-drive/</link>
		<comments>http://chsc.wordpress.com/2012/12/26/previous-job-linux-drive/#comments</comments>
		<pubDate>Wed, 26 Dec 2012 01:52:27 +0000</pubDate>
		<dc:creator>chsc</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[driver]]></category>
		<category><![CDATA[kernel]]></category>

		<guid isPermaLink="false">http://chsc.wordpress.com/?p=91</guid>
		<description><![CDATA[My previous job was maintaining the zfcp device driver in the Linux kernel. Among cleaning up the code, implementing new features and answering support requests, i also gave presentations about using SCSI attachment with the s390 platform. Here are a few links to the publicly available slides and recordings: SCSI over FCP for Linux on [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=chsc.wordpress.com&#038;blog=6687823&#038;post=91&#038;subd=chsc&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>My previous job was maintaining the <a href="https://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=history;f=drivers/s390/scsi;hb=HEAD">zfcp device driver</a> in the Linux kernel. Among cleaning up the code, implementing new features and answering support requests, i also gave presentations about using SCSI attachment with the s390 platform. Here are a few links to the publicly available slides and recordings:</p>
<ul>
<li><a href="http://linuxvm.org/Present/SHARE111/S9259cs.pdf">SCSI over FCP for Linux on System z &#8211; Introduction and New Features</a> (SHARE 111, San Jose, California, August 2008)</li>
<li><a href="http://linuxvm.org/Present/SHARE111/S9289cs.pdf">Additional Feet for the Penguin &#8211; SCSI over FCP, Multipathing for Linux on System z</a> (SHARE 111, San Jose, California, August 2008)</li>
<li><a href="http://www.vm.ibm.com/education/lvc/">Introduction to SCSI over FCP for Linux on System z</a> (Webcast, October 2010)</li>
</ul>
<p>The team authoring the <a href="http://www.redbooks.ibm.com/abstracts/sg246926.html?Open">Performance Measurement and Tuning Redbook</a> kindly thanked me for contributing. While working in this position, i also co-authored the article <a href="https://ieeexplore.ieee.org/xpl/articleDetails.jsp?tp=&amp;arnumber=6136230">IBM zEnterprise storage I/O advancements</a> in the <a href="https://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=5288520">IBM Journal of Research and Development</a>.</p>
<p>Since i am no longer working in that position, please not that this information might be outdated. Please see the <a href="http://www.ibm.com/developerworks/linux/linux390/">official web page</a> for the latest information and <a href="http://www.ibm.com/developerworks/linux/linux390/team.html">contact information</a>.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/chsc.wordpress.com/91/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/chsc.wordpress.com/91/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=chsc.wordpress.com&#038;blog=6687823&#038;post=91&#038;subd=chsc&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://chsc.wordpress.com/2012/12/26/previous-job-linux-drive/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/f45db1905b7b4f9f62784e1a24104854?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">chsc</media:title>
		</media:content>
	</item>
		<item>
		<title>TCP/IP and the open Internet</title>
		<link>http://chsc.wordpress.com/2012/10/03/tcpip-and-the-open-internet/</link>
		<comments>http://chsc.wordpress.com/2012/10/03/tcpip-and-the-open-internet/#comments</comments>
		<pubDate>Wed, 03 Oct 2012 19:01:38 +0000</pubDate>
		<dc:creator>chsc</dc:creator>
				<category><![CDATA[internet]]></category>
		<category><![CDATA[voip]]></category>

		<guid isPermaLink="false">http://chsc.wordpress.com/?p=86</guid>
		<description><![CDATA[Being interested in technology and having played with voice over IP before, i came across the Disruptive Telephony blog. The article &#8220;Slides: How The Hidden Secret of TCP/IP Affects Real-time Communications&#8221; references the presentation &#8220;The hidden secret of TCP/IP and the internet&#8221; which raises an important point: TCP/IP and the internet enable communication from anywhere [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=chsc.wordpress.com&#038;blog=6687823&#038;post=86&#038;subd=chsc&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Being interested in technology and having played with voice over IP before, i came across the <a href="http://www.disruptivetelephony.com/">Disruptive Telephony blog</a>. The article &#8220;<a href="http://www.disruptivetelephony.com/2012/10/slides-how-the-hidden-secret-of-tcpip-affects-real-time-communications.html">Slides: How The Hidden Secret of TCP/IP Affects Real-time Communications</a>&#8221; references the presentation &#8220;<a href="http://www.slideshare.net/oej/the-secret-of-tcpip-and-how-it-affects-your-pbx">The hidden secret of TCP/IP and the internet</a>&#8221; which raises an important point: TCP/IP and the internet enable communication from anywhere to anywhere. But the reality is that communication is divided in islands, each controlled by a different company. Communication between the islands is almost impossible. Maybe it is time to demand more interoperable solutions. The presentation focuses on telephony, but the same is true for other aspects like social networking.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/chsc.wordpress.com/86/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/chsc.wordpress.com/86/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=chsc.wordpress.com&#038;blog=6687823&#038;post=86&#038;subd=chsc&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://chsc.wordpress.com/2012/10/03/tcpip-and-the-open-internet/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/f45db1905b7b4f9f62784e1a24104854?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">chsc</media:title>
		</media:content>
	</item>
		<item>
		<title>script</title>
		<link>http://chsc.wordpress.com/2011/08/03/script/</link>
		<comments>http://chsc.wordpress.com/2011/08/03/script/#comments</comments>
		<pubDate>Wed, 03 Aug 2011 21:35:44 +0000</pubDate>
		<dc:creator>chsc</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[cli]]></category>

		<guid isPermaLink="false">http://chsc.wordpress.com/?p=82</guid>
		<description><![CDATA[script is a useful command for quickly capturing a terminal session, as i just learned here: $ script test.log Script started, file is test.log $ mkdir x $ ls x/ $ exit exit Script done, file is test.log $ cat test.log Script started on Wed 03 Aug 2011 02:33:36 PM MST $ mkdir x $ [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=chsc.wordpress.com&#038;blog=6687823&#038;post=82&#038;subd=chsc&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>script is a useful command for quickly capturing a terminal session, as i just learned <a href="http://blog.quux.de/?p=1200">here</a>:</p>
<pre>
$ script test.log
Script started, file is test.log
$ mkdir x
$ ls x/
$ exit
exit
Script done, file is test.log
$ cat test.log 
Script started on Wed 03 Aug 2011 02:33:36 PM MST
$ mkdir x
$ ls x/
$ exit
exit

Script done on Wed 03 Aug 2011 02:33:41 PM MST
</pre>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/chsc.wordpress.com/82/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/chsc.wordpress.com/82/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=chsc.wordpress.com&#038;blog=6687823&#038;post=82&#038;subd=chsc&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://chsc.wordpress.com/2011/08/03/script/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/f45db1905b7b4f9f62784e1a24104854?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">chsc</media:title>
		</media:content>
	</item>
		<item>
		<title>hamfax 0.6.5</title>
		<link>http://chsc.wordpress.com/2011/06/17/hamfax-0-6-5/</link>
		<comments>http://chsc.wordpress.com/2011/06/17/hamfax-0-6-5/#comments</comments>
		<pubDate>Fri, 17 Jun 2011 17:25:24 +0000</pubDate>
		<dc:creator>chsc</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[hamfax]]></category>

		<guid isPermaLink="false">http://chsc.wordpress.com/?p=79</guid>
		<description><![CDATA[After a very long time, i managed to update the hamfax project and create a new release, version 0.6.5. Hopefully, i will find more time to work on the backlog of requests and things that should be done. If you want to contribute, there is a mailing list and the public code repository.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=chsc.wordpress.com&#038;blog=6687823&#038;post=79&#038;subd=chsc&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>After a very long time, i managed to update the <a href="http://hamfax.sourceforge.net/">hamfax</a> project and create a <a href="http://sourceforge.net/projects/hamfax/files/hamfax/HamFax-0.6.5.tar.bz2/download">new release, version 0.6.5</a>. Hopefully, i will find more time to work on the backlog of requests and things that should be done. If you want to contribute, there is a <a href="https://lists.sourceforge.net/lists/listinfo/hamfax-devel">mailing list</a> and the <a href="http://sourceforge.net/scm/?type=git&amp;group_id=28799">public code repository</a>.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/chsc.wordpress.com/79/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/chsc.wordpress.com/79/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=chsc.wordpress.com&#038;blog=6687823&#038;post=79&#038;subd=chsc&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://chsc.wordpress.com/2011/06/17/hamfax-0-6-5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/f45db1905b7b4f9f62784e1a24104854?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">chsc</media:title>
		</media:content>
	</item>
		<item>
		<title>Using googlecl to query google contacts from mutt</title>
		<link>http://chsc.wordpress.com/2011/06/07/mutt-query-googlec/</link>
		<comments>http://chsc.wordpress.com/2011/06/07/mutt-query-googlec/#comments</comments>
		<pubDate>Tue, 07 Jun 2011 17:09:11 +0000</pubDate>
		<dc:creator>chsc</dc:creator>
				<category><![CDATA[programming]]></category>
		<category><![CDATA[googlecl]]></category>
		<category><![CDATA[mutt]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://chsc.wordpress.com/?p=69</guid>
		<description><![CDATA[googlecl is a neat tool for accessing the Google Contacts address book from the command line. mutt is a powerful email client that allows calling external tools for accessing an address book. Unfortunately, the output from googlecl is different from the input required by mutt. Here is a simple script that wraps googlecl to be [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=chsc.wordpress.com&#038;blog=6687823&#038;post=69&#038;subd=chsc&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><a href="http://code.google.com/p/googlecl/">googlecl</a> is a neat tool for accessing the Google Contacts address book from the command line. <a href="http://www.mutt.org/">mutt</a> is a powerful email client that allows calling external tools for accessing an address book. Unfortunately, the output from googlecl is different from the input required by mutt. Here is a simple script that wraps googlecl to be used from mutt. Simply put the code in a file mutt-google-contacts and make it executable. Then call it from mutt by adding this to the ~/.muttrc file:</p>
<pre>set query_command = "mutt-google-contacts '%s'"</pre>
<p>Here is the script:</p>
<pre>#!/usr/bin/python

# Version 0.1 Copyright (C) 2011 Christof Schmitt
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see http://www.gnu.org/licenses/.

# This script parses the output of 'google contacts list'
# (http://code.google.com/p/googlecl/wiki/ExampleScripts#list) and
# prints the queried email address in the format required by mutt
# (http://www.mutt.org/doc/manual/manual-4.html#ss4.5).
#
# Usage: Install googlecl from
# http://code.google.com/p/googlecl/downloads/list and add
# set query_command = "mutt-google-contacts '%s'"
# to ~/.muttrc

import subprocess
import string
import sys

if not len(sys.argv) &gt;= 2:
    print 'Usage: %s querystring' % sys.argv[0]
    sys.exit(1)

sys.stdout.write('Calling "google contacts list": ')

query = ' '.join(sys.argv[1:])
args = ['/usr/bin/google', 'contacts', 'list', '--title', '(?i).*' + query,
        '--fields', 'name,email', '--delimiter=;']

google = subprocess.Popen(args, stdout=subprocess.PIPE)
stdout, stderr = google.communicate()

if google.returncode != 0:
    print 'error'
    sys.exit(2)

print 'success'

for line in stdout.split('\n'):
    if len(line) &gt; 0:
        name, emails = line.split(';')
        for email in emails.split(', '):
            if string.find(email, ' ') != -1:
                # with two or more addresses there is an additional
                # type (home, work, ...)
                typeoraddr, emailaddr = string.split(email, ' ')
                print emailaddr + '\t' + name + '\t' + typeoraddr
            else:
                # with only one address, there is no type field
                print email + '\t' + name
</pre>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/chsc.wordpress.com/69/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/chsc.wordpress.com/69/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=chsc.wordpress.com&#038;blog=6687823&#038;post=69&#038;subd=chsc&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://chsc.wordpress.com/2011/06/07/mutt-query-googlec/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/f45db1905b7b4f9f62784e1a24104854?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">chsc</media:title>
		</media:content>
	</item>
		<item>
		<title>Ubuntu 10.04 (Lucid Lynx), Asus Eeepc 901 and wireless networking</title>
		<link>http://chsc.wordpress.com/2011/03/05/ubuntu-10-04-lucid-lynx-asus-eeepc-901-and-wireless-networking/</link>
		<comments>http://chsc.wordpress.com/2011/03/05/ubuntu-10-04-lucid-lynx-asus-eeepc-901-and-wireless-networking/#comments</comments>
		<pubDate>Sat, 05 Mar 2011 15:13:27 +0000</pubDate>
		<dc:creator>chsc</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[asus]]></category>
		<category><![CDATA[eeepc]]></category>
		<category><![CDATA[lucid]]></category>
		<category><![CDATA[networking]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[wireless]]></category>

		<guid isPermaLink="false">http://chsc.wordpress.com/?p=64</guid>
		<description><![CDATA[For the record: Ubuntu 10.04 (Lucid Lynx) is working great on the Asus Eeepc 901. Only the support for the RaLink RT2860 wireless chip is not that great, sometimes the system refuses to connect to a wireless network.  The best approach seems to be installing the backport package that brings a newer version of the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=chsc.wordpress.com&#038;blog=6687823&#038;post=64&#038;subd=chsc&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>For the record: Ubuntu 10.04 (Lucid Lynx) is working great on the Asus Eeepc 901. Only the support for the RaLink RT2860 wireless chip is not that great, sometimes the system refuses to connect to a wireless network.  The best approach seems to be installing the backport package that brings a newer version of the driver:</p>
<pre>sudo apt-get install linux-backports-modules-wireless-lucid-generic</pre>
<p>or when the PAE kernel is being used:</p>
<pre>sudo apt-get install linux-backports-modules-wireless-lucid-generic-pae</pre>
<p>Connectivity is much better for me with the updated driver.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/chsc.wordpress.com/64/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/chsc.wordpress.com/64/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=chsc.wordpress.com&#038;blog=6687823&#038;post=64&#038;subd=chsc&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://chsc.wordpress.com/2011/03/05/ubuntu-10-04-lucid-lynx-asus-eeepc-901-and-wireless-networking/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/f45db1905b7b4f9f62784e1a24104854?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">chsc</media:title>
		</media:content>
	</item>
		<item>
		<title>Perl Programming Best Practices LCA 2011</title>
		<link>http://chsc.wordpress.com/2011/02/06/perl-programming-best-practices-lca-2011/</link>
		<comments>http://chsc.wordpress.com/2011/02/06/perl-programming-best-practices-lca-2011/#comments</comments>
		<pubDate>Sun, 06 Feb 2011 11:45:17 +0000</pubDate>
		<dc:creator>chsc</dc:creator>
				<category><![CDATA[programming]]></category>
		<category><![CDATA[perl]]></category>

		<guid isPermaLink="false">http://chsc.wordpress.com/?p=62</guid>
		<description><![CDATA[The first linx.conf.au videos are available online. From watching the talk Perl Programming Best Practices, here are some modules and suggestions mentioned in the talk as notes to myself: Always add use strict and use warnings. use autodie allows omitting the or die statements for catching errors. given/when is analogous to switch/case in other languages. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=chsc.wordpress.com&#038;blog=6687823&#038;post=62&#038;subd=chsc&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>The first linx.conf.au videos are <a href="http://conf.linux.org.au/wiki/Videos">available online</a>. From watching the talk <a href="http://linuxconfau.blip.tv/file/4697401/">Perl Programming Best Practices</a>, here are some modules and suggestions mentioned in the talk as notes to myself:</p>
<ul>
<li>Always add <a href="http://perldoc.perl.org/strict.html">use strict</a> and <a href="http://perldoc.perl.org/warnings.html">use warnings</a>.</li>
<li><a href="http://perldoc.perl.org/autodie.html">use autodie</a> allows omitting the <code>or die</code> statements for catching errors.</li>
<li><a href="http://perldoc.perl.org/perlsyn.html#Switch-statements">given/when</a> is analogous to switch/case in other languages.</li>
<li><a href="http://perldoc.perl.org/functions/say.html">say</a> prints a line while automatically adding the newline.</li>
<li><a href="http://search.cpan.org/perldoc?Try%3A%3ATiny">Try::Tiny is a CPAN module</a> for try/catch style exception handling.</li>
<li><a href="http://perldoc.perl.org/Carp.html">carp and croak</a> should be used to report errors in modules. It is more useful to see where wrong data was passed to the module function, than the exact place where the module called die.</li>
<li><a href="http://search.cpan.org/dist/App-perlbrew/">App::perlbrew</a> allows installing perl in the home directory.</li>
<li><a href="http://search.cpan.org/dist/local-lib/">local::lib</a> helps installing perl modules in local directories.</li>
<li><a href="http://perldoc.perl.org/Test/More.html">Test::More</a> is a module for running tests.</li>
<li><a href="http://search.cpan.org/dist/Devel-Cover/lib/Devel/Cover.pm">Devel::Cover</a> can be used to measure the code coverage.</li>
<li><a href="http://perltidy.sourceforge.net/">Perltidy</a> reformats perl code to make it easier to read.</li>
<li><a href="http://perldoc.perl.org/List/Util.html">List::Util</a> has some helper functions for lists (e.g. max, min, sum)</li>
<li><a href="http://perldoc.perl.org/perlre.html">Named captures</a> in regular expressions allow using named variables instead of $1, $2, &#8230; to extract parts of the original string.</li>
</ul>
<p>This list is incomplete, and i would highly recommend watching the talk to see everything mentioned there.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/chsc.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/chsc.wordpress.com/62/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=chsc.wordpress.com&#038;blog=6687823&#038;post=62&#038;subd=chsc&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://chsc.wordpress.com/2011/02/06/perl-programming-best-practices-lca-2011/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/f45db1905b7b4f9f62784e1a24104854?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">chsc</media:title>
		</media:content>
	</item>
		<item>
		<title>Please do not throw salami pizza away</title>
		<link>http://chsc.wordpress.com/2010/07/11/pizza-osi-networking/</link>
		<comments>http://chsc.wordpress.com/2010/07/11/pizza-osi-networking/#comments</comments>
		<pubDate>Sun, 11 Jul 2010 09:03:22 +0000</pubDate>
		<dc:creator>chsc</dc:creator>
				<category><![CDATA[networking]]></category>
		<category><![CDATA[osi]]></category>

		<guid isPermaLink="false">http://chsc.wordpress.com/?p=55</guid>
		<description><![CDATA[Remembering the seven layers of the OSI model for communications and computer networks can be confusing. I like the humorous way of remembering the names with this memorable sentence: Please Do Not Throw Salami Pizza Away. The first letters map to the names of the different OSI layers: Physical Layer Data Link Layer Network Layer [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=chsc.wordpress.com&#038;blog=6687823&#038;post=55&#038;subd=chsc&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Remembering the seven layers of the <a href="http://en.wikipedia.org/wiki/OSI_model">OSI model</a> for communications and computer networks can be confusing. I like the humorous way of remembering the names with this memorable sentence:</p>
<ul>
<li><strong>P</strong>lease</li>
<li><strong>D</strong>o</li>
<li><strong>N</strong>ot</li>
<li><strong>T</strong>hrow</li>
<li><strong>S</strong>alami</li>
<li><strong>P</strong>izza</li>
<li><strong>A</strong>way.</li>
</ul>
<p>The first letters map to the names of the different OSI layers:</p>
<ul>
<li><strong>P</strong>hysical Layer</li>
<li><strong>D</strong>ata Link Layer</li>
<li><strong>N</strong>etwork Layer</li>
<li><strong>T</strong>ransport Layer</li>
<li><strong>S</strong>ession Layer</li>
<li><strong>P</strong>resentation Layer</li>
<li><strong>A</strong>pplication Layer</li>
</ul>
<p>This works at least for computer people enjoying salami pizza. As a sidenote, <a href="http://en.wikipedia.org/wiki/Layer_8">Layer 8</a> is not part of the standard OSI model, although it can be important for troubleshooting problems in the real world.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/chsc.wordpress.com/55/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/chsc.wordpress.com/55/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=chsc.wordpress.com&#038;blog=6687823&#038;post=55&#038;subd=chsc&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://chsc.wordpress.com/2010/07/11/pizza-osi-networking/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/f45db1905b7b4f9f62784e1a24104854?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">chsc</media:title>
		</media:content>
	</item>
		<item>
		<title>C programming language most popular</title>
		<link>http://chsc.wordpress.com/2010/04/22/c-language-tiobe-inde/</link>
		<comments>http://chsc.wordpress.com/2010/04/22/c-language-tiobe-inde/#comments</comments>
		<pubDate>Thu, 22 Apr 2010 06:47:55 +0000</pubDate>
		<dc:creator>chsc</dc:creator>
				<category><![CDATA[programming]]></category>
		<category><![CDATA[c]]></category>

		<guid isPermaLink="false">http://chsc.wordpress.com/?p=47</guid>
		<description><![CDATA[Good news for C programmers: The April 2010 update of the TIOBE index shows that C is the most popular programming language. With about 18% it is close to Java, but 0.007% ahead. Of course, there is criticism of how to measure language popularity, and there are other methods as well. But it is good [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=chsc.wordpress.com&#038;blog=6687823&#038;post=47&#038;subd=chsc&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Good news for C programmers: The April 2010 update of the <a href="http://www.tiobe.com/index.php/content/paperinfo/tpci/">TIOBE index</a> shows that C is the most popular programming language. With about 18% it is close to Java, but 0.007% ahead. Of course, there is <a href="http://lambda-diode.com/programming/the-tiobe-index-is-meaningless">criticism</a> of how to measure language popularity, and there are <a href="http://en.wikipedia.org/wiki/Measuring_programming_language_popularity">other methods</a> as well. But it is good to know that <a href="http://www.ohloh.net/p/linux/contributors/13490492301084">doing low-level work in C</a> is staying on the popular and important side of software development.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/chsc.wordpress.com/47/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/chsc.wordpress.com/47/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=chsc.wordpress.com&#038;blog=6687823&#038;post=47&#038;subd=chsc&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://chsc.wordpress.com/2010/04/22/c-language-tiobe-inde/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/f45db1905b7b4f9f62784e1a24104854?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">chsc</media:title>
		</media:content>
	</item>
		<item>
		<title>Coding in C song</title>
		<link>http://chsc.wordpress.com/2010/03/14/coding-in-c-song/</link>
		<comments>http://chsc.wordpress.com/2010/03/14/coding-in-c-song/#comments</comments>
		<pubDate>Sun, 14 Mar 2010 20:04:50 +0000</pubDate>
		<dc:creator>chsc</dc:creator>
				<category><![CDATA[programming]]></category>
		<category><![CDATA[c]]></category>
		<category><![CDATA[music]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://chsc.wordpress.com/?p=42</guid>
		<description><![CDATA[This is a funny song for everybody writing C code:<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=chsc.wordpress.com&#038;blog=6687823&#038;post=42&#038;subd=chsc&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>This is a funny song for everybody writing C code:<br />
<span class='embed-youtube' style='text-align:center; display: block;'><iframe class='youtube-player' type='text/html' width='595' height='365' src='http://www.youtube.com/embed/_nn1QlUczNU?version=3&#038;rel=1&#038;fs=1&#038;showsearch=0&#038;showinfo=1&#038;iv_load_policy=1&#038;wmode=transparent' frameborder='0'></iframe></span></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/chsc.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/chsc.wordpress.com/42/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=chsc.wordpress.com&#038;blog=6687823&#038;post=42&#038;subd=chsc&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://chsc.wordpress.com/2010/03/14/coding-in-c-song/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/f45db1905b7b4f9f62784e1a24104854?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">chsc</media:title>
		</media:content>
	</item>
	</channel>
</rss>
