Frugal Computing (2021)
On the need for low-carbon and sustainable computing and the path towards zero-carbon computing.
Every blog post that took off on Hacker News, ranked by the votes of its best submission. 3,821 posts.
On the need for low-carbon and sustainable computing and the path towards zero-carbon computing.
25 years after the introduction of the 32 bit Intel i386 CPU, all Intel compatibles still start up (and wake up!) in 16 bit stone-age mode, and they have to be switched into 32/64 bit mode to be usable.
spoiler alert: not very
In this post, I take you on a debugging journey and show you why it might be a good idea to add a comment next to a certain method.
The ASR33, like most teletypes of the era, works at a fixed rate. It does 10 characters per second. It is 110 Baud, using 1 start, 8 data (i...
Whether it be with React, VueJS, Angular, or in Rust, modern web applications are composed of 3 kinds of pieces: Components Pages Service Components are reusable pieces and UI elements. An input field, or a button, for example. Pages are assemblies of components. They match routes (URLs). For example, the
Apple's first product was the Apple-1 computer, introduced exactly 46 years ago, on April 11, 1976. This early microcomputer used an unus...
Viewed in the proper light, influencer is a career path of tragic dimensions.
This is the BliKVM PCIe, a full computer on a PCI Express card. This is an IP KVM (Internet Protocol Keyboard-Video-Mouse) that can be put inside another computer or server. Most server motherboards already have remote 'lights-out' management functionality built in. Most frequently this is referred to as IPMI…
What can software learn from Christopher Alexander? Many programmers know that the idea of design patterns comes from architecture, but Christopher Alexander's writing has much more for us than just the Gang of Four design patterns. This post is a somewhat assorted collection of ideas for better software and…
Using truss, dtrace & ctfconvert to figure out a faulty illumos kernel module.
Announcing urllib3's bounty program The urllib3 team is excited to announce the start of our bounty program! We’ve recognized that one of the biggest challenges to shipping v2.0 is not having e...
I’ve had numerous requests for a guide to building BasiliskII on iOS. Let me know of anything is unclear or would benefit from more details!
How I sped up GoAWK by switching from a tree-walking interpreter to a bytecode compiler and virtual machine interpreter.
In Emacs version 28 Emacs developers introduced so-called read symbol shorthands. If you’re interested in the rationale, feel free to search the Emacs developer mailing list for the discussion. However, it does seem that not everyone likes the idea of shorthands as a substitution for namespaces (or packages, if you’re…
I've previously come to the conclusion that there's little reason for using bytecode in the modern world, except in order to get more compact code, for which it can be very effective. So, what kind of a bytecode engine will give you more compact code?
Towards the end of last year, I switched from working on PHP at JetBrains, to working on LLVM at Red Hat. While it was already under discussion beforehand, this catalyzed the creation of the PHP foundation , which now pays multiple people to work on PHP. Special thanks for this go to Roman Pronskiy, who did most of…
The landing gear and flaps indicator, control board stack, and C# .NET Windows Forms app running on the Surface in the background. Everything set for smooth and level flight!
Start with any triangulation of a convex polygon, and then repeatedly choose a random diagonal and flip it, replacing the two triangles it borders with two d...
The ability to quick estimates is still valuable, maybe more valuable than it used to be.
I defined a QT Object that contains an integer value and uses QT signal along with awl::Observable based on virtual functions to notify the subscribers when the value changes:
I still have my Nokia 5800 lying around. It runs Symbian. That platform is quite different from Android. For one thing the internal storage size is 81 MB - less than what your single android app takes up, even in RAM, and it works faster than modern smartphones - e.g. the SMS app opens instantaneously. Another…
TL;DR: After the analysis in this post, I started using SLANT/PRICE/DOUGH/BALMY, but it may not be the best sequence for you.
(Most) C++ implementations provide at least 8, 16, 32, and 64-bit signed and unsigned integer types. There are annoying implicit conversions, discussions about undefined behavior on overflow (some think it’s too much UB, others think it’s not enough), but for the most part they do the job well. Newer languages like…
Can’t bring yourself to slaughter a nearby village, or a long-time associate?
If you're a fan of dynamic languages then you should also be a fan of functional programming.
A friend of mine recently brought up his custom mechanical keyboard while we were hanging out in voice chat, and at first, nobody understood why anyone would buy one. At that time, I had no clue that there are entire communities about building custom keyboards. With every sentence that was said, we got deeper into…