2019s

Our Fuzzy Six-Legged Friends Need You

Last weekend, I got an invite to visit a new Bee Sanctuary with a group on wildlife enthusiasts. Being organized by one of the group who has become healthily obsessed by bees in Ireland, the focus of the visit was to inspect vital pollinators, but there was a lot more to see.

After years of work, Clare-Louise and her husband and family are sitting in a wonderful 55-acre area of countryside with two lakes, a short walk from 8 acres of sunflowers and rows of nectar-laden native and naturalized flowering plants. Areas that have been allowed to re-wild see the appearance of wildlife you wouldn’t hear about normally - leaf-cutter bees drilling and hiding in a bench by the lake, moss carder bees - and the vertebrates are getting a look-in with otters, badgers, deer, herons, duck, rudd and others making appearances.

The Bee Sanctuary is at the end of a lane with a grassy mohawk, a first-gear experience for those with sensitive suspensions and kidneys, and is well worth a visit for anyone who enjoys the surrounds of nature.

Despite the windy day, I packed the macro lens and managed to catch some of our intervertebrate buddies in action (warning, potential insect nookie).

Put this spot on your list for walks with the kids, with the camera, or just on your own when the weather is good!

And some things that should not have been forgotten were lost.

History became legend. Legend became myth. And for one hundred and sixteen months, this following blog post passed out of all knowledge.

However it turns out Google did actually remember and I found my old blog again, and with it, a post that I reproduce in mostly its entirety here.

Warning before you begin: this post mentions Uncle Bob, who has become a bit of problematic figure around these parts. He did give a very good talk at that EclipseCon show in 2010, though.

Oisín’s Precepts Version 1.0.qualifier May 2010

I’m making a set of precepts that I’m going to try and stick to from a professional engagements perspective. These have been very much influenced by Uncle Bob – especially his keynote for EclipseCon 2010, which provided the inspiration to put these together in this form – and of course by the many mistakes I’ve made in the past, which is what we call experience. So, in no particular order:

Don’t be in so deep you can’t see reality. If you haven’t communicated with a user of your software in over a month, you could have departed the Earth for Epsilon Eridani and you wouldn’t know.

Seek to destroy hope, the project-killer. When you hear yourself saying well, I hope we’ll be done by the end of the week, then you are officially on the way to that state known as doomed. If you are invoking hope, trouble is not far away. So, endeavour to destroy hope at every turn. You do this with data. Know where you are – use an agile style of process to collect data points. Iterate in fine swerves that give you early notice of rocks in the development stream.

When the meeting is boring, leave. Be constructive about it, however. You should know what you want to get out of the meeting. If it’s moving away from what you are expecting, contribute to getting it back on track. It won’t always go totally your way. If you can’t retrieve it, then make your excuse and leave.

Don’t accept dumb restrictions on your development process. Pick your own example here. Note that restrictions can also take the form of a big shouty man roaring the effing developers don’t have effing time to write effing tests! (true story that).

There must be a Plan and you must Believe It Will Work. This is pretty simple on the face of it. One theory on human motivation includes three demands – autonomy, mastery, purpose – that all need to be satisfied to a certain degree before one is effectively motivated (see Dan Pink’s TED lecture). If there is no plan, or the plan stinks like a week-old haddock, then the purpose element of your motivation is going to be missing. Would like to earn lots of money, work with fantastic technologies and yet have your work burnt in front of your eyes at the end of the month? I wouldn’t.

Discussions can involve some heated exchanges. That’s ok, but only now and then. Without extensive practice, humans find it difficult to separate their emotions from discussions, especially when there is something potentially big at stake. Just look at the level of fear-mongering that politicians come out with to influence voters. There will be some shouting – expect it – but it’s not right if shouting is a regular occurrence.

Refuse to commit to miracles. How many times have I done this already over the last eighteen^h^h^h^h^h^h^h^h twenty-seven years? Ugh.

Do not harm the software, or allow it to come to harm through inaction. No making a mess – your parents taught you that. Stick with your disciplines. Don’t let any one else beat up on the software either. It’s your software too, and hence your problem if it is abused.

Neither perpetrate intellectual violence, nor allow it to be perpetrated upon you. Intellectual violence is a project management antipattern, whereby someone who understands a theory, or a buzzword, or a technology uses this knowledge to intimidate others that do not know it. Basically, it’s used to shut people up during a meeting, preying on their reluctance to show ignorance in a particular area (this reluctance can be very strong in techie folks). Check out number nineteen in Things to Say When You’re Losing a Technical Argument. Stand up to this kind of treatment. Ask for the perpetrator to explain his concern to everyone in the room.

