Category Archives: Algorithms

Real-time thirsty

Imagine you’re running a coffee shop — not the kind you find in Amsterdam, but one where they actually serve coffee. Your customers are generally in a hurry, so they just want to get a cup of coffee, pay and … Continue reading

Posted in Algorithms, Software Engineering | Tagged | Comments Off on Real-time thirsty

Interesting modifications to the Lamport queue, part II

In the previous installment, on this subject, I described a few modifications to the Lamport queue introduced by Nhat Minh Le et al. to relax operations on shared state as much as possible, while maintaining correctness. In this article, I … Continue reading

Posted in Algorithms, C & C++, Interesting stuff | Tagged , | Comments Off on Interesting modifications to the Lamport queue, part II

Interesting modifications to the Lamport queue

While researching lock-free queue algorithms, I came across a few articles that made some interesting modifications to the Lamport queue. One made it more efficient by exploiting C11’s new memory model, while another made it more efficient by using cache … Continue reading

Posted in Algorithms, C & C++, C++ for the self-taught, Interesting stuff | Tagged , | Comments Off on Interesting modifications to the Lamport queue

A different take on the “optimize by puzzle” problem

I explained the problem I presented in my previous post to my wife overt dinner yesterday. She’s a professor at law and a very intelligent person, but has no notion of set theory, graph theory, or algorithms. I’m sure many … Continue reading

Posted in Algorithms, C++ for the self-taught, Software Design | Tagged | Comments Off on A different take on the “optimize by puzzle” problem

Optimization by puzzle

Given a query routine that takes a name and may return several, write a routine that takes a single name and returns a set of names for which each of the following is true: For each name in the set, … Continue reading

Posted in Algorithms, C & C++, C++ for the self-taught, Software Design, Software Development, Software Engineering | Tagged | 1 Comment