Things I've learned about building computers
Jack Franklin
by Jack Franklin
2d ago
Recently a computer upgrade went from one graphics card to a new case, new fans and a new graphics card. Along the way I learned a bunch and I'm writing this blog post for future reference when I next perform a PC upgrade. Check your graphics card fits the case I was upgrading from a very old, and small, GTX 1060 up to a very large GTX3080...naively assuming that my existing case would fit. It did not! Lesson learned is to measure or find online the GPU dimensions; all cases will specify the max size GPU that they support. Stock CPU coolers are loud I had been running the stock AMD CPU cooler ..read more
Visit website
Why you should check-in your node dependencies
Jack Franklin
by Jack Franklin
1y ago
On every team at every company I've been at prior to my current role, the advice was simple: don't check your node_modules folder into your version control system (which I'll refer to as “Git” for the rest of this article…). This seemed like solid advice for multiple reasons: The code within node_modules isn't authored by the team directly. The code within node_modules is often quite large and would cause a lot of noise in git diffs and pull requests. The code within node_modules can easily be replicated with an npm install. I currently work at Google on the Chrome DevTools team and we check ..read more
Visit website
Working in small chunks
Jack Franklin
by Jack Franklin
2y ago
Although occasionally you'll be given a task to complete which can be completed in no more than a few hours, most of your work is likely going to consist of features that will take multiple days or even weeks to complete. I've found that the longer a piece of work takes, the more likely I am to lose track of my progress, forget which part of the feature I was going to build next, or realise I've done work in the wrong order and have lost time because of it. Regardless of how easy or hard the new feature is to build, the longer it takes the more important it is to break the work down into manag ..read more
Visit website
Comparing Svelte and React
Jack Franklin
by Jack Franklin
2y ago
Last year I created Pomodone, a small time tracking application based on the Pomodoro technique of working in 25 minute intervals. It's a pretty basic app; it has a 25 minute timer (that runs in a Web Worker) and saves a history of your "poms" to a small Firebase database. I initially built it using React (well, Preact actually) but I then started to play around with Svelte, and decided rebuilding the app in Svelte might be a nice way to blog about the similarities and differences between the libraries. This is not a post declaring Svelte to be better than React, or vice-versa. This is a post ..read more
Visit website
VSCode Productivity: Navigating files with Breadcrumbs
Jack Franklin
by Jack Franklin
2y ago
Over the next few weeks I'm going to be sharing some videos demonstrating parts of my workflow in VSCode - from managing changes with git (today's video), to reviewing pull requests, to running tests, and so on. Today I want to share how I use the VSCode Breadcrumbs with a handy keyboard shortcut and a bit of configuration to make jumping between files in the same directory really efficient: You can also watch this video directly on Youtube. If you've got any questions, comments, feedback, or just want to say hello, get in touch with me on Twitter ..read more
Visit website
Remapping Keys on Windows 10 with Power Toys
Jack Franklin
by Jack Franklin
2y ago
Since moving to Windows 10 something I've always struggled with is how to remap keys on a keyboard. I don't remap much, but one remapping that I've used now for about ten years is that I remap Caps Lock to ESC. This started when I was learning Vim, and has become so commited to muscle memory that I can't go back from it and I'm rendered useless on any machine that doesn't have this mapped! On Mac OS this remapping was easy; the keyboard settings lets you remap certain keys, and tools like Karabiner Elements offered far more control. On Windows however, I could never find a solution. I used unc ..read more
Visit website
Software Development on Windows 10 with WSL2
Jack Franklin
by Jack Franklin
2y ago
Back in October 2019 I'd taken the plunge and tried Windows for my development work. It was largely a succesful experiment. By using the Windows Subsystem for Linux (WSL), I was able to run most of my tools effectively in Linux, something I'm familiar with, and with VSCode's WSL Remote plugin, I could run VSCode in Windows connected to the Linux environment provided by WSL, and things felt very familiar. Shortcomings of WSL That said, there were some minor issues and frustrations with WSL and this workflow. The main one was that WSL 1 was known to be much slower at file reads and writes. You m ..read more
Visit website
Writing good comments: the why, not the how
Jack Franklin
by Jack Franklin
2y ago
Code comments often get a bad reputation amongst developers as a waste of time, or a sign that your code could be improved. Here's a quote from a CONTRIBUTING.md file I found on GitHub (and there's many, many more like it): Comments should be avoided. If the code cannot be understood without comments, re-write the code to make it self-explanatory. I think this is pretty poor, incorrect advice the vast majority of the time. I think this stems back to most people's experience learning code. I have a strong memory of a lecturer in my first term of my Computer Science degree (although you'll fin ..read more
Visit website
Testing event listeners in JavaScript
Jack Franklin
by Jack Franklin
2y ago
Testing JavaScript code that's asynchronous can prevent its own set of challenges that you have to ensure you deal with when writing your tests. I recently came across a test that fell foul to the asynchronous code it was trying to test and in this post I'll show you how to look out for these tests and how to fix it. The problem Let's imagine we're working on an API that lets you make requests to load pages in a web browser. We have a Page class that provides the makeRequest method that will emit a request_started event: const EventEmitter = require('events')class Page extends EventEmitter {m ..read more
Visit website
Better code reviews
Jack Franklin
by Jack Franklin
2y ago
When you get a code review request from a colleague, what do you focus on? What reaches the bar for what you consider something that's worth commenting on? And do you make it clear when you're making a comment on something vs considering something so important to change that the code review shouldn't be merged without it? Code review is hard. I've seen people do it really well and people do it really badly, but most of us are somewhere in the middle. Giving feedback to people is hard, and it takes practice to be comfortable taking feedback on that large piece of code you've spent the last coup ..read more
Visit website

Follow Jack Franklin on Feedspot

Continue with Google
Continue with Apple
OR