Reality: The Slow Race of Life
<< older entries

Collaborative learning and teaching on Alekese.com 6 months, 3 weeks ago

I was directed to an awesome collaborative learning site by one of my favorite podcasts (School Sucks Podcast, which I should do a separate post about) a few weeks ago.

"Alekese.com is a fresh approach to learning high-tech job skills. You collaborate to build skill maps, and then students use these maps to connect with live tutors or tutorials. Alekese remembers what you learn, so when you claim knowledge of each skill, it color-codes it every time you run into it on the site. If you finish a skill map for JavaScript on one day and then tackle one for AJAX the next, then the skills you've already learned will be colored blue so you'll know to focus on new ones."

Alekese is to classroom education what open source software development is to Microsoft.

My understanding is that current educational methods practiced in classrooms are largely based on techniques invented almost 100 years ago in the Prussian empire. Even if that isn't the case, how often have you seen a text book that was published 30 years ago still in use in a classroom? Imagine if we treated our computers the way we treat our brains: We'd be running MS DOS and staring at black and white text on our multi-gigahertz, multi-gigabyte machines.

Alekese is education for the modern human. It lets everyone share their knowledge and produce trees of dependent skills that combine to define knowledge of a particular area. Think of it like Wikipedia, mixed with a choose your own adventure book, mixed with the combined knowledge of the entire internet.

First, a 30-second overview. The heart of Alekese is the "Tree", which maps out a skill like AJAX or C programming. Trees are like wikis in that you can easily make small improvements to another person's map. Better-yet, you can rip off another Tree by copying it and building on top of it, or import whole sections of another Tree into yours. Each skill on a Tree can connect you to free tutorials and paid tutors. Finally, there's a verifications system that lets you verify another person's knowledge of a skill. It's an extremely flexible framework for learning and teaching.

Why is this exciting? Think about how we learn skills, especially programming skills: There's nothing linear about it. It's a process of iterative research and experimentation. No plain tutorial and no possible lesson plan can ever reflect that kind of learning. Humans are not linear learners -- we are generally only able to effectively learn skills as they become relevant to the task at hand. Here's how this iterative research process looks currently:

Step 1. Read about new skill from a tech blog or hear about it from a friend or coworker.
Step 2. Google it, find examples of it, download something that uses it, mess around with it, and then try to build something with it.
Step 3. If you're stumped, look for a tutorial, blindly hoping you've learned everything it assumes you know before reading it.
Step 4. If you can't find a tutorial that doesn't suck and are still stumped, buy a book that was probably published at least 6 months ago.
Step 5. If you can't learn it out of a book, look for someone who knows this skill and hire them to help you.

This process violates DRY / DIE in 4 out of 5 steps, because of that it is inefficient and rapidly becomes frustrating.

Hundreds of people are independently Googling each new coding technique, and as good as Google is, it wasn't designed to tell you what goes into learning a new skill. Why should these hundreds of people be independently repeating the same trial-and-error search for information that's easy to share in a knowledge map?

Next, tutorials have to assume you know something before starting, but static ones can't tailor themselves to what you do or don't know. When you scan through a list of search results looking for a tutorial, you're spending valuable time processing each one and deciding whether or not it has pre-reqs you haven't learned yet. Then, when you actually select one and go through it, you're spending valuable time figuring out which sections you can or can't skip because you already know them. With a site like Alekese, you can claim knowledge of a skill and it will remember what you've already learned, saving yourself this scanning time.

If you buy a book from a good publisher, then you're benefiting from all the thought that went into it, including an easily-digested list of what you should know beforehand. You're losing out, however, on all of the thought others have put into the topic in the 6 months or 6 years since it was published. And you still waste time deciding which things you have or haven't already learned. Plus you have to spend money and wait for delivery.

Finally, if you use conventional means to find and hire someone to help you with a tough problem, then you're missing out on the wealth of knowledge accumulated by everyone who tried to hire anyone for this skill. If you're using an easily accessible marketplace that supports large-scale verification of individual skills, however, then you're benefiting from all the knowledge others have shared, saving you time and money.

