Interesting stuff club
Our monthly roundup of anything we’re doing and learning in our own time.
“By popular request, I’ll explain what the term ‘bikeshedding’ means. The term, also known as “Parkinson’s law of triviality”, was invented by C. Northcote Parkinson in 1957. Parkinson argued that the more members an organisation has, the more they avoid discussing important issues, and focus on trivialities instead. Parkinson gave an example of a committee at a nuclear power plant, who spent very little time discussing what material to build the reactor core out of, but got bogged down arguing about what colour to paint the bike shed – hence the term.
The term ‘bikeshedding’ is often used in software development, and there is even a corresponding law specifically for language design called ‘Wadler’s law’.”
“My kids have recently been asking me a lot about the size and distance of objects in space and I was finding it hard to be able to describe just how big (and far away) things in the universe are. We had a bit of a look on YouTube together and found an animation that did quite a good job at explaining. We were all (including myself) blown away by it.”
“SHA1 is a hashing function used in certificates, file comparison and as an identifier in version control software.
The first collision in SHA1 was recently announced by CWI Amsterdam and Google. Theoretic collisions were published in 2013. To create the collision, it took 9 quintillion (that’s 9 with 18 zeros) computations which amounted to 6,500 years of CPU to complete the first phase and 110 years of GPU to complete the second phase.
Some TLS (SSL) certificates may be affected if they use SHA1. Many browsers had already deprecated the use of SHA1 certificates with Microsoft and Google marking sites using them as insecure as of January 2017, with Firefox deprecating use from February 24th 2017.
Another use is in version control systems. Git uses SHA1 as a content identifier for commits. Whilst there has been some concern from the community, Linus Torvalds, the creator of Git has stated “the sky isn’t falling” as Git doesn’t use SHA1 for security signing purposes and steps have already been taken to mitigate against the collision. There is a plan to move away from SHA1 in the future.
Apache SVN, another version control system was corrupted when a developer committed files to the WebKit repository to test that the WebKit was not at risk. SVN has since provided a tool that can be used to prevent the glitch. More information about the SHA1 collision is available here: https://shattered.it/”
“Last time I showed one of my first attempts at modern calligraphy, which I had then gone on to digitalise. But I pretty much cheated as I used Illustrator’s live trace tool the just tidied a few of the anchor points up. Since then, I’ve learned how to digitise my lettering the ‘proper’ way, which involves tracing the letters and using Bezier curves properly! I saw a post about how someone had been using Illustrator for 14 years (as have I) and it took learning lettering to realise how the Bezier curves actually work, and I must say it’s been the same for me. I self taught myself how to use the pen tool but never reallllly understood how to control the curves so would more often than not have to add more anchor points. I’ve also read up on best practice, which is to have your handles either horizontal or vertical: dragging them away from the anchor point gives you more curve. Anyway, a picture tells a thousand words:”
“As many people will have heard, NASA have recently made a discovery that suggests there are planets in a nearby solar system that could sustain life. In total, seven planets, (all roughly the same size as earth) have been found orbiting the ultra-cool dwarf star, designated Trappist-1. Three of these planets are said to fall within the ‘’habitable’/’goldilocks’ zone which means they contain just the right conditions for liquid water, which is one of the main building blocks for life as we know it. Interestingly, as the Trappist-1 star is so cold and small, all seven planets orbit their sun at a distance that is much smaller than that of Mercury, the closest planet to our sun. It’s not the first time planets have been found with the right conditions for liquid water, but its significant that there are three planets on one solar system that could sustain life and that they have been found so close to our solar system, at a distance of less than 40 light years.”
“Still on my Elixir journey, I’ve started learning a little about the power of hot code loading, essentially allowing system upgrades without a restart. This ability is really useful when you need to guarantee high uptime, for example half of the worlds phone networks are powered by Erlang.
Although hot code loading is inherently tricky to get right, I can definitely see the use cases in our own struggles moving towards true continuous deployment for Limpid Markets; a web socket based application.”
I’ve been a bit busy outside of work at the moment which has meant I’ve been quite keen on maximising the free time I do have — my commute — productively. Podcasts are great for that and I just want to recommend two I’ve recently listened to that are worth a share;
The Shop Talk Show Episode 250 with April King and Alex Sexton gave a fantastic overview on the security concerns a front end developer should be aware of (e.g. Man in the Middle, XSS, CSFR) and what can be done to help prevent them (HTTPS, CORS, Mozilla’s Observatory tool). We’ve been working with a third party recently thats expressed concerns around these areas and it’s a great overview.
On a similar note we were involved recently on participating on an API design. As someone who wouldn’t claim to be an expert in this area, this — not so recent — Three Devs and a Maybe Podcast with Phil Sturgeon is something I wish I’d listened to prior to those discussions, again a fantastic overview on approaches and lessons from API design.
Lastly on the making-the-most-of-the-commute vibe I’m having a bit of fun with Enki, a sort of brain training-esque app focused on development, giving you quick ‘workouts’ and games to help improve your skills. It still needs a bit of work in my opinion but it’s a fun thing to have handy to keep learning.
“I listened to a podcast “What time is it on Mars?” by Nagin Cox on TED talks, she’s a spacecraft operations engineer at NASA. In the podcast she talks about some of the challenges she faced when working on the US rovers on Mars. The Martian day is longer than the Earth day: it takes Mars roughly 40 minutes longer than Earth to rotate once around the sun, so an average day on Mars would be 24 hours and 40 minutes. Because she was working the Martian night shift, she ended up going to work 40 minutes later everyday. Today she would get in at 09:00, tomorrow she would get in at 09:40 and so on, soon she would go to work at middle of the night. Working these sort of unusual hours could have serious effects on health, so they even had sleep researchers conducting studies on them.
“Because when you’re moving a time-zone every day, you start to really feel separated from everyone else. You’re literally in your own world” she says.
But it’s not all bad, along with the team she worked with, she had great adventures such as going bowling at middle of night or going across town to eat something at 3 in the morning.
And as a result of confusion with the team about times on Mars and Earth, they invented their own language. A day on Mars became “sol”, today became “tosol”and yesterday became “yestersol”. People working on different project preferred different teams, some would say “nextersol” for tomorrow and some would say “solorrow”. Some people said “tosol” where some said “tosoul” for today so she could actually tell which mission people worked on based on their Martian accent.”