DEV Community

loading...
Aleksandr Hovhannisyan profile picture

Aleksandr Hovhannisyan

I'm a software developer with a passion for frontend work.

Education

Bachelor of Science in Computer Science

Work

Front End Software Developer

Last 250 comments

Web Development Haikus

I'll throw in one of my own :P I thought I fixed it But it ...

File format decision tree

Fun fact: You can have WebP GIFs, too! Google ships not only ...

Digital Ocean Hackathon App: Submission!

Awesome stuff! I love how seamless the keyboard UX is.

What CSS approach do you use in NextJS?

styled-jsx 100% (you can use it in Gatsby, too!). I used to b...

Digital Ocean Hackathon App: Dwindle

Cool! Yeah, no need to complicate things if you can keep it s...

Digital Ocean Hackathon App: Dwindle

Cool idea! Best of luck :) Will you be doing any machine lea...

TIL: You can leave out html, head, and body tags in your HTML.

Well, kilobytes are made of bytes. If you have 100 similar o...

TIL: You can leave out html, head, and body tags in your HTML.

So out of curiosity, I tested this locally and you're right: ...

Is there a way to exclude elements with a particular default styling from a CSS selector?

Interesting... Your question made me learn something new toda...

JS Concepts: Value vs. Reference

When we assign non-primitive value to the variable, we copy ...

Const Is A Lie In JavaScript & Mastering Unit Testing

But here's the thing about const in JavaScript: it ONLY make...

10 Best Black Friday Software Deals for Developers and Designers

If you ask me, the best Black Friday deal is the chance to sp...

Faster loading webpages with webP images

Older versions of any browser don't support it, so...

Drawing a Witch with HTML and CSS

Nice, Happy Halloween! :D

Svelte for Sites, React for Apps

Yup, you're right, JSX compiles down to React.createElement c...

Svelte for Sites, React for Apps

Also, JSX should be a low assembly language instead of somet...

Happy Hacktoberfest! 🎃

Happy DDoSfest!

Rarely known CSS Tips

To vertically center contents of div If one line of text set...

Filesystem versus SQLite performance

Yup, file-based database systems are sort of a regression. Th...

Implementing a Basic Binary Search Tree in JavaScript

Just a minor note: you've overlooked the case where the value...

What's your favorite domain registrar?

Google Domains Easy and secure, and it's one less account I ...

Stop Using React

This is what a stream is. I hope that clarifies things for y...

Stop Using React

I genuinely can't tell if this is a troll article. The Inte...

🛑 Stop using pixels in CSS

Yup! I still use pixels for borders and border radii. I also ...

🛑 Stop using pixels in CSS

Oh lord... That Twitter thread has so much misinformation. ...

What are some tips for writing a good issue?

Use more screenshots/screencasts!

100 Days of CSS Illustrations (21-30)

#30 is insane! What's your secret? I've seen people make rea...

Flexbox vs CSS Grid: Which one do you prefer?

Browser support isn't too great, though. But I'm hoping it wi...

Drawing a cartoon character with CSS

I love your background image + background size trick for crea...

The many ways to write a color in CSS

Seconded! Though I find myself mainly using HSL for grays.

Arrays and objects are stored by reference

Memory addresses, what else? But you already knew the answer....

Arrays and objects are stored by reference

You're being pedantic and it's honestly really off-putting. I...

What terminal do you use?

Windows Terminal best terminal

Arrays and objects are stored by reference

This wording may confuse beginners because there's really no ...

100 Days of CSS Illustrations (11-20)

Gotta go really big for #100 :) Also, how do you feel about ...

Why do we write JavaScript like this?

Yeah, I blame lack of CS literacy here. Object values are mem...

Can you simplify this code for the guy?

The ternary is unnecessary. The modulo operator already retur...

Comment-out Syndrome

Branching and atomic commits! But I also comment out code occ...

Write a Custom JavaScript Filter Function that is 60% faster than Array.filter

To take this a step further, you can add this as a method to ...

