Two for one

I attended Web Progressions in London last week. But before that, and before the break, I also attended JSConf Uruguay. So what could be better than two conference posts in one?

None of the conferences have posted the videos of the talks yet, but here are my highlights of both events, just in case you wondered:

JSConf Uruguay

This was my first time in South America so everything was unusual and new but also familiar at the same time, like a mixture between Spain and Italy, e.g. when waiters would reply with “¡Por favor!” which sounds like a literal Italian-to-Spanish “Prego!” 😀

I liked the meats, but utterly despised the coffee. Pretty sure I got caffeine withdrawal during that trip. The lack of punctuality also got on my nerves; nothing happened at the time it was supposed to be happening, much to my dismay. It was joked that I might have become “too English” 😒

I talked about MediaRecorder, in a demo-filled version in Spanish of my Hacks article: Record almost everything in the Browser with MediaRecorder. Since I am a native Spanish speaker I thought it would be a bit silly to give the talk in English and have it simultaneously translated to Spanish to a Spanish speaking audience (there were interpreters on the conference as most of the speakers were not Spanish speakers), so I did the talk in Spanish. I think it went well even if I get a bit confused with some terms in Spanish 😎

My favourite talks were not really on JavaScript per se but applications of it. Which makes sense if you think of it; you don’t generally get excited talking about dictionaries or grammars, but you do get excited talking about books, poems, plays…

The top talk for me was decidedly Irina Shestak’s talk on cellular automatas. It was super inspiring and got me thinking about a number of ideas. They will eventually materialise into something, but I can’t quite predict what. The other thing I liked was how she talked about finding inspiration not in front of a screen, which I think is something we all should practice more often. Not finding inspiration, because you can’t force it, but you can set the conditions by getting out of your usual habitat…

I also liked the talk from Ben Vinegar on collecting JS errors–it made me realise we’ve come a long way on catching and debugging errors.

The talk on building “UI” apps with “Blessed” (it took me a bit to realise the meaning versus the classic UNIX “curses”) made me want to build a CLI-UI app even if I have no need to, so that was good, I guess? (or maybe not).

It’s not because he’s my colleague, but I also enjoyed Mike Taylor’s talk on web compatibility and “why everyone deserves orange juice”, with a number of suggestions for building sites that don’t break in systems other than the developer’s. But the question on everyone’s minds (including mine) was: why “web compat” and not “web compatibility”?

Another cool talk was Alan Souza’s React + SVG accessibility talk. So cool to see React used to build SVG which is in turn used for more than just icons! I was also deeply embarrassed/irate that some people were making fun of the screen reader each time Alan showed a demo. Really? What a lack of respect and empathy for people with disabilities.

Myles Borins’ talk on node.js releases was a good introduction as to how is it supposed to work now that there’s a foundation and it’s all ‘srs bsnss’. I also asked him lots of questions before his talk so maybe I knew more than the audience. But I’m sure he’d love to answer your questions if you ask him because he’s a nice person anyway.

Rod Vagg’s talk was good as well and since it was a keynote, it was meant to have a Q&A bit, but instead of handing a microphone to the audience, they would use a moderator tool. I had high hopes as I had what I thought would be good questions which I submitted through the tool, and they were voted up by people (proving that they were interesting). But come questions time, they projected the tool on screen and some cretins thought it would be the perfect trolling time, and started submitting stupid questions, and other simplistic people voted for them. In a futile attempt to stop the trolling, the moderators deleted the stupid questions… and accidentally also some of the good questions including mine. Bah 🙁

Web Progressions

And now we fast forward to last week and London, exactly to Web Progressions, held in fashionable trendy Shoreditch, home to the highest number of pop up everythings and probably the most rolled-up jeans per capita in the entire UK, amongst other things such as delicious coffee. Yum!

