<?xml version="1.0" encoding="utf-8" standalone="yes"?><feed xmlns="http://www.w3.org/2005/Atom"><title type="text">Volution Notes</title><link rel="alternate" type="text/html" href="https://notes.volution.ro/"/><link rel="self" type="application/atom+xml" href="https://notes.volution.ro/index.xml"/><updated>2026-03-28T00:00:00Z</updated><id>https://notes.volution.ro/</id><entry><title type="text">Designing a single-file mmap-backed read-only hashed multi-table database</title><link rel="alternate" type="text/html" href="https://notes.volution.ro/v1/2026/03/notes/53ac09b0/"/><published>2026-03-28T00:00:00Z</published><updated>2026-03-28T00:00:00Z</updated><author><name>Ciprian Dorin Craciun</name><email>ciprian.craciun@gmail.com</email></author><id>https://notes.volution.ro/v1/2026/03/notes/53ac09b0/</id><summary>For some time I wanted to design a CDB (Constant DataBase) alternative that fits better my use-case for Kawipiko (high performance read-only static HTTP server).</summary></entry><entry><title type="text">Individual URL compression experiment initial thoughts</title><link rel="alternate" type="text/html" href="https://notes.volution.ro/v1/2025/08/remarks/66c21fef/"/><published>2025-08-19T00:00:00Z</published><updated>2025-08-19T00:00:00Z</updated><author><name>Ciprian Dorin Craciun</name><email>ciprian.craciun@gmail.com</email></author><id>https://notes.volution.ro/v1/2025/08/remarks/66c21fef/</id><summary>I've made some experiments with compressing individual URLs, and I describe my initial observations (while comparing to standard compression algorithms).</summary></entry><entry><title type="text">EU-based cloud alternatives affordability for small projects and companies</title><link rel="alternate" type="text/html" href="https://notes.volution.ro/v1/2025/08/remarks/4727b8b3/"/><published>2025-08-12T00:00:00Z</published><updated>2025-08-12T00:00:00Z</updated><author><name>Ciprian Dorin Craciun</name><email>ciprian.craciun@gmail.com</email></author><id>https://notes.volution.ro/v1/2025/08/remarks/4727b8b3/</id><summary>My personal experience in finding affordable EU-based cloud providers for a small personal project. And my pessimistic assessment of the competitiveness in this segment with their USA-based competitors.</summary></entry><entry><title type="text">Bot countermeasures impact on the quality of life on the web</title><link rel="alternate" type="text/html" href="https://notes.volution.ro/v1/2025/05/remarks/3770e0c4/"/><published>2025-05-10T00:00:00Z</published><updated>2025-05-10T00:00:00Z</updated><author><name>Ciprian Dorin Craciun</name><email>ciprian.craciun@gmail.com</email></author><id>https://notes.volution.ro/v1/2025/05/remarks/3770e0c4/</id><summary>About how another instance of "the scientific progress justifies the means", or perhaps "how a corporation milks profits from other people's work", triggers an arms race that piece by piece dismantles the open web, and turns it into walled gardens.</summary></entry><entry><title type="text">Misusing Linux policy based routing for firewalling</title><link rel="alternate" type="text/html" href="https://notes.volution.ro/v1/2024/08/snippets/60066422/"/><published>2024-08-11T00:00:00Z</published><updated>2024-08-11T00:00:00Z</updated><author><name>Ciprian Dorin Craciun</name><email>ciprian.craciun@gmail.com</email></author><id>https://notes.volution.ro/v1/2024/08/snippets/60066422/</id><summary>Experimenting with Linux policy based routing, i.e. `man ip-rule(8)`, as a stateless firewall substitute.</summary></entry><entry><title type="text">Linux UEFI booting simplified</title><link rel="alternate" type="text/html" href="https://notes.volution.ro/v1/2024/08/remarks/f4996e66/"/><published>2024-08-04T00:00:00Z</published><updated>2024-08-04T00:00:00Z</updated><author><name>Ciprian Dorin Craciun</name><email>ciprian.craciun@gmail.com</email></author><id>https://notes.volution.ro/v1/2024/08/remarks/f4996e66/</id><summary>Demystifying the UEFI boot process with a focus on Linux, simplicity, reliability, and security.</summary></entry><entry><title type="text">Infineon TPM firmware update on the HP t620 thin client</title><link rel="alternate" type="text/html" href="https://notes.volution.ro/v1/2024/07/remarks/95c2d5a6/"/><published>2024-07-25T00:00:00Z</published><updated>2024-07-25T00:00:00Z</updated><author><name>Ciprian Dorin Craciun</name><email>ciprian.craciun@gmail.com</email></author><id>https://notes.volution.ro/v1/2024/07/remarks/95c2d5a6/</id><summary>Updating the Infineon TPM firmware on an HP t620 thin client, which is vulnerable to the ROCA attack (that allows an attacker to recover the RSA private key).</summary></entry><entry><title type="text">Musing about a secure computer for sensitive data</title><link rel="alternate" type="text/html" href="https://notes.volution.ro/v1/2024/07/remarks/d97d3e5b/"/><published>2024-07-23T00:00:00Z</published><updated>2024-07-23T00:00:00Z</updated><author><name>Ciprian Dorin Craciun</name><email>ciprian.craciun@gmail.com</email></author><id>https://notes.volution.ro/v1/2024/07/remarks/d97d3e5b/</id><summary>How about splitting the usage and storage of sensitive documents and data? Plus a few ideas on how to implement a small custom "secure" computer for the storage part.</summary></entry><entry><title type="text">Context binding password-based authentication</title><link rel="alternate" type="text/html" href="https://notes.volution.ro/v1/2024/03/remarks/311f0a41/"/><published>2024-03-30T00:00:00Z</published><updated>2024-03-30T00:00:00Z</updated><author><name>Ciprian Dorin Craciun</name><email>ciprian.craciun@gmail.com</email></author><id>https://notes.volution.ro/v1/2024/03/remarks/311f0a41/</id><summary>Experimenting with password-based authentication implemented directly in Postgres, all sprinkled with a few twists.</summary></entry><entry><title type="text">Pre-hashing large password files used with PBKDFs</title><link rel="alternate" type="text/html" href="https://notes.volution.ro/v1/2024/03/remarks/810d7404/"/><published>2024-03-13T00:00:00Z</published><updated>2024-03-13T00:00:00Z</updated><author><name>Ciprian Dorin Craciun</name><email>ciprian.craciun@gmail.com</email></author><id>https://notes.volution.ro/v1/2024/03/remarks/810d7404/</id><summary>A subtle, but surprising, realization about password-based key-derivation functions when using long byte sequences as passwords.</summary></entry><entry><title type="text">Lightweight container building blocks</title><link rel="alternate" type="text/html" href="https://notes.volution.ro/v1/2023/09/remarks/d031aaae/"/><published>2023-09-12T00:00:00Z</published><updated>2023-09-12T00:00:00Z</updated><author><name>Ciprian Dorin Craciun</name><email>ciprian.craciun@gmail.com</email></author><id>https://notes.volution.ro/v1/2023/09/remarks/d031aaae/</id><summary>Documenting various open-source tools and projects that I've found while experimenting with the Linux container technology.</summary></entry><entry><title type="text">Please don't write application launchers in `sh`!</title><link rel="alternate" type="text/html" href="https://notes.volution.ro/v1/2023/09/remarks/5a784f51/"/><published>2023-09-11T00:00:00Z</published><updated>2023-09-11T00:00:00Z</updated><author><name>Ciprian Dorin Craciun</name><email>ciprian.craciun@gmail.com</email></author><id>https://notes.volution.ro/v1/2023/09/remarks/5a784f51/</id><summary>`sh` is not a programming language! Write application launchers in proper languages!</summary></entry><entry><title type="text">We need deterministic installs, not just immutable OSs</title><link rel="alternate" type="text/html" href="https://notes.volution.ro/v1/2023/09/remarks/423b80cc/"/><published>2023-09-11T00:00:00Z</published><updated>2023-09-11T00:00:00Z</updated><author><name>Ciprian Dorin Craciun</name><email>ciprian.craciun@gmail.com</email></author><id>https://notes.volution.ro/v1/2023/09/remarks/423b80cc/</id><summary>Immutable OSs are just a minor step towards reliable OS installations. However, for a complete solution we also need reproducible and thus deterministic installations, which implies cleaning-up and modernizing our package managers.</summary></entry><entry><title type="text">Linux becoming a Windows / OSX clone</title><link rel="alternate" type="text/html" href="https://notes.volution.ro/v1/2023/09/remarks/64299f31/"/><published>2023-09-07T00:00:00Z</published><updated>2023-09-07T00:00:00Z</updated><author><name>Ciprian Dorin Craciun</name><email>ciprian.craciun@gmail.com</email></author><id>https://notes.volution.ro/v1/2023/09/remarks/64299f31/</id><summary>A rant about the complexity of modern Linux distributions, which places them on par with the opaqueness of Windows and OSX.</summary></entry><entry><title type="text">Learning before dabbling in applied cryptography</title><link rel="alternate" type="text/html" href="https://notes.volution.ro/v1/2023/05/notes/6b3820d9/"/><published>2023-05-15T00:00:00Z</published><updated>2023-05-15T00:00:00Z</updated><author><name>Ciprian Dorin Craciun</name><email>ciprian.craciun@gmail.com</email></author><id>https://notes.volution.ro/v1/2023/05/notes/6b3820d9/</id><summary>A live document providing learning resources and pointers for those that want to experiment with applied cryptography.</summary></entry><entry><title type="text">Misusing random oracles for practical purposes</title><link rel="alternate" type="text/html" href="https://notes.volution.ro/v1/2023/05/remarks/faf953cf/"/><published>2023-05-13T00:00:00Z</published><updated>2023-05-13T00:00:00Z</updated><author><name>Ciprian Dorin Craciun</name><email>ciprian.craciun@gmail.com</email></author><id>https://notes.volution.ro/v1/2023/05/remarks/faf953cf/</id><summary>Experimenting with various real-world instantiations of cryptographic random oracles, with applicability from multi-factor encryption, to database record encryption.</summary></entry><entry><title type="text">Experimenting with multi-factor encryption</title><link rel="alternate" type="text/html" href="https://notes.volution.ro/v1/2023/05/remarks/e175b2ef/"/><published>2023-05-12T00:00:00Z</published><updated>2023-05-12T00:00:00Z</updated><author><name>Ciprian Dorin Craciun</name><email>ciprian.craciun@gmail.com</email></author><id>https://notes.volution.ro/v1/2023/05/remarks/e175b2ef/</id><summary>Prototyping an encryption tool that allows combining multiple encryption factors, from PIN's, passwords, to X25519 pairs, and beyond.</summary></entry><entry><title type="text">My biases when choosing open-source tools</title><link rel="alternate" type="text/html" href="https://notes.volution.ro/v1/2023/04/remarks/a2793b5c/"/><published>2023-04-07T00:00:00Z</published><updated>2023-04-07T00:00:00Z</updated><author><name>Ciprian Dorin Craciun</name><email>ciprian.craciun@gmail.com</email></author><id>https://notes.volution.ro/v1/2023/04/remarks/a2793b5c/</id><summary>I reflect on my preferences when it comes to choosing open-source tools I need to rely upon.</summary></entry><entry><title type="text">SSH authorization keys experiments</title><link rel="alternate" type="text/html" href="https://notes.volution.ro/v1/2023/04/remarks/eb5109f6/"/><published>2023-04-02T00:00:00Z</published><updated>2023-04-02T00:00:00Z</updated><author><name>Ciprian Dorin Craciun</name><email>ciprian.craciun@gmail.com</email></author><id>https://notes.volution.ro/v1/2023/04/remarks/eb5109f6/</id><summary>Experimenting with OpenSSH authorization keys resolution; from skeleton-key providing emergency access, to simple centralized key management.</summary></entry><entry><title type="text">Privatizing our digital identities</title><link rel="alternate" type="text/html" href="https://notes.volution.ro/v1/2023/03/remarks/6d51f70e/"/><published>2023-03-09T00:00:00Z</published><updated>2023-03-09T00:00:00Z</updated><author><name>Ciprian Dorin Craciun</name><email>ciprian.craciun@gmail.com</email></author><id>https://notes.volution.ro/v1/2023/03/remarks/6d51f70e/</id><summary>Trying to make the case for permanent irrevocable digital identities, which unfortunately today, by de-facto, are email addresses.</summary></entry><entry><title type="text">Another take on the binary to text encoding</title><link rel="alternate" type="text/html" href="https://notes.volution.ro/v1/2023/02/notes/9f31f54c/"/><published>2023-02-05T00:00:00Z</published><updated>2023-02-05T00:00:00Z</updated><author><name>Ciprian Dorin Craciun</name><email>ciprian.craciun@gmail.com</email></author><id>https://notes.volution.ro/v1/2023/02/notes/9f31f54c/</id><summary>A few words about one of my latest open-source projects, `z-tokens`, that among other thinks, also tries to tackle this problem but providing more added value compared to existing solutions.</summary></entry><entry><title type="text">Binary to text encoding -- state of the art and missed opportunities</title><link rel="alternate" type="text/html" href="https://notes.volution.ro/v1/2023/02/notes/0a9aaa3a/"/><published>2023-02-04T00:00:00Z</published><updated>2023-02-04T00:00:00Z</updated><author><name>Ciprian Dorin Craciun</name><email>ciprian.craciun@gmail.com</email></author><id>https://notes.volution.ro/v1/2023/02/notes/0a9aaa3a/</id><summary>Although many software engineers know about the topic, especially through their exposure to Base64, there are however many issues and missed opportunities not tackled by the broad community.</summary></entry><entry><title type="text">Debating deterministic passwords</title><link rel="alternate" type="text/html" href="https://notes.volution.ro/v1/2023/01/remarks/bd180ff7/"/><published>2023-01-25T00:00:00Z</published><updated>2023-01-25T00:00:00Z</updated><author><name>Ciprian Dorin Craciun</name><email>ciprian.craciun@gmail.com</email></author><id>https://notes.volution.ro/v1/2023/01/remarks/bd180ff7/</id><summary>A few words of caution about storage-free deterministic password managers.</summary></entry><entry><title type="text">Containerized deployments, the Death Star of complexity</title><link rel="alternate" type="text/html" href="https://notes.volution.ro/v1/2023/01/readings/6acdbc3c/"/><published>2023-01-24T00:00:00Z</published><updated>2023-01-24T00:00:00Z</updated><author><name>Ciprian Dorin Craciun</name><email>ciprian.craciun@gmail.com</email></author><id>https://notes.volution.ro/v1/2023/01/readings/6acdbc3c/</id><summary>An interesting take on containerized deployments, contrasted with other similar trajectories in the software engineering history.</summary></entry><entry><title type="text">Passwords in deployment or development scripts?</title><link rel="alternate" type="text/html" href="https://notes.volution.ro/v1/2023/01/remarks/723c5a6a/"/><published>2023-01-12T00:00:00Z</published><updated>2023-01-12T00:00:00Z</updated><author><name>Ciprian Dorin Craciun</name><email>ciprian.craciun@gmail.com</email></author><id>https://notes.volution.ro/v1/2023/01/remarks/723c5a6a/</id><summary>Questions (without definitive answers) about how to securely manage secrets in scripts and development environments?</summary></entry><entry><title type="text">Memorable password schemes and patterns?</title><link rel="alternate" type="text/html" href="https://notes.volution.ro/v1/2023/01/remarks/5a7d0ba2/"/><published>2023-01-11T00:00:00Z</published><updated>2023-01-11T00:00:00Z</updated><author><name>Ciprian Dorin Craciun</name><email>ciprian.craciun@gmail.com</email></author><id>https://notes.volution.ro/v1/2023/01/remarks/5a7d0ba2/</id><summary>Questions (without definitive answers) about memorable password schemes and patterns.</summary></entry><entry><title type="text">Password strength for offline storage?</title><link rel="alternate" type="text/html" href="https://notes.volution.ro/v1/2023/01/remarks/456a2274/"/><published>2023-01-10T00:00:00Z</published><updated>2023-01-10T00:00:00Z</updated><author><name>Ciprian Dorin Craciun</name><email>ciprian.craciun@gmail.com</email></author><id>https://notes.volution.ro/v1/2023/01/remarks/456a2274/</id><summary>Questions (without definitive answers) about password strength (i.e. entropy bits) for offline storage.</summary></entry><entry><title type="text">Securing my static site server with seccomp</title><link rel="alternate" type="text/html" href="https://notes.volution.ro/v1/2022/09/remarks/794866f7/"/><published>2022-09-11T00:00:00Z</published><updated>2022-09-11T00:00:00Z</updated><author><name>Ciprian Dorin Craciun</name><email>ciprian.craciun@gmail.com</email></author><id>https://notes.volution.ro/v1/2022/09/remarks/794866f7/</id><summary>Given a simple enough HTTP server, and by employing seccomp, one could easily achieve a quite secure(er) server, with a small enough attack surface that the potential attacker might want to look elsewhere in the stack for vulnerabilities.</summary></entry><entry><title type="text">Static site hosting hurdles</title><link rel="alternate" type="text/html" href="https://notes.volution.ro/v1/2022/09/notes/b08118d8/"/><published>2022-09-03T00:00:00Z</published><updated>2022-09-03T00:00:00Z</updated><author><name>Ciprian Dorin Craciun</name><email>ciprian.craciun@gmail.com</email></author><id>https://notes.volution.ro/v1/2022/09/notes/b08118d8/</id><summary>When it comes to static sites, there are a myriad of solutions for authoring and compiling, but talk about hosting these static sites, and we are still in the early 2000s. I discuss the challenges one faces when hosting, and even make a proposal to solve some of these.</summary></entry><entry><title type="text">Useful Firefox addons</title><link rel="alternate" type="text/html" href="https://notes.volution.ro/v1/2022/08/remarks/7685f695/"/><published>2022-08-13T00:00:00Z</published><updated>2022-08-13T00:00:00Z</updated><author><name>Ciprian Dorin Craciun</name><email>ciprian.craciun@gmail.com</email></author><id>https://notes.volution.ro/v1/2022/08/remarks/7685f695/</id><summary>A few Firefox addons I use on a daily basis.</summary></entry><entry><title type="text">The many flavors of hashing</title><link rel="alternate" type="text/html" href="https://notes.volution.ro/v1/2022/07/notes/1290a79c/"/><published>2022-07-29T00:00:00Z</published><updated>2022-07-29T00:00:00Z</updated><author><name>Ciprian Dorin Craciun</name><email>ciprian.craciun@gmail.com</email></author><id>https://notes.volution.ro/v1/2022/07/notes/1290a79c/</id><summary>About the many types of hash functions, their use-cases, dos and don'ts, with suggestions for currently accepted algorithms.</summary></entry><entry><title type="text">On modern laptop requirements</title><link rel="alternate" type="text/html" href="https://notes.volution.ro/v1/2022/04/remarks/41dc175e/"/><published>2022-04-02T00:00:00Z</published><updated>2022-04-02T00:00:00Z</updated><author><name>Ciprian Dorin Craciun</name><email>ciprian.craciun@gmail.com</email></author><id>https://notes.volution.ro/v1/2022/04/remarks/41dc175e/</id><summary/></entry><entry><title type="text">The impact of hacktivism / protestware in open-source</title><link rel="alternate" type="text/html" href="https://notes.volution.ro/v1/2022/03/remarks/c2082f05/"/><published>2022-03-27T00:00:00Z</published><updated>2022-03-27T00:00:00Z</updated><author><name>Ciprian Dorin Craciun</name><email>ciprian.craciun@gmail.com</email></author><id>https://notes.volution.ro/v1/2022/03/remarks/c2082f05/</id><summary/></entry><entry><title type="text">Single binary executable packages</title><link rel="alternate" type="text/html" href="https://notes.volution.ro/v1/2022/01/notes/fbf3f06c/"/><published>2022-01-25T00:00:00Z</published><updated>2022-01-25T00:00:00Z</updated><author><name>Ciprian Dorin Craciun</name><email>ciprian.craciun@gmail.com</email></author><id>https://notes.volution.ro/v1/2022/01/notes/fbf3f06c/</id><summary>In support of software packages that come in the form of a single binary executable (statically linked or portable), that one can just copy anywhere in `${PATH}` and execute, without needing `sudo`, or downloading half the distribution's packages as dependencies.</summary></entry><entry><title type="text">Good to know -- issue 2021.02</title><link rel="alternate" type="text/html" href="https://notes.volution.ro/v1/2021/07/notes/43f2f234/"/><published>2021-07-28T00:00:00Z</published><updated>2021-07-28T00:00:00Z</updated><author><name>Ciprian Dorin Craciun</name><email>ciprian.craciun@gmail.com</email></author><id>https://notes.volution.ro/v1/2021/07/notes/43f2f234/</id><summary>Articles and tools I've found interesting in the last few days.</summary></entry><entry><title type="text">Security through stupidity, Banca Transilvania style</title><link rel="alternate" type="text/html" href="https://notes.volution.ro/v1/2021/03/notes/eb8a57e6/"/><published>2021-03-23T00:00:00Z</published><updated>2021-03-23T00:00:00Z</updated><author><name>Ciprian Dorin Craciun</name><email>ciprian.craciun@gmail.com</email></author><id>https://notes.volution.ro/v1/2021/03/notes/eb8a57e6/</id><summary>About how the largest romanian bank tries to give its clients a "warm-fuzzy-feeling" of security, that is actually zero in real security terms.</summary></entry><entry><title type="text">Good to know -- issue 2021.01</title><link rel="alternate" type="text/html" href="https://notes.volution.ro/v1/2021/02/notes/50d93d5c/"/><published>2021-02-19T00:00:00Z</published><updated>2021-02-19T00:00:00Z</updated><author><name>Ciprian Dorin Craciun</name><email>ciprian.craciun@gmail.com</email></author><id>https://notes.volution.ro/v1/2021/02/notes/50d93d5c/</id><summary>Articles and tools I've found interesting in the last few days.</summary></entry><entry><title type="text">In Go-land you pay even for what you don't use</title><link rel="alternate" type="text/html" href="https://notes.volution.ro/v1/2021/02/notes/378ae6f6/"/><published>2021-02-14T00:00:00Z</published><updated>2021-02-14T00:00:00Z</updated><author><name>Ciprian Dorin Craciun</name><email>ciprian.craciun@gmail.com</email></author><id>https://notes.volution.ro/v1/2021/02/notes/378ae6f6/</id><summary>About the hidden costs of forced automatic initialization of dependencies. And a plea for library developers (in any language) to think about their global state initialization requirements.</summary></entry><entry><title type="text">The curious case of shell commands, or how "this bug is required by POSIX"</title><link rel="alternate" type="text/html" href="https://notes.volution.ro/v1/2021/01/notes/502e747f/"/><published>2021-01-03T00:00:00Z</published><updated>2021-01-03T00:00:00Z</updated><author><name>Ciprian Dorin Craciun</name><email>ciprian.craciun@gmail.com</email></author><id>https://notes.volution.ro/v1/2021/01/notes/502e747f/</id><summary>About the fatal perils and traps of many modern tools that handle "shell commands" as passed through `system(3)` or `sh -c`. Or, how by the end of 2020, we still haven't given up on shell's equivalent "SQL building", or how shell's equivalent "SQL injection" still thrives in our engineering world... Plus a `glibc` bug, then a Linux man pages bug, then a POSIX specification bug...</summary></entry><entry><title type="text">Benchmarking "textual" file compression methods</title><link rel="alternate" type="text/html" href="https://notes.volution.ro/v1/2020/05/snippets/f36697ea/"/><published>2020-05-05T00:00:00Z</published><updated>2020-05-05T00:00:00Z</updated><author><name>Ciprian Dorin Craciun</name><email>ciprian.craciun@gmail.com</email></author><id>https://notes.volution.ro/v1/2020/05/snippets/f36697ea/</id><summary>Trying to identify which compression tool and level yields the "best" outcome for "textual" archival purposes. (Spoiler: "it depends...")</summary></entry><entry><title type="text">Cleaning and compacting Git repositories</title><link rel="alternate" type="text/html" href="https://notes.volution.ro/v1/2020/05/snippets/47ef345c/"/><published>2020-05-04T00:00:00Z</published><updated>2020-05-04T00:00:00Z</updated><author><name>Ciprian Dorin Craciun</name><email>ciprian.craciun@gmail.com</email></author><id>https://notes.volution.ro/v1/2020/05/snippets/47ef345c/</id><summary>How to compact and clean Git repositories of "dangling" commits and objects.</summary></entry><entry><title type="text">Properly sorting FQDNs in Bash</title><link rel="alternate" type="text/html" href="https://notes.volution.ro/v1/2020/05/snippets/b1ad317c/"/><published>2020-05-04T00:00:00Z</published><updated>2020-05-04T00:00:00Z</updated><author><name>Ciprian Dorin Craciun</name><email>ciprian.craciun@gmail.com</email></author><id>https://notes.volution.ro/v1/2020/05/snippets/b1ad317c/</id><summary>How to properly sort a list of FQDNs in Bash, first by TLD, then by domain, then by sub-domain and so on.</summary></entry><entry><title type="text">The before time -- microsoft.com</title><link rel="alternate" type="text/html" href="https://notes.volution.ro/v1/2020/03/notes/d73a4684/"/><published>2020-03-08T00:00:00Z</published><updated>2020-03-08T00:00:00Z</updated><author><name>Ciprian Dorin Craciun</name><email>ciprian.craciun@gmail.com</email></author><id>https://notes.volution.ro/v1/2020/03/notes/d73a4684/</id><summary>A visual history of `microsoft.com` (thanks to the Internet Archive and its Wayback Machine).</summary></entry><entry><title type="text">The before time -- google.com</title><link rel="alternate" type="text/html" href="https://notes.volution.ro/v1/2020/03/notes/621aab63/"/><published>2020-03-07T00:00:00Z</published><updated>2020-03-07T00:00:00Z</updated><author><name>Ciprian Dorin Craciun</name><email>ciprian.craciun@gmail.com</email></author><id>https://notes.volution.ro/v1/2020/03/notes/621aab63/</id><summary>A visual history of `google.com` (thanks to the Internet Archive and its Wayback Machine).</summary></entry><entry><title type="text">Good to know -- issue 2019.02</title><link rel="alternate" type="text/html" href="https://notes.volution.ro/v1/2019/10/notes/97efdbab/"/><published>2019-10-08T00:00:00Z</published><updated>2019-10-08T00:00:00Z</updated><author><name>Ciprian Dorin Craciun</name><email>ciprian.craciun@gmail.com</email></author><id>https://notes.volution.ro/v1/2019/10/notes/97efdbab/</id><summary>Articles and tools I've found interesting in the last few days.</summary></entry><entry><title type="text">A visual comparison between HTTP/1.1 vs HTTP/2</title><link rel="alternate" type="text/html" href="https://notes.volution.ro/v1/2019/08/notes/e8700e9a/"/><published>2019-08-15T00:00:00Z</published><updated>2019-08-15T00:00:00Z</updated><author><name>Ciprian Dorin Craciun</name><email>ciprian.craciun@gmail.com</email></author><id>https://notes.volution.ro/v1/2019/08/notes/e8700e9a/</id><summary>A visual comparison between HTTP/1.1 and HTTP/2 in the context of many small resources and with real-world latency.</summary></entry><entry><title type="text">Exfiltrating Go current goroutine ID</title><link rel="alternate" type="text/html" href="https://notes.volution.ro/v1/2019/08/notes/23e3644e/"/><published>2019-08-04T00:00:00Z</published><updated>2019-08-04T00:00:00Z</updated><author><name>Ciprian Dorin Craciun</name><email>ciprian.craciun@gmail.com</email></author><id>https://notes.volution.ro/v1/2019/08/notes/23e3644e/</id><summary>About obtaining Go current goroutine ID, and why sometimes we should trust the developer to do the right thing... Else the developer is forced to embark on a journey that looks more like a mission impossible data exfiltration movie, than a day-to-day job...</summary></entry><entry><title type="text">Good to know -- issue 2019.01</title><link rel="alternate" type="text/html" href="https://notes.volution.ro/v1/2019/06/notes/16948a48/"/><published>2019-06-28T00:00:00Z</published><updated>2019-06-28T00:00:00Z</updated><author><name>Ciprian Dorin Craciun</name><email>ciprian.craciun@gmail.com</email></author><id>https://notes.volution.ro/v1/2019/06/notes/16948a48/</id><summary>Articles and tools I've found interesting in the last few days; and about the start of a new "column".</summary></entry><entry><title type="text">Containers Will Not Fix Your Broken Culture (and Other Hard Truths)</title><link rel="alternate" type="text/html" href="https://notes.volution.ro/v1/2019/06/readings/33981a72/"/><published>2019-06-27T00:00:00Z</published><updated>2019-06-27T00:00:00Z</updated><author><name>Ciprian Dorin Craciun</name><email>ciprian.craciun@gmail.com</email></author><id>https://notes.volution.ro/v1/2019/06/readings/33981a72/</id><summary>About the "DevOps culture" plus related technologies, less about containers, but all about our professional careers as software developers or operators.</summary></entry><entry><title type="text">Choosing Linux RAID5 chunk size (part 3) -- Ext4 / CDNjs raw data</title><link rel="alternate" type="text/html" href="https://notes.volution.ro/v1/2019/01/notes/a202c8b9/"/><published>2019-01-24T00:00:00Z</published><updated>2019-01-24T00:00:00Z</updated><author><name>Ciprian Dorin Craciun</name><email>ciprian.craciun@gmail.com</email></author><id>https://notes.volution.ro/v1/2019/01/notes/a202c8b9/</id><summary>About choosing the "right" RAID5 chunk size on Linux systems, and related benchmarks. This part provides the raw data from the CDNjs benchmark.</summary></entry><entry><title type="text">Choosing Linux RAID5 chunk size (part 2) -- the internet's wisdom</title><link rel="alternate" type="text/html" href="https://notes.volution.ro/v1/2019/01/notes/31afcf40/"/><published>2019-01-19T00:00:00Z</published><updated>2019-01-19T00:00:00Z</updated><author><name>Ciprian Dorin Craciun</name><email>ciprian.craciun@gmail.com</email></author><id>https://notes.volution.ro/v1/2019/01/notes/31afcf40/</id><summary>About choosing the "right" RAID5 chunk size on Linux systems, and related benchmarks. This part summarizes previous work published by others on the internet.</summary></entry><entry><title type="text">The State Of Software Security In 2019</title><link rel="alternate" type="text/html" href="https://notes.volution.ro/v1/2019/01/readings/0af5b88f/"/><published>2019-01-16T00:00:00Z</published><updated>2019-01-16T00:00:00Z</updated><author><name>Ciprian Dorin Craciun</name><email>ciprian.craciun@gmail.com</email></author><id>https://notes.volution.ro/v1/2019/01/readings/0af5b88f/</id><summary>About an high level overview of the application development security at the end of 2018.</summary></entry><entry><title type="text">Choosing Linux RAID5 chunk size (part 1) -- block-device level benchmarks</title><link rel="alternate" type="text/html" href="https://notes.volution.ro/v1/2018/12/notes/274b00bd/"/><published>2018-12-15T00:00:00Z</published><updated>2018-12-15T00:00:00Z</updated><author><name>Ciprian Dorin Craciun</name><email>ciprian.craciun@gmail.com</email></author><id>https://notes.volution.ro/v1/2018/12/notes/274b00bd/</id><summary>About choosing the "right" RAID5 chunk size on Linux systems, and related benchmarks. This first part presents a few benchmarks at the "block-device" level (i.e. without an actual file-system).</summary></entry><entry><title type="text">The chronicle of getting text sizing to just work in mobile browsers</title><link rel="alternate" type="text/html" href="https://notes.volution.ro/v1/2018/11/notes/a0a5f486/"/><published>2018-11-27T00:00:00Z</published><updated>2018-11-27T00:00:00Z</updated><author><name>Ciprian Dorin Craciun</name><email>ciprian.craciun@gmail.com</email></author><id>https://notes.volution.ro/v1/2018/11/notes/a0a5f486/</id><summary>About the "sanity" of developing sites that "just work" on mobile devices.</summary></entry><entry><title type="text">Hello world!</title><link rel="alternate" type="text/html" href="https://notes.volution.ro/v1/2018/11/notes/9512589f/"/><published>2018-11-22T00:00:00Z</published><updated>2018-11-22T00:00:00Z</updated><author><name>Ciprian Dorin Craciun</name><email>ciprian.craciun@gmail.com</email></author><id>https://notes.volution.ro/v1/2018/11/notes/9512589f/</id><summary>About this site, it's purpose and goals.</summary></entry></feed>