| ▲ | piskov 7 hours ago |
| > My eyes will thank you Sometimes I think the most hate for light mode is from people without autobrightness in their displays. Or from those who don’t know how to change it easily. Sure, if I were to constantly blind myself with 10k lux, I would hate white background too. But it isn’t supposed to be like that: make it the same brightness as the surroundings and voila. I’ve never met a person saying they hate books and wish they were white on black. Also with glossy display (like 6k xdr) the only way I can deal with reflections is by always using light mode. Alabaster code theme is my favorite. If you don’t have auto brightness, there are many apps to change it easily via UI or keyboard instead of manual knobs of your monitor — most of them for the past 10 years support control via hdmi/displayport — I don’t see people complaining “I hate listening to most music because my headphones are always at 90% volume — every soundtrack should be lounge cafe del mar.” Or “I use this browser extension to make everything 5% loud.” Well, just turn down the volume knob, dummy. |
|
| ▲ | itopaloglu83 7 hours ago | parent | next [-] |
| Not everybody own $4k monitors, so automatic brightness isn’t always available. Regardless though, due to the design inconsistencies of the system, one screen is too bright that causes to reduce the brightness and another one uses literally 1/1,000,000 contrast difference between tabs to distinguish the active one, so it’s impossible to get a base brightness correct. I’m using a MacBook Pro M4 and as I move around the house, automatic brightness either tries to blind me despite I’ve been in a dark room for a minute, or simply refuses to turn the brightness up when the sun is shining down into the room. It’s certainly designed for a certain environment, but not definitely a home. |
| |
| ▲ | layer8 4 hours ago | parent | next [-] | | Monitors used to have easy rotary buttons to adjust brightness and contrast. Though I don’t remember it actually being necessary that often. Of course, the monitors rarely changed location. | | |
| ▲ | illiac786 2 hours ago | parent [-] | | In assuming you are not using your keyboard to set brightness because it’s an external display plugged into a laptop? Search for a DDC application for your desktop, it’s amazing, the brightness controls of your laptop will then control the external display as well. I use lunar on my MacBook, it was a revelation. |
| |
| ▲ | piskov 5 hours ago | parent | prev [-] | | If it helps, you can disable auto brightness in accessibility settings so that only manual change remains |
|
|
| ▲ | cosmic_cheese 7 hours ago | parent | prev | next [-] |
| I use both auto (when available) and manual brightness adjustments, and the environment in which I do most of my computing gets ample natural light. The problem persists, however, because as the linked posts notes light mode is far brighter than it used to be, and now if I crank brightness down low enough to feel comfortable I'm sacrificing contrast and color vividness to such a degree that (for me) it's actively distracting. So, dark mode on high brightness it is. For code editing, I've always tended towards dark themes ever since they became readily available in IDEs in the late 2000s simply because syntax coloration "pops" so much more strongly than is possible with a light theme. When I use a light theme for code editing it feels almost like staring at a sheet of undifferentiated text in comparison. |
| |
| ▲ | piskov 7 hours ago | parent | next [-] | | > because syntax coloration "pops" so much more strongly than is possible with a light theme. That’s why I mentioned alabaster: the only thing it highlights is comments and constants. Nowadays I can’t stand “normal” themes even for a minute: they are like blinking Christmas lights for me, too much distraction. Imaging reading the book where each word has different colors for nouns, verbs, what have you — nuts! :-) | | |
| ▲ | cosmic_cheese 7 hours ago | parent | next [-] | | Feels like a difference in mental structures. Without robust syntax coloring, parsing code is considerably more difficult for me. In more human terms it feels kind of like trying to communicate without being able to use adjectives or something. | | |
| ▲ | piskov 6 hours ago | parent [-] | | It took a couple of days 10+ years ago to see what the fuss is about (I was an avid “christmas-lighter” before), and I never came back. Also check this:
https://tonsky.me/blog/syntax-highlighting/ | | |
| ▲ | D-Machine 6 hours ago | parent | next [-] | | This is a pretty awful post, the problem is his example uses a horrible syntax highlighting scheme that makes use of far too few colours and no other text decorations. In a competent highlighting scheme, you have enough differentiation that every distinct type of thing indeed has a different way it pops. | | |
| ▲ | piskov 6 hours ago | parent | next [-] | | Why though? You don’t see a for loop? Or don’t know where is the variable and where is the method? The list goes on. Never in my life I need a color to differentiate between a class name and a variable (they already differ in first-letter case). Or between language keyword and a variable (I’m not 5, I know those keywords by heart). There is a reason we use nouns for variables, verbs for methods, stuff like isReady or hasAccess for booleans and what have you. Color is overrated (or rather very nice for stuff that matters: like comments). I like cursive though to highlight variables that are assigned more than once (bold cursive if it is a parameter, god forbid): instant attention to what is usually a code-smell. | | |
| ▲ | D-Machine 4 hours ago | parent | next [-] | | Code can be read without any syntax highlighting or text decoration, obviously. But adding those things is an additional information stream that makes processing faster and more reliable (redundancy in general has this effect). As you said, it is especially useful for making certain code smells instantly visible at a glance. I also find that different kinds of code will get different "color rhythms" (e.g. low-level algorithmic code vs. high-level code that calls a lot of functions vs. code that does a lot of operations / mutation of object or class properties) when syntax highlighting is properly semantic. This makes scanning for certain types of things (where objects are being mutated, where variables are introduced, etc) extremely fast, since you don't even need to read the characters. I also find that rich syntax highlighting makes the codebase easier to remember, since the color (along with things like the line-lengths) gives each function a sort of unique visual texture. Of course, all of this is personal preference. I am a very visual thinker so this kind of stuff helps a lot for me. Some people are far more verbal in their mental imagery or may remember code chunks solely based on semantics. Then, obviously, a bunch of color and/or text decorations might not matter much, or even just be a distraction. | |
| ▲ | cosmic_cheese 5 hours ago | parent | prev | next [-] | | In my usage, the coloring allows my eyes to “snap” to relevant chunks of code and restrict scanning to the bounds of those chunks. Functionally it seems similar to spatial memory where landmarks are used as navigation shorthand and is impaired in circumstances where everything looks the same (e.g. in one of those sprawling suburbs with 100 of the same house). | |
| ▲ | genocidicbunny 4 hours ago | parent | prev | next [-] | | I remember colors better than I remember names. It's a difference in how I process text, and for code where there's already 'types' of syntax, colors help differentiate between all those. It's not that I can't find the for loop, it's just that visually it becomes more distinct to me if all loops are a certain color. And class names are a certain color. And those colors tend to stand out better on a dark background than a light one. Reading light themes, or even unthemed code just feels like an additional chore that's solved pretty simply by using a dark theme. | |
| ▲ | satvikpendem 5 hours ago | parent | prev [-] | | No one needs it, but it's nice to have. It's the difference between being partially or fully colorblind or not being so, in terms of being able to distinguish parts of the codebase more easily. That is what the parent means by "easier to parse code." > I like cursive though to highlight variables that are assigned more than once Exactly, everyone is different, as personally I'd hate cursive and ligatures. Think of it as, what works for you doesn't work for everyone, and what works for them (color) doesn't work for you. But let people have their preferences. | | |
| ▲ | piskov 5 hours ago | parent [-] | | > as personally I'd hate cursive Exactly the reason to fix the code so that there is only a single assignment and therefore no cursive :-) |
|
| |
| ▲ | chausen 5 hours ago | parent | prev | next [-] | | 99% of vscode themes are like the one he showed. IMO, the best themes do typically have minimal/functional highlights, which results in more text that is the base color. | | |
| ▲ | D-Machine 4 hours ago | parent [-] | | I'd need a citation for that statistic, and I'd also need to see which themes are actually used. > IMO, the best themes do typically have minimal/functional highlights, which results in more text that is the base color And IMO, those are the worst themes. These things are just preferences, but it is an objective fact that a good highlighting scheme makes certain information immediately visible, without requiring the reader to parse the actual characters. Whether or not this information is something you find helpful or annoying depends on your processing styles and preferences. |
| |
| ▲ | satvikpendem 5 hours ago | parent | prev [-] | | Agreed, they should be using color schemes that are TreeSitter compatible so for example "React" and "window.React" are not the exact same color, as they are semantically two different things. |
| |
| ▲ | 6 hours ago | parent | prev [-] | | [deleted] |
|
| |
| ▲ | robocat 40 minutes ago | parent | prev [-] | | Imagine some words, or even sentences, beginning with SHOUTING. Initial caps are nuts too -- B Dark. |
| |
| ▲ | D-Machine 6 hours ago | parent | prev [-] | | Seconding this, light themes cripple syntax highlighting, which in turn makes it far more annoying to quickly scan through code and glean structure. You can make up for this to some degree with text decorations, but, well, with dark schemes you have that too. | | |
| ▲ | namibj 4 hours ago | parent [-] | | Ehhhm, just use solarized light if you need a good light theme... | | |
| ▲ | D-Machine 4 hours ago | parent [-] | | I have about 1500 lines in my VSCode settings.json dedicated to custom syntax highlighting and text decorations (this could be trimmed, some is from before the days of semantic highlighting), but regardless, the amount of differentiation I can achieve with this is simply not possible on a light background. I've tried! (Solarized light is a nice theme though) |
|
|
|
|
| ▲ | topspin 5 hours ago | parent | prev | next [-] |
| > I’ve never met a person saying they hate books and wish they were white on black. I've never seen a book actually radiate its own light. Perhaps if there had been 600+ sq. inch self illuminating books, we might have invented dark mode long ago. During the early days of CRTs, dark mode was the norm. VT50/100/220, 3270 etc. were almost always dark with illuminated characters, and even when not, they were only ~12-14" diagonal, and there was only one. Most PC/DOS machines were the same. The moment raster displays appeared, everything went "light mode," but they still weren't very large. Then, displays got huge and multiplied, easily able to overwhelm human eyes with excessive power. The ~30-year detour into Apple/Microsoft's paper-mimicry is ending due to basic ergonomics. No need for your tut-tutting. |
| |
| ▲ | layer8 4 hours ago | parent [-] | | Books reflect ambient light. Monitor brightness should be set to a similar light level. You can hold a book next to the display and adjust accordingly. | | |
| ▲ | ronjakoi 4 hours ago | parent | next [-] | | That's an unreasonable ask. I'm not gonna fiddle with the brightness of my monitor throughout the day, thanks | | |
| ▲ | Alejandro9R an hour ago | parent [-] | | I mean, if you have a modern digital display you might be able to change the brightness through the DDC/CI protocol and a simple app or extension, available in every much every OS. With a keyboard shortcut or two clicks you change it. Fiddle with monitor settings is painful, but that protocol is a godsend. Even one of my cheapest 13 years old monitor supports it. |
| |
| ▲ | topspin 4 hours ago | parent | prev [-] | | > Books reflect ambient light. Thanks! I always wondered how books worked. |
|
|
|
| ▲ | VerifiedReports 6 hours ago | parent | prev | next [-] |
| No, it isn't. Making your entire screen dark for all content isn't a solution for a dumb GUI color scheme. "Back in the day, light mode wasn’t called “light mode”. It was just the way that computers were, we didn’t really think about turning everything light or dark. Sure, some applications were often dark (photo editors, IDEs, terminals) but everything else was light, and that was fine." Several incorrect statements there. "Back in the day," computers displayed white text on a dark background (usually a blue background) out of the box. This was deemed the most legible. The opposite was called "inverse." The Atari 8-bit and Commodore 64 computers (and possibly others) even had dedicated keys that toggled between regular and inverse text; it is called that in the manual. Word even had a checkbox option in it entitled "Blue background, white text." It wasn't removed until 2007, concurrent with lots of other UI regressions in Windows. Microsoft also removed the color-scheme editor from Windows, with which people had been able to set up global color schemes (including "dark" ones) since 1991. When people finally realized how dumb it is to read dark text off the surface of a glaring light bulb all day, companies had to run around slapping hard-coded "dark modes" onto everything... after abandoning better solutions (user-defined system-wide color schemes) that had existed since the early '90s on every platform except the vaunted Mac. So how did we end up suffering through decades of inverse GUIs? I've always attributed it to 1. The "desktop publishing" fad of the late '80s / early '90s, which sought to make the screen analogous to a piece of paper. 2. The Mac, which imitated Xerox's GUI, which was inverse. Possibly related to #1. 3. Windows defaulting to an inverse scheme (although it provided a way to easily change the global scheme), as it imitated the Mac. |
| |
| ▲ | cosmic_cheese 5 hours ago | parent | next [-] | | > after abandoning better solutions (user-defined system-wide color schemes) that had existed since the early '90s on every platform except the vaunted Mac Even classic Mac OS (pre OS X) had thousands of third party themes via the very popular extension Kaleidoscope and later the built in Appearance Manager. Kaleidoscope schemes especially ran the gamut, with looks ranging from cloning other OSes to green on black “Hollywood hacker” to Star Trek LCARS to shiny chrome to a pair of blue jeans. A great number of those themes were dark. The loss of user control over appearance like that is tragic. | |
| ▲ | orbital-decay 5 hours ago | parent | prev [-] | | >"Back in the day," computers displayed white text on a dark background (usually a blue background) out of the box. This was deemed the most legible. That just prevented CRT degradation and it had less ghosting and flickering, especially as most CRTs in the home computer era were just terrible home TVs, and CRTs in the mainframe era were equally terrible. The saturated blue background was absolutely insufferable and I had ghosting and shifted color perception for minutes after using NC and Borland software for a long time. I loathe it till this day, just like garish CGA colors which were an assault on my eyes. 80's and 90's had a general concept of a desktop with windows as paper documents, because the first real use case for personal computers and workstations was assisting office jobs. Funny how you call the normal light scheme inverted. IIRC PC text/graphics modes used this term for dark backgrounds. | | |
| ▲ | VerifiedReports 3 hours ago | parent [-] | | It was not a screen-saver. Less ghosting? Most likely. But the fact remains that reading text off of a light bulb blasting in your face all day sucks, and once upon a time people knew that... but "forgot" it when vendors shoved inverse color schemes on them by default. "80's and 90's had a general concept of a desktop with windows as paper documents" Yes, I noted that; but the analogy to a piece of paper fails because paper does not EMIT light. Everyone with sufficient computing experience calls "light" schemes inverted. This was even documented in instruction manuals from the early PC era: https://imgur.com/a/aLV8tn0 | | |
| ▲ | orbital-decay an hour ago | parent [-] | | Anyone experienced remembers that any 60Hz CRT is a flickering mess, especially computer monitors that used shorter-lived phosphors, and any old TV had terrible burn-in. That's why you want to reduce the amount of bright pixels on it. That's not a legibility thing. A display is not a light bulb if you aren't specifically making it a light bulb against the poorly lit environment. There's no difference between reflected and emitted light, what you actually need is much better lighting in the room, so your display doesn't stand out when used on a brightness level that provides sufficient contrast (and just because working in a poorly lit room is unhealthy). Moreover, a light scheme in a well-lit environment is less eye-straining, because your pupils contract and adapt to the light. If you're using a dark display against a dark background, your eyes adapt to the dark and then you're hit with the bright text. If you want to display more than just text, dark mode becomes a problem because most of the content (e.g. pictures, videos) is not largely dark. tl;dr avoid excessive contrast and flickering. Everything else is individual eyesight differences, opinions, and snake oil. |
|
|
|
|
| ▲ | Quothling 7 hours ago | parent | prev | next [-] |
| It's probably also because a lot of people sit in rooms which are poorly lit. Part of it is probably because it's really hard to establish proper lighting with modern LEDs. This is anecdotal, but our lamps haven't really changed in the way they are designed, We now have six lamps where we had three before, and there is still "less" light in our living room because LED's create and emit light differently. I usually work with darkmode at home, and light mode in the office because our office is basically the surface of the sun. |
| |
| ▲ | D13Fd 7 hours ago | parent [-] | | Have you tried high-CRI LEDs? I find that they are much closer to the incandescent lighting feel. |
|
|
| ▲ | doodlesdev 5 hours ago | parent | prev | next [-] |
| > I’ve never met a person saying they hate books and wish they were white on black.
That's because paper used to print books isn't always white. Most of the books I've read this year and last year had a somewhat yellow-ish tint to them (they were newly printed). I know I'm not the only person bothered by pure white paper in books.I absolutely agree about setting brightness correctly, though. It's very usual for me to instantly reduce brightness whenever I have to use someone's computer. No idea how people use their screens so bright. |
|
| ▲ | 152334H 3 hours ago | parent | prev | next [-] |
| > I’ve never met a person saying they hate books and wish they were white on black. Wow. This is the most insightful statement I've read today. It's finally clicked [U+2014] why I prefer e-ink to hardback, in spite of the alluring texture of plup across fingers. It's because it should've been white-on-black, not black-on-white. It makes so much intuitive sense. |
|
| ▲ | illiac786 2 hours ago | parent | prev | next [-] |
| Autobrightness only works for screens which are against a wall. Your eyes care about what is behind the screen, not in front of it, and that’s one thing autobrightness never took into account. I used to jailbreak my iPhone 4s to get some dark mode. |
|
| ▲ | Krutonium 7 hours ago | parent | prev | next [-] |
| >I’ve never met a person saying they hate books and wish they were white on black. I love books. But I also have a brain-vision disability that makes it so that I physically struggle to read black text on a white background. If I could get books inverted, I would. |
|
| ▲ | Kerrick 3 hours ago | parent | prev | next [-] |
| > I’ve never met a person saying they hate books and wish they were white on black. Plenty of books are printed non-bleached paper, which is more of a cream color, to reduce the contrast and reflectivity of the background. |
|
| ▲ | 4 hours ago | parent | prev | next [-] |
| [deleted] |
|
| ▲ | Normal_gaussian 5 hours ago | parent | prev | next [-] |
| The pages in books are a range of colours, very few are gloss white. I've just flicked through a few on my shelf; the whitest book I have is the wiring regs and they are notably less white than my wife's artists paper. Most of my books are a kind of murky brown not too dissimilar in mental feel to the HN background. |
| |
| ▲ | layer8 4 hours ago | parent [-] | | That’s why display brightness should be set such that it is similar to how a book page would look in comparable ambient lighting. “White” isn’t a specific brightness level. |
|
|
| ▲ | nitwit005 6 hours ago | parent | prev | next [-] |
| If you turn down the brightness, the background and text will become more similar in color, as both will move closer to black. A dark background reduces total brightness without that effect. |
| |
| ▲ | topspin 3 hours ago | parent [-] | | Exactly. Contrast or, more precisely, the dynamic range we desire, is ruined by dimming displays enough not to cause pain and fatigue. It's a dumb solution, and we may all safely ignore it, knowing it won't occur. "Dark mode" haters will just have to cope as dark becomes the default. |
|
|
| ▲ | troupo 7 hours ago | parent | prev | next [-] |
| > I’ve never met a person saying he hates books and wishes they were white on black. Books don't emit light. They reflect it. That's the difference. |
| |
| ▲ | piskov 7 hours ago | parent | next [-] | | It doesn’t matter what the source is (unless you have crt days flicker, bad tn panel polarization or what have you). Irritation comes from the difference in brightness. | | |
| ▲ | Krutonium 7 hours ago | parent [-] | | Reflection means it's got no difference (or a negligable technically) difference in brightness. | | |
| |
| ▲ | adrianmonk 6 hours ago | parent | prev | next [-] | | I think that reinforces their point if anything. With reflected light, you have a natural, inherent form of auto-brightness because the amount of light coming off the page depends on the amount of light in the room. | | |
| ▲ | jchw 6 hours ago | parent [-] | | Books are not designed to reproduce colors though, and monitors are. If you have aggressive auto-brightness settings, that wouldn't actually make a monitor appear more like a book, it would just make it so the stuff that is actually supposed to look blisteringly white is merely mild. Which, sure, is an improvement for eye strain, but it's more of a workaround than a solution, and since it would muck up color reproduction a lot of users couldn't do this all the time anyways. |
| |
| ▲ | Retr0id 7 hours ago | parent | prev [-] | | The retina can't tell the difference between reflected light and emitted light | | |
| ▲ | 7 hours ago | parent | next [-] | | [deleted] | |
| ▲ | cwillu 6 hours ago | parent | prev [-] | | Unless you're in the habit of reading your books with a flashlight, the context makes it very different. |
|
|
|
| ▲ | taneq 4 hours ago | parent | prev [-] |
| > I don’t see people complaining “I hate listening to most music because my headphones are always at 90% volume Volume and loudness are different things (https://en.wikipedia.org/wiki/Loudness_war) and pervasive loudness is absolutely a thing. Just turning down the volume doesn’t fix dynamic range compression. |