Code Like a Pythonista: Idiomatic Python
The home of pythonistas
Posts that commenters keep linking to, ranked by how many different people have cited them in Hacker News comments. 6,981 posts.
The home of pythonistas
As part two ( see previous attempt ) of my ongoing series in ‘computational necromancy,’ I’ve spent the last year and a half or so constructing my own 1/10-scale, binary-compatible, cycle-accurate Cray-1. This project falls purely into the “because I can!” category – I was poking around the internet one day looking…
Inspired by the strangler figs in Australia, a strangler fig application gradually draws behavior out of its host legacy application
Project Loom aims to drastically reduce the effort of writing, maintaining, and observing high-throughput concurrent applications that make the best use of available hardware.
This blog post has been translated into Russian , Japanese , Chinese , and Chinese again . For more detail on problems with CAP, and a proposal for an alternative, please see my paper A Critique of the CAP Theorem .
This post follows up on OCaml for Haskellers from Edward Z. Yang (2010) and my own Haskell for OCaml programmers from earlier this year. Note The latest version of this document can be found online at https://dr-knz.net/rust-for-functional-programmers.html. Alternate formats: Source, PDF. Prologue Rust for C…
Musings of a Computer Scientist.
I’m often surprised that people continually have fundamental misconceptions about how distributed systems behave. I myself shared many of these misconceptions, so I try not to demean or dismiss but rather educate and enlighten, hopefully while sounding less preachy than that just did. I continue to learn only by…
Update: An updated version of this blogpost was published as a (peer-reviewed) Letter to the Editor at Bioinformatics, sans the “sociology” commentary. I just came back from CASP13, the…
Slides and notes for the Being Glue talk.
Revocation checking is in the news again because of a large number of revocations resulting from precautionary rotations for servers affected by the OpenSSL heartbeat bug. However, revocation checking is a complex topic and there's a fair amount of misinformation around. In short, it doesn't work and you are no more…
Probability theory might be the most useful area for programmers, but it is also a blurry field, difficult to learn right. You might check this book for details, and there is also an free, online draft version available. The Logic of Science
People complain about Rust syntax. I think that most of the time when people think they have an issue with Rust's syntax, they actually object to Rust's semantics. In this slightly whimsical post, I'll try to disentangle the two.
The original NMOS version of the MOS 6502, used in computers like the Commodore 64, the Apple II and the Nintendo Entertainment System (NES), is well-known for its illegal opcodes: Out of 256 possible opcodes, 151 are defined by the architecture, but many of the remaining 105 undefined opcodes do…
I’ve supervised a lot of great student projects in my nine years at MIT, but my inner nerdy teenager has never been as personally delighted by a project as it is right now. To…
On Wednesday, May 31, 2023, I finally regained access to my Amazon account after an unexpected and unwarranted lockout that lasted nearly…
You advocate a ( ) solar ( ) lunar ( ) atomic approach to calendar reform. Your idea will not work. Here is why: ( ) solar years are real and the calendar year needs to sync with them ( ) solar days are real and the calendar day needs to sync with them ( ) the so...
How to Kill a Decentralised Network (such as the Fediverse) par Ploum - Lionel Dricot.
The first rule of PAKE is: nobody ever wants to talk about PAKE. The second rule of PAKE is that this is a shame, because PAKE — which stands for Password Authenticated Key Exchange — is actually o…
It is impossible to measure the effectiveness of tools and techniques in software development because we have no way of measuring our output, and thus our productivity.
I have never considered Python to be heavily influenced by functional languages, no matter what people say or think. I was much more familia...
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…
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…
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…