Sunday, May 24, 2015

Because I Want To

Last week I asked +John Calvert if he could share how he created his advanced book review site. I wanted to get an idea of how to tackle putting together a summer reading list web page for the #CdnEdChat website, and his Education on Air session was an amazing start.

We had the hangout on air, and I learned some great features and one very simple solution to a problem I'd been solving the hard way. I was able to quickly get the basics sorted, using John's model to put together my own version, but I decided on a few features I wanted to incorporate.
Image: Wikimedia Commons

Why?

I showed my brother, who asked me a poignant question: "Why? Aren't there a bunch of sites out there that do this better?" It's true, there are, but that's not why I did it. I'm not interested in reinventing the wheel because I think I can do it better. I'm confident I can't. I did it for a simple reason.

Because I'm Curious.

I wanted to find out if I could. I wanted to solve all those little problems. I wanted to play with it, and see if I could make these tools, which are certainly not designed for this purpose, and aren't as powerful as a dedicated database platform, do what I want. It's the same reason I like to undo the screws and break the warranty sticker on things. I want to know how it works.

Do we ask our kids to be curious?

How much of an opportunity is there for our students to be encouraged, supported, and empowered to follow their own curiosity? Do we offer them the time and tools to really dive deep into a problem, explore possible solutions, and persist until they understand? Are we teaching our kids to follow their passion and learn, or are we teaching them that learning has nothing to do with passion or interest? I do this kind of work because I find it interesting. It's a challenge for me, and I enjoy it. I don't get things working exactly right, and it takes me a lot of time to solve those small problems, but I like solving them.

Are we showing our own children that life can be enjoyable when you build curiosity and persistence? Or are we building a culture where we expect others to take care of things for us, and where we're satisfied with things that are "good enough?" I hope not. 

Because "Good Enough" isn't good enough.

Tuesday, May 5, 2015

Hey #PLN, I Need Your Help



Here's an email I sent to the trusted tester group of the birdfeeder add-on:
Hi everyone,
tl;dr - I don't want your money, I just need you to click on a star one time.
So I've been hacking away, trying to figure out a work around to get Birdfeeder to work at a rate better than one-tweet-per-hour. This is the limit imposed by Google on how often an add-on can trigger. Suffice to say, it's not easy to get around!
I didn't anticipate this problem since the documentation isn't clear about my specific use case. The limits when I'm writing and testing code are less restrictive than those placed on the exact same code when it's used as an add-on.
This is where I need your help. I've submitted a feature request to allow users to create triggers in an add-on subject to the same restrictions placed on triggers in the script editor. If all that is gobbledegook to you, don't worry. To support my request, all you need to do is click on this link and star the issue. We can tell Google that we want this!
Thanks for helping me with this. It's been a huge disappointment to me that the add-on is practically useless.
In the meantime, you're still welcome to use Birdfeeder, but just make sure that you enter an interval of more than 60 minutes between tweets. I know, I know, what's the point? Well, you could put it out on social media that we want this restriction changed! :)
Thanks again,
James
I'd love to get your help on this. By clicking on the star, you can indicate to Google that this is something we want as a community. I'm still working on a hacked work-around, but it can't hurt to click on the star, right?

Sunday, May 3, 2015

Sixty Bucks for a Better Internet

Warning: there's a high level of technical hardware geek-speak in this post. Skip to the last section for the good stuff.

A bit of history

I've been using my old TP-Link TL-WR740N routers for about four years. Yes, I said routers, plural. Part of my home network involves having multiple access points so I can move from room to room and my devices will automatically switch to the signal with the best strength. This approach wasn't bad, and at about thirty bucks a piece when I bought them, it was a cost-effective means of putting together a reliable home network.

I use the DD-WRT open source router firmware on my devices, and it's incredibly powerful. All sorts of awesome settings and advanced features. That means I can have many routers (at one point I had as many routers as there are rooms in my apartment), using one main router to distribute IP addresses and network connections.

The Problem?

This is actually fewer networks than I usually see.
My apartment building is built with concrete walls. Great for structural integrity, but not so good for WiFi connections. Compounding that is the sheer number of WiFi networks competing for space. Think of it as rush hour - so many packets of information all competing for the same bandwidth operate in a similar fashion as cars competing for lane space. Even with my networks on the less popular channels, I was still getting slow connections.

I finally decided it was time to take action. My tech situation is different from when I purchased my old routers: I have many devices that support 5GHz WiFi now, so it was time to upgrade to better network hardware. There were a few things I wanted to check before I made any purchase:
  1. It has to be low cost. I wasn't interested in dropping a hundred bucks on a router just to see faster connections.
  2. It has to support DD-WRT. I've gotten accustomed to a certain level of control, and going back to stock firmware isn't an appealing option. This also ensures that it will work properly with my existing hardware.
  3. It has to be dual-band. Not all my devices support 5GHz, but to get to the area of the wireless spectrum with less traffic, it's gotta be 5GHz.
  4. The device needed to use the Atheros wireless chipset. Again, this was to ensure full network compatibility with my other hardware, but DD-WRT has some limits when run from the Broadcom chipset.

My New Device


I settled on another TP-Link device (since I've found they're really quite good, and very cheap), this time going with the WDR3600. A few factors influenced my decision, listed in order of importance.
  1. It was cheap, at around $60 CAD. 
  2. It supports DD-WRT. You can find out if yours does by visiting their router database.
  3. It got good reviews.

Protecting my Network with OpenDNS

One of the things I discovered during the flashing and setup process was that I can use the free OpenDNS Family Shield DNS servers to block access to inappropriate sites. This is a great feature, since my two children are starting to spend more time on devices. It was pretty easy to set up, and with the advanced control of the open source firmware I installed on my router, I can force all network traffic to use the filter. Check out instructions at this link.

The Result

My new network, all alone!
Faster, more reliable connections throughout my apartment. Secured access for my children. A bonus network-attached storage device I can access from anywhere in my local area network. The biggest hassle was remembering all the devices I needed to adjust to connect to the new network.

At the farthest point in my apartment from my new router, this is the signal strength. It's not bad, and with three concrete walls between the access point and my phone, I'm pretty happy with the result.

Next Steps

I still haven't shut down my previous network. I'm running two (actually, three) networks concurrently. I'll be tweaking settings here and there, and once it's exactly how I want, I'll shut down the old network. I also want to set up configuration for a guest access network, with restrictions on throughput, so when my friends come over I can share something with a less-complicated access key. I'll be able to turn it on and off at will, so when no guests are over, the network will be disabled.