loading...
Eljay-Adobe profile picture

Eljay-Adobe

Nerd. Compiled languages: C++, Swift, C#, and F#. Script languages: Python and Lua. Shell language: bash. Platforms: macOS, iOS, Windows.

Joined Joined on  GitHub logo

Last 250 comments

The Dream of C# 9.0

Some of the features I'd like to see in C# are borrowed from ...

4 Problems with Slack that can ruin remote work‍

We have people that do @here I'm on the 10th floor, where is ...

.NET5 - A Unified Platform

.NET is a solid platform. Great for general purpose applicat...

4 Problems with Slack that can ruin remote work‍

@here ought to cause an electric shock.

How to be more successful at software maintenance

Obligatory How to write unmaintainable code.

Code Smell 24 - Boolean Coercions

Shouldn't that be if (i != 0) ...?

Tips I've learned over 10 years for maintainability of my code

Only two hard things in computer science: naming things cac...

What should a programming language do "out of the box"?

Some do the minimum, like Lua. Some try to do everything, li...

Do you prefer Light mode or Dark mode?

I prefer light mode. I also try not to set my monitor bright...

Software Testing 101: Get started with software testing types

Joe Rainsberger has said that 98% of all bugs are basic corre...

Pay cut to work remotely - Fair deal?‍

From the same company then, would I get a 20% pay increase to...

Gitlab VS Github VS BitBucket. Which one deserve your time ? ⌚️👀

