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.
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.
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.
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.
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.
Constants can be confusing and easy to misuse in Go if you are
coming from an untyped language. Let’s take a look at some of the
nuanced details of how they work in Go. It’s probably unsurprising,
but Go’s constants are almost nothing like JavaScript’s bastardized
version of the concept.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.