"Climb every mountain." -Yvon Chouinard
"Climb every mountain." -Yvon Chouinard
In yoga class today, Dave mentioned that Shavasana is a practice in helping you deal with and accept distractions around you. I always perceived this as passiveness: not acting when something might aggravate or encourage you to. But instead it is more like focus, or selectiveness: the ability to accept those things which you choose not to focus on so that you can focus on the things you want to.
In Shavasana, it’s accepting the noises of people leaving and the desire to get out of that room so that you can focus on breathing. In the world, it’s accepting the noise of the man talking behind you so you may concentrate on your assignment.
This was meant to be a quick warm up, but it turned into a comic that I’ve wanted to draw for a while. This is something that is extremely important to me, and I appreciate it if you read it.
A while ago, I heard a story that broke my heart. A family went a cat shelter to adopt. The daughter fell in love with a 3-legged cat. The father straight up said “absolutely not”. Because he was missing a leg. That cat was that close to having a family that loved him, but the missing leg held him back. Why?!
Many people have the initial instinct of “nope” when they see an imperfect animal. I get it, but less-adoptable does NOT mean less loveable. 9 out of 10 people will choose a kitten over an adult cat. And those 10% that would get an adult cat often overlook “different” animals.
All I want people to do is be open to the idea of having a “different” pet in their lives. Choose the pet that you fall in love with, but at least give all of them a fair shot at winning your heart.
Don’t dismiss them, they deserve a loving home just as much as any other cat. They still purr, they still love a warm lap, they still play, they still love you. Trust me, next time you are in the market for a new kitty, just go over to that one cat that’s missing an eye and see what he’s all about!
For the Machine Intelligence course I am currently taking, my group has decided to build a salary prediction system for internships, allowing interns to present competitive salary requests based on the context of their employment and employers to offer competitive offers.
We collected ~30,000 rows of data across ~15 attributes for training, validation, and testing. Unfortunately, the data was mostly user-generated, and thus filled with discrepancies, errors, and null-values. Unfortunately, consistency in values is crucial for categorical systems.
I had read of Google Refine from a while back from Nathan Yau’s Visualize This, yet never had the opportunity to try it out, so I decided to give it a go. OpenRefine is an ex-Google project which focuses on making data cleaning easier. It’s a desktop app but is completely web-based. Google has since handed the project to the open-source community. I had some trouble getting it to run on OSX Mavericks due to my security settings, but a quick Google search got me around that and into the app.
Google Refine has you create projects, which is a data set and the actions you perform on said data set. Google Refine accepts a variety of common data formats (CSV, Excel Spreadsheet), and lets you customize the import settings when bringing the data in.
Once the data set is uploaded, you are given a table-based interface, where you begin work. The most notable feature is the facet and filter capabilities, which allow you to select groups of rows based on common column values and perform group edits - a task that seems simple, yet is that much easier through Refine’s workflow. You can also make complex edits on rows, based on it’s value and other row values in Google Refine’s own expression language or Jython (AKA Python). You can even setup an API call template that it will run to populate a row!
The most useful tool for me was clustering feature, which offers a variety of clustering techniques you can run on a column in an attempt to help you group similar (string) values. For example, a company listed as ‘Google INC’, ‘Google Inc.’, and ‘Google’, should be the same, and clustering lets you find these groups and unify them. This turns a data cleaning nightmare into a very satisfying process.
Once you’re done, you can export the data (or subsets of the data) to a variety of formats and go on your way. Refine also lets you export and import your actions in a JSON structure, Which is beneficial for performing similar steps on different projects, or sharing your process with others.
Google Refine saved me a ton of time working though the data set. Although everything I did could have been done in Python or Pandas, it was much nicer working through an interface. For some reason, working with CSV files caused me a lot of trouble and I found that importing excel sheet formats was much faster. All in all, an excellent tool that is worth checking out if you have any sort of data analysis or exploration to do.
We wanted to say congratulations and thank you to the winner of our referral contest: Myles Tan! Way to go dude, check your email! We appreciate the goodwill and look forward to meeting you in person. Also, a huge thanks to all of the friends that helped Myles out (hopefully you get to try out…
Sweet! New hangboard! I’m so excited for The Hub to open up in Markham, It will explode the climbing scene in the northern GTA with the availability of some serious climbing space.
See you all at The Hub!
A crosswalk in central Germany seeks to both inform and entertain pedestrians waiting to safely cross the street.
— Jane Roberts, Seth, "The Nature of Personal Reality" (via meditationsinwonderland)
Myles Tan developed an app to enter the locations of bike racks at the University of Waterloo, so the data can be added to the UofW Open Data Catalogue. | Waterloo Region Open Data Day Event | #ODD2014 #dataWR | Video on Archive.org
The prototype is available at mylestan.github.io/MapManual :)
Today I went down to KWartzlab in Kitchener and participated in KW’s Open Data Day 2014. It was a great opportunity to meet people from the local open data community.
There were some great project ideas thrown around: my favourite being an app that let you find the cheapest place to eat nearby, for the more budget-restricted folks in the KW area.
I was initially going to add all of the bike rack locations at the University of Waterloo to the uWaterloo Open Data API. I then realized the monumental task of manually creating that data set, and while watching those around me go through that process for their own projects, I decided to prototype a tool that would help make that easier.
It’s called MapManual. The prototype is available here and the code is on my github. The prototype is simple: click a location on the map to define where the feature is, add the attributes, and add the feature to the list. When you’re done, download the features as a CSV file. I hope the tool helps make the process of creating geo-datasets more efficient.
I’m hoping to get some great feedback on the value of a tool like this. Maybe it will grow into something great, who knows!
It’s done. 6+ years are done. And I’m kind of confused as to what to do and where to go now.
There’s a few distinct memories I have of my...
I would have kissed you for forever
Between the tomatoes I begged you to eat
The rain and the mud held us close
If only you believed...
Are tattoos from the lightning god Thor.
I AM THE CHOSEN ONE.
It is sadly too often that we hear of a star or celebrity who struggles with mental illness or addiction....
Note: I actually have a song I’d like you to listen to while you read this, if you intend to, it kind of helps to set the background.