Topics /
Software Engineering
The most popular blog posts about software engineering on Hacker News. 21,830 posts.
TorchTPU: Running PyTorch Natively on TPUs at Google Scale
Discover TorchTPU, Google’s new engineering stack designed to run PyTorch natively on TPU infrastructure with peak efficiency. Learn how its "Eager First" philosophy and XLA integration simplify model migration while unlocking massive scalability for the next generation of AI.
An Introduction to Deep Learning for Language Modeling
Language models assign probability values to sequences of words. Those three words that appear right above your keyboard on your phone that try to predict the next word you’ll type are one of the uses of language modeling. In the case shown below, the language model is predicting that “from”, “on” and “it” have a high…
Embedded Rust in Production?
A review after using Rust on embedded in production for over a year
New C features in GCC 13
The GNU Compiler Collection 13 release implemented a number of interesting features in its C front-end. This article summarizes the most interesting ones.
Queues Don't Fix Overload
People misuse queues all the time. The most egregious case being to fix issues with slow apps, and consequently, with overload. But to say why, I'll need to take bits of talks and texts I have around the place, and content that I have written in more details about in Erlang in Anger .
The new calculus of AI-based coding
A collection of posts by Joe Magerramov
Choose Boring Technology
Analytics built for developers. Real user monitoring with page-load decomposition, Core Web Vitals, error tracking and conversion — cookie-free and without a tag manager.
Maybe comments should explain 'what' (2017)
People say “Comments should explain why, not what.” I feel like starting a flame war today so I’m going to argue that comments should explain ‘what’ too. Please don’t use this as justification to write bad code, okay? Okay. First of all, why shouldn’t comments explain ‘what’? If you need comments to explain what’s…
Tests aren’t enough: Case study after adding type hints to urllib3
Since Python 3.5 was released in 2015 including PEP 484 and the typing module type hints have grown from a nice-to-have to an expectation for popular packages. To fulfill this expectation our team...
Protobuf-ES: Protocol Buffers TypeScript/JavaScript runtime
An idiomatic Protocol Buffers library for TypeScript and JavaScript is now available.
The best Go framework: no framework?
Learn why using no framework aligns with the Go philosophy, enhances maintainability, and prevents costly refactors. Discover how to build flexible Go services using targeted libraries instead of monolithic frameworks.
The Art of Lisp and Writing (2003)
Lisp is the language of loveliness. With it a great programmer can make a beautiful, operating thing, a thing organically created and formed through the interaction of a programmer/artist and a medium of expression that happens to execute on a computer.
How Microsoft reduced Windows 11 update size by 40%
Reducing update size is important to you, and to us. Explore the techniques we used in Windows 11.
Typed Properties in PHP 7.4
PHP 7.4 adds typed properties to classes
Pointer Free Programming and the Future of Nim
What do ParaSail, "modern" C++ and Rust have in common? They focus on "pointer free programming" (ok, maybe Rust doesn't, but it uses similar mechanisms). In this blog post I am exploring how we can move Nim into this direction. My goals are:
When Big O Fools You
Big O notation is a great tool. It allows one to quickly make smart choices among various data structures and algorithms. But sometimes a casualBig O analy...
Writing to the Framebuffer (2018)
I’ve been thinking about cross platform GUIs, and one question led to the next and eventually I was asking: how do pixels end up on the monitor? A pretty neat stack overflow response answers:
Formalising Mathematics: An Introduction
An introduction to the TCC course “Formalising Mathematics”
Sublime Text 3.1 Released
Since version 3.0 we've been shipping frequent dev builds , refining Sublime Text for a more polished experience all-around. Those dev builds are now rolling out to everyone as Sublime Text 3.1. The full changelog for 3.1 includes every detail, but the following are some we'd like to highlight:
Deno in 2021
Retrospect of what happened in 2021 and what's coming in 2022
Why learning Haskell makes you a better programmer
Lessons learning Haskell It's often claimed that learning Haskell will make you a better programmer in other languages. I like the idea ...
TDLib – Build Your Own Telegram Client
Meet TDLib, a powerful library for third-party developers that makes it easy to build fast, secure and feature-rich Telegram apps.
Truth First, or Why You Should Mostly Implement Database-First Designs
In this much overdue article, I will explain why I think that in almost all cases, you should implement a “database first” design in your application’s data models, rather than a …
Using Java's Project Loom to build more reliable distributed systems
Building distributed databases is very difficult. There are lots of clever ideas you can put into a distributed database, but making the ideas work well together in a real system can be very challenging because different decompositions of the same problem can massively affect how difficult it is to solve, and bugs are…
ESLint 7.0
A pluggable and configurable linter tool for identifying and reporting on patterns in JavaScript. Maintain your code quality with ease.