AVX512 VBMI – remove spaces from text
Removing spaces from a string is a common task in text processing. Instead of removing single character we often want to remove all the white space characters or the punctuation characters etc.
The latest blog posts to take off on Hacker News. 21,834 posts.
Removing spaces from a string is a common task in text processing. Instead of removing single character we often want to remove all the white space characters or the punctuation characters etc.
The BeagleBone Black is an inexpensive, credit-card sized computer that has two built-in microcontrollers called PRUs. While the PRUs provi...
I was recently reminded of why I think it’s a bad idea to teach beginners C++. It’s a bad idea because it is an objective mess—albeit a beautiful, twisted, tragic, wondrous mess. Despite the current state of the community, this post is not a polemic against modern C++. This post is partly a follow-up on Simon Brand’s…
Note that some of the wrong answers can be fixed with various workarounds. For example Common–Lisp gives the correct answer for:
The Linux AIO is designed for, well, Asynchronous disk IO! They are not network sockets, but is it possible to use Linux AIO API with network sockets? The answer is a strong YES!
Two fun things happened recently and the proximity of the two made something go click in my head and now I think I understand how bytecode interpreters work.
There's nothing here. The Internet is far too dangerous right now. The blog may return in future, if I get around to it.
You should choose a monorepo because the default behavior it encourages in your teams is visibility and shared responsibility, especially…
PyPy for low-latency systems Recently I have merged the gc-disable branch, introducing a couple of features which are useful when you need...
The vchan protocol is used to stream data between virtual machines on a Xen host without needing any locks. It is largely undocumented. The TLA …
Here we are at the beginning of 2019 and I’m engaged in yet another discussion on the merits (or lack thereof) of keeping all of an…
Minus zero behaves like zero, right?
Context matters. Sometimes we need to get things done, sometimes we need to build things to last.
PANE is a live, functional programming environment built around data-visibility. In PANE, all intermediate values are visible by default, and you construct a program by acting on these concrete values.
Few weeks ago I solved a great KVM escaping challenge from TWCTF hosted by @TokyoWesterns . I have given a writeup on my blog: [Write-up] T...
Today, as I announced earlier, the Corman Lisp 3.1 has been released after more than a decade-long break. Somehow it happened that I am one of the active mai...
We build smart, robust, enterprise-level software that works, both with you and for you.
The question on the lips of everyone in the Linux community is, "What if Linus Torvalds (affectionately known to the trade press as 'Linux Torvalds') gets hit by a bus?" Reams of virtual paper have been wasted on idle speculation about the results of what is a fairly simple experiment. We decided it was high time…
With 2019 a day away, let’s reflect on the past to see how we can improve. Yes, let’s take a long look back 30 years and reflect on the original fuzzing paper, An Empirical Study of the Reliability of UNIX Utilities, and its 1995 follow-up, Fuzz Revisited, by Barton P. Miller. In this blog post, […]
Recent switch of official Firefox builds to Clang on all platforms has triggered some questions about the quality of code produced by GCC c...
EDIT: As pointed out in the Rust reddit thread, the Rust version can be modified to run faster due to a suble difference between ..=z and ..(z+1). I’ve updated the measurements with rustc0 be…
Updates (2024) Since this post was originally written, the FizzBuzz github repository has received 23 additional contributions so the total…
Explanation of a little known C feature – and yet another use of the “static” keyword!
Fast programs are always fast, slow programs are slow even on a most powerful computers. Knowing that fast solution exists makes slow one plain wrong.
Graphs provide us with a very useful data structure.
The Game Engine Black Book: DOOM features a whole chapter about DOOM console ports and the challenges they encountered. The utter failure of the 3DO, the difficulties of the Saturn due to its affine texture mapping, and the amazing "reverse-engineering-from- scratch" by Randy Linden on Super Nintendo all have rich…
We can admit our knowledge gaps without devaluing our expertise.
“ Standard Ranges ” blog post by Eric Niebler – about C++20 ranges feature – was doing rounds in the game development twitterverse lately, with many expressing something like a “dislike” (mildly said) about the state of modern C++.