Articles & Papers

As is a tale, so is life: not how long it is,
but how good it is, is what matters.

— Seneca

Most Popular

Modern Microprocessors – A 90-Minute Guide!
Jason R. C. Patterson. 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
Jason R. C. Patterson. 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
Jason R. C. Patterson. 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)
Jason R. C. Patterson. 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
Jason R. C. Patterson. 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
Jason R. C. Patterson. 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
Jason R. C. Patterson. 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
Jason R. C. Patterson. 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
Jason R. C. Patterson. 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
Jason R. C. Patterson. 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
Jason R. C. Patterson. 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
Jason R. C. Patterson. 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!
Jason R. C. Patterson. 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
Jason R. C. Patterson. 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
Jason R. C. Patterson. 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
Jason R. C. Patterson. 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
Jason R. C. Patterson. General article, Lighterra, Dec 2007
A brief summary of the different types of "cloud" computing (IaaS, PaaS & SaaS).
Mac OS X - The Big Transition
Jason R. C. Patterson. General presentation, Lighterra, Aug 2003
Presentation introducing Mac OS X to existing Mac OS 9 users.
Mac OS X 10.3 Panther
Jason R. C. Patterson. 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
Jason R. C. Patterson. 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
Jason R. C. Patterson. 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
Jason R. C. Patterson. 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
Jason R. C. Patterson. 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
Jason R. C. Patterson. 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?
Jason R. C. Patterson. 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
Jason R. C. Patterson. General article, Lighterra, Feb 2001
A note about universities and commercial research.