recentpopularlog in
« earlier  
Seemingly Impossible Swift Programs
Bit sequences (infinite) being used to prove the equality of functions in the domain of bits (not all functions, but a surprising subset of them).
Programming  Functional  Mathematics  Haskell  Swift 
5 days ago
Isidore Calibre
A library of books of a Catholic - some good out-of-print stuff for download and otherwise full of good ideas to go and buy.
Catholicism  Books 
15 days ago
Game Systems - Part 4
A whole series of interesting games and game structures.

Two classic pen and paper games that you might have played already (perhaps during a boring lecture) are the traditional game Dots & Boxes and Sprouts, invented by John Conway and Michael Paterson.

Dots & BoxesIn Dots & Boxes, players alternately draw line segments on a grid of dots, attempting to enclose the most square boxes. When a player encloses a box, she writes her initial in it and goes again. This can lead to astonishing cascades of boxes; the player who can force the other player to cede her one or two long cascades usually wins.

In Sprouts, players draw curves from one preexisting dot to another on the page, adding another dot somewhere along the new curve from which yet another curve can sprout. A maximum of three curves can extend from any dot, and curves can't cross. The last player who can move wins.
Games  DIY  Child_Rearing 
6 weeks ago
Haskell's kind system - a primer · dcastro
Levity, higher kinded types (HKT) and their relation with higher order functions (HOF) and polymorphism at the *kind* level.
Programming  Haskell  TypeSystems  Theory 
8 weeks ago
Fold N Fly ✈
Paper airplane designs and folding instructions
DIY  Kids  Hobbies  Games 
8 weeks ago
Paradigm shifts for the decentralized Web | Ruben Verborgh
How to get a decentralized web (if you like semantic web, knowledge graphs, RDFa triples, etc.)
Programming  Databases_and_Data_Persistence  Philosophy 
10 weeks ago
Pantorouter
I call this machine the "pantorouter" because it's essentially a big pantograph mechanism with a router in it. It's used to route shapes from 2x sized templates. I originally designed it for cutting tenons, but the machine is very versatile and can be used for all kinds of wood joints.

I invented and published this machine in 2010. In 2014, I built the Pantorouter XL, which is designed to accommodate plunge routers.

