DEV Community

loading...
John Kazer profile picture

John Kazer

Interested in making life easier and smarter. Amazed by the power of the modern web. solarfuture.org.uk

Location Cambridge, UK Joined Joined on  Personal website http://www.solarfuture.org.uk github website

All 172 comments

✔||🤢 Commit or Vomit | function currying 🍛

It certainly takes as bit of a shift in thinking to use curry...

State Machines: Should this be a state, or in context?

I like the rule of thumb your penultimate paragraph implies. ...

React to Elm Migration Guide

Any views on the differences between them regarding app scala...

ReasonML & Rescript in 5 minutes

I'd like to give them a go but time limits mean I'm gonna kee...

Why “dark mode” is more energy-efficient: How to calculate image energy-cost

This might be useful/interesting - just released info with so...

Why “dark mode” is more energy-efficient: How to calculate image energy-cost

Take Lomborg with a pinch of salt. He thinks only the perfect...

What was your win this week?

Made a release 6 months in the making with 3 minutes to go be...

Migrating from Lastpass to Bitwarden. I'm changing password manager 🙅

I don't really understand this desperate urge for a free pass...

Turn Your Figma Designs Into Animated Slides

I did a brief exploration of Figma's accessibility to enable ...

✔||🤢 Commit or Vomit | + cast

Make it explicit and also tell us what to do if the type does...

Higher-order functions & Why you should use them

Your final example is more-or-less currying, which would also...

✔||🤢 Commit or Vomit | Easter eggs

I recall from the early days of electronic car media systems ...

If (all) else is complicated, switch to switch?

Sounds like Ramda cond. Thinking about a switch statement in ...

What the hell is Reactive Programming anyway?

How would you fit state charts/machines into this? On the bas...

How React isn't reactive, and why you shouldn't care

There is a reasonable amount of literature around reactive pr...

Fundamentals of Functional JavaScript

Might also like Hyperapp

Fundamentals of Functional JavaScript

Thanks, that was a good intro. JavaScript I've found is reall...

So, how many of you respect CSS as a programming language?

I spend futile time wondering what we would use for styling a...

TypeScript and why you should type your JS project

Having types of some sort helps me greatly in just writing fu...

TypeScript and why you should type your JS project

Could you list a few?

TypeScript and why you should type your JS project

I think I'm just gonna make the jump from using jsDocs for ty...

How To Create A Global "JSON Search Algorithm" In JavaScript.

You might find fusejs interesting as a search library - the "...

How To Create A Global "JSON Search Algorithm" In JavaScript.

There's a library called fusejs that flattens out objects wit...

Microsoft Excel is Now Turing Complete

Having tried (and mostly failed?) for quite some time to get ...

Is Redux Dead?

I really like XState, but I don't have much experience of bui...

Is Redux Dead?

Hmmmm xstate at 8%, what do you consider it's role to be and ...

What are you listening to while coding?

Brain.fm I can't cope with anything with vocals when working

Cold Hard Truths About Software Engineering I Understood After 9+ Years

Need a follow-up on the warm fluffy truths about software eng...

Cold Hard Truths About Software Engineering I Understood After 9+ Years

I guess a key thing missing from the post is the purpose to w...

Best Programming languages in 2021

That was pretty much my view of ReasonML as well - I saw lots...

Best Programming languages in 2021

ClojureScript!

Learn the basics of Socket.io by making a Multiplayer Game

Ah right :-) Thanks.

Learn the basics of Socket.io by making a Multiplayer Game

This is a great example. Minor issue is that the link to the...

How To Learn React in 2021: The 7 Skills You Need To Know

Thanks for highlighting the key issues. Step 2 is huge. Can ...

You don't need classes

I think classes might have a role once your code is mature an...

Typescript vs ReasonML

Thanks for that. I was investigating ClojureScript but reason...

Animated input field for better UX.

Why not? What's the issue in your view?

