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
Windows users have choices when it comes to C++ programming. You may choose to stick with the regular Visual Studio. If you prefer, Microsoft makes available ClangCL...Daniel Lemire From Daniel Lemire's Blog | March 3, 2023 at 10:31 AM
If you are programming in C++ using Microsoft tools, you can use the traditional Visual Studio compiler. Or you can use LLVM as a front-end (ClangCL). Let us compare...Daniel Lemire From Daniel Lemire's Blog | February 26, 2023 at 09:08 PM
Computers represent strings using bytes. Most often, we use the Unicode standard to represent characters in bytes. The universal format to exchange strings online...Daniel Lemire From Daniel Lemire's Blog | February 16, 2023 at 06:38 PM
Kenny finds that the returns due to education are declining. Rich countries are spending more on education, with comparatively weaker test results. It costs more...Daniel Lemire From Daniel Lemire's Blog | February 12, 2023 at 02:09 PM
At a fundamental level, a programmer needs to manipulate bits. Modern processors operate over data by loading in ‘registers’ and not individual bits. Thus a programmer...Daniel Lemire From Daniel Lemire's Blog | February 7, 2023 at 06:34 PM
On the Internet, we often use 32-bit addresses which we serialize as strings such as 192.128.0.1. The string corresponds to the Integer address 0xc0800001 (3229614081...Daniel Lemire From Daniel Lemire's Blog | February 1, 2023 at 03:57 PM
You sometimes want to add a string to an existing data structure. For example, the C++17 template ‘std::optional’ may be used to represent a possible string value...Daniel Lemire From Daniel Lemire's Blog | January 30, 2023 at 12:37 PM
Originally, the domain part of a web address was all ASCII (so no accents, no emojis, no Chinese characters). This was extended a long time ago thanks to something...Daniel Lemire From Daniel Lemire's Blog | January 23, 2023 at 06:22 PM
The year 2022 is over. As with every year that passes, we have made some scientific progress. I found the following achievements interesting: Diluting the blood...Daniel Lemire From Daniel Lemire's Blog | January 15, 2023 at 12:26 PM
For under $600, one can buy a 20-terabyte disk on Amazon. Unless you work professionally in multimedia, it is more storage than you need. However, having much storage...Daniel Lemire From Daniel Lemire's Blog | January 15, 2023 at 12:17 PM
We often have to represent in software a value that might be missing. Different programming languages have abstraction for this purpose. A recent version of C++...Daniel Lemire From Daniel Lemire's Blog | January 12, 2023 at 05:02 PM
Most systems today rely on Unicode strings. However, we have two popular Unicode formats: UTF-8 and UTF-16. We often need to convert from one format to the other...Daniel Lemire From Daniel Lemire's Blog | January 5, 2023 at 04:53 PM
Most domain names are encoded using ASCII (e.g., yahoo.com). However, you can register domain names with almost any character in them. For example, there is a web...Daniel Lemire From Daniel Lemire's Blog | January 3, 2023 at 09:09 PM
Suppose that I give you a set of reference strings (“ftp”, “file”, “http”, “https”, “ws”, “wss”). Given a new string, you want to quickly tell whether it is part...Daniel Lemire From Daniel Lemire's Blog | December 29, 2022 at 10:19 PM
One of Elon Musk’s ventures, OpenAI, made public a new tool called ChatGPT. It is widely regarding as a practical breakthrough in artificial intelligence. Given...Daniel Lemire From Daniel Lemire's Blog | December 25, 2022 at 05:12 PM
Given binary data, we often need to encode it as ASCII text. Email and much of the web effectively works in this manner. A popular format for this purpose is base64...Daniel Lemire From Daniel Lemire's Blog | December 23, 2022 at 02:41 PM
storing 1 GiB/month on the cloud 0.02$US web site of my twitter profile (@lemire), HTML alone 296 KiB web site of my twitter profile (@lemire), all data 3.9 MiB...Daniel Lemire From Daniel Lemire's Blog | December 21, 2022 at 03:10 PM
Suppose you would like to check that a string is not present in a large document. In C, you might do the following using the standard function strstr: bool is_present...Daniel Lemire From Daniel Lemire's Blog | December 15, 2022 at 05:16 PM
In an earlier blog post, I reported that the memory usage of a small byte array in Java (e.g., an array containing 4 bytes) was about 24 bytes. In other words:Continue...Daniel Lemire From Daniel Lemire's Blog | December 12, 2022 at 09:59 AM
As we focus on some types of unfortunate discrimination (race, gender), we may become blind to other types of discrimination. For example, tend to discrimate against...Daniel Lemire From Daniel Lemire's Blog | December 11, 2022 at 02:23 PM