Category Archives: Tumblelog

Used primarily as a link dump.

Tumblelog 110216

This is likely to be the last of my tumblelog entries as I recently made the move to microblogging using twitter. This blog will of course remain and I will go on producing classic blog entries. If you have appreciated my tumblelog please follow dholmcom on Twitter.

TAU – Tuning and Analysis Utilities, are a set of tools for profiling and tracing applications written in C/C++, Java, Fortran or Python.

Intel Performance Tuning Utility, yet another tool for profiling code specifically targeting the x86, x86-64 and ia64 architectures based on Intel VTune.

Open Source License Comparison

GHDL, is an open source VHDL simulator.

ROCCC, provides an open source C to VHDL compiler which integrates with Eclipse.

John Kent’s VHDL FPGA Projects, has several good links on FPGAs and is a good starting place if you want to learn more about this particular subject.

Genode, an operating system framework based on the L4 microkernel architecture capable of running a plethora of kernels.

Programming from the Ground Up, is a nice little free book detailing all the basics of programming. Highly recommended for any aspiring software engineer.

Ghosts of Unix Past: a historical search for design patterns, a historical walk through memory design patterns lane.

Introduction to OpenCL, seeing how OpenCL has already picked up a lot of traction already this introduction might be posted a bit late but to the uninitiated it might prove useful.

Throwing Destructors, throwing from a C++ destructor is generally thought of as a big no-no and this article discusses all the issues related to it and suggests a couple of solutions. An interesting read!

Tumblelog 101220

The Dave Haynie Archives, where he has collected old Commodore documentation on various kinds of Amiga hardware.

Gprof2Dot, is a tool that produces call graph profiles based on data from a plethora of profiling tools.

The Maturity Climb by Virus Comix

A Bit of Physics Humour, or how to measure the height of a tall building by using a barometer.

Linux Compose Key, learn how to effectively write characters that aren’t available on most standard keyboards.

SCIgen – An Automatic CS Paper Generator, generate computer science papers on-the-fly. Would be cooler if you could actually control the subject, nevertheless it’s still an interesting concept.

The V4Z80P, a Z80 laptop. Mucho geeky!

google-perftools, provides profiling tools for multi-threaded C++ applications.

Tumblelog 101206

A Guide to Debouncing, an indepth guide on contact bouncing in electronics and different solutions to the problem.

10 Tools To Add Some Spice To Your UNIX Shell Scripts, some useful shell scripting tips like being able to trigger notifications in the desktop environment.

Notice by David Shrigley

Once, Weakly, advanced C++ topics which was once posted weekly.

Silhouette: The Story, of this highly mysterious almost perfect SNES emulator (during a time when the competition was still struggling to run homebrew).

Open64, is a open source compiler originally from SGI based on their MIPSPro compiler.

SGI Developer Books, an archive of different books on subjects relating to developing for different SGI technologies.

Mechanical Keyboard Guide, this is a guide to all the different kinds of computer keyboards that you will find including details on actuation, materials and virtually anything else that goes into defining the quality of the device.

UML Graphical Notation Overview and Reference, provides an excellent online reference for the various UML diagram standards.

Practical File System Design, is a freely available book by one of the developers of the Be File System (BeFS) and explains everything you ever wanted to know about file systems.

Dirty Coding Tricks, pulled off by various desperate game programmers on the virge of product release.

Tumblelog 101122

Data Structures and Algorithms with Object-Oriented Design Patterns in Python, learn algorithms and ADTs in Python by reading this online book.

C++ Templates: The Complete Guide, like the title says it is a complete guide to C++ templates.

Flying Bridge

Dynamic Re-compilation of Binary RISC Code for CISC Architectures, this is the thesis of the venerable Michael Steil on dynamic binary translation.

x86 Instruction Set Reference, 80386 Programmer’s Reference Manual and the X86 Opcode and Instruction Reference, these references are not as cumbersome to open as the offical Intel PDFs.

CUDA, Supercomputing for the Masses: Part 1, a very long running series of articles on nVidia CUDA by Rob Farber.

A Brief Introduction to Rvalue References, C++0x introduces rvalue references and this is an explanation of how they work and why we need to extend references.

OpenFst Library, build finite state transducers using C++ templates.

Hg Init: a Mercurial Tutorial by Joel Spolsky, as he has become a born again DVCS proponent Joel put together this awesome tutorial on mercurial.

PoCC: the Polyhedral Compiler Collection, is a compiler collection implementing the polyhedral model.

Tumblelog 101108

Wonders of Math – The Game of Life, learn the basic rules of the game of life.

How to Write an Operating System, a simple and basic introduction to writing an operating system kernel.

Motherboard City

Miniature Art on the Tip of Pencil by Dalton Ghetti, amazing art sculpted on the tips of pencils.

Rare IBM M15 split ergonomic keyboard hits eBay, bidding war pushes it over $1600, this is one piece of computer history that landed on eBay. A buckling spring, ergonomic and foldable IBM keyboard.

Einstein for Everyone, if you want to understand Einstein’s work but feel you do not know the basics of the physics supporting it.

A Git User’s Guide to Mercurial Queues, understand how Mercurial queues work and how they compare to git.

