Articles on programming
JavaScript
-
Extracting values from JavaScript objects
A simple tutorial on using the JUnify unification library to implement a simple object property extractor. The end result allows you to extract properties from objects in a style similar to destructuring assignment in JavaScript 1.7.
-
Pattern matching in JavaScript
A step by step guide for implementing conditional pattern matching as seen in functional programming languages such as ML, Erlang and Haskell. The guide makes heavy use of the JUnify library.
-
Advanced pattern matching in JavaScript
A continuation of the pattern matching article. This article introduces a simplified pattern syntax, an optimization and explains how to use pattern matching together with algebraic data types.
Book Reviews
-
“Object Oriented JavaScript: Create scalable, reusable high-quality JavaScript applications and libraries” by Stoyan Stefanov
-
“jQuery UI 1.6: The User Interface Library for jQuery” by Dan Wellman
Graphical User Interface Library
-
This article describes everything from downloading and installing the library to creating your first OpenGL GUI. In short; everything you need to know to create a basic user interface.
-
This article will explain to you how to write your own font engine for use with the GUI library.
-
This article will describe how the selection of Components works. There are several ways of accomplishing the selection of items on a computer screen and in this article, three such methods are discussed and compared for their suitability within the library.
-
This document describes the programming style I used while writing the library. I did not write it to talk you or anyone else into using it (although that would be nice.) It could come in handy if you're interested in writing your own Components and contributing to the project.
-
This note describes the memory ownership policy used in the library, and why this particular ownership policy was chosen.
-
A step by step tutorial of how to create an OpenGL component inside the GUI.