New
The latest blog posts to take off on Hacker News. 21,834 posts.
Fundamental Algorithms III
Three more fundamental algorithms in the series. Today, recursive permutations, subsets of the given set and variations with repetitions. Th...
The art of writing eBPF programs
A blog about the process of writing Extended Berkeley Packet Filter (eBPF) programs and what’s going on under the hood at the kernel-level.
Running a Bakery on Emacs and PostgreSQL
Just over a year ago now, I finally opened the bakery I’d been dreaming of for years. It’s been a big change in my life, from spending all my time sat in front of a computer, to spending most of it making actual stuff. And stuff that makes people happy, at that. It’s been a huge change, but I can’t think of a single…
The Unscalable, Deadlock-Prone, Thread Pool
Paul Khuong's personal blog. Some Lisp, some optimisation, mathematical or computer.
Go 1.12 Released
Go 1.12 adds opt-in TLS 1.3, improved modules, and more.
Reed Solomon codes are cool
thoughts
Mint, a new HTTP library for Elixir
Mint is a new low-level HTTP client that aims to provide a small and functional core that others can build on top.
Famous Laws of Software Development (2017)
Like any other field, the world of Software Development has some interesting and famous rules, principles and laws.
Books I Recommend
Some of my favorite books.
Databases always have a schema (2018)
You're probably reading this page because you've attempted to access some part of my blog (Wandering Thoughts) or CSpace , the wiki thing it's part of. Unfortunately you're using a browser version that my anti-crawler precautions consider suspicious, most often because it's too old (most often this applies to versions…
The CPython Bytecode Compiler Is Dumb
Due to sheer coincidence of several unrelated tasks converging on Python at work, I recently needed to brush up on my Python skills. So far for me, Python has been little more than a fancy extension language for BeautifulSoup , though I also used it to participate in the recent tradition of writing one’s own static…
Software Rot (2017)
Software rots. That is: Adapting mature software to new circumstances tends to take more time and effort than writing new software from scratch. Software people don't like to admit this, but open so…
Alternatives to JSX
The blog of Seva Zaikov
Enquire: Everything you wanted to know about your C compiler and machine
This is a program that determines many properties of the C compiler and machine that it is run on, such as minimum and maximum [un]signed char/int/long, many properties of float/ [long] double, and so on.
Useful Postgres Extension: Pg_stat_statements
Inspired by a talk in the PostgreSQL devroom at FOSDEM, a post on the usefulness of the pg_stat_statements extension to Postgres and why every Postgres developer should have it in their toolbox. With sections on getting started, and how to extract insights with pg_stat_statements.
Why I prefer objects over switch statements
A different approach to handle your conditions...
Programming Books You Wish You Read Earlier
There are so many programming books out there, sometimes it's hard to know what books are best. You won't find cracking the coding interview, the pragmatic programmer, or even the best python book. These are the best programming books curated from each major Software field.
A Brutal Look at Balanced Parentheses, Computing Machines, and Pushdown Automata
As discussed in Pattern Matching and Recursion , a well-known programming puzzle is to write a function that determines whether a string of parentheses is “balanced,” i.e. each opening parenthesis has a corresponding closing parenthesis, and the parentheses are properly nested.
Deep Learning on the GPU in Clojure from Scratch: Sharing Memory
Sharing and reusing memory buffers is inescapable if we want high performance. It is a sharp but powerful tool.
A Fairly Fast Fibonacci Function
A common example of recursion is the function to calculate the $n$-th Fibonacci number: def naive_fib(n): if n < 2: return n else: return naive_fib(n-1) + naive_fib(n-2) This follows the mathematical definition very closely but it’s performance is terrible: roughly $\mathcal{O}(2^n)$. This is commonly patched up with…