Most cited
Posts that commenters keep linking to, ranked by how many different people have cited them in Hacker News comments. 3,470 posts.
What's wrong with the default build tool for Scala
SBT is the default build tool for the Scala programming community: you can build Scala using other tools, but the vast majority of the community uses SBT. Despite that, nobody seems to like SBT: people say it's confusing, complicated, and opaque. This post will deeply analyze what exactly it is about SBT that people…
Value Types for Java – A sketch of proposed enhancements
This is a sketch of proposed enhancements to the Java Virtual Machine instruction set, and secondarily to the Java Language, to support small immutable, identityless value types . (They may also be considered as identityless aggregates, user-defined primitives, immutable records, or restricted classes.) This is an…
Quake 3 Source Code Review
Since I had one week before my next contract I decided to finish my "cycle of id". After Doom , Doom Iphone , Quake1 , Quake2 , Wolfenstein iPhone and Doom3 I decided to read the last codebase I did not review yet: idTech3 the 3D engine that powers Quake III and Quake Live . The engine is mostly an evolution of…
Pointers Are Complicated, or What’s in a Byte?
This summer, I am again working on Rust full-time, and again I will work (amongst other things) on a “memory model” for Rust/MIR. However, before I can talk about the ideas I have for this ...
Why Constant-Time Crypto?
In 1996, Paul Kocher published a novel attack on RSA, specifically on RSA implementations , that extracted information on the private key by simply measuring the time taken by the private key operation on various inputs. It took a few years for people to accept the idea that such attacks were practical and could be…
Full-Stack Redux Tutorial
Tero Parviainen
Project Loom: Fibers and Continuations for the Java Virtual Machine
Project Loom's mission is to make it easier to write, debug, profile and maintain concurrent applications meeting today's requirements. Threads, provided by Java from its first day, are a natural and convenient concurrency construct (putting aside the separate question of communication among threads) which is being…
Parsing C++ is literally undecidable (2013)
Many programmers are aware that C++ templates are Turing-complete, andthis was proved in the 2003 paper C++ Templates areTuring Complete.
My Future with Elixir: set-theoretic types
We announce and explore the possibilities for bringing set-theoretic types into Elixir.
How to Deconstruct Almost Anything, by a Software Engineer
This is the story of one computer professional's explorations in the world of postmodern literary criticism. I'm a working software engineer, not a student nor an academic nor a person with any real background in the humanities. Consequently, I've approached the whole subject with a somewhat different frame of mind…
The Most Unusual (and Best) Computer Language Book I've Ever Seen.
Why's (Poignant) Guide to Ruby, from Why's (Poignant) Guide to Ruby by _why the lucky stiff. CC BY-SA 2.5.
Regular Expression Matching in the Wild
The first two articles in this series, “ Regular Expression Matching Can Be Simple And Fast ” and “ Regular Expression Matching: the Virtual Machine Approach ,” introduced the foundation of DFA-based and NFA-based regular expression matching. Both were based on toy implementations optimized for teaching the basic…
Asynchronous Everything (2015)
Joe Duffy's Blog | Adventures in the high-tech underbelly
Tom Duff on Duff's device (1988)
I normally do not read comp.lang.c, but Jim McKie told me that `` Duff's device '' had come up in comp.lang.c again. I have lost the version that was sent to netnews in May 1984, but I have reproduced below the note in which I originally proposed the device. (If anybody has a copy of the netnews version, I would…
Pattern: Back ends for front ends
With the advent and success of the web, the de facto way of delivering user interfaces has shifted from thick-client applications to interfaces delivered via the web, a trend that has also enabled the growth of SAAS-based solutions in general. The benefits of delivering a user interface over the web were huge …
PEP 634 – Structural Pattern Matching: Specification
This PEP provides the technical specification for the match statement. It replaces PEP 622, which is hereby split in three parts:
The top programming languages
Explore the top programming languages on GitHub—and what languages are growing the fastest.
ha ha only serious
[from SF fandom, orig. as mutation of HHOK, ‘Ha Ha Only Kidding’] A phrase (often seen abbreviated as HHOS) that aptly captures the flavor of much hacker discourse. Applied especially to parodies, absurdities, and ironic jokes that are both intended and perceived to contain a possibly disquieting amount of truth, or…
Competitive programming with AlphaCode
Solving novel problems and setting a new milestone in competitive programming.
the Lemacs/FSFmacs schism
In 1991, I was working at Lucid Inc., and our newest product, Energize, was an integrated development environment for C and C++ on Unix. The design of this development environment involved very tight integration between the various tools: compilers, linkers, debuggers, graphers, and editors. So of course we needed a…
Chris Lattner
This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project .
bliki: Frequency Reduces Difficulty
"If it hurts - do it more often". Good advice if the amount of pain raises exponentially with the time between actions, such as for integrating software.
PEP 554 – Multiple Interpreters in the Stdlib
CPython has supported multiple interpreters in the same process (AKA “subinterpreters”) since version 1.5 (1997). The feature has been available via the C-API. [c-api] Multiple interpreters operate in relative isolation from one another, which facilit...
Basics of the Unix Philosophy
The ‘Unix philosophy’ originated with Ken Thompson's early meditations on how to design a small but capable operating system with a clean service interface. It grew as the Unix culture learned things about how to get maximum leverage out of Thompson's design. It absorbed lessons from many sources along the way.
How To Create an SSH CA to Validate Hosts and Clients with Ubuntu
When dealing with an extensive infrastructure and many team members, managing SSH keys for authentication can become unwieldy. However, SSH can utilize cert…
Units of measure
Type safety for numerics
Explore Qt Demos: Interactive Examples for Your Next Project
Explore interactive Qt demos that showcase the power of Qt’s cross-platform tools—ideal for developers seeking real-world applications to boost their projects.