2014-08-16 01.04.29

Nooner at the Nat

Yesterday, we had a company outing to a baseball game at Nat Bailey Stadium (Vancouver Canadians vs. Everett AquaSox).  I believe this was the first time I have watched a sports game in person, so it was quite exciting even though it wasn’t MLB.

The first few innings weren’t really interesting with quick outs.  Vancouver finally scored a few runs to win the game.  Watching in person has its benefits and drawbacks.  The benefit is that you get to see everyone on the field, but the drawback is that you’re confined to one viewing angle.  The TV definitely offers better angles during the pitch.

This reminded me of when I played baseball many years ago.  I played a couple years of little league baseball at the local community centre when I was in grades 2-5.  It was both a fun and frustrating time.  In my last year, I was the main pitcher on my team and that was definitely fun.  It was frustrating because I was a horrible batter.

More Detailed Wi-Fi Info on Mac OS X

Wi-Fi Detail Menu
Option-clicking on the Wi-Fi icon in the menu bar brings up additional information about the Wi-Fi network to which you are connected.

The option button can be used to reveal hidden options and information in various places around Mac OS.  One example of this is if you option-click the Wi-Fi icon in the menu bar, you will be presented with additional information about the network you are currently connected to, including the type of the Wi-Fi you’re using, the base station’s MAC address, the frequency channel you’re on, and the strength of the connection, among other details.  In addition, there is an additional option to open Wireless Diagnostics which might be able to help you with Wi-Fi issues (however, in my experience it doesn’t really give useful information).

Network Utility

Network Utility on the Info tab
Info tab in Network Utility

An additional tool to help debug network connections is a neat little utility called “Network Utility” that comes bundled with Mac OS X.  You can find it in the Utilities subfolder in the Applications folder, or just use Spotlight to find it.

This utility provides a friendly interface for many tools that are commonly used on the command line for network debugging, such as ping, nslookup, traceroute, whois, and finger. An interesting tool though is the last tab: Port Scan.  Yes, Mac OS comes with a port scanner bundled with it.  Obviously one would hope that the port scanner be used for diagnostic purposes and not malicious purposes.

Some things I think leaders should do

A couple of days ago, while surfing Hacker News, I saw this Quora article entitled “What are common mistakes that new or inexperienced managers make”.

Most of the answers are geared towards managers in companies, in particular, tech companies. However, as managers are leaders, I think that some points can also be extrapolated out as tips for leaders in general.

In the past few weeks, I’ve been involved in ramping up the volunteer council of the YLM program this year, and I was able to spend some time reflecting on different leadership styles.  Based on my personal experience in different roles at work and the groups that I volunteer with, the following points from the article resonated with me in particular.  I think are easily applicable, but not limited to, a volunteer setting. (These generally correspond with the order of points in the first answer in the article in case you want to read in more detail)

  • routinely giving constructive feedback and affirming team members in a timely manner
  • recognizing team members that perform well
  • knowing the strengths (and weaknesses) of your team members, and what their expectations are
  • push team members to further develop themselves
  • create opportunities, and actively seeking people that would fit
  • optimizing processes (lowering the time doing overhead and administrivia, increasing time doing productive work of value)
  • ability to say ‘no’ if the team cannot handle it
  • giving credit to the team members
  • taking blame for the team

Obviously this is not a comprehensive list of what leaders should do, but just a summary of points from the Quora answer that resonate with me.  In fact, I don’t think that any of the above points relate to the core task of a leader (guiding a team to accomplish a goal), but instead are things that differentiate a leader that just gets the job done with one that develops the team itself.

If you have any other thoughts about this list or leadership qualities in general, let me know in the comments.

FreeNAS and ZFS

Since I built my home server back in 2012, I’ve had a FreeNAS virtual machine running on it as the file server of my home network.  For the past two years, I’ve been using it for the simplest of tasks (serving files).  But over the past week, I’ve started looking deeper at some of the cool things FreeNAS and ZFS can do.  The descriptions of each of these are going to be brief; they can probably be expanded to a full blog post, which I may do if I have time.  However, until then, if your interest has been piqued, you will have to do some additional research on your own.

FreeNAS web interface
One of the configuration screens on the FreeNAS web interface

