I did my master thesis working with that in 2006.
It was fun but challenging to work with a so primitive OS (no memory dynamic allocation, etc.) and so many bugs.
Nah, try the universal "don't go here" indicator of close diagonal lines like you see in parking lots. Keep the shading of the lines and the square background relatively similar so they convey the message without distracting from the rest of the board.
Yeah I think that might actually be a good idea to try out. I tested a few things with shapes during the beta but they kept looking too '3D'ish for the rest of the theme. Not sure if I'm explaining it right but the obstacle shapes kept popping out of the background somehow. Do you know what I mean?
If "i" wasn't called "imaginary" I don't know if anyone would find it weird when it appeared in physics.
In many ways i is as weird as negative numbers, irrational numbers, and transcendental numbers. But we're somehow ok with all of those.
(By the way, I don't mean to imply Scott Aaronson finds complex numbers weird. He's just wondering why not other systems, and even mentions quaternions as an alternative — which could be called weird in their own right... So in a sense I'm attacking a straw man.)
Negative, irrational and transcendental numbers are all on the same number line.
Getting out into a plane (and losing something as important as the order relation) is radically different from figuring out what other numbers are on a line.
Great video, except for a few wrong details that really get to me...
- The pixels in an LCD aren't little light bulbs. They are little lamp shades. (The pixels in an OLED display are little light bulbs though)
- A CRT doesn't shoot light. It shoots electrons.
- The video makes it seem like pixels in an LCD update all at once. Not true! They're scanned.
- The video makes it seems that there's no temporal bleeding on CRTs. This sounds unlikely to me...
- The main difference in image quality between coaxial and composite inputs is not that coaxial needs to stuff audio and video together. It's that in coaxial the signal is shifted to a carrier frequency as if it came from an antenna (usually channel 3 or 4) so the decoder needs to bring it down to the frequency it uses internally (called the intermediate frequency) before sending it to the screen. This degrades the signal.
CRTs absolutely DO "ghost." Much like turning off a filament light bulb, the phosphors respond instantly, but there's a long tail where they fade out. In practice, it's not perceptible, just as it's not perceptible in any good LCD or OLED.
There were also a few wrong numbers in this video, such as the idea of a normal CRT refreshing 75 times a second (nope).
And I was expecting some discussion of interlacing, which had a big impact on how pixels and animations appeared on CRTs.
> And I was expecting some discussion of interlacing, which had a big impact on how pixels and animations appeared on CRTs.
Not for 8-bit systems and the vast majority of games on 16-bit systems. AFAIK, all of the 8-bit systems used not-standard video where all frames were odd frames or all frames were even frames, so you got 50/60 Hz progressive video with no interlacing (240p in NTSC, 256p in PAL; both subject to not all systems put meaningful output on all lines). Some 16-bit systems allowed for interlaced modes, but it was rarely used. Fifth generation (N64/PSX/Saturn/etc) made interlacing a lot more common; those systems were more likely to render to a frame buffer and then you can send half the lines in each field and get an increase in vertical detail much easier than getting the same effect working with a sprite engine.
The trails can be fun. Playing monochrome bitmap or vector games like ASTEROIDS, in the dark on a CRT with contrast up, brightness down to black, looks and feels, plays amazing!
"The video makes it seems that there's no temporal bleeding on CRTs. This sounds unlikely to me..."
There is, but I don't remember it being noticeable even on cheap TVs, except in high contrast situation where the screen is dim with bright things moving around. I still miss the lack of motion blur that CRTs gave by default.
I found a forum post where someone lists these values:
Green: phosphor = Zn2SiO4:Mn2+. Lifetime (1/e time) = 10-15 ms. Clearly, this is quite long and is the limiting factor in increasing frame-frequency.
Note: the emission decay has a highly non-single-exponential decay --> at long times (~1 s) still some emission can be observed by the eye. This can be seen clearly by looking into the green CRT directly after the image was switched off. However, the intensity is too low to cause problems in an active image when the image-frequency is below ~100 Hz.
Blue: phosphor = ZnS:Ag,Cl. Lifetime (1/e time) = ~100-200 us. Note: not single-exponential decay, but no emission at long times.
And in this high framerate video of a CRT you can see the different colors decay at different rates. Here the blue seems to decay the fastest. But they're all imperceptibly dark by the time the scan line comes around again. I have no idea if there's any cumulative effect that's perceptible.
With emulation, there's always a deeper level of emulation you can do to approach "perfectness".
In this case, the pinnacle of emulation of a CRT is to simulate photon emission in a tube, and simulate the response curve of each phosphor element.
To do that would probably take a supercomputer to effectively calculate real-time.
According to this paper, there are (1.12 x 10^16) photons per second produced by a 1-lumen source over the interval from 400 to 700 nm . And with a 200 nit CRT is roughly 600 lumen... which is roughly (6.7 x 10^18) photons per second... if you just model them as a particle. To take in quantum effects, yeesh.
Phosphors are funny little things. In my Gateway VX720 (like Diamond Pro 710, not the other VX720), the blue and green phosphors light up the fastest and decay to near-zero the fastest (100-200 us), but have a long dim phosphor trail that persists for hundreds of milliseconds. Red starts up slower and decays slower (hundreds of us), but reaches zero brightness well before the next frame.
OLEDs without strobing, on the other hand, have a full frame of brightness persistence (and LCDs have slow color changes on top of that).
I think the phosphors of CRTs usually had a very low persistence in that the decay time was less than a frame time. If you look at out of sync videos of CRT displays, it looks as if only perhaps 1/8 of the screen is illuminated at one time.
This is a library for use in Streamlit (which is a Python framework for data apps), and Streamlit already supports Vega-Lite behind the scene. So I'm just riding on their Vega-Lite.
Check out the example app, linked in the README. I meant for that to be a replacement for the README, since it actually lets you interact with the plots.
Nice work on this library! Hadn’t come across it before. I’ve been using Streamlit quite a bit the last few months and really enjoy it. Have a few ideas in mind for incorporating plost after going through the sample app and seeing the event plots!
Similar to what I do. On the Mac, I use ABC input source for English and programming (same as US as far as I can tell, but I don't get the US flag on the menubar when it's selected), and Brazilian for PT (essentially US with dead keys, same as US-intl in Linux).
This was a big deal in some academic circles in the early 2000s