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
A few years ago, we wrote csFastFloat, a C# library to parse floating-point numbers faster. Given the string “3.1416”, it computes the binary value 3.1416. TheContinue...Daniel Lemire From Daniel Lemire's Blog | November 21, 2024 at 06:42 PM
Though I have many brilliant graduate students, I love working with undergraduate students. And I am not at all sure that you should favor people with graduateContinue...Daniel Lemire From Daniel Lemire's Blog | November 12, 2024 at 12:39 PM
Recent versions of the C++ language (C++20 and C++23) may allow you to change drastically how you program in C++. I want to provide some fun examples. Thanks to...Daniel Lemire From Daniel Lemire's Blog | November 1, 2024 at 08:24 PM
We often store large datasets using comma-separated-value (CSV) files. The format is simple enough, each line of a text file is made of several values separated...Daniel Lemire From Daniel Lemire's Blog | October 17, 2024 at 07:03 PM
When optimizing small functions, I often rely on a table lookup: I replace the actual computation with table of precomputed values. It is often surprisingly efficient...Daniel Lemire From Daniel Lemire's Blog | October 14, 2024 at 06:15 PM
Both the Physics and Chemistry Nobel prizes were awarded to computer scientists in 2024. Computer scientists are emerging as leading figures in the natural sciences...Daniel Lemire From Daniel Lemire's Blog | October 9, 2024 at 09:21 AM
So… in 2024, the Physics Nobel prize was awarded to a Computer Scientist. Is Physics out of ideas? The Nobel Committee just gave a Physics award to a COMPUTER SCIENTIST...Daniel Lemire From Daniel Lemire's Blog | October 8, 2024 at 09:29 AM
Consider the following problem. You want to iterate through the characters of a strings and find only those matching some criteria. For example, you might wantContinue...Daniel Lemire From Daniel Lemire's Blog | October 6, 2024 at 05:52 PM
Recently, I received an email from an engineer at a prominent company who shared how he managed to save his employer tens of thousands of dollars annually by developing...Daniel Lemire From Daniel Lemire's Blog | September 28, 2024 at 12:06 AM
C++ programmers tend to represent strings using the std::string class. Though the implementation might vary, each instance of an std::string might use 32 bytes....Daniel Lemire From Daniel Lemire's Blog | September 9, 2024 at 04:26 PM
We sometimes have to work a large quantity of floating-point numbers. This volume can be detrimental to performance. Thus we often want to compress these numbers...Daniel Lemire From Daniel Lemire's Blog | September 2, 2024 at 06:52 PM
Most programming languages support floating-point numbers. You typically have the ability to turn a string into a floating-point number. E.g., “3.1416” could be...Daniel Lemire From Daniel Lemire's Blog | August 26, 2024 at 11:34 AM
We often generate random integers. Quite often these numbers must be within an interval: e.g., an integer between 0 and 100. One application is a random shuffle...Daniel Lemire From Daniel Lemire's Blog | August 16, 2024 at 10:11 PM
JSON (JavaScript Object Notation) is a popular format for storing and transmitting data. It uses human-readable text to represent structured data in the form of...Daniel Lemire From Daniel Lemire's Blog | August 13, 2024 at 12:12 PM
AMD Zen 4 and Zen 5, as well as server-side recent Intel processors, support an advanced set of instructions called AVX-512. They are powerful SIMD (Single Instruction...Daniel Lemire From Daniel Lemire's Blog | August 3, 2024 at 07:26 PM
People who should know better often underestimate how fast our storage capacity has grown. We have been able to get 1 TB of storage on iPhones for the last three...Daniel Lemire From Daniel Lemire's Blog | July 28, 2024 at 11:39 AM
Storage costs are plummeting like a skydiver in freefall—between 10 and 100 times cheaper with each passing decade. Meanwhile, the programmer population is growing...Daniel Lemire From Daniel Lemire's Blog | July 27, 2024 at 05:35 PM
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