Finding Compiler Bugs by Removing Dead Code
What has caused you to slack off on the bug reporting? The cost of computer time or the human effort side? (I’m guessing the second.)
JavaScript – The monkeys in 2013
A monkey. That’s the default name a part in the JavaScript Engine of Mozilla Firefox gets. Even the full engine has its own monkey name, ...
PyPy.js: Now faster than CPython
OK OK, I couldn't resist that title but it probably goes a bit far. Let me try for a little more nuance:
Why I find IEEE 754 frustrating
Programming languages new (Java) and old (Fortran), and their compilers, still lack competent support for features of IEEE 754 so painstakingly provided by practically all hardware nowadays. […] Programmers seem unaware that IEEE 754 is a standard for their programming environment, not just for hardware. William Kahan
An Opinionated Treatise on Cosmos, a New Programming Language
Alright, guys. Today I want to talk about programming. It is interesting to note that I have solved it. Yes, I solved it. Here are my…
Why CoffeeScript Isn't the Answer
CoffeeScript is an open source project that provides a new syntax for JavaScript. I have to say that I have a lot of respect for CoffeeScript and it got a lot of things right. The “golden rule” of CoffeeScript is “It’s just JavaScript” . That means there is a straightforward equivalent to every line of CoffeeScript…
Things that make Go fast
Anthony Starks has remixed my original Google Present based slides using his fantastic Deck presentation tool. You can check out his remix over on his blog, mindchunk.blogspot.com.au/2014/06/remixing-with-deck .
Refactoring Ruby with Monads
Hello! I’m going to tell you about monads, and how we can uncover them by refactoring our Ruby code.
An alternative Haskell home page
The web site has since been through various iterations and changes, therefore I include some screenshots below for posterity (because my design is much more beautiful than what is now online ;-).
Fun with Lisp: Programming the NES (2012)
"Low-level programming is good for the programmer's soul." -John Carmack When the complexity of modern computing gets fatiguing, I look back to the simpler machines of my childhood. I grew up surrounded by various 8-bit and 16-bit machines (most of them already a few years outdated at the time),…
Teenage Haskell
I’ve been inspired by the efforts of others (Chris Smith, Manuel Chakravarty) to try teaching children haskell as a first experience of programming. Haskell has a reputation of being a "…
Say Hello to X64 Assembly Part 3
Stack Some time ago i started to write a series of posts about assembly x64 programming. It is third part and it will be about stack. The...
Metaprogramming for madmen
This post is part of the series “Debris: Opening the box”. Okay, previous posts from this series aimed to actually convey useful technical information: assuming you actually want to wri…
Crash Course on Notation in Programming Language Theory
This blog post is meant to help my friends get started in reading my other blog posts, that is, this post is a crash course on the notation ...
A Worst Case for Functional Programming?
It's not about technology for its own sake. It's about being able to implement your ideas.
Types Are The Truth
In Chapter 9 of Types and Programming Languages , Pierce presents his exposition of the Simply typed Lambda-Calculus. It is a truly awesome chapter - each subsection in succession constructs a rich and very well detailed system of computation and Pierce is a master of precision, guiding the reader through the maze of…
What's wrong with statistics in Julia?
Introduction Link to heading Several months ago, I promised to write an updated version of my old post, “The State of Statistics in Julia”, that would describe how Julia’s support for statistical computing has evolved since December 2012. I’ve kept putting off writing that post for several reasons, but the most…
Improved Error Handling in Rust
Overview of how to handle errors in the current version of the Rust programming language.
Scalable Program Architectures
How to design resilient architectural patterns that last the test of time
Elixir v0.13.0 released, hex.pm and ElixirConf announced
Elixir v0.13.0 comes with substantial improvements to the language: maps, structs, comprehensiona and more. It also marks the announcement of the hex.pm package manager and the announcement of ElixirConf.