How to never touch your mouse again 🐭

Switcheroo is amazing! I wish I'd found it sooner. Thanks!

One of the Most Common Web Accessibility Mistakes

The fact that the documentation recommends using <span>...

How do you host a website for free?

GitHub Pages is great, but eventually you come to realize tha...

100 Days of CSS Illustrations (1-10)

This is amazing!

Prime Sieve in (Hopefully) Idiomatic Ruby (And Some Books You Should Read)

Been awhile You can say that again :D Welcome back!

Drawing a CSS cartoon

Very cool!

Perfecting PageSpeed ⚡️🚀

Yup, I always test in incognito. Otherwise my extensions slow...

Perfecting PageSpeed ⚡️🚀

I'm using the Lighthouse built into Chrome dev tools, not the...

Perfecting PageSpeed ⚡️🚀

Lighthouse is giving me a 70 for your performance: Reasons...

Semantic HTML: Building a More Accessible Web

Hmm, that's actually a good point. And in my experience, it r...

An elegant solution for memory leaks in React

All good. I vaguely recall reading about a future React featu...

An elegant solution for memory leaks in React

Note that this is actually an anti-pattern.

VS Code Shortcuts That I Would Teach Myself if I Had a Time Machine With Limited Fuel

My favorites: Ctrl+L. Highlight the current line. Press it ...

Is linux good enough for everyday programming?

I really want to upgrade to WSL2, but apparently there's a kn...

Is linux good enough for everyday programming?

I’ll resume my experience with one line: “not great, not ter...

Portfolio Review

Very creative portfolio! You've received a lot of good feedba...

Algorithms in interviews: Hazing ritual or valuable vetting technique?

But the status quo is what it is ... because we've allowed...

The algorithm behind Ctrl + F.

Step 2 seems flawed. What if a character occurs more than onc...

I Created a Responsive Portfolio Website Using HTML, CSS, Bootstrap, and JavaScript

Seconded. Definitely don't put your birth date or phone numbe...

what do you think about Antd design ?

I've used Ant Design on three projects now: One for an enterp...

Replacing master in git

It's like one of those parodies where white people make a rem...

The case for * { margin: 20px }

Why introduce unnecessary complexity, though? You could just ...

The case for * { margin: 20px }

You bring this up as an example of what one would be inclined...

How much coffee do you drink?

None, not that this makes me any better than you coffee addic...

What's the Best Place to Learn TypeScript?

Also, Udemy has sales where everything is $10 every other da...

What is your pettiest programming-related opinion?

It's trying to solve a problem that doesn't actually exist.

What is your pettiest programming-related opinion?

Because anything you can do in styled-components you can also...

What is your pettiest programming-related opinion?

Thank you for saying what really needed to be said. CSS in J...

Announcing the Grant For The Web Hackathon on DEV

Careful! These examples hide content on the client side. A c...

What domain names are you holding on to?

Make it smaller.

5 Way to Append Item to Array in JavaScript

Ah, yep, I thought it was all being executed sequentially

5 Way to Append Item to Array in JavaScript

