Back in April I was invited to give a talk at the Lancaster University Postgraduate Research Conference held at the university. The room would be full of PhD candidates and other postgraduates, so I wanted to give a talk that would have been helpful to me when I was at this stage.
I know the main thing worrying me at the time was about my options and if academia was right for me. I didn’t really consider that industry would be interested in my skills or if they even applied.
I was wrong about that, so I wanted to make sure the students in the room knew it was an option for them.
Here’s the video of the talk
Top 3 things to take away:
Time and project management skills learned during the PhD are incredibly transferable to any other role you choose to pursue.
A PhD is all about communicating complex concepts into understandable language. This puts you at an advantage within industry as you can quickly and efficiently spread your message.
The skills you’ve picked up by finishing a PhD are valuable, rare, and sought after outside of academia.
If you’re interested in transitioning from your PhD into industry, I’m happy to advise. Please email me at carl at heinventions dot com or DM on twitter @carlc75
It was everyone’s first time playing DnD, including mine so there will likely be rookie DM and player mistakes. We were all work colleagues from Lyst (@MakingLyst) and spent 3-4 hours in our canteen playing.
The whole night has fantastic fun and we will be continuing the quest to find the Mine of Phandelver in the future.
@StevieBuckley as ‘Iron’ Mike Baggins – Fighter, Folk Hero @Maciej_Kula as Blane Kinglyquartz – Cleric @ejlbell as Artemis von Spiegelhorn the Chaoshadow – Wizard @trepca as Ljubomir ljivkovic Sljucica – Rogue @wolffan as Kosef Longsummer – Figher, Noble
Encounter 1, Goblin Arrows
In the city of Neverwinter, a dwarf named Gundren Rockseeker has asked the party to escort a wagon of supplies to the rough and tumble settlement of Phandalin, which lies a couple of days travel southeast. Gundren was excited, and claimed he had found “something big”, so promised to pay the party 10gp each to get the supplies to Barthen’s Provisions in Phandalin. He then rode on ahead with a warrior escort named Sildar Hallwinter as he needed to “take care of business”.
The party has spent the last couple of days with the an ox wagon on the road. ‘Iron’ Mike is riding an ox, guiding the cart with his animal handling skills. Arty and Kosef are in the back of the cart with the supplies: Arty trying to forcefully converse about foreign tax law unsuccessfully. Blane walks beside the wagon with Ljubomir bringing up the rear.
As the turn a bend, they notice 2 dead horses peppered with arrows in front of them. ‘Iron’ Mike stops the cart, and an irritated ‘Driver, driver, why are you stopping?!’ floats over from Arty. Annoyed, ‘Iron’ Mike drags Arty along to the horses to investigate. As they draw closer, they recognise the horses as those that their friends rode on ahead.
Before they can investigate further, 2 goblins rush from the under brush and attack ‘Iron’ Mike. The first goblin misses his swing, but the other manages to get in a hit. He attempts to retaliate with his mighty sword, but fumbles the swing. Instead a surprise arrow from Ljubomir takes the goblin through the chest. Arty, suitable annoyed at the goblin in front of it, sends 3 Magic Missiles to ‘explode’ it. Suddenly, a goblin arrow streaks from the southern under brush, flies past Kosef’s head, and lands in the cart with a thunk. Kosef spots the offending goblin shooter, grabs his axe, and charges into the under brush. His battleaxe swings down with such power it splits the goblin (and some small trees) in two. Across the trail, another previously hidden goblin is heard panicking and running away through the undergrowth to the north.
The battle over, and with Blane mostly oblivious to what just happened, the survivors check the goblin bodies for loot. Kosef grabs some arrows for ‘Iron’ Mike and is disappointed at the lack of loot from the malnourished goblins. Arty pokes at the residue of his slain goblin and laments that he could not learn more about it. ‘Iron’ Mike, however, finds that the goblin with the arrow in its chest is still alive and, with the help of Blane, manages to stabilise it.
Arty is brought over to translate, and finds that the goblin is named Stinkblade. Arty attempts to persuade Stinkblade that they will not harm him if he talks, but the goblin does not believe him, even when donning a godlike illusion. ‘Iron’ Mike attempts to intimidate the goblin into submission by sitting on him, but this only aggravates it. Finally, Blane casts Command and forces the goblin to speak.
They learn that their friends were captured by Stinkblade’s goblin troupe and were taken to their hideout in a northward cave. Their troupe leader had received orders to capture the duo via courier from Cragmaw Castle. At the mention of this place, Arty flies in to a rage and stabs the goblin, ending the interrogation.
Worried about Gundren and Sildar, the party decide to investigate this cave to the north. However, first they take a short rest and engage in a heated argument about taking the cart with them. ‘Iron’ Mike ends up winning, taking the cart with them, but at the cost of making the journey time much longer.
With wounds healed and spell slots replenished, the party head out slowly with the cart along a difficult woodland trail. ‘Iron’ Mike is sitting upon the ox, guiding them with twitches of his hands. Arty and Blane are in the cart discussing religions affect on crop yields in winter, Kosef is taking the rear guard and Ljubomir is out in front — on the lookout for traps and things to snag the cart.
After an hour on the trail, Ljubomir fails to notice a snare trap that is draped in front of him but just manages to jump out before he is snapped up. Kosef decides to take the front, and another hour later fails to notice a pit trap in front of him.
He noticed, however, that he was falling 10ft to the bottom of it. Climbing out, with minor injuries to body, major injuries to pride, he helped the cart navigate around the pit. After a further hour travelling, the party sees a large cliff coming into view, so decide to tie up the cart and oxen, then investigate on foot.
The party reach the cliff, trying to stay as quiet as possible. They exit the trail and come upon a clearing, which edges up to a stream. On the other side of the stream lies thick brambles and trees, and the stream is bursting forth from a cave in the cliff. There is room on the other side to walk into the cave.
Ljubomir stealthily creeps up to the stream and spots two goblins in the under brush, not paying attention to him or anything else that isn’t their simple stones game. He slowly creeps back to inform the others of the enemy.
With a surprise attack, Blane channels Sacred Flames to burn the goblins, but miss and burn everything else around them. As the under brush turns to ash, Ljubomir and ‘Iron’ Mike unleash arrows, which both miss. Kosef charges with his great axe brandished and cleaves a goblin in twain. Arty sends a ray of frost at the second goblin, who freezes, shatters, and scatters into the wind.
Blane scouts ahead into the cave, using his Dwarfen sight to see in the dark. He stealthily notices the wolf kennel and assesses than they are very hungry, more so than caring about guard duty. Sneaking back, Blane informs the party and they get to work dragging the 2 pieces of goblin into the cave. ‘Iron’ Mike gains acceptance, but not leadership, of the pack, in order to drag the goblin meals inside. The wolves begin eating, but will not let anyone near them.
Blane scouts further into the cave and notices a wooden bridge, 20ft above the main passage – along with a goblin sentry. The goblin does not notice him. Blane sneaks back, and the party come up with a plan. Creeping forward, Ljubomir and ‘Iron’ Mike ready their bows as Arty creates a ball of light in front of the goblin. Blinded, it did not see the two arrows that sunk into its heart. The goblin toppled forward into the stream and floated out of the cave.
Noticing a small, fragile, trail to the left Blane and Arty scouted ahead. At the top of the trail they successfully find rooms at either end of the passage they find themselves in. At the western end: a barracks of sorts with 6 goblins; to the east: a room with 2 dammed pools of water and 3 goblins. The party decide a sneak attack on the larger group of goblins in the western room. Everyone climbs up the fragile trail in pairs until the party is in the upper corridor.
From the shadows, Arty casts sleep on 4 of the goblins, with ‘Iron’ Mike taking out a fifth with an arrow. Ljubomir creeps in to the room, and attacks a much larger goblin, scoring a critical hit with an arrow that perfectly hits the part of the goblin’s brain that makes it explode. Entering the room the party find Sildar who is badly beaten. They help him up and pass him a goblin short sword for protection. Sildar says he will help where he can and will answer questions once they deal with the goblins.
Seeing the sleeping goblins as a threat, ‘Iron’ Mike brings out his secret weapons. Ham fists, from his encounter with a greedy boat captain in Neverwinter, and punches a sleeping goblin as hard as he can. The goblin takes massive damage, but survives. The ham, now quite old, explodes sending rancid meat into the eyes and mouths of the sleeping dwarfs, instantly waking them.
Ham Fists: When working in the galley of a ship in Neverwinter, ‘Iron’ Mike led a workers revolt against a captain who was unlawfully exploiting his workers. Finding two large hams in the kitchen, he plunged his hands through the flesh to grab the sturdy ham bones within, creating his Ham Fists. Using his weapons, he beat the corrupt captain into submission, before taking him to the guards.
The party, thoroughly annoyed at having to engage the 4 groggy goblins send arrows, Rays of Frosts, and the business end of an axe into the goblins. 3 are killed but 1 managed to escape and run towards the other goblins at the pools in the eastern cave.
Giving chase, ‘Iron’ Mike, Ljubomir, and Kosef all send ranged attacks, but due to the darkness miss. Arty catches the fleeing goblin with a ray of frost, not killing it but slowing it. They could only watch in apprehension as the very cold goblin rounds a corner into the welcoming arms of reinforcements.
Blane chants a prayer to bless the party in preparation of their next fight. ‘Iron’ Mike, Ljubomir, and Kosef ready ranges attacks on the next goblin they see across the bridge. The other goblins across the bridge move to confront the party. Arty casts light onto the ceiling of the pool room, flooding it with light. This fortunately illuminates a goblin on the other side of the bridge. Arrows and javelins pummel the goblin, instantly killing it. The other goblins move up to the bridge, one hiding behind a stalagmite. Meanwhile the ham fist survivor manages to run into a deeper cave on the southern wall, no doubt alerting those inside.
An arrow from Ljubomir takes out the goblin on the bridge, allowing ‘Iron’ Mike to charge at the stalagmite with his great sword drawn. As he stabs the goblin and lifts it above his head on the tip of his sword, Arty finishes him off with a quick Ray of Frost.
Regrouping outside of the next cave, the party try to perceive what is inside. Kosef peers in and sees a near empty room with crates and sacks piled up near the far wall. There is more of the cave to the right, but it hidden from the entrance. Just as Kosef is about to turn to the others, he notices a goblin foot stick out from behind a sack. The ambush is ruined as he notices 2 more limbs behind various items. Telling Arty the goblin positions, 3 Magic Missiles zip into the room to injure the goblins. The most injured goblin flies at Kosef in a rage, to only be split in two by his great axe.
Smelling the rancid ham that is emanating from the original goblin survivor, ‘Iron’ Mike bursts into the room and sets his sites on the poor bloodied beast — but not before being bitten by a wolf which was lying in wait in the shadows. ‘Iron’ Mike shrugs it off to finish the goblin who broke his Ham Fist. Only then does he notice how badly he is bleeding. Ljubomir enters the room and hides behind ‘Iron’ Mike, while trying to send an arrow into one of the remaining goblins — but he misses. Kosef enters the room to levy his axe upon the wolf, heavily wounding it. Arty attempts to freeze a goblin with Ray of Frost, but misses. The two remaining goblins move up to attack the intruders, one focusing on ‘Iron’ Mike, landing a crippling hit, and the other focusing on Kosef, but he misses.
Out from behind one of the stalagmites of the cave, a large bugbear appears, screaming ‘KLAARG WILL KILL THE INTRUDERS‘. Klaarg then throws a javelin at Kosef, heavily wounding him before moving closer. Blane enters the cave and lays his hand on Kosef to cure his wounds. ‘Iron’ Mike, fed up of goblins, brings his great sword down in a tight arc to finish off the goblin attacking him, then uses his Second Wind to make a slight recovery. Ljubomir sends an arrow to finish off the final goblin.
Kosef levels his axe on Klaarg, attempting to cleave him from the crotch up, but the axe bounces off his armour. Arty steps fully into the cave and tries to grab the wolf to use his Shocking Grasp, but the wolf sidesteps away. Retaliating, the wolf tries to get a bite out of Arty, but misses. Klaarg swings his morning star at Kosef, but the brute of a weapon swings above his head.
Blane attempts to finish the wolf off with his hammer, but looses his footing and fumbles the blow. ‘Iron’ Mike sheaths his great sword and brings out his longbow, firing an arrow into Klaarg. The arrow lodges into his shoulder, sending him into a rage. Ljubomir performs a ranged sneak attack and sends an arrow deep into Klaargs gut. Kosef swings with his axe, taking a chunk of Klaarg with it. Arty tries to send a Ray of Frost at Klaarg, but just succeeds in freezing a nearby wall. The wolf tries a second bite, but misses again, and Klaarg swings again at Kosef with his morning star, but his rage has effected his accuracy, and he misses by a clear foot. Finally regaining his composure, Blane smashes his hammer onto the wolfs skull, ending it there. ‘Iron’ Mike and Ljubomir send two arrows into Klaargs face, sending him reeling backwards onto the ground and into the afterlife.
The battle over, the party surveys their surroundings. Gundren is not here, but there are many branded crates in the cavern which look recoverable, and a chest in the corner of the room. Inside the chest they find 1200cp, 110sp, a small statue, and 2 potions. The party splits the cash, ‘Iron’ Mike pockets the statue, and after Arty identifies the potions as healing potions, they are given to the fighters.
Interrogating Sildar does not provide much more information than they got from Stinkblade, other than he will pay the party 50gp to escort him to Phandalin, payable there. The party agree and start hauling out the stolen crates to their parked wagon, intent on returning them to their owners, feeling more experienced from the whole encounter. ‘Iron’ Mike tries one last time to tame one of the tied up wolfs, and manages to gain the trust of the smaller wolf, which the party allow him to keep so long as it is chained up and doesn’t bite anyone.
They decide to camp for the night outside the cave, away from the stench of dead goblins and under the stars.
The weekend of the 14th December I attended the London Startup Weekend Fashion Hackathon. This was a much larger event than the previous hackathon I attended and was more geared towards creating a viable business as well as the tech to support it.
The format was fun, on the first day a number of people would pitch ideas, we would all vote for them, then form teams to begin on the Saturday morning. I attended in order to build something new and fun, so just stood back and listened for some interesting pitches.
There were two super interesting pitches: A smart bag which worked out what was in your bag and alerted you if things were missing; and an automatic garment detector which would allow you to take a picture, and then buy the clothes from the picture.
I ended up picking the image recognition project as it sounded the most fun and I didn’t think we would be able to source an RFID reader (or similar) over the weekend. (it turned out that this team didn’t pitch, so maybe they pivoted or disbanded?)
The mini-startup we made was called LookSnap, and it was fun and quite gratifying to see that my business instincts were reinforced by the actions of the rest of the group. Over the day and a half that it was worked on, I think the business model ended up fairly solid.
My main job for the weekend was getting the image recognition working. In terms of the technology and with the very short time-scale in mind I decided to limit the acceptable inputs as much as possible. As such, I designed an algorithm that would be able to extract the clothing (top, bottoms, shoes) from a picture of someone who was facing forward and had their arms down.
The algorithm works as follows:
Use OpenCV to detect a face
With the face position, composite a “clothing mask” (see images) onto the original photo using graphicsmagick
This than gives you a fairly decent cut out of just that persons clothes. Apply different masks for top, bottom, and shoes.
Once I had these images, the idea was to use reverse image search on the lyst.com domain to always return something relevant.
However, there was a slight hitch with this plan. Google reverse image search, which worked well manually, had no API in which to pass an image…
So the stopgap method was to extract the average colour from the garment by averaging all the pixel colours that were in the appropriate garment masks, and then mapping these colour to their more broader hue. This turned out to be incredibly hard and would have been impossible if not for reverse engineering a very good hue detector at http://www.color-blindness.com/color-name-hue/
Once this was working I packaged it all up in a FLASK api where an image file was posted to the endpoint, the above magic happened, and a json file was returned giving the X,Y of the garment in the photo, and information on the product name, description, image, and a buy link.
Unfortunately there was not enough time to integrate the service into our POC app, which would have made persuading the judges that we have actually done basic image detection much easier!
Overall, the team did an excellent job, and even though we didn’t win I feel the weekend was very well spent.
On the weekend of October 5th, I participated in the Data Science London Hackathon for Smart Cities. This involved having access to a number of datasets of city based data from London. These datasets included things such as:
Car Parking Counts
Incidents of Antisocial Behaviour
A couple of guys from work and myself made a team (TeamLYST) and decided to have a closer look at the antisocial behaviour dataset to see if we could make something interesting.
The data gave events that happen on a given day, for a given street for about a month. The events were lovingly given as:
AntiSocials (public urination, vomit, etc)
So from this we decided to make a predictive application that would generate a number of likely events to happen for a Monday, Tuesday, etc.
The application was split into 3 parts:
Pre-processing the data into a format which was useful, adding in default values etc,
Creating a generative predictive model from this data
Visualising the data
There were three on our team, so I picked the visualisation. I did this using Python and PyGame to draw a PNG of London, which was generated by open streetmap. Event locations were translated to map locations, and the map could be translated and zoomed with the events staying where they were supposed to be. The visualiser allowed you to flip through different days and to access new generated events.
The generative model was trained by looking at each Monday, Tuesday, etc to work out a count of each event type per street, which was then normalised against the total events of that day. This gave a likelihood for each event in each street for each day in the week. Assuming that all events are equally likely to occur (a big assumption) we can sample a normal distribution and apply this to our likelihood map to generate an event. We do this the same amount as the average number of events for that day and we get a pseudo -typical event set.
The final product worked as intended, and with more accurate data could be extended into a nice predictive application to help with local law enforcement responses and distributions.
We didn’t win the hackathon, but it was a fun experience. We put up a video of our work too.
The move has been slow and forthcoming with my originally semi-static site needing more dynamic content and then becoming stagnant as I focused on adding things to the WordPress. The only thing which was given attention on the old site was the literature review pages.
So I’ve spent the last 4 weeks in Cambridge working as an intern at Microsoft Research and I thought I’d share my observations on the differences between academia and corporate research.
Academia, I find, is far from the ivory tower that it once was. Forgetting the worrying need to find economic benefit for projects, most research is now being spun as a product.
Surely the last thing you want for a product is a buggy bloated research prototype, and surely the last thing you want for a research project is a polished product. I mean you want it for one thing, to prove a hypothesis for your thesis.
This of course, is a massive generalisation, and more applied to the recent batch of Ph.Ds coming through, especially as they come through doctoral training schemes which mesh (mostly unsuccessfully) different fields together. Still, scoring a blue-skies research project without lying through your teeth in the impact section of a proposal is like finding real ale in Essex.
Of course, there is the positive side of academia too. The freedom to tackle your problem via any means. Flexible working hours (unless you are an RA), flexible supervision, flexible scope. You can produce a highly polished massively overworked Ph.D, or the bare minimum which gets the job done. It is a very personal thing. Research projects are a bit more managed, you have a more rigid supervisory system, project meetings, but your section of stuff is pretty much yours to do as you will.
This environment breeds two types of people: the successful ones who generally ask for and give help to their peers, accept criticism with grace, and who thrive in a space where they make the rules; and the other ones who, having seen the gaping ravine of work in front of them, bottle it and fail. Maybe not straight away nor suddenly, as it could creep up after a year or two, but Ph.Ds have been known to just disappear into industry after 4 years, with not a word to anyone. It is very easy to lose sight of where you are aiming to get to, reaching a false summit of your thesis and calling it done.
Academia is very much a dog eat dog world. The UK has a much nicer tenure-free environment, but even the tenant of the American “publish or perish” culture still exists. Academics live off their reputation, and their reputation is written in the black ink of a bibliography.
Corporate research is exactly the same landscape but with a few key differences.
For a start, the “build a prototype” message is very clear, especially for systems which may one day be products. You are building and evaluating a proof of concept, as it should be.
Secondly, the atmosphere is completely different. Whereas in the academic environment it is almost taboo to ask on a struggling Ph.D how their work is going, in corporate research struggling researchers are actively propped up and discussions at lunch and the pub are refreshingly problem orientated.
Thirdly, your supervisor is your manager. Which from a managerial point of view is awesome, you have someone who is your boss and *knows* what they are talking about, whilst still being your supervisor and knowing all the issues that come from research and how best to stimulate ideas out of dead ends. From an intern perspective this is also good, as seeing your supervisor as your boss makes you want to impress them more, and meet deadlines days earlier.
Finally, the pay is miles better.
Those are the good bits, and of course, there are some bad bits too.
Corporate research labs tend to have a “eat your own dog food” policy, which means that if the company creates a tool that can do you job, you use it, unless you can find a valid research reason not to. Working at Microsoft and being a Linux user, you can see how this has led to initial slow productivity as I’ve readjusted to an alien tool-chain.
There are also some scary law type things which get attached to the job, such as losing a kidney if I speak of what I see on whiteboards and such. However, this style of development is slowly losing ground as projects like Gadgeteer are being released under an Apache licence.
As a final point, having worked in some small companies where you have the “family” feel, I still find that you get this here. It may be due to the organisation of the research lab, but everyone is very friendly and you associate with your research group quite strongly. But not in a “compete against other group” way, as everyone in the building is amazingly friendly.
So far I’m enjoying it, we’ll see if I still do in 8 weeks time 😉
So I decided to go on a week long tour of the good bit of the south, namely, the southwest. First though, a stop off at Cardiff to see an old friend.
As Cardiff had been explored before, and I had the car, first on the list of places to go was a pilgrimage to Barry Island, the place where every Welshman should be scarred with. Not quite sure why it is called an Island, as it was inside a cove, but those southern welshies are fairly off most of the time, like those Taven Ferry folk. Apart from children, dodgy amusements, fish and chip shops, and a dirty beach, there really wasn’t much there. Some nice photo opportunities though, soon to be on my public Picasa profile. After a scramble up the headland, we decided to go and find a real beach!
The first one we hit … had a power station firmly attached to it. Nice. So biting the bullet we continued westward, edging towards Bridgend. Luckily, before we hit that town a sign for Southerndown Beach. This was a brilliant little surfer beach and had some excellent photo spots from atop the cliffs and within the ruined castle on the opposite hilltop. (Photos https://picasaweb.google.com/Carlc75/Cardiff)
Finally, we head back to Cardiff for food, narrowly missing the general 10pm restaurant deadline by a mere 45min, we opted for Dominos pizza. Dropping the car off in a 24hour place, I then endured the scariest walk of my life to the flat. Cardiff is scary compared to little old Lancaster, deserted hilltops, dense woodland, etc.
After that, I left for Cornwall! First stop was Newquay and a cliff walk from Watergate Bay to Porth, which was stunning! If you want to learn to surf, this seems like the place. Next day I moved towards a small village called Treen, near Penzance, via most of the southern coast. Amazing little village called Mousehole, where on the beach people had stacked rather flimsy towers of beach rocks, ready to be washed by the tide. It was like an art installation, but seemed so natural. (Photos https://picasaweb.google.com/Carlc75/Mousehole)
Treen has a history about it, near its headland is what is called the Logain Stone, which you can rock with your hands due to fine balance! Or you used to be able to, until some chap from the navy in the 1800s decided he wanted to prove the navy could topple it. After much complain by the local tourism industry, he paid to have it put back, but it has never rocked as easily since, which is something I can attest to after daring the rather leery scramble to the rock. (Photos https://picasaweb.google.com/Carlc75/LogainsRock)
Next day found me at Lands End, doing the usual touristy stuff, but I did get some dirty looks off passers by as I did some undaring bouldering to get a good photo. Then to St. Ives to wonder the streets. (Photos https://picasaweb.google.com/Carlc75/LandsEnd)
Today back to Newquay, and a day at the Eden Project (Photos https://picasaweb.google.com/Carlc75/EdenProject). Brilliant place, if a little inundated with small children, but then, it is for them. Big kids have to fit in I suppose! After chilling out in Watergate Bay again, Im in the pub writing this (Cornish Ale has nothing compared to Lancastrian). Tomorrow, I go bouldering at Carn Brea. Woo. Then back into the Shire.
Well, as everyone who has a blog is aware, its hard to actually find anything to put in it, never mind actually remembering to write it.
Ok, so personal stuff. Started my studentship at Lancaster University within the EIS(http://eis.comp.lancs.ac.uk) research group. Still unsure of an actual topic, although I will probably swing towards the algorithmic side of localisation in WSN.
Still, I rarely have time to do any personal code, yet some stuff happens. Recently wrote a basic heightmap generator in Ruby, currently porting to Lua, and it outputs some nice images using image tools like RMagick or just plain VT100 colour output.