I hate doing things myself that I don't think I should have to do myself. It's one of the reasons that I got in to computer engineering and computer science; they're disciplines obsessed with figuring out ways to have computers do the hard work for us.

In high school, I loved my TI-89 Titanium Edition, especially once I learned that it could solve differential equations.

A TI-89 Titanium, my loyal steed in high school.

After, that it was Wolfram Alpha, which is a tool which has remained a huge part of the reason I can get any amount of mathematics related homework done.

Wolfram Alpha

However, once I got into my senior level courses, and now my graduate level courses, the tools that I appreciate are much more niche. The one I'd like to tell you about today is a tool aptly named Finite State Machine Designer, by Evan Wallace.

Finite State Machine Designer

It's easy to design simple FSMs for quick designs, homeworks in algorithms and statistics courses, and it exports to PNG, SVG, and critically, LaTeX, which isn't as easy to come by. It beats writing LaTeX versions of these things by hand by a long shot, even if they aren't quite as symmetric and perfect. I'm currently using this tool to draw out Markov Chain models for a Computer Systems Analysis course, and I could not be happier with it. Try it out the next time your need arises.

source: Finite State Machine Designer, by Evan Wallace