today's howtos
-
Converting UIColors to CSS colors
I recently wanted to convert a UIColor to a CSS-compatible string so I could update the color inside a webview. Here’s how I did it.
-
Memoirs from the old web: The KEYGEN element
Anyone who has setup a website will appreciate that SSL/TLS requires a web server to have an SSL certificate authenticating its identity. However, while TLS requires a server certificate, it also has optional support for client certificates, whereby a client connecting to a TLS server must also authenticate its identity to the server. Just as in the case of server certificates, this is done by presenting a certificate and proving ownership of the corresponding private key.
-
The unbearable tightness of printing
If you deviate from any of the above steps, the output will be silently wrong. If you process the resulting PDF with anything except Adobe's tool suite the end result might become silently wrong. As an example here is the output of colour separation using Adobe Acrobat and Ghostscript.
-
How To Trust A Machine
Essentially, this boils down to: Trust, Verify and Hold Accountable. To put this dogma in perspective, it helps to understand that this approach may be harmful to human relationships (which could explain the social awkwardness of hackers), but it remains useful as a method to improve the design of computer systems, and a useful method to evaluate safety of computer systems. When a system fails some of the criteria above, we know we have more work to do to improve it.
-
How to create a bar chart from a CSV file with Haskell
Today I wanted to create a bar chart for a new blog post on blog.airsequel.com. It was supposed to show the number of days between each SQLite release. I decided to use Haskell, but I couldn't find any good code examples out there. So, I went ahead and wrote the code from scratch. 😮💨 I'm sharing it here in hopes of sparing the next person the time and effort. 😅
-
A crontab related mistake you can make with internal email ratelimits
Suppose, not entirely hypothetically, that something has a crontab job that runs once a minute and that has started to generate output every time it runs, which cron will email to the crontab's owner (or MAILTO setting). This means that this machine is now running right at the edge of its sending ratelimit; if it generates even one more email message (for example from some other cron job that runs once a day to notify you about pending package updates on that machine), it will hit the ratelimit and have an email message stalled. Once even a single message stalls, this machine will never recover and will always have something in its local mail queue. If it sends a second extra email, you'll wind up with the local mail queue always having two things waiting, and so on.
-
How To Install Node.js on Fedora 38
In this tutorial, we will show you how to install Node.js on Fedora 38. If you're a web developer or a programming enthusiast, you must have heard of Node.Js. It's a powerful platform that allows you to build server-side applications using JavaScript, a language traditionally used for client-side scripting in web browsers.