appsCanadian 2.0
May 28th, 2010
Welcome to appsCanadian.ca, Version 2.0!
Two years ago, I received a very nice refund on my taxes and used it to buy a number of “classic” books on programming. I then started a blog here on appsCanadian.ca to try to document my progress as I attempted to use these books to become a better programmer. I thought that making my efforts public would entice me to stay on track, but it turned out to have a very different result.
Some of the books I had purchased, such as Introduction to Algorithms (known to many programmers as CLR or CLRS), I found to be considerably more intimidating than expected. Skimming a number of pages in CLRS, I discovered that my math skills were probably not as advanced they needed to be. There were other books, such as Code Complete, which painted with some rather broad strokes that I had difficulty convincing myself that I would be able to properly blog about my progress.
I’ve decided that appsCanadian.ca, Version 1.0, was a particularly large failure, and so I’ve deleted it. I have backups of everything related to that incarnation of the site, so there may come a time when I create some sort of read-only copy of the old site, or reintroduce old articles, but for now I’m attempting to start fresh.
I’m honestly not 100% of what this blog will become, but here are a few ideas I’ve been tossing around in my head:
- Basic programming concepts, and learning a language: They say the best way for someone to learn something is to teach it, so that will be one important aspect of this site. I’ll explain the basic elements of programming (variables, conditionals, loops, etc.) and try to gain a deeper understanding of the subject as I go. Throughout this, I will attempt to dive into several languages (C# and PHP being the two which come immediately to mind, largely for employability reasons) and I will try to document my experiences. I’ve recently discovered the power of flash cards (the learning/memorization tool, not the removable media in your digital camera) so I may create some flash cards for myself and make them available for download.
- SICP: The Structure and Interpretation of Computer Programs is a wildly popular book throughout computer science. It was written by professors at MIT to be used as the textbook for their eponymous entry-level class. I am going to endeavour to read and discuss each chapter of the book, as well as complete each of the exercises within it. If any readers would like to follow along at home, but don’t want to pay $70 for the actual book, MIT Press has published the whole book for free online.
- Math: As I mentioned above, I don’t think my math skills are as good as they should be. Don’t get me wrong, I know my way around everyday math, and some less common math, but I’m a bit embarrassed by what I don’t know. For example, I never took calculus or discrete math classes in high school, so I know nothing of either subject. I’d like that to change, so I’m going to spend a lot of time at the Khan Academy. The Khan Academy is a website started by a guy named Salman Khan, which contains thousands of YouTube tutorials on math and other subjects. It started when he was tutoring his young cousin in math over the phone and decided that video would be a better option. After he uploaded these videos to YouTube, they got very popular, and he expanded his collection to other subjects. I’m going to watch his videos, starting from the basics, and check my knowledge against his web application until my math skills are (in my mind, at least) at a respectable level.
- Projects: There are two web projects I would like to undertake. I’m toying with the idea of documenting everything about one of these projects on this site. I’ve never seen a project built from absolute scratch online before, but it’s something I really wish existed, so I may do that on this site.
I’ll say right now that I don’t have any particular posting schedule in mind. One problem with appsCanadian.ca 1.0 was that I had an idea of how often I should be posting, so I got horribly discouraged when I didn’t meet my target. I’ve even read recently that there have been studies which show that talking about a project reduces your chances of completing it. Talking about potentially doing something satisfies certain urges in your brain, making you less likely to feel obliged to actually follow through. For that reason, I’ll be posting entirely on a “whenever I feel like it” sort of schedule.
I hope some of you out there like what you see coming on this blog. If you have any comments, concerns, or suggestions, please do not hesitate to contact me. Please keep in mind, though, that nothing I say should ever be treated as gospel. Like everyone else on this planet, I’m an idiot and do things really, really wrong really, really often. If you see me being wrong, by all means please correct me, but keep in mind that you almost definitely know more about the subject than I do and I likely just made an honest mistake. This shouldn’t need to be said, but I feel compelled to make this disclaimer since Jeff Atwood has taken quite the beating in the last year because people mistook him for someone who knows what he’s doing despite his many comments to the contrary.
Thanks for reading; I hope you enjoy the site.
May 28th, 2010 at 7:06 pm
I’ve been thinking about getting Introduction to Algorithms, but I’m doubtful about my understanding of math as well. Would be interesting to hear if you found the book at all useful without first studying math.
May 29th, 2010 at 9:20 pm
Jani,
I’ve never really attempted to read the book yet, because of my “math problem.” As I said, I skimmed through bits of it and realized there might be an issue.
This was more or less confirmed when I discovered the MIT OpenCourseWare page for their Introduction to Algorithms class. I watched the first lecture and although that one lecture was fairly mathematically tame, the professor made a number of comments which implied advanced maths (where “advanced” means “more advanced than my current understanding”) would be needed.
That said, I most definitely intend to read the book and watch the lectures. I think I might start reading soon and continue until I get over my head. At that point, I’ll pause until my Khan Academy activities bring me up to a level where I can understand the material in CLRS again.
I assume from the timeliness of your comment that you were aware of my blog before I restarted it. If that’s the case, then thanks for sticking with me. If not, then welcome! (also, how did you find me so quickly??)
May 30th, 2010 at 2:31 am
I’ve had your blog in Google Reader for some time. Not quite sure where/when I originally found it though
May 31st, 2010 at 1:37 pm
Good to have you back!