Category Archives: Linux

IPv6 Support

As it is common for IT conferences, FOSDEM has had Wi-Fi available for all. Only IPv6 though. No IPv4. It put me to shame, because I realised that I could not check my email and reach my blog in these circumstances. This gave me enough motivation to go through IPv6 certification program from Hurricane Electric. They provide almost no theoretical information to go through, only practical tasks. You need to figure out by yourself how to complete them. Challenging? Not really, but I’ve learned a lot about IPv6 while googling and researching about each task. I can recommend it for everyone interested in the subject!My certificate
By the way, because these were very practical tasks, at the end I got a completely working IPv6 setup on my server. I can be sure that I’ll be able to check my mail now in IPv6-only environment.

Perfect SSL in Apache

Thanks to Edward Snowden we have learned a lot about threats from various(although mostly US) governments. We started to think more about secure technologies and cryptography. I was advertising high security standards even before the Snowden’s leaks. Some of my friends thought that I was being paranoid. Now everyone knows better than to trust RSA or any of their products. Everyone is aware of malware designed by intelligence agencies. Universal snooping isn’t an Orwell’s fantasy anymore, it’s reality.

HTTPS everywhere Continue reading Perfect SSL in Apache

Sanguinews Development. Continued.

Getting back to development isn’t easy. Some parts of code, which seamed logical few months ago, now look strange. You need to recall what some functions do and why you did put them there. It’s tough. It’s almost like reading someone else’s code. Nonetheless it’s still fun. Otherwise I wouldn’t do it.

I continue to go through parts I didn’t like before and improve them. This time I introduced a way to queue file encoding jobs. Before encoding was being done sequentially – one file after another.  With fast enough computer with a good upload speed it resulted in spikes on a network speed graph. Not pretty.

Version 0.80 fixes this behaviour and improves upload speed a bit as a result. So, if you are running an older version, it’s time to upgrade!

Minor update

The last few month were kinda busy for me. Lots of travel, lots of training, lots of new challenges. Only now I’m getting back to, sadly slowly, sanguinews’ development.

Thanks to your feedback, unexpected behaviour was fixed. On some systems sanguinews wasn’t working. Definitely a nasty bug.

Starting version 0.71 files will be also uploaded in alphabetical order(sorting was system dependant before; sometimes files were sorted in one order, sometimes in another). This closes issue #27.

That’s it. As I said, nothing major, nothing game breaking, but the app just got better nonetheless!

LinuxCon. Day III. Final.

The third(and the last) day for me can be summarised pretty easily by “I saw Linus!”. 🙂 Indeed, I saw Linus, although I almost missed his keynote. I got kinda late(10 minutes before the start) to the room where the talk was supposed to take place and the organisers weren’t letting anyone in despite lots of chairs being free inside. I believe that it had something to do with german buerocracy and they were following some strange process. But before riots started, some woman from US came in and put pressure on local organizers to let us in. To our joy they gave up and let us in, right before the Linus’ talk(Note to self: come earlier next time).Linus Continue reading LinuxCon. Day III. Final.

LinuxCon. Day I. First impressions.

LinuxCon LogoI always wanted to visit LinuxCon, but for various reasons couldn’t. This year I am attending this event and hopefully I’ll be able to meet Linus Torvalds and Lennard Poettering. The former just because he is, well, Linus Torvalds and the latter – because I want to say to him personally everything I am thinking about systemdContinue reading LinuxCon. Day I. First impressions.

Still polishing my gem

It took me a while to realise why I was seeing some upload speed drops in sanguinews. And when I did realise why it was happening(because of inefficient crc32 calculation), it took me quite some time to restructure internal logic in the code. But now, I am quite satisfied with the result.

Version 0.70 is fast, stable and feature rich. I think that I’ll switch version number to 1.0.0 after implementing header check server. I was able to reach 9MB/s(no SSL) and 6.5MB/s(with SSL) on my low-end test machine. I think more isn’t even physically possible on it. So, don’t hesitate to upgrade. It’s definitely worth it!

Encode faster with newest version

I know that I told in comments that I dislike coding in C. Nothing has changed. I really do, but nonetheless I enjoy optimising code as much as it’s possible. That’s why I liked coding in assembler in university and that’s why I felt motivated enough to delve into theory of CRC32 calculation. So, the newest update brings less IO overhead and less CPU cycles for the whole yencoding process. It will help you achieve better speed when uploading(still limited to your usual network throughput though).

Nothing groundbreaking. About 10%, but I am planning to improve performance even more by getting rid of Zlib’s CRC32 algorithm completely. I am still using it to calculate CRC32 for the whole file. It is inefficient in this case. So, it needs to be changed. It means more C code.  🙁

For the time being, you can download the latest version from or get it with gem install sanguinews command.