Today I learnt

JavaScript and CSS can communicate

19 November 2019

The first thing I learnt today was about CSS custom properties, also called CSS variables. I might be a bit late to the game here but today was the first time I actually saw these in use - in a PR…

Read more

You can revert a git merge

19 October 2019

We had a little bit of an issue in live today, resulting from a large refactoring that was done this week. We had to urgently fix this issue. It was hard to debug, so we ended up reverting the code…

Read more

You can temporarily ignore vulnerabilities

17 October 2019

At work we have a pre-push hook on our repos that doesn’t allow us to push if we have npm vulnerabilities. That’s great for security, of course, and I see why that’s necessary. It’s not much fun if…

Read more

Web monetisation with Coil

03 October 2019

I was listening to the Shoptalk Show podcast episode about how to make money with your content on the web. And there’s a new way of doing that with one provider called Coil. I think there might be…

Read more

Orthogonality

06 September 2019

I'm reading The Pragmatic Programmer at the moment and they explain what orthogonal systems are. I feel like I had heard about it before but never really knew what it meant.Orthogonality is a term…

Read more

Kaizen

01 September 2019

I came across this philosophy in the new edition of the Pragmatic Programmer book. (I guess the original version talks about it too but I don’t think I ever read that).It’s a Japanese concept meaning…

Read more

Assert that an object has keys with expect.js

29 August 2019

We’re using expect.js at work for our test assertions. And today I learnt that you can have an assertion on whether an object has a key or not. I needed to assert that an object was not saved with a…

Read more

Bash script to run a test lots of times

19 August 2019

This is probably more a note for myself rather than anything else… but why not make it public? Maybe someone else is looking for just that.We had a test that was randomly failing when we were running…

Read more

Comparing dates in JS

16 August 2019

I’ve recently done a lot with dates and times. And I found it really fiddly. Comparing dates, comparing times of days… and I learnt a few things about that.Firstly, moment.js is a life saver. It has…

Read more

Vim snippet for console logging

06 August 2019

I did another one today to easier debugging in JavaScript.When your cursor is on a word in normal mode, you can type and it will insert a console.log statement with the word you’re on on the next…

Read more

Vim snippet to focus on a test

05 August 2019

The amount of times that I've finished writing the expectation of a test, then navigated up to the description of the test (usually using to match the closing bracket), then added a after the to…

Read more

What exactly is Opera Mini?

01 August 2019

I feel like every time I look at caniuse.com to see what the browser support is for certain CSS or JS features, there’s usually a mix of green and red - but there’s always one that’s red and nothing…

Read more

WebP image compression

31 July 2019

I’m really not keeping up with the latest web development trends… Today was the first time that I heard about WebP. It’s an image format which is superior to PNG and JPEG in terms of file size and…

Read more

Private and public browser cache

30 July 2019

One of the many wondrous things you can inspect in the Chrome developer console are the cache-control settings.The first value it specifies is either “private” or “public”. And then it shows the max…

Read more

Express routing error

28 July 2019

What Express is trying to tell you is that your route is calling a controller function that doesn’t exist… Because you renamed it in the controller… and then you went and updated some other things…

Read more

Slack - toggle right pane

26 July 2019

I think threads on Slack are great - they keep the channel a lot tidier. It just always annoyed me that I couldn’t figure out which shortcut to use to close that little window on the right, that…

Read more

Elixir module not available

19 July 2019

I’m working on a small side project in Elixir and last time I worked on it, I got stuck because I got this error.I had just written a Supervisor for the first time and created an Agent as a child of…

Read more

Elixir - you can pattern match on strings?!

05 July 2019

Wow, maybe this should have been obvious but I didn’t realise that until now. That’s so cool!I’m working on a slack bot and need to parse people’s commands to the bot. So I’ll be dealing with a lot of…

Read more

dangerouslySetInnerHTML

04 July 2019

Sounds pretty wild and like something you probably don’t want to touch with a bargepole! Au contraire. I’ve seen it all over our Tes codebase and now I’ve come across it again when I was setting up my…

Read more

MongoDb write concerns

30 June 2019

I’ve been doing the MongoDB for JavaScript developers course by MongoDB University. Today I learnt about write concerns.Let’s say we are saving something in the database, but instead of just one node…

Read more

Function capturing in Elixir

29 June 2019

In Elixir you sometimes need an anonymous function instead of a named function. The difference is that an anonymous function has access to anything that is around it, while a named function only has…

Read more

MongoDB lookups

23 June 2019

As part of the MongoDB University course that I’m doing, I had to write an aggregation with a $lookup 😱And I learnt that lookups are effectively left joins, as we know them from relational databases…

Read more

Edit view vs read-only view

19 June 2019

At work we’re aiming to build a new system in the most Lean way possible. Which basically means that we’re trying to get it up and running with the most minimum amount of work and code written. The…

Read more

React Hooks in production

12 June 2019

Today I used React Hooks for the first time in a production project. Boom! Modern JavaScript. I used the state hook which replaces and . You no longer need a class component to keep track of state…

Read more

Upgrade to Neovim

05 June 2019

As a modern woman, I’d been thinking about upgrading to Neovim for a while. (OK, you might argue, that as a modern woman I should have upgraded to Neovim a long time ago. Or that I would not be using…

Read more

Backpressure and pressure-stream in Node.js

14 May 2019

I’m working on a story to take some data from one database, transform it and then save it in another database. So I need to write a script that does this. Luckily I’m not the first person to have…

Read more

Writing a bash function for find and replace

09 May 2019

I wanted to have a shortcut to find and replace words in the whole project. There’s this command that I googled and thought it was a bit long to type, let alone remember.I could see myself re-googling…

Read more

lodash fp

17 April 2019

Today my colleague Federico introduced me to the functional programming library of lodash. We were using . Here’s how we used it: We had a JavaScript object which first needed to be transformed into…

Read more

MongoDB projections

14 April 2019

Every time I have to do a MongoDB query I feel a bit uneasy… I know how to make some basic queries but the rest I always have to google. So I decided to start the Mongo University course for…

Read more

Studio 3T for MongoDB skillz

27 March 2019

Most of us at work seem to be using Studio 3T to access our data in MongoDB. Here are a few things that I've learnt that help me use it better.Shell shortcutTo open the shell to write Mongo queries…

Read more

MongoDB compound indexes

21 March 2019

I picked up a story at work today which is related to indexes in MongoDB. Basically, one of my colleagues had run a query to evaluate the usage of our existing indexes for a specific collection and…

Read more

Mangrove forests

16 March 2019

I was on holiday in Thailand this weekend. Yeah, digital nomad life is tough 🙂 But I still learnt something. My partner and I went on a snorkelling trip. And on the boat to the snorkelling spots we…

Read more

CSS Transition Group

14 March 2019

I read this interesting article this morning in bed (great excuse to stay in bed longer). It's about how someone refactored their frontend to use no (ok, minimal) JavaScript. One of the things the…

Read more