Sometimes, Diving into Your Past Can Be Constructive.

I wrote yesterday about keeping old ideas in a notebook. Well, it’s also useful to take some time out occasionally and page through those old notebooks. It is often interesting seeing how much you have grown over time as your skills and knowledge has expanded. It’s also often useful to see how you solved problems in the past and to possibly use some of those ideas in the future.

The past version of you was far less knowledgeable, but sometimes that lack of knowledge leads you to solutions that seem less obvious once you understand things. It is sometimes those very solutions that are the most interesting and elegant.

Basically, you need to remind yourself that sometimes looking at the world with your earlier naivety will sometimes offer you the perfect solutions. Let yourself view things as you once did and then use your current knowledge and experience to make it work even better.

A Day of Play – It’s Important to Branch Out.

Today was a bit of a lazy day. That is something that is important to do at times. I played some video games, but I also dragged out my Arduinos and other electronics and played a bit. More time was spent sorting through what I had, but it was still a good thing to do. Hopefully, I will be able to get a few projects to work with that.

I do some photography, Lego building, writing, models, and even a bit of painting. I find the creativity of these other interests feeds the creativity needed to program.

So, for today this will be shorter than usual (yes, I know most of my posts have been short). Make sure you step out of your usual activities and experiment with new things. Learning and stretching yourself will never let you down.

Programming Suggestion of the Day: Test Test Test!

Assuming things work just because you can run a program and not have it crash is a sure path to failure.

If you are using automating testing, that will catch a lot of issues before they become a problem – provided that you did a good job with your test coverage. But, either way run your program many times. Make sure to test every option, or combination of options. Try things that don’t make sense – put words in a number field. Try to break your program, and when you are done with that get it in front of other people and let them attempt to break it also.

Only then can you begin to feel confident that your program will do what you expect it to do and users won’t run into issues.

Well, I should back off that last statement – errors will still manage to show up and people will find them like magic. It is amazing how many things manage to get missed even after thorough testing.

So, just keep testing. Even if you think you’ve tried everything, try a few more things.