Friends

Should C Programmers learn C++, Go or Rust?

Bert Hubert - Mon, 2018-07-30 14:35
I recently wrote a series of posts called ‘Modern C++ for C Programmers’. I mentioned in the introduction: “I hope to convince C programmers to give ‘2017 era C++’ (which is entirely unlike 2003 C++) another good look. (…) My goal is that when you go look for a new language to learn (say, Go or Rust), you will hopefully consider modern C++ as well.” Over the weeks as I posted new parts, I was blown away by the interest.
Categories: Friends, Jobs, News, Software

Modern C++ for C Programmers: introduction

Bert Hubert - Sat, 2018-07-28 13:29
2018 is an exciting time to be a programmer, with so many good “full service” programming languages to choose from: C, C++ 2017, Go, Python, Rust and who knows Swift too. Programming languages are complicated beasts - even the simplest languages have specifications that run (or would run) in the hundreds of pages, and once you include everything, no serious language is likely to clock in under a thousand. With this comes the fact that every programming language has good parts, and frequently even more bad parts.
Categories: Friends, Jobs, News, Software

Modern C++ for C Programmers: Part 5

Bert Hubert - Wed, 2018-07-25 11:26
Welcome back! In part 4 we went over the nitty-gritty of lambdas and how to store them, we explored the relation between the various C++ algorithms and containers, plus we took a stroll through some non-standard containers with exceptional capabilities. Note: part 1 is here. In this probably final part 5, we’ll be going over some of the most powerful stuff in modern C++: “perfect” reference counting and the concept of std::move.
Categories: Friends, Jobs, News, Software

Modern C++ for C Programmers: Part 4

Bert Hubert - Thu, 2018-07-12 13:07
Welcome back! In part 3 I discussed classes, polymorphism, references and templates, and finally built a source indexer out of basic containers that achieves 60MB/s indexing speed. In this part we continue with further C++ features that you can use to spice up your code ’line by line’, without immediately having to use all 1400 pages of ‘The C++ Programming Language’. There is frequent reference to the indexing example from part 3 so you may want to make sure you know what that is about.
Categories: Friends, Jobs, News, Software

Werving nieuwe collega's: niet zo moeilijk, toch gaat het fout

Bert Hubert - Mon, 2018-07-09 11:05
Welkom! Veel bedrijven en scholen in mijn omgeving worstelen op dit moment met het vinden van personeel. Sinds 1999 neem ik mensen aan en help ik bij werving, voor mijn eigen bedrijf & dat van anderen, maar ook voor scholen en instellingen. En als ik eerlijk ben, ik ben er inmiddels best goed in. In ieder geval ben ik onvoorstelbaar trots op de uitstekende mensen die ik heb kunnen overtuigen bij me te werken!
Categories: Friends, Jobs, News, Software

Modern C++ for C Programmers: Part 3

Bert Hubert - Mon, 2018-07-02 21:30
Welcome back! In part 2 I discussed basic classes, threading, atomic operations, smart pointers, resource acquisition and (very briefly) namespaces. In this part we continue with further C++ features that you can use to spice up your code ’line by line’, without immediately having to use all 1400 pages of ‘The C++ Programming Language’. Various code samples discussed here can be found on GitHub. If you have any favorite things you’d like to see discussed or questions, please hit me up on @bert_hu_bert or bert@hubertnet.
Categories: Friends, Jobs, News, Software

Modern C++ for C programmers: part 2

Bert Hubert - Thu, 2018-06-14 20:26
Welcome back! In part 1 I discussed how std::string and std::vector interoperate with C, including with the C standard library qsort call. We also discovered that the C++ std::sort is 40% faster than C qsort because C++ is able to inline the comparison function. In this part we continue with further C++ features that you can use to spice up your code ’line by line’, without immediately having to use all 1400 pages of ‘The C++ Programming Language’.
Categories: Friends, Jobs, News, Software

Modern C++ for C Programmers: part 1

Bert Hubert - Wed, 2018-06-13 21:04
Welcome to part 1 of Modern C++ for C Programmers, please see the introduction for the goals and context of this series. In this part we start with C++ features that you can use to spice up your code ’line by line’, without immediately having to use all 1400 pages of ‘The C++ Programming Language’. Various code samples discussed here can be found on GitHub. Relation between C and C++ C and C++ are actually very close relatives, to the point that many compilers have unified infrastructure for both languages.
Categories: Friends, Jobs, News, Software

Under-prepared Meetings

Bert Hubert - Tue, 2018-05-29 19:13
Ahhh.. meetings. The one old school company thing that survives in this agile, open-office, ‘remote first’, nomadic worker world. And it is easy to see why: the ‘meeting’ is the last guaranteed way to get everyone to pay attention for an hour, or at least, pretend to. It still is rare for people to fake attending two meetings at the same time in any case. The late great Andrew S. Grove, long time CEO of Intel and overall hero engineer, wrote the massively important book High Output Management.
Categories: Friends, Jobs, News, Software

Spectre & Meltdown: tapping into the CPU's subconscious thoughts

Bert Hubert - Sat, 2018-01-06 10:34
Comments are very welcome on bert@hubertnet.nl or @bert_hu_bert. Update: several constructive remarks have been used to improve this text. Thanks! In this post I will attempt to fully explain the Spectre and Meltdown vulnerabilities in an accessible way. I decided to write it up after I realised it took me more than a day to figure it out, even though I’ve been doing security related stuff on CPUs for 20 years.
Categories: Friends, Jobs, News, Software

