DEV Community

loading...
edA‑qa mort‑ora‑y profile picture

edA‑qa mort‑ora‑y

I'm a creative programmer and puzzles designer. I cook monsters.

Education

Lots

Work

Programmer, Writer, Speaker, Puzzle Designer at Edaqa's Room

Last 250 comments

System Architecture for Edaqa's Room

Yes. The client starts a "reset" state for the game and repl...

System Architecture for Edaqa's Room

Messages are live games are moved to the long-term storage as...

Pattern Matching in Python

" this takes away the readability a bit" No, it improve read...

What's the longest you've ever spent debugging a single bug?

I recently had a bug in my message stack, which took a few da...

How Can Developers Save a Failing Project

"zero bugs reported on the front-end" This is sign you didn'...

Software contractors and entrepreneurs: Do you have a business entity?

I had a GmbH (Corporation) in Germany. It saves on taxes, but...

Master VS Code + Resources!

The title image you used for the article. I meant I prefer t...

Master VS Code + Resources!

The left image "From This" has a nicer proportional font. Es...

High-Throughput Game Message Server with Python websockets

I'm hoping others will see this code and realize it's okay to...

Can We Fit Rock Paper Scissors in Python in a Tweet?

Cool. You could make it even shorter with emoji: ⛰️📃✂️ And W...

How do you finish your projects?

Have a minimal goal from the start. Make sure you're working ...

Spam sucks

The biggest problem in blocking spam, isn't blocking spam, it...

What was your win this week?

I've added several new features to my game engine for Edaqa's...

How SVGs can be dangerous 👿 (JS Bits)

I love SVG. I use it extensively for my online game. Wouldn'...

10 Questions I'm Asking All Companies Before Scheduling Any Interviews

Asking questions that point out failings of a company (and th...

10 Questions I'm Asking All Companies Before Scheduling Any Interviews

These are all good questions to ask at some point during the ...

I Wrote an Online Escape Game

It's on AWS. I went old school: it's a host with the services...

I Wrote an Online Escape Game

Thank you.

Do we still need jQuery in 2020?

I haven't used jQuery in ages. For the few times where the Ja...

I Wrote an Online Escape Game

Thanks. Everybody can join on their own computer. It's a sin...

I created a website, but when do I have to notify users that I want your cookies?

Cookie notices are mainly for third-party tracking cookies. T...

5 deadly sins of web accessibility

Rule 00. It's not a web site, and definitely not accessible, ...

4 tricks to boost up your algorithms game

Good overview. But pedantic me would like to point out that ...

& nbsp ; stands for "non-breaking space" 🤯

Non-breaking doesn't necessarily mean non-collapsing. Thoug...

🛸 Is JavaScript using pass by value or pass by reference? Let's find out!

When I worked on my Leaf language I called things shared to...

What is the state of Python versions?

I try to use Python 3.8 for my projects since I use Type An...

On the Occasional Misdiagnosis of "Not Invented Here Syndrome"

Invented Here Syndrome

How I Evaluate You in a Code Interview

It's like I have no idea what programming is.

How I Evaluate You in a Code Interview

There are plenty of bad interviews and bad interviewers in ...

How I Evaluate You in a Code Interview

I won't disagree, there's added stress in the interview. Bu...

What's your spookiest coding story?

print( "\U0001F47B" )

How I Evaluate You in a Code Interview

Can I suggest my book ...or my course :) The book isn't t...

How I Evaluate You in a Code Interview

I prefer people that can voice their thoughts. This is an ess...

Merge Sort Quick Reference

I admit my pseudo-code ignores some of the details, making ...

Merge Sort Quick Reference

Yes, the merge part is useful as an independent algorithm. ...

Insertion Sort Quick Reference

I state that in the Time: Copies section.

Coding practices your future self will love you for

It is a good idea to copy-paste the same function a minimu...

CSS and JS Are at War, Here’s How to Stop It

I don't disagree, that's why I go into a lot of other skill...

Let's Get Clever #1: Fibonacci Sequence

Everything is more fun with unicode: import math sq5 = m...

