Questions to ask yourself when writing tests
Talk to yourself to make sure your tests help you achieve your aims
Talk to yourself to make sure your tests help you achieve your aims
Before I start this post, let me preface it by saying that I’m not an experienced Rustacean by any means. The excellent foks at /r/rust gave a lot of helpful feedback and cleared up some misconceptions I had. Futher errata and corrections are appreciated. This post is aimed at helping other fledgling rust-learners…
Open Source Freelancer
Datasette (previously) is my open source tool for exploring and publishing structured data. There are a lot of ideas embedded in Datasette. I realized that I haven’t put many of …
A visual exploration of what The Four Color Theorem can say about software complexity.
You have heard of “zip bombs” (a tiny ZIP file that decompresses to multiple gigabytes) and “XML bombs” (small XML file abusing the entities to consume lots of memory), and …
How I finally decided what is better (for me), Lisp or Haskell?
Face it: nobody likes fractions, not even computers.
In this essay, after a brief review of the work we’ve already done on the Mockingbird, we’ll derive the Why Bird, known most famously as the Y Combinator . The why bird provides all the benefits of the mockingbird, but allows us to write more idiomatic JavaScript. We’ll see that one of the benefits of writing…
A couple weeks ago, Galois and Immunant launched c2rust. Since I wrote one of the best-known C-to-Rust translation tools (Corrode), and since I worked for Ga...
ramblings by Adam Perry
Someone : Did you hear that Facebook/Google uses a giant monorepo? WTF! Me : Yeah! It's really convenient, don't you think? Someone : That's THE MOST RIDICULOUS THING I've ever heard. Don't FB and Google know what a terrible idea it is to put all your code in a single repo? Me : I think engineers at FB and Google are…
Why code can't replace design docs: three examples (testing, coupling, intent) of design information that cannot be recovered from code alone.
So, given all of that, lets dive into the meat of the article. What are we going to accomplish in Clojure today?
An alternative way to do web based apps on macOS and iOS without Electron
GraalVM challenges the status quo on the JVM. This newly-released just-in-time compiler brings substantial speed improvements and support for polyglot applications. It also allows us to translate our JVM bytecode into small self-contained native binaries. In this session we’ll explore Graal’s impact on Clojure. We’ll…
🦑 Informal definitions of terms used in concurrency modeling
Concurrency Control is a mechanism that maintains atomicity and isolation, which are two properties of the ACID, when multiple transactions run concurrently in a database.
The "Waterfall" methodology was a historic accident and they knew it.
As you may have heard by now, Ranges got merged and will be part of C++20. This is huge news and represents probably the biggest shift the Standard Library has seen since it was first standardized …
The blog of Seva Zaikov
Why do we need to talk about robust JavaScript and how do we achieve it?
Raytracing is a relatively simple way to render images of 3D objects. The core is an elegant idea, that one can simulate the real-world behavior of photons of light bouncing off of surfaces and colors accumulating from their paths. It’s not inherently fast, but the simplicity of the core lets it model interesting…
In the past 6 years I’ve worked on web applications in Rails, Clojure, Java and back to Rails. This is an overview of these past years, the benefits of working with such different tech stacks, and also it’s drawbacks.