Inline and Sideline Approaches for Low-Cost Memory Safety in C
This technical report is based on a dissertation submitted November 2020 by the author for the degree of Doctor of Philosophy to the University of Cambridge, Selwyn College.
The latest blog posts to take off on Hacker News. 1,517 posts.
This technical report is based on a dissertation submitted November 2020 by the author for the degree of Doctor of Philosophy to the University of Cambridge, Selwyn College.
Focus on debugging your application rather than debugging your programming language knowledge.
I've spent a little more than a month working with Git now. I can honestly say that while there are many things that I like about Git, there are just as many things that I personally find to be a pain in the butt. Submodules specifically have managed to be a thorn in my side…
Navigating codebases of any meaningful size is difficult. Most of a programmer's time is spent jumping through the codebase, reading or skimming to build a ment...
You might have heard people say that functional programming is more academic, and real engineering is done in imperative style. I’m going to show you that real engineering is functional, and …
I spend a fair amount of time wandering around in the terminal. The chances are that you are too since you dared to open this story. My daily activities led me …
Near the end of January I was pointed to a twitter thread where a Windows user with a powerful machine was hitting random hangs in explorer. Lots of unscientific theories were being proposed. I don…
Let’s try a new format – “shorts”; small blog posts where I elaborate on ideas that I’d discuss at my twitter, but they either come back over and over, or the short form doesn’t convey all th…
Here’s a list of reasons why SELECT * is bad for SQL performance, assuming that your application doesn’t actually need all the columns. When I write production code, I explicitly specify the columns of interest in the select-list (projection), not only for performance reasons, but also for application reliability…
This is the 6th post in the The state of JVM desktop frameworks focus series.
Julia 1.0 came out well over 2 years ago. Since then a lot has changed and a lot hasn’t. Julia 1.0 was a commitment to no breaking changes, but that is not to say no new features have been added to the language.
The user interfaces are a weird thing. There are all sorts of libraries and frameworks that are supposed to help you on your journey of writing a GUI, but despite all the best practices and frameworks forcing you to eat your vegetables, the GUI always ends up being a ridiculous mess. After pondering some more about…
_posted by John Clements_ Racket version 8.0 is now available from https://racket-lang.org/. *** Racket 8.0 is here!*** Racket 8.0 marks the first release where Racket CS is the default implementation. Creating, polishing, and adopting Racket CS has be...
A while ago, I’ve been working on a very large codebase that consisted of a few million lines of code. Large systems are usually a big mess and this one was no exception. Since this is a rather common problem in software engineering, I thought the internet would be littered with stories about this topic. There is a…
Turning Outlook into a keylogger via VBA macros
An update on using .NET and containers together, learn how to tackle staying safe and keeping your container images up-to-date.
In this article we’ll look at how to implement the Elo rating system in code.
Quite a while back I wrote a larger article on the algebraic foundation of software patterns which also covered the MapReduce algorithm .
After spending some weeks playing with Rust, I felt ready to test my skills and try some programming challenges in the [Advent Of Code](https://adventofcode.com/). My approach to tackle some of those challenges was to solve them using Javascript (I use it in my day to day) first and then port the code to Rust. While…
Effective D Programming Language.
Scala, first appearing in 2004, is neither an old stalwart nor a new player in the programming language market. This post will discuss the unique combination of features that Scala provides and how it compares to other languages on the market, diving beneath the superficial experience to explore the fundamentals of…
Our on-the-ground reporter gauges developer reactions to the Python Steering Council's latest decision regarding pattern matching.
Ruby 3.0 is a lot faster than Ruby 2.0, with both incremental tuning and interesting new disruptive changes. 'Three times faster' is hard to define. JIT! Ractors! Autofibers!