Learn how you learn. I know that if I am learning new technologies, I can do it best provided I have time to sleep and time to exercise. I also know that my learning graph is a little like a step function, with exponential-style curves leading to plateaus. I know when I am working through problems and my brain suddenly tells me to go and get another coffee, or switch to some other task, or go and chat to someone, it means I am very close to hitting a new understanding plateau. So I have to sit there and not give in 🙂 I also know that I need to play with tiny solutions to help me too.

You have limits on overtime, know them. This should be easy for you – if you are tired, you are broken. Don’t be broken and work on your code. Go somewhere and rest. Insist on it.

Needless to say at some point in the future this post will come back to haunt me I am sure. But I’m hoping that if I produce a little laminated card with these precepts on it, keep it in my wallet, then I’ll at least not lose track by accident.

Narrator’s voice: He lost track by accident

Recipe Time! Well-tested Vegan Curry

This is a two-pot stovetop affair. Veg and gravy are cooked separately and then combined.

Tempering – creating a flavoured oil for cooking in

  • veg oil
  • 1tsp cumin seeds
  • 2 small dried red chillies
  • 4 cloves
  • 1 cinnamon stick

Vegetables

  • 100 grams green beans chopped in large pieces
  • 2 large carrots
  • 3 small potatoes
  • 2 cup peas
  • 2 small peppers, sliced
  • 1 small cauliflower
  • salt
  • 0.5tsp turmeric
  • 450ml water

Put some oil into pot and wait till it gets hot, then throw in the tempering spices and let them sizzle for about 5-10 seconds, then lash in the vegetables, carrots first, then potatoes, roll them around and get them covered in the flavoured oil, follow up a minute later with the rest of the veg items.

Turmeric, salt and water goes in next, and stir it up, cover it and let it cook, keep an eye on it so that veg doesn’t stick. Goal here is to have cooked veg in this pot, into which the gravy gets added.

In a smaller pot, it’s gravy.

Tempering

  • veg oil
  • 1tsp mustard seeds
  • 0.5tsp cumin seeds
  • 1 small dried red chilli

Gravy

  • 2 medium onions, chopped
  • 2 cloves garlic, squooshed
  • 1tbsp grated ginger
  • can of chopped tomatoes
  • 2tbsp tomato purée
  • 1tsp cumin powder
  • 2tsp coriander powder
  • 1tsp garam masala powder
  • 1 fistful of unsalted cashew nuts, ground up and made into a thick paste with some water

You are going to put this through a blender to smooth it out, so the onions don’t need to be chopped super tiny. If you are not blending, then chop them super tiny!

Put some oil into pot and wait till it gets hot, then throw in the tempering spices and let them sizzle for about 5-10 seconds, then in with the onions, garlic, ginger and cook till onions are browning up. Add the can o tomatoes, purée and all the spices, stir it up and cook on low for another 10 min. Blend it all for a smooth gravy, then stir on the cashew nut paste.

Mix the gravy into the pot of veg and bate it inta ya.

Note that there is no shame in drinking the gravy out of a mug on your own in in the kitchen.

Blinkenlights Are Go!

Procrastination-breaking is the order of the month here at Lab 47b as I finally managed to finish up the first part of my embedded projects development mise en place: the computery and development environment bit.

With 2x elderly and half-bollixed laptops (MacBook1,1 / MacBookPro2,2) and an elderly and 1x half-bollixed Mac Mini (MacMini2,1) to hand I crafted 2x gutted elderly laptops for the recycle pile and 1x mac mini with an upgraded 2GB of RAM and an upgraded 120GB SSD, running Lubuntu 18.04.

The SSD and the memory both came from the MacBook1,1 and worked flawlessly. The slightly faster memory in the MacBookPro2,1 gave the Mini indigestion such that it could only recognise one of the 2GB.

A top tip from @denishennessy got me to ditch the Arduino IDE and instead download the PlatformIO IDE, which extends Microsoft’s Visual Studio Code. This runs fine on the (relatively) low end compute of the Mac Mini.

Well! That’s enough success for one week. Now I shall briefly retire to inventory my unused microprocessor heap.

Own Goals

Welcome to 2019 – an opportunity to change the way things happen compared to the year gone by. Have you made any resolutions or goals for the new year? You have? Well keep them to yourself. Not that we aren’t interested, but because this could very well lead to you duffing it entirely. And, while aspirational goals are great for OKRs, this time you might actually want to get there, so think about setting implementation goals instead.

I’m not going to say anything about my own resolutions, however, in an unrelated event I actually finished a mini project. It’s a Naturewatch camera kit that appeared in my Christmas stocking. It goes into real-world deployment tomorrow.

Instructions to make are all available at Naturewatch. If you’ve handled any Pi / Arduino projects before it’s super simple to construct, and even if you have not, the instructions are presented really well.

Update – here’s some of the results!