Alekese short circuits all of this by letting you quickly check off skills you already know, figure out what skills are "in the way" of learning your "target" skill at a glance and then find exactly the resources and people you need in order to work your way up to the particular skill you are interested in developing. The site is small now, but it's growing rapidly. What it needs most is people who have skills to build out the Tree directory and people who want to learn skills to validate the content that is already there. It looks like their first major push to get things moving is in programming: they've got an "Alekese.com Coders" Facebook group, I've personally created a C Programming Tree, and hopefully anyone else who reads this will join in -- learning from what's there and contributing their own knowledge and Trees.

Add Comment

Never published
Optional
Optional
Captcha

Apple hands HP a customer; HP fails 7 months ago

This story starts with the release of the Apple iPad, as so many do these days. I saw the iPad and I was completely unexcited. No pen input; limited storage; no general purpose OS; no webcam; in short nothing to make it worth buying. If I wanted an iPod Touch I'd have one. That got me thinking about what else might be out there in the tablet form factor that would suck less.

First I stumbled on the Axiotron Modbook. I'd vaguely hard of this device before, but now I gave it a long hard look. It's a nice tablet in a lot of ways, but it weighs over 5lbs and doesn't have a touchable screen yet. I have a MacBook that I considered converting briefly, but in the end it just isn't a very impressive result with the weak (by today's standards) battery life of my MacBook and lack of touchscreen. Scratch.

Then I saw went poking around Lenovo's site and saw the very nice ThinkPad X200 Tablet. This device was getting much closer to what I'd actually want. Good battery life, especially with the extended battery; touch + Wacom digitizer input; keyboard; full OS, including decent Linux support; optional camera; etc. The problem here comes down to price. A well configured X200T costs about $2000.

Then I found it. I haven't been a huge fan of HP's products in the past, but the HP TouchSmart TM2t is almost perfect. It has everything the X200T has and, with a deal I found, it was available for $1250 including shipping and taxes! I was getting excited about potentially making it a Hackintosh or an awesome Linux tablet. I slept on it and decided I wanted it.

I placed an order on shopping.hp.com, at first getting declined because my credit card's fraud alerts are extra special, then getting my order confirmed. About two hours later, I visited the site to check the status of the order and the most recent order now shows "Declined; Please call". I thought, "Oh, maybe the coupon code I used is no longer valid and it'll cost me an extra $100." I was even willing to shell out the extra. After a few minutes on hold I reached someone who could transfer me to the sales support department and after a few more minutes on hold I spoke to a lady whose name I wish I had made note of.

She verified my billing address and shipping address and name and then told me that my address was a UPS Store and that they couldn't ship to there. I asked why and she said rudely, "company policy". She grilled me about whether I had another address I could ship to, I repeatedly told her that 1) I have a job, 2) my friends have jobs and 3) my company will not accept packages for employees. I asked again why they couldn't ship to the address that I pay for in order to be able to receive valuable packages during the day. She snapped "fraud". I pointed out that they had all of my information and that my billing address was also that address (which they had already authorized against my credit card). Anyhow, I then pointed out that she was about 2 seconds from losing her company a customer and she snapped, "fine". About 10 seconds later she all but hung up on me.

That is how HP lost a customer today; forever.
Edited 7 months ago: HP called me, laugh
So here I am, casually working and my phone rings. To my complete surprise, it's HP. I started to think, "Hey, maybe they're going to make this right and I'll get a new toy!" Sadly, that was not the case. This CS rep was at least polite about it, but she still lied to me and utterly refused to work with me to get the product that I wanted shipped where I could receive it. She told me that FedEX wouldn't ship to UPS boxes, despite the fact that I've had 100s of packages shipped by FedEX to my UPS boxes over the years. I told her that one of those FedEX packages was my Apple laptop. This time I very explicitly reminded her that I have my billing address at my shipping address to avoid this kind of problem. Still, no budging, tried to convince me that I was somehow wrong for not having another address to receive the package at. Wait, that's why I have the UPS Box! Sorry, HP. Lying politely and utterly refusing to serve your customer is not exactly good customer service.

Add Comment

Never published
Optional
Optional
Captcha

Red lights - sometimes annoying, also important 1 year, 3 months ago

Ok, this is just a thought I had this morning, while laying on the pavement being told not to move (I'm fine, I wasn't telling myself not to move)... When you see a red light ahead of you as you travel along a public road, what do _you_ do? I mean I generally slow down and prepare to stop, while simultaneously hoping that it changes to green before I get to it. Unfortunately, that is _not_ what the gentleman whose bumper I found myself bouncing off of this morning did. He instead proceeded to maintain speed and travel into the intersection, wherein my bike and I collided violently with him.

Honda 599: probably totalled

Hip: Bruised and raspberried

Brandon: Sore and roughed up

Brand new Jacket: Broken in, not to bad I don't think

Car: Pretty well smashed in driver's door

I guess it's not the worst timing really -- I just bought a new primary motorcycle... so if the 599 is totalled, it just means that I don't have to sell it, but really... seriously... red lights... they mean something.

I probably would have been able to stop if it hadn't also been raining gently shortly before I was out riding -- just enough to wet down the slippery stuff on the pavement, but not enough to wash it away. Who knows though, red lights... yeah...

Add Comment (6 comments)

Never published
Optional
Optional
Captcha

New-to-me 1995 VFR 750 F 1 year, 3 months ago

I bought a bike! Sadly, it's in the shop now, so I don't have pics of it.

A few weeks ago, Liz moved to a new apartment. As a result, she lives on a pretty big hill. She has ridden pillion on my motorcycle a lot over the months that we've been seeing each other, but going down hill, and stopping suddenly have always made her pretty uncomfortable on my little 599. With her new location, the big hill leaving her place made it noticeably harder to get her to go for rides with me.

Now, I bought a bike, with the vision of one day sharing the ride with a pretty girl, and going on weekend motorcycle trips together and that sort of thing, so this was just the kick in the pants that I needed to actually start looking for a bigger sport touring bike to replace my 599. After poking around on Craig's List and elsewhere on the internets for a while, I stumbled on an beautiful looking 1995 VFR with only 7k more miles than my 2006 599 and Corbin Beattle Bags. After emailing with the owner, we agreed on a time for a test drive and potential purchase and I went about getting a big pile of cash out of my bank accounts.

Yesterday, I stashed small piles of cash all over myself and my bike and armed up (in case of trouble) and headed to the middle of nowhere to check out the VFR. The bike is as pretty as the pictures in the Craig's List ad and runs like new. Well... ran like new... we negotiated a purchase price, and I left a deposit while I went home to drop off my bike and acquire other transportation back to pick it up.

I returned to pick up the bike and we finished the paper work and chatted about riding. The seller was emotional about letting the bike go, it'd been his only bike ever and satisfied a dream he'd had years before. When I was ready to go, it was a tiny bit hesitant to start. I should have stopped and had some think about it, but it did eventually start up fine and settle to a nice idle, so I headed off. At the last stop light before the entrance ramp to the free way, as I shifted down to first, the bike stalled out and refused to even try to turn over.

After some fun with getting the bike over to the side of the road, I inspected everything I could and determined that the battery was completely dead. Charging system fault. The seller had installed a brand new battery 3 days earlier. I called the seller and he said he'd be able to grab jumper cables and try to jump it to get me home, and then I called the nearest motorcycle shop to see if they were open and able to look at it and find out about a local tow that would safely handle bikes.

About 20 minutes later, the seller showed up, with not only cables, but a trailer. We talked about it briefly and decided to just trailer it over to the shop and let the pros take care of it. He was extremely protective of (now) my new bike as we loaded up on the trailer and beyond apologetic about the problems. The charging system must have failed somehow due to being not ridden enough over recent years. The shop didn't have any parts for the 1995 VFR in stock, so I had to leave it there... and then the seller gave me a ride over 20 miles home to Seattle.

I still haven't heard from the shop about the exact problem and the damage, but TBH it's no big deal; I was planning to have the charging system checked immediately upon getting the bike home, because older VFRs frequently report problems with it. I'm just amazed at how far above and beyond the seller went to take care of me. Best Craig's List buying experience ever. Best used anything buying experience ever. I can't wait to get the bike back and enjoy the new ride. Not really looking forward to selling the 599, both because I have a lot of cleaning up to do on it first, and because I'll miss it; it was my first bike, and it gave me a lot of good miles in our 3 years together.

Add Comment

Never published
Optional
Optional
Captcha

DIY Kensington + MagSafe 1 year, 3 months ago

Since I got a MacBook Pro for work, I've been annoyed that I only have 1 power adapter for it. I have a couple of MacBook ones, but I don't want to use them with the MBP. I have a Kensington 120W Universal Air/Car/Home power adapter, but unfortunately, they don't make a magsafe smarttip for it. The Googles told me taht I could make my own, so I followed this guide to make a magsafe cable for it. It works! Probably wastes some juice as I have it run at the 18.5V max magsafe voltage all the time, but it works and means I don't have to another Macbook Pro adapter.

Add Comment (2 comments)

Never published
Optional
Optional
Captcha

ZFS snapshot backups 1 year, 4 months ago

So I've long had my little Backups Blow backup script/system for backing up general files and directories on *nix over ftp|s3|ssh|nfs. My world has changed somewhat since I created Backups Blow, and I now have a MacBook, a MacBook Pro and an external hard drive that I want to back them up to. I have my home directories and other files I want backed up stored on ZFS, but needed a script to handle regularly backing up snapshots.

Also, since I created Backups Blow, my scripting language of choice has changed from Perl to Python. All of this has led to the creation of ZFS Backups Blow, which for now is just a single little Python script which I have stuck in the Backups Blow git repository.

Why is this little script of mine worth sharing? Thanks to the magic of ZFS snapshots, with this short script alone, you get a flexible backup solution. What it doesn't handle so far is removing snapshots from your backup medium, but for my personal purposes, that isn't a huge concern (the backup medium is considerably larger than the media being backed up). What it does handle so far is: Rotating backups on the source medium, keeping the current and one previous snapshot (this allows for incremental send|recv, and recovery from "oops" mistakes); uniquely named, by timestamp, backups on the backup medium; recursively backing up from any depth of your ZFS hierarchy (ok, it doesn't actually handle doing it in a non-recursive manner at all); minimal, not very smart detection when to do a full send and when to do an incremental; and a decent amount of "am I behaving sanely" checking. The known bugs in the script at this point are failure handling. Behavior on a failed sanity check is less than ideal.

To use this script, read the script, then set the variables at the top and stick it in your crontab, or (on OS X) use a launch agent.

Add Comment

Never published
Optional
Optional
Captcha

Probabilism Part 2 1 year, 5 months ago

Add Comment

Never published
Optional
Optional
Captcha

Food and my latest project 1 year, 8 months ago

Thanksgiving in Chicago was fun, the food was fantastic. Which reminds me, you should check out Foodista. It's a pretty cool wiki recipe/cooking site.

Also, after discovering Survival Straps and a related Instructable, I've started work on my own design. Eventually, I'll either blog or post on Instructables how to recreate my creation.

Add Comment

Never published
Optional
Optional
Captcha

Child labor laws are evil 1 year, 9 months ago

U.S. Child Labor Laws are Child Abuse
by Wendy McElroy

When I was sixteen, I ran away from home and lived on the streets for as short a period of time as I could manage. I did not turn to prostitution or to drugs; I was lucky. Not in avoiding paid sex and substances -- these were deliberate choices. I was lucky to be sixteen and, so, able to legally support myself. If I had been two months younger, child labor laws would have forced me to beg or do far worse in order to survive.

Excellent article. This is why both child labor and minimum wage laws _hurt_ the very people they are supposed to help.

Add Comment

Never published
Optional
Optional
Captcha

I made a YouTube! 1 year, 9 months ago

Add Comment (3 comments)

Never published
Optional
Optional
Captcha
<< older entries
"You give me Governor Ventura, myself and eight more of my fellow Navy SEALS -- and we could paralyze the entire country of the United States of America" --Richard Marcinko
Google
 
© 2002-2010 Brandon Low 97541 hits since April 21, 2007