Category Theory and Declarative Programming
This is part 11 of Categories for Programmers. Previously: Natural Transformations. See the Table of Contents. Introduction to Part II In the first part of the book I argued that both category theo…
Every blog post that took off on Hacker News, ranked by the votes of its best submission. 2,307 posts.
This is part 11 of Categories for Programmers. Previously: Natural Transformations. See the Table of Contents. Introduction to Part II In the first part of the book I argued that both category theo…
In the previous Jepsen analysis of RethinkDB , we tested single-document reads, writes, and conditional writes, under network partitions and process pauses. RethinkDB did not exhibit any nonlinearizable histories in those tests. However, testing with more aggressive failure modes, on both 2.1.5 and 2.2.3, has…
Portability and Robustness issues commonly found in shell scripts
Updates: October 28 , 29 , 30 , 31 , November 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 , 12 , 13 , 14 , 15 , 18 , 22 , 27 , December 2 , 5 , 12 , 13 , 27 , January 2 , 5 , 5 , 9 , 11 , 13 , 22 , February 2 , 19 , March 15 , 17 , 21 , 22 , 28 , April 3 , 5 , 6 , 12 , 20 , 23 , May 3 , 6 , 19 , June 4 , July 27 …
Ten rules for writing safety critical code, to facilitate analysis and increase software reliability
The Curmudgeonly Optimist People are sometimes confused about my personal relationship with digital communication technologies. On the one hand, I’m a computer scientist who studies and improves these tools. ... Read more
I’m delighted to finally be investing in Asana, which I’ve wanted to do for a long time. One of the things I’ve learned about companies is that 1) clear tasks and goals, 2) clearly communicated,...
When you have to build a web application, you are often asked to add search. The magnifying glass is something that we now add to wireframes without even knowing what we are going to search.
I built a prawn trap from lawyer cane, sticks and vine. Then I caught some prawns and ate them. Prawn (and fish) traps are simple traps designed to catch aquatic life due to their shape. It consist…
This article has been translated to Japanese by Kana Takahashi on POSTD. The display property is one of the most important CSS properties we use for layout.…
A successful test for Appointment Reminder, and how you can get started testing more.
Andy Grove passed away the same day that Apple announced the iPhone SE. One of Grove’s best decisions reminds me of this launch.
This is #2 in a very long series of posts on Stack Overflow’s architecture.Previous post (#1): Stack Overflow: The Architecture - 2016 EditionNext post (#3...
If you're interested in writing servers in Rust, Tokio is a project that should definitely be on your radar. It promises to leverage the exciting new work on futures in Rust to make it easy to build extremely efficient networked servers with natural, composable code.
Update: This article is part of a series. Check out the full series: Part 1, Part 2, Part 3, Part 4, Part 5, Part 6, Part 7 and Part 8! You…
Hot on the heels of my [CES Report](http://ideas.4brad.com/ces-2016-robocar-news) is the release of the latest article from Chris Urmson on [The View from the Front Seat of the Google Car](https://medium.com/@chris_urmson/the-view-from-the-front-seat-of-the-google-self-driving-car-chapter-4-d707b9e925d3#.6okyykxyq)…
Implementation of an on-call policy requires answering precisely these questions: who is responsible for on-call duties for an application/service, and how is that responsibility defined? More succinctly, who owns on-call?
Michael Isard, Derek Murray, and I recently sent in a HotOS submission (it’s not blind, so no harm talking about it, we think). The subject is hinted at from...
python patterns diagram Over the past few months a number of people have come to me for guidance regarding various aspects of Python development, so I ...
I get a lot of requests from people for data from Have I been pwned [https://haveibeenpwned.com/] (HIBP) that they can analyse. Now obviously, there are a bunch of people up to no good requesting the data but equally, there are many others who just want to run statistics.
Recently I came across two great articles on the Pusher blog: Low latency, large working set, and GHC’s garbage collector: pick two of three and Golang’s Real-time GC in Theory and Practice . The articles tell the story of how Pusher engineers reimplemented their message bus. The first take was done in Haskell. During…
The startup world is an interesting place. As cities around the US work to establish their own Silicon XYZ, the variables required to build…