From Schneier on Security
Artificial intelligence (AI) has been billed as the next frontier of humanity: the newly available expanse whose exploration
…
B. Schneier| February 29, 2024
Docker is a standard to deploy software on the cloud. Developers start with an existing image and add their own code before deploying their systems. How big are...Daniel Lemire From Daniel Lemire's Blog | July 27, 2024 at 01:31 PM
We sometimes use binary executable which can span megabytes. I wondered: how much text is contained in these binary files? To find out, I wrote a Python scriptContinue...Daniel Lemire From Daniel Lemire's Blog | July 26, 2024 at 08:10 PM
For better performance in software, we avoid unnecessary copies. To do so, we introduce references (or pointers). An example of this ideas in C++ is the std::string_view...Daniel Lemire From Daniel Lemire's Blog | July 26, 2024 at 11:25 AM
Recent versions of C++ (C++20) have a new feature: concepts. A concept in C++ is a named set of requirements that a type must satisfy. E.g., ‘act like a string’...Daniel Lemire From Daniel Lemire's Blog | July 22, 2024 at 11:13 AM
Earlier this year, both major Web engines (WebKit/Safari and Chromium/Chrome/Edge/Brave) accelerated HTML parsing using SIMD instructions. These ‘SIMD’ instructions...Daniel Lemire From Daniel Lemire's Blog | July 20, 2024 at 05:30 PM
The world of commodity processor is roughly divided in two: x64 chips for servers and PCs, and ARM processors for mobile devices. However, ARM chips increasingly...Daniel Lemire From Daniel Lemire's Blog | July 10, 2024 at 04:43 PM
Recently, the two major Web engines (WebKit and Chromium) adopted fast SIMD routines to scan HTML content. The key insight is to use vectorized classification (Langdale...Daniel Lemire From Daniel Lemire's Blog | July 5, 2024 at 03:44 PM
Copying data in software is cheap, but it is not at all free. As you start optimizing your code, you might find that copies become a performance bottleneck. Let...Daniel Lemire From Daniel Lemire's Blog | June 22, 2024 at 03:14 PM
We have been working on a fast library to validate and transcode Unicode and other formats such as base64 in C++: simdutf. We wondered: could we achieve the same...Daniel Lemire From Daniel Lemire's Blog | June 20, 2024 at 01:25 PM
If you must multiply matrices, you should use dedicated libraries. However, we sometimes need to roll our own code. In C++, you can quickly write your own Matrix...Daniel Lemire From Daniel Lemire's Blog | June 13, 2024 at 05:11 PM
Modern processors have instructions to process several bytes at once. Effectively all processors have the capability of processing 16 bytes one once. These instructions...Daniel Lemire From Daniel Lemire's Blog | June 8, 2024 at 12:55 AM
In software, we often represent strings by surrounding them with quotes ("). What happens if the string itself contains quotes? We then need to escape the string...Daniel Lemire From Daniel Lemire's Blog | May 30, 2024 at 11:48 PM
In the quest for software optimization, a trusty companion is the sampling profiler, a tool available in most programming languages. These profilers work unobtrusively...Daniel Lemire From Daniel Lemire's Blog | May 30, 2024 at 03:33 PM
Artificial intelligence is far more efficient at producing content than human beings, as far as carbon emissions go. Human brains got larger by over 5% betweenContinue...Daniel Lemire From Daniel Lemire's Blog | May 25, 2024 at 09:09 PM