Kolmo

Bert Hubert - Tue, 2017-10-24 10:24
Welcome to Kolmo There are three avenues to learn about Kolmo (GitHub). There are two Youtube videos, one from the most excellent NLNOG 2017, the other from the equally excellent UKNOF 38. These videos explain a lot of the the history and the ‘why’ behind Kolmo. There is also the kolmo.org website, which is ‘self-hosted’ by the ws Kolmo-powered webserver. Finally, there is this post, in which I focus on what Kolmo actually does, without spending much time on the ‘why’ or the history.
Categories: Friends, Jobs, News, Software

Some brief notes on making ethernet cables

Bert Hubert - Sat, 2017-09-30 20:07
Some brief notes on making ethernet cables With thanks to the most excellent NLNOG for a lot of mostly correct advice! Friends will tell you “crimping” ethernet cables is easy. Most of your friends either have overly rosy memories, or have practiced on 200 cables before telling you it is now easy. It is not easy. This page is for if you have a few extra euros/dollars/coins to spare, and don’t want to spend rare hours of concentrated effort to crimp an ethernet cable using unfamiliar equipment and supplies.
Categories: Friends, Jobs, News, Software

Bol Com Vacature

Bert Hubert - Sat, 2017-08-19 21:08
Onlangs vond ik via LinkedIn een advertentie voor de vacature ‘Senior Category Manager Domestic Appliances’ bij bol.com. Hierin stond zoveel wartaal dat ik het de moeite vond een ‘best of’ selectie te delen op Facebook. Daar vond men het ook erg grappig. Desondanks is het de moeite waard de vacature te decoderen: wat staat hier nou eigenlijk? Of exacter, wat bedoelen deze mensen. Komt ie. Update: Inhoudelijke reactie van bol.com in De Telegraaf
Categories: Friends, Jobs, News, Software

Dna the Code of Life

Bert Hubert - Sat, 2017-08-12 20:01
DNA: The Code of Life At the most magical SHA2017 gathering I gave two presentations, “DNA: The Code of Life” and the followup, “DNA: More greatest hits” (slides). The first presentation was recorded by the wonderful CCC C3VOC streaming crew, the second one by my friend Bart Smit (who is also wonderful). Without making this post too long, I want to thank everyone who helped me do this presentation — a lot of people contributed time, advice, recording abilities, great questions and enthusiasm.
Categories: Friends, Jobs, News, Software

Talking to Technical People

Bert Hubert - Fri, 2017-07-07 20:35
(Don’t) drop the hint: communicating with technical people This post is a subset of the presentation “Escaping the data center — tales from a recovering manager”. Video, slides. When we communicate at the office, we frequently do not directly say what we mean. A common conversation might go like this “Hey John, we did a survey and it turns out people can’t find what they are looking for on our website”.
Categories: Friends, Jobs, News, Software

Encrypting IP Addresses

Bert Hubert - Sun, 2017-05-07 20:46
On IP address encryption: security analysis with respect for privacy Frequently, privacy concerns and regulations get in the way of security analysis. I’m a big fan of privacy, but I’m also a big fan of security and preventing people from getting hacked. If you are hacked you have no privacy either. Per-customer/subscriber traces are extremely useful for researching the security of networks. Specifically, lists of DNS requests per IP address make spotting infected users or infected devices very easy, especially if you look at “yesterday’s traffic” and compare it to today’s threat intelligence.
Categories: Friends, Jobs, News, Software

On Linux Vdso and Clockgettime

Bert Hubert - Fri, 2017-03-24 19:22
On Linux vDSO and clock_gettime sometimes being slow Like the previous post on this somewhat dormant blog, I want to share an oddity I discovered that no search engine could really find for me - even though once I found what the problem was, it turns out I was by no means the first person to discover this. Some system calls that are used extremely frequently in Linux can be speeded up by a mechanism called vDSO: a virtual dynamically linked shared object.
Categories: Friends, Jobs, News, Software

Optimizing optimizing: some insights that led to a 400% speedup of PowerDNS

Bert Hubert - Thu, 2016-09-22 14:16
So no matter how pretty your code, eventually someone will benchmark it and demand top performance. Squeezing microseconds is a very addictive and even destructive activity. It ruins your evenings, destroys your ability to converse with human beings and typically leaves your code in a mess. No programmer can escape it however: the world demands speed, or a somewhat equivalent modern measure, longer battery life. Squeezing out more performance is not just a matter of “writing better code”.
Categories: Friends, Jobs, News, Software

How About Some Actual Innovation

Bert Hubert - Sun, 2016-04-17 20:45
A meandering walk through innovation that also reviews a book This article is part of a series on (European) innovation and capabilities. I care deeply about innovation. It is literally where the future comes from, but it is a curious thing. Innovation and its more powerful partner, invention proceed at a snail’s pace. “In a world where change is the only constant” is a lie. It took this world 20 years to invent a decent can opener.
Categories: Friends, Jobs, News, Software

How Many Hours for Multithreading the Server?

Bert Hubert - Tue, 2014-09-02 20:25
How many hours for multithreading the server? Or: dealing with overly detailed project planning Many developers, me included, dread that moment. Someone sits down with you and wants to know how many “hours” each step of the project will take. And of course the thing is, if you are doing something that has been done many times before, you might be able to provide a detailed estimate. People that build houses work like this, but they still often get it wrong.
Categories: Friends, Jobs, News, Software

Pages