Let's Get Clever #1: Fibonacci Sequence

This is closely related to my closed form solution, as they...

Let's Get Clever #1: Fibonacci Sequence

I'm going for the bonus points, no explicit loops nor recur...

How open-source will Tumblr become?

It offers no killer features. It'd one more social media pl...

I've Trained Programming Interns For 6+ Years, Ask Me Anything!

How many, in your imagination, have you thrown out the wind...

Thoughts on Meetings, Priorities, and Time Management

Meetings can be productive if they have a purpose, and as y...

How do you feel about chasing internet points, badges and the gamification of everything?

It's a problem that gamification has become this successful...

The Wasteland of Wordpress

With a plugin architecture there's no real way to gain cont...

The Wasteland of Wordpress

I don't use the editor to compose content. I write all my c...

What was the most over-hyped software movement?

Yet, tech like blockchain has amazing potential to reduce c...

Do you have your next vacation planned?

Unfortunately, I have a hard time planning my vacation. As ...

Convince me that types are awesome

Slow down there! You already got a response from me today a...

Why switch is better than if-else

In C/C++ they have fall-through, but more modern implementa...

Why switch is better than if-else

C++ compilers will tell you when you've forgotten a default...

Why switch is better than if-else

Defensive programming is a must. It's great if you can ensu...

I've never become overly convinced that switch statements are that much cleaner than `if else if else if else if else`

Why switch is better ...

Don’t say negative things in an interview

No, an I'm not recommending people lie, or hide their opini...

Don’t say negative things in an interview

In short (perhaps I should write an article), global config...

Don’t say negative things in an interview

There's nothing wrong with positive opinion. I'd much prefe...

Don’t say negative things in an interview

What if you happen to be stuck in a room with somebody that...

Don’t say negative things in an interview

An issue is that you aren't interviewing only for your team...

What do you think about the idea that "there should be only one way of doing a thing" in programming languages?

As long as it's my way.

What do you do if you're in the middle of a project and you realize it already exists in the world?

You should remind yourself to do better research before you...

How do you feel about the "misuse" of HTTP methods?

Misuse of what exactly? A set of poorly defined methods des...

Know Not Only Your Weaknesses, But Strengths as Well

I think this is good advice, except for the personality tes...

How to install Python 3.8 on Ubuntu?

I have that installed, and that pip doesn't work correctly ...

How to install Python 3.8 on Ubuntu?

Digging through some closed issues I found you need to instal...

Do you code on the weekend? How often, what’s your routine like?

Please explain this "weekend" you speak of.

What's your worst nightmare as a coder?

That something is wrong with my eyes and I can't see the sc...

What do you want to be when you grow up?

You try to juggle. Many things will fall and break. But you...

A Failed Experiment with Python Type Annotations

Thank you. I'm going to give it another go soon. The issu...

What do you want to be when you grow up?

I want to be what I am now... ...but perhaps making enough...

What's your advice to someone over the age of 30 considering a career in software development?

This question makes me feel old! I'd say the same thing I ...

What does your Terminal look like?

Exhilarating isn't it. Not a single bit of color in there t...

A Failed Experiment with Python Type Annotations

Oh, I guess I'll try this approach first, since Ubuntu is o...

A Failed Experiment with Python Type Annotations

I will check this out, since it'd shift the balance in the ...

Are CSS and HTML programming languages?

Yes, they are. There's no legitimate definition of program...

Is there a future for the Atom editor?

I tried using Atom. It was bloated, hard to configure, and st...

What's the best career advice you can give in ten words or less?

I have a bad feeling some COBOL code is going to outlive us...

What's the best career advice you can give in ten words or less?

Business respects value, not code. Focus on impact.

What's the best career advice you can give in ten words or less?

A colleague's eyes are always fresher than your own.

What's the best career advice you can give in ten words or less?

Some people do, learn from them.

How and why are new programming languages created?

There are several reasons for creating a new language: Yo...

What habit do many senior engineers have that juniors should try to avoid adopting?

Note though, on the second I think any api that accepts som...

