Rules of Thumb for Software Development Estimations
Ah, software estimation - the bane of many developers’ existence and the scourge of project managers everywhere. A constant battle of “tell me how much it’s going to take you” and “give me a clear description of the task first.” I'm here to bring some much-needed reality of the complexities of real-world development. I’ve had my share of estimations on both sides of the fence. I’ve seen it all. And I'm here to give you the harsh truths about software estimation, so buckle up.
Learn how Stripe builds internal tools for 7000+ employees (sponsor)
Join Retool for a live demo with Stripe’s Head of People Solutions on May 16th. You’ll learn how Stripe built and launched a custom application for the entire company within 3 weeks—while saving engineering resources. Register today for the invite and recording after the event.
What Every Computer Scientist Should Know About Floating-Point Arithmetic
This paper presents a tutorial on those aspects of floating-point that have a direct impact on designers of computer systems. It begins with background on floating-point representation and rounding error, continues with a discussion of the IEEE floating-point standard, and concludes with numerous examples of how computer builders can better support floating-point.
Almost two years ago I rewrote the Austral compiler from Standard ML to OCaml, so I thought I’d share my thoughts on OCaml after using it in writing a complex software project, explaining what is good and what is bad and how it compares mainly to Haskell.
WebGPU is the new WebGL. That means it is the new way to draw 3D in web browsers. It is, in my opinion, very good actually. It is so good I think it will also replace Canvas and become the new way to draw 2D in web browsers.
8 Unexpected Profiling Use Cases Beyond Performance Optimization
Profiling is often associated with performance optimization, but it has many other valuable use cases.
Ice and Fire: How to read icicle and flame graphs
Flame graphs and icicle graphs are a great way to visualize performance profiles. In this post, we will learn how to read and interpret them.
Hotspot performance engineering fails
Developers often believe that software performance follows a Pareto distribution: 80% of the running time is spent in 20% of the code. Using this model, you can write most of your code without any care for performance and focus on the narrow pieces of code that are performance sensitive.
Achieving an Undergraduate Level Understanding of Graph Theory
Ultralearning project to learn the equivalent of an undergraduate maths of computer science student understanding of graph theory.