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
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
Back when I started programming professionally, every expert and every software engineering professor would swear by object-oriented programming. Resistance was...Daniel Lemire From Daniel Lemire's Blog | May 14, 2024 at 10:17 AM
In C++, there are different ways to pass a value to a function. Typically, at any given time, an object in C++ ‘belongs’ to a single function. The various waysContinue...Daniel Lemire From Daniel Lemire's Blog | May 13, 2024 at 11:51 AM
Peer review as we know it today was introduced very late, over a century after the scientific revolution. It happened after Einstein’s time… arguably the most productive...Daniel Lemire From Daniel Lemire's Blog | May 11, 2024 at 06:47 PM
Python is probably the most popular programming language in the world right now. Python is easy to extend using C code. You may want to return from Python a small...Daniel Lemire From Daniel Lemire's Blog | May 8, 2024 at 11:55 PM
Under Windows, when using Visual Studio to build C++ code, there are two possible compiler strategies. The Visual Studio compiler (often referred to as MSVC) is...Daniel Lemire From Daniel Lemire's Blog | May 2, 2024 at 03:23 PM
Egor Bogatov is an engineer working on C# compiler technology at Microsoft. He had an intriguing remark about a performance regression on Apple hardware following...Daniel Lemire From Daniel Lemire's Blog | April 28, 2024 at 08:32 PM
Software can beat human beings at most games… from Chess to Go, and even poker. Large language models like GPT-4 offered through services such as ChatGPT allowContinue...Daniel Lemire From Daniel Lemire's Blog | April 26, 2024 at 08:05 PM
Go back to the roots: experience. An expert is someone who has repeatedly solved the concrete problem you are encountering. If your toilet leaks, an experienced...Daniel Lemire From Daniel Lemire's Blog | April 21, 2024 at 01:35 PM
Suppose that you receive a long string and you need to break it down into lines. Consider the simplified problems where you need to break the string into segments...Daniel Lemire From Daniel Lemire's Blog | April 19, 2024 at 05:25 PM
Our computer hardware exchange data using a standard called PCI Express. Your disk, your network and your GPU are limited by what PCI Express can do. Currently,...Daniel Lemire From Daniel Lemire's Blog | April 13, 2024 at 06:31 PM
We sometimes need to find the greatest common divisor between two integers in software. The fastest way to compute the greatest common divisor might be the binary...Daniel Lemire From Daniel Lemire's Blog | April 13, 2024 at 04:56 PM
A reader asked me for some help in computing (1 – sqrt(0.5)) to an arbitrary precision, from scratch. A simpler but equivalent problem is to compute the squareContinue...Daniel Lemire From Daniel Lemire's Blog | April 11, 2024 at 03:39 PM
Last year, I looked at writing small “hello world” web applications in various programming languages (Go, JavaScript, Nim…). Go, using nothing but the standardContinue...Daniel Lemire From Daniel Lemire's Blog | April 6, 2024 at 06:01 PM
Large language models (e.g., ChatGPT) do better at legal questions that lawyers: Our empirical analysis benchmarks LLMs against a ground truth set by Senior Lawyers...Daniel Lemire From Daniel Lemire's Blog | March 31, 2024 at 05:24 PM