const array = ['🦊']; array.push('🐴'); array.splice(array.len...

Using Array.Reduce to Streamline Your JavaScript Object Validations

Note: the name and password length validation can be done wit...

Drawing a single-element dollar bill with CSS and JavaScript

I was totally joking btw, but you delivered anyway :D It's b...

Drawing a single-element dollar bill with CSS and JavaScript

Now make it rain :P

JavaScript Coding Challenge #2: Add all Integer in a string using JavaScript.

Interesting! This problem doesn't seem well defined, though....

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

That's actually a good point! I usually do find myself refere...

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

Getting better as a developer means you stop using StackOver...

Learn To Clone Like A Sith Lord

I'm more than open to having a discussion unless you're bus...

Learn To Clone Like A Sith Lord

I guess we can "agree to disagree" about the definition of...

Learn To Clone Like A Sith Lord

Yup, you're right; in hastily writing a response, I got tot...

Learn To Clone Like A Sith Lord

What's the difference between the two scenarios?? I suppos...

Learn To Clone Like A Sith Lord

In most programming languages, objects (and their nephews,...

4 ways to swap variable

Method #3 is a terrible idea: It's wasteful, performing u...

Function

This is not how function invocations work: // First javaS...

Hit me with a good rant

Yes. You can get around it by browsing incognito, though.

COPY to the clipboard in JS

Edge is garbage, but it exists, so :/

Hit me with a good rant

This is all I see today, its pathetic The worst part is wh...

COPY to the clipboard in JS

It's probably still a good idea to use the temporary textar...

soooo, what exactly is thoughts and prayers??

youtube.com/watch?v=UXrB7Y6gVN8

Not just another Coronavirus (covid-19) dashboard with live statistics

It works now, yes

Not just another Coronavirus (covid-19) dashboard with live statistics

Yeah, idk, I did a cache clear + hard reload; still hangs o...

Not just another Coronavirus (covid-19) dashboard with live statistics

but I tried most of the browsers and seems like its workin...

Not just another Coronavirus (covid-19) dashboard with live statistics

Hmm, still can't access it. Your time to interactive on mo...

The Weird Thing About Deleting Items from Lists in JavaScript

insert that same element to be removed into the removeChil...

I've been focusing on pleasing existing users for 3.5 years on my indie app

Really interesting read! Clearly it pays to invest the time...

What’s your alternative solution? Challenge #6

This takes a very simple problem and either intentionally o...

Daily Challenge #214 - Persistent Bugger

Recursive JavaScript solution: function persistence(num) ...

Programming Resources for Kids

Modding games and Minecraft redstone tutorials are great wa...

How do YOU debug

Print statements all the way. Debuggers are, to me, very s...

Lua and Löve are your gateway drug to videogame making

Also, check out PICO-8 and TIC-80. The latter is a free/ope...

We vs Virus Hackathon: Giev likez plz!

Nice! There's a similar app called Forest, though its focu...

Explain React State & Props Like I'm Five

The React docs do a pretty good job of explaining props/state...

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

Seems there's a bug with the news portion of the site: Un...

Full CSS animations guide which allows you to build amazing websites

The animation in your demo could use some work. The timing/...

A handy way to know your public IP Address with DNS servers

You can also do what I do and Google: my ip

propTypes use in react and some ways to avoid 😫🔧 Errors

Laughs in TypeScript :)

JavaScript String toLowerCase and toUpperCase

Make one about how to create a JavaScript source file.

18 Best Remote Work Tools for Devs to Overcome COVID-19

Unpopular opinion: Slack is terrible for workplace producti...

Announcing WheelJS - The Future of JavaScript

Okay, you got me, lol... Big whoosh moment. I should've read...

Announcing WheelJS - The Future of JavaScript

console.log(result); // outputs 42 (23 / 0) Uh... What is...

You Don't Need CSS-in-JS: Why I Use Stylesheets

CSS in JS is spaghetti. Tried it once with styled-component...

Daily Challenge #206 - Pound Means Backspace

Classic use case for a stack (Python). def cleanString(st...

Liven up your video calls with snap filters

This depends on what your video call is for and with what g...

What weekend coding are you doing these days?

I've been doing a lot of "sandbox" coding lately, where I j...

I am an imposter. You too?

Thanks for the read, Johan! I also suffer from imposter sy...

Good enough portfolio ?

Very cool! The biggest issue with your site is performance...

Whats the best source of raw data

github.com/awesomedata/awesome-pub...

How I Developed the Nintendo Switch Game Store UI using CSS Grid

Two more suggestions to match the original: Use cursor: p...

CSS Grid: "The Big Three" cheat code

The key problem with grid-template-areas is that the column...

CSS Grid: "The Big Three" cheat code

grid-template-areas is pretty awesome! Unfortunately, it's ...

What topics are you interested in?

Animation and CSS shapes! These two sorta go hand-in-hand f...

Windows vs linux?

Windows Subsystem for Linux :)

SOS! CSS is eating my timeline!

I'm curious: How do you keep your CSS maintainable with Tai...

What kind of physical exercises do you maintain to be fit and healthy?

Yup! I do these at home with a simple set of dumbbells on a w...

Let’s talk video vs article when learning

Give it a shot! It was developed by @perborgen . It helped...

What kind of physical exercises do you maintain to be fit and healthy?

I work out for 40-60 mins and leave a 2-day gap between worko...

Wouldn't it be cool if DEV could render LaTeX?

There's a great tutorial on how to get it set up here: xuc....

Wouldn't it be cool if DEV could render LaTeX?

Yup, you can use it to generate both inline and block-level...

Wouldn't it be cool if DEV could render LaTeX?

Awesome! It would also be great if we could get support fo...

Algorithm 101: 6 Ways to Find the Longest Word in a Sentence

Sure, edited to clarify

Algorithm 101: 6 Ways to Find the Longest Word in a Sentence

Here's the reduce version for those who are wondering: fu...

Let's Talk About Var, Let and Const

Right, but there are only so many unique insights and persp...

Unpopular opinions

GraphQL sucks. GraphQL sucks 99% more with TypeScript. Yo...

Let's Talk About Var, Let and Const

Please let's not talk about var, let, and const... Again. ...

Which Operating System Are You Using?

Windows, regrettably. WSL works until it doesn't; then I h...

WTF? Google Cloud Platform has a Cloud Service that Uses ML to help you find a job. How more meta can you get?

Sounds pretty cool! GCP in general is awesome. I wish it w...

New to Coding

If anyone has any pointers shoot em my way. Pointer* po...

Power Up Your Programming With This Simple Equation

I actually found this explanation pretty long winded and co...

Ben++

Viel Glück, Ben! Ich habe Deutsch an der Uni gelernt, und s...

⭐️ Interactive JavaScript Quiz #1

and (if I estimated your age correctly) something like x86...

11 Awesome Resources To Bring Your React App to The Next Level

Where's Ant Design? It has lots of pre-made components (of ...

Writing a technical article/blog 101 ✍

Monitoring StackOverflow and tech sites regularly, includi...

How to Write a good Dev.to post?

Oh Yeah, woops. I didn't sense that tone. Poe's law strik...

Rate my personal website

Well done! The site looks much better now, imo. I would sa...

How to Write a good Dev.to post?

It's okay to take offense. Could you clarify what you mean ...

⭐️ Interactive JavaScript Quiz #1

Absolutely! But if you face the same circumstances on your...

Queue Data Structure in Javascript

Not to mention the first paragraph of the article is a copy...

⭐️ Interactive JavaScript Quiz #1

I agree with everything in that sentence except "early on"...

⭐️ Interactive JavaScript Quiz #1

They have no idea a dinosaur such as C++ even exists Whi...

How to Write a good Dev.to post?

The most important piece of advice I can impart is one that e...

Stop using for loops. Here's why.

This is so unacceptable. Like, you're literally wasting pre...

Stop using for loops. Here's why.

Wow, you guys are really kicking up the clickbait lately hu...

Javascript: how to merge multiple objects with sum of values

Definitely! Your solution demonstrates how Array.reduce wou...

Javascript: how to merge multiple objects with sum of values

No need to reinvent the wheel; you can just use Array.reduc...

Website improvement?

You could use auto left and right margins to center your p...

Website improvement?

Sure! First things first, I always recommend that people u...

Use CSS float property to create columns

I'm glad I'm young enough to have never experienced floats ...

What's wrong with Egghead.io?

Some courses are less informative than 5 mins read of docume...

Improving my counter

how would you set the starting numbers Just in the HTML,...

Improving my counter

Consider using String.prototype.padStart: developer.mozill...

You should write a comment on every line of code

No... No you should not comment every line of code. Well-wr...

DNA paring free code camp intermediate algorithm

It's unclear from your post what this is about. I would rec...

Rate my personal website

Np!

Rate my personal website

It's definitely a good start! I highly recommend you use a...

The only 4 Regex Notations You Need To Know (to start) ❤️

I've used #3 regularly in the past to clean/reformat data a...

3 ways to time travel in Git to undo destructive mistakes

Came here thinking this was gonna cover generic things I al...

3 ways to time travel in Git to undo destructive mistakes

Good to know!

A unique JavaScript interview challenge

Did I miss something? :D I can't find the problem statement...

The Evil of Pair-Programming

I can see both sides of it, actually. On the one hand, you c...

The Evil of Pair-Programming

I'm sure OP's intent was not to offend anyone. It's an analog...

Build a Simple Arcade Game With Vanilla JavaScript - DOM Manipulation🚀

I think you have a bug in your game. The duck will sometime...

⭐️ Interactive JavaScript Quiz #1

Yup, that's understandable. Unless people have worked with ...

⭐️ Interactive JavaScript Quiz #1

3/3! :) Regarding #2, I don't like that JavaScript and Java ...

