Dodgy EDIDs (was: What does your OS look like?)
- DavidCooper
- Member
- Posts: 1150
- Joined: Wed Oct 27, 2010 4:53 pm
- Location: Scotland
Re: Dodgy EDIDs (was: What does your OS look like?)
Life is too short for extended arguments about things that hardly matter: you're in a race which will be hard enough to win without squandering half your time trying to knock a little bit more sense into other people who aren't even in the running. Ten years from now it may be environmentally unacceptable for people to go on using old hardware due to its higher energy requirements, so there is nothing wrong with a new OS refusing to support any of it - it is all wasted effort and lost time which you will never get back. New devices that don't play by the rules don't deserve to be supported either, so let the user take them back and ask for a refund.
Having said that though, I can't see the harm in having a manual configuration option to let the user play with screen resolutions even if in most cases they find it to be pointless, and whenever there's a dodgy monitor which the OS can't work out how to set up the best way (and the user is so emotionally attached to it that they're determined to get the best out of it regardless), the user will be able to find out how best to use it through experimentation and the OS can then send that information back to the OS designer to add that information to his file of dodgy monitors so that whenever the OS encounters one again it will be able to set it up the same way automatically, thereby effortlessly removing the problem from all other users. If it's impossible to distinguish between two different monitors from the information they provide, the OS will also know which two setups are best for those two monitors and will try the more common way first while suggesting to the user that if the display looks poor they might want to try an alternative setting, and after the user's decided which one works best on their machine they will be able to tell the OS to use that every time (and not ask again), while information would again be sent back to the OS designer to add information to his OS about the commonness of those problem pairs of monitors which can't be distinguished from each other. By doing this, the file of information needed to make it all fully automatic for most machines will build itself at maximum speed and provide what Brendan wants while also providing what everyone else wants, allowing power-users to iron out all the bugs for all users.
Having said that though, I can't see the harm in having a manual configuration option to let the user play with screen resolutions even if in most cases they find it to be pointless, and whenever there's a dodgy monitor which the OS can't work out how to set up the best way (and the user is so emotionally attached to it that they're determined to get the best out of it regardless), the user will be able to find out how best to use it through experimentation and the OS can then send that information back to the OS designer to add that information to his file of dodgy monitors so that whenever the OS encounters one again it will be able to set it up the same way automatically, thereby effortlessly removing the problem from all other users. If it's impossible to distinguish between two different monitors from the information they provide, the OS will also know which two setups are best for those two monitors and will try the more common way first while suggesting to the user that if the display looks poor they might want to try an alternative setting, and after the user's decided which one works best on their machine they will be able to tell the OS to use that every time (and not ask again), while information would again be sent back to the OS designer to add information to his OS about the commonness of those problem pairs of monitors which can't be distinguished from each other. By doing this, the file of information needed to make it all fully automatic for most machines will build itself at maximum speed and provide what Brendan wants while also providing what everyone else wants, allowing power-users to iron out all the bugs for all users.
Help the people of Laos by liking - https://www.facebook.com/TheSBInitiative/?ref=py_c
MSB-OS: http://www.magicschoolbook.com/computing/os-project - direct machine code programming
MSB-OS: http://www.magicschoolbook.com/computing/os-project - direct machine code programming
Re: Dodgy EDIDs (was: What does your OS look like?)
Hi,
The reality is that Microsoft provide an "upgrade assistant" people can use to determine if their hardware is supported or not (and have a "Windows logo program") because it's impossible for Microsoft to deal with everything; Apple don't even attempt to support hardware they didn't supply (which, for multiple reasons, I'm starting to think may be the "least unviable" option), and other OSs (Linux, Solaris, *BSD, Haiku, ....) are continually struggling with "hit or miss" hardware support.
If you discard the notion that my OS should do something that is impossible and accept the fact that I will never be able to support all hardware; and recognise that you're trying to solve a problem that (when the OS is released eventually) will effect too few people to make a difference to the amount of unsupported hardware; you'll understand why I don't want to bother with "end user (mis)configuration".
For example; it's 2026 (after the OS is released); and you (the admin) download the OS and install it on 2 computers on a LAN in one city and 2 computers on another LAN in a different city; then 100 PCs (that you didn't have to touch) boot from network; then 200 potentially malicious users (assuming 2 users per PC) who should not be able to diddle with the OS's configuration spend the next 5 years plugging "random" monitors into whichever machine they feel like whenever someone decides they want to change their office layout; and you (the admin) start work at 3 AM every morning so you can spend 6 hours (including travelling time between cities) running around checking "video timing parameters" before all the normal (potentially malicious) users arrive for work?
The best thing that can happen is for all OSs to enforce mutually beneficial "minimum requirements" (consisting of mandatory unique device identification if nothing else), and make it impossible for hardware manufacturers to sell hardware that doesn't follow industry standards. Sadly, for PC compatible systems you'd have to get Microsoft to agree to this, because (regardless of how much I wish things were different) nobody else matters enough to effect hardware manufacturers.
The plan is that the OS uses EDID to find a suitable "monitor info data" file during boot, and if it doesn't find one it auto-converts the monitors EDID into a "temporary monitor info data" file (which is in my file format, but includes the raw EDID appended to the end). Then people (volunteers helping to develop the OS) use a tool to fix any wrong information and add any missing information (video timings that the EDID didn't mention, the display's brightness, which timings are supported by which VGA/HDMI/DisplayPort connection type, the display's shape if its not "flat 2D", etc) to convert the auto-generated "temporary monitor info data" file into the final "monitor info data" file that would be supplied to normal users (in the same way a device driver would be supplied to normal users).
This utility doesn't exist yet; and because it requires a native video driver (that's able to set arbitrary video mode timings including timings the monitor hasn't said it supports) it won't exist for several years. Without this utility, creating "monitor info data" files is excessively painful (hard coded values entered by hand with no way to test or check any of it).
Mostly; I thank you for your offer, but the OS isn't mature enough yet.
Cheers,
Brendan
And you continue to believe an OS is able to support all hardware (including faulty hardware); when the fact is that no OS does and no OS ever will.onlyonemac wrote:You simply cannot expect to be able to write auto-configuration that will always work. You can try your best, but as you quite rightly pointed out sometimes (usually) it's the hardware's fault - your mistake here is that not everyone has specifically *bought* "crappy" monitors and feels like wasting their own time trying to get a refund because it didn't work with some obscure OS that doesn't let you change the monitor resolution; some people already have those monitors and if your OS doesn't work with the monitor then it's going to be the OS that they'll demand a refund for (I know I would - having just spent money on a new OS I wouldn't want to then be told that I had to spend more money on a new monitor when I'm quite happy with my old one).
The reality is that Microsoft provide an "upgrade assistant" people can use to determine if their hardware is supported or not (and have a "Windows logo program") because it's impossible for Microsoft to deal with everything; Apple don't even attempt to support hardware they didn't supply (which, for multiple reasons, I'm starting to think may be the "least unviable" option), and other OSs (Linux, Solaris, *BSD, Haiku, ....) are continually struggling with "hit or miss" hardware support.
If you discard the notion that my OS should do something that is impossible and accept the fact that I will never be able to support all hardware; and recognise that you're trying to solve a problem that (when the OS is released eventually) will effect too few people to make a difference to the amount of unsupported hardware; you'll understand why I don't want to bother with "end user (mis)configuration".
Please explain how you expect this to work; without forgetting that the OS is not intended for a typical "one computer with one user who owns the computer" scenario.onlyonemac wrote:I really don't know why you stubbornly refuse to offer a configuration file with a big warning at the top saying "I DO NOT AND WILL NOT OFFER ANY SUPPORT WHATSOEVER BEYOND THE AVAILABLE DOCUMENTATION FOR THE FOLLOWING CONFIGURATION OPTIONS OR ANY PROBLEMS THAT ARISE FROM THEIR USE, BUT THEY ARE AVAILABLE SHOULD YOU WISH TO ATTEMPT TO RESOLVE HARDWARE COMPATIBILITY ISSUES YOURSELF. PROCEED AT YOUR OWN RISK." and supply a small booklet explaining each option and it's intended use (e.g. "The 'resolution' parameter can be used to override the automatic detection of monitor resolution should your monitor be incompatible with the auto-configuration routine, and requires three parameters giving the desired horizontal resolution, vertical resolution, and refresh rate of the monitor.") which wouldn't take more than a few hours to write (hardly a big deal for an OS with a 10-year development timescale).
For example; it's 2026 (after the OS is released); and you (the admin) download the OS and install it on 2 computers on a LAN in one city and 2 computers on another LAN in a different city; then 100 PCs (that you didn't have to touch) boot from network; then 200 potentially malicious users (assuming 2 users per PC) who should not be able to diddle with the OS's configuration spend the next 5 years plugging "random" monitors into whichever machine they feel like whenever someone decides they want to change their office layout; and you (the admin) start work at 3 AM every morning so you can spend 6 hours (including travelling time between cities) running around checking "video timing parameters" before all the normal (potentially malicious) users arrive for work?
Yes.onlyonemac wrote:The bottom line is: while we all wish that manufacturers would follow industry standards and make their products compatible with each other, the fact is that there are always going to be one or two that aren't and usually there's nothing that the end user can do about that.
The best thing that can happen is for all OSs to enforce mutually beneficial "minimum requirements" (consisting of mandatory unique device identification if nothing else), and make it impossible for hardware manufacturers to sell hardware that doesn't follow industry standards. Sadly, for PC compatible systems you'd have to get Microsoft to agree to this, because (regardless of how much I wish things were different) nobody else matters enough to effect hardware manufacturers.
I apologise for this - I didn't notice your offer.onlyonemac wrote:They're only "unknown problems" because when I offered to collect some data from the monitor for you you quite blatantly ignored me.Brendan wrote:You're right - it's onlyonemac's "unknown monitor with unknown problem" that was CRT.
The plan is that the OS uses EDID to find a suitable "monitor info data" file during boot, and if it doesn't find one it auto-converts the monitors EDID into a "temporary monitor info data" file (which is in my file format, but includes the raw EDID appended to the end). Then people (volunteers helping to develop the OS) use a tool to fix any wrong information and add any missing information (video timings that the EDID didn't mention, the display's brightness, which timings are supported by which VGA/HDMI/DisplayPort connection type, the display's shape if its not "flat 2D", etc) to convert the auto-generated "temporary monitor info data" file into the final "monitor info data" file that would be supplied to normal users (in the same way a device driver would be supplied to normal users).
This utility doesn't exist yet; and because it requires a native video driver (that's able to set arbitrary video mode timings including timings the monitor hasn't said it supports) it won't exist for several years. Without this utility, creating "monitor info data" files is excessively painful (hard coded values entered by hand with no way to test or check any of it).
Mostly; I thank you for your offer, but the OS isn't mature enough yet.
Cheers,
Brendan
For all things; perfection is, and will always remain, impossible to achieve in practice. However; by striving for perfection we create things that are as perfect as practically possible. Let the pursuit of perfection be our guide.
-
- Member
- Posts: 1146
- Joined: Sat Mar 01, 2014 2:59 pm
Re: Dodgy EDIDs (was: What does your OS look like?)
You're working on the assumption that hardware manufacturer's will have cleaned up their act within the next 10 years; that's not likely to happen.Brendan wrote:No. Even though I've repeatedly pointed it out; you still fail to understand that I'm primarily designing an OS for the hardware people will be using in 10+ years time (when the OS will hopefully be released); and I couldn't give a crap about hardware that is already obsolete now because it's not going to become "less obsolete" in the next 10 years.
It goes one of three ways:Brendan wrote:Please explain how you expect this to work; without forgetting that the OS is not intended for a typical "one computer with one user who owns the computer" scenario.onlyonemac wrote:I really don't know why you stubbornly refuse to offer a configuration file with a big warning at the top saying "I DO NOT AND WILL NOT OFFER ANY SUPPORT WHATSOEVER BEYOND THE AVAILABLE DOCUMENTATION FOR THE FOLLOWING CONFIGURATION OPTIONS OR ANY PROBLEMS THAT ARISE FROM THEIR USE, BUT THEY ARE AVAILABLE SHOULD YOU WISH TO ATTEMPT TO RESOLVE HARDWARE COMPATIBILITY ISSUES YOURSELF. PROCEED AT YOUR OWN RISK." and supply a small booklet explaining each option and it's intended use (e.g. "The 'resolution' parameter can be used to override the automatic detection of monitor resolution should your monitor be incompatible with the auto-configuration routine, and requires three parameters giving the desired horizontal resolution, vertical resolution, and refresh rate of the monitor.") which wouldn't take more than a few hours to write (hardly a big deal for an OS with a 10-year development timescale).
For example; it's 2026 (after the OS is released); and you (the admin) download the OS and install it on 2 computers on a LAN in one city and 2 computers on another LAN in a different city; then 100 PCs (that you didn't have to touch) boot from network; then 200 potentially malicious users (assuming 2 users per PC) who should not be able to diddle with the OS's configuration spend the next 5 years plugging "random" monitors into whichever machine they feel like whenever someone decides they want to change their office layout; and you (the admin) start work at 3 AM every morning so you can spend 6 hours (including travelling time between cities) running around checking "video timing parameters" before all the normal (potentially malicious) users arrive for work?
- User rearranges office and plugs in new monitor
- OS correctly autoconfigures monitor and user doesn't complain
- Life goes on
- User rearranges office and plugs in new monitor
- OS doesn't correctly autoconfigure monitor and user contacts IT department (which is going to happen no matter whether you give the user a blurry screen or tell them that their monitor's rubbish and refuse to support it; either way the IT department is going to get a support ticket and that's always going to happen because users are always going to be bringing in "rubbish" monitors whether you like it or not)
- IT department looks up user's workstation number, decides to try changing the "proceed at your own risk" configuration for that workstation, and fixes user's monitor resolution
- Life goes on
- User rearranges office and plugs in new monitor
- OS doesn't correctly autoconfigure monitor and user contacts IT department
- IT department looks up user's workstation number, sees that the workstation is reporting an unsupported monitor, and advises user to replace the monitor
- User tells IT department staff to **** themselves because user just spent a relatively large sum of money on a new monitor which they now can't return because the box has been opened and the monitor works fine (with installation of provided proprietary drivers) under every other operating system so the customer service desk where they bought the monitor won't give a refund
- User quits company and goes to find a job where the IT department is competent enough to fix monitor resolution problems
I never said that it is possible to "support" all hardware; what I did say is that it's only sensible to provide users with the means to manually work around their otherwise "unsupported" hardware. And it's not you who has to bother with "(mis)configuration" (note that, with the kind of configuration file system that I have proposed, users will only be fiddling in the configuration if they have the technical competence to know the difference between configuration and misconfiguration; other users will be frightened away by the "PROCEED AT YOUR OWN RISK" warning, that's if they even manage to find out that the file exists); it's the IT department in your hypothetical company with their massive deployment of hundreds of systems who, as I have just described, could easily apply a policy like "we'll try to fix your unsupported monitor resolution issues, if it doesn't take too much of our time" or "if the OS says it's rubbish, then we're not going to bother trying to fix it" and that is their decision and resulting problem and not yours and you're not creating problems for them because it's up to them what policy they want to apply.Brendan wrote:If you discard the notion that my OS should do something that is impossible and accept the fact that I will never be able to support all hardware; and recognise that you're trying to solve a problem that (when the OS is released eventually) will effect too few people to make a difference to the amount of unsupported hardware; you'll understand why I don't want to bother with "end user (mis)configuration".
When you start writing an OS you do the minimum possible to get the x86 processor in a usable state, then you try to get as far away from it as possible.
Syntax checkup:
Wrong: OS's, IRQ's, zero'ing
Right: OSes, IRQs, zeroing
Syntax checkup:
Wrong: OS's, IRQ's, zero'ing
Right: OSes, IRQs, zeroing
- Kazinsal
- Member
- Posts: 559
- Joined: Wed Jul 13, 2011 7:38 pm
- Libera.chat IRC: Kazinsal
- Location: Vancouver
- Contact:
Re: Dodgy EDIDs (was: What does your OS look like?)
More like "User complains to HR and/or executives about IT being incompetent in their eyes, causing IT to get reorganized, lose a lot of money, and/or get fired and replaced entirely".onlyonemac wrote:
- User quits company and goes to find a job where the IT department is competent enough to fix monitor resolution problems
Re: Dodgy EDIDs (was: What does your OS look like?)
Stupid argument. Corporate users don't buy their own monitors; they use monitors bought by IT department which will have been tested to work with the hardware/OS in use.
And users certainly don't resign their jobs because their monitor is blurry.
We seem to have a lot of silly arguments here from people who have never worked in a corporate environment, and certainly have never provided IT support in such an environment.
Get real.
And users certainly don't resign their jobs because their monitor is blurry.
We seem to have a lot of silly arguments here from people who have never worked in a corporate environment, and certainly have never provided IT support in such an environment.
Get real.
Re: Dodgy EDIDs (was: What does your OS look like?)
Hi,
Note: I'm only talking about the "same identification used for different monitors" problem here (and not "wrong timing information" which won't effect my OS eventually).
There are only 4 potential exceptions to this that I can think of (that are still in use):
Cheers,
Brendan
No; I'm working on the fact that it has already happened. The last monitors (not TVs) that don't provide unique identification was a few monitors made by Sony in the 1990s; about 3 years after EDID v1 was first introduced. The same "early hardware is a bit dodgy" problem happens for most specs (ACPI, PCI, etc), and it always seems to take ~5 years before manufacturers get things right.onlyonemac wrote:You're working on the assumption that hardware manufacturer's will have cleaned up their act within the next 10 years; that's not likely to happen.Brendan wrote:No. Even though I've repeatedly pointed it out; you still fail to understand that I'm primarily designing an OS for the hardware people will be using in 10+ years time (when the OS will hopefully be released); and I couldn't give a crap about hardware that is already obsolete now because it's not going to become "less obsolete" in the next 10 years.
Note: I'm only talking about the "same identification used for different monitors" problem here (and not "wrong timing information" which won't effect my OS eventually).
More like:onlyonemac wrote:It goes one of three ways:Brendan wrote:Please explain how you expect this to work; without forgetting that the OS is not intended for a typical "one computer with one user who owns the computer" scenario.
For example; it's 2026 (after the OS is released); and you (the admin) download the OS and install it on 2 computers on a LAN in one city and 2 computers on another LAN in a different city; then 100 PCs (that you didn't have to touch) boot from network; then 200 potentially malicious users (assuming 2 users per PC) who should not be able to diddle with the OS's configuration spend the next 5 years plugging "random" monitors into whichever machine they feel like whenever someone decides they want to change their office layout; and you (the admin) start work at 3 AM every morning so you can spend 6 hours (including travelling time between cities) running around checking "video timing parameters" before all the normal (potentially malicious) users arrive for work?
- User rearranges office and plugs in new monitor
- OS correctly autoconfigures monitor and user doesn't complain
- Life goes on
- User rearranges office and plugs in new monitor
- OS doesn't correctly autoconfigure monitor and user contacts IT department (which is going to happen no matter whether you give the user a blurry screen or tell them that their monitor's rubbish and refuse to support it; either way the IT department is going to get a support ticket and that's always going to happen because users are always going to be bringing in "rubbish" monitors whether you like it or not)
- IT department looks up user's workstation number, decides to try changing the "proceed at your own risk" configuration for that workstation, and fixes user's monitor resolution
- Life goes on
- User plugs in dodgy monitor.
- OS correctly auto-configures a "not native resolution" video mode that the best video mode it can guarantee works
- OS automatically adds a "monitor is dodgy" notification to the data the maintenance/admin utility uses
- The maintenance/admin people decide what to do about it (return it, replace it, sell it to a sucker on eBay, decide it's minor and let user put up with it, swap it with a better monitor from the server room that few people look at, ..).
I've heard of "bring your children to work day", but never "bring your own office equipment to work day".onlyonemac wrote:
- User rearranges office and plugs in new monitor
- OS doesn't correctly autoconfigure monitor and user contacts IT department
- IT department looks up user's workstation number, sees that the workstation is reporting an unsupported monitor, and advises user to replace the monitor
- User tells IT department staff to **** themselves because user just spent a relatively large sum of money on a new monitor which they now can't return because the box has been opened and the monitor works fine (with installation of provided proprietary drivers) under every other operating system so the customer service desk where they bought the monitor won't give a refund
- User quits company and goes to find a job where the IT department is competent enough to fix monitor resolution problems
For the vast majority of hardware (e.g. "unsupported ethernet card without device drivers") it's not even practical to attempt to work around the problem via. config settings.onlyonemac wrote:I never said that it is possible to "support" all hardware; what I did say is that it's only sensible to provide users with the means to manually work around their otherwise "unsupported" hardware.Brendan wrote:If you discard the notion that my OS should do something that is impossible and accept the fact that I will never be able to support all hardware; and recognise that you're trying to solve a problem that (when the OS is released eventually) will effect too few people to make a difference to the amount of unsupported hardware; you'll understand why I don't want to bother with "end user (mis)configuration".
There are only 4 potential exceptions to this that I can think of (that are still in use):
- Rare monitors that aren't even worth wasting time discussing
- Keyboard layouts for PS/2 keyboards and some USB keyboards that incorrectly report "US QWERTY"; where I'm planning to give each user their own "default keyboard layout" setting (as part of their user profile) that is used regardless of what any keyboard says it is.
- Speakers/headphones (where there's no built-in auto-configuration capability and I can't infer the information from "laptop brand" or something).
- Microphones (where there's no built-in auto-configuration capability and I can't infer the information).
One day I want to find someone who has never even seen a computer before, and make them the administrator of a LAN of ~100 computers with no training whatsoever. I will watch but do nothing to help them. I'll be taking notes to see how badly I have failed.onlyonemac wrote:And it's not you who has to bother with "(mis)configuration" (note that, with the kind of configuration file system that I have proposed, users will only be fiddling in the configuration if they have the technical competence to know the difference between configuration and misconfiguration; other users will be frightened away by the "PROCEED AT YOUR OWN RISK" warning, that's if they even manage to find out that the file exists); it's the IT department in your hypothetical company with their massive deployment of hundreds of systems who, as I have just described, could easily apply a policy like "we'll try to fix your unsupported monitor resolution issues, if it doesn't take too much of our time" or "if the OS says it's rubbish, then we're not going to bother trying to fix it" and that is their decision and resulting problem and not yours and you're not creating problems for them because it's up to them what policy they want to apply.
Cheers,
Brendan
For all things; perfection is, and will always remain, impossible to achieve in practice. However; by striving for perfection we create things that are as perfect as practically possible. Let the pursuit of perfection be our guide.
- Kazinsal
- Member
- Posts: 559
- Joined: Wed Jul 13, 2011 7:38 pm
- Libera.chat IRC: Kazinsal
- Location: Vancouver
- Contact:
Re: Dodgy EDIDs (was: What does your OS look like?)
I bought a new monitor. It's a 144 Hz TN panel. It has an improperly calibrated white point and far too high gamma setting in EDID.
Had to shift it up 700 degrees and decrease gamma by 0.25 in order to approach the appearance of my IPS.
Also, I like playing competitive first-person shooter games at 1280x960 stretched to 16:9. Do you plan on supporting this?
Had to shift it up 700 degrees and decrease gamma by 0.25 in order to approach the appearance of my IPS.
Also, I like playing competitive first-person shooter games at 1280x960 stretched to 16:9. Do you plan on supporting this?
Re: Dodgy EDIDs (was: What does your OS look like?)
Hi,
To achieve the same stretched effect, a game would have to "pre-wrongify" coordinates/vertices before the video driver renders the scene; which is only practical for coordinates in world space and excessively difficult for coordinates in object space.
EDIT: On second though; a game could render the scene to a texture, and then use the resulting texture stretched in another scene; and this would be far more practical.
Cheers,
Brendan
That would be fixed via. my monitor descriptions; but I can't help wonder if the 144 Hz TN panel was correct (and your IPS should've been shifted down 700 degrees and its gamma increased by 0.25 to match the 144 Hz TN panel).Kazinsal wrote:I bought a new monitor. It's a 144 Hz TN panel. It has an improperly calibrated white point and far too high gamma setting in EDID.
Had to shift it up 700 degrees and decrease gamma by 0.25 in order to approach the appearance of my IPS.
No. I plan on guaranteeing (where possible) that; given a point that is in both the virtual/3D world and the real world (on your screen); the angle from that point to your eye (in the real world) is identical to the angle from that point to the camera (in the virtual world).Kazinsal wrote:Also, I like playing competitive first-person shooter games at 1280x960 stretched to 16:9. Do you plan on supporting this?
To achieve the same stretched effect, a game would have to "pre-wrongify" coordinates/vertices before the video driver renders the scene; which is only practical for coordinates in world space and excessively difficult for coordinates in object space.
EDIT: On second though; a game could render the scene to a texture, and then use the resulting texture stretched in another scene; and this would be far more practical.
Cheers,
Brendan
For all things; perfection is, and will always remain, impossible to achieve in practice. However; by striving for perfection we create things that are as perfect as practically possible. Let the pursuit of perfection be our guide.
-
- Member
- Posts: 1146
- Joined: Sat Mar 01, 2014 2:59 pm
Re: Dodgy EDIDs (was: What does your OS look like?)
Now you're working on the assumption that the user won't notice that their monitor's resolution is incorrect. I'll tell you this: before I went blind, the first thing I would notice was if a monitor's resolution was incorrect, and it always made it unreadable enough for me to get watery eyes just by looking at it. My mother also complained about an incorrect monitor resolution once when Windows refused to let her set the resolution correctly, and believe me she never notices *anything* that's wrong - except when her monitor's unreadable! So case in point: users will notice that their monitor's resolution is wrong and users will complain about the blurry picture.Brendan wrote:More like:
- User plugs in dodgy monitor.
- OS correctly auto-configures a "not native resolution" video mode that the best video mode it can guarantee works
- OS automatically adds a "monitor is dodgy" notification to the data the maintenance/admin utility uses
- The maintenance/admin people decide what to do about it (return it, replace it, sell it to a sucker on eBay, decide it's minor and let user put up with it, swap it with a better monitor from the server room that few people look at, ..).
You were the one who first suggested the "users trying to use crappy monitors" situation, while simultaneously stressing how your OS is intended for corporate deployments.Brendan wrote:I've heard of "bring your children to work day", but never "bring your own office equipment to work day".
Oh, right, so users get a "user profile" where they (or at least the IT department) can change their keyboard layout, but they can't change their monitor resolution? Changing the keyboard layout has at least as much potential for a user to misconfigure things as changing the monitor resolution does (and you keep insisting that you don't want any way for users to misconfigure things and make a mess).Brendan wrote:
- Keyboard layouts for PS/2 keyboards and some USB keyboards that incorrectly report "US QWERTY"; where I'm planning to give each user their own "default keyboard layout" setting (as part of their user profile) that is used regardless of what any keyboard says it is.
When you start writing an OS you do the minimum possible to get the x86 processor in a usable state, then you try to get as far away from it as possible.
Syntax checkup:
Wrong: OS's, IRQ's, zero'ing
Right: OSes, IRQs, zeroing
Syntax checkup:
Wrong: OS's, IRQ's, zero'ing
Right: OSes, IRQs, zeroing
Re: Dodgy EDIDs (was: What does your OS look like?)
Hi,
Note that Windows typically has (had?) no resolution independence; so changing the video mode causes everything to be broken - things like desktop icons that are the wrong size (and laid out different to before), all the text/fonts being (physically) larger/smaller, applications that remember their previous window size that end up too small or too large for the screen, etc. Because of this, it's entirely possible for someone to use a "not native" resolution for years without knowing it, then hate it when someone sets the computer to the native resolution because everything is too small (and unreadable and gives them watery eyes just by looking at it).
Cheers,
Brendan
Incorrect is horrible (ranging from strobing/flickering to rolling to black screen). I'm not talking about "incorrect"; I'm talking about "perfectly correct but not the native resolution".onlyonemac wrote:Now you're working on the assumption that the user won't notice that their monitor's resolution is incorrect. I'll tell you this: before I went blind, the first thing I would notice was if a monitor's resolution was incorrect, and it always made it unreadable enough for me to get watery eyes just by looking at it. My mother also complained about an incorrect monitor resolution once when Windows refused to let her set the resolution correctly, and believe me she never notices *anything* that's wrong - except when her monitor's unreadable! So case in point: users will notice that their monitor's resolution is wrong and users will complain about the blurry picture.Brendan wrote:More like:
- User plugs in dodgy monitor.
- OS correctly auto-configures a "not native resolution" video mode that the best video mode it can guarantee works
- OS automatically adds a "monitor is dodgy" notification to the data the maintenance/admin utility uses
- The maintenance/admin people decide what to do about it (return it, replace it, sell it to a sucker on eBay, decide it's minor and let user put up with it, swap it with a better monitor from the server room that few people look at, ..).
Note that Windows typically has (had?) no resolution independence; so changing the video mode causes everything to be broken - things like desktop icons that are the wrong size (and laid out different to before), all the text/fonts being (physically) larger/smaller, applications that remember their previous window size that end up too small or too large for the screen, etc. Because of this, it's entirely possible for someone to use a "not native" resolution for years without knowing it, then hate it when someone sets the computer to the native resolution because everything is too small (and unreadable and gives them watery eyes just by looking at it).
Each user has to have a profile; which includes things like their user name, password; internationalisation (time zone, language and keyboard layout), accessibility options (if they are colour blind, have photosensitive epilepsy, deaf, etc), and permissions (whether they belong to various "user groups"). None of these settings have anything to do with any specific computer (and none of them are hardware settings/configuration) - if the same user logs into to 20 different computers (within the same cluster) then every different computer uses their settings.onlyonemac wrote:You were the one who first suggested the "users trying to use crappy monitors" situation, while simultaneously stressing how your OS is intended for corporate deployments.Brendan wrote:I've heard of "bring your children to work day", but never "bring your own office equipment to work day".Oh, right, so users get a "user profile" where they (or at least the IT department) can change their keyboard layout, but they can't change their monitor resolution?Brendan wrote:
- Keyboard layouts for PS/2 keyboards and some USB keyboards that incorrectly report "US QWERTY"; where I'm planning to give each user their own "default keyboard layout" setting (as part of their user profile) that is used regardless of what any keyboard says it is.
I've been using "QWERTY" my entire life. If I happen to use a computer that has a "Dvorak" keyboard layout and the OS configures it as "Dvorak", then the OS has mis-configured the keyboard. Whatever is actually printed on the keys is irrelevant (unless you're learning how to type).onlyonemac wrote:Changing the keyboard layout has at least as much potential for a user to misconfigure things as changing the monitor resolution does (and you keep insisting that you don't want any way for users to misconfigure things and make a mess).
Cheers,
Brendan
For all things; perfection is, and will always remain, impossible to achieve in practice. However; by striving for perfection we create things that are as perfect as practically possible. Let the pursuit of perfection be our guide.
Re: Dodgy EDIDs (was: What does your OS look like?)
Brendan wrote:I've been using "QWERTY" my entire life. If I happen to use a computer that has a "Dvorak" keyboard layout and the OS configures it as "Dvorak", then the OS has mis-configured the keyboard. Whatever is actually printed on the keys is irrelevant (unless you're learning how to type).
- Brynet-Inc
- Member
- Posts: 2426
- Joined: Tue Oct 17, 2006 9:29 pm
- Libera.chat IRC: brynet
- Location: Canada
- Contact:
Re: Dodgy EDIDs (was: What does your OS look like?)
Brendan's OS is growing more popular every day. Everyone wants a hand in designing it.
- Schol-R-LEA
- Member
- Posts: 1925
- Joined: Fri Oct 27, 2006 9:42 am
- Location: Athens, GA, USA
Re: Dodgy EDIDs (was: What does your OS look like?)
Here's the thing: I actually think that Brendan is on the right track, over all, I just don't think that removing all the manual configuration tools is practical - not that it is wrong, but that it is unwise and likely to undermine exactly the goals he intends to meet. His assumption that companies will replace faulty or incompatible hardware with compatible, working hardware simply because his software rejects it - rather than rejecting his software in favor of some that will work with the hardware they already have, however imperfectly - is simply unrealistic, as is the belief that managers and administrators would based purchasing decisions on a sound, rational, technical basis.
As an example of what I mean, when I worked tech support for an NPO starting in mid-March 1999, they wanted to replace their old hardware (running a mix of Windows 3.11, Windows 95, and MS-DOS) for the sake of Y2K compliance - the PCs in question were basically useless, but they would have kept using them except for the compliance mandate. When I came on in March, one of the first tasks they set me to was a) taking inventory of the current systems, and determine which, if any, were compliant, b) making a list of systems that needed to be replaced, c) drawing up technical requirements for the replacement hardware, and d) preparing a list of vendors whom the purchasing manager could negotiate deals with. The PM would also have to draw up funding and grant proposals to cover these purchases.
I completed the inventory and requirements by early May, and then... waited. Grant proposals and purchasing requests flew back and forth, but none seemed to stick, until one day in early August the CAO contacted me to tell me that the purchase had been made - this was the first I'd heard about it, which was a surprise as the plan was for me to evaluate the proposed hardware beforehand to make sure it fit the requirements. The 'new' PCs - used systems donated by a company - would be delivered the next day.
The fact that they were replacing the old hardware with systems that were also used left me apprehensive, but I'd been reassured that they were recent - they were all supposed to have been running Windows 98 before they were wiped. You can see where this is going, right?
Needless to say, the 'new' hardware was even older than the PCs they were meant to replace, and most of it didn't run at all. I immediately informed the CAO that he'd been sold a pig in a poke, but he insisted we try to us it anyway. I spent another month trying to convince him that it was hopeless - too many of the systems wouldn't run at all, and those which would wouldn't run the office's Windows-based software - but fortunately, a new grant happened to come in from another source which gave me the chance to get actual new systems for most of those that needed to be replaced. Had that particular funding no happened to become available, I would have been stuck trying to make the trash we'd been stuck with do the impossible.
This is hardly a unique case. A year before, a company I worked with refused to purchase a tape or CD-R drive to let the admin back up the one server which ran everything, including the sole copy of the source code for a mission-critical program. When the server's drive failed (which the admin warned him was about to happen) the CEO fired the admin for failing to do the backups she told them she needed to do and which the CEO insisted weren't necessary. Want me to keep going?
As an example of what I mean, when I worked tech support for an NPO starting in mid-March 1999, they wanted to replace their old hardware (running a mix of Windows 3.11, Windows 95, and MS-DOS) for the sake of Y2K compliance - the PCs in question were basically useless, but they would have kept using them except for the compliance mandate. When I came on in March, one of the first tasks they set me to was a) taking inventory of the current systems, and determine which, if any, were compliant, b) making a list of systems that needed to be replaced, c) drawing up technical requirements for the replacement hardware, and d) preparing a list of vendors whom the purchasing manager could negotiate deals with. The PM would also have to draw up funding and grant proposals to cover these purchases.
I completed the inventory and requirements by early May, and then... waited. Grant proposals and purchasing requests flew back and forth, but none seemed to stick, until one day in early August the CAO contacted me to tell me that the purchase had been made - this was the first I'd heard about it, which was a surprise as the plan was for me to evaluate the proposed hardware beforehand to make sure it fit the requirements. The 'new' PCs - used systems donated by a company - would be delivered the next day.
The fact that they were replacing the old hardware with systems that were also used left me apprehensive, but I'd been reassured that they were recent - they were all supposed to have been running Windows 98 before they were wiped. You can see where this is going, right?
Needless to say, the 'new' hardware was even older than the PCs they were meant to replace, and most of it didn't run at all. I immediately informed the CAO that he'd been sold a pig in a poke, but he insisted we try to us it anyway. I spent another month trying to convince him that it was hopeless - too many of the systems wouldn't run at all, and those which would wouldn't run the office's Windows-based software - but fortunately, a new grant happened to come in from another source which gave me the chance to get actual new systems for most of those that needed to be replaced. Had that particular funding no happened to become available, I would have been stuck trying to make the trash we'd been stuck with do the impossible.
This is hardly a unique case. A year before, a company I worked with refused to purchase a tape or CD-R drive to let the admin back up the one server which ran everything, including the sole copy of the source code for a mission-critical program. When the server's drive failed (which the admin warned him was about to happen) the CEO fired the admin for failing to do the backups she told them she needed to do and which the CEO insisted weren't necessary. Want me to keep going?
Rev. First Speaker Schol-R-LEA;2 LCF ELF JAM POEE KoR KCO PPWMTF
Ordo OS Project
Lisp programmers tend to seem very odd to outsiders, just like anyone else who has had a religious experience they can't quite explain to others.
Ordo OS Project
Lisp programmers tend to seem very odd to outsiders, just like anyone else who has had a religious experience they can't quite explain to others.
-
- Member
- Posts: 1146
- Joined: Sat Mar 01, 2014 2:59 pm
Re: Dodgy EDIDs (was: What does your OS look like?)
Perhaps this is not obvious but I'm defining "incorrect resolution" as having the most obvious meaning, that being that the resolution is incorrect i.e. does not match the resolution that the monitor is designed for i.e. is not the native resolution. Referring to a "perfectly correct but not native resolution" is a self-contradicting statement; if it's not native then it is by definition incorrect.Brendan wrote:Incorrect is horrible (ranging from strobing/flickering to rolling to black screen). I'm not talking about "incorrect"; I'm talking about "perfectly correct but not the native resolution".
I never said anything about the physical size on the screen of the text; of course one can scale the display to match the pixel pitch but if the pixel pitch is too low (because the monitor is running at a non-native resolution) and, more importantly, the pixels output by the video card do not match the display's physical pixels and the display is having to perform scaling on the input signal in the case of an LCD (because the monitor is running at a non-native resolution), then the text will still be unreadable (or close to unreadable).Brendan wrote:Note that Windows typically has (had?) no resolution independence; so changing the video mode causes everything to be broken - things like desktop icons that are the wrong size (and laid out different to before), all the text/fonts being (physically) larger/smaller, applications that remember their previous window size that end up too small or too large for the screen, etc. Because of this, it's entirely possible for someone to use a "not native" resolution for years without knowing it, then hate it when someone sets the computer to the native resolution because everything is too small (and unreadable and gives them watery eyes just by looking at it).
Fair enough - so how about you then similarly give each computer an (optional) "profile"?Brendan wrote:Each user has to have a profile; which includes things like their user name, password; internationalisation (time zone, language and keyboard layout), accessibility options (if they are colour blind, have photosensitive epilepsy, deaf, etc), and permissions (whether they belong to various "user groups"). None of these settings have anything to do with any specific computer (and none of them are hardware settings/configuration) - if the same user logs into to 20 different computers (within the same cluster) then every different computer uses their settings.
I'm not quite sure what you're getting at but what I mean is the simple case of a (dumb) user changing their keyboard layout to e.g. Dvorak and then being unable to change it back to QWERTY because they cannot find the correct keys. Likewise if they change the language.Brendan wrote:I've been using "QWERTY" my entire life. If I happen to use a computer that has a "Dvorak" keyboard layout and the OS configures it as "Dvorak", then the OS has mis-configured the keyboard. Whatever is actually printed on the keys is irrelevant (unless you're learning how to type).onlyonemac wrote:Changing the keyboard layout has at least as much potential for a user to misconfigure things as changing the monitor resolution does (and you keep insisting that you don't want any way for users to misconfigure things and make a mess).
When you start writing an OS you do the minimum possible to get the x86 processor in a usable state, then you try to get as far away from it as possible.
Syntax checkup:
Wrong: OS's, IRQ's, zero'ing
Right: OSes, IRQs, zeroing
Syntax checkup:
Wrong: OS's, IRQ's, zero'ing
Right: OSes, IRQs, zeroing
Re: Dodgy EDIDs (was: What does your OS look like?)
Hi,
You're saying that my OS will suffer from this "a few companies won't pay for adequate hardware" problem in the same way that every other OS that's ever existed suffers from this problem; and the only difference is that it'll be much easier for people to find out which pieces of hardware are/aren't suitable (e.g. without someone to spending 4 to 8 weeks from March to May to determine which pieces of hardware are Y2K compliant) because it will automatically report unsuitable hardware?
You're saying I should care so much about this that I should waste my time on a "token gesture" to work-around a negligible symptom (providing a way for admin to force a specific video mode timing for the near zero number of cases that it might help in theory) that does nothing at all to solve the majority of the problem (given that these same companies won't want to pay for adequate networking, storage or processing either; so "tiny chance of slightly worse graphics" will be the least of the problem); and that I should make my OS worse for its intended purpose (especially for companies that aren't poorly managed and poorly funded) just for the sake of "no relevant difference for companies that get what they deserve"?
The fact is that (especially when the OS is first released) the "tiny chance of needing to replace monitor to avoid slightly worse graphics" problem is nothing compared to "need to spend a large amount of $$ installing/upgrading networking before a distributed OS can be effective" and "massive chance of having to replace many entire computers because there's no device drivers".
For graphics specifically; not having native video card drivers (that are necessary to get native resolution in a lot of cases) is a problem that actually matters. Not having enough processing power and/or fast enough networking (causing the OS's "fixed frame rate, variable quality" graphics to generate very poor quality graphics) is a problem that matters. The extremely tiny chance that "not native resolution because the monitor is faulty" problem will exists at all in 10+ years, and the extremely tiny chance that it will actually be noticeable if it does exist, is so insignificant it's completely insane considering it.
Basically; it's like getting worried that you might get slightly wet because the weather forecast said there's a small chance of rain, while you're drowning in the middle of the ocean.
Cheers,
Brendan
You're saying there will be companies that don't want to spend $$ on adequate hardware and suffer because of it (e.g. and will just expect their staff to use crusty old monitors even though they aren't running in their native resolution); especially 10+ years ago when hardware was much more expensive (especially when you factor in inflation) and when hardware was much lower quality (in terms of standards and auto-detection/auto-configuration)?Schol-R-LEA wrote:This is hardly a unique case. A year before, a company I worked with refused to purchase a tape or CD-R drive to let the admin back up the one server which ran everything, including the sole copy of the source code for a mission-critical program. When the server's drive failed (which the admin warned him was about to happen) the CEO fired the admin for failing to do the backups she told them she needed to do and which the CEO insisted weren't necessary. Want me to keep going?
You're saying that my OS will suffer from this "a few companies won't pay for adequate hardware" problem in the same way that every other OS that's ever existed suffers from this problem; and the only difference is that it'll be much easier for people to find out which pieces of hardware are/aren't suitable (e.g. without someone to spending 4 to 8 weeks from March to May to determine which pieces of hardware are Y2K compliant) because it will automatically report unsuitable hardware?
You're saying I should care so much about this that I should waste my time on a "token gesture" to work-around a negligible symptom (providing a way for admin to force a specific video mode timing for the near zero number of cases that it might help in theory) that does nothing at all to solve the majority of the problem (given that these same companies won't want to pay for adequate networking, storage or processing either; so "tiny chance of slightly worse graphics" will be the least of the problem); and that I should make my OS worse for its intended purpose (especially for companies that aren't poorly managed and poorly funded) just for the sake of "no relevant difference for companies that get what they deserve"?
The fact is that (especially when the OS is first released) the "tiny chance of needing to replace monitor to avoid slightly worse graphics" problem is nothing compared to "need to spend a large amount of $$ installing/upgrading networking before a distributed OS can be effective" and "massive chance of having to replace many entire computers because there's no device drivers".
For graphics specifically; not having native video card drivers (that are necessary to get native resolution in a lot of cases) is a problem that actually matters. Not having enough processing power and/or fast enough networking (causing the OS's "fixed frame rate, variable quality" graphics to generate very poor quality graphics) is a problem that matters. The extremely tiny chance that "not native resolution because the monitor is faulty" problem will exists at all in 10+ years, and the extremely tiny chance that it will actually be noticeable if it does exist, is so insignificant it's completely insane considering it.
Basically; it's like getting worried that you might get slightly wet because the weather forecast said there's a small chance of rain, while you're drowning in the middle of the ocean.
Cheers,
Brendan
For all things; perfection is, and will always remain, impossible to achieve in practice. However; by striving for perfection we create things that are as perfect as practically possible. Let the pursuit of perfection be our guide.