Topics /
Software Engineering
The most popular blog posts about software engineering on Hacker News. 7,294 posts.
How my open source hobby project became my job: 10 years of OptaPlanner
@{siteConfig.tagline}
Algebraic Semantics for Machine Knitting
As programming languages researchers, we’re entitled to a certain level of mathematical rigor behind the languages we write and analyze. Programming languages have semantics , which are definitions of what statements in the language mean. We can use those semantics to do all sorts of useful things, like error…
64-bit bank balances ‘ought to be enough for anybody’?
“640K ought to be enough for anybody.” - Supposedly Bill Gates, circa 1981.
Why Tracebit is written in C#
A retro on some of the reasons we chose to build Tracebit in C#.
Git archive checksums may change
We are reverting this change for now. More details to follow. The default compression for Git archives has recently changed. As result, archives downloaded from GitHub may have different checksums…
Meta developer tools: Working at scale
Every day, thousands of developers at Meta are working in repositories with millions of files. Those developers need tools that help them at every stage of the workflow while working at extreme sca…
Undebt: How We Refactored 3M Lines of Code
Undebt: How We Refactored 3 Million Lines of Code Evan H., Software Engineering Intern Aug 23, 2016 Peter Seibel wrote that to maximize engineering effectiveness, “Let a thousand flowers bloom....
Fly Machines: An API for Fast-Booting VMs
Announcing Fly Machines
How to Generate Secure Random Numbers in Various Programming Languages
This blog post will maintain the industry best practices for securely generating random data in Ruby, Node.js, Java, etc.
Vulkan video extensions for accelerated H.264 and H.265 encode
In April 2021, the Vulkan® Working Group at Khronos® released a set of provisional extensions, collectively referred to as ‘Vulkan Video’ which provide seamless encoding and decoding of video streams using a variety of video coding standards. The December 2022 release of Vulkan 1.3.238 saw the finalization of the…
SQLite 3.8.0 Release with next-generation query planner
Beginning with this release, SQLite will not compile on Windows version prior to Windows Vista (circa 2007), due to a switch to using Slim Reader/Writer Locks (SRWLs) which are faster but which are not available on WindowsXP and earlier.
Transforming Postgres into a Fast OLAP Database
Introducing the search capabilities of ParadeDB.
LLVM-powered devirtualization
Virtualization is a powerful technique for code obfuscation, and reversing it can be challenging. In this post, we cover the work done during an internship on developing an automated devirtualization tool. We explore a simplified taint-based approach and discuss its limitations. For a more in-depth analysis, the full…
Why Lisp?
A lot of people ask us the question, why do we choose to use Common Lisp as our primary development language? Often times the question comes disguised as a suggestion: "Flask is a great webserver you should consider using". This is a well intentioned suggestion- of course we would like to use the best tools available!…
Brad Fitzpatrick on the future of Go
Product updates, engineering notes, and perspectives from Sourcegraph.
Atom 1.6 Released with Pending Pane Items, Async Git and Top and Bottom Bar API
We are archiving Atom and all projects under the Atom organization for an official sunset on December 15, 2022.
TextMate 2 (Public) Alpha
The excitement for a new version has been tremendous and today we’re finally able to repay the much appreciated loyalty and moral support from the community by releasing the first public alpha: TextMate 2.0 alpha .
Feature comparison of ack, ag, git-grep, GNU grep and ripgrep
There are many greplike tools available to choose from. ripgrep is currently the fastest, which folks seem to focus on, but they have different features. Here's a chart to help you see which tools can do what.
Faster Layouts with CSS Grid and Subgrid
CSS Grid has been available in most major browsers since early 2017, and it makes web layout more powerful than ever before. But complex-looking new syntax (line-names! grid-areas! minmax! fit-content! ...
Behind GitHub’s new authentication token formats
We’re excited to share a deep dive into how our new authentication token formats are built and how these improvements are keeping your tokens more secure. As we continue to…
Securing Firefox with WebAssembly
Protecting the security and privacy of individuals is a central tenet of Mozilla’s mission. While we continue to make extensive use of both sandboxing and Rust in Firefox to address ...
PyPy 1.6 Released - Full Python 2.7.1 Implementation
We're pleased to announce the 1.6 release of PyPy. This release brings a lot of bugfixes and performance improvements over 1.5, and improve...
Introduction to Formal Verification with Lean Part 1
A tutorial Formal Verification using Lean for cryptographic engineers. Implement and prove correctness of the One-Time pad following a cryptography book.
A Programming War Between 545 Wizards
What happens when you challenge hundreds of elite programmers to put on their robes and wizard hats, enchant their minions to solve a constantly shifting multi-agent traveling salesman problem, use the loot to build mighty armies, and vie for eternal glory and tournament prizes? You get a lot of