I am a software engineer and a researcher working in renewable energy R&D. My passions include reliable and resilient software systems, renewable energy, programming languages, the electric grid, operating systems, large scale data storage systems, distributed systems, and unconventional computing.
I hate testing. That probably means I'm doing it wrong. Here I'm trying to learn about testing with EUnit from other people's tests.
Pushing the phone controller state machine by simulating 200,000 phones. Lessons are learned about designing, analyzing, and debugging interacting state machines. I learn the importance of reasoning both at a higher level than the API, and at the level of individual messages.
Implementing the phone controller finite state machine from Designing for Scalability with Erlang/OTP. Some lessons are learned about keeping data separate from state.