Todayâs office mate is very happy I am back from Denver.

Category: Programming đĽď¸
-
-
A good read on the importance of recognizing the right tool for the right job.
‘But didn’t you write an embedded OS?’ â Huan Truong’s Pensieve
-
so long and thanks for all the fish
There was a point to this story, but it has temporarily escaped the chronicler’s mind
– Douglas Adams
by now some of you may have noticed that you haven’t seen much of me lately. some others of you may have noticed that you have seen much more of me lately. finally others still will be surprised that they had forgotten about me completely but are happy that they find themselves reading my post so they can catch up on what I am doing.
two weeks ago I was offered a full time position as a developer with Ping Identity. I started less than a week later and have been tackling interesting challenges pertaining to online identity management since (also attending a lot of training).
the last two weeks have also seen me move to the Halifax area because I am working in the downtown core. so if you have found yourself wondering why you haven’t seen me around, this is likely because I no long live in the valley. alternatively the reason you are seeing more of me may simply be because I am living closer to you.
so here is to the next chapter, a fresh canvas, a new adventure. to those who were integral in the last chapter, thank you for your efforts. to those of you who want to remain crucial supporting characters, the best of luck. finally, to those of you who will be participating in this new adventure, brace yourselves and god speed.
Anything that happens, happens.
Anything that, in happening, causes something else to happen, causes something else to happen.
Anything that, in happening, causes itself to happen again, happens again.
It doesn’t necessarily do it in chronological order, though.– Douglas Adams
-
the ghost in the machine
as I moved my old posts to the new site I was struck by just how long it has been since I posted anything at all. if you knew where to look online you could confirm that I continued to exist, but it wasn’t readily apparent. I have had a number of interactions in public recently that have followed a simple script
<them>Woah! I haven’t seen you in years
<me> Yeah… I exist now and then
… spend an hour catching up …
<them> I hope to see you again soon
<me> hopefully it won’t be so long this time.
given that I am not actually a ghost, what has happened in my life that makes it appear that I only exist now and then? the short answer, I am doing a master’s degree in computer science full time and am completely wrapped up in my school work.
the longer answer makes up the bulk of this post. when I applied to do my masters I had every intention of working in the human/computer interaction field, but instead I have found myself pursuing machine learning. during the winter semester last year I took a course about machine learning and discovered that it is a field that connected well with my experiences teaching and working in online education.
so what is machine learning? often I will describe computer related work as “black magic” rather than trying to communicate the details of the work to people that don’t understand it. machine learning is a process where, even knowing all the details of the implementation, I am left believing it is some form of magic. in practice machine learning is the process of solving classification, categorization, or identification problems by training a system with some example data, and then introducing an unknown dataset you want to work with.
you might think to yourself, that seems kind of boring or pointless. trust me, it isn’t. everywhere I look in the media I see mentions of “big data” and “cloud solutions”. these are leveraging machine learning techniques to identify potential customers, treads you might be interested in, or how you will spend your money.
for the final project of the course I took we were presented with a dataset of short camera reviews collected from the web. of the ~45000 reviews in the dataset 2000 of them were labelled as “Pro” for a positive review and “Con” for a negative review. the remaining ~43000 reviews had no label at all. the goal was teach a machine learner from the small set of labelled reviews and have it identify the rest.
some of the training reviews
Pro “Very versatile”
Pro “great picture quality”
Pro “small, simple, cheap”
Pro “Compact, Lightweight, Easy to use, Good for use with little kids, No wasted film, Preview pictures and delete ones you don’t like”
Con “Battery hog, missing ac adapter and charger”
Con “Close-up capability”
Con “Menus are small.”
Con “Technology is still expensive, disks can be filled fast too, user needs a computer to get all the benefits”
as you can see there is a lot of variety in the training examples. some are lists of words, some are full sentences, some are short, and some are long. for the project I created a neural network and trained it using a technique called backpropagation. coming into the problem it seems like it would be quite difficult to determine intentionality from text alone, especially when the samples are all over the place.
instead I was shocked at how well my software could learn to identify intentionality in simple sentences. below I have included some examples from the unlabelled set along with the classification my learner gave them
Pro “Great resolution, versatile, zoom capability”
Con “It is just a bit noisy”
Con “battery usage high, availability of accessories low”
Pro “Portable size and great picture quality!”
Pro “reasonable price; user friendly camera”
Pro “The price!”
Con “CAN’T HEAR ON THE EARPIECE”
skimming through the ~43000 there are definitely some that it classifies incorrectly, but generally I found myself agreeing with the conclusions the software came to. it is truly a strange experience to write a piece of software from scratch and have it accomplish a task like this. everything that happens is something that I explicitly told the program to do, and yet the output is more than the sum of what I put into it.
after completing the project I couldn’t stop thinking about communication mediums and human ability to determine intentionality. the idea that humans communicate more non-verbally than verbally is an old one that is often dragged out to admonish the future generations for too much texting and technology. in my experience it is largely true that people have a hard time determining intent in text only mediums and from this I suspected a machine learner would struggle even more. instead I found that the necessary information is contained in text alone, but we likely haven’t learned to identify it.
I think there are a lot of interesting lessons to be learned about people in the process of teaching learning to computers.
-
an update! no way!
after a long hiatus I have made strides towards resurrecting website and turning it into something functional. for too long it has been in a half completed state of disrepair as a result of my choice to use it as a learning opportunity.
I recently concluded that I need my website to not be a project, but instead a tool that will enable me to explore ideas related to other projects and events in my life. as a result this iteration of my website is a wordpress install that I will modify to meet my needs. sometimes reinventing the wheel just isn’t a productive avenue.
as the header states I plan on writing about teaching, programming, and communicating ideas more generally. over the last few years these have been the subjects that have remained consistently relevant and interesting through life changes. I have also brought along the old posts I wrote, primarily for my own benefit. looking through them inspires some interesting reflection.
-
go make something
at some point in my life the word creative became a synonym for the arts. or at least creativity as an ideal has been appropriated by the arts. now I am not suggesting that they are abusing or misusing the word, more just hogging it. or rather that the rest of us have forgotten that we have just as much claim to creativity as ‘artists’ do.
for the better part of my life I knew that I was a ‘smart’ student. math and science always came easy and when directions are laid out in front of me I can follow those. however when ever I was given free reign to be artistic I would manage but not excel like other subjects. this lead me to believe for a long time that I was not creative and that creative things should be left to others. recently I concluded that I simply had no idea what it means to be creative and that is why I get lost, not because of a lack of creativity.
as a math teacher the most common statement I have heard from students is ‘I don’t have a math brain’ or ‘I just can’t do math.’ both of these statements are foolish for a number of reasons that are tightly linked with ideas of creativity. describing something like math (or any other skill) as a process where you take numbers and plug them into formulas that you have memorized is like describing painting a portrait as simply identifying colors and applying the brush strokes you have learned in the correct order. any artist will tell you there is more to painting something than a rigid formula describes and I would suggest the same is true of math or problem.
at work I spend a lot of time doing user interface design. there is an old saying in computer science that programmers should never be allowed to design the user interface and I have to say there really is a lot of truth in that saying. computer scientists are really creative when it comes to solving problems and implementing solutions in creative and efficient ways but things like UI design often fall into the category of ‘it is a feature so there should be a button for that feature.’ no thought is given to ideas like ‘does the user ever need that feature exposed’ or ‘why in the hell would a user ever need to see that!’ in my case the work I do is seen by students and professors, two groups of people who can be immensely intelligent in their chosen field but for the most part are clueless when it comes to computers. I have to spend my day coming up with creative interfaces that convey meaning and intention while remaining simple and easy to use.
conveying meaning and intention is a lot of what being creative is about. efficiency as well plays a big part of creativity usually. whether it is efficient use of space and resources, or use canvas and colors both art and unart (in this discussion that includes all things that are not consider ‘artsy’) share underlying principles. creativity isn’t a scale of not creative to more creative but instead it is a tool that can be used in any aspect of life.
go and make something, be it a work of art or a rocking spreadsheet for a tps report, just be creative.
-
chalk dust
So this week I decided to update the visuals of my blog, this is not news of course as I have mentioned it before in a previous entry. What is new is that I used to have a very primitive set of analytics data built into my blog and as part of the refresh I took the opportunity to say ‘Hey! Lets make this more robust so I know even more about the people that come to my blog.’ Well that was all well and good but it just ended up creating hours of work attempting to get the site online and working. I eventually did and all was swell.
That is until today when my friend Ryan linked to my blog and I said something about no comments. Hmmmm I thought, I am positive there were comments. The more robust solution I had resorted to was in fact an even greater hack to my blogging software than the previous one and it managed to take down the entire comments system along with all the lovely comments people have left.
My instant reaction was ‘OH NO!’ But then I thought about it for 3.9824 seconds and realized that it really doesn’t matter at all. I often think, talk, write about how we shouldn’t cling to the past because then we aren’t present in our own lives and miss out. So after another 10 seconds of thought I realized exactly what the solution needs to be. I don’t need analytics about my site. If you feel that you want me to know that you were here or that I know you exist then you will make that clear, either in a comment or through some other means of communication. Anyone that has ever used analytics about a website knows just how addictive it can be, and for no reason other than ego. It is weird the affect that it has on people.
So here we are with a clean start. Not in the traditional sense, what with all of my old entries still around, instead it is just a clean start in terms of what you my peers/readers/online stalkers want to say to me. Too often we hold on to things that are of an infinitesimally small value. Take the picture above. That is a stick figure batman that a coworker drew on the whiteboard on my door. It became a part of a year long running joke between us until one day someone erased him to leave â of all things â a note for me. We weren’t very impressed at first because so much had gone into the little guy. Was he important? At the time, probably. Later on? No not at all, in fact I had forgotten all about it until I found the picture I took.
Do we need to purge things from our lives more often? Especially if we don’t want to?
-
Anyone care to follow down the rabbit hole?
