I went for a little trip to Adelaide with my wife for Valentine’s Day, so it was a short week last week – I have to say, I really like Adelaide: People are friendly, stunning landscape, beautiful architecture, excellent food, no ‘Sydney prices’ – and we were there for the opening night of the Fringe Festival. What’s not to like?
Solving My Polynomial Time Dilemma
Last week I mentioned I had to change how I do things with my alternate product recommendations project due to the brute force nature of my approach. The problem was that comparing each item with every other item using a neural network (Word2Vec) led to a polynomial time solution. So how can I solve this? I was reflecting on this problem for quite some time and I was on the train conducting a thought experiment when I think I came up with a solution: map everything to a graph topology. Normally, when considering a graph we treat nodes as a homogenous ‘kind of thing’ and edges bind them – instead I am considering nodes represent ‘products’ and nodes also represent ‘attribute-values’; the edges should be the connections of ‘attributes’ to ‘things’ – with multiple connections;
[Thing 1] -> [Colour:Black] <- [Thing 2]
This means two hops on the graph should get me related products from any given product. Better than that, I should be able to use fast node connectivity approximation algorithms to find related items. I found the NetworkX Python graph library when doing research for the solution. So I will give this a try. It looks quite promising.
I discovered another great Python library last week trying to solve a different problem – it’s called Beautiful Soup. This brilliant little library helps to parse and navigate web pages (amongst other things) and I was up and running with a proof of concept in an afternoon (as I was rushing out the door to go to the airport!)
Videos I was watching this week…
Last week I started working on prep for team performance reviews. I kind of resist doing these as I feel like I intuitively know how everyone is doing, yet, it’s a great way to reflect together and see how far each team-member have come, and to plan a course together for the next quarter that is aligned to our bigger strategic plan. Lesson: Don’t resist! There is a big difference between intuition and a meaningful connection.
I have read enough John Maxwell to know better!
February is conditioning month!
I broke a toe a couple of weeks ago and it seems like it has affected my Achilles tendon as well – so how do I deal with pain? Read on…
Conditioning training in Karate is an interesting mental exercise: while it causes physical pain, it builds a deep sense of control over one’s self at every level.
Especially since I was already in pain, there were many emotions that came to the surface as I went through the exercises – individually and with a partner. The answer was to just breathe through it and let go…
Mushin no shin – “mind without mind”.