We talked to Clearleft co-founder, author and speaker Jeremy Keith about service workers and his recently released A Book Apart book, Going Offline.

Coming into this episode I didn’t really know much about service workers. I assumed there were very specific use cases for them, but Jeremy opened our eyes to the fact that they allow access to some very powerful browser features and are useful across the board.

We also spoke about Jeremy’s recently released A Book Apart Book ‘Going Offline’, I’m really enjoying it. I can’t put it any better than Sarah Drasner (https://sarahdrasnerdesign.com), who said:

"Jeremy Keith explains service workers with kindness, clarity, and humour in his new book, a must-read for any web developer who wants to learn this exciting new API and enable offline experiences for their applications."

The first chapter is available as an A List Apart article, link below.

There were some strong Jukebox Entries this time. Jeremy Chose Catastrophe And The Cure by Explosions In The Sky, from one of my very favourite albums. Ben chose The Celestial Garden by DrumTalk but apparently described a different track in the episode, he’s a sleep deprived new dad so we’ll have mercy on him for that. My pick was Bashed Out by This Is The Kit, a lovely bitter sweet track.

Jonathan is the creator of the influential SMACSS methodology for writing scalable and modular C-S-S. He has worked his magic at Xero, Yahoo!, and Shopify, and has appeared on stage at conferences such as Generate, CSSConf, and the Smashing Conference. With 3 highly-acclaimed books, Jonathan has - a - knack for influencing devs around the world and earning the respect of the top people in the industry.

Time Stamped Show Notes

1:56 – Everything feels like an evolution of what came before. Jonathan loves the creativity and design of his work, rather than all the new things that will inevitably come out.

4:48 – Recognising when you’re not behaving ok is the beginning of how to create an environment where everyone can do the best work they can do.

6:04 – Jonathan loves Vim. He mentions that there are editors like Atom or Microsoft’s Visual Studio Code that bring a lot to the table, but Vim is his comfort zone. Likewise, when it comes to using Git, he is most comfortable with the command line.

7:20 – Jonathan likes the ease of use that tools like MAMP being, where running an installer will set up your environment, and there’s very little configuration after that.

8:02 – Procrastination or “busy work” gets in the way of getting work done. Blocking out social media using the Self Control app helps Jonathan to focus and get into a state of flow.

10:49 – Jonathan has written a blog post in which he describes his approach to learning.

First level: just take everything in

Second level: implement an idea that you’ve discovered during a project. If you don’t get the opportunity to try something out on a project, come up with your own project and test out your ideas

Last phase: teach people what you’ve learnt.

Check out the full post here

12:46 – To get to an implementation stage Jonathan will come up with his own projects that take a few hours that allow him to test out one idea and understand things better.

14:44 – Jonathan explains the importance of understanding the basics. Because of all the libraries and frameworks available, people tend to jump into things at a higher abstraction level. Because he learnt to code before those things existed, he was forced to learn the underlying concepts first. He believes he is a better developer for it.

15:05 – Jonathan contrasts his learning experience with devs who start with Rails and the built in ORM – he learned by writing SQL queries directly. Jonathan feels the need to understand datasets, joins, and the underlying concepts about how things are done.

Sara is a freelance front-end web developer, author, and speaker from Lebanon. She was named Developer of the Year in the 2015 .net magazine awards, and awarded a Web Platform Award from O’Reilly. Sara is the author of Codrops CSS Reference, and is the co-author of Real-Life Responsive Web Design, which focuses on smart “responsive” workflows, effective UX patterns, and powerful front-end techniques.

Time Stamped Show Notes

2:33 – Sara is passionate about the possibilities developers have to build useful things for people and for the generations to come. She believes developers have the tools for building the future, and is excited by the fact that the web is getting more powerful by the day.

3:21 – Sara says that learning and teaching have opened a lot of doors for her. She first got into speaking because of the articles she wrote whilst experimenting with, and learning new features. She actually got her first job from her experiments on CodePen.

4:34 – Burning out after working on a project taught Sara about what to do, what not to do, what to expect, what not to expect, and to tell clients what to expect and what not to expect.

8:16 – Sara explains that she doesn’t use a lot of frameworks or tools. She uses HTML, CSS, and Sass. On very simple projects, she doesn’t even use Grunt, Gulp, or any other build tool like that. She writes with the bare minimum.

9:00 – Sara uses Alfred to speed up her workflow.

9:37 – TextExpander helps Sara save time by allowing her to respond to frequently asked questions in emails she receives using templates.

10:17 – Sara loves Sublime Text as her editor, and uses a lot of the plugins that come with it to help her type less.

10:52 – Sara works early in the morning to avoid distractions on Twitter.

11:27 – Sara removes any applications, such as email and Twitter, from her work computer that are not essential for work.

13:05 – Larry mentions how Dash is an app that aggregates documentation, and also integrates nicely with Alfred. It also has its own snippet manager, similar to TextExpander.

13:56 – Sara finds that she doesn’t have the most productive way to set up projects. She currently uses Jekyll for her website, but the bigger the website becomes, the slower Jekyll becomes.

14:30 – She admits that Grunt, Gulp, Browserify, or Webpack would make her workflow better, but she finds the thought of installing them and getting them to work overwhelming.

15:42 – Sara is excited about CSS Grid, because it’s like a CSS framework without a framework. She believes that there’ll be no need for any kind of CSS framework to build grids and websites in the future. She mentions that she has never been a fan of frameworks like Bootstrap as she feels there’s always too much to edit, change, and fix.

16:21 – Combining CSS Grid with Flexbox is “like magic”.

17:23 – Sara makes time to learn new things when she needs to use new things.

18:48 – “Java is to JavaScript as car is to carpet.” Sara studied Java in university. Learning that there was a fundamental difference between Java and Javascript, and that there was a mental shift required in order to work in the different languages has changed the way Sara views technologies.

Quickfire Questions

20:17 – Best advice about programming

Learn the basics. Learn HTML, CSS, and native JavaScript before rushing into frameworks. Learn what you need, when you need it.

20:46 – Habits for writing better code

Thinking from a user’s perspective, not only a developer’s perspective. Test components early on – not code testing, but user testing.

22:50 – Inspiring devsEthan Marcotte and Jeremy Keith. Sara is inspired by anyone who works for the user and who teaches people in the industry to care about them too. She likes that these two authors teach developers how to write better experiences.

24:40 – How to learn code from scratch

Sara says that she would definitely be overwhelmed at first if she had to learn programming from scratch. She mentions that she is thankful that she had a mentor to help her get started from the right place. She would start with the basics, because she can’t use a tool or a language unless she really understands it.

25:34 – How to work smart

Work healthy. Take care of yourself and to get enough sleep. A healthy body is a healthy mind.

We’re building an artificial intelligence-powered dystopia, one click at a time, says techno-sociologist Zeynep Tufekci. In an eye-opening talk, she details how the same algorithms companies like Facebook, Google and Amazon use to get you to click on ads are also used to organize your access to political and social information. And the machines aren’t even the real threat. What we need to understand is how the powerful might use AI to control us — and what we can do in response.

Our increasingly smart machines aren’t just changing the workforce; they’re changing us. Already, algorithms are directing human activity in all sorts of ways, from choosing what news people see to highlighting new gigs for workers in the gig economy. What will human life look like as machine learning overtakes more aspects of our society?

Alexis Madrigal, who covers technology for The Atlantic, shares what he’s learned from his reporting on the past, present, and future of automation with our Radio Atlantic co-hosts, Jeffrey Goldberg (editor in chief), Alex Wagner (contributing editor and CBS anchor), and Matt Thompson (executive editor).

Machine intelligence is here, and we’re already using it to make subjective decisions. But the complex way AI grows and improves makes it hard to understand and even harder to control. In this cautionary talk, techno-sociologist Zeynep Tufekci explains how intelligent machines can fail in ways that don’t fit human error patterns — and in ways we won’t expect or be prepared for. "We cannot outsource our responsibilities to machines," she says. "We must hold on ever tighter to human values and human ethics."

Recommendation engines are everywhere. They let Netflix suggest shows you might want to watch. They let Spotify build you a personalised playlist of music you will probably like. They turn your smartphone into a source of endless hilarity and mirth. And, of course, there’s IBM’s Watson, recommending all sorts of “interesting” new recipes. As part of his PhD project on machine learning, Jaan Altosaar decided to use a new mathematical technique to build his own recipe recommendation engine.

The technique is similar to the kind of natural language processing that powers predictive text on a phone, and one of the attractions of using food instead of English is that there are only 2000–3000 ingredients to worry about, instead of more than 150,000 words.

"The actual path of a raindrop as it goes down the valley is unpredictable, but the general direction is inevitable," says digital visionary Kevin Kelly — and technology is much the same, driven by patterns that are surprising but inevitable. Over the next 20 years, he says, our penchant for making things smarter and smarter will have a profound impact on nearly everything we do. Kelly explores three trends in AI we need to understand in order to embrace it and steer its development. "The most popular AI product 20 years from now that everyone uses has not been invented yet," Kelly says. "That means that you’re not late."