🙁 Uber Eats Ruined My Life - Solved with NodeJS

body: 'I am about to spend 20$ in uber eats, why the fuck ...

How to Boost Emotional Intelligence to Become a Better Leader

Become a quick decision-maker I don't see how this is rele...

How I Gave My Personal Site An Accessibility Makeover

Fun fact: The Chrome dev tools already have a built-in acce...

How to Lazy Load Images

I added lazy loading to my Jekyll blog a couple weeks ago, ...

Import DEV Posts To Jekyll With GitHub Actions

Ah, no, I'll have to look into that!

Import DEV Posts To Jekyll With GitHub Actions

Nice work! Sounds useful. Wish there was something for the...

Learn basic UI design in 5 minutes

See this StackOverflow discussion: stackoverflow.com/questi...

Learn basic UI design in 5 minutes

Good advice all around! I don't like this example, though: ...

TIL About .bold(), .blink(), and More JavaScript String Methods

See, this is the kind of JavaScript content that Dev.to nee...

The Best Android Apps for Learning How to Code

Better off finding yourself a good laptop and just using th...

Don’t waste your time learning everything

There's no shame in having to use Google. 99% of my educ...

The 25 most recommended programming books of all-time.

Really many people recommend them, but very few really rea...

When CSS Beat Javascript

