DEV Community

loading...
Theofanis Despoudis profile picture

Theofanis Despoudis

Senior Software Engineer @wpengine, Experienced mentor @codeimentor, Technical Writer @fixate.io, Book author

Work

Senior Software Engineer at WP Engine

Last 250 comments

Hacktoberfest just changed its rules

As always it's because people trying to game the system that ...

Cracking the top 40 Facebook coding interview questions

Gee 3 months preparation. I have better things to do...

What are/were your go-to resources for learning Django and Django REST Framework?

The official docs....

I failed an interview because of an algorithm

The way I see it is using a custom comparator function in Arr...

How to read Haskell Documentation. Step by step guide.

That's awesome. Reading though your thoughts in the article I...

Are you in the GitHub Arctic Code Vault?

Yes!

Why I Stopped Using Redux

That implies that you know how to create correct state machin...

What keyboard do you use?

Gee 310โ‚ฌ for a keyboard? Are you serious?

Longest substring without repeating characters, solving Google interview question.

Epic!

Performance aspect of Deno vs. Node

Does HTTP2 make things easier?

Solving Algorithm Challenges in Haskell: Anagrams

Thank you for the tip. I will update the article.

Solving Algorithm Challenges in Haskell: Anagrams

TIL Data.Map.fromListWith

Build a Photo Gallery PWA with React, Spring Boot, and JHipster

Awesome!

Help: I am looking for some online tool for retrospectives

funretro.io/

Which game are you playing right now?

starcraft remastered. En Taro Adun!

Write With Fauna - Calling JAMstack Enthusiasts!

Wow great!

Functional design: Algebraic Data Types

ReasonML is way more readable...

Introducing our April 2020 sponsors

I like Alcide. I've written a couple of articles in their b...

Exploring the Two Sum Interview Question in JavaScript

Does this work with negative numbers?

Dependency Injection in Go using Fx

How does this compare with wire?

Bootstrap 5 dropping IE 10 & 11 browser support: where does that leave us?

We are free, at last!

My Four Year Quest For Perfect Scala.js UI Development