Is web security broken?

A new tool from Microsoft might help? I dunno... stackshare.i...

Is web security broken?

But surely security is a bit more fundamental that "what's th...

Is web security broken?

But why isn't your ability to write something as true as this...

React Developer's Crash Course into Elm

You can use Xstate state charts/machines with React, which is...

Do you still use Lodash and Underscore in 2020?

In what way? I realise Ramda has a different attitude to para...

How to pass function to Web Workers

Are there any security issues?

Do you still use Lodash and Underscore in 2020?

Never really tried, I use Ramda instead.

Sprinkle some Elm in your React

What do you think about Hyperapp (Elm as a JS framework) or u...

What do You do When You're Stuck?

I try to remember what I read in this short book(let) by Jame...

Tailwind is just a mess

Fair enough, although I guess is a bit like using Vue vs reac...

Tailwind is just a mess

Well obviously you need CSS now, but what I mean is that if y...

A process is the opposite of personal interaction

Excellent points and good examples thanks.

Tailwind is just a mess

I still don't really get the need for CSS at all, other than ...

Tailwind is just a mess

But isn't the original question about readability and underst...

What do you use to record the screen?

Screencastify, a chrome/edge extension. Sync with my Drive ac...

What would happen if Facebook pulls out of Europe?

It'll become a paid-for app? Like WhatsApp was in the early d...

You are being manipulated