What habit do many senior engineers have that juniors should try to avoid adopting?

I disagree that 5e3 is clever. Exponential notation is some...

What habit do many senior engineers have that juniors should try to avoid adopting?

Thinking you're right because of many years of experience.

Do you have a process for naming things?

I've seen normal casing on constants used on many projects....

Do you have a process for naming things?

I've never understood why constants should be uppercase? I ...

What's the longest you've stayed at a job you were unhappy with?

Probably only a few months. That's about how long it takes ...

Medium Was Never Meant to Be a Part of the Developer Ecosystem

I use Medium as both a developer and non-developer. I agree t...

The Rockstar Paradox

For-profit companies are designed to acquire employees who...

FreeCodeCamp's Copyright Infringement

Making a mistake is one thing, persisting in a broken state...

What are some red flags to look out for in the first few weeks of a new dev job?

I think the tech angle is covered, so let me add some from ...

What was your win this week?

It looks nice -- and it's responsive (the first thing I alw...

What was your win this week?

I'm waiting for my five chili plants, various cultivars, to...

What was your win this week?

My goodness, I read the first line, saw the picture, and wa...

What was your win this week?

I gave a presentation "Everybody's a Developer" about the n...

If the World Wide Web were re-created today with no legacy dependencies, how would it be different?

It'd probably be worse, since I assume it'd be some mega-co...

700+ Web Developers Asked Me To Give Them LinkedIn Profile Feedback And These Are My 🖐️ 5 Top Tips.

I loved that game!

What would be a technical solution to ✔️ not looking good on dark mode?

Coloured fonts, and emoji, are fundamentally broken in this...

How many computer devices do you own?

Desktop Powerhouse (the only one I develop on) MacBook Air...

700+ Web Developers Asked Me To Give Them LinkedIn Profile Feedback And These Are My 🖐️ 5 Top Tips.

I need to improve my presence in Monster Slaying. It's my p...

I'm concerned with the move that FreeCodeCamp just pulled by leaving Medium

I'm a bit concerned about the loss of canonical URLs. This ca...

Programming interview preparation

Hee hee, I'm also a photography, but specialize in food. I ...

Convolutional Neural Networks: An Intuitive Primer

I appreciate the effort you've put into clarifying this top...

How to Stay Fit Physically and Mentally and Keep Coding

I wrote How Programmers Can Improve Their Fitness Without G...

Introduction to Front-End unit testing

I've see requirements tools that do this... but well, the r...

What's your commute like?

I take the long way to work quite often, either jogging or ...

Call for JavaScript library: "navigation history"

Oh my, I spent over a year at my last job making a history ...

What was your win this week?

I got my new interview preparation site and class online. ...

What advice would you give someone looking to use their keyboard more and their mouse less?

First decide why you want to break your dependence on the m...

What cool ideas have you seen for integrating new team members?

Yes/No, as Ken says I'll be assigned to a person and help t...

What cool ideas have you seen for integrating new team members?

I find having build instructions helps a lot. These should ...

What cool ideas have you seen for integrating new team members?

I dislike pair programming, but am in favour of pairing new...

Why test POJOs?

Testing is about time optimization: you'll never have enough ...

ELI5: How does someone write a new computer language?

Yes. However, here is where we'd need to go into technical...

Is “Defensive Programming” actually healthy?

Oh, I didn't mean to imply there's something wrong with you...

Is “Defensive Programming” actually healthy?

Not all languages are broken like classic C. Even C/C++ com...

ELI5: How does someone write a new computer language?

There's no way to truly ELI5 this without obscuring details...

Is “Defensive Programming” actually healthy?

Defensive programming is a must if you wish to obtain high-qu...

Should You Listen to Music While Programming?

I prefer music, for a few reasons: it keeps me focused on...

What do you code to relax?

That's great. I've been on several projects where I was rel...

What do you code to relax?

Playing with animation is fun!

Javascript Array.push is 945x faster than Array.concat 🤯🤔

I'm not following how this means what I said doesn't apply?...

Javascript Array.push is 945x faster than Array.concat 🤯🤔

