"[The encyclopedia's] creators have solved one of the internet’s fundamental problems: How to provide authoritative, rigorously accurate knowledge, at no cost to readers. It’s something the encyclopedia, or SEP, has managed to do for two decades."

"SMT-LIB is an international initiative aimed at facilitating research and development in Satisfiability Modulo Theories (SMT)." In particular, a language for representing SMT problems that multiple solvers understand.

"Automated feature engineering is a relatively new technique, but, after using it to solve a number of data science problems using real-world data sets, I’m convinced it should be a standard part of any machine learning workflow."

"The history of the Lattice Boltzmann Method and its application to fluid mechanics are
investigated here. Detailed formulations are provided to form a basis for the Lattice
Boltzmann Method and its many variations. These variations are designed to overcome
shortcomings in the standard single relaxation time Lattice Boltzmann model. Presented
here are: a model that utilizes the non-equilibrium parts of the stress tensor, the
Regularized Lattice Boltzmann model; a model that converts over to momentum space,
the Multi-Relaxation Time Lattice Boltzmann model; and a model that corrects itself
using the entropy equation, the entropic Lattice Boltzmann model. Extensions for the
Lattice Boltzmann method are derived that include: external forces, multiphase flows,
and thermal flows. Various types of boundary conditions are modeled using different
approaches. A detailed explanation on extracting common macroscopic flow properties in
physical units is provided. These extracted properties can be used to check temporal and
spatial convergence. A two dimensional, nine velocity model and a three dimensional,
fifteen velocity model are used to provide examples of a number of the approaches
mentioned. A two dimensional and three dimensional lid-driven cavity flow is used to
illustrate these methods. "

"Plumbum... is a small yet feature-rich library for shell script-like programs in Python. The motto of the library is 'Never write shell scripts again', and thus it attempts to mimic the shell syntax (shell combinators) where it makes sense, while keeping it all Pythonic and cross-platform."

"ReLaXed creates PDF documents interactively using HTML or Pug (a shorthand for HTML). It allows complex layouts to be defined with CSS and JavaScript, while writing the content in a friendly, minimal syntax close to Markdown or LaTeX."

"When I started this blog, I embraced some free services, like Disqus or Google Analytics. These services are quite invasive for users’ privacy. Over the years, I have tried to correct this to reach a point where I do not rely on any “privacy-hostile” services."

"Spread syntax allows an iterable such as an array expression or string to be expanded in places where zero or more arguments (for function calls) or elements (for array literals) are expected, or an object expression to be expanded in places where zero or more key-value pairs (for object literals) are expected." The spread operator is "...".

"Rough.js is a light weight (~8k), Canvas based library that lets you draw in a sketchy, hand-drawn-like, style. The library defines primitives to draw lines, curves, arcs, polygons, circles, and ellipses. It also supports drawing SVG paths."

"pTFTPd is a collection of tools related to TFTP. It includes a TFTP server, a TFTP client, and a complete PXE solution based on this TFTP server and a micro-DHCP or BOOTP server. All these tools are written in Python and designed to be fast, RFC compliant and easy to use."

"Input is a flexible system of fonts designed specifically for code by David Jonathan Ross. It offers both monospaced and proportional fonts, all with a large range of widths, weights, and styles for richer code formatting."

"SfePy is a software for solving systems of coupled partial differential equations (PDEs) by the finite element method in 1D, 2D and 3D. It can be viewed both as black-box PDE solver, and as a Python package which can be used for building custom applications. The word “simple” means that complex FEM problems can be coded very easily and rapidly."

"... I offer below a catalog of twelve routes we’ve found over the last year. Some of these have alternate routes, so be sure to use the Google Maps layer view to selectively view the one you’re interested in, so the two routes don’t clutter each other."

A very strong article on the code necessary to construct a container from scratch on Linux. Careful commentary and citations on capabilities and seccomp restrictions to limit processes within the container.

