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
Programmer time is precious. This realization should shape our approach to software development, focusing our efforts on tasks that genuinely contribute to theContinue...Daniel Lemire From Daniel Lemire's Blog | January 29, 2025 at 10:02 PM
Regular expressions, often abbreviated as regex, are a powerful tool for pattern matching within text. For example, the expression \d*\.?\d+ would match a positive...Daniel Lemire From Daniel Lemire's Blog | January 24, 2025 at 10:53 PM
Your phone probably runs on 64-bit ARM processors. These processors are ubiquitous: they power the Nintendo Switch, they power cloud servers at both Amazon AWSContinue...Daniel Lemire From Daniel Lemire's Blog | January 19, 2025 at 08:05 PM
Hashing algorithms convert input data into a fixed-size string of characters, known as a hash value or digest. These algorithms are one-way functions, meaning the...Daniel Lemire From Daniel Lemire's Blog | January 11, 2025 at 11:21 AM
Given an integer in software, you may want to know how many decimal digits it needs. For example, the integer 100 requires 3 digits, the integer 9999 requires 4...Daniel Lemire From Daniel Lemire's Blog | January 7, 2025 at 04:41 PM
Most strings today in software are Unicode strings. It means that you can include mathematical symbols, emojis and so forth. There are many different versions of...Daniel Lemire From Daniel Lemire's Blog | January 2, 2025 at 11:07 AM
Modern-day text in software can be expected to be Unicode. Unicode is stored in two formats: UTF-8 and UTF-16. UTF-16 is an encoding system used by several platforms...Daniel Lemire From Daniel Lemire's Blog | December 29, 2024 at 01:24 PM
Parsing text files is often confusing irrespective of your programming language. It can also be surprising slow. As an example, let us consider the following problem...Daniel Lemire From Daniel Lemire's Blog | December 21, 2024 at 04:35 PM
In C++, it might be reasonable to represent a URL using a class or a struct made of several strings, like so: struct basic { std::string protocol; std::string username...Daniel Lemire From Daniel Lemire's Blog | December 15, 2024 at 07:55 PM
A data structure in programming is a specific way of organizing and storing data in a computer so that it can be accessed and used efficiently. In woodworking or...Daniel Lemire From Daniel Lemire's Blog | December 8, 2024 at 04:04 PM
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