Wednesday, May 30, 2012

Open Education

I'm participating in two massive open online courses currently: Codecademy's Code Year & Coursera's Computer Science 101. It actually took me a little while to realize that, as someone who works in higher education, it was a little odd to participate in these ventures. Shouldn't I be taking classes at my local community college? Aren't I cavorting with the enemy in some seedy way? For the moment, I'm going to put aside those fears (I have another blog post in me about higher education's victim complex) & analyze the efficacy of each of the two courses.


Coursera closely resembles a traditional class & probably outright mimics some distance learning formats as it's essentially just an LMS (Learning Management System). Every week, about an hour of lectures are posted which cover a few topics. By the end of the week, one must complete several sets of exercises related to lecture material. The exercises come in one of two forms: multiple choice or computer code. There is no reading but the lectures come with some very nice notes that can be reviewed.

I found Coursera to be quite successful. This stems mainly from the instructor, Nick Parlante, who did a tremendous job of presenting concepts. He used analogies, diagrams, & sample code to boil fairly sophisticated topics (compiled versus interpreted languages, how compression works) down into easily understandable summaries. The exercises were not difficult & the code ones are executed in a basic text area, nothing fancy. The course uses a JavaScript-like syntax but with built-in functions for image & .csv manipulation that don't exist in JS, so you can't really come out of it with any coding tools.


Codecademy, despite being another MOOC, looks very different from Coursera. Sure, you're emailed new lessons every week, but there is no lecture. Instead, one works through several sets of exercises, some of which simply relay certain information & implore you to press "continue." The exercises are said to take about five hours for a person of "average technical skills," far more time than one spends doing Coursera homework.

Codecademy struggles in its attempts to see if your code is correct. It's exercises are more sophisticated & its code editor has syntax highlighting, but also struggled for months with cursor location (at least in Chrome). On many occasions, I wrote code that worked but couldn't pass whatever test determined correctness. In one instance, I had to run the exact same CSS on three different browsers (Chrome, Firefox, then Safari...which uses the same rendering engine as Chrome) before it would pass. A few exercises have typos, misspellings, or frustrating quirks that can only be overcome by viewing the FAQs to see what people before you have had to do. You do learn real, usable-in-the-wild JavaScript, CSS, HTML, & it looks like (starting this week) Code Year is even dipping into the jQuery JavaScript library.

Compare, Contrast

Overall, I side with Coursera. It's a less flashy, revolutionary model–& better for it. A good instructor will always beat out a bunch of start-up engineers who don't know anything about pedagogy. CS 101 didn't teach me a whole lot I didn't know (I regret not taking a more advanced course), but it did so in a thoroughly enjoyable manner devoid of frustrations.

One area that both courses did not succeed in was scaffolding. There's too much of it. Too many code exercises start with a basic structure already in place; in Codecademy, it's not unusual for dozens of lines of new boilerplate code to appear at each step. But most people learn through repetition, not through having the little boring bits done for them every time. & the one skill that neither course, at least not with their present correctness heuristics, can teach is problem-solving. Neither is in position to say "here's a problem, solve it with code" which is a bigger aspect of CS than "memorize what these four expressions do." That requires human graders & is the real strength of CS courses or face-to-face meet-ups.

Some questions I've taken away from these courses: what would a massive, open, online library science course might look like, who would teach it, & what the demand would be? Librarians have valuable skills to transmit but I'm not sure what we could teach that would draw an audience. How to research? At the same time, "information literacy" is a difficult subject to test. It won't translate as well as computer code, which literally boils down to Boolean values with nothing in between. Does anyone know of any MOOC LIS courses? With all of the prominent online programs at LIS schools, it seems natural that one will crop up eventually.

Wednesday, May 23, 2012

Blogroll Blog Post Bloggy Blog Blog

I don't have a blogroll in the margins of this blog. That reflects my beliefs about why people visit blogs: they come to read posts, not to click links in sidebars. That said, there's tons of cool stuff out there that I want you, the reader, to know about. So here's a brief roundup of my favorite blogs at the moment.

Thursday, May 17, 2012

Good Music

is what's important. Audio quality has never mattered much to me. I convert my FLAC to mp3. I'm in awe of, which I definitely waited too late to get into. is the best discovery engine music's ever seen. Music is culture's most atomic unit. The songs pass in four minutes & there are enough of them, they promise to keep coming more than you could possibly catch up. Music builds more granular genres, it expands beyond the popular music of radio & Pandora. & provides its APIs right down to the URLs: That's how every website should work: imagine if a book was http://your.local.lib/books/ISBN#. It'd make sense.

Music has stabilized. We can't go beyond the genres we have now, the human mind can only handle so much Skrillex. We could make all the same sounds a decade ago but just didn't have the depraved courage to do it then.

Tuesday, May 15, 2012

Starting Fresh

A few months ago, I splurged on a new MacBook Air which gave me a chance to start anew & avoid some of the mistakes I made with my last laptop. Here's a brief rundown on what I'm doing & why.


Mac OS X lets you encrypt the contents of your hard disk (under System Preferences > Security & Privacy > FileVault) which was something I wanted to do on my previous laptop. Unfortunately, I waited until I had about 150 GBs of stuff on the old 200 GB hard drive, so much that there wasn't enough room to encrypt it all & the process would have taken forever to complete in any case. With my Air, one of the first things I did was enable FileVault. This makes it more difficult for just anyone to boot from a flash drive & read the contents of my hard drive.

Cloud Storage

Other than a few vital items I keep in encrypted disk images on my hard drive, I've pushed almost all my files into four services: Google Docs (now Drive, with added storage space), Google Music, Spideroak, & Dropbox. I use Google Docs for presentations, spreadsheets, & text. Being able to access my documents from anywhere is a serious boon. Google Music keeps my massive music collection from clogging up my hard drive & has a nice web app for my phone as an added bonus. Dropbox is great for web development & contains most of my git repositories. I'm nowhere near using up my free storage space, because most of my files are plain text (code, documents, notes).
One issue with Dropbox is that, while I can choose which directories sync to my hard drive, I cannot choose where those files end up: they always reside the Dropbox directory. That's where Spideroak comes in: Spideroak lets me backup files without moving them, which is essential in many cases. For instance, I'm syncing the settings for Sublime Text across three devices, settings which have to live in the Application Support directory. Furthermore, I trust Spideroak far more. Dropbox had one of the worst security failures in recent memory, while Spideroak has a very reassuring "know nothing" model.
Moving to the Cloud is more difficult (or at least impossible to do for free) for someone with more media. I have virtually no video files & few images, so I'm able to use free storage quotas with plenty of spare room. The items I care about most are either code or text, both of which are extremely lightweight.


On my previous laptop, I went overboard testing out different web browsers & code editors. With my Air, I'm trying hard to only install programs I know I use, rather than slowly piling up junk which I use once & then never return to. Honestly, storage is not the concern, I just don't like the idea of having unused detritus lying around, clogging up my QuickSilver catalog.
This goal also works well with the Cloud: why install a word processor when there's Google Docs? I keep thinking I'll need Libre Office at some point but that day hasn't arrived yet. For many tasks, not only is there a suitable web app, but my favorite application is the web one, e.g. Gmail, Google Docs, & Google Calendar. I actually wish Apple would give up on packaging iCal, Mail, & some of their other defaults because they get in the way more often than not.


One decision still troubles me: would I be better off with Ubuntu, Debian, or another GNU/Linux distribution? It's not simply that open source software aligns with my ideals & is easier to customize than Apple & Microsoft's fare, but that dependence is never a worry. I can find everything I need on Linux & then I don't have to worry as much about format migrations (remember when .docx was such a pain?), expensive updates, & lock-in.
At the moment, I'm content with Mac OS X. There are still a few standout applications (most notably Quicksilver, but many of web design apps tend to cater to the Mac) & I do enjoy the look & feel of OS X. That said, Lion is a distinct step backwards from Snow Leopard in a few areas: Launchpad & Mission Control are both worthless to me (because I launch apps with Quicksilver) but they replaced the very feature that made me love OS X in Exposé. While there are new touch gestures available, I must admit that I haven't found a use for any of them yet. So that's disappointing & I'm positive Apple will continue in this direction, slowly absorbing OS X into iOS in the very worst way possible.

Tuesday, May 8, 2012

Ye Olde Internet Roundup

This is a good ol'-fashioned post of links to some other stuff I've done on the web, both recent & not-so-recent.

Projects I'm contemplating next: a filterable map of libraries I've patronized or worked for using the SIMILE Exhibit framework, a set of suggested settings for public Firefox installs (found some great blog posts to build upon), & I hope to self-publish a volume of poetry before the year's out. I used to write a lot of poetry but that has fallen by the wayside with my interest in web development. I have a few volumes worth of writing lying around so I think that will be a wonderful project because A) I'll get to learn the step-by-step process of self-publishing, which is an increasingly important area for libraries, & B) I like the DIY, Creative Commons, open sorcery, just-get-your-art-out-there approach. No beef with artists who have to sell stuff to make a living, but it's fun to give things away.