The main focus of this post is KA Lite: a lightweight web app for hosting Khan Academy content from a local server, without the need for an Internet connection.
I love Khan Academy. To me, it's that band that I listened to way before it became popular and everybody else jumped on the bandwagon. I remember discovering Khan way back in December of 2006, when it was just a YouTube channel and I was a wee little high school sophomore struggling to pay attention in my pre-cal class. At the time, I didn't know how lucky I was to have found those videos. Sal (I call him Sal, because deep down I feel like we're buddies) always managed to break concepts down in such a concise and visually digestible way. If I didn't get it the first time, I could play it over and over again until I understood it without the risk of ridicule. It was a relief. It spurred my interest in the material for the first time. And I remember thinking, "Man… I wish Sal could teach all of my classes."
Fast forward 6 years. The Khan Academy has grown into a full-fledged non-profit organization with funding from entities like Google and The Gates Foundation. It has delivered 217,336,268 lessons to date. Anybody with an Internet connection can type http://www.khanacademy.org into their address bar and have instant access to over 3,600 high-quality lessons on topics ranging from Art History and American Civics to Calculus and Computer Programming. How awesome is that?
It's super awesome.
But before we throw our hats in the air and do the chicken dance of joy, lets take a closer look at that statement.
"Anybody with an Internet connection can type http://www.khanacademy.org into their address bar and have instant access to over 3,600 high-quality lessons."
Wait a second. How many people actually have that Internet connection?
Do a little digging and you find that the number is actually pretty small. About 35% of the world's population are users of the Internet (source. If you estimate we've got about 7 billion people on this planet, that's about 4,550,000,000 people that are missing out on this party. And if you poke around even more, what you'll find is that it's overwhelmingly people from more-developed countries that have access to the Internet, meaning that the awesome educational resources are only really available to people that probably already have some type of access to a (relatively) quality education.
"Education is all a matter of building bridges." - Ralph Ellison
Enter Jamie Alexandre of UCSD Cognitive Science fame. Jamie is a super-intelligent vegan-hacker-ninja-Phd student here at UCSD, who never wears the same shirt twice (ok sometimes). Jamie's all about the intersection between learning and technology, and while his research started out in computational linguistics, it has since grown to encompass an astoundingly broad scope, with a focus on online education.
(Aside: how am I lucky enough to know who this guy is? Well Jamie opens up his lab group to just about anybody on campus who's passionate about learning and making the world a better place. I was fortunate enough to recognize and take advantage of the opportunity to work with Jamie starting around March of 2012).
Anyway, this past summer Jamie interned as a developer at Khan Academy. You should take the time to read all about his awesome experience, but the important takeaway is that he came back to San Diego with a partially completed web application and a dream: to bring Khan to the 65-70% of the world that is currently off-line.
Starting in September of this year, our team of ninjas-in-training plus Jamie got hacking in Jamie's lab (which is a [barely] 10 foot square office with old electronics and research papers scattered everywhere, vegan/Python jokes plastered on the walls, and a white board that has never seen an eraser). It's no lab. It's a hack zone.
And after 10 weeks of solid work by the entire team (and mostly Jamie), the paint is just starting to dry on the first public launch of [KA Lite](http://kalite.learningequality.org/, a lightweight web app for hosting Khan Academy content from a local server, without the need for an Internet connection.
How cool is that?
If bringing high quality educational content to the rest of the world is important to you, please read more about KA Lite and how you can support the project. I also highly recommend reading what Jamie has to say about the project as well as my co-ninja-in-training Matt.
If you happen to be interested in how this experience has affected the thoughts and dreams of a 21 year old, then by all means read a little bit further.
Just a little bit about me
This year is the last of my undergraduate college career. Like many of my friends, going into this year I had little better than a vague idea of what I'd like to do after graduating.
I'd always secretly dreamed of getting involved with a startup or starting my own company and with my major and HCI specialization, I thought I might be able to sneak in the door as a UX guy that could do a little front-end work and was familiar with Django and Rails as well.
But I never considered the idea that someone would actually be crazy enough to pay me to write code. I've just never really been a technical guy. When I decided to learn how to code about 12 months ago, it was just so I could prototype my own ideas and learn enough to have a semi-intelligent conversation with a developer, so that when I took the plunge and started my own thing I would have somewhat of a clue.
Working on KA Lite these past ten weeks has changed everything for me. Having the chance to work with guys like Jamie, Richard, Matt, and Guan on a regular basis has made me realize that being an engineer is one of the most badass things you could possibly do with your life. In ten weeks, our team was able to build something that will hopefully have a monstrous impact on the quality of education in developing countries. Not to mention that it has turned out to be one of the most fulfilling and fun things I've experienced in my life thus far.
I still want to start my own company eventually, and I still want to work at a start-up after I graduate, but now I realize that the reason I want to do those things is so that I can have this kind of impact for the rest of my life. I want to be an absolute ninja-hacker web engineer so that I can learn something new every day and build awesome tools that end up making the world a better place to live for everybody.
So where do I go from here? Well, I know GitHub says I've written a lot of code for KA Lite, but I honestly feel like a total newbie every time I sit down in front of my laptop. I've got about 10 months worth of programming experience (having started last December and with a 2 month break for my summer abroad), so you can imagine that I feel a little late to the party when I hang out with guys who taught themselves Java before their 9th birthday.
But the way I look at it, I have a solid six months until graduation in June, which is a good amount of time to go from procedural-thinking clumsy-typer (exaggeration for emphasis) to junior-ninja code-slinging cyber-monkey.