DEV Community

FJones profile picture

FJones

404 bio not found

Location Munich, Germany Joined Joined onย  github website

Work

Senior Software Developer Fullstack/Frontend

All 89 comments

How React Works Under The Hood

So if you have a page which changes regularly (aka a dynamic...

Guess the output of this JS code

Output (i/num after iteration): 10 (1/9) 9 (2/8) 8 (3/7) 7 (4...

How we created a web-based typing experiment

Some small issues I noticed, haven't looked at the code for s...

Stop using if else

Are we just going to skip over the fact that switch exists? L...

๐Ÿ—œ๏ธ Optimal Tuple vs Record

(Technically, [number, number, number, number] is a quadruple...

TypeScript is the Only Programming Language you Need to Learn. One language to rule them all!

I still maintain that dogmatic type-safety is a crutch to sol...

RegEx in JavaScript with a cool project ๐Ÿ”ฅ

It also incorrectly matches: Multiple opening ( e.g. ((555)...

Random Password Generator

While the shuffle at least prevents the password from followi...

Passing Data with React Router using Link

It's worth noting that state doesn't work with HashRouter. Wh...

Progressing from a beginner to intermediate developer

Regex is great fun and hugely intuitive - once you get it. Un...

Progressing from a beginner to intermediate developer

Learn Regex <3 But: Don't parse HTML with it! Learn Regex...

Are You Bored Of Converting "px" to "em" Using A Calculator, SASS Will Solve The Problem

em [...] is equal to 16px What? No. 1rem is usually equal ...

Compare objects in JS

Iterating over keys has the problem that nested objects need ...

Why you should become a Full-Stack Developer

Importantly, make it an active choice. I see far too often ei...

What makes a package useless, or "When should I reinvent the wheel"?

Absolutely. And, to an extent, workflows (used to) promote pu...

/^15 Things to Know About Regex$/

Two things I would point out is that, algorithmically, regex ...

Include HTML-in-HTML: an iteration

Neat! Glad someone got around to doing this before I did. A ...

Include HTML Inside of HTML - Just Like React Components

This strikes me as a very interesting use case for webcompone...

4 Ways to Validate an Email with JavaScript ๐Ÿ“ฎ

Side note on using Regex to validate email addresses: stackov...

Browser and React onChange event: The conundrum

Side note: HTMLElement->input Event

You should probably learn TypeScript

I dislike TypeScript because it is highly opinionated, has il...

Can You become a Web developer without a degree?

It's true that a degree means you have a lot more knowledge ...

How to create an HTML generator with JavaScript?

For user-facing code, I would absolutely agree that handling ...

Rest v/s GraphQL !

Yes and no. The alternative is tailored endpoints, which lead...

How keeping a sketchbook can make you a better developer

Aaabsolutely. I recently switched from paper to a drawing tab...

Functional vs Class Components React

Counterpoint: ErrorBoundaries. Class components do have a pur...

JavaScript .filter() Method ๐Ÿ’ญ

Fun example: Because "classes" are functions, .filter(Boolean...

Amazing Profile Card Hover Using HTML & CSS

I think it's worth elaborating on BEM: Do not feel tempted to...

`at` coming soon to ECMAScript

Well then... What is? The only benefits over indices seem to ...

How to handle errors effectively in React JS?

Please don't use unnecessary plugins just to avoid writing cl...

9 Web Development Best Practices for 2021

The example of #header in particular is rather poorly chosen....

List Rendering in React

I notice that you aren't setting a key prop on the mapped ver...

A question on how to gain the experience needed for job entry.

It varies from firm to firm, but often experience requirement...

CSS Tip: What is Scroll Chaining?

My question with a lot of these supposed fixes is always: How...

"Am I a bad developer?" - A question developers commonly face

Even for the second group, it's often more a matter of memori...

Web components in 2021: the Good, the Bad and the Ugly

WebComponents are one of those things where we're getting toy...

5 simple ways to improve your website UI (for developers) ๐ŸŽจ๐Ÿ–ฅ๏ธ

One thing I've come to learn over the years is this: Don't b...

Stop pressuring people into programming

Goes a bit further than that for me, even. Most of what shoul...

Reverse switch?

A good rule of thumb I follow for switch(bool) vs if {} else ...

Signs that you're a Senior Software Engineer

I just grab my old date handling lib, gloss over it with the ...

Areas where Python is not recommended

Definitely true for app and game development, not entirely tr...

Do you prefer Light mode or Dark mode?

Aye. IntelliJ/PhpStorm/GoLand/DataGrip/PyCharm are all set to...

Web Dev in JS vs. Android Dev in Kotlin - what would you choose?

For much the same reasons as @jmfayard mentioned: The Androi...

Web Dev in JS vs. Android Dev in Kotlin - what would you choose?

That depends a lot on what you want. Money? Kotlin. Self-fulf...

A common language feature I never learned about in college

Huh. I wouldn't see "longer functions are okay" as an anti-OO...

Do you prefer Light mode or Dark mode?

Almost always light mode. Contrast is much more important to ...

Have you ever invested in tech stocks?

Directly, no. Very much a "don't sh*t where you eat" mentalit...

โ€œWhat is your current salary?โ€ is a red flag that you donโ€™t want to work here

I agree insofar as it is indeed an illegitimate question desi...

Why I don't like story-point-driven estimates

I have to very strongly disagree on cutting features to maint...

Why are people now worried about tiktok stealing their data, when Facebook, IG, etc. stole and sold their data for years?

Well, a large part of it is the allegation that TikTok is sub...

What is your current job title and what do you aspire to be?

"Senior Software Developer Fullstack/Frontend, After-Sales Ca...

Run-here to refer back to some line

I'm struggling to see the point. What platform would this be...

Power of window object in javascript

Most debuggers these days let you execute console input in th...

Daily Challenge #280 - Driving School

minutes => Math.max(0, Math.ceil((minutes-65)/30)*10) + (m...

What Shell are you using?

Heavy zsh on local, bash on remote. Startup time with oh-my-z...

What design tools do you use?

XD and UXPin for prototyping, Photoshop for graphics.

Should I report to my supervisor if 1 of my team mate is not doing his work? Or would that mean I'm not a good team member?

I think we need more details here. Is that team member not do...

PHP Functions every beginner should know.

Some additions: Avoid exec if possible! A great many use-case...

Stop with the arbitrary restrictions on passwords

+ and / generally for double-caution when it comes to URI-enc...

I'm Javascript. And I'm done taking your shit.

I won't rehash the arguments about the specific features (mos...

I'm Javascript. And I'm done taking your shit.

And yet, none of the examples you list are ones I find partic...

I'm Javascript. And I'm done taking your shit.

Aye. Much as the comedy is appreciated, I think a lot of it d...

AI is a threat! Really?

I think it's quite important to make a distinction here: On ...

A little bit of CSS micro-interactions and some cards

I'd have to toy with it, but I think reducing the bg and ti...

A little bit of CSS micro-interactions and some cards

Very nice! Personally, I find it to be a bit too much and t...

GraphQL In Action: Introduction

Excellent write-up. Fits nicely with the GraphQL 101 I'm ho...

Change my mind: tests are overrated

I think there's a good point about nuance in testing to be ...

Daily Challenge #188 - Break camelCase

function ccbreaker(string $input): string { return preg...

How to add Barrels in TypeScript (or JavaScript)

Sorta. Don't do that... with a blanket export. Having an i...

What's the best documentation you have ever read?

I'll put in a tentative vote for A Tour of Go. Tentative be...

Increasing my PageSpeed score from 92% to 100% using CSS only

Since base64 image urls are just that - urls - it should wo...

Increasing my PageSpeed score from 92% to 100% using CSS only

Notably, sprites are becoming less useful with H2 and with ...

How to bundle mutiple JS and CSS files into single bundle ?

This. Replace with gulp and gulp-concat if you need more th...

How programming languages got their names

"the programming language" does make for a nice tagline, to...

Au Revoir, Gentoo - Sell Me A New Linux Distro

Particularly with the background of wanting easier - and le...

Currying in JS ๐Ÿค 

Another (arguably more important in practical use) aspect of ...

Lifting State Up

This, in turn, is why Redux is such a common part of React de...

Flexible code considered harmful

This is something I have been noticing a lot particularly r...

web-extension - cross-browser compatibility - Firefox, Chrome, Opera in one line

Even shorter, thanks to short-circuiting, is const nav = ch...

What is your Favorite Browser?

I went from Mozilla to Firefox, then on to Chrome when FF w...

What's the best thing to do when you've run into a debugging dead end?

Try a different approach. Been using your debugger all thr...

How many programming languages do you know?

In order of familiarity*frequency of use: PHP JS in variou...

Git Revert to a Good Commit

While I agree with the sentiment that this helps understand...

Videojs Player Issue (Help)

VideoJS does not come with a quality selector by default - HL...

loading...