There are just a few linux command line tools that I use many times a day!
less for checking the contents of files, verifying you’ve got the right output or input format, quickly examining data
grep for searching within files, especially as you can search for regular expressions
awk is incredibly useful for doing basic operations on text files, simple transformations from one format to another, or getting simple stats
Combine these with a few useful helpers like paste, diff, sort, wc, head, tail and cut, and you can do some really complex operations on actually quite large files.
I wrote about science and engineering gifts last year, but now we’re all a year older and wiser it’s time to look around for more ideas.I’ve found that there are plenty of science and construction kits around for older kids, but durable pre-school friendly kit isn’t as common. My daughter has left the toddler years behind, and my son (now 18 months old) occasionally plays with the contents of the box, instead of just the box itself. So I’m covering both the toddler and pre-school ages, roughly 1.5-4 years.
Hence, here’s my 2014 xmas gift idea list; science and engineering gifts for pre-schoolers:
- Melissa and Doug construction set, for toddler engineers: blocks and bolts and even a screwdriver
- You are Stardust explaining to kids, with beautiful illustrations, how we all originate from stardust
- Astronaut duvet set for wannabe astronauts to dream of their journey to the stars
- Manhattan toy microscope a durable wooden microscope with different lenses and ‘petri dishes’ to look at
- Aquabot a robot fish, perfect for bathtime!
- Lunar explorer kit all the bits to recreate your favourite space mission
- 3d space cookie cutters, what pre-schooler doesn’t love to bake cookies?!
- Archiville, a city to build, and rebuild, any way you want
- Kids outdoor adventurer kit complete with insect hotel to build, bug book, and chalks and pencils for recording their adventures
My 3.5 year old daughter loves reading books, but it can sometimes be hard to find great stories. Traditional fairytales are full of wicked stepmothers, spineless fathers and helpless princesses, while other stories are full of brave boys and girls who dream of becoming princesses. We often (at my daughter’s insistence) change the gender of the lead characters, but even better are the books which don’t resort to stereotypes.
So, in roughly age-appropriate order, here are my favourite books for inspiring pre-school girls:
- That’s not my Robot for young toddlers, this has touchy-feely patches on every page. “That’s not my…” is a huge range, but IMHO this one has the most interesting range of textures of the ones we’ve read.
- What the Ladybird Heard – many of the Julia Donaldson books are a pleasure to read, even after the 100th repetition! This one in particular proved really popular: a tiny ladybird outwits two thieves intent on stealing the prize cow.
- The Crunching Munching Caterpillar with sounds! The story of a caterpillar who dreams of flying, but it’s really the sounds in this that my daughter loves.
- A House in the Woods, Bear, Moose and the two little pigs build a house so they can all live together.
- Look Inside: Your Body my daughter is fascinated with this book, and it has loads of flaps to look behind. The text is quite advanced, but easy enough to simplify for younger kids. There’s a whole range of ‘Look Inside’ books that cover lots of science topics.
- Animal Stories for Little Children 5 beautifully illustrated stories from around the world
- I am Amelia Earhart, about the famous pilot who was the first woman to fly solo across the Atlantic.
- Rosie Revere, Engineer, we haven’t actually read this one yet, but I put it on the list because any book about a female Engineer has to be great!
- Alice in Wonderland once upon a time, in desperation as my daughter wouldn’t go to sleep, I began telling her a story based on what I remembered of Alice in Wonderland. And since that day it’s been a popular choice at bedtime, though we’ve now graduated to reading chapters of the original.
Recently I started a new job, and it’s taken a while to get to grips with the new ways of working that come with switching role. The team I now belong to is a global one, stretched across 6 locations and 4 timezones. Of those, I’m the only person in my timezone, sharing an office with a completely separate team. This setup has its own challenges, over and above those of starting in a new role, and has made me think about how to work best with colleagues in different timezones and locations.
So, my top tips for working remotely:
- Visit in person as soon as you can; it’s much easier to work with someone if you’ve shared a coffee with them. I’m lucky enough to have met a handful of my new colleagues at past conferences, but making the effort to travel and meet some other colleagues has definitely helped ease the transition.
- Video chat, again it’s the face-to-face contact that helps. A good video conference system means you can start to put faces to names. Also, video makes it much easier to work out who’s talking, compared to audio-only!
- Find a group text chat system that works nicely in the background, and use it! Turn off the notifications though, as there’s nothing worse than a system that beeps at you all the time while you’re trying to concentrate on another task.
- Reply to email quickly. As Eric Schmidt points out, being unresponsive means that people assume the worst. This is amplified when you’re not there in person.
- Don’t worry about asking silly questions, chances are that if you’re confused by it then someone else on your team is too. And starting to ask questions of your colleagues can create an atmosphere where others are unafraid to ask them too, which is beneficial for everyone.
- Finally, don’t forget the small talk! Working remotely means you don’t run into your colleagues in the kitchen or on the stairs, but it’s still nice to make time and find out what else is going on in your colleagues’ lives.
I’ve recently been playing with the Bokeh Python library for visualisation. One thing I end up trying to do more often than I should is trying to draw waveforms for talks and presentations. Turns out that Bokeh is great for this!
Here’s a long waveform:
And a shorter segment of it:
Have given up trying to format code properly in wordpress, so it’s on GitHub – you need to supply your own wav file.
In the last week of my old job, I saw a talk from one of Facebook’s Engineers about how they use machine learning in practice. His talk boiled down to 4 points:
- More data, better quality data: spend time collecting and cleaning data
- Practice != theory: often simple models work better in practice as better ones may be too slow
- Efficiency is key: getting something to work in real time with lots of data is hard
- 99% Perspiration: actually running the classifier is a tiny fraction of the time
Language models assign probability to sequences of words. They have many applications, including machine translation, smartphone typing, information retrieval, though I’m familiar with them through speech recognition.
For many years, the probabilities of N-Grams – that’s words or sequences of words – have been estimated by counting occurrences.
One of the key problems for speech recognition is obtaining text that represents the way we speak. The web and other archived resources contain a large amount of written text, but the probabilities estimated from these do not match the way that people speak ungrammatically, and with hesitation, correction, um’s, ah’s and er’s etc. It is much more expensive and labour intensive to obtain transcribed spontaneous speech.
More recently, neural network models have had some success for language modelling, there’s a publicly released toolkit available. The amount of data available for language modelling has increased, and Google have recently released a 1 billion word language model project.