Elixir: Saving a tuple in Postgres
You can sort of get it working - but should you? I'm writing a Connect Four game application in Elixir. I wrote game logic which expects to…
A place to share what I've been learning and making.
You can sort of get it working - but should you? I'm writing a Connect Four game application in Elixir. I wrote game logic which expects to…
There's a Node / TypeScript SDK for interacting with Azure Table Storage tables. The query capabilities of an Azure Table Storage table aren…
Today I learnt about Azure Table storage. At work I needed to find out how many users prefer one UI setting over another. This data was…
A colleague and I were tasked with transforming a legacy Flow codebase to TypeScript. I thought I'd share what I learnt during this project…
As in many other languages, it is possible to have default method arguments in C#. Today I came across a use case for default method…
I've worked asynchronously for over two years. During my first experience, it all worked pretty smoothly and I assumed that it would always…
A few weeks ago I was lucky enough to work on a codebase that was getting setup with Terraform. I had never used it before, so it was great…
...and I think that's a good thing! Let me explain why. I write JavaScript in my day job and nesting describe blocks in my tests is such…
I only just started working with styled components and they seemed pretty straight forward to use. You can use any HTML tag of your choice…
When you want to test some simple and repetitive logic, it makes sense to loop over the input and output data and run the test for each. A…
Lerna is a tool for managing mono-repos, i.e. Git repos that contain several projects. I'd worked on a repo before that used it but never…
Today I learnt that you can have conditional statements in your .gitconfig file. This was useful because I now have a second Github account…
Prototype pollution seems to come up quite a lot when tells me to upgrade packages. It's a vulnerability that has to do with the way…
I've been learning more and more about web security recently and today I came across the concept of a web shell. I was going through a…
Clickjacking means that a user's click is highjacked for a different purpose. The user thinks they’re clicking on one thing, but in reality…
Today I learnt that both of those function could potentially make your code vulnerable to remote code execution! I only knew that the and…
Who would have thought that I'd learn a new German word at a conference in Australia - from Martin Fowler! My first language is German. I…
Adding salt to a password before hashing it makes it more secure. Recently I learnt exactly why that is. When you save a password in your…
I hadn't written for the Tes blog for a while, so I thought I'd write a little article about functional programming concept that we…
We're migrating our old Hugo blog at work to use Gatsby. Mostly the markdown pages can stay the same - except the frontmatter sections at…
Smoke tests are tests that are run to ensure that the most basic functionality of a program works. So not testing all the edge cases but…
This is an awesome one. Let me explain. Today our whole team at work is spending a day of paying off technical debt. Ok, that’s not the…
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…
Today I had an error because I was trying to set some data on a nested object in MongoDB, except that the parent key was null in one case…
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…
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…
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…
I've recently done a lot of pair programming remotely and tried a few different tools. I thought it would be interesting to share my…
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…
Every time I cook rice, I ask myself this question. Today I looked it up. I figured that it would have some sort of sensor to measure the…
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…
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…
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…
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…
Recently, while I was pairing with Federico, he wrote some code like this: And my reaction was: "You have a rogue comma there!" But no… he…
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…
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…
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…
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…
One of the many wondrous things you can inspect in the Chrome developer console are the cache-control settings. The first value it specifies…
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…
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…
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…
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…
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…
I’ve been doing the MongoDB for JavaScript developers course by MongoDB University. Today I learnt about write concerns. Let’s say we are…
In Elixir you sometimes need an anonymous function instead of a named function. The difference is that an anonymous function has access to…
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…
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…
I’ve worked with JavaScript for a while now but somehow I had never come across the function to display dates in the front end. The…
Today I used React Hooks for the first time in a production project. Boom! Modern JavaScript. I used the state hook which replaces and…
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…
It’s as easy as this. In your code, use . And when you run your script with set the environment variables first. So it’ll be something…
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…
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…
An index on a specific fields means that when we do a query using that field, it will be more performant. But what happens when not all…
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…
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…
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…
I wrote some user stories for a new feature today. I tried to break them down into sensible chunks, as you do. Each story should bring value…