DEV Community

loading...
Jon Randy profile picture

Jon Randy

404 bio not found

Location Bangkok πŸ‡ΉπŸ‡­ Joined Joined on  Twitter logo GitHub logo

Last 250 comments

Clean up your code by removing unneeded indentation 🧹

These are quite poor examples TBH. The refactoring of the fir...

The good, bad and ugly of JavaScript

Last time? Quite recently actually. Challenged myself to writ...

Vue or React?

Vue or Svelte or RiotJS. JSX is an abomination

|| and && are not "logical operators" in JavaScript

Yup, it's great. Actually makes it way more useful than retur...

Lesson 4 - JavaScript Operators (Fullstack developer roadmap series)

Might be a good idea to include both postfix and prefix versi...

The Top Code Editors, My Experience

Lack of extensions for Sublime? I've never found this a probl...

What is the Double bang (!!) operator in JavaScript?

It isn't a double bang operator, it is using the ! operator t...

HotTea: v0.12a released. (AND I want feedback).

A Javascript library that intends to bridge the gap of brows...

Is it better to use JS libraries/frameworks or not?

This is precisely why so much modern code is so bloated and i...

Is it better to use JS libraries/frameworks or not?

Completely depends on what you're building. There's a huge te...

College is still better for coding

Most self taught developers I know started before they left h...

Basic Linux/Unix Commands We should know

Welcome to the light side of the force

Do you track your achievements?

No

College is still better for coding

Supposing you are someone who has not had a career in the β€œR...

How do you manage the content for your portfolio?

A nice portfolio is a must-have for any developer. Really?...

Top 9 Javascript frameworks/libraries for Front-end Development in the fall of 2020

RiotJS, Svelte

How to make an accurate estimate? You don't.

Estimation is a waste of time. Time that could be spent getti...

Do you listen to music while coding?

I find silence more distracting than music most of the time

What is JSX in React?

JSX is an abomination

How to manage multiple GitHub accounts on your local machine

Personally, I use GitKraken. Handles multiple accounts really...

How to manage multiple GitHub accounts on your local machine

Alternatively, use a GUI client that handles it for you :)

Front end frameworks which one to use?

Try RiotJS - you won't regret it!

Pair programming – a start guide for newbies

Wrong. It completely changes and restricts your thought proce...

Pair programming – a start guide for newbies

For me, programming is an intimately personal, creative activ...

Pair programming – a start guide for newbies

I personally cannot think of a worse way of programming

Do you have some kind of Pull Request Score in your company?

Sounds like somewhere I wouldn't want to work

JS Concepts: Value vs. Reference

Missed BigInt

JS Gotchas! (map with parseInt)