Homebrew Cray-1A, a miniature fully working Cray-1A implemented in an FPGA.

A Dynamically Recompiling ARM Emulator, is a very nice project report on how to implement a binary translator for running ARM code on an x86.

InteLib, will enable you to code Lisp S-expressions in C++.

Tumblelog 101025

CLiki, the definitive Common Lisp wiki.

Some AI Koans, from the MIT AI Lab.

Monster in the closet by EPalacios

Royal Precision Electronic Computer LGP-30 Programming Manual, the very same machine mastered by Mel, the worlds greatest programmer.

zzuf, is a deterministic input fuzzer which can be used as a tool to discover bugs in applications., provides a visual simulation of a running MOS 6502 at the transistor level using HTML5.

Programming in Emacs Lisp, a complete guide to getting started with programming in Emacs Lisp.

Fuel Injector information & Specifications specs, a comprehensive guide to different types of fuel injectors and their pros and cons.

C++ Exceptions: Pros and Cons, provides an in-depth analysis of the use of exceptions in C++ and why or why not you should use them in your project.

Expressive C++: Why Template Errors Suck and What You Can Do About It, presents several valid techniques for improving error reporting when using templates.

Tumblelog 101011

Autodependencies with GNU make, leverage the GCC dependency calculation feature to automatically provide you with dependency chains for your makefiles.

Signals and Systems, a Wikibook on engineering signals and systems. This is a good starting place if you, for instance, want to start out in the DSP world.

The World of Programming by Adit Gupta

American and British english differences, understand the differences in these two languages before deciding which one is more suitable for your writing style.

SSE Performance Programming, guides you through the intricacies of SSE programming and the differences between it and AltiVec.

Data alignment: Straighten up and fly right, teaches why and how to properly align data in memory.

Labor of Division (Episode I), division isn’t always as simple for the CPU as one might expect.

Prex, a portable realtime microkernel for embedded systems released under a BSD license.

Stockfish Chess Engine, a very powerful open source chess engine.

Gambit Scheme, a portable implementation of Scheme which allows you to compile Scheme into C-code.

The Computer History Simulation Project, provides a simulator capable of simulation such machines as the DEC PDP-10, IBM System 3 and MITS Altair 3000 among others.

Tumblelog 100929

fastdep, a faster (than gcc -MM) C/C++ dependency generator.

HOWTO: Build an RT-application, hard realtime using the Linux real-time preemption patch.

The main control room at ESA's European Space Operations Centre in Darmstadt (Photo credit: ESA, 2002)

Eigen, is a linear algebra package for C++ relying on templates to provide syntactic sugar.

The typename Keyword, is used to weed out ambiguity in C++ templated code.

vasm portable and retargetable assembler, supporting many architectures and syntax flavors.

The Atari ST, Part 1, Part 2, a history of the creation of this classic computer.

Stamp-Controlled High Power H-Bridge and H-bridge secrets part 1, good analysis on how H-bridges works and the intricacies involved.

Introduction to NEON on iPhone, a good introduction to assembly and intrinsic NEON programming on the ARM.

Coding for NEON – Part 1: Load and Stores, dive deeper into the world of NEON programming by some useful examples with very good explanations.

strlcpy and strlcat – consistent, safe, string copy and concatenation., improves strncpy and strncat in order to provide more secure implementations.

Tumblelog 100916

UTF-8 history, provides the correct history of UTF-8 and its creation.

ARM GCC Inline Assembler Cookbook, provides details on how to specify registers etc for the ARM architecture.


BareMetal OS, an operating system for x86-64 written entirely in assembly.

PCD – Process Control Daemon, a process monitoring facility for embedded systems which offers fine grained process control.

Giottto, a state machine for scheduling periodic tasks with hard realtime requirements.

sigslot – C++ Signal/Slot Library, based on Qt sigslot offers a light weight library for implementing events.

RouterStation Pro, is an open hardware platform for building your own router.

Modded Nintendo Lets You Play Mario With Your Eyes, even if your motor skills are impaired.

Wipeout recreated with an RC car and lots of cardboard, when computer games cross over into the real world.

Optimisations of AVR programs using avr-gcc, offers recommendations on how to optimize your AVR code and avoid common performance pitfalls.

Tumblelog 100712

Electronic Component Coaster Set, coasters for the geeks in all of us. See how many drinks it will take for you to prototype something truly amazing with them.

disassembled household appliances, see the insides of all the regular household appliances.

Please help me find the original source
Personalities by ?

Making a Nintendo SNES controller into bluetooth; using an MSI BGP100, as I’ve been a SNES fan for many a year this goes onto this years wish lists.

Eternal September, free NNTP access for everyone! No more talking to tech support who never heard of anything other than http

Starring the Computer, provides us with a comprehensive list of computers showing up in movies along with freeze frames and everything. Help make the site even more complete.

MathOverflow, yet another projekt from the StackOverflow guys, guess what it’s for. Still, it’s a good concept and their system is sound.

Two Teeny Tiny Fonts, are two extremely small but still readable fonts. Sadly only screenshots are provided as of yet.

“Reply-To” Munging Still Considered Harmful. Really., interesting read if you are into SMTP.