Unsolved but tractable problems

The world is full of unsolved but tractable problems. One of my recent projects needed an AWS spot market simulator but all the obvious searches didn’t turn up anything so I went ahead and wrote one for my use cases.

Another but slightly smaller problem was about writing to and rotating logs based on number of lines instead of file size or timestamps and again the obvious searches turned up no results so again I wrote something.

Never be afraid to tackle small and tractable problems. Never let the haters get in the way of making and sharing something because there are people out there that will find your work useful and at the end of the day that’s what counts.

Project checkpoint: AWS spot market simulator

Finally settled on a structure that seems to work. My initial design was doing everything in Ruby by shuffling elements between sets and hashes and this was a little hard to follow. After stepping back from the problem I noticed that I was basically re-inventing database tables very poorly so I shifted everything to using an in-memory SQLite database.

Update: I’ve now written a simulator that can be used for testing bidding and control strategies without having to pay for actual server time.

Continue reading

Project checkpoint: AWS spot market simulator

I’m currently working on a very basic spot market simulator for testing various spot market strategies. I initially thought that this would be pretty simple but it turns out it’s not so simple mostly because programming languages are terrible at expressing transactional semantics of high level state machines. Let me try to elaborate.

Update: I’ve now written a simulator that can be used for testing bidding and control strategies without having to pay for actual server time.

Continue reading