let date = "2020–12–12"; let res = date.split("-").map(x=&...

When should a person have their own portfolio website?

You really don't need one - at least to land a job anyway. I'...

My beloved PHP cheat sheet

<?php //Naming convention $first_name = 'Mike'. // all l...

Glued together my favorite libraries

Take a look at RiotJS

Why do people code?

At the start - curiosity. As a 7 year old, being able to make...

Dev Is Not Construction. It's Medicine.

πŸ‘ Man, you should write a book

Es6 Classes : new approach to emulate Object-oriented programming in JS

Just because JS uses prototypal inheritance rather than class...

8 neat Javascript tricks you didn't know in 4 minutes.

Coding to the lowest common denominator of syntax understandi...

Devs Shouldn't Report to PMs

100% agree with this. I was aghast when, during my interview ...

Which tool do you use for making a presentation?

I'm not sure I agree at all that making presentations in our ...

Kill the Caps Lock

I remap it to swap keyboard languages (English -> Thai)

Adding Methods to Prototypes, JS

Adding to native prototypes is generally a bad idea, unless y...

How One Developer Recreated AirDrop Using Just JavaScript

This app is 5 years old. Interesting it suddenly appears here

Creating a spell checker plugin for Gatsby

Huh? Why not just use the spellchecker in your code editor?

Stop Memorizing! : The #1 Advice I Wish Someone Would Have Told Me

This reminds me of some of the best learning advice I ever re...

React vs Vue vs Angular vs Svelte

You should look at RiotJS - it's on version 5 and appears to ...

Turn Windows into a usable development environment with WSL

Dear god, just use Linux. I switched years ago and never look...

5 reasons why YOU SHOULD LEARN React JS

JSX is an abomination

How not to Undercharge Web Design Project?

I only have experience of billing customers as a solo freelan...

How not to Undercharge Web Design Project?

When I did freelance work, I always charged by the hour, neve...

|RESTful| RESTful: Routes

Your notes contradict themselves with regards to the HTTP ver...

Why Should We Use TypeScript

Optional chaining and nullish coalescing are built into JS

How to empty an array in JavaScript

Nope. If you had another reference to the original array, the...

Why Should We Use TypeScript

TypeScript is a crutch for developers who can't stomach dynam...

How do you test your code?

How do you test your code? Manually

8 neat Javascript tricks you didn't know in 4 minutes.

Not really. If you have another reference to the original arr...

8 neat Javascript tricks you didn't know in 4 minutes.

Technically not emptying the array, rather replacing it with ...

14 Awesome JavaScript Array Tips You Should Know About

An easier way to copy an array: const fruitsA = ["🍎", "🍌",...

Why Older People Struggle In Programming Jobs

Embracing technological change is very much not the issue

A Rootin' Tootin' Beginner's Guide To React

That isn't remotely what your paragraph implies

A Rootin' Tootin' Beginner's Guide To React

Well, JSX allows us to do this a lot more directly What ut...

Git hook is the excellent alternative to Husky

So, going straight through Githooks instead of using Githooks...

Cool trick to filter undefined values from an array in Javascript

You answered this yourself in "Truthy and Falsy explained"

Cool trick to filter undefined values from an array in Javascript

const filteredArray = arrayToFilter.filter(x=>x) E...

Do you prefer TypeScript over vanilla JS?

No. No no no no no no no no no no no no. No. No No

Chrome DevTools: Grid Explorer

Firefox has had similar tools for a good year or so I think

Smart solutions to avoid JS problems and hacks

If this causes an issue for your page, you're doing things wr...

Smart solutions to avoid JS problems and hacks

Since the browser will always scroll to the previous scroll ...

Challenge of making a diamond of numbers

def main(): n = int(input("Input any number : ")) pr...

What are Template Literals?

developers.google.com/web/updates/...

What are Template Literals?

You missed out tagged template literals

What you need to know about Javascript's Implicit Coercion

If you thing is is best avoided, you aren't taking full advan...

Getting started with TypeScript as a JavaScript developer

We can't multiply a string! Well, actually, we can: &gt...

A Quick Poll!!

Many tools like this already exist. Top hit on Google was thi...

|JavaScript| JavaScript: Basics

This isn't correct. JavaScript has two numerical types: Numbe...

A QuickStart Guide For TypeScript

Being dynamically typed is one of JavaScript's strengths if y...

GitSheet - my git cheatsheet

I use Gitkraken - way easier, and very intuitive

Why Older People Struggle In Programming Jobs

Wow. I relate to this almost 100%. I've been a professional d...

JavaScript or TypeScript first?

JavaScript first, TypeScript never :P

Free React landing page template

Looks like a prime example of the type of page/site that does...

Which is β€œok” to be self taught in? Datascience, MachineLearning or Python?

All of them. If you can demonstrate the requisite skills, you...

Making Regular Expressions Readable in JavaScript

So you want to slow your code down for the benefit of perceiv...

Faster Way to Change Directory on Linux/macOS

This seems pretty much identical to "z", which is awesome - g...

Best JavaScript Frameworks 2020

Svelte does seem to borrow a lot from it. Riot is now at vers...

Best JavaScript Frameworks 2020

riot.js is the clear winner for me

WHY DO WE ESTIMATE STORIES?

I ask myself this question ALL the time. Estimation a complet...

The shell - missing semester notes

absolute paths: full paths determining the location of the f...

Mnemonics: declarative vs imperative programming

You haven't really described the difference between the 2 sty...

How to create your first Chrome extension

Why not mention that this will also (probably) work on Firefo...

Clean code exercises - part 1

The code should never be written that way in the first place ...

Clean code exercises - part 1

The if and two returns are entirely superfluous. This type of...

Clean code exercises - part 1

If, in a code interview, someone wrote code along the lines o...

What's your 1st programming language & What you use today?

Since 1983: ZX Spectrum BASIC (ZX Spectrum) Z80 Assembly La...

Recursion is Recursion is Recursion...

You could always Google it πŸ˜€

How did you get your first software developer job?

I was 19 years old when i got my first 'real' development job...

Basics of the Ubuntu Terminal

The description for touch is not really correct - touch is a ...

Useful Linux commands

touch {filename} => creates a file Not really - touch i...

Clean up your code by applying these 7 rules ⚑️

Why so verbose? Why not just: const mergeArrays = (...arra...

How to create a singly linked list in JavaScript

We will call this function transverse Maybe 'traverse'?

How To: Draw a World Map with D3 in just 16 lines

Many thousands more lines of code if you include all the impo...

How to provide estimates as a Junior Developer?

25 years of experience in similar industries says otherwise, ...

How to provide estimates as a Junior Developer?

Your question answers itself - if you don't estimate, you don...

How to provide estimates as a Junior Developer?

Simplest and best thing to do is not to estimate. Check out t...

⏰ How to nail time estimations

Of course I'm not saying I never know - I definitely know som...

Google PHOTOS DEP: Google will end its free unlimited storage on June 1, 2021

If you have a Pixel phone, you're ok I believe

Higher Order Function in JS

Higher-order functions are functions that execute other func...

What in the Heck is JSX ?

What in the Heck is JSX ? An abomination

What is WSL??

What is WSL?? An admission that Windows sucks? -ducks-

⏰ How to nail time estimations

That is what I do. My jobs are in the real world

⏰ How to nail time estimations

I would appreciate his honesty as builder's estimates are not...

Why svelte is revolutionary

Can be precompiled, or compiled on the client - up to you

⏰ How to nail time estimations

You can do it at any workplace. Stand up for yourself. If you...

Recursive FizzBuzz in JavaScript

Needs fixing for "FizzBuzz"

Recursive FizzBuzz in JavaScript

console.log([...Array(100)].map((e,i)=>(++i%3?'':'fizz')+...

Variables in JavaScript

Types - you missed BigInt and Function

⏰ How to nail time estimations

At work, I tell the PMs that I don't know, they then put a ti...

The Perils of PHP

Job listings for entry-level PHP developer roles have increa...

How to check if an array is empty using Javascript?

None

How to check if an array is empty using Javascript?

Why so long? const isEmptyArray = a=>Array.isArray(a) &...

⏰ How to nail time estimations

From 25 years of development experience, I've found it is be...

Understanding JavaScript Prototype

If you use Classes in JS, you're actually using prototypes an...

Understanding JavaScript Prototype

The "prototype" in JavaScript isn't the same thing as "proto...

State Management with a Single Line of Code

One line... plus 1.64MB to import the library, and likely add...

How to Build a Chrome Extension

Well, that's how to publish it to the website. It's possible ...

How to Build a Chrome Extension

Why not add the instructions for installing in other browsers...

What’s the Ternary Operator in Javascript and How to Use it

Not at all sure why you mention being able to do 'multiple op...

I spent 48 Hours coding in Nova and forgot about VS Code

I've still found nothing to beat SublimeText

How to Determine if a String is a Palindrome (in JavaScript)

const isPalindrome = s=>[...s].reverse().join('')==s ...

An Intro to JSX

What is JSX? An abomination

JavaScript Programming Problem 2

const vowelCount = s=>[...'aeiou'].reduce( (a,x)=>(...

How does JavaScript work? πŸ€”

Edge uses V8 since they switched to Chromium

How to Select or Omit Properties From an Object in JavaScript

Another way would be: const filterObj = (obj, f) => (o=...

Chatbot Analytics: Essential Metrics & KPIs to Measure Bot Success

Chatbots are terrible, except for some very specific use case...

What defines a senior software engineer?

Unfortunately though - in real life, having the title "Senior...

What defines a senior software engineer?

I'm not saying that it's a good predictor - but in 25 years a...

What defines a senior software engineer?

More often than not... age

How many email addresses do you use?

You should use plus addressing on GMail - can effectively use...

Building a basic website with Parcel

Why on earth would you use a bundler for a project of this si...

What was the most irritating quirk for you when you learned another language or stack?

Whitespace being important. I'm looking at you, Python!

What is a Senior Developer *Really*?

Whilst the above is sometimes true, from 25 years as a develo...

I made a thing (machi koro clone)

Firefox - but in this day and age that shouldn't matter?

Testing Non-Exported Functions in JavaScript

Wouldn't these non-exported functions really be implementatio...

I made a thing (machi koro clone)

Doesn't seem to do anything once I get to the game screen. JS...

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

Estimation is a total waste of time and effort. Avoid

How do you fight joint pain in your hands and wrists?

I've never once had a problem with this is 25 years as a deve...

Sorting Algorithms in Javascript Part 2

Wouldn't this be simpler? const swap = (arr, a, b) => { ...

12 Must Know Array Methods for the Next Interviewβ€Š-β€ŠJavaScript

I'd be dubious about working for a company that would give su...

Web Development Guide For Absolute Beginners!!

A simple website does not require CSS

Learn Data Structure and Algorithm in JavaScript | Part 03

Pretty in-depth, but no mention of BigInts?

Why svelte is revolutionary

Riot can also build Web Components, and has many other innova...

Why svelte is revolutionary

Not really revolutionary - Svelte is very much like RiotJS wh...

How do you deal with half-finished projects?

No project is ever 'finished'

TypeScript is slow. What can we do about it?

TypeScript is slow. What can we do about it? Stop using Ty...

What's your experience with pair programming?

Never done it, but it sounds truly awful

Face Recognition System Python

Let’s Code face Recognition System in Python! I wouldn't r...

7 Javascript Tips and Tricks

Beware - truncating an integer and using any of Math.floor, M...

3 reasons you should try Svelte

Or you could try RiotJS which appears to have heavily influen...

What are your favorite Microsoft products?

No favourites. I only use GitHub and LinkedIn. Try to avoid o...

What's the first thing you install on a fresh OS?

Firefox, Gitkraken, Sublime Text, GIMP/Glimpse

What's the first thing you install on a fresh OS?

Firefox has sync

What are you glad you no longer use?

Really? That surprises me. I bought a Dell laptop with Ubuntu...

What are you glad you no longer use?

Why would Windows save them money? Linux is free. I guess it ...

What are you glad you no longer use?

Windows

What OS do you use for development?

Ubuntu at home, MacOS at work. Not touched M$ Windoze since XP

Do Github stars matter?

If you're making anything and you're just in it for the stars...

The 5 Best Code Editors For Web Development

VS Code is a bloated resource hog. Sublime Text wins for me (...

What I realised after learning Python, TypeScript and Kotlin

Your variable naming in the "Loops" example is a bit weird - ...

What do you use to record the screen?

For Linux - I use Peek - it has a simple, clean interface and...

google logo with just html & css

Looks quite different to the real logo. Needs some work

Show and tell: Show off your VS Code setup :)

Yes, this is Sublime Text πŸ‘

Show and tell: Show off your VS Code setup :)

Theme: Afterglow Orange Font: Fira Code Color scheme: Railsca...

Intro To React [For Beginners]

JSX is an abomination

What is the difference between a junior and a senior software developer? 15 things I wish I had known sooner

What is the difference between a junior and a senior develop...

Find Duplicates in an Array

Shorter version of 2, using reduce: const findDupes = a=&gt...

Prototypal Inheritance In JavaScript

JS only has prototypal inheritance. What appears to be famili...

WOW!!! The Lorem Ipsum for photos :Lorem Picsum

Every one on that list provides images. Granted, some are ima...

A new way of tokenization of Chinese or How to make Chinese full-text search

I guess this doesn't apply to modern Korean (Hangul), since i...

WOW!!! The Lorem Ipsum for photos :Lorem Picsum

There are loads of sites that do this. Been around for years....

Two Ways to Rotate an Array in JavaScript

Why not just this? const rotateArray = (arr, k) => arr.c...

Learning Tries in Javascript

UPDATE: On further inspection, it's more luck than judgement ...

Learning Tries in Javascript

This code is very confused. You define a Node class and only ...

Javascript Tricks

Your "Function Closures" example returns the functionLevelTwo...

How to Copy a Big Object or Array From Console to Clipboard

Or just use Firefox, right click and 'Copy object'. Firefox's...

10 Things To Know As A Fullstack Developer πŸ‘οΈπŸ‘„πŸ‘οΈ

I always find it weird that the terms "Full stack developer",...

JavaScript Katas: Seconds To Minutes And Hours

Why write 4 lines when you can write 1? 😁

JavaScript Katas: Seconds To Minutes And Hours

const toMinutesAndHours = s=>`${~~(p=s/3600)} hour(s) and ...

Convert to Boolean

Solution 3 - why bother? JS has the concept of truthy and fal...

How to Validate a Palindrome

I will never understand why people write functions that are b...

Visual Studio Code Extensions, not just the "Must have top 10..."

The best one would remove VS Code and install Sublime Text πŸ˜›

Mastering rm command

Surprised you didn't mention why the name is rm

How to Become a Developer without a Degree or Boot Camp - is it Possible?

Yes. 100% possible. I'm self taught (from the age of 7 back i...

How GitHub Codespaces increase productivity and lower barriers

If VSCode weren't so resource hungry and slow, I might consid...

JavaScript Katas: Higher Version

higherVersion=(a,b)=>(c=v=>v.split('.').reduce((f,s)=&g...

How to build a CSS minifier with 8 lines of Javascript

Other minifiers may have extra features that replace black w...

What E-mail client do you use?

Google Inbox was - by far - the best email client ever. Quite...

How do you host a website for free?

fast.io for static sites

Building a Palindrome Checker using Split, Join and replace methods

const palindrome=s=>[...s.replace(/[\W_]/gi,'').toLowerCas...

Recommendations to speed up a web application

Why is not using a framework not a choice?

What irritates you the most as a developer? πŸ‘©β€πŸ’»πŸ‘¨β€πŸ’»

The overuse and overpromotion of React (sledgehammer to crac...

Creating a smart alternative to 'cd' command

Nope - check out the GitHub link

Creating a smart alternative to 'cd' command

Install z - it's awesome - github.com/rupa/z

Is TypeScript the future of web development?

God, I hope not

What is your #1 favorite web framework?

RiotJS

What do you do when you're tired at work?

Sleep

JavaScript Katas: Sort and Star

const sortAndStar = stringArray=>[...stringArray.sort()[0]...

Calm, Private and Healthy, A HEY Email Review

Google nailed it with "Inbox" in my opinion. Quite why they s...

Code anything in Javascript, with only 8 characters

I believe you only need 6 characters - ()+[]! There's a con...

Detect Adblockers

No warnings there. I use uBlock Origin

Detect Adblockers

Interesting. I've yet to come across a site that asks me to s...

Detect Adblockers

I would say that if a key part of functionality on your site ...

Cool stuff with Typescript

Perfectly illustrates why TypeScript is a crutch for develope...

Add a visitor count on your GitHub profile with one line of Markdown

You'd be better off checking the referrer to make sure the im...

Add a visitor count on your GitHub profile with one line of Markdown

So, this is also a new view of the page! πŸ˜„ curl https://pro...

Add a visitor count on your GitHub profile with one line of Markdown

Seems to add page views - pretty different from a real visito...

How to Make Visual Studio Code 150% Faster in Large Projects

Sublime Text FTW

[freeCodeCamp] Basic JavaScript - Objects

Nothing about getters and setters?

JavaScript Katas: Count the number of each character in a string

Golfed. Can anyone go smaller? πŸ˜› let c=t=>[...t].reduce(...

Hoisting in JavaScript

Hoisting in JavaScript allows you to access variables and fu...

JavaScript Katas: Count the number of each character in a string

Shorter version: const result = [...text].reduce( (acc,va...

Writing 'Testable' Code Feels Wrong

Testable using automated test frameworks

Why aren't you a full stack web developer?

Because that job description is vague and largely meaningless

What's your main browser for development?

Firefox. Always has been

What's the worst advice you've ever received?

I thoroughly recommend React

I'm still using Firefox

Firefox has always been my main browser, even before Chrome e...

4 Ideas of how to harness the power of Typescript generic function

I really fail to see what benefit TypeScript gives you. The s...

Most Esoteric Language You've Used

I dabbled in Rockstar for fun - codewithrockstar.com - I gues...

Explain what a programmer does. Wrong answers only

Programmers make lightweight web apps by using React for ever...

In what year did you learn Web Development?

Probably around 1998 - aged 22. I was doing mainly Visual Bas...

How to Shorten JavaScript Conditionals with Short-Circuiting

Also explaining that expression evaluation will completely st...

The most fun way to teach yourself frontend is free and was made by me

Problem is, it's opinionated. You can change the code to some...

How to Shorten JavaScript Conditionals with Short-Circuiting

Good explanation of how to use it to shorten code, but missin...

Prettier and the Beauty of Opinionated Code Formatters

Hence the system idea. You'd only ever work on a version styl...

Prettier and the Beauty of Opinionated Code Formatters

Can't stand them TBH - I disagree with so much of the formatt...

Do Qualifications Really Matter?

There was a time when it was almost impossible to acquire a ...

5 TypeScript features that will improve your codebase

Nullish coalescing is built in to JS and already available in...

Give one Short Piece of Advice or Wisdom to Beginning Programmers

Avoid React. And TypeScript. [ducks]

How JavaScript Variables Should Be Named

I would argue that variables such as loop counters etc. do no...

What's in your recent search history related to CSS?

"css in js bad idea"

Music or No music while coding?

Depends on the job in hand. Generally prefer music, but if in...

7 Useful Javascript Tips

Shorter way to filter falsey values: myArray.filter(x=>x...

6 Super Useful Menubar Apps For MacOS

My latest creation... The two next to this one are BitBar ...

6 Super Useful Menubar Apps For MacOS

BitBar is fantastic. Allows you to very easily make your own ...

Do you have a university degree?

100% agree

Do you consider the term "blacklist" a "racist" term? If yes, what is the alternative?

I just saw this on another site, but relating to the same iss...

What are your thoughts on testing and TDD?

I haven't used testing in any of my projects in a 26 year pro...

Do you consider the term "blacklist" a "racist" term? If yes, what is the alternative?

Yup. It's a slippery slope. Where does it end? How long befor...

Do you consider the term "blacklist" a "racist" term? If yes, what is the alternative?

Black kids are growing up in a world where scary things come...

Do you consider the term "blacklist" a "racist" term? If yes, what is the alternative?

Precisely. I really do understand where people are coming fro...

Do you have a university degree?

Back when I started programming, the 'high level' languages o...

Do you have a university degree?

I guess in the earlier part of my career - enthusiasm stemmin...

Do you have a university degree?

I don't have any degrees - tech related or otherwise. I've be...

loading...