My talk was about HTTPS, why it’s important to serve content securely for progressive web apps, and how to use Let’s Encrypt to get free certificates. People seemed to like it quite a lot and many told me they were looking forward to implementing it, which was very cool. Others said they wanted to build something that required https only so they could use Let’s Encrypt! And finally, others pinged me a couple days later confirming that they got so excited after the talk, they followed my guide and got it working already! Yay!

I was late to the conference so I missed the first talks. From what I saw, my favourite was perhaps Natasha Rooney’s on a future web without passwords, although it’s not clear to me how we will be able to migrate the one-time password “token” between browsers. It sounded a bit like a vendor lock-in in the horizon.

Jonathan Fielding’s talk on building responsive apps had also a bunch of good advice that should be common sense already, but sadly is not. I’m looking forward to seeing more talks from him! He had also volunteered to build the conference website! So thanks for that, Jonathan 🙂

The talk from Alex Sanders, on insights on building real-life progressive web apps at The Guardian, was super interesting and confirmed what we also suspect: Safari is slowing us down, as it doesn’t implement many of the features required to build fully capable web apps. Features such as, for example, Service Workers! Which are essential if you want to add push notifications, offline, background sync (in the future), etc. Boo Safari, but specially boo mobile Safari because users in iPlatforms cannot choose an alternative, more capable engine (whereas users of Android can switch to different browsers with entirely different engines–although… would the majority of not-tech-savvy users do it?).

The other issue is that there doesn’t seem to exist a progressive enhancement path for these features, so it is often not feasible to maintain two different codebases (or code paths) just to cater to all users. E.g. an appcache path and a ServiceWorker path.

I was also glad that Ruth John could finally do her Web MIDI talk without the projector going bananas and randomly flashing white noise for 10 minutes, as it happened in another conference recently. Yay MIDI and real time music on the web!

Belen’s talk on game development made me curious about playing with Phaser too, for no real reason than that it looks fairly easy and you can focus on building your game and not a game engine. It was also interesting that she gave “motivational” resources for people who cannot finish things or who think are not good enough to make a game.

Another thing that was cool was to meet old friends (hi Alastair!) and new old friends which I had only spoken to through via the Internet before (hi Charlotte!), and new people who I hadn’t met before at all. Overall a nice conference and I hope it keeps happening next year, so thanks to Daniel, Natasha and Bruce for putting it together!

Securing your self-hosted website with Let’s Encrypt

Continue reading “Securing your self-hosted website with Let’s Encrypt”

Securing your self-hosted website with Let’s Encrypt, part 8: more cool things about Let’s Encrypt

PHEW! That was a lot of blog posts in just a couple of days, but I wanted to make sure that individual ‘topics’ had their own URL so people can link to the bit that they find more interesting and ignore everything else.

To finish, I would like to present together a number of interesting and cool facts about Let’s Encrypt which I omitted before because they were not directly related to using it.

Continue reading “Securing your self-hosted website with Let’s Encrypt, part 8: more cool things about Let’s Encrypt”

Securing your self-hosted website with Let’s Encrypt, part 7: a workflow to migrate from HTTP to HTTPS

If you’ve followed along the previous posts you will have noticed that I didn’t get into details when mentioning how to migrate–I just assumed that you knew how to do that and eventually your site would be serving HTTPS using a certificate from Let’s Encrypt.

But turns out that finding a good workflow to do this was one of the things that consumed most of my time initially! That, and the sheer fear of repetition.

Continue reading “Securing your self-hosted website with Let’s Encrypt, part 7: a workflow to migrate from HTTP to HTTPS”

Securing your self-hosted website with Let’s Encrypt, part 6: WordPress considerations

In part 5, we looked at the great things you can do when your website is running over HTTPS, but we didn’t get into specifics of which type of website and the particular considerations you should have in mind.

There are so many types of websites that I am not going to start looking at all of them because that would probably end up being the work I do until the end of my days (exaggerating, me??). But I will look at a very popular type of website with which I have hands-on experience–WordPress!

Continue reading “Securing your self-hosted website with Let’s Encrypt, part 6: WordPress considerations”