Vim 8 added a lot of much-needed functionality, and new community sites like VimAwesome have made plugin discovery and evaluation easier. I’ve been doing a lot more work with Vim lately and have spent some time configuring my workflow for peak efficiency, so here’s a snapshot of my current state.

"Storyboarder makes it easy to visualize a story as fast you can draw stick figures. Quickly draw to test if a story idea works. Create and show animatics to others. Express your story idea without making a movie."

"By paying attention to the language we use to describe ourselves, our ideal candidates, and the job responsibilities, we can broaden the net of candidates that might apply and help in some small way to tackle the tech diversity problem."

"The Page Visibility API lets you know when a webpage is visible or in focus. With tabbed browsing, there is a reasonable chance that any given webpage is in the background and thus not visible to the user. When the user minimizes the webpage or moves to another tab, the API sends a visibilitychange event regarding the visibility of the page. You can detect the event and perform some actions or behave differently." Occurs regularly on mobile browsers.

Interesting golang module that manages marshalling of application-relevant environment variables to and from a struct. Includes a convenient .ClearEnvVars() method that unsets the variable set, which would be used prior to spawning a child process.

"Tgres is a Go program which can receive time series data via Graphite, Statsd protocols or an http pixel, store it in PostgreSQL, and provide Graphite-like access to the data in a way that is compatible with tools such as Grafana. You could think of it as a drop-in Graphite/Statsd replacement, though I’d rather avoid direct comparison, because the key feature of Tgres is that data is stored in PostgreSQL."

"Forms on the web don't usually play nice with bad connections. If you try to submit a form while offline, you'll most likely just lose your input.... With the introduction of Service Workers, developers are now able to supply experiences on the web that will work even without an internet connection. While it’s relatively easy to cache static resources, things like forms that require server interaction are harder to optimize. It is possible to provide a somewhat useful offline fallback though."

"Ferret is a free software Clojure implementation, it compiles a restricted subset of the Clojure language to self contained ISO C++11 which allows for the use of Clojure in real time embedded control systems."

"In our experience, we've found that establishing guidelines on how to build better APIs for mobile apps saves time and effort during development and reduces headache later on in the process.... We wrote this guide to outline the best practices for building out APIs, web services, and databases for mobile apps and mobile clients. In this post, we go in-depth on creating a RESTful API specifically for mobile apps."

"Bufferbloat is the most common underlying cause of most variable bad performance on the Internet; it is called 'lag' by gamers.... But new commercial products [that address bufferbloat] are becoming increasingly available. Here’s some of them."

"While working on a “Color Temperature” tool for PhotoDemon, I spent an evening trying to track down a simple, straightforward algorithm for converting between temperature (in Kelvin) and RGB values. .... I wrote my own algorithm, and it works pretty damn well. Here’s how I did it."

"tdl is a to-do list manager. You can use it for keeping track of tasks you have to do, check them off as they get done, organise them into a project hierarchy, and generate reports of what you've completed over a period of time. It's often used for tracking programming tasks, but has also found various other uses." A classic; still great.

"Google Public DNS offers DNSSEC-validating resolution over an encrypted HTTPS connection using a web-friendly API that does not require browser or OS configuration or installing an extension. DNS-over-HTTPS greatly enhances privacy and security between a client and a recursive resolver, and complements DNSSEC to provide end-to-end authenticated DNS lookups."

"We consider scenarios from the real-time strategy game StarCraft as new benchmarks for reinforcement learning algorithms. We propose micromanagement tasks, which present the problem of the short-term, low-level control of army members during a battle."

"Today I am happy to announce that objects in Amazon S3 buckets are now accessible via IPv6 addresses via new “dual-stack” endpoints. When a DNS lookup is performed on an endpoint of this type, it returns an “A” record with an IPv4 address and an “AAAA” record with an IPv6 address. In most cases the network stack in the client environment will automatically prefer the AAAA record and make a connection using the IPv6 address."