Archive
Blog Pages
- 24 May 2014 Exploring the Arrow SoCKit Part X - Sending and Handling Interrupts
- 26 Jan 2014 Exploring the Arrow SoCKit Part IX - Real-time Audio Filters
- 15 Jan 2014 Exploring the Arrow SoCKit Part VIII - The Audio Codec
- 08 Jan 2014 Exploring the Arrow SoCKit Part VII - Software Control for the FPGA MD5 Cracker
- 06 Jan 2014 Exploring the Arrow SoCKit Part VI - Simulation in ModelSim
- 03 Jan 2014 Exploring the Arrow SoCKit Part V - Computing MD5 Checksums on the FPGA
- 29 Dec 2013 Exploring the Arrow SoCKit Part IV - Writing a Linux Device Driver
- 27 Dec 2013 Exploring the Arrow SoCKit Part III - Controlling FPGA from Software
- 24 Dec 2013 Exploring the Arrow SoCKit Part II - Installing Linux
- 22 Dec 2013 Exploring the Arrow SoCKit Part I - Blinking LEDs
- 25 Jan 2013 Playing Audio from the Arduino
- 08 Sep 2012 A Crash Course in Git and the UNIX Command Line
- 20 Aug 2012 Information Security in the Modern Age
- 25 Jul 2012 Programming an AVR Microcontroller
- 21 Nov 2011 Largest Subarray Problem
- 27 Jul 2011 Things Every Python Programmer Should Know but Generally Don't
- 13 Jun 2011 Useful Websites for Developers
Projects
- 03 Aug 2014 Creek Vector Co-processor
- 26 Apr 2014 Palimpsest
- 28 Mar 2014 Golang LISP Interpreter
- 27 Feb 2014 EZ8 Soft Microcontroller
- 02 Jan 2014 Cyclone V Series
- 20 Dec 2013 8-bit "Microprocessor" in IBM 90 nm CMOS
- 20 Dec 2013 The Vector Programming Language
- 28 Jun 2013 Kanto Audio Player
Unpublished Reports
- 11 Dec 2015 Managing On-Chip Memory Hierarchies Sagar Karandikar, Albert Magyar, Howard Mao
- 11 May 2015 Nephele: A Simple Solution for Data Replication Joao Carreira, Howard Mao, Nathan Pemberton
- 16 Dec 2014 Hardware Acceleration of Key-Value Stores Howard Mao, Sagar Karandikar, Albert Ou, Soumya Basu