Recently,
various
scientific
media
have been paying attention to a branch of mathematics called
“category theory” that has become pretty popular inside the
mathematical community in recent years. Some mathematicians are even
starting to complain on
Twitter
that more people are tweeting about category theory than their own
specialties. But what is this branch of mathematics, and why is it
becoming so fashionable?
In the afternoon I started in Salvation
Lost,
The Salvation Sequence Book 2 by Peter F. Hamilton. I liked the first
book in the sequence a lot, so I have high expectations for this
sequel.
Piping curl to s(hell) claims that using curl example.com/install.sh | sh to install software is a “glaring security vulnerability”. I’ve
seen this claim many times in other places as well, with strong
terms like “malpractice”.
I don’t get it. you’re not running some random shell script from a
random author, you’re running it from a software vendor who you
already trust to run software. Are you going to audit all of
oh-my-zsh? Probably not. So why give extra gravity to their install
script? If you trust oh-my-zsh, then why distrust their install
script?
This weekend we celebrate the 10th anniversary of the Go
release,
marking the 10th birthday of Go as an open-source programming
language and ecosystem for building modern networked software.
In the early years of computing,
telnet
was used to connect to the command line on remote systems. SSH has
replaced telnet for remote access needs, and these days when you
hear about telnet, it is usually when somebody is using the client
as a generic network troubleshooting tool.
That’s because, in troubleshooting sessions, sysadmins turn to
telnet and
netcat to
test connectivity to service offerings.
Today I flashed a second hand TP-Link TL-WDR4300 bought online on
Tuesday with OpenWrt 18.06.4. I took some notes while doing this which
I turned into a blog post in the evening: Flashing a TP-Link TL-WDR4300 with OpenWrt firmware
about a month ago, I was reflecting on
Twitter
about the differences I experienced parsing JSON in statically- and
dynamically-typed languages, and finally, I realized what I was
looking for. Now I have a single, snappy slogan that encapsulates
what type-driven design means to me, and better yet, it’s only three
words long:
In this article, I will walk through the commonly evaluated headers,
recommend security values for each, and give a sample header
setting. At the end of the article, I will include sample setups for
common applications and web servers.
Using this guide and Mozilla
Observatory I managed to get
Plurrrr from an F to an A+.
Note that the guide has syntax errors in the NGINX configuration
example. At least, at the time of writing, I had to remove the colon
after each header name and had to put some values between double quotes.
In this article we'll build a toy version of a string searching
program solely for the purposes of education. The intention is not
to fully replicate the grep tool (and this post actually explains a
different algorithm to the one grep uses). What we'll build will
almost certainly be slow and incomplete (but fun!).
This article describes the many design decisions that go into
creating a fast, general-purpose hash table. It culminates with a
benchmark between my own emilib::HashSet and C++11's
std::unordered_set. If you are interested in hash tables and
designing one yourself (no matter which language you are programming
in), this article might be for you.
Floating label input is an element that visually combines an input
label and the input itself into a single element. Label switches
from placeholder mode to label when input is focused or has content
in it. This concept has been first introduced by Matt
D. Smith in 2013 and it has
become a widespread pattern since then, even becoming a standard
element in Google's Material Design.
If you are the kind of developer who prefers to work in UTC, you may
have seen Python's datetime.utcnow() and
datetime.utcfromtimestamp() methods and thought, "Ah, yes, this is
what I should do to work in UTC!" But alas, this is not the best way
to work with UTC datetimes. In fact I would say that it is extremely
rare that you would want to use either of these functions.
This is my own collection of hard-earned knowledge about how
integers work in C/C++, and how to use them carefully and
correctly. In this article, I try to strike a balance between
brevity (easing the reader) and completeness (providing absolute
correctness and extensive detail)
The open source Git project just released Git
2.24
with features and bug fixes from over 78 contributors, 21 of them
new. Here’s our look at some of the most exciting features and
changes introduced since Git 2.23.