Choose not to work for a negative impact company (although th...

You are being manipulated

It's still a broken system though trust people vote for the r...

Classes are just a fancy way of writing higher order functions

Huh. Closed the final bit of the loop for me in terms of stic...

Is W3Schools deprecated? Why?

There is no clear "right away" to build a front end so as a b...

A Functional Pipeline Example

I particularly like the jsdocs comments.

Powerful unknown web APIs

Definitely. Although I really like using a virtual DOM, as it...

Why do we write JavaScript like this?

If concerned about performance over functional clarity should...

Why do we write JavaScript like this?

From a functional point of view I find that Ramda makes a goo...

Why do we write JavaScript like this?

Makes me think of an interesting split of opinion or approach...

What Subset Of The Language Do You Not Use?

I guess the worry with iterators (used by for loops and such)...

What Subset Of The Language Do You Not Use?

Most reading I've done suggested recursion is more robust bec...

What Subset Of The Language Do You Not Use?

Bit surprised by recursion on the list. Especially after I tr...

Loading state design revisited in Elm

Is a start chart/machine an alternative? I don't know what op...

What's a function you've used/wrote that brought you joy?

The first time I used recursion in production code and then r...

An Introduction to Things My Students Never Read

I like your writing style. Also reminded me of how good style...

Why Clojure?

I've started with clojurescript and loving it. Just wish had ...

Mere Functional Programming in F#

Do you (want to) use state machines to describe UI? I've been...

Why I love learning functional programming

Other than struggling (in JavaScript) to keep track of types ...

Why I love learning functional programming

Hi @pentacular , your definition sounds more like Prolog to m...

What new software libraries and tools etc. are you excited about?

I had a lot of joy learning the basics of clojurescript, woul...

What´s wrong with Array.reduce ?

The problem with reduce is that there are two things happenin...

What new software libraries and tools etc. are you excited about?

Clojure or ClojureScript?

[Rant] Why I'm going back from VScode to Vim😡

I suppose you could fix the bug yourself or stick with an old...

What harmful habits do developers pick up over time?

Wasting time arguing over which os or ide or whatever is terr...

OOP or Functional or Both

Both! For me the control logic is functional whilst represent...

Matrices, What Are They Good For?

I have been considering the relationship between matrices and...

Why I created a social network

I too am building a social network! I'm enjoying learning abo...

Squarespace vs. Webflow

You're right about the learning curve for webflow. I do like ...

What is your pettiest programming-related opinion?

Functional JavaScript is better than typescript.

What is your top tool that most devs would be surprised you use regularly?

Whimsical.com, for brainstorming simple wireframes, flowchart...

5 Way to Append Item to Array in JavaScript

The point about not mutating if you need the array elsewhere ...

THINGS THAT WILL HAPPEN IN THIS DECADE (2020s)

New tech often disrupts briefly then if it has value will be ...

StackOverflow isn't as useful anymore? I use GitHub more often.

My problem with StackOverflow is that I've never ended up wit...

Today is Earth Day; Devs can have an impact

Tomorrow have a couple interesting apps in open source, one i...

How I refactor large functions using composition

Enjoyed that example, thanks. Totally agree about lenses! T...

#discuss Best course for functional programming?

Pretty broad question. What type of project are you thinkin...

How do you keep track of what you've learned?

Endless onenote pages. Most of which I don't revisit but I ...

The Ins and Outs of Sustainability Measurement and Reporting in 2020

As a sustainability professional who dabbles in webapp dev I ...

The Power of Recursion in JavaScript

I like the fact that everyone has labelled this one for fut...

I Built Coronavirus Live Monitor - stats, news, and WHO press releases on the virus all in one place

I'd be very interested if someone could build a parallel syst...

Composing Functions in JavaScript

What I really like about the composition concept (and funct...

I thought I knew JavaScript …

You got more feedback and responses in dev.to :-)

Why is map called map?

I would also add that programming adds to the original math...

Moving Past Tutorials: Pseudocode

Having started to properly learn functional programming I n...

Styled Components vs. CSS Stylesheets

You made a clear point for me - engineers will like compone...

What's the most wasteful software?

For the back end Microsoft has plans blogs.microsoft.com/bl...

10 life-changing minutes with Clojure (Windows)

Minor change needed (I guess maven has upped security), need ...

Do PWA's eliminate the requirement to learn mobile frameworks?

You might find this recent Medium/Better Programming articl...

The Curry-Howard Correspondence in C#: Part 2

What's the relationship of this concept to Prolog? It's bee...

Do PWA's eliminate the requirement to learn mobile frameworks?

Without comprehensive knowledge on my part, it will certain...

4 FREE Tutorials YOU need to become a JAVASCRIPT frameworks CHAMPION !!!

Is the length of the tutorial meaningful? I mean, 5, 6, 3, ...

CSS Only Modal using target

I don't really want my app state spread over CSS, HTML, Jav...

What do you wish to know about JavaScript when you were in university?

It is true that you can 'use' JS quickly and for a lot of t...

The future of Javascript - features to keep an eye on

I try to use Ramda lenses to create a sort of interface to ...

Do We Really Need to Separate the Model from the UI?

I don't create components in the React sense. I create a se...

Do We Really Need to Separate the Model from the UI?

Yes for sure. I work on relatively simple apps. And I also ...

Do We Really Need to Separate the Model from the UI?

If you have a single global state, then for me the separati...

Unethical programming

Rather than avoiding unethical actions go for ethical actio...

JavaScript Data Structures: Singly Linked List

O (ah hah) finally an explanation of why use linked lists... ...

Handling objects with Ramda

What I like about Ramda functions for objects is that they ...

Example: Imperative vs. Functional

I like a functional approach because I prefer the way of th...

Do you actually use maths as a developer?

I'm using state charts/machines and functional programming ...

Add Real-time to your Java App with Azure SignalR Service

If I'm currently communicating with service workers using a...

Should I start by learning vanilla Javascript or a framework?

A common thread it seems is that knowing a framework means ...

What is 'this' in JavaScript

Kinda exactly the reason I don't use this. Context dependen...

The Power of Higher Order Functions in JavaScript (With examples and use cases)

It's really useful to see the logic and workings, thanks. I...

Lodash and Underscore, is there still a case?

If you make JS more fully functional, there would be little...

Your side project is useful, even if no one uses it

Practice and regular output are key to learning and creativ...

JavaScript - The "this" key word in depth

I just try to avoid using this altogether, always seemed mo...

😰 Optional chaining trap !

Ramda pathOr? I guess it doesn't tell you where in a path i...

Top 3 Tools For Boosting Your Productivity

I use a Skype chat app I wrote as a side project to track m...

8 Habits For Beginning and Mid Level JavaScript Developers That Sabotage Your Future

I'm finding that converting to a functional style of JS in ...

Parents of DEV: How are you teaching your children about technology?

Both mine (4 and 7) intermittently enjoy scratch junior and...

Apps and global warming ?

Make software interactions between apps and APIs as secure ...

What's your preferred method for inserting DOM elements in vanilla JS?

I like pug and having started to learn functional programming...

How do you limit or avoid procrastination?

I try to have something to look forward to. So don't do eve...

Is it necessary to learn touch typing?

Great for documentation, email etc. Getting rid of distractio...

Moving Past Tutorials: 8 Tips for Problem Solving

Don't forget that folk wrote code before Google arrived ;-)...

Moving Past Tutorials: Receiving a Problem to Solve

I try to write the why of a piece of code, what was the tho...

Moving Past Tutorials: a course on problem solving for programmers

I'm late to this but have found learning functional program...

Moving Past Tutorials: a course on problem solving for programmers

A functional programmer would probably disagree with the "l...

If you could change one thing about learning to code, what would it be?

I almost started to learn to code with lisp and prologue, b...

dev.to API: How to Turn DEV Posts into Postcards 📫

Thanks, very useful :-)