Nice investigation. The concat loop is akin to O(n^2) wherea...

Battling Imposter Syndrome By Understanding the Dunning Kruger Effect

Use bravado and exaggeration when doing an interview. Since...

Battling Imposter Syndrome By Understanding the Dunning Kruger Effect

It's important to remember that these psychological effects...

Creating Linked Lists With JavaScript

If you define push/pop to work on the front of the list you...

Curing the Superhero syndrome in software engineering

Obviously, you expect gratitude, but instead of that your ...

Lists and backtick parsing (MDL Log #5)

DEV's markdown processing appears to have a defect. This pa...

What was your win this week?

Don't forget the progress pictures! That top panel will be...

What was your win this week?

Kicking each other is lots of fun! I used to do that.

What was your win this week?

I installed Windows for the first time in like four years. ...

I'm SEO Consultant, Ask Me Anything!

Why do many SEO sites say that articles should have outgoin...

Music & Coding: let's take a survey

I work at home, so I get to use proper studio monitors for ...

Music & Coding: let's take a survey

Pysbient or Space Ambient as well?

Music & Coding: let's take a survey

I love stuff like Ghoultown as well, if you want an other s...

Music & Coding: let's take a survey

Yes, precisely. I actually listen to two styles of music "I...

Stacks vs. Queues In JavaScript

If I were to be pedantic, and you know how I love to be whe...

Terrible interview question: Swap variables without a temporary

The downside is that it is a lot of uncompensated time. Unl...

Music & Coding: let's take a survey

And disturb the silence with key strokes?

Music & Coding: let's take a survey

I live in a city and get only low-quality silence. On occas...

Music & Coding: let's take a survey

Death/Black/Doom Metal Any Atmospheric/Soundscape

Stacks vs. Queues In JavaScript

I'm a bit uncertain of your characterization of the complex...

Styling list bullets with emoji

I'm both intrigued and disturbed at the same time. Nice! 🐱

Terrible interview question: Swap variables without a temporary

This is one that came up during my interview training. Some...

Terrible interview question: Swap variables without a temporary

That's one of those silly questions because there are so ma...

Terrible interview question: Swap variables without a temporary

Yes. Presumably you want to do a real-world comparison, not...

Terrible interview question: Swap variables without a temporary

You should mention that a proper normalizing comparison req...

Terrible interview question: Swap variables without a temporary

Algorithms can be used in interviews, but there's a whole h...

Terrible interview question: Swap variables without a temporary

You can't do it with every data type, unless you write in a...

Terrible interview question: Swap variables without a temporary

How would my example of encoding/decoding a UTF stream not ...

Terrible interview question: Swap variables without a temporary

Xor'ing those two might result in a cute internet meme. :)

Terrible interview question: Swap variables without a temporary

Approach to certain problems... I'm so tempted to do this i...

Terrible interview question: Swap variables without a temporary

I'm sure you'd immediately get a red card, "oh, but not tha...

Terrible interview question: Swap variables without a temporary

Surviving interviews requires you don't the process persona...

Terrible interview question: Swap variables without a temporary

Many interviewers forget that they had to learn solutions t...

How do you feel about chasing internet points, badges and the gamification of everything?

Sorry for spamming you with the same link. You don't need t...

How do you feel about chasing internet points, badges and the gamification of everything?

But if likes are private how will I know what makes me happ...

How do you feel about chasing internet points, badges and the gamification of everything?

I award you the "Badge Aficionado" badge for your comment a...

Already know the interview code question? Don't admit it!

If the system were fair, then honesty would be the best app...

What do you think of an #offthecuff tag for stories written spontaneously and without editing?

I need to be less thorough in my articles I guess. :)

Why you should not use (long-lived) feature branches

Keep the branches short-lived and avoid working on the same...

To comment or not to comment?

Write as few comments as possible. The code should be reada...

All That You Need to Know About Microsoft's New Programming Language: Bosque

Hmm, is there another example. The mapping is something you c...

Already know the interview code question? Don't admit it!

Why say anything at all in this case?