I've used Mill and it's way better than SBT (I'm maybe bias...

My Four Year Quest For Perfect Scala.js UI Development

I agree, TS looks good from the outside but when you start ...

Google puts off holding Cloud Next '20: Also, they asked for sexual orientation during Registration?

That is way out of context. What are they trying to sell yo...

Avoid Coronavirus (COVID-19) but Don't go hangry.. ๐Ÿ˜ซ Use grocery shopping apps if you value ๐Ÿ•›, ๐Ÿ’ต, and not ๐Ÿคฎ

That assumes that you have available delivery slots. Curren...

There is an opportunity everywhere

Make you wonder how fragile the system is. It only takes le...

Are early-stage startups "dead-by-default" when Coronavirus is causing significant harm to the worldโ€™s economy?

Depends on the startup. If their target group is in the hea...

My Four Year Quest For Perfect Scala.js UI Development

Nice, but let's be honest: Scala.js UI development is somethi...

Six Ways a Russian Hacker Attacked My Website

You should play with some Honeypots

#remotelife 101

$15,000? I find it very expensive considering their curriculu...

GitHub acquires npm, Inc.

AFIK, non US-Based Git platforms include Bitbucket. Then yo...

GitHub acquires npm, Inc.

It's a law issue from the US. I'm not living there so I wou...

Old post surging?

I'm rarely on HN. Good for you. Reading too much HN seem...

GitHub acquires npm, Inc.

Iโ€™ m looking not only for npm alternatives but github alter...

How will Covid-19 change things forever?

A deadly one....

How will Covid-19 change things forever?

Spanish flu is history ( it happened more than 100 years ag...

Old post surging?

Well, you can say that you wrote some hidden treasures...

Whatโ€™s new in React Router v6

Awesome

Communication Between Micro Frontends

Ow my I smell trouble with those approaches. It looks like th...

Introduction to Ed Editor

Classic

Why code changes are error prone

Regression testing would also help here

Why programmers should seek after mathematics?

Maths are everywhere in Programming (see discrete maths and...

Google Javascript Interview Question - Remove Duplicates from Sorted Array

This will not work on objects sadly. It will work only if t...

Google Javascript Interview Question - Remove Duplicates from Sorted Array

Based on the code you've given: nums.sort(): Is O(nlogn) w...

Typescript Utility Types

Record, Partial, Required and Readonly are the most useful....

How important are math skills for software development?

At the minimum level you need to study discrete maths(sets,...

Shattered or How to bomb interviews as a senior developer

There is no mention of Java. Wtf. 10 years of exp for only ...

Shattered or How to bomb interviews as a senior developer

Iโ€™m curious to see the job description

3 Ways to Render Large Lists in Angular

You can replace the load more button with a Visibility trig...

3 Ways to Render Large Lists in Angular

One other way: Don't render 1000 items. Render only first ...

Normalize your complex JS objects

Note that the normalization step takes O(n) but if you do it ...

Stop using for loops. Here's why.

Plus all school books use only for loops in their examples ...

Stop using for loops. Here's why.

That looks alright with me!

Iโ€™m Looking for My Next Job

Hey Ryan, looking at your CV you have a solid experience in...

How to make a Cyberpunk 2077 button with CSS

Leave the buttons alone and get me the game!!!

๐Ÿ™ Uber Eats Ruined My Life - Solved with NodeJS

No amount of job raises substitutes unhealthy living, that...

Use comments to unit test your code.

Go also has something similar blog.golang.org/examples

The Interview Study Guide For Software Engineers

You were asked for AVL tree? Jesus

Get Started Writing Scheme

Aaa you got parethesiasis? Best if you couple your knowled...

First Impressions: learning Angular after React/Redux

If only ngrx was more promoted in React tutorials...

Improve Your Algorithms with this Simple Equation

I suggest reading a good book about Discrete Mathematics. Cur...

Why should learn Java in 2020

Great. I'm trying to re-learn Java as part of my role. I th...

Why do Java containers (docker) take so much memory?

I think you might need to check minimum hardware requiremen...

Why do Java containers (docker) take so much memory?

Yeap that's Java heap space. you can control it via JVM arg...

I hated Regex so much that I made iHateRegex.io

The problem with Regexes (especially the complex ones) is t...

I hated Regex so much that I made iHateRegex.io

Nice. Did you use something like github.com/CJex/regulex ?

How to outsmart peers in estimation โ€” PERT principle

Is this all based on Probability and Normal distribution?

A JavaScript interview question asked at Google

That's not so different than a typical implementation: git...

Do devs really need to test?

Does that imply that we should offload all of our testing e...

State-of-the-Art Shitcode Principles

I think we need an eslint plugin for that also!

A tool for building intuitive code documentation

It's very hard to read. May a different color scheme is pre...

What's the Big Deal With Pop!_OS?

I'm sold. Where I can buy hardware?

Identifying Negative Zero

MDN gives a polyfill code: if (!Object.is) { Object.is ...

What is Big O Notation?

True. If you assign a different unit-cost for each operatio...

A tool for building intuitive code documentation

Nice. I noticed though that the code comments are really fa...

Cloud Native Patterns and Practices

Aaa I was just thinking of buying her book manning.com/book...

Something I've come to appreciate about dynamic typing

When you have a this.customer[field] which is an enum of va...

The Javascript sort is slow and stupid

It looks like there are not a lot of algorithms for partial...

The Javascript sort is slow and stupid

Nice. If you have only integers for keys you may consider R...

Styled Components vs. CSS Stylesheets

Styled components are nice but they need more adoption to b...

Production-ready: Microservices Composition and Orchestration

Awesome. Already subscribed to the Newsletter.

Is Ubuntu Or Fedora A Better Distro For Programmers?

I've tried both professionally but I always end up using an...

The React Cheatsheet for 2020 ๐Ÿ“„โ€ฌ (+ Real-World Examples)

Awesome!

That About Wraps It Up For Actix-Web

and be part of rust community is not fun as well. That sum...

Aware about one fraud ( new freelancer )

If its smells like fish and acts like a fish, then it's a B...

5 Technical Skills Developers Need In 2020: Based Off Of A Job Description

When I look at this it reminds me of the things I don't kno...

Get Better at HTML and CSS by Cloning these 10 Minimalist-ish Websites

I think most of those websites are heavy users of jQuery an...

The Developer Tool You Can't Live Without

Cool

2 Wrongs Equal A Lot of Learnings

Were you ordering pizza's and calling friends and family th...

A word on Technical Interviews

That's great!

A word on Technical Interviews

Of course, If you are not happy with your current role, if ...

Top 30 Javascript Interview Warmup Exercises

There is no hidden agenda. Again if you are condescending o...

A word on Technical Interviews

It is somewhat ungrateful in a sense when some places of th...

A word on Technical Interviews

I think we should be grateful that there are so many jobs i...

Top 30 Javascript Interview Warmup Exercises

FYI I've moved the focus here: dev.to/theodesp/a-word-on-t...

Top 30 Javascript Interview Warmup Exercises

Because we don't want to test how to implement a Promise bu...

Top 30 Javascript Interview Warmup Exercises

That also depends on the company. For some array.reduce mig...

How to approach solving a challenge during a coding interview

Lua rocks

13 places to find Beautiful Free Illustrations

Amazing!

Top 30 Javascript Interview Warmup Exercises

In that case I would ask you to implement array.reduce. Or...

Reasons I've Been Rejected For Software Engineering Roles

Yeap. I believe there is a different mentality when doing c...

Reasons I've Been Rejected For Software Engineering Roles

Speaking of which. Take a look at this comment thread: dev....

50 VS Code themes for 2020

It's theme night!

Let's go on an adventure, a functional one.

Aaa Haskell as for 'weekend programming'? ๐Ÿ˜‚

Top 30 Javascript Interview Warmup Exercises

Cool!

Top 30 Javascript Interview Warmup Exercises

It is framed as a Javascript interview but it's not all abo...

Top 30 Javascript Interview Warmup Exercises

I would say that any live coding interview questions tend t...

Top 30 Javascript Interview Warmup Exercises

Try not to aggregate the interviewer. They need to see more...

Logical Time and Lamport Clocks (Part 2)

Aaaa, Things are getting harder and harder. Anyone here yet...

"Hello World" performance comparison between GraalVM and Go

Feel free to try it out.

โšก Why Engineers need to master Data Structures and Algorithms ?

Sad but true!

Micro Frontends Architecture - The future of frontend development

Aaa Micro Frontends. The next best thing since sliced bread...

DEV users landscape

Reminds me of Where is Waldo?

Why You Should be Writing Your Own React Hooks

Epic!

Why You Should be Writing Your Own React Hooks

The only thing thats left is how to verify it with tests th...

Going to a PHP conference as a Java Developer

Great advice!

Best ways to use React Hooks for state management

Epic thank you!

Removing duplicates with Map in JavaScript

Isn't what unionBy does already? lodash.com/docs#unionBy

More time coding, less time debugging. Interfaces in TypeScript applications

The interface declaration for Typescript is: interface Pe...

Why Not Having a CS Degree is Awesome

There is a good article about that: Computer Science: Not...

Master The Five Whys Method for Problem-Solving as a Developer

I'm pretty sure that whatever the first question is, every ...

Explain Monads Like I'm five

I think you should write an article about it. A mere commen...

React Hook Form vs. Formik: A technical and performance comparison

Every now and then, a new React Form Library emerges that s...

Java Enums as Predicates

Aaa, Java DSLs are painful to read...

Micro Frontends: a deep dive into the latest industry trend.

I think micro-frameworks are just an excuse for Front-End D...

isPalindrome(): A recursive approach

I think you need to use the global flag in the regex: str ...

Interview Preparation Notes

** Dynamic programming problems make the worst interview q...

Solving Puzzles With High-Performance JavaScript

This is probably because all the optimisations you may do i...

Find the smallest number in a rotated sorted array

One good insight for similar questions: If the array is sor...

LeetCode "Merge Two Sorted Lists"

You can also do it iteratively. This is the merge part of t...

Algorithms: Range Sum Query

For me, I would make it a little bit different. Notice that y...

Cloning Memcached with Go

So is this an LRU cache?

Vanilla JavaScript and HTML - No frameworks. No libraries. No problem.

You can also create a cached element that will compare the ...

Which programming language is the best for blockchain?

I wouldn't say Go is difficult to learn. You can pick up th...

JavaScript ES6 one-liners: merge two sorted lists

That's also slower than the original. shift cost O(m) some ...

Insertion Sort Quick Reference

O(n ยท log n) is not entirely correct as if you are counting...

Merge Sort Quick Reference

The merge part is useful in cases where you want to merge t...

Optional chaining and the null coalescing operator are game-changers in TypeScript 3.7

I personally avoid the definite assignment operator as it s...

Interest in a Haskell tutorial?

I would be interested in a Practical Haskell tutorial simil...

Build a Video Chat with React Hooks

Amazing

I made a GitHub repo for data structures and algorithms in Python to help in interview prep

I have made several myself: github.com/theodesp/go-leetcode...

Are You a Mediocre Developer? ME TOO

To actually do 3-5 hours of work you, actually need to have...

Learning ReasonReact Step by Step Part: 3

I'm beginning to lose you. I just don't understand why some...

Daily Hacktoberfest Miscellaneous discussion (October 2nd)

1/5

Hacktoberfest begins in less than 24 hours

Bookmarked!

What makes recursion hard

Practice 2 to 5 problems from Leetcode or Hackerearth each ...

Ditching worthless friends with Facebook data and JavaScript

W8 you had to do all of this and not automate the last part...

Exploring Open Source Architectures - Redis.py

I broke the article in two parts so it's easier to read. Ar...

Reactgate Recap

Remind me again, why do we use Twitter? If it hosts emetic ...

Top HTML Interview Questions with detailed answers ๐ŸŒบ๐ŸŒด๐Ÿ˜ƒ๐Ÿคฝ๐Ÿจ๐Ÿ–๏ธ Part II

When I encounter a question that I don't know, I just say: ...

Top HTML Interview Questions with detailed answers ๐ŸŒบ๐ŸŒด๐Ÿ˜ƒ๐Ÿคฝ๐Ÿจ๐Ÿ–๏ธ Part II

Well I happen to encounter lots of them in real interviews ...

Dev parents, how do you do it?

You can do many things for your career and have kids. I hav...

Hugo: an almost ideal static website generator

I use it on my site github.com/theodesp/codethat It's true...

JavaScript Developer Resume Sample & Template (A/B Tested Word Version)

Awesome!

The 3 Sins of Software Engineering Interviews

Epic retaliation!

Modern C++ Isn't Scary

Maybe, but try to convince my manager...

The Ultimate Strategy to Preparing for the Coding Interview

Awesome. Thank you

Why developers are SO sh*t at estimating!

One rule I use is, whenever I give a hardcoded estimate, fo...

The Soft Skills of Interviewing

Nice!

What to read to fall in love with math ๐Ÿ’š

I have another one betterexplained.com/

Byte Sized Episode 2: The Creation of Graph Theory

You look great on Camera Ben. Next stop Hollywood

Improve your JavaScript with functional programming

One note: function calculateArea = (radius) => 3.14 * r...

What's hard about React Hooks for you?

To understand the differences between useEffect vs useRef v...

This is why I hate Typescript

That happens when you only read headlines...

Reverse a String - Four JavaScript Solutions

What about an old classic way: function reverse(str) { l...

Top CSS Interview Questions with detailed answers.โœŒ๏ธ๐ŸคฉโœŒ๏ธ Part I

Good catch. Thank you

Top CSS Interview Questions with detailed answers.๐Ÿ‘‘โœจ๐Ÿ˜Š๐Ÿˆโšฝ๐Ÿ€๐Ÿโšพ Part III

A thank you. I've fixed it now.

What the difference between software development and software engineering

50 Shades of Orange

Top CSS Interview Questions with detailed answers.๐Ÿ‘‘โœจ๐Ÿ˜Š๐Ÿˆโšฝ๐Ÿ€๐Ÿโšพ Part III

I wanted to have a accordion for each question so each answ...

Some people try to solve problems using threads...

There is a solution for that. A React useThread hook.

Has anyone ever finished Free code camp courses 100% with the projects

No. Not enough time.

JQuery Footguns?

I would suggest to use a template engine like handlebarsjs....

JQuery Footguns?

Actually jQeury is not so bad. Especially the UI version of...

How long should you wait before you ask a girl what operating system she uses?

I think you need to ask her out first and then figure out t...

Top CSS Interview Questions with detailed answers.โœŒ๏ธ๐ŸคฉโœŒ๏ธ Part I

Yes in the next part which is WIP

My opinionated & minimalist JavaScript full-stack starter-kit

MongoDB could be not suitable for all scenarios. But overal...

Explore cosmos with Serverless

Amazing.

Top CSS Interview Questions with detailed answers.โœŒ๏ธ๐ŸคฉโœŒ๏ธ Part I

Thank you I will fix.

Top CSS Interview Questions with detailed answers.โœŒ๏ธ๐ŸคฉโœŒ๏ธ Part I

I will probably have to rephrase it as can we override inli...

A Moment of gratitude for the community

Dev.to is like a Paladin. HN is a Zombie and StackOverflow ...

HTML can do that?

Help!๐Ÿ˜ฑ The Dropdown is chasing me!

Building Micro Frontends with React, Vue, and Single-spa

I believe that the only way this is suitable if your team m...

Resilience Design Patterns: Retry, Fallback, Timeout, Circuit Breaker

I think Istio uses Envoy but it was developed independently

Resilience Design Patterns: Retry, Fallback, Timeout, Circuit Breaker

I can mention envoyproxy.io/ as a resilience service mesh

The only way to improve your CSS game๐Ÿ‘ฉ๐Ÿพโ€๐ŸŽจ

VisBug is cool as it let's you copy and paste text from sit...

Introducing CodeThat.today ๐Ÿ™Œ๐Ÿพ

You have to type at least 3 characters.

What are you making?

Currently writing content and improving the platform of Cod...

Do you really need Kubernetes in your company/startup?

Costing with Kubernetes is not an issue. For example with A...

Do you really need Kubernetes in your company/startup?

What's not to mention. Ecosystem tooling, support from the ...

Connect your Particle directly to Azure IoT

IOT is awesome

TV while coding? Distraction or Motivation?

Distraction

Let's Talk About MicroFrontends

Can't we just use dynamic/async components and be done with...

Do you really need Kubernetes in your company/startup?

In general, once you tried Kubernetes in production, you wo...

Developing 10x faster with a Surface Go, thanks to VS Code and Azure

The pricing is very appealing compared to iPad.

Introducing CodeThat.today ๐Ÿ™Œ๐Ÿพ

You can do a PR against this repo. Just create an index.mdi...

Introducing CodeThat.today ๐Ÿ™Œ๐Ÿพ

Sure. What I would like to see is an article describing you...

Introducing CodeThat.today ๐Ÿ™Œ๐Ÿพ

I'm not very experienced with Android but if you would like...

How to secure JWT token in React?

You just need to have it handy as long as you use https

Why Most Developers Fear CSS

I think mainly because IT TAKES A LOT OF FREAKING TIME to d...

Take chances and stand out

Adding PRs for companies yu apply for is a great way to sta...

What is that one tool/stack/framework that you have no interest with despite the popularity?

Actually Cloud providers promote the use of managed Kuberne...

What is that one tool/stack/framework that you have no interest with despite the popularity?

If you are working with containers on production sooner or ...

What is that one tool/stack/framework that you have no interest with despite the popularity?

You may regret that in a few years

Beginners guide to finding the time complexity of an algorithm

GroupB and C the if should be a for

I Tried the Top 5 Coding Challenge Websites

I prefer Leetcode and Hackerearth

Learn Kubernetes, part IV, autoscaling

Hey. I tried โžœ minikube addons enable metric-server ๐Ÿ’ฃ e...

What is the best mouse for a busy software developer?

I have a Logitech g703 and itโ€™s perfect. one of the best se...

Web developers: with SwiftUI, would you consider learning Swift?

Too early to make decisions. Letโ€™s see how it will go

What languages are you learning or planning to learn, and why?

Scalia and Clojure at least more practice

What is your favorite desk accessory?

I have a Pip boy

Civilization is a game you never lose

I played CIv3 the most. The AI is brutal. But if you have m...

Discoveries I made while using Typescript and React

Some tips: It's better if you avoid extends and just use ...

What was your win this week?

This Week: I was following the tutorial for Cosmos SDK Appl...

Learn Kubernetes, Partย I, Basics, Deployment and Minikube

Awesome

Explain like I'm five: How does docker application update work?

There are a few strategies here but docker is just a vessel...

Whatโ€™s your excuse for bad code?

Most of the times to add wierd hacks to fix an issue with a...

A URL Shortener Service using Go, Iris and Bolt

Jonathan, You are talking to the author of Iris!

Computer Science Books

I was so obsessed with book collection I had almost 1.5 TB ...

Ugly Parts of GraphQL with Prisma

I think I would not even touch GraphQL using plain Javascri...

I don't want to be a full-fullstack developer or why division of labour still matters

True. If you want to raise the bar on one particular field of...

Never Trust Compiler Error Messages

You may want to use linters more before you compile the cod...

You should use Python @dataclass

This is the same as case classes in Scala or data classes i...

GitHub announces "GitHub Sponsors"

Show me the money๐Ÿ’ฐ๐Ÿ’ฐ๐Ÿ’ฐ๐Ÿ’ฐ๐Ÿค‘๐Ÿค‘๐Ÿค‘

Explain Containers Like Iโ€™m Five?

You have lots and lots of toys. A room full of it. Your par...

Terraform 0.12 General Release

โค๏ธ Terraform

Leveraging the Layer-cake design in Go

I didn't know anything about the Cake pattern until recentl...

ReasonML for production React Apps? ๐Ÿค” (Part 3)

It's also the fact that there as so few threads in Stackove...

Good things happen to those that blog

Blogging is also a good way to learn.

ReasonML for production React Apps? ๐Ÿค” (Part 3)

Lack of documentation is a ship stopper. Thats why Reason i...

GitHub announces GitHub Package Registry

We will see how it goes. I think the Docker and Npm registr...

Simple ways to improve code readability

I think sometimes, a change of paradigm can make things mor...

Getting Trapped as an Expert Beginner

For me, engaging with the community is the best way to lear...

An enterprise-style Node.js REST API setup with Docker Compose, Express and Postgres

Itโ€™s best if you use Typescript and pg-promise as they are ...

Automate NPM packages security fixes with recurring tasks on CI

I run: โžœ npm outdated npm ERR! Not implemented ...

A Grammar-Based Naming Convention

I would avoid uppercase variable names completly.Nowdays ev...

[SOLVED] How I use a synchronous queries with mongoose on NodeJS with ExpressJS

โ€˜getProductCountโ€™ is a function. You need to call it

The kind of job application process that makes me angry

Makes sense. Thanx.

The kind of job application process that makes me angry

will identify a few places I want to work for and think ab...

Javascript Sock Merchant Challenge - Solution 2

Looks complicated. Take a look at my comment.

Javascript Sock Merchant Challenge - Solution 2

I don't think you even need the last reducer. Just keep a r...

Eleanor 0.1.0 Released

Youโ€™ve become a legacy project now

Why the Accenture/Hertz affair is no news to me

Wow, how did Accenture managed to make a business? I guess...

Announcing off-platform "Share to DEV" functionality

awesome no more static code

I am now a Google Developers Expert in Web Technologies!

Hey great, Can you give insights on how do become a GDE. Th...

loading...