Memory management is the heart of operating systems; it is crucial for both programming and system administration. In the next few posts I’ll cover memory with an eye towards practical aspects, but without shying away from internals.
Drawing antialiased circles in OpenGLIn this post we will look at the fwidth function in GLSL and how it can be used to draw circles (or other 2D shapes) with resolution independent antialiasing.
Why your previous developer was terribleYou hired a new developer for a project you’re working on and she seems to have solved all of your problems. She’s been on the job for 3 days and she’s already suggested upgrades for 5 of your libraries and re-organized your JIRA issues.
Crypto Fails — Telegram's Cryptanalysis ContestTelegram is an encrypted instant messaging app for iOS and Android devices. Obviously, I wouldn’t mention it on this blog if its crypto was perfect. In fact, it’s far from perfect. It’s almost horrifying.
Range-Checks and RecklessnessBefore C took over completely, with its loose accessing of memory as an offset from any pointer, there was a string of systems-level languages with deeper treatment of arrays, including the ALGOL family, PL/1, Pascal, Modula-2, and Ada.
Least AuthorityBLAKE was the best-rated hash function in the SHA-3 competition NIST, in the final report of the SHA-3 competition, said this about the finalists (which included BLAKE, Keccak, Skein, and Grøstl): BLAKE had a security margin — the gap between a known-weak reduced version and the full version
Dynamic CSS ResetWhen ever you ever have to inject HTML into an unknown page you have to battle with all the page styles messing with your own content. This happens a lot when building bookmarklets like my recent RSVP Reader.
The Power AlgorithmIn this blog post I would like to show how a very basic idea like raising a number to a certain power could lead us to discover abstractions like Semigroups and Monoids. There’s a very well known algorithm for calculation powers, that is x to the power of n or simply: x^n.
There is No Single Mental Model For ProgrammingTextual languages are used to program computers and used by programmers to form mental models. This is why you shouldn’t interrupt a programmer. However, people form mental models using more than just textual languages.
SQL Server 2014: NoSQL Speeds with Relational CapabilitiesFor the last four or five years Microsoft has been working on the first rewrite of SQL Server’s query execution since version 7 in 1998. The goal is to offer NoSQL-like speeds without sacrificing the capabilities of a relational database.
This Read-It-Later-list is just that, bookmarks of stuff I intend to read or have read. I do not necessarily agree with opinions or statements in the bookmarked articles.
This list is compiled from my Pocket list.