Laws of Performant Software
Learning how to write performant code is hard. Here are a few simple laws that I hope will convey the core of the matter. I’m calling them…
Every blog post that took off on Hacker News, ranked by the votes of its best submission. 21,835 posts.
Learning how to write performant code is hard. Here are a few simple laws that I hope will convey the core of the matter. I’m calling them…
A post by Eshel Yaron with details and advice about a long standing arbitrary code execution vulnerability in Emacs
The tools you didn’t know you need
Slack uses PHP for most of its server-side application logic, which is an unusual choice these days. Why did we choose to build a new project in this language? Should you? Most programmers who have only casually used PHP know two things about it: that it is a bad language, which they would never use if…
The job of a software engineer is not to produce code, but to solve problems; we just happen to solve most of those problems by producing code. Ultimately, producing code is hard, and we need help. That's why GitHub's Copilot is exciting, but it's far from ideal, and it's the tip of the iceberg of what's been done and…
The classic ed editor is a really good example of a sparse, minimal, standard Unix tool that does one thing, and does it well. Because there are so many good screen-oriented editors for Unix, there’s seldom very much call for using ed , unless you’re working on very old or very limited hardware that won’t run anything…
The setup.py interface is an old convention from distutils, one that has bugs that cannot be fixed to bring it into line with modern Python packaging approaches. As a result, all direct...
As Ning is ramping up recruiting again, I need to brush off my interrogation techniques interview questions. Sadly, one of my favorites is no longer so useful, as originally designed, due to technical advances in hard drives. I figured I’d share and discuss how I use it. Hopefully folks can give me some feedback on…
COCOL88 merupakan juragan yang sangat terpercaya dalam lingkup permainan online gacoryang mempunyai skill keamanan yang sangat tinggi dan persentase kemenangan yang akurat dengan fitur RTP yang disediakan oleh situs COCOL88
Tuesday, January 28, 2003 0xCAFEBABE & 0xFEEDFACE Recently, the origin of the magic numbers of 0xCAFEBABE and 0xFEEDFACE came up in an email conversation between a number of ex-NeXT folks. Specifically, someone asked what the origin of the two magic numbers were in the context of mach-o file formats and why had Java…
Since the publication of its first edition in 1984 and its second edition in 1996, Structure and Interpretation of Computer Programs (SICP) has influenced co...
BASIC is often dismissed as an inferior language compared to its successors. Common complaints are its use of line numbers, its heavy reliance on GOTO for execution flow, and its lack of a stack for local variables. What many critics overlook is that at the time of its use (during the first wave of home computers)…
Modern applications don’t crash; they hang. One of the main reasons for it is the assumption that the network is reliable. It isn’t. When you make a network call without setting a timeout, you are telling your code that you are 100% confident that the call is going to succeed. Would you really take that bet? If you…
Why are database DELETEs complex and inefficient? Uncover challenges from physical data removal to autovacuum, and find strategies for managing large deletions.
This expression: (1 2) represents the list containing the integers 1 and 2 in that order. If you want an empty list, that’s just () . And the list of the first five letters of the alphabet is just (\a \b \c \d \e) .
Random code snippets, projects and musings about software from Eric Kidd, a developer and occasional entrepreneur.
The first thing I do every time I need to learn a new codebase is to start drawing the UML diagram of its classes, and usually give up soon after I started. The process of doing it manually is certainly useful, but now with reflections I figure it would be fun to try to generate it instead.
We are archiving Atom and all projects under the Atom organization for an official sunset on December 15, 2022.
Introduction One of the headline changes of the C++20 standard is the inclusion of modules. Modules promise to significantly change the structure of C++ codebases and possibly signal headers’ ultimate demise (but probably not in my lifetime). It also opens the door to potentially have a unified build system and…
You should write your next web server in Go. Yes, you! Compared with Ruby, PHP, Python, or Javascript, you're going to get great memory and latency performance, and libraries that do what you expect .
The assert(X) macro is part of standard C , in the <assert.h> header file. SQLite adds three other assert()-like macros named NEVER(X), ALWAYS(X), and testcase(X).
Recently, there was a lot of fuss on Twitter regarding the current state of ES modules, especially in Node.js, which decided to introduce…
These days web assets such as JS and CSS aren’t simple text files. Instead, they’re typically minified or come from a complex build process involving compili...