DEV Community

loading...
Amin profile picture

Amin

404 bio not found

Joined Joined on  github website

Last 250 comments

Node.js : How to get a basic HTTPS web server up and running!

Alternatively you can use mkcert to generate a self signed ce...

20 JavaScript One-Liners That Will Help You Code Like a Pro

Hi there, really cool one-liners! My favorite is the true typ...

MOTIVATION DOESN'T MATTER

Motivation by definition is something that gives you the will...

WAO: How do you measure Developers?

The less they are willing to be paid, the better. If they ca...

Using JavaScript Symbol.toStringTag for objects types description

type User = { name: string } const user = { name: 'john' } ...

🤷‍♂️ W1y d2s a11y h2e to be so b4y c9d a1d i10e? 👿

Thank you for your answer. That look scary indeed! A screen r...

🤷‍♂️ W1y d2s a11y h2e to be so b4y c9d a1d i10e? 👿

So in the mean time I suppose what I am asking is: what woul...

8 Nice tricks Front-end Developers

Awesome I didn't know about the math one, very cool!

Stack Data Structure Using Javascript

Hi there and thanks for your article, I also like to train my...

I (roughly) defined (almost) every array method using recursion 😂

You got me at How is this useful ? It's not. Here is my ...

JavaScript Interview Question #36: Can you add a new property to the JS array?

Yes you could. Even though this is considered a bad practice ...

The only thing you need is... reduce

It might be me but I don't think your flat implementation is ...

Announcing new and simple state manager “Exome”

A game between two person but I guess we are stuck with a cli...

Announcing new and simple state manager “Exome”

Did you try to share states between React and React Native? I...

I Don't Use JavaScript Classes At All. Am I Missing Out on Something?

You can also create a function to keep track of your context ...

Higher-order functions & Why you should use them

Hi John and thanks for pointing that out! Indeed currying ha...

A Router Without a Web Server in Vanilla JavaScript

That's really clever, well done! Except styles don't apply t...

Higher-order functions & Why you should use them

Hi and thanks for you comment. That means a lot. Indeed, cl...

#Day13 - Map, Filter, Sorted, and Reduce in Python

Hi Rahul and thanks for your article! I guess you made a mis...

JavaScript Array.some() or Array.every()?

Let me know what you think about that article @arvindsridhara...

JavaScript Array.some() or Array.every()?

Very nice explanations, Rakhi, thanks! You could even use so...

JavaScript Array methods: Filter, Map, Reduce, and Sort

Very nice and clear article, thanks Ivana. Are you using the...

Four Ways To Make An API Calls In Javascript

So really two ways then, isn't it?

Can you hack this? #1

Using a Proxy. "use strict"; const personNameEqualsItself...

useState hook simplified!

Do not forget to wrap your callbacks inside of your component...

Do you have Python tips?

If you are using (or want to use) the Fish shell, you can use...

How to save exact npm package versions

In my opinion, this really should be the default behaviour of...

What's something you wish you could teach your younger self?

Don't listen blindly to people, especially those that keep re...

Companies using Ruby/Rails

The punishment for forgetting Forem shall be

What Is The Best Linux Os (most stable os) For programming

5 years ago built my desktop put Archlinux ditch Linux for Li...

The reasons I don't use Typescript

In the end, I've seen typescript used by people more as an in...

A Router Without a Web Server in Vanilla JavaScript

Hi there and thanks for contributing to this article! That l...

Daily Challenge #310 - Boolean to String Conversion