In 2018, I revised the design, adding a vertically adjustable template holder, moving the depth stops to the side, and a few minor changes to make it easier to build. This time, I filmed the whole construction.
DIY  Carpentry 
september 2018
lightweight concurrency in lua -- wingolog
CML (Concurrent ML) - the nicer version of a similar article (linked here) that implements the same thing in Scheme. Presumes call-with-prompt (something like call-with-cc)
Programming  Concurrency  Lua  DeepDive 
may 2018
Color: From Hexcodes to Eyeballs
How we go from cones to color (with a reference to a woman with 4 sets of cones who can see 100,000,000 (one hundred million) colors
Biology  Science  Physics 
april 2018
Crafting Interpreters
A book on building an interpreter from scratch
Books  Programming  Learning_Resources 
march 2018
Why Mary Is the Best Promoter of Culture — My Favorite Catholic Things
In the early 1900s, Adams, a Protestant who had spent much time living in Europe, wrote about the extreme power wielded by the Virgin Mary:

The twelfth and thirteenth centuries were a period when men were at their strongest; never before or since have they shown equal energy in such varied directions, or such intelligence in the direction of their energy; yet these marvels of history – these Plantegenets [a dynastic family of kings]; these Scholastic philosophers; these architects of Rheims and Amiens; these Innocents, and Robin Hoods, and Marco Polos; these crusaders who planted their enormous fortresses all over the Levant; these monks who made the wastes and barrens yield harvest – all, without apparent expedition, bowed down before the woman.


What Adams recognized over a century ago as he walked through the cities, churches, cathedrals, and cemeteries, was that the height of European culture was centered around devotion to Our Lady. In the places where European culture soared, so too did devotion to Our Lady, and perhaps vice versa, where devotion to Mary soared, so too did culture.
Catholicism  BenedictOption  Culture 
march 2018
Out of Pride and into Humility - Community in Mission : Community in Mission
In yesterday’s post, we considered the twelve steps of pride set forth by St. Bernard of Clairvaux. In escalating ways, the twelve steps draw us to an increasingly mountainous and enslaving pride.

St. Bernard also enumerates the twelve steps to deeper humility and it is these that we consider today. As with yesterday’s post, the list by St. Bernard is shown in red, while my meager commentary is shown in plain, black text. To read St. Bernard’s reflections, consider purchasing the book Steps of Humility and Pride.
Catholicism  SpiritualLife  Prayer  Practicum  Virtue 
march 2018
The Function Colour Myth • Lukasa's Echochamber
A counter-counter-point to Unyielding vs. What Color is Your Function that comes down more on Unyielding's side.
Programming  Async  Concurrency  Opinion  DeepDive  Python 
march 2018
Shtetl-Optimized » Blog Archive » Shor, I’ll do it
A layman's introduction to Shor's algorithm and quantam algorithms in general as a period-finding method using the known truth in multiple universes.
Quantum  Algorithms  Programming  Physics 
august 2017
Broadband-Hamnet
Specs for a wireless mesh network using Ham Radio frequencies and COTS hardware and software
Programming  Network  Radio  DIY 
may 2017
How to limit WebRTC bandwidth by modifying the SDP - webrtcHacks
If you're doing voice or video chat via Peer-to-Peer, this will help keep the bandwidth requirements low by throttling the total bandwidth requested by a video or audio channel.
Programming  Web_Development  Javascript 
may 2017
A fast alternative to the modulo reduction – Daniel Lemire's blog
A neat trick to turn X % Y (x mod y) which is 6 instructions + 26 instructions of latency on 2016 Intel machines into (x * N) >> 32 + assembly to make it not need the shift (4 instructions, no latency).
Programming  Performance  C  Assembly  Algorithms 
may 2017
The Wrong Abstraction — Sandi Metz
I've been thinking about the consequences of the "wrong abstraction." My RailsConf 2014 "all the little things" talk included a section where I asserted:

> duplication is far cheaper than the wrong abstraction

And in the summary, I went on to advise:

> prefer duplication over the wrong abstraction

This small section of a much bigger talk invoked a surprisingly strong reaction. A few folks suggested that I had lost my mind, but many more expressed sentiments along the lines of:

> This, a million times this! "@BonzoESC: "Duplication is far cheaper than the wrong abstraction" @sandimetz @rbonales pic.twitter.com/3qMI0waqWb"
— 41 shades of blue (@pims) March 7, 2014

The strength of the reaction made me realize just how widespread and intractable the "wrong abstraction" problem is. I started asking questions and came to see the following pattern:

Programmer A sees duplication.
Programmer A extracts duplication and gives it a name.

This creates a new abstraction. It could be a new method, or perhaps even a new class.

Programmer A replaces the duplication with the new abstraction.
Ah, the code is perfect. Programmer A trots happily away.
Time passes.
A new requirement appears for which the current abstraction is almost perfect.
Programmer B gets tasked to implement this requirement.
Programmer B feels honor-bound to retain the existing abstraction, but since isn't exactly the same for every case, they alter the code to take a parameter, and then add logic to conditionally do the right thing based on the value of that parameter.

What was once a universal abstraction now behaves differently for different cases.
Another new requirement arrives.
Programmer X.
Another additional parameter.
Another new conditional.
Loop until code becomes incomprehensible.
You appear in the story about here, and your life takes a dramatic turn for the worse.
Programming  BestPractices  Development 
april 2017
Rod Dreher | The American Conservative
Author of the Benedictine Option on society and the world
Culture  Catholicism  Society_and_Politics 
march 2017
Responsive CSS Patterns without Media Queries
Fab 4 (min-width, max-width, width + calc) and flex-grow: 9999 for responsive container-size-based CSS without any media queries at all.
Programming  Web_Development  CSS 
march 2017
The Internals of PostgreSQL : Chapter 1 Database Cluster, Databases, and Tables
What really happens on disk when you create a table, an index, or a tablespace - also, how do you mount one table on a separate partition for speed?
Programming  Books  Postgres  Databases_and_Data_Persistence  DeepDive 
january 2017
Buildroot - Making Embedded Linux Easy
A base build system for building embedded systems - great for use with Docker (seem Minimal Containers on YouTube).
Programming  Docker  Linux 
january 2017
Andrew G Haldane: The dog and the frisbee
Speech by Mr Andrew G Haldane, Executive Director, Financial Stability, Bank of England,
and Mr Vasileios Madouros, Economist, Bank of England, at the Federal Reserve Bank of
Kansas City’s 366th economic policy symposium, “The changing policy landscape”,
Jackson Hole, Wyoming, 31 August 2012.
Opinion  Finance  Statistics  MachineLearning 
january 2017
Joe Duffy - Blogging about Midori
An extremely deep dive on language design by an ex-Microsoft employee who worked on Midorii - a type-safe, async everything language that compiled from C# and was used to write a completely concurrent OS.
Programming  DeepDive  Language  Design  BestPractices  Async  Concurrency 
january 2017
CSS Triggers
Things that trigger repaints, reflows, compositing, etc. on first load and on subsequent updates too.
Programming  Web_Development  CSS  Performance 
january 2017
The Line of Death – text/plain
Browser chrome, picture-in-picture attacks, and why trusted content (about the security of a feature or requesting permission to activate something) must appear outside of the content-provider's space (line-of-death).
Programming  Security  UserExperience 
january 2017
Climate Etc.
Climate Change Blog, along with Epistimology-ish thoughts
Opinion  Science  Philosophy 
january 2017
Total Annihilation: Escalation
A fan-built expansion pack for TA that looks *awesome*
Games 
january 2017
The Manhattan Project Fallacy
The Federal government is already an AI by virtue of being a bureaucracy with processes and people (algorithms and decision points). Tech companies will not and cannot save society - but they can produce tools that we can use to save society.
Society_and_Politics  Theory  Opinion  Open_Government  Artificial_Intelligence 
november 2016
U.S. Energy Data
A chart of how data is used in the US from source to sink by Paul Griffith and Co. (Tim O'Reilly sourced).
DataAnalysis  Charting  Ideas  Society_and_Politics 
november 2016
Armarium Magnum
The gentleman from Quora (Tim) who writes so well about religion and Catholicism even though he is himself an atheist (Bruno, Galileo, etc.)
Learning_Resources  Catholicism  History 
november 2016
How to Get Fired Using Switch Statements & Statement Expressions
Switch in C is crazy and can be treated more like labels and gotos, allowing oddities like:

if (i < 10) {
case 7:
case 8:;
}

inside a switch statement. Much craziness results.
Programming  C  DeepDive 
october 2016
Using Saga To Accumulate And Deduplicate Redux Actions
Why redux-saga is an awesome pattern to combine with redux - deduplication and aggregation of network requests with sagas.
Programming  Web_Development  ReactJS  Javascript  Redux 
october 2016
Java Method Reference Evaluation | Kynosarges Weblog
Did you know that `handle` in `Runnable handle = obj::methodReference;` updates when you change what `obj` references?
Programming  JVM  Java 
october 2016
The Aux Pattern
Understanding Shapeless and Cats Aux class for type-level computations.
Programming  Scala  TypeSystems 
october 2016
« earlier      
per page:    204080120160

Copy this bookmark:





to read