The software engineering notebook
Fellow software engineers/hackers/devs/code gardeners, do you keep a notebook (digital or plain dead-tree version) to record things you learn?
The latest blog posts to take off on Hacker News. 14,544 posts.
Fellow software engineers/hackers/devs/code gardeners, do you keep a notebook (digital or plain dead-tree version) to record things you learn?
In this post I would like to reflect a bit on the Julia programming language. These are my personal views and I have had more than a year developing a lot of packages for the Julia programming language. After roaming around many different languages including R, MATLAB, C, and Python; Julia is finally a language I am…
As my RC batch draws to a close, I’m interviewing once again. In the vein of Julia Evans’ great blog post, “Questions I’m asking in interviews” , here’s a set of questions to ask your recruiter, interviewers, and/or prospective manager.
Just over a year ago Google made all the open source code on GitHub available for querying within BigQuery and as if that wasn’t enough you can run a terabyte of queries each month for free!
Dear Postgres, I’ve always felt an affinity for you in my 9 years of working with you. I know others have known you longer, but that doesn’t mean they love you more. Years ago when others complained about your rigidness or that you weren’t as accommodating as others I found solace in your steadfast values: Don’t lose…
The git bomb. Crafting compact repos that can't be cloned.
Introduction Firstly I want to note I’m not a security researcher, ethical hacker or at all competent at reverse engineering. I’m currently working as a Java developer but I’ve al…
In this article I’d like to present a list of django packages (add-ons) that I use in most of my projects. I am using django for more than 5 years as my day to day work tool to develop applications for the public sector organization I work for. So please keep in mind that these packages are targeted to the…
Using events to design applications is a practice that seems to be around since the late 1980s. We can use events anywhere in the frontend or backend. When a button is pressed, when some data chang…
Today's article is a short one. Not because Singular Value Decomposition (SVD) is not important, but because it is so ubiquitous that we'll touch it in other...
Robert C. Martin (Uncle Bob) thinks that defects in safety-critical systems are caused by a lack of developer professionalism. I think he's wrong.
In my previous post, I mentioned that have serious issues with the current Modules TS as it is written. I have wanted to say more on the subject since my tweets, posts, and general comments are missing quite a bit of context for why I think the implementation is wrong and will be more trouble than it is worth.
My style of Haskell programming has been evolving over the 15 years that I have been working with it. It is turning into something that I would like to call “functor oriented programming”. The traditional use of typed functional programming focuses on data types. One defines data types to model the data structures…
In this post I describe the Asynchronous Computability Theorem, which uses tools from Algebraic Topology to show whether a task is solvable…
A detailed analysis
A notorious ‘second-system effect‘ often afflicts the successors of small experimental prototypes. The urge to add everything that was left out the first time around all too frequently leads to huge and overcomplicated design. Less well known, because less common, is the ‘third-system effect’; sometimes, after the…
Robert O'Callahan. Christian. Kiwi. Software guy. All content human-authored unless otherwise noted.
This post is my attempt to write an easy to understand introduction to the main ideas behind building a real-time col...
This week I took a crack at writing a branchless UTF-8 decoder: a function that decodes a single UTF-8 code point from a byte stream without any if statements, loops, short-circuit operators, or other sorts of conditional jumps. You can find the source code here along with a test suite and benchmark:
Lack of ABI stability, slow compile times, poor Xcode support, and more hold Swift back
A while back I wrote that Robert Martin was ruining software by being too good at programming. That was supposed to be a joke. Since then he’s done his damndest to actually ruin software by telling people they’re doing it wrong. His most recent response where he yells at software correctness was the breaking point for…
Robert O'Callahan. Christian. Kiwi. Software guy. All content human-authored unless otherwise noted.
Sieve of Eratosthenes animation Source: Wikipedia[0] One of the things we need to do when finding Perrin Pseudo-Primes is to recognise prime numbers so we can see if the numbers predicted by the Perrin test to be prime, are. So we need to generate primes. For small primes (for some definition of "small") this can be…
In this post I’ll share my experience of building and using one of the earliest versions of the GNU C Compiler — GCC 1.27 (released in 1988) on a modern system.