Counting bytes fast
An apparently trivial and uninteresting task nonetheless received some special optimization care within FSE : counting the bytes (or 2-...
The latest blog posts to take off on Hacker News. 14,544 posts.
An apparently trivial and uninteresting task nonetheless received some special optimization care within FSE : counting the bytes (or 2-...
The real enemy addressed by inlining is unexpected dependency and mutation of state, which functional programming solves more directly and completely. However, if you are going to make a lot of state changes, having them all happen inline does have advantages; you should be made constantly aware of the full horror of…
The difficulty in learning Clojure does not stem from its syntax, which happens to be extremely simple, but from having to learn new methods for solving problems. As such, we'll focus on understanding the core concepts and how they can be combined to solve problems the functional way.
Hello, everyone! Click here for up to date build instructions Today I am happy to make the first release of the Common Lisp implementation “Clasp”. Clasp uses LLVM as its back-end and generates nat…
Early results from my scan: there's about 3000 systems vulnerable just on port 80, just on the root "/" URL, without Host field. That doesn'...
Disclaimer: This software is not ready. I am using it and it is stable but I still have to make it feel great , if you have suggestions I would be glad to take them. I wrote a list of work that I will attempt in the future.
Last week I was sorting through several sets of Microsoft C 5.1 disks from 1988 (more about that later). While I was comparing the disk images to see whether the disks were the same or not, despite different labels and part numbers, I did a double take when I realized that a file with random e-mail fragments was, in…
Valve is investing in OpenGL to hedge themselves against Microsoft. Some well-known developers have written about the deficiencies in the API. A few competing, proprietary APIs have popped up. In an effort to remain competitive, Khronos announces glnext: a ground-up rethinking of the OpenGL and OpenGL ES APIs. This…
There's some sort of inflection point where a "long read" becomes an "epic article." I'm not quite sure where that inflection point is, bu...
Random code snippets, projects and musings about software from Eric Kidd, a developer and occasional entrepreneur.
Stack Some time ago i started to write a series of posts about assembly x64 programming. It is third part and it will be about stack. The...
Recently I gave an itemis internal talk about basic functional programming (FP) concepts. Towards the end I made a claim that objects and their blueprints (a.k.a. classes) have severe downsides and that it is much better to "leave data alone", which is exactly how Clojure and Haskell treat this subject.
This article will continue the layout module that we started in Part 5. This time, we’ll add the ability to lay out block boxes. These are boxes that are stack vertically, such as headings and paragraphs.
Alex Payne wrote an excellent essay called Thoughts on Five Years of Emerging Languages. It called to mind something I wrote a while ago for a …
Supervisor trees are one of the core ingredients in Erlang's reliability and let it crash philosophy . A well-structured Erlang program is broken into multiple independent pieces that communicate via messages, and when a piece crashes, the supervisor of that piece automatically restarts it.
I built an interactive Shiny application that uses simulated annealing to solve the famous traveling salesman problem. You can play around with it to create and solve your own tours at the bottom of …
Pipelines are an extremely useful (and surprisingly underused) architectural pattern in modern software engineering. The concept of using pipes and filters) to control the flow of data through...
Nano How-To explaining how to setup a root file system with only emacs.
This post is a more carefully thought out and peer reviewed version of a floating-point comparison article I wrote many years ago. This one gives solid advice and some surprising observations about…
Author’s note: this article used to be called “What Every ComputerProgrammer Should Know About Floating Point, part 1”. Some peoplenoted that this was perh...
One of the biggest issues with Higgs, the JIT compiler I’m working on, is that the compilation times are too slow. The performance of the compiled machine code that Higgs produces is now fair…
After Firefox , I decided to look into LibreOffice performance with link time optimizations (LTO) and profile feedback (FDO). This post was ...
This is the latest in a series of articles about writing a simple HTML rendering engine: