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
When you recover textual content from the disk or from the network, you may expect it to be a Unicode string in UTF-8. It is the most common format. Unfortunately...Daniel Lemire From Daniel Lemire's Blog | December 5, 2023 at 05:23 PM
Suppose that you want to parse quickly 8-bit integers (0, 1, 2, …, 254, 255) from an ASCII/UTF-8 string. The problem comes up in the simdzone project lead by Jeroen...Daniel Lemire From Daniel Lemire's Blog | November 28, 2023 at 03:17 PM
Modern web applications often use the http/https protocols. However, when the server and client needs to talk to each other in a symmetrical fashion, the WebSocket...Daniel Lemire From Daniel Lemire's Blog | November 27, 2023 at 07:16 PM
Conventional web applications use the http protocol (or the https variant). The http protocol is essentially asymmetrical: a client application such as a browser...Daniel Lemire From Daniel Lemire's Blog | November 25, 2023 at 02:04 PM
Vitamin K2 supplements might reduce the risk of myocardial infarction (heart attacks) and of all-cause death (Hasific et al. 2022). You find vitamin K2 in someContinue...Daniel Lemire From Daniel Lemire's Blog | November 12, 2023 at 01:42 PM
Suppose that you want to check whether a character in C++ belongs to a fixed set, such as ‘\0’, ‘\x09’, ‘\x0a’,’\x0d’, ‘ ‘, ‘#’, ‘/’, ‘:’, ‘<‘, ‘>’, ‘?’, ‘@’, ‘...Daniel Lemire From Daniel Lemire's Blog | November 7, 2023 at 03:54 PM
In C++, suppose that you append to a string one character at a time: while(my_string.size() <= 10'000'000) { my_string += "a"; } In theory, it might be possible...Daniel Lemire From Daniel Lemire's Blog | October 23, 2023 at 09:33 AM
The C++ library has long been organized around stream classes, at least when it comes to reading and parsing strings. But streams can be surprisingly slow. ForContinue...Daniel Lemire From Daniel Lemire's Blog | October 18, 2023 at 09:55 PM
In about 10 years, Apple has multiplied by 19 the number of transistors in its mobile processors. It corresponds roughly to a steady rate of improvement of 34%Continue...Daniel Lemire From Daniel Lemire's Blog | October 18, 2023 at 09:51 AM
Computer software is typically deterministic on paper: if you run twice the same program with the same inputs, you should get the same outputs. In practice, the...Daniel Lemire From Daniel Lemire's Blog | October 16, 2023 at 08:15 PM
If I give a programmer a string such as "9223372036854775808" and I ask them to convert it to an integer, they might do the following in C++: std::string s = .....Daniel Lemire From Daniel Lemire's Blog | September 22, 2023 at 05:50 PM
In software, we store strings of text as arrays of bytes in memory using one of the Unicode Transformation Formats (UTF), the most popular being UTF-8 and UTF-16...Daniel Lemire From Daniel Lemire's Blog | September 13, 2023 at 12:00 PM
Physicists have a published a paper with 5154 authors. The list of authors takes 24 pages out of the 33 pages. The lesson is that if someone tell you that theyContinue...Daniel Lemire From Daniel Lemire's Blog | September 2, 2023 at 02:30 PM
Though most strings online today follow the Unicode standard (e.g., using UTF-8), the Latin 1 standard is still in widespread inside some systems (such as browsers)...Daniel Lemire From Daniel Lemire's Blog | August 18, 2023 at 02:17 PM
Most strings online are Unicode strings in the UTF-8 format. Other systems (e.g., Java, Microsoft) might prefer UTF-16. However, Latin 1 is still a common encoding...Daniel Lemire From Daniel Lemire's Blog | August 11, 2023 at 09:18 PM
When you enter in your browser the domain name lemire.me, it eventually gets encoded into a so-called wire format. The name lemire.me contains two labels, one of...Daniel Lemire From Daniel Lemire's Blog | August 9, 2023 at 10:02 PM
In an extensive study, You et al. (2022) found that meat consumption was correlated with higher life expectancies: Meat intake is positively correlated with life...Daniel Lemire From Daniel Lemire's Blog | August 6, 2023 at 04:43 PM
We sometimes represent binary data using the hexadecimal notation. We use a base-16 representation where the first 10 digits are 0, 1, 2, 3, 5, 6, 7, 8, 9 and where...Daniel Lemire From Daniel Lemire's Blog | July 27, 2023 at 12:53 PM
People increasingly consume ultra processed foods. They include energy drinks, mass-produced packaged breads, margarines, cereal, energy bars, fruit yogurts, fruit...Daniel Lemire From Daniel Lemire's Blog | July 23, 2023 at 10:14 PM
We often need to encode binary data into ASCII strings. The standards (e.g., email) to do so include base16, base32 and base64. There are some research papers on...Daniel Lemire From Daniel Lemire's Blog | July 20, 2023 at 07:26 PM