JavaScript const describeBoolean = boolean => `${boolea...

A Simple Weather Web App

Well done! Careful mate when exposing your credentials since ...

Fetch-22

You are correct, I didn't look at your code, very well done t...

Fetch-22

Hi there, very interesting topic, thanks for this library! Y...

JavaScript Security 101

const addNumbers = (first: number, second: number): number =...

What is Currying In JavaScript Is and How to Use It

Hi there and thanks for your article. I believe there is one...

How to build a custom server with nodejs in 3 min

Hi Vikas and thanks for this article! For people that are on...

💥 Best of #explainlikeimfive

No, YOU are breathtaking!

Advanced splitting with Symbol.split

Hi Adam and thanks for your reply. You are absolutely right,...

Window Object in JavaScript

Hi Willem! Believe it or not, but the Window object is well ...

Advanced splitting with Symbol.split

Hi Matt and thanks for your answer. I didn't knew myself we ...

Advantages of Using Fish Shell 🐟

Hi Mina and thanks for this interesting article on Fish! I a...

Dart null safety - Solving the billion-dollar mistake

Hi there and thanks for this interesting article. Just like ...

Javascript Tips for Beginners

Hi Henry and thanks for your article full of interesting advi...

Important HTML tags (part 2) 💻🖥🖱

Hi John and thanks for your article. Just to add more inform...

Daily Challenge #309 - Coffee Customization

JavaScript const count = (count, item) => ({ ...count, ...

Why I LOVE CoffeeScript!(and why you should use it)

What sold me was the way top-level await is handled. Deno has...

Daily Challenge #307 - Spanish Conjugator

CoffeeScript conjugate = (verb) -> base = verb[......

Manipulating Keys in an Object Using Recursion

Hi there and thanks for this interesting article! Here is an...

5 ways to refactor if/else statements in JS functions

Hi there, great article, thank you! I like to deal with all ...

You may not know destructuring yet

Hi Mahesh and thanks for your interesting article. We can al...

Culture killer: Don’t let your IT / Ops team choose between MS Teams and Slack.

Hi there and thanks for your interesting article. Is there a...

💡 Easy Copy to Clipboard Button in Vanilla JavaScript

Hi there and thanks for your article. Copy to clipboard is a ...

Daily Challenge #307 - Spanish Conjugator

Haskel conjugate :: String -> [String] conjugate verb ...

Daily Challenge #306 - Largest Possible Product

C int adjacentProduct(int numbers[], unsigned int length) ...

Daily Challenge #298 - Find the Shortest Word

Elm import String exposing (words, length) import List exp...

Memoization in JavaScript

Hi Parwinder and thanks for your article. If you use a const...

Capitalize the first letter of every word

Hi there, very nice use of the String & Array prototypes ...

Daily Challenge #278 - Find all non-consecutive numbers

TypeScript interface IndexValue { index: number; va...

Daily Challenge #274 - Aerial Firefighting

C Assuming the input for the fire area is always correct. ...

Daily Challenge #273 - Remove Duplicates

Hi and thanks for your reply. This looks like a very good sol...

Daily Challenge #273 - Remove Duplicates

Haskell module Main where deduplicate :: [Int] -> [Int...

Javascript types?

Hi there, thanks for your article and very cool to see some m...

Daily Challenge #272 - Printer Errors

Haskell module Main where getPrinterErrorRate :: String -...

Daily Challenge #157 - Is N Divisible by X and Y?

Hi and thanks for your comment. Have you tried the test link?

JavaScript Katas: Remove duplicates

Very bad solution for anyone in search of performance but her...

Daily Challenge #266 - Who Likes It?

TypeScript const likes = ([a, b, c, ...xs]: string[]): stri...

Daily Challenge #265 - Equal Sides

Haskell halve :: [a] -> ([a], [a]) halve list = (tak...

Looping in JavaScript

There is also another way of looping that is not recommended ...

Daily Challenge #263 - Reverse Words

This looks very clean, well done. I think I would have gone f...

Daily Challenge #264 - Digital Root

Haskell sumDigits :: Int -> Int sumDigits 0 = 0 sumDigit...

Daily Challenge #263 - Reverse Words

Haskell import Data.List.Split (split, oneOf) reverseWord...

Daily Challenge #262 - No One Likes Spare Change

Haskell import Data.List (sort) minimumChange :: [Int] -&...

A gentle introduction to the Go tool chain

Thanks for your answer. This sure looks easier that way. Can ...

Daily Challenge #260 - Subtract the Sum

Go EDIT: just realized this challenge was a trap, but leavin...

Daily Challenge #259 - Duplicate Encoder

Go $ mkdir -p $GOPATH/src/encoder $ cd $GOPATH/src/encoder ...

What is my MEML project?

Daily Challenge #257 - Halving Sum

Haskell halvingSum :: Int -> Int halvingSum 0 = 0 halvin...

Daily Challenge #256 - How Many Are Smaller Than I?

TypeScript const smaller = (items: number[]): Uint32Array =...

Daily Challenge #255 - Is There an Odd Bit?

Go package odd func AnyOdd(number uint) uint8 { for i...

🚀 26 Built-in String Methods | JavaScript

Hi there, I have some little experience in JavaScript now an...

Daily Challenge #253 - Sort Sentences Pseudo-alphabetically

Go package sentence import ( "sort" "strings" ...

Daily Challenge #251 - Largest Number in a Sequence

Haskell chunks :: String -> [String] chunks (a:b:c:d:e:r...

Daily Challenge #249 - Incremental Changes

C Assumed we always work with unsigned numbers for simplici...

How to alias git commands?

In the same tone, you have Marcel, which is the Docker CLI, b...

Daily Challenge #247 - Get Planet Name By ID

Because the interpreter is not helpful. Try Elm, the compile...

Create a simple Deno + MySQL API

Noted. Good luck for your project!

Create a simple Deno + MySQL API

Hi there, I noticed you were using Deno and some other Docke...

How to remove all images and containers in Docker

Hi Shivam, thanks for sharing this trick with us. You can al...

Daily Challenge #245 - Sort Santa's Reindeer

Elm reverseWords : String -> String reverseWords text = ...

the only 5 vim plugins i need

Hi there and thanks for sharing your Vim plugins with us. Wh...

Learning Vim in Quarantine - Part 1

I see, you definitely are right. Vim has a command called :Ex...

What Is Deno and Why Is Everyone Talking About It?

Yes, I even have made a Docker image to help test Deno withou...

Build Your Own Filter

Hi there, thanks for your article. I liked the fact that you ...

Learning Vim in Quarantine - Part 1

I have added NerdTree which adds a folder view to the left of...

Learning Vim in Quarantine - Part 1

No need haha! I too make silly mistakes, I'm glad you didn't ...

Learning Vim in Quarantine - Part 1

Hi there, always great to see people moving to vim and report...

Recursive approach to map and reduce: A thought experiment

Hi there, interesting article, thank you. I do too like to, ...

Daily Challenge #241 - Tip Calculator

Haskell module Main (main) where maybeTip :: Float -> S...

You probably don't need dotenv

Hi Pacharapol, thanks for your answer. I guess, from the con...

Don’t use for loop for JavaScript Arrays

This is because you are returning an array of pending promise...

I lost my job because of COVID19.

I'm really sorry for this Amruth. I think we all hit the bott...

Daily Challenge #228 - Best Profit in Single Sale

Elm import List.Extra maxProfit : List Int -> Int ma...

Daily Challenge #228 - Best Profit in Single Sale

Nice one, but there are some things that bother me in the c...

Prototype in Javascript - 02 - The __proto__ property

Hi there, great article and well explained. Isn't __proto_...

Daily Challenge #225 - Square'n'Sum

Elm I really wish flip is part of the core library... fl...

Bubble Sort in Javascript

Hi Dawn, Quick tip in JavaScript since you are using let (...

No Optional Chaining? No Problem. Write Your Own deepGet Function!

Shouldn't it be: _.get(obj, "user.pets[0].toys[0].price")...

No Optional Chaining? No Problem. Write Your Own deepGet Function!

This API looks very sexy, don't get me wrong, but it has so...

No Optional Chaining? No Problem. Write Your Own deepGet Function!

Hi Nick! Awesome usage of the rest operator in this contex...

No Optional Chaining? No Problem. Write Your Own deepGet Function!

Until you have a property named _ that you can't access any...

Make the global Date object iterable

You are right. As said in the article, you can also make an...

How to load a google font in a web component ?

Very good question. I never really managed to do it in an e...

From Vim to the system clipboard in one command

Looks cool! I'll add it to my collection. Thanks!

Daily Challenge #220 - What Dominates Your Array?

JavaScript /** * Return the integer that occurs more tha...

The Maybe data type in JavaScript

I didn't know you could overload your function signature li...

Daily Challenge #219 - Compare Strings

Actually, string[index out of bound] will return undefined ...

Rebuild Gmail text input

That's so cool, did you use Text Fields for reference? I a...

What library/language/tool wowed you with its developer experience?

Laravel, a PHP framework inspired by Ruby on Rails. The doc...

From Vim to the system clipboard in one command

Haha! You mapped pp. Got it? ... Okay bye. #jk Thank you s...

The Maybe data type in JavaScript

Whoa! That's so cool!!! I'm nowhere near a good Python dev...

The Maybe data type in JavaScript

Thanks for your answer. I'll look into that. The book looks...

What’s your alternative solution? Challenge #11

My take at the challenge using a recursive function, immuta...

What’s your alternative solution? Challenge #12

My take at the challenge using recursion. /** * Takes on...

Do you think writing clean code is a bit difficult in javascript compared to other languages ?

I agree with all of your points. JavaScript prototype-base...

Are newer developers pushed too exclusively towards web development?

I just saw a 7 years-old kid on Twitter making a presentati...

Do you think writing clean code is a bit difficult in javascript compared to other languages ?

I think the main reason why it is so difficult about writin...

The Maybe data type in JavaScript

Thanks Drew for your answer. Indeed your example looks inte...

React and Vue development speed discussion

Well, i agree with your point. We have Vue for our main web...

Daily Challenge #218 - Possible Sides of a Non-Right Triangle

I think this is the first time I see someone do runtime typ...

Jagged Array in JavaScript

Interesting, I didn't even know it had a name. Thanks for ...

Need advice on what to learn in 2020

In the WebGL market, the demand is not that high. There are...

Vue watchers vs computed properties

Hi Deepika, very complete explanations. I think you totally...

Need advice on what to learn in 2020

You should start learning HTML, CSS & JavaScript. At le...

Add vibration to your web applications

There can be multiple reasons but this would mean that either...

"Zero boilerplate philosophy" - what frameworks / libraries / environments do you know?

Parcel is a bundler that allows for a zero configuration an...

Daily Challenge #216 - Rainfall

data : String data = "Rome:Jan 81.2,Feb 63.2,Mar 70.3,A...

From Vim to the system clipboard in one command

I waited for an event like this and someone like you to con...

From Vim to the system clipboard in one command

Thanks for your reply @talha131 ! Yes, we arrived at the ...

Daily Challenge #215 - Difference of 2

JavaScript Assuming the input should be an array of unsign...

From Vim to the system clipboard in one command

You're welcome Sean! Indeed, for most Vim users, the * reg...

Functional programming for your everyday javascript: Composition techniques

Hi Heiker, In your article, you wrote this $ cat .env | ...

Editing remote files with Vim

Hi there, thanks for your article! I just learned about th...

Daily Challenge #214 - Persistent Bugger

TypeScript "use strict"; /** * Compute the multiplicati...

Tuples are ok

Interesting, thanks for your repro. As I was suspecting, i...

Tuples are ok

Do you have any examples of unintended things you could do ...

Tuples are ok

Are you comparing C++ to TypeScript? I'm not sure I get the...

Tuples are ok

Yes you are correct. I was wrong for saying that this is no...

Tuples are ok

I didn't know that we could use that Tuple-like syntax in T...

Lockdown Programming Challenges: 1. Password Strength Indicator

Here is my proposal. In my opinion, the strength would hav...

Tuples are ok

Too bad JavaScript does not have a real Tuple system compar...

Is PHP Dying?

No, I don't use PHP anymore. But I would if it was because...

What’s your alternative solution? Challenge #3

I prefered to return an array of objects containing all the p...

Portfolio Developed in HTML,SASS.

Really cool design, I like it!

This thing about JS Reducer

Actually, you don't have to return a single output. You can ...

A Practical Guide to Memory Leaks in Node.js

Hi Arbaz, and thanks for your awesome article. This was bot...

Dealing with Failure

Thank you for taking the time to share your experience with...

Daily Challenge #212 - DNA to RNA

Elm dnaToRna : String -> String dnaToRna = String.repl...

You probably don't need Moment.js

You are right, timezones are a pain, and this little trick ...

Bogosort

Thank you. That was a great explanation.

Bogosort

I see, indeed that makes totally sense, thanks for the clar...

Bogosort

Hi James, thanks for your article. Can you explain why you...

You probably don't need Moment.js

That's awesome!

You probably don't need Moment.js

Keep sharing your favorite date/time libraries! Thanks for ...

You probably don't need Moment.js

I didn't know that one, I'll check it out. Thanks for shari...

Explain React State & Props Like I'm Five

Imagine you have a Star Wars lego kit. The Cantina would be t...

Functional Programming in Rust

Currying. A functional programming technique where we can cr...

Daily Challenge #210 - Separate Capitalization

I won't lie, since this was my first real functional progra...

Daily Challenge #210 - Separate Capitalization

Elm Note: returning a tuple because returning a List Strin...

Daily Challenge #208 - Delete Occurrences of an Element

JavaScript function deleteNth([item, ...items], maximum, ...

Daily Challenge #206 - Pound Means Backspace

This is always a good idea to comment your code. Beginners ...

Daily Challenge #206 - Pound Means Backspace

Try with console.log(cleanString("########c"));

Daily Challenge #206 - Pound Means Backspace

JavaScript /** * Remove backspaces from a string * @par...

Add vibration to your web applications

For now this is the case. I haven't any information about w...

Add vibration to your web applications

Oh shoot! I didn't know that one. Maybe Microsoft will push...

Add vibration to your web applications

Beware that this is still in experimental support! So if th...

Add vibration to your web applications

Yes absolutely. From now I guess it's a matter of developme...

Daily Challenge #205 - Consonant String Value

C #include <stdio.h> int isVowel(const char letter...

Add vibration to your web applications

Noted! They'll eventually support that feature but it is a ...

Daily Challenge #198 - 21 Blackjack

Elm From what I understood about the game, the cards are r...

Daily Challenge #197 - Population Growth

Elm I was too lazy, just put floats everywhere. module M...

Stop using for loops, here are other cool options

Thanks for your article! I too really like those cool littl...

Array functions in JavaScript

You should use the JavaScript syntax highlight for your art...

10 reasons to choose Linux

Actually, I had the best experience using AMD hardware. Eve...

10 reasons to choose Linux

One thing among the multiple things I like about GNU/Linux ...

Daily Challenge #195 - No Zeroes for Heroes

Elm eradicateZeros : Int -> Int eradicateZeros number ...

What is the difference between 'Var' and 'Let' ?

Indeed, variable are blocked scoped, except for those who a...

What is the difference between 'Var' and 'Let' ?

Nice, neat and clear article! I also like to add the fact ...

How to enable Chrome's Hidden Bottom Toolbar in Android

I guess it means that if you don't know what you are doing ...

Daily Challenge #194 - Spread Number

Elm spreadNumber : Int -> List Int spreadNumber intege...

Daily Challenge #193 - What's the Real Floor?

Elm getRealFloor : Int -> Int getRealFloor floor = ...

Daily Challenge #192 - Can you Survive the Zombies?

I believe it would mean something like that in Haskell (I'm...

Daily Challenge #190 - capitalizeFirstLast

I think there are a couple mistakes in your solution. In y...

Daily Challenge #189 - Convert Number into Reversed Array

JavaScript Assuming the input should be a positive integer...

Achieving 100% code coverage will make you a better developer. Seriously.

Error: Expected an instance of W, got M instead.

Daily Challenge #183 - Automorphic Numbers

Elm square : Float -> Float square float = float *...

Daily Challenge #182 - Arrh, grabscrab!

Elm toSortedList : String -> List Char toSortedList st...

6 JavaScript rules to get by

OOP is closer to world modeling than FP, and other jokes yo...

Javascript - predict operation result

That's why I am loving developing applications using Elm. I...

Daily Challenge #179 - Hide Phone Numbers

Nice short solution! If I'm being correct, for the string ...

Daily Challenge #179 - Hide Phone Numbers

Elm encryptDigit : Char -> Char encryptDigit character...

Daily Challenge #178 - Create Phone Numbers

JavaScript const createPhoneNumber = ([a, b, c, d, e, f, ...

What's your current favorite shell command?

You can even use CTRL + L as a shortcut for clear in most o...

What's your current favorite shell command?

$ for file in folder/**/*.pdf; do echo $file; done This...

Javascript - predict operation result

A little late to the party! Surprisingly, I couldn't succe...

Daily Challenge #173 - Pandemia

PHP <?php declare(strict_types=1); function getInfec...

Git merge, git rebase, and crawling out of the git hole

Hello Juliette, nice article. This is by far the best explana...

Infinite Data Structures & Lazy Evaluation in JavaScript

You could have an asynchronous generator function that cycl...

Infinite Data Structures & Lazy Evaluation in JavaScript

Man, if it wasn't for this article I would have forgotten a...

Daily Challenge #172 - Find All in an Array

Elm import List exposing (indexedMap, filter, map) import...

Reducing npm package size by 83%

.npmignore act as a blacklist and files act as a whitelist....

Reducing npm package size by 83%

Note that you can also use the files property in your packa...

why apple mac osx is for people & gnu/linux is for geeks

Ubuntu is not GNU/Linux! There are tons of distributions th...

Object Destructuring Javascript ES6

Hi there! Did you know that you can format your JavaScript...

Daily Challenge #159 - Isogram

I might be wrong, but if you try with the word abcb which i...

Daily Challenge #158 - RGB To Hex Conversion

Elm toHexadecimalLetter : Int -> String toHexadecimalL...

15 must-know JavaScript array methods in 2020

Hi there, great article thanks! I think you forgot about a...

Daily Challenge #157 - Is N Divisible by X and Y?

Haskell isDivisibleBy :: Int -> Int -> Int -> Bool...

Quick Web Server with Nginx on Docker Compose

Yes it's a mistake. At first I though I would need a Docker...

Common JavaScript Mistakes You May be Making

Map would be useful if you did use the return value for eac...

Vim A to Z - Literally

Hey there, thanks for your article. A good refresher! By t...

A tour of all Elm commands

I'm not sure if Elm does what Svelte and Imba does on the o...

A tour of all Elm commands

Thanks for taking the time to write such an interesting com...

The Psychology Of Color

Awesome article. Clear and concise. I was just about to cre...

Coding challenge Git-like platform

Hi Ryan, thanks for the link, it looks awesome. Looking fo...

Daily Challenge #152 - Strongest Number in an Interval

Haskell strongest :: (Int, Int) -> (Int, Int) -> (I...

Daily Challenge #151 - Reverse Parentheses

Haskell I am by no means an expert in Haskell, just an ent...

dev.to posts tagged 'beginners' considered harmful

Maybe instead of moderating the beginners' tag, we could he...

Top 5 DEV Comments from the Past Week

Thank you Jess!

Mozilla launches Firefox Send (free encrypted file transfer)

And quickly scriptable. I was affraid when they announced t...

Let's progress together with the Linux Shell

Hi Vlastimil and thanks for you comment. Yes indeed, it is...

Let's progress together with the Linux Shell

Hi Ben and thanks for your answer! You are right. echo isn...

Daily Challenge #149 - Fun with Lamps

Now that I read the comments, I think Kevin is right, but I...

Daily Challenge #149 - Fun with Lamps

Elm import List exposing (filter, head, indexedMap, lengt...

Currying in JS 🤠

"use strict"; /** * Curry a function of any arity * * ...

What the h*ck is a gem?

You had me at Well yes, but also nope. Haha! Great arti...

My first Elm app

Hi there and thanks for your article, it was really interes...

Currying in JS 🤠

Hi there and thanks for your article! In my opinion, this ar...

Daily Challenge #148 - Disemvowel Trolls

Elm module Main exposing (main) import Char exposing (to...

Simplify JavaScript Promises

I like it! Even if I personally think that this API could b...

Simplify JavaScript Promises

From the documentation, it is stated that A fetch() promi...

Simplify JavaScript Promises

Hi Sunny, very interesting article. Thanks! I especially l...

Vue cheat sheet 1

Hi Adnan and thanks for your article! I didn't knew we could ...

loading...