You'll often encounter it on Codepen, and it's usually done...

When CSS Beat Javascript

On the opposite end of the spectrum are people who are vehe...

Currency exchange web app in ~100 lines using the CRA (Create React App)

There seems to be a bug in the app related to rounding erro...

How to add loader in the website in a few seconds 😎

Good to know!

How to add loader in the website in a few seconds 😎

I noticed in some cases you used .spinner:before and .spinn...

🤑🥳😎Going down the youtube tech guru hole or how you can spot scam artists

It's not just YouTube, unfortunately. A different, more su...

Getting Started With WSL

Probably one of the major disadvantage of WSL (that makes ...

Ubuntu Terminal in CSS

Looks great! :)

Portfolio Review

Sure! This slideshow needs to go much more slowly: Its ...

Portfolio Review

Also happens on Chrome, actually.

Getting Started With WSL

A handy tip for anyone who wants to navigate to a Windows dir...

Which Techie Are You?

I'm 9. For a second there, I thought you meant you're 9 ye...

How many of y'all are using DEV Connect?

But that, like, requires socializing

You will love Tailwind CSS

and this is the thing that scares most of the developers a...

How to build a website in 2020

Step 10: Edit the color scheme 20 more times. Play with th...

Steam Proton Is Great

I'm really digging the writing, but there sure is a hell o...

What was your best programming project topic?

From a technical perspective, and in terms of lessons learn...

How to Misuse a Computer

Oh shoot, what? I got carried away. This has turned into a...

