Wrapping up my previous job in Linux kernel device driver development

December 26, 2012 Leave a comment

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:

The team authoring the Performance Measurement and Tuning Redbook kindly thanked me for contributing. While working in this position, i also co-authored the article IBM zEnterprise storage I/O advancements in the IBM Journal of Research and Development.

Since i am no longer working in that position, please not that this information might be outdated. Please see the official web page for the latest information and contact information.

Categories: Linux Tags: , ,

TCP/IP and the open Internet

October 3, 2012 Leave a comment

Being interested in technology and having played with voice over IP before, i came across the Disruptive Telephony blog. The article “Slides: How The Hidden Secret of TCP/IP Affects Real-time Communications” references the presentation “The hidden secret of TCP/IP and the internet” 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.

Categories: internet Tags: ,

script

August 3, 2011 Leave a comment

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
$ ls x/
$ exit
exit

Script done on Wed 03 Aug 2011 02:33:41 PM MST
Categories: Linux Tags: ,

hamfax 0.6.5

June 17, 2011 Leave a comment

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.

Categories: Linux, programming Tags:

Using googlecl to query google contacts from mutt

June 7, 2011 5 comments

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 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:

set query_command = "mutt-google-contacts '%s'"

Here is the script:

#!/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) >= 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) > 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
Categories: programming Tags: , ,
Follow

Get every new post delivered to your Inbox.