First, let me briefly introduce what FreeNAS is.  FreeNAS is a system based on FreeBSD that primarily provides a network-attached storage (NAS) service for your network.  It uses the ZFS file system, which as you’ll see in a bit has quite a number of interesting features.  FreeNAS comes with a web interface where you can easily configure everything.

So with that introduction out of the way, let’s get into FreeNAS and ZFS!

CIFS, AFP, and NFS

In English, FreeNAS supports file sharing with Windows, Mac, and *nix computers. That was a pro for me because I have all flavours of operating systems on my computers at home.

The support for AFP (Apple Filing Protocol) includes Time Machine endpoints, which is something worth discussing in its own section below.

Networked Time Machine backups

It’s easy to setup Time Machine on your Mac using an external hard drive. However, unless you actually plug the drive in, there’s no backup opportunity.  For me, sometimes I use my computer in my living room, other times in my bedroom.  Sometimes my backup drive isn’t where I am working and I’m too lazy to go get it.  There must be a better solution.

If you’re willing to spend a couple hundred dollars for an AirPort Time Capsule, it will allow you to make backups over the network, even over Wi-Fi.  I actually bought one to try, but I returned it within a week because what it did really didn’t justify the cost.

Fortunately, FreeNAS has the option of enabling Time Machine endpoint functionality on AFP shares.  Now, whenever I’m at home within Wi-Fi range, my Mac will automatically make Time Machine backups.  Hands-free backups!  Awesome!  And with multiple Time Machine targets in OS X Mountain Lion, I’m able to have a backup to the NAS as well as a backup to an external drive whenever I get that plugged in.

Time Machine
My Time Machine configuration

One note is that networked backups are somewhat more finicky. The backup target gets corrupted more often than the one on the external drive.  However, I’ve noticed using OS X Mavericks and the latest FreeNAS builds that generally it is a lot more stable than when I first configured it.  Mostly, remembering to stop any current backups before turning off the computer will reduce the chance of corruption.

For more information about this, check out the following links:

Snapshots and replication

Now let’s talk about some of the features of ZFS, which FreeNAS nicely gives us access to through the web configuration.

At some point in time you may want to ensure that your data on the NAS is backed up at a remote location (because even the most complex RAID setups won’t save you in the case of a fire or flood).  This is where snapshots and replication comes into play.

ZFS snapshots are light weight and only store changed blocks.  This means that they are fast (don’t require downtime) and don’t take up much extra space on the disk.  Then, snapshots can be sent to another host with a ZFS volume over SSH.

FreeNAS’s web interface makes setting up automatic snapshots and replication very easy.  In addition, the replication target is quite flexible because all that is required is a host that has ZFS and SSH.  That means, it’s not necessary to be locked in to using a FreeNAS system as a replication target.  In fact, using packages from ZFS on Linux, most 64-bit Linux distributions can be used as replication targets.  I went with Debian as that was the easiest to setup for my particular case.

For more information about this, check out the following links:

FreeNAS plugins

I came across the plugins last week when I was diving a bit deeper into FreeNAS.  I haven’t explored this fully yet.

FreeNAS is primarily a file server.  However, as it’s a computer that’s almost always running, it makes sense to have other services run off of it so that a separate application server isn’t necessary.  This is where plugins come in.

The list of plugins is available on the FreeNAS wiki.  There is also an article on installing the plugins.

The plugins that I’m interested in are btsync (BitTorrent Sync), owncloud, and the media plugins.  Right now, I have a separate virtual machine that serves these applications while storing the data on the NAS.  Using plugins, this extra virtual machine may not be necessary!

Final comments

If you take a look at Wikipedia article on ZFS, there are a lot of interesting features in ZFS.  It supports its own type of software RAID to protect against drive failures.  It’s possible to encrypt and compress data sets as well.  This is just scratching the surface on what ZFS can do.

ZFS is a robust, reliable, and practical file system to be used as network-attached storage.  Combined with the web interface provided by FreeNAS, this functionality is able to be unleashed for usage in diverse environments.

Are you using FreeNAS or ZFS in an interesting configuration?  Have other tips for other users?  Post your ideas in the comments!

Dennis' little corner on the big big internet!