Programming Leftovers
-
[Repeat] We invested 10% to pay back tech debt; Here's what happened
I kept my feelings to myself. Obviously, the guy who asked me to join the team (one of the senior directors in that cluster) had other plans. Maybe it was a test to see how I would react? I was new to the team and had to build credibility before I could steer any change. Plus, as I often say: “Understand before trying to change.” For all I knew, the code and people are inseparable. You cannot fix cultural issues with technical solutions.
[...]
Initially it was hard to defend spending 10% of the team bandwidth on tech debt, but over time the payback was huge: [...]
-
The Music of the Spheres | Fronkonstin
I love legends. The life of Pythagoras is riddled with them: from the discoverie of consonant intervals in music while walking past a forge to how give death to his disciple Hippasus throwing him overboard a ship after this one proved the existence of irrational numbers. My favorite is the one that heads this post: it is said that Pythagoras could hear the sound of the spheres, the harmony of the universe. No more no less.
-
How to generate data from a model – Part 2 - R-posts.com
Traditionally, data scientists have built models based on data. This article details how to do the exact opposite i.e. generate data based on a model. This article is second in the series of articles on building data from model.
-
Announcing OnlineTools.com
We just bought the premium domain OnlineTools.com and launched Online Tools. Online Tools offers thousands of utilities for getting things done quickly and is used by millions of people every month.
-
Introducing kdalgorithms - KDAB
In case you’re wondering, the above simply prints out the vector.
Further, you might have looked at what C++20 (and especially C++23) offers in this area, but you are unfortunately stuck on C++17 or even C++14 and expect to be for quite a while.
Finally, you might have tried some of the existing libraries but found that they didn’t work very well with the Qt containers.
This was exactly my situation when I decided to write a few algorithm wrappers. Actually, I was using some other code already but it was GPL, and I wanted to offer something for Qt Widgets and More in an episode on algorithms.
In the rest of this blog post, I’ll switch between Qt and non-code Qt. KDAlgorithms works just as well with both container libraries. If you’re not familiar with Qt, just mentally replace QVector with std::vector, qDebug() with cout, and you will be just fine.
-
parallel ephemeron tracing -- wingolog
In our last dispatch we looked at a serial algorithm to trace ephemerons. However, production garbage collectors are parallel: during collection, they trace the object graph using multiple worker threads. Our problem is to extend the ephemeron-tracing algorithm with support for multiple tracing threads, without introducing stalls or serial bottlenecks.
-
TIOBE Index for January 2023
C++ is TIOBE's programming language of the year 2022. It has won this title because C++ gained most popularity (+4.62%) in 2022. Runners up are C (+3.82%) and Python (+2.78%). Interestingly, C++ surpassed Java to become the number 3 of the TIOBE index in November 2022. The reason for C++'s popularity is its excellent performance while being a high level object-oriented language. Because of this, it is possible to develop fast and vast software systems (over millions of lines of code) in C++ without necessarily ending up in a maintenance nightmare.
-
Show all data in the background of your faceted ggplot
One of the game-changing features of ggplot2 was the ease with which one can explore the dimensions of the data using small multiples. There is a small trick that I was to share today – put all the data in background of every panel. This can considerably improve comparability of the data across the dimension which splits the dataset into the subsets for the small multiples. Better to show right away what I mean and then explain in details.