Live data from Hacker News

Effect of perceptual load on performance within IDE in people with ADHD symptoms

link.springer.com

211–220 of 288 posts

Re: Effect of perceptual load on performance within IDE in people with ADHD symptoms

#211

Earlier quoted context omitted.

I lost my reading tendency when life got harder. The urgency and anxiety around keeping up with everyday life made activities like reading almost unsettling slow and “unproductive”. I realized that and did something about it, but I didn’t allow myself to enjoy a book for around 10 years. Not sure if that resonates with you (I hope not!) but I figured I’d mention it just in case. I was totally unaware of what I was do…

What did you do about it? If you don't mind expanding on that.

Not at all, I responded to someone else about that here:

https://news.ycombinator.com/item?id=36729512

Re: Effect of perceptual load on performance within IDE in people with ADHD symptoms

#212

Earlier quoted context omitted.

> Visual studio proper is a 100% circus for me now. I can power through it, but I lose tabs in about 15 seconds after opening them. I used to be the same way but then I discovered Visual Studio's vertical tab option. Tabs are displayed vertically on the left side of the editor pane. The filenames are all aligned so it's actually possible to visually scan them. You can group them by project and color code them by file…

My Google Fu is pretty good and I cannot find how to do this. I love vertical tabs in Firefox and never considered doing this in VSCode. How!? edit: on linux at least the process linked below doesn't work... https://domysee.com/blogposts/vscode-vertical-tabs

It does work for me on linux, v1.80.1. But it doesn't seem possible to put the sidebars next to each other: https://github.com/microsoft/vscode/issues/177812

Re: Effect of perceptual load on performance within IDE in people with ADHD symptoms

#213
I have pretty bad ADHD, back in the day when I was flipping between editors, I had to carefully catalogue what I want from an IDE and then force myself from ignoring everything else. Here is what my list chiefly has:

0. Reasonable Vim key binding support

1. Linter should highlight as I type. A compile time checker that can point out type errors(mypy, clint what have you) as I type. A reasonable code formatter that formats on save the code I have edited only.

2. A build button that can run a predefined file(useful to run Android apps)

3. Jumping between functions by mouse click.

4. Search bar to find (a) Any Class by Name or (b) any file by name across code bases.

5. A good debugger that can be run from within the IDE. Though for python ipdb is better by miles from the stock pdb debugger. But different languages have different ways they support a debugger so an IDE can abstract over them and just let me place break points and hit run!

6. Sane auto complete: This is easier for IDEs to do in compiled languages, but for non compiled languages like python I have to sometimes futz around.

7. Lately a chat GPT plugin that can answer basic question without diverting my attention to a browser tab.

I would suggest that if you get distracted and have an inner voice(even if its faint), use the inner voice to build out this kind of a list and ignore everything else.

Re: Effect of perceptual load on performance within IDE in people with ADHD symptoms

#214

Even "lite" editors like VSCode, NP++, Sublime Text, etc have become distracting for me. Every time I fire one of these things up, my mental state is eliminated by being forced to dismiss some "hey we got a new version for you :D:D:D" bullshit modal. To whomever is responsible for adding these to apps: please stop. No one is enjoying your shenanigans. It is a text editor . Empathize with the user: People with far les…

This is why I, and I suspect many others, like terminal based text editors like vim (or emacs, whatever. Our war is against GUI before each other). I find IDEs have too much going on and any little blip on the side shifts my focus. Whereas with vim/tmux/zsh I can highly and easily customize my environment to... __me__. About everything an IDE offers I also get[0], but with more ease in having it placed where I want and __when__ I want. I can have a project drawer visible or push it away with NerdTree or use netrw (native) or vimfiler as an explorer. I have tags, linters, smart autocomplete (native), color bracket matching, git, buffers, panes, marks, and all that. All that with trees and interfaces to view in code or quickly turn things off if they are distracting (e.g. pull up my tag tree when reading code or referencing a signature but shove it away when not).

