Version 0.9 of pycrc is a feature release. This version adds the experimental --slice-by option which can improve the calculation speed of the table-driven algorithm significantly..
Using Let's Encrypt in manual mode07 November 2015
This short guide is for people who want to have their web site certified by Let's Encrypt but can't or don't want to use the fully automated method of the letsencrypt tool. This text describes how to generate a private key and a certificate signing request for multiple domains, and finally how to use the letsencrypt command to submit the CSR. None of the described steps (apart from installing the private key and the certificate) require superuser privileges and they can be carried out on a separate machine. Note: See also the newer article about auto-renewal of Let's Encrypt certificates with acme_tiny. More...
pycrc v0.8.3 released31 August 2015
Version 0.8.3 of pycrc is a minor bugfix release. This version adds some performance optimisations in the table-driven code and improves the compatibility with C++ in the function signature of the crc_update() function. The experimental --bitwise-expression option was removed to improve future restructuring of the code. The pycrc project now has its own home: pycrc.org.
SpamAssassin with MySQL06 December 2014
The mail server for this domain has been using SpamAssassin for quite some time using a file-based back-end for dynamic data. However I ended up with a corrupted Bayes database on a regular basis. So I decided to configure SpamAssassin to store the user configuration and all volatile data like the auto-whitelist and Bayes database in MySQL. This post briefly describes my setup. More...
pycrc v0.8.2 released04 December 2014
Version 0.8.2 of pycrc is a bugfix release. It contains some fixes accumulated over the past year. Especially users which are using polynomials with a width less than 8 or greater than 32 might want to have a look at this release as it fixes some problems with the generated code.
DKIM with Postfix on Debian wheezy01 December 2014
Recently I have configured my mail server to use DomainKeys Identified Mail for all outgoing mail. This short article contains my notes how to set up DKIM with Postfix on Debian wheezy. More...
Corrupted MAC on input during ssh file transfer in Debian Linux25 October 2014
Recently a lot of backups with obnam to my Qnap NAS terminated with the error message Corrupted MAC on input. Some web search revealed that this is caused by a bug with hardware TCP offloading in the network interface controller driver in the Linux kernel. It's relatively easy to find how to suppress this error by disabling TCP offloading with the ethtool tool, but this setting is active only until the next reboot. The text describes how to permanently disable TCP offloading in Debian Linux. More...
A method for using project-specific settings in Vim18 September 2014
It is sometimes necessary to keep different settings for the editor of choice (Vim in my case) depending on the project. The article describes a way to achieve this by creating a command that enables the necessary options in Vim. More...
This simple cmake configuration for Doxygen tries to automate as much as possible. It provides an optional make doc target and uses the configure_file() function from cmake to copy the project version number from CMakeLists.txt to the Doxygen configuration file and provides a way to use other variables from cmake. More...
Pictures from Crete09 June 2014
Some pictures from Crete, Greece. I really can recommend Crete to anyone who wants to combine sea and walks in the mountains in one holiday (plus fantastic food, welcoming people). More...
After trying out a few command line scripts I have decided to write my own small script to generate full and incremental backups. This script is based on tar and can handle a number of separate configurations. More...
Better layout on mobile devices23 June 2013
After some procrastination I have updated the CSS configuration of this website to give better results on mobile devices. When I had to browse my website with a mobile device during my holidays, I had realised that the old CSS settings make this page not usable on smaller screens. Update 2013-07-21: added navigation buttons to the picture galleries.
Version 0.8.1 of pycrc is a bugfix release. It improves the compatible with Python3 compatibility and adds a function to the python library: the input to the PRC routines can now be bytes or strings. Removed the obsolete and unused direct parameter and fixed a bug in the generated main() function. Thanks to Matthias Urlichs. Fixed a bug in the handling of hex strings in Python3. Thanks to Matthias Kuehlewein.
sed-tutorium v1.9 and v1.10, EPUB output21 March 2013
Version v1.9 of the German introduction to sed (released on the 3rd March) changed the DocBook style to version 5. The source file is now finally encoded in UTF-8. Welcome to the 21st Century! The text itself was only marginally changed. Version v1.10 (released in the 21st March) adds a new section describing the 'l' command. The DocBook source code is now published on GitHub. From now on I'm also generating EPUB output file. More...
pycrc v0.8 released04 January 2013
Version 0.8 of pycrc is a feature release. Among smaller enhancements such as an improved documentation a new Code generation mode was implemented. The experimental Option bitwise-expression implements the look-up table of the table-driven mode as a boolean expression.
Added link to my new project qm.py26 November 2012
Version 0.7.11 of pycrc is a minor bugfix release. Improved Python 3 compatibility. pycrc now requires Python 2.6 or later. Fixed a wrong "check" value of the crc-64-jones model. Use sprintf() for C89 code instead of snprintf(). Rewrote the regression test script in Python.
Version 0.7.10 of pycrc is a minor feature and bugfix release. The new CRC models crc-12-3gpp, crc-16-genibus, crc-32-bzip2 and crc-64-xz are added. Some bad-looking generated C code is fixed and some minor documentation blunders are removed.
pycrc v0.7.9 released08 December 2011
Version 0.7.9 of pycrc fixes a few smaller issues in the code generator. It does no more include stdint.h for C89/ANSI code missed in the last version.
An introduction to the mail-filter-language Sieve16 July 2011
I have written a Sieve filter tutorial. I have recently installed Dovecot IMAP server and on that occasion I started using Sieve. While learning that (simple) language I have put down some notes. More...
pycrc v0.7.8 released10 July 2011
Version 0.7.8 of pycrc fixes a few smaller issues in the code generator. It does no more include stdint.h for C89/ANSI code and fixes a few compiler warnings.
IPv6 support on tty1.net28 May 2011
This web site site can now be reached over native IPv6. More...
pycrc v0.7.7 released11 February 2011
Version 0.7.7 of pycrc fixes a few issues, most of them programming style issues. This version should run better on Python 3.x.
pycrc v0.7.6 released21 October 2010
Version 0.7.6 of pycrc fixes a couple of minor bugs. It also contains a complete rewrite of the code generator.
ifconfig vs ip21 April 2010
For a long time I have tried to avoid learning the ip command. It turned out a smaller beast than I thought and it is actually very useful. This page compares basic operations done once with ifconfig, once with ip. I hope this will help people to get used to the new syntax. More...
Version 0.7.5 of pycrc adds a long-awaited feature: the table-driven algorithm can handle widths that are not byte-aligned as well as widths less than 8. This version also removes the half-baked and confusing --direct option and contains some code tidy-up. The generated C code should no more generate warnings about unused variables.
userial firmware v1.925 March 2010
userial firmware v1.9 is a minor bugfix release. This release is the first firmware version that supports David Fletcher's Bumble-B board. This version also uses the newest LUFA library 100219 and fixes a few bugs: the SPI clock divider was never written to the right register (thanks to Erik Schönewerk) and the GPIO read command returned the value of PORTx but not PINx (thanks to David Fletcher). More...
Version 0.7.4 of pycrc is a feature enhancement and bug fix release. As a result from the comparison with Greg Cook's Catalogue of parametrised CRC algorithms some parameters have changed. This version also contains a few minor bug fixes.
userial firmware v1.8 is a minor bugfix release. This version fixes a bug in the calculation of the SPI frequency. Many thanks to Zoran Stojkovic. More...
pycrc v0.7.3 released25 October 2009
Version 0.7.3 of pycrc is only a small feature enhancement release: a new CRC model, crc-64-jones was added. Thanks to Waterspirit.
How to print a booklet under Linux without a duplex printer11 October 2009
A short text on how to generate and print booklets under Linux. It is the result of a lengthy trial-and-error processes. That's why I went to sketch the necessary steps down, mainly for my own use. More...
10,000 downloads of pycrc10 October 2009
Today pycrc has passed the threshold of 10,000 downloads. We hope as many people have enjoyed working with pycrc. Thanks to everyone who has contributed!
Setting up a HP LaserJet 2100tn for printing with Linux04 October 2009
Recently, I got a HP LaserJet 2100tn. This page describes the configuration steps I took to set it up to fit my needs printing from Linux. More...
pycrc v0.7.2 released30 September 2009
Version 0.7.2 of pycrc is a small bugfix release: the result of the Python table-driven code was not being evaluated at all. Thanks to Ildar Muslukhov.
userial firmware v1.726 September 2009
Firmware v1.7 of userial is out! This version adds support for ADC ports and updates to LUFA version 090924. More...
Digital Filters with GNU Octave12 September 2009
Just a short note on how to design a Digital Filter with GNU Octave More...
Generating audio with GNU Octave04 September 2009
Once again I (=someone who uses Octave very rarely) found myself spending too much time figuring out how to do something in GNU Octave: this time I had to generate a simple sine wave and to save it in an audio file (with fade-in and out). The following article outlines how to do it. More...
Pictures from the Carnaval del Pueblo02 August 2009
Version v1.6 of the German introduction to sed changed the DocBook style from "article" to "book". Many more examples have been added and the index has been extended. Many thanks to "Max" (Rem Remedy). More...
pycrc v0.7.1 released05 April 2009
Version 0.7.1 of pycrc is only a small feature enhancement release: a new CRC model, crc-32mpeg (now crc-32-mpeg) was added. Thanks to Thomas Edwards.
Optimisations of AVR programs using avr-gcc12 March 2009
Firmware v1.6 of userial is out! This version adds a new command for I²C bus clear and fixes a bug that has plagued me for some time now: when userial was transmitting 16 bytes on the USB bus, the data was kept in the transmit buffer until the next command. More...
pycrc version 0.7 released27 February 2009
Version 0.7 of pycrc contains a few small enhancements on the command interface. It is now possible to calculate directly the checksum of a hexadecimal number without writing its binary value into a file. A new option that controls if the 'direct' version (no augmented message) of the algorithm is being executed has been added to the options.
userial firmware v1.525 January 2009
The firmware has been updated. Now all interfaces apart from the ADC port are now supported. More...
pycrc version 0.6.7 released11 December 2008
Version 0.6.7 of pycrc should now run on both Python v2.x and v3.0. This version also fixes a bug that raised an exception when a unknown CRC model was selected. Another bug that gave the wrong result on 64 bit platforms has also been fixed.
The version v1.4 of the German introduction to sed fixes a few typos. But the real reason for bumping up the version number is the change in the tools: I'm abandoning db2pdf and have started using fop to generate the PDF file. And whilst I was screwing with the generator, I was also beefing up the layout of the DocBook output. More...
Script to rename a svn:author01 July 2008
The following Script helps to rename an author in the Subversion log. More...
After having rewritten for the third time a script to generate SVN backups (in three different situations), I have decided to put a sample script online so I don't have to re-invent the wheel the next time. More...
USB to I²C bridge10 May 2008
This is my first hardware project and it is still in an embryonic state, but the first version of the schematic can be downloaded. More...
Modern "C" Coding Guideline27 April 2008
It happened several times now that I'm involved in writing some Coding guidelines (basically in every company I've worked for). And every time I searched the Web for some sensible rules I did not find anything that would recommend as a whole. These guidelines are an attempt to propose modern C coding rules. Comments are welcome. More...
sed-tutorium v1.313 April 2008
Version v1.3 of the German introduction to sed has undergone a thorough spell check. If I missed the one or the other error, please don't hesitate to report it! More...
The German introduction to sed corrects some minor bugs in v1.2. The biggest difference is the switch from the GNU FDL to a Creative Commons Attribution-Share Alike 3.0 Unported License. More...
pycrc version 0.6.5 released02 March 2008
Version 0.6.5 of pycrc supports now two new CRC models (dallas-1-wire and r-crc-16). This version fixes also a problem in the generated source code for the bit-by-bit-fast algorithm and adds increases the compatibility with C++.
After one year and a half I have finally managed to work through my pictures from England and to put some of them online. More pictures are found in the page photo. More...
pycrc version 0.6.3 released13 October 2007
Version 0.6.3 of pycrc adds a few new CRC models (crc-5, crc-15, crc-16-usb, crc-24, crc-64) and fixes a few bugs in the generated code. C89 code is now completely ANSI compatible and should work in systems without <stdlib.h>. A bug in the --check-file option has been fixed and an unnecessary restriction on the width of the Bit-by-Bit algorithm has been removed.
Transparent Subversion proxy with svnsync + WebDAV proxy26 August 2007
Version 0.6.2 of pycrc is a minor bugfix release. Bug fixes: the command line option --check-string was ignored and the generated source code for the table-driven algorithm has been improved. No new functions are added.
pycrc version 0.6.1 released12 August 2007
Version 0.6.1 of pycrc is a minor bugfix release. In particular, the new C89 code introduced a couple of bugs which are now gone. Previously deprecated command line options have dropped in this version. No new functions are added.
pycrc version 0.6 has been released. This release contains a major rewrite of the code generation back-end and a re-organisation of the source code. There are also several other minor improvements. With version v0.6 the license has changed from (a modified) GPLv2 to MIT.
Linux support for Samsung YP-T906 April 2007
Yay! I have got my brand new Samsung YP-T9 MP3 player connected with Linux and I am listening to Ogg Vorbis files on it while writing these lines! More...
pycrc version 0.5 released25 March 2007
pycrc version 0.5 has been released. This version contains small bug fixes and no new functions.
sed-tutorium v1.020 February 2007
The German introduction to sed has bumped the version number to 1.0. This version contains some minor changes and corrects several typos (Thanks to Thomas Falkner). More...
An example script for an iptables firewall06 February 2007
The Linux User Group Bolzano has organised the 7th edition of the GNU/Linux Installation Party in Bolzano (IT) on the 28 February. Everyone interested in this event is welcome.
Workshop: Introduction to Shell Scripting26 April 2003
The Linux User Group Bolzano is organising an introduction to Shell Scripting. We invite everyone to participate. More information can be found on the Workshops page of the LUGBZ. The slides can be seen here.
Workshop: Introduction to sed and awk25 January 2003
The Linux User Group Bolzano is organising an introduction to sed and awk. We invite everyone to participate. More information is available on the Workshops page of the LUGBZ.