How I Write Source Control Commit Messages

An issue tracker is an essential tool in development. You s...

Already know the interview code question? Don't admit it!

I'm in favour of coding interviews for people that don't ha...

Already know the interview code question? Don't admit it!

An interview will consist of multiple questions. IT will no...

Why you should not use (long-lived) feature branches

Marking an issue/story/req complete in a branch is also a b...

Why you should not use (long-lived) feature branches

I don't think I'd limit it to a day or two, sometimes a sma...

Already know the interview code question? Don't admit it!

What are you "giving away" exactly? If you're faced with a ...

Why you should not use (long-lived) feature branches

You seem to be referring to people who use feature branches...

Already know the interview code question? Don't admit it!

This is how I structure my interview questions. They come i...

Already know the interview code question? Don't admit it!

Of course it makes a difference, but that is the point of e...

Already know the interview code question? Don't admit it!

Never question the interviewer's approach! I'm going to rep...

Already know the interview code question? Don't admit it!

You should never answer, "Yes, I know how to solve this." T...

Already know the interview code question? Don't admit it!

I can't tell whether knowing it in advance makes no differe...

Already know the interview code question? Don't admit it!

Yes, the expectation of people being familiar with somethin...

How do you feel about chasing internet points, badges and the gamification of everything?

wouldn't well-written posts and engaging authors naturally...

What was your win this week?

That sounds like a win for everybody. Thanks Ben.

What was your win this week?

This week, I successfully did something not programming rel...

Using Python's Type Annotations

I'm not saying it doesn't have uses, I'm saying that the ba...

Responsive Design and Mobile First

While mobile first will allow it to "work" on other devices...

3 tips for delivering more value

Yes, I'd include that in knowing your user. It's no limited...

How do you feel about chasing internet points, badges and the gamification of everything?

I was informed of the 16-week badge when I got the 8-week o...

How do you feel about chasing internet points, badges and the gamification of everything?

This is a big part of the pressure to get badges, is the im...

How do you feel about chasing internet points, badges and the gamification of everything?

I think perhaps that's what caught me off guard here. I did...

How do you feel about chasing internet points, badges and the gamification of everything?

There may be a difference between boolean and gradient rewa...

How do you feel about chasing internet points, badges and the gamification of everything?

I didn't realize there were streak badges until I got the 8...

How do you feel about chasing internet points, badges and the gamification of everything?

Yes, about that quality... I was fighting my sardonic tende...

How do you feel about chasing internet points, badges and the gamification of everything?

Is that not an admission that the content itself is not int...

Introduction to Front-End unit testing

Coverage is one of the worst and most counter productive metr...

How I Write Blog Posts These Days

I'm working on it. It's almost far enough to do all my post...

Design Ideas: 16 Week Writing Streak Badge

0^4 fits within the same width and style.

Have you ever quit a job without anything else lined up?

I think I've only quit jobs without anything else lined up....

10x Programmers: Myth Or Reality?

I don't think coding ability alone defines a 10x programmer...

How to Find Subdomains on a Website (And Why You Should)

Aquatone and Sublist3r's scanning could trigger alarms on s...

What was your win this week?

Careful, views are addictive. :)

What was your win this week?

Congrats on the article.

What was your win this week?

Soon, old Borland blue will be resurrected. :)

What was your win this week?

Next week my entry will likely by, "This week I enjoyed my ...

What was your win this week?

This week, I: created a class on SkillShare. got publishe...

The Internet Lottery™ for content creators

Thank you. I'll try to read it when I have a chance... it's...

Lessons learned from recording my first class

I'll check it out.

Facebook stored hundreds of millions of passwords in plaintext

Hmm, somebody was just telling me how OAuth with Facebook w...

Is it just me or are we in a low-hype phase?

It's because you are entirely focused on your product right...

How To Quit Your Job

If you work at a startup, or small company, a few weeks not...

