Yesterday the toner I ordered on Friday arrived. Last week the Brother HL-L2350DW laser printer ran out of the toner it came with when it arrived the 3rd of May 2019. I had already watched how to install the toner cartridge by Ricky Adames. So, in the afternoon I removed the old cartridge, installed the new one, and did a test print. I ordered the cartridge with 123inkt.nl. The cartridge is not by Brother but their own brand which is slightly cheaper and has a larger capacity.
From working on Elfeed, I’ve recently become fairly intimate with the Atom and RSS specifications. I needed to write a parser for each that would properly handle valid feeds but would also reasonably handle all sorts of broken feeds that it would come across. At this point I’m quite confident in saying that Atom is by far the better specification and I really wish RSS didn’t exist. This isn’t surprising: Atom was created specifically in response to RSS’s flawed and ambiguous specification.
Source: Atom vs. RSS, an article by Chris Wellons.
Every lisp hacker I ever met, myself included, thought that all those brackets in Lisp were off-putting and weird. At first, of course. Soon after we all came to the same epiphany: lisp’s power lies in those brackets! In this essay, we’ll go on a journey to that epiphany.
Source: An Intuition for Lisp Syntax, an article by Stepan Parunashvili.
I recently got a new Macbook, and began setting up the Nix package manager to install my developer toolset. I mainly did this to try and have a working setup without installing Homebrew. Since I ran into a few issues, I wanted to briefly document what I did and why in case others wanted to try the same.
When a git rebase conflict occurs you will be presented with a conflict region (or “hunk”) that shows why the rebased commit couldn’t be applied to the base branch. To resolve a rebase conflict, your task is to apply the logically-intended (i.e. semantic) change of the rebased commit to the base branch.
Source: Resolving git rebase conflicts.
CSS is one of those technologies that has a low barrier to entry (good thing 🎉), but because of this sometimes how it works can seem like magic. It's easy to get started writing CSS, so we quickly dive head first into it. Sometimes we smash our face into the concrete with frustration. Why won't my text move over yonder? Where did that scroll bar come from? How do I center this junk?
This is a series I'm starting called, "CSS: The Important Stuff". The goal is to take a dive into the mechanics of CSS so we can get a better intuition when styling and positioning elements. In part one we'll take a look at Box Model; the underlying layout of the web.
Source: CSS: The Important Stuff (Box Model), an article by Dylan Paulus.
Early in our mathematical education, we learn about a strong interplay between algebra and geometry—algebraic equations give rise to graphs and geometric figures, and geometric features can be encoded in algebraic expressions. It’s almost as if there’s a portal or bridge connecting these two realms in the grand landscape of mathematics: whatever occurs on one side of the bridge is mirrored on the other.
So although algebra and geometry are very different areas of mathematics, this connection suggests that they are intrinsically related. Incidentally, the `bridge’ that spans them is a but a dim foreshadow of much deeper connections that exist between other branches of mathematics that also may, a priori, seem unrelated: set theory, group theory, linear algebra, topology, graph theory, differential geometry, and more. And what’s amazing is that these relationships—these bridges—are more than just a neat observation. They are mathematics, and that mathematics has a name: category theory.
Source: An invitation to category theory, an article by Tai-Danae Bradley.
In this article I am going to discuss one of the most frequently asked topics in competitive programming, Range queries and Updates. Often, we encounter such a problem that we need to answer some queries over segments or intervals.
Source: Understanding Range Queries and Updates: Segment Tree, Lazy Propagation and MO’s Algorithm, an article by Prince Kumar.
A simple explanation of how they work and how to implement one from scratch in Python.
Source: Machine Learning for Beginners: An Introduction to Neural Networks, an article by Victor Zhou.
Needless to say nginx is amazing, but when you run it in a container you can easily run into a few use cases that may trip you up if you’re deploying everything onto 1 server.
Source: Why I Prefer Running nginx on My Docker Host Instead of in a Container, an article by Nick Janetakis.
It’s a common task in NLP to either check a text against a pattern or extract parts from the text that matches a certain pattern. A regular expression or “regex” is a powerful tool to achieve this.
While powerful, regex can feel daunting as it comes with a lot of features and sub-parts that you need to remember.
In this post, I will illustrate the various concepts underlying regex. The goal is to help you build a good mental model of how a regex pattern works.
Source: A Visual Guide to Regular Expression, an article by Amit Chaudhary.
People often wonder whether SSH uses SSL/TLS for traffic encryption. The short answer is NO, even though both protocols have much in common, under the hood SSH has its own transport protocol, independent from SSL.
- Both of them were created to secure and encrypt traffic between clients and servers (SSL for website traffic, SSH for remote control over host)
- They both start with asymmetric encryption in order to negotiate static key for the rest of the session using symmetric encryption (SSH uses proprietary key exchange protocol, SSL/TLS uses PKI infrastructure)
Also keep in mind that both were developed almost in parallel somewhere in 1995 (SSL1.0 was first though) so they couldn’t actually use each other’s implementation at the time.
However, instead of comparing both protocols, I would like to dedicate most of this post to the attempt to combine both protocols in order to achieve the most secure, scalable and easy-to-use mass scale SSH control over multiple Linux servers.
Source: SSH & SSL — Step-siblings or Rivals?, an article by Artiom Levinton.
Here’s an unavoidable fact: the software project you’re working on has some flaws that no one knows about. Not you, your users, nor anyone in your team. These could be anything from faulty assumptions in the UI to leaky abstractions in the architecture or an error-prone release process.
Given enough time, these flaws will be discovered. But time is money. The sooner you discover them, the cheaper they are to fix. So how do you find out about them sooner?
Source: Forcing Functions in Software Development, an article by Matthew Clarke.
Facebook can track almost all your web activity and tie it to your Facebook identity. If that’s too much for you, the Facebook Container extension isolates your identity into a separate container tab, making it harder for Facebook to track you on the web outside of Facebook.
Source: Facebook Container for Firefox.
We kinda went down a rabbit hole the other day when I suggested folks check out yq, “The aim of the project is to be the jq or sed of yaml files.” First, there’s nothing wrong with this project. I like it, I find the tool useful, and that’s that. But the great debate started over our lord and savior, YAML. Yeah, I know, XML vs. JSON vs. YAML vs. TOML vs. the next thing is a tired and old debate.
Source: Fear and Loathing in YAML, an article by Chris Short.
Asciidoctor is a fast, open source text processor and publishing toolchain for converting AsciiDoc content to HTML5, DocBook, PDF, and other formats. Asciidoctor is written in Ruby and runs on all major operating systems. The Asciidoctor project is hosted on GitHub.
In the evening the female Aphonopelma seemanni I keep was out of its burrow. I could remove the lid of her enclosure without disturbing the large spider and took a few close up photos with my dated iPhone 5.
Because she closes off her burrow now and then and refuses food I expect her to molt soon. That would be the second time in my care, the first time was the 28th of June, 2020.
The open source Git project just released Git 2.29 with features and bug fixes from over 89 contributors, 24 of them new. Last time we caught up with you, Git 2.28 had just been released. One version later, let’s take a look at the most interesting features and changes that have happened since then.
Source: Highlights from Git 2.29, an article by Taylor Blau.
In 1935, a gentleman called Alonzo Church came up with a simple scheme that could compute…just about anything. His scheme was called Lambda Calculus. It was a phenomenal innovation, given that there weren’t even computers for him to test out his ideas. Even cooler is that those very ideas affect us today: anytime you use a function, you owe a hat tip to Mr. Church.
Lambda Calculus is so cool that many hackers use it as their secret handshake — a “discreet signal” if you will. The most famous, of course, is PG’s Y Combinator. In this essay, we’ll find out what it’s all about, and do things with functions that we’d never have imagined. In the end you’ll have built just about every programming concept: numbers, booleans, you name it…just with functions.
Source: Fun with Lambda Calculus, an article by Stepan Parunashvili.
Open-source programming language Python has become one of the few languages that won't disappear anytime soon. It's the top or one of the top two languages in most notable language popularity indexes, and even looks set to beat Java these days.
But 35-year-old Python does have its weaknesses. Not necessarily for the data-science and machine-learning communities built around Python extensions like NumPy and skippy, but as a general programming language.
Source: Programming language Python is a big hit for machine learning. But now it needs to change, an article by Liam Tung.
In the evening I finished Half Moon Bay, Clay Edison Book 3 by Jonathan Kellerman and Jesse Kellerman. While a good read I think I liked the first two books in the series more.
The lines. No ship can traverse the void without them. Only linesmen can work with them. But only Ean Lambert hears their song. And everyone thinks he’s crazy…
Most slum kids never go far, certainly not becoming a level-ten linesman like Ean. Even if he’s part of a small, and unethical, cartel, and the other linesmen disdain his self-taught methods, he’s certified and working.
Then a mysterious alien ship is discovered at the edges of the galaxy. Each of the major galactic powers is desperate to be the first to uncover the ship’s secrets, but all they’ve learned is that it has the familiar lines of energy—and a defense system that, once triggered, annihilates everything in a 200 kilometer radius.
The vessel threatens any linesman who dares to approach it, except Ean. His unique talents may be the key to understanding this alarming new force—and reconfiguring the relationship between humans and the ships that serve them, forever.
In the evening I started in Linesman by S. K. Dunstall, which is the pen name used by Australian sisters Sherylyn and Karen Dunstall.
In the afternoon, in the small town 't Woudt, I spotted a beautiful calico cat. When I called her she came immediately to me to be petted.
I was in 't Woudt to meet with my friend Simon. I had also bought books for him, a belated birthday present:
- Foundation by Isaac Asimov.
- The Fifth Season - The Broken Earth, Book 1 by N. K. Jemisin.
- Best Served Cold - by Joe Abercrombie.
Of course I highly recommend the above books; they are good. And as luck had it, he hadn't read any of those.
This blog post extends the content of WWDC 2020 “Meet Face ID and Touch ID for the web” session by providing detailed examples to assist developers’ adoption of this new technology, including how to manage different user agent user interfaces, how to propagate user gestures from user-activated events to WebAuthn API calls, and how to interpret Apple Anonymous Attestation. This article will end by summarizing the unique characteristics of Apple’s platform authenticator and the current status of security key support. If you haven’t heard about WebAuthn before, you’re strongly encouraged to first watch the WWDC 2020 session, which covers the basic concepts. Otherwise, please enjoy.
Source: Meet Face ID and Touch ID for the Web, an article by Jiewen Tan.
And it’s not just Ruby where Git struggles to figure out the correct enclosing context. Many other programming languages and file formats also get short-changed when it comes to the hunk header context.
Thankfully, it’s not only possible to configure a custom regex specific to your language to help Git better orient itself, there’s even a pre-defined set of patterns for many languages and formats right there in Git. All we have to do is tell Git which patterns to use for our file extensions.
Source: Better Git diff output for Ruby, Python, Elixir, Go and more, an article by Tekin Süleyman.