How can I make slides beautiful without a Mac?

Slides.com for html and CSS styling and themes (works offli...

Being A Woman On The Internet Is... "Fun": A Scientific Study

An example from astrophysics foxnews.com/science/internet-t...

Junior Developers Should Start A Technical Blog Early In Their Career

Like many things, the best way to get better is to practice...

VSCode in browser

I'm fairly sure Microsoft is gradually implementing VSC in ...

Is Haskell bad for FP?

I'm learning FP with JavaScript, trying to escape from the ...

In defence of vanilla JavaScript

Which is fine when you already know why you want to choose ...

In defence of vanilla JavaScript

I tend to agree with the view that if your code reached a l...

How to convince junior developers to learn basics first?

True, there is little better than seeing your code working ...

How to convince junior developers to learn basics first?

Unless the know the basics they won't know why particular f...

What goes through my mind while writing a function 😵

This is a much better way to communicate the problems and t...

The Rise of Microsoft Visual Studio Code

Azure has an in-browser simple version of VSC which is grad...

brain.js - Neural networks in JavaScript

I built a sentence matching system using this library. It m...

Teaching Functional Programming: Two Big Picture Approaches

Very interesting thank you. I find myself writing JavaScrip...

Remembering that "functions are objects" can help in writing more concise code

Don't forget that there are folk of different knowledge lev...

Remembering that "functions are objects" can help in writing more concise code

A useful article thanks but the smug tone is not necessary....

Code Is Dead!

Code is dead because of AI...

what works for you while self learning? What keeps the motivation? What stops you from giving up?

Work in a sector you believe in

In defence of vanilla JavaScript

Also I read "JavaScript the good parts" but it's not really...

In defence of vanilla JavaScript

there are some useful links at the end of this amusing but ...

In defence of vanilla JavaScript

it is true that we can't survive without open-sourced libra...

Rethinking CSS

thx!

In defence of vanilla JavaScript

lol

Rethinking CSS

Elm-ui is no longer maintained?

Does your website really need to be larger than Windows 95?

Bloat leads to opportunity cost for users. If your apps wer...

JavaScript and manipulating the DOM

You can do so many different things with the same code: des...

What I learned in the first three months of working as a web developer

Completely agree! When I started professional programming I...

What are the hardest programming languages you have ever learned?

First language was LISP, for programming neural networks in...

loading...