What Makes a Graphics Systems Paper Beautiful
Addendum: I've added a few additional tips for conference papers chairs, papers committee members, and papers sorters .
The latest blog posts to take off on Hacker News. 4,389 posts.
Addendum: I've added a few additional tips for conference papers chairs, papers committee members, and papers sorters .
In Unix, everything is a file. This is often viewed as a positive, but it's often a poor abstraction for many things. This discussion goes into some of the issues.
Join me as I test-drive the smallest ever Kubernetes distribution k3s. Find out how this runs on Raspberry Pi compared to kubeadm with Docker.
With Computex, there’s been a ton of news about Ice Lake (hereafter ICL) and the Sunny Cove core (SNC). Wikichip, Extremetech and Anandtech among many others have coverage (and there will be …
Maybe you have been reading recently about the release of OpenBSD 6.5 and wonder, 'What are the differences between Linux and OpenBSD?' I've also been there at some point in the past and these are my conclusions. They also apply, to some extent,
For the first “real” post in this blog, we’ll build an x86 assembler in less than 256 lines of C code. Obviously, it won’t implement every x86 instruction, but it will implement a surprisingly useful subset: data movement, control flow, integer arithmetic, bitwise operations, and function calls. We won’t be able to…
Regarding the example #5, I must be confused about the definition of a sequence point because the resulting assembly output seems to be non-ANSI C:
More or less anyone using modern PCs has to wonder: Why does Windows use backslash as a path separator when the rest of the world uses forward slash? The clear intermediate answer is “because DOS and OS/2 used backslash”. Both Windows 9x and NT were directly or indirectly derived from DOS and OS/2, and certainly…
I’ve gone through many iterations of a Home NAS over the years. It started with an AMD Phenom based system running in a Norco case with about 8 hard SATA hard drives (4 primary, 4 backup via Rsync). The noise and power consumption of that system was overkill for what it was used for, so I sold it and went to a…
Last December, I got an interesting bug report from the VWO support team. It seemed like the loading time of a particular analytics report was ridiculously slow for a big Enterprise customer. Since I am part of the Data platform, a flag was immediately raised and I got involved in debugging the issue.
When Apple introduced Bitcode and made it mandatory on watchOS and tvOS, they kinda hand-waved away questions about why it existed, with nebulous claims about it being useful to tune-up binaries by utilizing the latest compiler improvements.
FatELF is a file format that embeds multiple ELF binaries for different architectures into one file. This is the Linux equivalent of what Mac OS X calls "Universal Binaries."
The idea of a zero cost abstraction is very important to certain programming languages, like Rust and C++, which intend to enable users to write programs with excellent performance profiles with relatively little effort. Since this idea is fundamental to the design of Rust and my work, I want to investigate, for a…
An step-by-step introduction into ELF files. Learn the structure and format, to understand how binaries and libraries on Linux systems work.
It's not quite the number of seconds since 1 January 1970.
Want to use App Shortcuts in Mojave? You’re out of luck because its broken, and Apple can’t be bothered to fix it.
At the end of March 2019 I did a talk at the INEX’s (Ireland’s biggest internet exchange point) Annual General Meeting. I was supposed to record it, however in a brief panic due to HDMI not working on my laptop I forgot to start a recording of it. Since people found it interesting I figured I would turn it into a blog…
Distributed consensus revised Howard, PhD thesis Welcome back to a new term of The Morning Paper! To kick things off, I’m going to start by taking a look at Dr Howard’s PhD thesis, ‘Distributed con…
Solving problems by identifying underlying systems
Lists are rather hardware-unfriendly data structure. However, having a closer look at why is that and what can be done to improve this can provide an interesting insight into how high-level algorithms performance is affected by the processor microarchitecture.
Your CPU has a 32-bit addition instruction that computes the sum of two 32-bit integers x and y, producing a 32-bit result. (The 33rd bit of the sum, the "carry bit", is usually thrown away.)
Almost every one of you must have written a program, compiled it and then ran it to see the fruits of your hard labour. It feels good to finally see your program working, isn’t it? But to make all of this work, we have someone else to thankful too. And that is your compiler (of course, assuming that you are working in…
TL;DR: Use C99’s designated initializers instead. Because it’s 2019! Edit: This post was discussed on Hacker News, Lobste.rs and /r/c_programming. It has been updated to address some of the concerns raised by commenters. One of the little things that annoy me when reading code is the unnecessary use of memset() to…