My private proprietary project uses GitHub (enterprise, self ...

What's the most complex project you have ever done or been part of?

Ironically, the .NET platform came from Brian Harry because h...

What's the most complex project you have ever done or been part of?

I think the most complex was when I was at Microsoft as a dev...

Four Pillars of OOP

In contrast, for FP, the pillars (as I see them) are: immut...

What are your favorite less-common programming languages?

D overview to get you started. There are 3 compilers availab...

Why isn't functional programming the norm?

It takes time for an up-and-coming programming paradigm to sp...

What are your favorite less-common programming languages?

"Less common" is really subjective. I'd say F# as my favorite...

What are your favorite free tools or resources?

I've a few: Linux Vim Git Xcode Visual Studio (community ed...

TypeScript is slow. What can we do about it?

Ruby can't be worse than PHP.

What's your experience with pair programming?

If you are co-located, and working with someone who is workin...

3 reasons you should try Svelte

I usually end up using Vanilla JS. Has the best performance,...

Let's discuss: What are your biggest difficulties with Git?

I didn't go back to vim. I was an emacs user for many years....

Let's discuss: What are your biggest difficulties with Git?

I usually use git command line. I sometimes use Atlassian So...

🔱 Git Commands You Didn't Know

My aliases: st = status -s -uno co = checkout coffee = "!f(...

Let's discuss: What are your biggest difficulties with Git?

That's not even close. A UI could be built on top of git tha...

Let's discuss: What are your biggest difficulties with Git?

My biggest problem with git is the lack of having a time-laps...

Typescript for beginners: number

One of the many beauties of TypeScript is that type annotatio...

Top 5 Things NOT to Say in a Job Interview

My advice is to be truthful. Any lie is a disqualifier. Any...

Developers won’t test if it’s too hard

I think it is worth mentioning — when I was using C# in Visua...

Your bash scripts are rubbish, use another language

That is a valid counterpoint, and I concur. Good code can be...

Your bash scripts are rubbish, use another language

I use bash day in and day out. It's my favorite shell. I've...

Git, but not dumb down: Introduction

Pro Git book is a great resource, and I recommend it as well....

Mistakes Most Students Make While Learning Programming

I enjoy Advent of Code.

IntelliJ iDea Ultimate vs PyCharm..... which is better for what?

I've programmed extensively in both Java and C#, over two yea...

IntelliJ iDea Ultimate vs PyCharm..... which is better for what?

Java is a fine language, it is very mature (so it is very sta...

IntelliJ iDea Ultimate vs PyCharm..... which is better for what?

For beginners, my recommendation is Python, and has been for ...

IntelliJ iDea Ultimate vs PyCharm..... which is better for what?

For Python, I'd use (and I do use) PyCharm. It's a great env...

Javascript true false weirdness

The === equality check is a strong check. If something is tr...

Help choosing a laptop for work

I just got a Microsoft Surface 3, 13.5". I hook it up to a 3...

When DRY Doesn't Work, Go WET

WET • Write Everything Twice ...hmm, in my circles it means s...

Why I don't believe in pure functional programming anymore

I've come to FP through F#. F# is an "impure" FP language, b...

Before Migrating to TypeScript

One of the original benefits of TypeScript is no longer relev...

Is accidental complexity inevitable?

PRESENTATION "7 minutes, 26 seconds, and the Fundamental Theo...

Display Git Branch Info In Bash Prompts

laugh... yes, well, that's why we have a few of our devs deal...

Display Git Branch Info In Bash Prompts

I'm with you on your preference! Going a Pitchfork Layout wi...

What browser extensions do you use?

NewTabRedirect, ViolentMonkey, Chrome Regex Search, uBlock Or...

Display Git Branch Info In Bash Prompts

Can you have one Boost in a separate repository as a git subm...

Display Git Branch Info In Bash Prompts

For instance... at one time, we had 12 copies of Boost. We s...

Display Git Branch Info In Bash Prompts

That's certainly a much more reasonably sized repo! Some of ...

Display Git Branch Info In Bash Prompts

Depends on your terminal. On my terminal, I hard code the AN...

The myth of "never going back to fix it later"

The Cycle of Misery(by Chris Raser) The code is "too simple t...

Display Git Branch Info In Bash Prompts

I had to roll my own (which I also called __git_ps1) which on...

Display Git Branch Info In Bash Prompts

PS1 is the primary prompt string. PS2 is the secondary promp...

The myth of "never going back to fix it later"

I love (in the if I didn't laugh, I'd cry sense) reading code...

How to get over my fear of algorithms and test when applying for a job

Step one to get over your fear. If you mess up, move on. It...

IO: to be a Monad or not to be, that's the question!

One of the things I've grown to really like about F# is every...

Hey programmers, which keyboards do you suggest under $200.

I have a lot of keyboards. My favorite keyboard is the IBM m...

Why I love learning functional programming

I've been dabbling in functional programming for a couple yea...

How do you order your functions?

"...no semi..." as in no semicolons? I use JavaScript Standa...

Why are you afraid of DevOps?

What does DevOps do? I don't say that to be snarky. The las...

Tips for Programming with a low end PC.

The one thing I really like about Vim is that it is a zen-lik...

What are your preferred bash aliases?

I like to make my ~/.bash_profile able to be re-sourced multi...

Do you buy domains for personal or side projects?

I just use neocities.org to host my static web pages.

What headphones do you use?

Sennheiser G4ME ZERO. First headset (of about 50) I've found...

What is the best text editor? (Using Science)

I used emacs for years. Challenged by a co-worker, he switch...

Most Esoteric Language You've Used

For real applications, I think my most esoteric programming l...

Explain what a programmer does. Wrong answers only

A programmer is someone who is in a perpetual catatonic state...

Try these 4 languages from 4 corners of Programming

The Book of F# by Dave Fancher is a great introduction and tu...

Try these 4 languages from 4 corners of Programming

My favorite programmings languages are: F# for functional pro...

How to use the nullish coalescing operator (??) in Javascript

Two more falsy values, -0 (I know, that's a technicality), an...

How can developers and product managers work better together?

If you do get a chance to do by the book Scrum, there is a sh...

Prettier and the Beauty of Opinionated Code Formatters

There is a tool that we're using called clang-format. It doe...

Prettier and the Beauty of Opinionated Code Formatters

I use JavaScript Standard Style. My project uses quite a few...

How can developers and product managers work better together?

What has worked well? I'm a software engineer. We use a Scr...

How do you code review?

If I'm very familiar with the code in question, I approach th...

Fired for Agility

The agency claims to be "the market leader in agility". Ah, ...

Do I need to code in my free time to be a good developer?

Work is work. My free time is mine. I don't work on work in...

Python: What is an f-string?

(👍🏻)

Is it now possible to react with a thumb down 👎 on DEV?

I remember watching a movie called Gladiator, starring Russel...

Is programming art?

In Alan Cooper's closing keynote address "How Far Have We Com...

Why No Modern Programming Language Should Have a 'Character' Data Type

The API in Swift allows getting to a UTF-8 Encoding Unit, or ...

Why No Modern Programming Language Should Have a 'Character' Data Type

In Swift, a Character is an extended grapheme cluster, which ...

New MacBook Pro Dev Setup

My core tools are Xcode, Python 3, Vim, Fira Code, LibreOffic...

How do you pronounce strftime?

In my head, I pronounce it "string format time" or "string ...

What was your win this week?

My win this week: after spiking, profiling and instrumenti...

My Four Year Quest For Perfect Scala.js UI Development

Do you like the FP parts of Scala, or the OO parts of Scala...

Currying

I had commented on another currying article on Dev.to over ...

A new React project with Typescript, Eslint, and Prettier

I like the Standard code formatter, which looks it does sup...

Let's talk about Linux

Problems running them on WINE? For example, brand new game...

My Vim Story

Bill Joy, the creator of vi, who used an ADM-3A terminal (whi...

Safety-Critical Software: 15 things every developer should know

I am okay with driver assist technologies. I'm not okay wi...

Safety-Critical Software: 15 things every developer should know

Hi Blaine, another excellent article! Steve McConnell's bo...

Compile-time polymorphism !!

For me, it's a bit tricky to wrap my head around CRTP. So ...

What would you pay for type checking?

I've built a very large application in TypeScript. The bui...

Should email re-confirmation be a thing?

If the account has been inactive for some time (say two yea...

Right tool for the job, but chances are the right tool is Perl.

Scheme and Lisp are programmers programming languages. Clo...

Use $ & $$ Instead of document.querySelector/All in JavaScript without jQuery

The lawyers at my company would not allow us to ship or use...

What are the worst programming languages that nobody should learn?

As long as one considers CoffeeScript2 to be different from...

What are the worst programming languages that nobody should learn?

I prefer to call it B****fuck in order not to offend those ...

How to self-teach JavaScript

I started with Eloquent JavaScript by Marijn Haverbeke, whi...

10 Coding principles and acronyms demystified!

Write Expressive Tests • the principle to guide unit tests ...

Apples announces new 16-inch Macbook Pro

My own personal experience is that if I get a laptop this b...

What was your win this week?

Had our potluck at work this week. I made hot chili. It w...

God Objects: How to Summon Codethulhu

Reminds me of the classic satire piece: How To Write Unmai...

DevTips: Use early returns to avoid nested conditions

A few decades ago, structured programming was all the rage....

Why we ditched story points to be more value-oriented

I suppose how story points are used varies greatly. My tea...

Why use functional style in Java?

For JVM, it will probably be even more beneficial to use Sc...

What should a developer CV / resume look like?

Sounds like an academic CV should be rather comprehensive. ...

What API documentation generator/tool do you use?

Hyde and Jekyll. C++ documentation tool Hyde. Clang based...

What was your first own computer?

My first computer was an Apple //e, which had just been int...

Apples announces new 16-inch Macbook Pro

I look at Apple's website, and I'm awed and inspired. I lo...

Apples announces new 16-inch Macbook Pro

Pfft. Remap the worthless CAPSLOCK to ESCAPE, and vi your ...

Apples announces new 16-inch Macbook Pro

Doesn't matter. Apple only made one good keyboard, and tha...

Apples announces new 16-inch Macbook Pro

Linux box, I'd pick the Dell XPS 13 developer edition (9380...

Refactoring - What problem on your code do you want to fix?

"Problems arising for misuse of object-orientation (Object-...

React and the nonsense.

I was referring to Elm, which transpiles into JavaScript. ...

Is remote job a good solution for you? Pros and cons of working remotely

Arguably. ;-)

What advice would you give to an unemployed software developer?

I've gotten every single position I've had through leads. ...

20 Most-Recommended Books for Software Developers

I agree, lamentably. I read the 1/3 of the first volume, a...

20 Most-Recommended Books for Software Developers

I like how this top 20 list was collated. Data Driven Book R...

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

This discussion would not be complete without a link to Van...

TIL: :not() can be used to select all children of an element

Oh... yep. The specificity rules. (shudder) Nam! Sorry,...

What software technologies will earn you the highest pay?

If trying to optimize for highest pay, the best route is to f...

101 Coding Problems and few Tips to Crack Your Next Programming Interviews

I have interviewed about a hundred people. Yes, I'm one of t...

Is Haskell bad for FP?

Languages are tools. Some tools are more (or less) suitabl...

The way adults deliver software on time

Nice post! Applicable to giant multi-decade monolithic pro...

How to start building career?

My advice depends on your level of risk taking. If you are...

Why static typing matters

As of Python 3.5, optional type annotations were introduced...

What are your favorite dev tools?

Visual Studio, Xcode, Vim, Terminal.app, bash, macOS, Windo...

What is the "<>" operator called in Elixir?

I'd call &lt;&gt; the "concatenation operator" or "string c...

A Different Unit Test Pattern

When I was doing C# programming (using the TDD process, NUn...

A Year with Visual Studio IntelliCode – Part 1: Common Misconceptions

I like this article! I worked on Visual Studio from 2010-20...

D and C++: Passing dynamic strings

C is the common ABI ... the lingua franca between C++ and D...

Do you write your own thoughts every day?

It's 12 megabytes. I haven't found a need to split the fil...

Implementing Scrum - A case study

Kelly Waters had transplanted the original pages to his cur...

Software Quality as Perceived Risk

"What does it really mean that 70% of the code is covered b...

Implementing Scrum - A case study

The Scrum Guide is excellent guide for describing Scrum. A...

Do you write your own thoughts every day?

I do. I use Vim and put my thoughts in my daily journal.tx...

Which programming language is best?👨‍💻🙋‍♂️

Java is good for JVM environments. Other alternatives are ...

Your favorite `git` aliases?

An alias to show my aliases: alias.alias config --get-rege...

10 CODING MISTAKES THAT MAKE YOUR CODE SMELL

I agree with this. Having a function with no arguments mea...

When did you start programming? Do you wish you started earlier?

I started programming at 10. I think I was just the right ...

A Primer on Testing & TDD

TDD-style unit tests are great for languages that do not prov...

Are Web Development Bootcamps Worth It?

Bootcamps can be a great way to learn, if that style works ...

DDFDFD

DDFDFD is very compelling, and I can't really say anything ...

No, TypeScript is not a waste of time.

I found TypeScript (v0.8 ... it was a while ago) to be pret...

What jobs did you hold before you got into software?

My first job, as a short-order cook, was when I was 16. I ...

Famous Company <> Career Happiness

Across the entirety of the software development industry, I...

React and the nonsense.

I got to do a big project in TypeScript 0.8, and I often lo...

React and the nonsense.

Is CoffeeScript 2 dead? (Where "dead" means "yeah, it's ou...

React and the nonsense.

Functional Programming for JavaScript? elm-lang.org/

Java, C++, or C#???

If you want to be a better programmer, learn F# or Haskell....

Is it appropriate to play video games at work?

I'd never play games during work hours. (Although some may...

Why Estimation Is Always a Guess

Love it! Mike Cohn's excellent book Succeeding with Agile,...

What's your commute like?

50 minute drive home during the just-before-rush-hour rampi...

What's your commute like?

36 highway miles to the office, one way. To reduce the com...

I've been coding for 20 years, Ask Me Anything!

What changes in the industry do you see coming on the horiz...

The funny Java vs Kotlin battle

Well said! Languages are tools. The tools are either suit...

Is it dev dot too or is it dev dot tee oh?

Steve Wilhite the creator of GIF says it with a soft G. Li...

What was your win this week?

This week, I finally got my development box set up so I cou...

How can I make slides beautiful without a Mac?

For slideshows, I'm pretty much enamored with Reveal.js. R...

Comebacks for Five (Wrong) Arguments Against Accessibility

I had the privilege of retrofitting accessibility into a fa...

Has C++ aged badly?

There is a fabulous book called "The Unix Haters Handbook",...

Use $ & $$ Instead of document.querySelector/All in JavaScript without jQuery

Ugh, I had to replace jQuery in our app with a work-a-like ...

Programming Fonts - Test Drive

Nice resource, thanks for the link! For proportional fonts...

TypeScript Introduction - The Basics

Nice rundown of TypeScript! I think it is also worth point...

Async programming in Python with asyncio

I started using Python 2 around 2001, and had a very long l...

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

When I use an IDE, I use a proportional font. (Gasp! Shoc...

What is the easiest programming language to learn?

I think the first step is figuring out what you want to do....

Is collage underrated in our industry?

When I went to college, they did not have a degree in softw...

Introduction to unit testing in JS

Cucumber uses Gherkin as its BDD language. I think Gherkin...

What's the best source of caffeine for you? 🤔

I don't need caffeine to program at all. Wait... is there ...

What are the least intuitive fundamentals and best practices in software development?

Reminds me of a quote (reformatted): Goal of programmers i...

What are the least intuitive fundamentals and best practices in software development?

Adding more people to a late project will make it later. "...

Hey Google, set my desk to standing mode!

A friend of mine decided to make his own programming langua...

Why TypeScript is a better option than JavaScript when it comes to functional programming?

I looked at your website, and I see that you have a broad e...

Swift 5. What is new?

Swift 1.x to 2.0 was a major change. (I'd call 1.x alpha q...

Which programming languages do you use and why?

Python (3.x) - swiss army knife scripting language, lovely ...

Add unit tests on a project already in progress

Yes, the book is about the general concepts, not a specific...

Add unit tests on a project already in progress

Adding unit tests to an existing legacy code base is diffic...

The worst resignation I was forced to write

A shorter form: "Weeks of coding can save you hours of pla...

The worst resignation I was forced to write

Ouch. Congratulations on extricating yourself from a bad s...

Getting Started with Test Driven Development

I've looked at Catch before. I like it, nice to see that C...

Sh*tpost: can we stop saying "syntactic sugar"?

lol "complete syntax caramel"... I love it! I'm using that...

Getting Started with Test Driven Development

When I was programming in C#, using Visual Studio, NUnit, a...

Async programming in Python with asyncio

On a related note: pythonclock.org/

Software Maintenance, Understanding the 4 Types

Looks like what I call "technical debt" is federated in tho...

Wizards Use Vim! My New Book on Vim

I like the images, such as the Basic Motion Keys. The Basi...

When programming on a laptop: Mouse or Trackpad?

The MacBook Pro has one of the finest trackpads available. ...

Don’t set a resolution this year.

My New Years Resolution: 5120 wide by 2880 high.

Doing Agile perfectly? Then, you're doing it wrong!

A friend of mine is in a company that has decided to do agi...

How do you pronounce dev.to?

Sort of like the "www." part in many URLs. Instead of sayi...

Homemade Machine Learning in Python

For Xmas, my wife has gotten me Introduction to Machine Lea...

Why I think it is worth studying

I agree! When I went to the university (UofMN/IT), they di...

The Most Important Tip for Beginner Software Engineers Is…

My most important tip is this: developing software is a te...

How do you name your git branches?

So far (since I'm a Git noobie), with Jira as well, I use b...

Thoughts on Interviewing at Big Tech Companies

Thank you for sharing the tale of your journey! Sharing yo...

The new MacBook Pros are overpriced

I'm not a fan of the "touchbar" on the MacBook machines. T...

The new MacBook Pros are overpriced

Also depends if you are going for very portable (the 13" ve...

Best Tech GIFs & Memes Ever! Humour and Laughter — The Best Medicine!

What is the importance of understanding libraries and frameworks?

In our industry, I think the terminology is a bit vague as ...

What is your tale of lasagna code? (Code with too many layers)

Shrek: Object-oriented programs are like onions. Donkey: Th...

Have you ever heard a more beautiful phrase than this?

Whoa, that kind of "things are working well" makes me nervo...

Is it just me or is Microsoft really crushing it lately?

Wow! I'm utterly shocked and pleased with this news! I'm ...

Is it just me or is Microsoft really crushing it lately?

My biggest regret over Expression Blend is that it was not ...

Is it just me or is Microsoft really crushing it lately?

I think Satya Nadella has been an excellent steward of the ...

Is easier to do TDD for your dependencies after you have designed their API using mocks

Integration tests are no substitute for unit tests. Unit t...

Seventeen White dudes

The Manifesto for Agile Software Development is not the end...

How many programming languages should you support for a business?

The number of languages that should be supported is: as ma...

The 2 ways to learn how to code

When I was 10, I learned how to code in BASIC. Then I lear...

Daily Coding Puzzles - Nov 11th - Nov 16th

Python 3 def format_words(words): if len(words) &lt;...

Which mainstream programming language has the ugliest syntax?

Oh... I didn't say Erlang had bad syntax. I said Erlang ha...

Which mainstream programming language has the ugliest syntax?

What do you find particularly bad about Erlang's syntax?

Which trend or advancement is being overlooked by most developers?

Crikey, this is a deep dark well of a topic! In no particu...

Put Some Smile on That VIM

This just became my new Vim compatibility test. :-)

Should programming languages be made for IDEs rather than humans?

Tooling is very poor. Debugging is very difficult. Docume...

Should programming languages be made for IDEs rather than humans?

Donald Knuth described Literate Programming in 1979. One o...

What was your TDD aha moment?

Test-Driven Development. It's a design technique for softw...

What was your TDD aha moment?

TDD also puts strong pressure on the developer to do the L ...

What was your TDD aha moment?

Three things made TDD click for me. The Jim Coplien and Bo...

IBM is acquiring Red Hat

The Nadella era has a very different tone than the Ballmer ...

Top 5 DEV Comments from the Past Week

ThunderDEV ... two ENTER, only one will ESCape.

My 2 Cents On Go

"...Go is the perfect mix between a FP and OOP style." You...

Why Devto is so slow from China?

Probably due to RFC 1149.

Set up My Computer with Me!

Depending on how much you use Git, you may want to incorpor...

What types of features typically lead to lots of tech debt?

Relevant book recommendation: Clean Code, by Robert Martin.

8 things I hate in recruitment letters [add yours, it's kind of research]

I'm not in the market these days. Back in the days of yore...

Thoughts after 6 months of literate programming

One of my co-workers (long before I knew him) was a grad st...

Stop! Don't test that!

One of the big proponents of TDD is Robert Martin. Robert ...

Stop! Don't test that!

When I read unit tests I think TDD-style unit tests. Are t...

Is coding easy?

My kid has been getting into Python for Kids: A Playful Int...

Java is too old, What should you learn in 2018?

JVM platform has a lot of top-shelf language choices. Java...

Does anyone else think HTML5 multiple select sucks?

I like this! Me and my iPad thank you.

Working Remotely...

Working remotely is not for everyone. A co-worker of mine ...

Functional Languages are Fad

I'm a fan of F#, and really enjoyed the tutorial The Book o...

Functional Languages are Fad

With such concise code, where do you hide all the bugs? Ev...

The Elusive Senior Software Developer

All-but-one of the positions I have held along my career ha...

The TDD Test

My question was more about how writing the test first is m...

The TDD Test

It can. It's a technique, and a foundation upon which many...

The TDD Test

Unit tests cannot fulfill the role of acceptance tests. To...

The TDD Test

No, I mean "delete the unit test, because it has served its...

The TDD Test

TDD unit tests are at the level of quarks, electrons, and a...

The TDD Test

Quality engineers should not be writing unit tests. If the...

The TDD Test

To drive home the importance of writing the unit test first...

loading...