I started out with a TRS-80 Model I in high school. I spent a lot of time on that machine, and applied a lot of the "canned hacks" developed by others -- add-on hardware better than that Radio Shack sold, a memory remapper to let it run CP/M, soldering in another 1024x1 RAM chip to support lowercase video, jumpering the clock divider chain to effectively overclock the CPU, and so on.
Eventually, I noticed that I was starting to have wrist problems, especially when I used WordStar -- that WP used the non-existent Control key quite a lot, and the CP/M port mapped it to one of the arrow keys, which was an ergonomic nightmare. But I happened to find a pair of foot switches on clearance at Radio Shack, pre-wired to mini audio plugs. I drilled two holes in my system unit, mounted two mini jacks, and wired them to the keyboard in the same position as the shift key and that arrow key. Stomp-K-D for the win! My wrists were better in no time.
Later, I got a state-of-the-art 1200bps modem, but my poor terminal program couldn't keep up. Any time the screen had to scroll, I dropped characters. The solution: I rewired the 40Hz real-time interrupt to fire at 160Hz, and wrote a little interrupt-driven driver to catch and buffer characters coming in over the RS232 interface. It was completely bulletproof. Unfortunately, it also sped up the keyboard timing (repeat delay and rate) by 4x in CP/M.
I guess the biggest hack, though, was building a full character-based video display subsystem that hung off the expansion port. Forty or fifty SS/MS LSTTL packages spread across eight or ten solderless breadboards, with a couple of static RAM chips thrown in for character generation and storage. It ended up being something like 30 lines of 100 characters, comfortably larger than the original 16x64 display or even the 24x80 displays in the computer labs, and each cell was 8x16 pixels, so they were nicely readable characters. Luxury. I used that "in production" for a year or two, until I managed to land a Lisa.