Interesting Stuff Club
Our monthly round up of anything we’re doing and learning in our own time.
“One thing that came out my annual review was to learn another language and Python was suggested. I’ve been spending one hour a night on this, so I started with the Treehouse tutorials and I’ve started doing some code katas and I’ve done fizzbuzz. Hopefully I’ll now start doing more object oriented ones.
“My job has been quite different recently and I’ve been doing a lot of design, so a lot of my research at home has been visual as opposed to any useful books or articles. Pinterest has been such a handy tool for collating everything.
Aside from that, I’ve just finished a great book – Finding George Orwell In Burma. I think everyone would agree that 1984 is a fascinating read, as is Animal Farm, so it was great to read about what inspired Orwell to write both books. The book follows the author’s travels to find our as much as she can about Orwell’s time in Burma, but along the way she finds out so much about the current feeling in the country, which is not too dissimilar from Winston’s feelings about Oceana in 1984. Aung San Suu Kyi has just been released from house arrest, but there’s disappointment that she’s not regained her political stance. The best bit of the book was that almost as I finished it, the NLD won the majority of seats, by a landslide, in the Myanmar elections.
“I was going to do my piece on a great developer blog by Terence McGhee. I like it, not just because it has lots of swearing but because he talks about the social aspect of tech, for example the importance of women in technology and how he was inspired by a female developer. I would recommend that everyone has a look.
Last night I changed my mind about what to talk about today because of the vote in the House of Commons to start bombing Syria. I’ve lived through a few conflicts now; The Falklands war, the first and second Iraq wars, the war in Afganistan and the conflict in Kosova, so I was saddened by Hilary Benn’s speech and how it feels we’ve forgotten so much. Hilary’s father, Tony Benn, was one of my heroes. When I protested against the Iraq war in 2003, at the end of the march, in Hyde Park he was an inspiring speaker. It’s a little depressing to think that if as individuals we haven’t lived through the consequences of indiscriminate bombing we’re much more likely to vote for it. I wanted to show Tony Benn’s speech in 1998 about why he opposed the bombing of Iraq to illustrate this – because he’d lived through the bombing of London in the Second World War, witnessing the death and destruction, he understood the consequences of such bombing on innocent families in foreign countries. It’s amazing how much can be forgotten in such a short time.”
“I’ve been looking at the dev ops side of things recently. To provision our servers, we’re currently using the Golden Master approach. We have a server which we make any required modifications to and clone this as a base image for our other servers. This ensures that the platform we test on and the platform we QA on are identical to the production servers.
Whilst this works, it requires us to have up to 3 different versions which is becoming quite hard to manage. To make our infrastructure simpler, I’ve started looking at Docker. A Docker container is way of packaging up an application with the code, software and tools it needs to run. It’s different to a traditional hypervisor virtual machine in that it doesn’t need a “guest” operating system which makes it much more lightweight as there’s no hardware emulation. It also gives you the ability to scale your web app quickly and as a side effect, Docker users tend to ship their code much more regularly. I’m hoping to start implementing Docker soon – we’ll probably start with the MEMZ marketing site.”
“I’ve been following some of the discussion around “progressive web apps” recently and found a few great resources on the topic. The first being a great overview from the Chrome Dev Summit which covers the barriers the mobile web currently suffers, such as engagement and the issues native apps are suffering from in terms of discovery and on-boarding. Progressive web apps utilise standardised and emerging browser technologies such as service workers, push notifications, ‘add to homescreen’ and web workers which can give the web platform the edge over native for a lot of use cases.
Flipkart – a massive indian e-commerce company – have actually taken this approach in their new Flipkart lite web app and it’s fascinating to see this actually being used in production and their tech blog provides a great write up, if you can forgive the unbelievably cheesy video.
Redux is primarily comprised of three elements; one single store with one single dispatcher, actions and reducers. This reducer-composition based pattern was pioneered by Elm Architecture and is very powerful. To change the state of the application you fire an action through the dispatcher, allowing you to reduce your current application state to a new (immutable) application state through pure functions (no side-effects).There are a few major benefits to the elm architecture, one is that it makes server-side rendering very easy indeed, as your application state is all held a single object.
Another great benefit is that because the reducers must be pure and the state is immutable, you can ‘time-travel’ by re-calculating the application state on the fly. The first time you see this it is a mind-blown kind of moment. To learn more about time-travelling (and hot reloading, which is perhaps even cooler) I recommend this talk by the Redux author at ReactEurope.
A great starting point for Redux is a new series on egghead.io ‘Getting Started with Redux’, it’s by the Redux author and is a really nice introduction to both the framework and functional programming concepts in general https://egghead.io/