Showing posts with label mltut. Show all posts
Showing posts with label mltut. Show all posts

Tuesday, July 10, 2012

Learn X the Hard Way

Zed Shaw has pulled out the skeleton of his Learn Python the Hard Way book series so you can roll your own Learn X book with LaTeX.  This would be a great alternate target for mltut/Heckle.

Monday, July 2, 2012

Single-page web applications

Here's a good book about the care and feeding of single-page web apps.  Since I envision each chapter (or section maybe) of mltut as a single-page app, this seems pretty salient.

Thursday, June 28, 2012

Ourmine - data mining toolkit project

Here's a pretty fascinating project - a data mining toolkit along the lines of the one I want to build, but in bash/Java (looks like).  Here's an example topic page (Naive Bayes classifiers).

Sunday, May 27, 2012

Thinking about book compilation

I defy you to find anything about compiling books with Google.  I get a lot of interesting links to books about compiling, though.

So this time, I'm trying (for once) not to reinvent the wheel, and use something already written to compile my books, and I keep coming back to Wiki compilers, of which there are several in the Perl universe.  The top contender seems to be Ikiwiki - it's actively developed and supported, has a great plugin structure, and already runs on top of a VCS out of the box, which is exactly what I want.

The only thing that worries me is this: how much is a tutorial series like a Wiki?  I suspect I'm overthinking this, so I'm just going to install Ikiwiki and try writing some tutorials and formatting them.  Someday I'm going to have to learn just to start.

Update: Oops.  Ikiwiki appears to be non-Windows-compatible due to a sad predilection for colons in its filenames (and maybe other reasons, I don't know yet).  I'd still like to see if I can get it running, but if not, then maybe I'll be reinventing that wheel after all.

Saturday, May 26, 2012

A quick note on setting up site hosting at Github

This was actually easier than I'd thought.
  1. Create a new repository (in this case, mltut).
  2. Create a page branch from the admin screen.
  3. Check out the page branch:
    - Make a directory, in this case, mltut-site in my projects directory.
    - Set the origin to, in this case, get@github.com:Vivtek/mltut-pages.git
    - Fetch from origin
    - Check out branch gh-pages
  4. Register the domain (in this case, mltut.com).
  5. Set the IP to 207.97.227.245
  6. Create a file in mltut-site named CNAME containing, in this case, www.mltut.com
  7. Push that file to the branch.
  8. Wait a few minutes for DNS records to get pushed.
And then you have a new site: www.mltut.com.  There isn't much there yet.  The idea is to put the tutorial material into the mltut project, and publish it with as-yet-unspecified tools into mltut-site, which will then get pushed out to the site itself, as though by magic!

Thursday, May 17, 2012

Machine learning in Perl

Well, my ability to keep up with the Caltech ML course seems to have been roughly equivalent to keep up with any other course - worked great for two weeks and then ground to an ignominious halt.  However, I have to say that I truly love the format of the class.  The homework is really only loosely based on the lecture, so to do the programming required to answer the homework questions, you have to think about it all.  It's a great way to learn.

Which brings me to my next project idea: write a book roughly along the order of presentation of the (practical parts of the) Caltech lecture, leaving references to most of the math and providing code samples.  Yes, I mean write my homework problems at my leisure over the next few months, and then some explanatory text around them, and call it all a book.

But this would be a little more refined than just that.  I'd like to keep the notion of making you work for it, if you're so inclined, so first, each chapter would break down into a presentation, then a set of questions for you to answer (the homework, in other words), then code samples answering the questions and a walk-through of why they do so.

And then it would be just a short step to an interactive course - courselet? - that would allow you to force yourself to answer the homework before going on.  Seriously, if these Ivy Leaguers can do it, so can I.  The key is that the Caltech homework is multiple-choice, but designed in such a way that you have to do extensive experimentation (read: write a bunch of code and run it to get some measurements) to answer the questions.  Some questions on the Coursera quizzes are organized in the same way, but I thought Caltech took this to a rather nice extreme - which I really liked, because it allowed me to work in Perl as God intended, rather than having to submit to their language choice.  Why?  Because I was running the code on my own machine, not on their server.  The key is basing your questions on measurements, not on actually running the code.

The answer evaluation part could even be in Javascript - no server-side needed at all.  The idea is to "unlock" further portions of the book, like a game almost.

Just a thought.