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, Aug 2016 (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 introductory articles on processor design & microarchitecture, with well over a million readers. This article is widely used by university courses worldwide, and is required reading for many VC startups in Silicon Valley.
- 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. This was one of several articles that were influential in achieving high video quality on the web – you can probably remember when web video such as YouTube went from quite poor quality to quite good.
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. This thesis was rated "quite simply the finest PhD dissertation in experimental computer science that I have ever read" by the author of a leading textbook and former editor of the top journal in the field.
- 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, Aug 2016 (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 introductory articles on processor design & microarchitecture, with well over a million readers. This article is widely used by university courses worldwide, and is required reading for many VC startups in Silicon Valley.
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. The W3C/WHATWG's final chosen solution, srcset, was quite similar to highsrc – an attribute to the <img> tag, rather than a whole new tag like <picture> and other proposals.
- 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. This was one of several articles that were influential in achieving high video quality on the web – you can probably remember when web video such as YouTube went from quite poor quality to quite good.
- Web Page Checklist
- General article, Lighterra, Dec 2016 (orig Dec 1994)
- Web page checklist covering topics from writing style to performance and accessibility etc.
End-User Guides
- Cloud Terminology In A Nutshell
- General article, Lighterra, Dec 2007
- A brief summary of the different types of "cloud" computing (IaaS, PaaS & SaaS).
- 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.
Miscellaneous
- 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 a couple of years, this article could be found on a wall of the Smithsonian Institute.
- 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.