Every iOS update adds new privacy and security features, and iOS
16 is no
exception. Apple has added tools to make it easier to apply security
updates, new Face
ID capabilities,
improvements to photo security, and more, with details on all of the
new privacy and security options outlined below.
Sitemaps are important. Especially for big websites. It is always a
good idea to develop your website with SEO in mind. Unfortunately,
most developers ignore this part. This article describes general
idea and how to implement your sitemaps with python.
grep,
ag, and
ripgrep search file contents for
text that matches regular expressions. The previous links show some
of their more advanced options.
fzf is an interactive Unix filter. You can feed it anything from
stdin (files, previously entered commands, etc) and it displays the
results on the screen along with a prompt. When you type into the
prompt, fzf filters the list.
When combined, they can substantially speed up a CLI workflow.
The way to get there is to strengthen Nix’s core as much as
possible. Instead of getting lost in many exciting things that Nix
could do, we must take a pragmatic approach in ensuring that the
core functionality of Nix works well, and is available to everyone.
There's a common joke that the rite of passage for every Haskell
programmer is to write a "monad tutorial" blog post once they think
they finally understand with how they work. There are enough of
those posts out there, though, so I don't intend for this to be yet
another monad tutorial. However, based on my learning experience, I
do have some thoughts on why people seem to struggle so much with
monads, and as a result, why so many of those tutorials exist.
hot-lib-reloader
allows to change Rust code on the fly without restarts. It works on
Linux, macOS, and Windows. For why, how it works and, how to use it
(as well as the limitations of this approach) read the post below.
A lot of ink is spent on the “monoliths vs. microservices” debate,
but the real issue behind this debate is about whether distributed
system architecture is worth the developer time and cost
overheads. By thinking about the real operational considerations of
our systems, we can get some insight into whether we actually need
distributed systems for most things.
We have all gotten so familiar with virtualization and abstractions
between our software and the servers that run it. These days,
“serverless” computing is all the rage, and even “bare metal” is a
class of virtual machine. However, every piece of software runs on a
server. Since we now live in a world of virtualization, most of
these servers are a lot bigger and a lot cheaper than we actually
think.
I've be working on Textual
for over a year now. Here's a few things I've discovered (or
re-discovered) regarding terminals in Python, and software
development in general.
Few geologic events capture the imagination like an erupting
volcano. We thrill at the image: Hot, molten rock comes bursting out
of the ground, destroying most everything in its path. Volcanoes can
cause massive disasters that kill tens of thousands, and they can
produce amazing sights like hypnotic lava fountains. With an
eruption like the one underway at Hawaii’s Kilauea, the news fills
with volcanoes. But it’s usually full of errors about them and how
they operate.
Code that performs side effects is difficult to test because we need
figure out how to sandbox the effects so we can observe the state of
the sandbox before and after executing the effectful code. The
difficulty is increased when the side effectful code also depends on
specific OS configurations. Let us explore my solution to such a
predicament.
DockerSlim is a tool for developers that provides a set of commands
(build, xray, lint and others) to simplify and optimize your
developer experience with containers. It makes your containers
betters, smaller and more secure.
Every so often I get an email from someone starting out in web
development who asks something along these lines: “What do you use
to create your website, benhoyt.com? Do you use a Content
Management System? What theme do you use?”
I generally reply with a brief response, saying how I like to keep
it simple: I use my text editor to write Markdown files, test
locally using the Jekyll static site generator, and then push them
live to GitHub Pages using a Git tool. I don’t use a fancy “theme”,
just a simple layout I created using a few dozen lines of HTML and
CSS.
The untold story of one twelve-year-old's dream to become the
world's greatest supervillain.
In the early evening Alice, Adam, my mother-in-law, and I went to
Delft to watch the 3D version of Minions: The Rise of
Gru. I liked the movie and
give it a 7 out of 10.
How can you determine whether a JavaScript native function was
overridden? You can’t — or at least not reliably. There are ways to
get close to it, but you can’t fully trust them.
A semantic network or net is a graph structure for representing
knowledge in patterns of interconnected nodes and arcs. Computer
implementations of semantic networks were first developed for
artificial intelligence and machine translation, but earlier
versions have long been used in philosophy, psychology, and
linguistics. The Giant Global Graph of the Semantic Web is a large
semantic network (Berners-Lee et al. 2001; Hendler & van Harmelen
2008).
I’ll reiterate what I wrote in the previous article’s introduction:
You should avoid these worst practices—and eliminate them when you
maintain or refactor existing code. And, of course, resolve them if
you see these issues during a code review.
There are lots of posts trying to show how simple it is to get
started with Kubernetes. But many of these posts use complicated
Kubernetes jargon for that, so even those with some prior
server-side knowledge might be bewildered. Let me try something
different here. Instead of explaining one unfamiliar matter (how to
run a web service in Kubernetes?) with another (you just need a
manifest, with three sidecars and a bunch of gobbledygook), I'll
try to reveal how Kubernetes is actually a natural development of
the good old deployment techniques.
In this article, I will introduce you to the concept of kinds. Then,
we’ll use our newfound knowledge to understand what are
higher-kinded types and what makes them useful.
You can use org-mode as a notebook, something like a Jupyter
notebook, but much simpler. An org file is a plain text file, and
you can execute embedded code right there in your editor. You don’t
need a browser, and there’s no hidden state.
I've long been an enthusiastic user of print based
debugging,
although I did eventually realize that I reach for a debugger when
dealing with certain sorts of
bugs. But
print based debugging is eternally controversial, with any number of
people ready to tell you that you should use a debugger instead and
that you're missing out by not doing so. Recently I had a thought
about that and how it interacts with how much programming people do.
This article is about how to filter unique items from heterogeneous
lists on the type level in Haskell. This example, without further
context, might look a bit esoteric by itself, but I learned a lot
writing it and wanted to share the experience.
Sometimes, while working on macOS, you may find the need to test
something quick on Linux, or use some utility that's only available
on this OS. But, of course, you don't want to go through all the
process of creating the VM from scratch.
The good news is, you don't need to! Using
krunvm you can create and
start a microVM from a regular container image (that is, an OCI
image), in just two commands and a couple of seconds.