Take 'this' Quiz, Understand How 'this' Works in JavaScript

On the surface, 'this' seems like an intuitive keyword tha...

Do you do coding challenges like adventOfCode?

No. I've always tried forcing myself to enjoy Leetcode-type...

I'm no more afraid of you JavaScript, thanks to DEV.to!

TS is definitely the way to go for anything more than a toy...

Steam Proton Is Great

Meanwhile, I'm still an Xbox scrublord 😅 Game Pass makes i...

Six Data Structures To Help You Ace Your Technical Interview

Did not know about those points!

Six Data Structures To Help You Ace Your Technical Interview

I'd say linked lists are overrated They definitely aren'...

Understanding our value

Wow. This definitely deserves more reads. There are self-h...

Do you merge branches locally or create pull requests for personal projects?

I merge locally for the convenience. If the project involve...

Tankblade - First Game Jam!

Very nice! I got 254. I'd love to see the code! Also, for ...

Create a Reading Scroll Progress Bar for Your Blog in JavaScript and CSS

Nicely done! It even works in Edge. That said, I'm not a b...

How to make the background of the items inside a box, the background of the page?

I wouldn't think of the circles as holes; just treat them a...

🙏 Please Add .gitattributes To Your Git Repository

I admit to still typing notepad into Run/cmd/PS on occasio...

I hated Regex so much that I made iHateRegex.io

Is the site down? I can't reach it.

How to build a PWA from scratch with HTML, CSS and JavaScript ?

But suddenly we're including manifest.json, service worker...

How To Immutably Update An Array In TypeScript

And tbf, I absolutely hate Redux. It's a PITA to work with.

How To Immutably Update An Array In TypeScript

as the state is shared in multiple components Would it b...

What was your win this week?

Never apologize for your accomplishments. It's not about mo...

Designing a Full Website UI using Figma

Thanks for the quick response!

Designing a Full Website UI using Figma

Great stuff! Question: What shortcuts are you using to set ...

How To Immutably Update An Array In TypeScript

I'm confused. Why are you not treating items as part of thi...

Learn How to Create a Vertical Slick Slider with Custom Dots and Arrows

I'd recommend adding a preview image at the start of this p...

A JavaScript interview question asked at Google

The pragmatic thing to do is to first write the code that g...

A JavaScript interview question asked at Google

Also, it seems you didn't actually read the post that you l...

A JavaScript interview question asked at Google

It's dangerous to assume that the theoretical time complex...

A JavaScript interview question asked at Google

Again, overengineering. Google engineers do this a lot. You...

A JavaScript interview question asked at Google

I'm still trying to understand the need for equals and notE...

A JavaScript interview question asked at Google

I wouldn't do that, mainly because it's unnecessarily slow ...

A JavaScript interview question asked at Google

There's a lot of visual clutter, and lots of helper functio...

A JavaScript interview question asked at Google

I liked this problem! Didn't read the solution so I could p...

A JavaScript interview question asked at Google

That looks like an unnecessarily complex and overengineered s...

Decode a Binary Message using JavaScript

For anyone wondering, you can also decode this by hand, alb...

Why You Should Stop Freeloading and Pay for Your Programming Books

Investing your money makes you far more likely to invest y...

Adding a dark theme to your website with css variables

It's admittedly difficult and leads to a lot more styling t...

Name a tech you recently tried, but wasn't fully a fan of?

+1 for GraphQL It's so much boilerplate and obscurity that...

Can you make a countdown timer in pure CSS?

Seconded, I really like your unique font and color choices!...

Javascript Shorthand Coding Techniques

forEach can also be used with arrays, maps, and sets. To my...

Javascript Shorthand Coding Techniques

I'm not sure I understand. A regular for loop doesn't retur...

Javascript Shorthand Coding Techniques

For #5, why not Array.prototype.forEach? animals.forEach(...

Getting started with ES6

What are let and const? let and const are new variables th...

Disadvantages of Javascript import

Ah, okay, I see what you were getting at

loading...