Domains of expertise

As a seasoned C/C++ developer I have accumulated expertise in these domains:

My services are of course not restricted to these domains, but this information should help you with the choice to contact me.

Linux kernel development

I have over seven years of experience with Linux kernel development, giving me a great affinity with the internal implementation details of the Linux operating system. I am an established member of the Linux kernel community as the author of the Linux bridge firewall application ebtables. My technical background contains topics such as:

  • Affinity with the Linux networking stack
  • Thorough knowledge of the implementation of the firewall tools iptables, arptables and ebtables
  • Kernel code debugging with user-mode Linux
  • Interaction between the kernel and userspace programs

Network technology

As the author of the Linux bridge firewall application ebtables I have much experience with network technology. My experience encompasses the development of network-enabled applications, the analysis of network behavior and the design of network configurations. My technical background consists, among others, of:

  • Network protocols
  • TCP, UDP, ICMP, IP, ARP, Ethernet, PPPoE, vlan, IPv6
  • Standard network monitoring and profiling tools such as wireshark, tcpdump and scapy
  • C/C++ network code development (POSIX)
  • Client-server architectures
  • Packet processing
  • Inter-process communication
  • Multi-threading

Digital signal processing

I have a thorough theoretical understanding of the mathematical background of digital signal processing. I also have years of practical experience with the implementation of dsp algorithms in Matlab, on pc (C and C++) and on embedded systems (C, assembly, vhdl). Amongst others, I have experience with the implementation of audio codecs (such as the Bluetooth subband codec), packet loss concealment algorithms, speeding up and slowing down speech while preserving pitch and microphone array processing. My experience includes subjects such as:

  • Fir/iir filters, fft
  • Filter design
  • Audio codecs
  • Audio processing
  • Fixed point and floating point implementation
  • Implementation in Matlab and/or C
  • Speed optimization in assembly for specific architectures
  • Code development on embedded systems (dsp, microcontroller, fpga)

Algorithm design

My experience includes the implementation of algorithms based both on a given standard or on specific non-standard requirements. This involves steps such as:

  • design a Matlab model and experiment inside Matlab
  • implementation of standard specs or custom design
  • port to C and specific architectures
  • write clear accompanying documentation

Last modified on 26-10-2013