Everywhere, tons of coders are building software packages and making it freely available without making a dime off of it. I recently experienced a perfect example of just how useful and efficient this can be.
My goal was to have users fill in their city and country in their profile page, which I added recently:
What I realized is that I don’t want to leave it up to users to spell their city and country correctly, so I went on the hunt for a Django app that contained our world’s geographical information. I came upon two separate applications that I could plug in to my site’s code: Django Cities and Django Cities Light. The former is a much larger and more complex program than I needed at the moment so I went with the lighter version. The only problem was that when I tried to upload the data I kept receiving a duplicate error for some city in Latvia: Daugavpils.
I scratched my head and went to work googling the error but nothing came up. Finally, after searching long and hard I gave up and opened my first issue report on Github. The main contributor, jpic, responded shortly afterward along with several other coders who had the same problem. Over the next few days back and forth discussion solved the problem and another bug that popped up immediately afterwards. I was so impressed with this amazing collaborative effort and in particular, that of jpic, who went to town solving these problems in which he received no monetary compensation for. Coming from a finance and economics background I really found this refreshing.
Without the contributions to the community of open source developers working tirelessly on software such as Python, Django, and Cities Light, we definitely would not have the kind of web based technology we have today.
Special thanks to jpic for fixing my issue so quickly.
Day: 7 Budget: $? Spend: $0
I wanted to take a quick break on the progress of the site to quickly discuss learning to code. After spending a lot of money going to school, on both an undergraduate and a masters degree, I have decided that I never want to pay to learn again. With the amount of resources freely available online, for many things, in particular coding, you don’t have to.
After picking up SQL working at web startups I decided I should take the plunge and actually learn to code. I started with CodeAcademy and Zed A. Shaw’s LearnCodeTheHardWay. CodeAcademy allows you to practice your coding skills directly on their sight while LCTHW gets you to go through the necessary pains of coding through the command line. I actually went back and forth between the two because sometimes seeing the same thing explained different ways gave me a better understanding. Each site allows you to choose from various languages, deciding on the right one should be made using some careful research as to what you intend on doing with your coding skills. I chose to learn Python over other languages like Ruby because of its application to statistical packages and because of it’s reputation for being an easier scripting language to pick up.
For a framework I made the natural choice of Django since I studied Python. I think it is worth mentioning again Mike Hibbert’s video series available here, which I highly recommend.
If you find that you aren’t getting ahead as fast as you would like there are a number of great coding schools popping up that have hands-on classes lasting a few weeks. In Toronto there’s Hackeryou and the soon to be launched BrainStation.
Ultimately, with the amount of information freely available on the internet, you can learn just about anything. I’ve even learned to become a semi-competent guitar player without ever paying for a single lesson!
Day: 5 Budget: $? Spend:$0 Total Amount Spent Learning to Code: $0 (I did have to buy a computer but I’m not going to count that)