A Playground for Python

Not too long ago I was introduced to a website called Project Euler:


Once you create an account on this website you are free to tackle hundreds of creative math puzzles. They are wonderful because they not only require solid mathematical analysis to solve, but also generally require one to write programs to perform the task at hand. The early problems are incredibly simple, but they get progressively harder as you go on; most of the latest problems look like complete gibberish to me. To solve these problems, I decided to go with Python as it is very simple and quick to develop with and it includes many useful features right out of the box like arbitrary precision arithmetic (a must for many Project Euler problems). Using python my solutions are generally no more than a mere 10-20 lines of code, but generally a fair amount of time is spent crafting those lines as I analyze the problem. Once a problem is complete, a forum thread opens up to you that is visible to all others who have solved it. This way, you can share your solutions with others around the world. Looking through these threads I find a variety of different languages being used: C, C++, python, Java, and others. Sometimes I find x86 assembly solutions (Those people must be a little insane). Overall however, this site was a wonderful way for me to program in Python with a more mathematical feel; I would suggest all of you to try it as well.

A Wonderful Programming Environment

I’ve been using Linux based operating systems (mostly Ubuntu, however I’ve dabbled in some other distributions) for just about a year now. When I first started using Ubuntu, I had no idea how to get anything done. I simply had the operating system installed on my computer for the fact of having it rather than using it. I came in with the desire for a Windows-like experience and almost no will to try anything else, so I didn’t make it very far. However, I was lucky enough to have a software engineering internship this past summer and had a wonderful group of engineers help me in the process of getting acquainted with Linux. In the beginning of the internship I dabbled in the terminal only when it was necessary, used gedit to write all of my programs, and didn’t even know how to compile my C++ code. Through the internship, I got used to bash and many of its powerful features, I learned to use vim (a program that could only be described as a nightmare to me when I used it first), and I learned to use python and GCC to develop scripts and programs to achieve my tasks. While I could do many of these things in Windows, my productivity soared in Linux. Linux now has claimed its place as my favorite development environment. Frankly, it’s just fun to program in Linux.