But the best feature is that I can can make it most readable to me. Not only that, but also to the project. I am a true believer that coding environments __should__ be highly personalized. Standardization seems to be a death sentence, especially for ADHD/neurodivergent people like me. I definitely get the sentiment of intent to be shittier over time too. Systems like VSCode feel impenetrable to me despite numerous attempts and strong insistence to use them from many others. (I'm sure this can be true of vim/emacs to others but my argument is about customizing your environment to you, not the tool you use for that)

[0] realistically there's only two things I want that I haven't found: 1) a (good) debugger, and 2) a note system. There are definitely debuggers for vim and useful ones but I've always felt debuggers could be more useful and this isn't just a vim issue. Which, a connection to the second thing, I'd love if I could make notes to specific lines of code in a popup or split and that the note has a mark on that line wherein I can go back and forth. This is immensely helpful when debugging where I'm usually sitting with a piece of paper and drawing[1] and writing notes and often in that I notice optimization or other opportunities that I should come back to later but are not prioritized in the "make it work first" mode (or else rabbit hole). (Minor 3rd thing: in line python execution. Like I want to test a single line or small block. `python -i` can help but just doing this easily would be nice)

[1] Do people not like call graphs? It seems they're rather unpopular and the interfaces that draw them tend to be really bad. Maybe I just haven't found a good one? Mostly work with python fwiw.

Re: Effect of perceptual load on performance within IDE in people with ADHD symptoms

#215

Even "lite" editors like VSCode, NP++, Sublime Text, etc have become distracting for me. Every time I fire one of these things up, my mental state is eliminated by being forced to dismiss some "hey we got a new version for you :D:D:D" bullshit modal. To whomever is responsible for adding these to apps: please stop. No one is enjoying your shenanigans. It is a text editor . Empathize with the user: People with far les…

This is why I, and I suspect many others, like terminal based text editors like vim (or emacs, whatever. Our war is against GUI before each other). I find IDEs have too much going on and any little blip on the side shifts my focus. Whereas with vim/tmux/zsh I can highly and easily customize my environment to... __me__. About everything an IDE offers I also get[0], but with more ease in having it placed where I want a…

> I'd love if I could make notes to specific lines of code in a popup or split and that the note has a mark on that line wherein I can go back and forth.

Emacs does this with a feature called "bookmarks". I don't use vim particularly so can't vouch for anything, but https://github.com/MattesGroeger/vim-bookmarks looks like the same concepts I'm thinking of in a vim-flavored implementation - maybe worth a look.

Re: Effect of perceptual load on performance within IDE in people with ADHD symptoms

#216
post #157

Earlier quoted context omitted.

> why I try to keep functions/modules as simple as possible and ideally not longer in length than I can see on my screen at once (when possible) This is the paradox of "readable" code. Each person has a different definition of it. I also prefer to write as dumb code as possible (well, these days I do, I of course tried to be extra clever in my earlier days). But for me it's the jumping around that makes me lose focus…

For me it's not just the jumps but also overly long names. My ability to quickly scan the code is hindered by names that all jumble together because they aren't visually distinct enough. And when they read like a book, I'm going to have the same problems I have when reading books where I'm somehow reading all these words across the page but at the same time not actually processing any of it.

I have a colleague that loves to call functions things like ‘convert_object_type_from_mm_to_m’ and ‘convert_object_type_from_m_to_mm’ . It’s unscannable. They’re the same to me.

He does not like my ‘meter_to_mm’ and ‘mm_to_meter’ because the abbreviations are inconsistent, no verb is used and he needs to go all the way to the typehint to know the input. We both have a point, but there is not really a clear middle ground without writing a novel in function names.

Re: Effect of perceptual load on performance within IDE in people with ADHD symptoms

#217

Even "lite" editors like VSCode, NP++, Sublime Text, etc have become distracting for me. Every time I fire one of these things up, my mental state is eliminated by being forced to dismiss some "hey we got a new version for you :D:D:D" bullshit modal. To whomever is responsible for adding these to apps: please stop. No one is enjoying your shenanigans. It is a text editor . Empathize with the user: People with far les…

> Visual studio proper is a 100% circus for me now. I can power through it, but I lose tabs in about 15 seconds after opening them. I used to be the same way but then I discovered Visual Studio's vertical tab option. Tabs are displayed vertically on the left side of the editor pane. The filenames are all aligned so it's actually possible to visually scan them. You can group them by project and color code them by file…

You don't need tabs if navigation between files is done properly. For example Bookmarks is massively stronger proposition than tabs.

Re: Effect of perceptual load on performance within IDE in people with ADHD symptoms

#218

Earlier quoted context omitted.

