Articles & Papers
As is a tale, so is life: not how long it is,
but how good it is, is what matters.
Most Popular
- Modern Microprocessors – A 90-Minute Guide!
- Technical paper, Lighterra, May 2015 (orig Feb 2001)
- A brief, pulls-no-punches, fast-paced introduction to modern processor microarchitecture. Originally a background appendix in my PhD thesis, extracted into a separate paper by popular demand, now one of the world's most popular and widely used introductory articles on processor design, with over 800,000 readers.
- The History of Computers During My Lifetime
- General article, Lighterra, Jan 2011 (orig Dec 1994)
- A look at the great moments in the history of computers from the early 1970s to (almost) the present day. For several years this article could be found on a wall of the Smithsonian Institute.
- Video Encoding Settings for H.264 Excellence
- Technical paper, Lighterra, Apr 2012
- Detailed notes regarding the resolutions, bitrates and settings used for high-quality H.264 video encoding, and the reasoning behind those choices.
Programming Languages & Compilers
- Accurate Static Branch Prediction by Value Range Propagation
- Proceedings of the ACM SIGPLAN '95 Conference on Programming Language Design and Implementation (PLDI), Jun 1995, pages 67-78
- Describes the value range propagation algorithm and its use in static branch prediction. This algorithm is now used by many, possibly even most, production compilers, both for branch prediction and for other value/type propagation optimizations and "static analysis".
- Basic Instruction Scheduling (and Software Pipelining)
- Technical paper, Lighterra, Sep 2003 (orig Feb 2001)
- Introduction to instruction scheduling and software pipelining for straight-line code (basic blocks). Originally a background appendix in my PhD thesis, now used by several university compiler courses worldwide.
- Efficient RISC Style Code Generation for CISC Architectures
- Honors thesis, Bond University, Apr 1992
- Honors thesis discussing the design and implementation of a C++ compiler for the MIPS RISC and Motorola 68k CISC architectures, showing it's possible to use low-level, RISC-like intermediate code and still perform good instruction selection for traditional, complex instruction sets.
- Exception Handling Considered Harmful
- Technical paper, Lighterra, Nov 2005
- Counterpoint to the prevailing view that exception handling is the best method of error handling for modern software development – an important issue for future programming-language design.
- Optimizing for Superscalar Processors
- Technical paper and seminar, Queensland University of Technology (QUT) and Distributed Systems Technology Centre (DSTC), Oct 1993
- Overview of the challenges and evolving optimization techniques for superscalar processors.
- Register Allocation by Graph Coloring
- Technical paper, Lighterra, Sep 2003 (orig Feb 2001)
- Introduction to register allocation by graph coloring. Originally a background appendix in my PhD thesis, now used by several university compiler courses worldwide.
- VGO – A Very Global Optimizer
- PhD thesis, Queensland University of Technology (QUT), Feb 2001
- PhD thesis discussing the idea behind executable optimization and the design and implementation of a real-world executable optimizer.
- Zero-Cost Executable Rewriting
- Technical paper, Queensland University of Technology (QUT), Oct 1994
- Discusses new, original techniques for reading and rewriting executable files without the performance loss incurred by existing methods.
Hardware & Processor Design
- Alpha & EV4 – The Architecture & The First Implementation
- Technical seminar, Queensland University of Technology (QUT), Oct 1992
- Technical overview and analysis of the design of the DEC Alpha architecture and Alpha 21064 (EV4) processor, which looked to be the future of the industry at the time.
- Microsim – A Microarchitecture Simulator
- Technical paper, Bond University, Aug 1991
- Discusses the features, design and implementation of a visual, programmable microarchitecture simulator and debugger.
- Modern Microprocessors – A 90-Minute Guide!
- Technical paper, Lighterra, May 2015 (orig Feb 2001)
- A brief, pulls-no-punches, fast-paced introduction to modern processor microarchitecture. Originally a background appendix in my PhD thesis, extracted into a separate paper by popular demand, now one of the world's most popular and widely used introductory articles on processor design, with over 800,000 readers.
World Wide Web Technology
- highsrc - Simple and Effective High-DPI "Retina" Images
- Technical proposal, Lighterra, Apr 2012
- Proposal to add a simple new highsrc attribute to the good old HTML <img> tag to support high-DPI "retina" images, including a JavaScript polyfill.
- Video Encoding Settings for H.264 Excellence
- Technical paper, Lighterra, Apr 2012
- Detailed notes regarding the resolutions, bitrates and settings used for high-quality H.264 video encoding, and the reasoning behind those choices.
- Web Page Checklist
- General article, Lighterra, Dec 2016 (orig Dec 1994)
- Web page checklist covering topics from writing style to performance and accessibility etc.
Miscellaneous
- Cloud Terminology In A Nutshell
- General article, Lighterra, Dec 2007
- A brief summary of the different types of "cloud" computing (IaaS, PaaS & SaaS).
- Coding Guidelines To Live By
- Technical paper, Lighterra, Mar 2014 (orig Mar 2004)
- Coding guidelines checklist covering topics from general program/API design through to language-specific issues for C, C++, Objective-C, Java etc.
- The History of Computers During My Lifetime
- General article, Lighterra, Jan 2011 (orig Dec 1994)
- A look at the great moments in the history of computers from the early 1970s to (almost) the present day. For several years this article could be found on a wall of the Smithsonian Institute.
- Mac OS X - The Big Transition
- General presentation, Lighterra, Aug 2003
- Presentation introducing Mac OS X to existing Mac OS 9 users.
- Mac OS X 10.3 Panther
- General presentation, Lighterra, Nov 2003
- Presentation describing the changes and new features in Mac OS X 10.3 Panther.
- Mac OS X 10.4 Tiger
- General presentation, Lighterra, May 2005
- Presentation describing the changes and new features in Mac OS X 10.4 Tiger.
- Mac OS X 10.5 Leopard
- General presentation, Lighterra, Feb 2008
- Presentation describing the changes and new features in Mac OS X 10.5 Leopard.
- Mac OS X White/Light Text Sub-Pixel Antialiasing Bug
- General article, Lighterra, Jun 2007
- A discussion of the Mac OS X white/light text sub-pixel antialiasing bug, complete with detailed close-up images.
- Open Source – Resistance Is Futile, Or Is It?
- General article, Lighterra, Jun 2008
- Discusses the role and impact of open-source software in the overall software industry, as well as clarifying many common misconceptions.
- Universities and Commercial Research
- General article, Lighterra, Feb 2001
- A note about universities and commercial research.