(Classic) PC games online – without DRM

It’s time for a non-technical post. Why? Because I got to know a website selling PC games with a philosophy I’d like to support: „We don’t believe in DRM“ is their statement.
Read the rest of this entry »

Public Key Cryptography in Mozilla extensions

In some cases it is desired to encrypt communication. Assuming X.509 certificates at hand, it is quite simple to prepare messages according to Cryptographic Message Syntax (CMS) in extensions using built-in XPCOM features. But how this works is not yet documented on MDN and also the rest of the web is not telling much about it.
Read the rest of this entry »

When Winamp doesn’t detect portable devices

After some time of consideration I decided that a Sony NWZ-S765 is going to replace my broken mp3 player. One main aspect was that the player supports playlists which can be managed with audio software like Winamp so I could use my regular audio player.

The problem

On my laptop managing playlists with Winamp worked as expected. Everything fine so far. But when I wanted to configure the player from the Winamp installation on my desktop PC it simply didn’t recognize the player and even updating Winamp changed nothing.
Read the rest of this entry »

Retrieve bibliographic data via Z39.50 with PHPYAZ

Z39.50 is a protocol common in library environments to query and retrieve bibliographic data, for example to fetch additional meta data like author, publication date etc. for a book by its ISBN. Libraries use it to import title records from other libraries or data providers.

Being confronted with the implementation of an application using this protocol as a non-specialist in library system matters requires insights in some standards used in this field, in particular MARC, MAB (English translation of fields >= 90 here) and the Bib-1-Attribute Set.

In the following I’ll describe how to set up an environment for using Z39.50 in PHP and process basic queries on the basis of PHPYAZ provided by Index Data as a free-to-use extension.
Read the rest of this entry »

Setting up the Gecko SDK with Visual Studio 2010

When you want to get started with the Gecko SDK to build your first binary HelloWorld XPCOM component you likely stumble upon this page in the MDN describing how to do that. Unfortunately it is not up to date. The changes introduced with Gecko 2.0 can be found here.

The necessary steps to set up a development environment for a C++ XPCOM component in Visaual Studio 2010 require to adapt the right things from both articles, so here we go.
Read the rest of this entry »

Copy and paste problem in Eclipse under XFCE

At my student job we encountered the problem that within Eclipse, we use Galileo (3.5), copy and paste frequently failed. Sometimes it helped to hit Ctrl+C a couple of times but this was annoying and didn’t work reliable.

So I started to search the web for a more convenient solution. In the beginning I didn’t suspect our desktop XFCE but when I tried what is suggested here our issue seemed to be solved. The linked post advises to disable the autostart for the xfce4-settings-helper and stop running instances. After doing this, copy and paste in Eclipse immediately worked again. Repeatable. Without failure between two attempts.

Trouble with ntpdate: „Can’t adjust the time of day“

To have a correct server time ntpd is a commonly used daemon. It periodically synchronizes the local server time with a time server. Some days ago I recognized that the time on a server I administrate is two hours slow. So I tried to manually update the time using the ntpdate tool. But all I got was the following:

root@foobar:/$ ntpdate -u 3.debian.pool.ntp.org
ntpdate[1337]: Can't adjust the time of day: Operation not permitted

Read the rest of this entry »

Parse emails with RegEx

Some days ago I wrote a parser for MIME mails. MIME extends the structure of simple emails (RFC 2822) to allow for non-ASCII / binary attachments and shipping alternative versions of the content (e.g. HTML for rich and plaintext for text clients).

The parser is written in JavaScript, therefore any code examples will be JS – but the regular expressions used can be adapted for other languages of course.

The target

MIME mails are characterized by the version header which is added to the other headers. It always is 'MIME-Version: 1.0' as there is no other version. More changes apply to the body structure. Where simple mails directly start with the actual message, MIME mails declare additional headers to describe the body contents (content type and encoding) and in case of multipart messages also its structure.
Read the rest of this entry »

Studienplanvorlagen für Bachelor und Master Informatik

Dieser Post ist lediglich ein Hinweis auf die Studienplan-Vorlagen für die (Kern-) Informatik-Studiengänge an der TU Kaiserslautern, die ich hier veröffentlicht habe.

Bachelorplan

 

 

 

 

 

 

 

 

Danke für die Aufmerksamkeit und gute Reise.

UTF-8 emails with PHP and Mail_Mime

The web application I’m developing as a student job needs to send emails. „Unfortunately“ these emails sometimes contain non-ASCII characters like umlauts or whatever. Stumbled upon broken characters the first time I used the first solution that came along (cited from php.net):

  1. <?
  2.   function mail_utf8($to, $subject = '(No)', $msg = '', $header = '') {
  3.       $header_ = 'MIME-Version: 1.0' . "\r\n"
  4.       $header_ .= 'Content-type: text/plain; charset=UTF-8' . "\r\n";
  5.       mail($to, '=?UTF-8?B?'.base64_encode($subject).'?=', $msg, $header_ . $header);
  6.   }
  7. ?>

Then some day a mail server which received one of the mails sent with this function replied with a delivery status notification which said:

Your message WAS SUCCESSFULLY RELAYED to: <foo@bar.com>
 INVALID HEADER: INVALID 8-BIT CHARACTERS IN HEADER SECTION

Read the rest of this entry »