VS Code isn't actually that bad with its extension and application updates. When an extension has been updated, it'll try to load the new version in-memory (if the extension supports it), otherwise it'll add a badge to the Extensions panel icon in the sidebar, leaving a subtle reminder that you need to restart in order to get the new extension update. For updates to VS Code proper, it adds a badge to the settings ico…

VS Code: * Opens a welcome tab anytime you open a project * Pops up unsolicited toast notifications for new file extensions, "we have extensions which can help you with that file type!" * Opens "what's new" type tabs anytime it updates * Starts the "jumping up and down" MacOS dock animation for sometimes trivial problems I could list more examples, but suffice it to say, this is...not ideal . I love VS Code, so for f…

I learned to smash escape button as soon as I see something spawning in the bottom-right corner of the screen

I haven't missed anything critical yet.

> Opens "what's new" type tabs anytime it updates

this happens once a month maybe and sometimes it's actually something useful. Realistically though, it's just another ⌘W. By the way, look at the `update.showReleaseNotes` setting

> Opens a welcome tab anytime you open a project

I don't have this behavior on my computer, it's just empty file or whatever was opened last time

Re: Effect of perceptual load on performance within IDE in people with ADHD symptoms

#219
post #207

Earlier quoted context omitted.

[flagged]

Your code is not what I’m describing at all. You’re just talking past me without actually trying to understand what I’m saying or reading the specifics. A Python instance is effectively a dictionary. The contents of that dictionary can be mutated at runtime to disagree with the type that is specified. This is perhaps an antipattern but it’s not uncommon. Attribute lookups can be dynamic as well without any typing. Th…

>A Python instance is effectively a dictionary. The contents of that dictionary can be mutated at runtime to disagree with the type that is specified. This is perhaps an antipattern but it’s not uncommon.

Yes I know. but the you will see the code addresses this. Mypy caught the monkey patching. Look at it. I added a property to an instance dynamically and mypy caught it.

>You may say “oh but that’s uncommon or bad practice” but it’s unfortunately quite common in many production systems because Python has encouraged embracing its dynamicism for decades. That’s not a flaw, that’s a power. But it definitely has its pros and cons.

I addressed this in the post you replied to. I specifically stated it. Let me quote it:

"__getattr__ is type checked too as long as you type the method signature, I have seen some weirdness around this area for type checkers but that's not the main problem. I understand where you are getting at with __getattr__. When you use this you're essentially creating something akin to a function with a string as a parameter. The contents of a string can't be type checked and if all methods are defined this way on a class none of it can be checked."

You addressed a point I already addressed, and didn't address the points you were factually wrong about: Dictionary access is type checked. Monkey patching is also type checked.

>Anyway I shall not respond further to you because this discussion is hyper fixating on something that was only intended to be an example. It serves no purpose to continue arguing

Completely agreed let's move on from all the BS. But you said some things that were factually wrong about python Dicts not being type checked. You said dictionary access is not type checked. Please address those things. I am interested in your viewpoint on this matter because I can learn something if my statement is wrong.

Re: Effect of perceptual load on performance within IDE in people with ADHD symptoms

#220

Even "lite" editors like VSCode, NP++, Sublime Text, etc have become distracting for me. Every time I fire one of these things up, my mental state is eliminated by being forced to dismiss some "hey we got a new version for you :D:D:D" bullshit modal. To whomever is responsible for adding these to apps: please stop. No one is enjoying your shenanigans. It is a text editor . Empathize with the user: People with far les…

I think it's time for you to roll up your sleeves and start modifying your editor, then. And if it's not modifiable enough, ditch it. I've been using IntelliJ for years (it's main thing is Java but it is also the best javascript/html editor, by far; the git UI is quirky but good once you get used to it). It's highly customizable such that you can banish anything you don't want to see. Features like "find anything" and "run anything" are great for less often used files and features, respectively. Their license is reasonable - it's annual, but if you stop paying you just stop at the last version you paid for. Also the free version is probably good enough for 90% of people. It's also the platform on which Android Studio is based - but I don't do Android so I can't say if that's good or not.

Oh and something I do when I really really need to focus is use another editor! Usually vim unless I'm on a mac in which case I'll use Sublime Text. But more and more I've been using IntelliJ's own "View modes" to get the effect I want.

Post reply on HN