Today I was introduced to a concept I’m now wildly enthusiastic about. KhanAcademy is the brainchild of Salman Khan and allows you to watch and practice everything from basic addition to college-grade trigonometry. Practice exercises seem to focus mostly on maths but I have no doubt that will be expanded upon soon.
So, great, another e-learning site! What’s new? Well quite a lot actually: for one, all the content on Khan Academy is completely free of charge. We’ve already seen MIT pushing boundaries in free education with its OpenCourseware program, but that’s just raw material. Certainly not to be frowned upon, but it’s not quite the same as a patient tutor teaching you things. And that’s exactly what Salman Khan does for you.
At the time of writing this, the site features over 2400 videos on topics ranging from algebra to finance to history. Having checked out several videos myself, I find myself immensely impressed with the educational value. Khan has a pleasant voice and really touches upon the foundations of the concepts he tries to teach you. There is no “just memorize this formula and you’ll be fine”. The aim is to really make you understand what you’re doing by guiding you through Khan’s thought process as well as exploring other ways of going about things. Continue reading →
UPDATE; Download the files here: PHP Database Wrapper Class
I don’t think there’s any PHP developer out there that at one point hasn’t been frustrated in their dealings with databases. Do you use the mysql_ extension? It certainly is more simple to use than the mysqli extension, but then, mysqli is supposed to be faster as well as more secure. And what about hosting? Wouldn’t it be a pain if your project worked like a charm on your development machine and then your shared hosting provider didn’t provide the mysqli extension?
Of course you could go with a PHP framework like CodeIgniter or CakePHP, but unless you’re working on a big project, you might find that overkill and more of a hassle than just writing your own code from scratch.
Having faced these exact dilemmas on many past projects as well, I’ve long ago written a database wrapper class which takes all the annoying intricacies out of my hands and provides me with a simple and clear interface to MySQL databases. Continue reading →