A comment feature for author markings (MDL Log #3)

I'm starting with a markdown inspired, but not markdown syn...

New Feature: Personal Configuration (sans serif fonts/night mode beta)

Oh boy, I can't wait for the classic blue background IDE pr...

Make a Linux dev server for less than 50$/life 😱

If the pi can now drive a 4K UHD HDMI signal then I might f...

Time to build a markdown parser and processor (MDL Log #1)

I've updated the readme. I only have a test program at the ...

Feed Customization

What would determine whether an article is technical or not...

The Internet Lottery™ for content creators

Yes, getting noticed by the "influencers" definitely helps ...

The Internet Lottery™ for content creators

Ah yes, the sellout effect. If one becomes entrenched as a ...

The Internet Lottery™ for content creators

I guess you're already facing the problem that all niches d...

Dev 101: Unicode

Let me know if you will write that article, as I have one I...

Essential Python 3 code for lists

Hopefully I have them all fixed now. I was copy-and-pasting...

10 Lessons Learned Conducting Code Reviews

Sorry, I didn't mean to imply there's anything wrong with t...

10 Lessons Learned Conducting Code Reviews

If it is "them", get a team lead and HR involved. Don't res...

Dev 101: Unicode

Emoji are kind of an accident. There were some Japanese cha...

Invented here syndrome

I spent a lot of effort getting the boost test framework to...

Time to build a markdown parser and processor (MDL Log #1)

I'll get back with user stories. I'm going to do it the pro...

Time to build a markdown parser and processor (MDL Log #1)

Supporting a recipe integration is a high-level feature I n...

Time to build a markdown parser and processor (MDL Log #1)

I'll keep posting log updates, that say what I've done. The...

Time to build a markdown parser and processor (MDL Log #1)

It does not appear to support the multiple output case that...

Time to build a markdown parser and processor (MDL Log #1)

I did a lot of Rust programming while doing AI competitions...

Time to build a markdown parser and processor (MDL Log #1)

I've used pandoc a few times. I'm looking for something I c...

Time to build a markdown parser and processor (MDL Log #1)

I have a fairly clear set of requirements, so I won't be ch...

Time to build a markdown parser and processor (MDL Log #1)

I got a big chunk of the low-level parsing done today. It's...

Essential code for lists and vectors in an interview

Writing a utility function signature and moving on is a sol...

Stop waving the wand of magic numbers

I often do three vertical dots for this: trailing_code ....

Essential code for lists and vectors in an interview

Yes, I don't think any of this is new to most of us. But ev...

How To Boost Your Productivity & Get Sh*t Done

Interesting, I didn't know that only 2% of people could eff...

Stop waving the wand of magic numbers

I don't think I've ever searched for an iterator variable.

Stop waving the wand of magic numbers

Does anything other than C++ offer this now? I've usually ...

Stop waving the wand of magic numbers

For square root fun, also see my article Calculating square...

Stop waving the wand of magic numbers

Sounds like Do you recognize your code 6 months later?

Stop waving the wand of magic numbers

I'm okay with a comment on the constant, but not where it i...

Stop waving the wand of magic numbers

I don't think I've seen it before. I might have blocked out...

Do you like mailing lists? And perfecting the podcast.

If you haven't noticed it then perhaps it isn't so bad. Ye...

80 Characters per Line Is a Standard Worth Sticking to Even Today

I go with 100 on the soft limit, and treat 120 as a soft, b...

80 Characters per Line Is a Standard Worth Sticking to Even Today

I have comfortably coded with two windows side-by-side, wit...

Stop waving the wand of magic numbers

Absolutely. It was amazing.

Stop waving the wand of magic numbers

That's not creative, that's "clever". I frown on clever co...

Stop waving the wand of magic numbers

I'm not so happy with their detectObjects rule. I like grou...

Do you like mailing lists? And perfecting the podcast.

How annoyed are you by people that post the same content mu...

Do you like mailing lists? And perfecting the podcast.

Which ways do you prefer to be informed of content that you...

How to fail a programming interview

I'm not so concerned about misalignment, but there's still ...

How to fail a programming interview

Most candidates seem to have some experience, even in junio...

How to fail a programming interview

By overthink I really mean overthink, not just understandin...

loading...