Each software developer has a list of online resources that are essential for software design, development and everything related. Here, I am going to share mine:
- WayBackMachine – Information on the internet can be really volatile. On several occasions an interesting article or link to a useful tool was removed from a website by the time I really needed it. As a last resort you can always depend on the way back machine. Just enter the website and you’ll get a list of snapshots by date. This can be a real life saver! Or if you’re in a sentimental mood, just check what big websites looked like in the previous millennium. Time travel is here!
- plantUML Server – It can be a real pain to install java and graphviz. But why bother if you can use the excellent plantUML tooling online?
- cdecl: C gibberish ↔ English – Having issues reading a pesky c statement by some smart-ass developer? Here’s google translate for code. Ok, as an alternative you could of course learn the Clockwise/Spiral Rule.
- interactive c/c++ compiler – Does it even compile what I just wrote? What assembly will compiler X generate for this snippet? And what if I change the optimization level? Guess no more; you can experiment to your heart content online.
- Bit Twiddling Hacks – Ok, you will probably never NEED this one. Like no one ever needs a Tesla Roadster. But it is very neat. Prepare to be amazed by at leasts some of these ‘hacks’. If you sprinkle some of these in production code, you may want to make your variable/function naming pretty clear or even add a comment (shudder) to explain what you are doing to the unfortunate developer maintaining your code.
I left out the usual suspects, such as Wikipedia and Stack Overflow, which you probably use already. Feel free to share your favorite (online) resources.