While writing automated tests for Referer Modifier with Selenium, one tricky question to solve was: How do I automatically configure the freshly installed Firefox add-on?
Tag Archives: programming
GnuTLS and GLib, Part 2: Socket layer
A description of how to let GnuTLS use a GSocket as transport layer.
GnuTLS and GLib, Part 1: Threads
[Edit (2011-12-25)] It looks like the way to select the the mutex functions changed slightly since I published this post. Please consult the current documentation to see the difference! [/Edit] When a network application needs privacy and possibly authentication, using SSL or TLS is often the solution. One of the libraries that are commonly usedContinue reading “GnuTLS and GLib, Part 1: Threads”
Getting network interface information in Java
How to get all available interfaces on the local host in Java, with a few additional hints for Android.
What is a mutex?
The concept of a “mutex” is somewhat difficult to understand at first. This is my attempt at a simple explanation.
Using GVariant tuples
How to use GVariant tuples, explained by examples.
First steps with libnl
How to find out the IP addresses associated with an interface via libnl, and some GLib stuff I learned in the process.
SCTP socket in stream mode
SCTP sockets can operate in two modes: SOCK_SEQPACKET or SOCK_STREAM. When migrating my server from UDP to SCTP, I initially used the sequential packet mode. However, changing to stream mode offered me two significant advantages: I use threads to process data from different clients. With sequential packet mode, the callback for new data has toContinue reading “SCTP socket in stream mode”
Using SCTP in GLib
A while ago, I wrote about using a UDP socket as event source in GLib. Now, I’m migrating my program to SCTP. The main reason is that SCTP provides reliability for sequential messages, but some of the advanced features might become useful later. Surprisingly few changes were necessary in my program: Create the socket withContinue reading “Using SCTP in GLib”
Events and threads: A mutex is not enough!
While mutexes, used the right way, prevent colliding memory access, they don’t magically solve other pitfalls of multi-threaded operation. About the ensuing trouble and the lesson learned.