Top posts
Every blog post that took off on Hacker News, ranked by the votes of its best submission. 21,822 posts.
Three of the Hundred Falsehoods CS Students Believe
Earlier this year, many people were passing around this article about "re-learning how to be yourself online". Near the end the author reaches a set of questions that are motivating him:
How Claude Code works in large codebases
The most successful Claude Code deployments share a set of recognizable patterns across configurations, tooling, and org structure. This article is part of Claude Code at scale, a new series covering best practices for engineering organizations building with Claude Code at enterprise scale.
Don't distract new programmers with OOP
It's not about technology for its own sake. It's about being able to implement your ideas.
GitHub code search is generally available
The world’s code is now at your fingertips.
Want to spell check? Read the fine print
Update : This post has hit Hacker News - you might want to follow the comments over there.
Some things I've learnt about programming
I've been programming for over 30 years from machines that seem puny today (Z80 and 6502 based) to the latest kit using languages that rang...
CocoaPods trunk read-only plan
The blog for CocoaPods.org the Cocoa Dependency Manager
Writing a GPT-4 script to check Wikipedia for the first unused acronym
Curious what the first ‘unused’ alphabetic acronym is, I have GPT-4 write a script to check English Wikipedia. After three bugs, the first unused one turns out as of 2023-09-29 to be the three-letter acronym ‘CQK’, with another 2.6k TLA unused, and 393k four-letter acronyms unused. Exploratory analysis suggests…
Firefox Nightly Gets New Baseline JIT Compiler
This wednesday we landed the baseline compiler on Firefox nightly. After six months of work from start to finish, we are finally able to merge ...
Go 1.7 toolchain improvements
This is a progress report on the Go toolchain improvements during the 1.7 development cycle. All measurements were taken using a Thinkpad x220, Core i5-2520M, running Ubuntu 14.04 linux.
Notes from the Meeting on Python GIL Removal Between Python Core and Sam Gross
During the annual Python core development sprint we held a meeting with Sam Gross, the author of nogil, a fork of Python 3.9 that removes the GIL. This is a non-linear summary of the meeting.
Coroutines and effects
For the past few months I’ve been mulling over some things that Russell Johnston made me realize about the relationship between effect systems and coroutines. You can read more of his thoughts on this subject here , but he made me realize that effect systems (like that found in Koka) and coroutines (like Rust’s async…
Best Practices Exist For A Reason
If you've ever used node.js, you've probably also used Isaac Schlueter's npm, the node package manager. By maintaining a central repository to which authors can quickly publish their JavaScript modules, npm has made it easy to get started building node apps and its popularity has exploded over the past year…
Writing a simple windows driver in Rust
The Rust language ecosystem is growing each day, its popularity increasing, and with good reason. It’s the only mainstream language that provides memory and concurrency safety at compile time…
Clojure from the ground up
This guide aims to introduce newcomers and experienced programmers alike to the beauty of functional programming, starting with the simplest building blocks of software. You’ll need a computer, basic proficiency in the command line, a text editor, and an internet connection. By the end of this series, you’ll have a…
Beginners Guide to Vulkan
Recently I asked the community for beginner-friendly resources on Vulkan, and I compiled a list of them that you can find below. For the beginners reading this, Vulkan is a new graphics API-- in other words, a way to communicate with your GPU and make it do things. It's managed by the Khronos Group, which means it's…
Efficient pagination of a SQL table with 100M records
Compilation of my favorite SQL queries after a decade of dealing with relational databases. Today we talk about scanning a table with 100 million records.
A Lisp compiler to RISC-V written in Lisp
This is a simple experimental Lisp compiler, written in uLisp, that will compile a Lisp function into RISC-V machine code. You can run the compiler on the RISC-V core of a Raspberry Pi Pico 2 (or another RP2350-based board):
Reverse-engineering the 1998 Ultima Online demo server
After 10 years of on-and-off work, I’m releasing a full reverse-engineering of the 1998 Ultima Online demo server: https://github.com/draxinar/ouo . About 5,000 functions disassembled from MSVC x86 and translated into portable C99, with each function compared instruction-by-instruction against the binary.
Parcel 2 Beta 3 – improved build performance
The Parcel team is excited to release Parcel 2 beta 3! This release includes a ground up rewrite of our JavaScript compiler in Rust, which improves overall build performance by up to 10x. In addition, this post will cover some other improvements we’ve made to Parcel since our last update, along with our roadmap to a…
Crystal 1.1.0
We are releasing the first post-1.0 release, making efforts to keep our promise of making regular releases each 3 months, a bit delayed because of the conference, and with special focus on keeping the language stability. Below we list the most important or interesting changes, without mentioning the several bugfixes…
Articles Every Programmer Should Read
A blog about Java, Programming, Algorithms, Data Structure, SQL, Linux, Database, Interview questions, and my personal experience.
The Programming Books That Meant The Most To Me
There are so many programming books out there, but most focus on specific technologies and their half-life is incredibly short. Others focus on process or culture. Very few focus on the timeless principles of writing good code, period. The following five books had the biggest influence on my progra…
Graceful Shutdown in Go: Practical Patterns
Go applications can implement graceful shutdown by handling termination signals (SIGTERM, SIGINT) via os/signal or signal.NotifyContext. Shutdown must complete within a specified timeout (e.g., Kubernetes’ terminationGracePeriodSeconds)…