Programming Leftovers
-
Haiku Activity & Contract Report, September 2022
As is the usual way of things, the monthly Activity Report is hereby combined with my Contract Report.
-
The number of comparisons needed to sort a shuffled array: qsort versus std::sort
Given an array of N numbers of type double, the standard way to sort it in C is to invoke the qsort function
-
My Law of Effort for Secure Data Protection in Software
I recently had to work with a large piece of well aged and reliable legacy software that had to be modified to include data protection for some sensitive personal information due to recent legislation. Developers not experienced with security bolted on some encryption. They made up their minds on what to do on the fly, as they tried to somehow add the security features. It could be expected, that under such circumstances, they ended up with a confusing mess of obfuscation that couldn't even really called "secure". Anyone with knowledge of the inner workings would be able to reconstruct all the data from accessible files. Yet they had to write extra software, not only for handling passwords, but also for moving data between machines that could be moved by simple file transfer before. Debugging this also became annoying, with many road stops, and I flinched a lot.
-
An answer to my question about unit tests
I was browsing Gemini when I came across a response to my unit test question: [...]
-
Where Logic Lives
A primer. CSS is Turing complete, but it doesn't behave like most other languages (no native package support, and hard to share styles between rules).
-
How the repos on this site work
I got burned pretty badly by darcs and its “theory of patches”. Git’s model as a content-addressable file system suits me just fine.♥
-
How I Started Programming, and How You Can Too
I am writing this article on my birthday to give my thanks and appreciations to those who helped me start and continue my journey with programming. I want to return the favor by explaining how I started programming, for those who are struggling with getting started with programming, and give them some motivation to continue their journey.