It always amazes me how much one learns when working on something. Things that aren't directly related to the task at hand but you learn as you go along the way.
Case in point: Calculator.
I originally made Calculator because I wanted a decent Calculator on Android that looked as good as it performed. I wanted it to be simple and yet accurate. I wanted the ability to change the look of it on the fly. I wanted alot of things and I think I have in large achieved all of them.
But things just don't appear when you program - you have to create them. So many things you take for granted
on your average calculator (like error checking, input checking, overflow, rounding) aren't just an automatic thing. You have to fully understand every function that you put on the calculator: how it works, what inputs are valid for it, what causes it to error, what causes it to go to infinity, where it is undefined etc. Today, for example, I spent a good amount of time on Wikipedia learning about the trig functions and hyperbolic functions and where they are defined/undefined, how radians and decimals are related and so forth. The list goes on and on. And even when you think you have compensated for everything, someone will report a new bug for you to try and fix. Just the other day a person emailed me a bug about how the Calculator rounds off on certain things. I always appreciate the feedback from all of you and I really do enjoy the challenge, but man sometimes I think "All I wanted was a Calculator! How can things be so complicated!?"
But things are always more complicated than they first seem.
Anyways just a funny observation. All I have to say is I know way more about mathematics as a result of this that I never really intended to learn. Such is life....
Has anyone else been experiencing this recently?
Oh and I have been hard at work updating Calculator. Still don't have any concrete release date, but it's coming =)