It makes far more sense than huffing gas.
It makes the most sense a couple maybe few times a year.
The worst thing to do is over hype the downsides. People tune out and then have no real guidance to draw from.
6,513 karma · joined September 5, 2014
Main focus: Embedded, small scale systems
I have done a lot with CAD, PLM, and enterprise level engineering software, and have more than a passing interest in UX.
Additive Manufacturing is cool, and what I do now. Polymer printing and soon DED metal!
doug.dingus@gmail.com
It makes far more sense than huffing gas.
It makes the most sense a couple maybe few times a year.
The worst thing to do is over hype the downsides. People tune out and then have no real guidance to draw from.
I want that on a t-shirt
It certainly can punch well above its weight class, at least when compared with 6502 z80 and some others.
I really can't call it 16 bit, because of the small address space, and the fact that the ALU is 8-bit. But you can't always go by the ALU because I believe the z80 and 8080 have four bit ALUs. And I don't think there's anyone that would call those chips four bit.
Motorola seemed to design things in a specific way that people really liked, and this pushing the limits of what is an expert design seems to be one of those because even going back to the 6800, the one index register was 16 bit.
And lastly the 68k is an exemplary design, but in the same design language is 32 bit curious.
Purple is harder when I use the AMOLED cinema and photo options on my phone.
I want to try this on a CRT, Plasma, LCD.
I have all these. Be right back!
App said I was in the 5 percent. Lol, the 4 color vision people must rule the roost! Us standard RGB types can throw a few solid punches...
Agreed with other commenter: green is killer.
Adaptive = level 32
AMOLED Photo = level 16
Basic = level 39, maybe 38, can't remember now.
I have always pictured it working this way:
In the Cochlea, we have all the fine hair like sensors. The spread of them determines our range of frequencies, and this declines with age. Usually not too much, but could be as much as half. 10 to 12khz.
Good news in that is all the good stuff we crave is below 10khz. Don't sweat age related hearing loss too much.
The number of these sensors determines our ability to hear concurrent sounds, or complexity.
The shape of them impacts how loud sounds need to be to be heard.
Chances are, your loud exposure had harmonics that impacted many of these sensing hairs, but not in one place. The result is a loss of discrimination of concurrent sounds.
There are plenty to cover the frequency range, so things do not seem muffled or low. Their shape is good, not worn so you hear faint sounds well.
The lower number of them is the issue. Or, they are still there, just bent-- something prevents them from contrubuting.
Another way to think of this is in reverse:
Say you had 30 oscillators you could start at any frequency and time. How complex of a sound could you make? Now cut that in half.
What is lost?
The most complex, concurrent sound cases.
An electret is an item that presents a permanent static charge. It is like a permanent magnet. Has an enduring charge polarity.
The only use of an electret I know of is the electret microphone. And those use a very small electret.
In the video, the author made a large one. Hockey puck sized. He used some type of nylon. (I think I remember it right...)
Say one has expensive simulation software of some kind. One could hop onto the machine it is licensed to, remote the display back home the local machine and the user is off to the races!
Some software was aware of the display, and there are some answers to that too, but the overall experience was simple that way.
Another use case is using data managed software. Users can log onto the application server and run the app. The app interacts with the data which the users could never see. Back in the day, being able to do that meant operating at local disk speeds! Stuff went super fast!
Multi user graphical computing was what the X Window System was designed to deliver and it does do that.
Maybe my least favorite, but damn interesting was computers with multiple heads. Say one has 3 screens, keyboards, mice, whatever else they might need.
The login environment can be setup so that each user gets a screen
DISPLAY = LOCALHOST:0 :1 :2
...OR
A User gets all the screens
DISPLAY = LOCALHOST:0.0 :0.1 :0.2
Or any mix.
A beefy machine could support three users just like being networked, but all on the same box. The SGI Deskside Onyx could be used this way, supporting at least 2 users with a badass hardware box close by.
Users on the same machine enjoyed local transfer rates for sharing data. Today that may not be such a big deal, though it really could be depending. Earlier, it was a big deal due to networks just not being all that fast for at least the decade since multi-head hardware was more common.
In short, having multi-user computing was like a computer with a bunch of users connected by RS232, or the like.
Multi-user networked computing is everywhere today. Each user has at least one computer with all of them networked together.
Multi-user graphical computing is the thing some of us do not want to exist anymore. :( That is where there are multiple users, an optional network, and multiple displays and in particular, display systems are network transparent.
Internal registers are 16 bit, with the accumulator (A) being provisioned as two 8 bit registers (A, B) as needed. Index X, Y, Stack, User Stack, PC, are all 16 bit registers.
The Hitachi 6309, adds to that with up to 32 bit register sizes in specific cases.
In any case, the ALU and data transfers are 8 bits and I am not sure I ever saw the 6809 referenced as a 16 bit device.
Maybe 16 bit curious, LMAO.
There is a fork now. Maybe they won't succeed!
That software is powerful and it makes things possible that should be possible but so often aren't!
My favorite X window accomplishment was setting 30 users up on a powerful CAD system running on a big Origin server. It handled all of them nicely, and the application, data and such all ran at local speed on that server. At the time, this was damn fast!
System Admin was easy too. I had a modem on that machine and would dial it up, fix the things from all over the country on a free Juno account! 2.5Kbytes per second on average and that was plenty!
So many great experiences on X. I used it hard.
Also up thread, I wrote about fully distributing a CAD app. One machine displaying for user, one managing windows, one serving fonts, on sharing the data files onto another one running the actual application reading data files from yet another one sharing those...
Crazy. Click an icon and 7 boxes all work together to get it done.
Me too. Seeing the future was one of the more common sentiments expressed by people running IRIX, especially when there was enough gear available to exercise the better features.
In the later 90's we would break for 3D games with voice and video chat, yelling taunts and such asbif we were all in the same room.
Software manager was one of the better future features in my view. That thing was quite powerful!
Once, while doing the video render stunt I mention up thread, one machine ran out of space. Software manager [swmgr] paused, offered me the choice of changing what I wanted to install, the option to uninstall additional subsystems to free space, exit to a shell to do that manually, and or continue, all while another user was running the machine, busy doing CAD work, and without a reboot, or interrupting that user.
I specified more software to remove, swmgr finished up and it was go time! Easy Peasy.
Sitting with no power is bad for SGI computers.
The O2 tech would have been the best candidate for a laptop.
It would have been a media pro machine, MIDI, video capture in and video out, in addition to the monitor. Network,serial, scsi all on a dock for running big disks...
16:9 or 10 display a la SGI 1600
192khz sound in and out.
Once a person reached a solid mastery, amazing things could be done, sans reboots and the like.
I was terribly spoiled though. Ran it until it made no sense, then ditched all of it to go small.
My next fun toy was the Parallax Propeller. The first chip was amazing, 8 cores all independent. It was a full multiprocessor, able to perform concurrent and or parallel computing with such ease! Spoiled again!
The second chip is the Amiga of microcontrollers. Maybe I could call it the SGI of micros. Today, one can program the 8 cores in BASIC, SPIN, C and ASSEMBLY, all at the same time!
Write video driver in assembly, framework in SPIN, some functions in BASIC, others, maybe sound in C.
It has hardware support got ADC / DAC and more on every pin, shared CORDIC math able to do powers, roots, trig and more. It can drive almost any display made since monochrome TV.... too much fun.
Run a workstation on one extreme, deliver multiple displays and or multiple users, each with their own keyboard and mouse on another, and also scale up to 2048 CPUs running NUMA style, on a single OS image.
Nothing else like it.
Yeah, hope you do talk to it. Those serial input devices were great.
The O2 Copper unified or shared memory design was the first machine I used that could deliver large image and or video manipulation via surfaces. Was amazing to see a huge satellite image and be able to zoom way in, composite other images to sub-pixel accuracy, or model a product featuring high resolution reflections at 60fps.
At the time, PC cards just did not yet offer GB of RAM, but would soon.
The O2 chipset got used in the 320, 540 visual workstations too. The shared memory performed great on some texture memory demanding games, but all the cool features went largely unused. There was going to be Linux X Window support, essentially creating an Intel O2 type computer that could be fast, dual CPU, and big memory capable, but Microsoft cried about it and basically flexed their ownership of the ARC loader SGI used on those distinctive PC's and it all got buried. Not even a leak...
Years later, Apple improved on those concepts with the M1, which feels remarkably like what could have been earlier, ar least graphically.
I agree a Pi4 feels 90's era workstation like. Faster, but not so fast that the feel of that era is gone.
It should start streaming events in ASCII the moment you do anything with the buttons.
The joystick ran at that bitrate, which I thought slow but it wasn't.
A full SGI setup, ONYX Reality Engine with edge blended display, joystick, buttons, dials, space ball 3D control (all RS232), a sprinkling of workstations, is kind of a magical environment.
At one point, I had everything except the reality engine. Origin servers instead of ONYX. Fantastic computing environment.
A few things possible on that setup:
Pull a sick SCSI drive right out of a group setup with error correction and full XFS Journaling. Nothing bad happens except disk activity goes up a little. Then insert another one, rescan the SCSI bus, then add the drive to the group and see disk activity go way up as the system repopulates that drive to replace the sick one.
Want an incremental tape backup? You can ask IRIX to back up a subset of any given file system. No big deal, lot of systems do that, right? Well, read it back into your home directory only to find out that incremental backup is a valid, mini-fileaystem that can be read, written to and so forth. That feature makes doing backups simple with a few scripts, same with file recalls.
Start ones career with a XFS disk created on an Indy, IRIX 5.3. Take that same file system through a career, Indy, O2, Octane, Fuel, Origin, and end it on IRIX 6.5.30
Each time I leveled up, I cloned my original environment onto a disk suitable for the new machines, ran swmgr to sort out OS components, dependencies, libraries, dev environment, and then it was off to the races!
I made many different file systems, but my personal one only needed to be made once!
Linux window managers and fonts were kind of crappy compared to how nice the Indigo Magic Desktop was. I had an Indy managing windows and serving fonts to my Linux boxes for a few years.
X was network modular. Still is, and I hope the effort to save it sees success!
Once, just for fun I distributed a high end CAD application across many machines:
One machine was my primary user display. Another machine managed the windows, yet another handled fonts, another was sharing storage for the application which ran on yet another machine which got data from still another machine!
Double click an icon, hear that kerechka! SGI app launch sound and see 6 machines contribute to the spinning model on my screen!
Could run an X server with -GLX extensions enabled to make it 7 machines, one being a PC running an X server to view the product of the other 6 machines.
Record video using S-video input while compiling MAME. Write it out on an S-video capable VCR with quality equal to commercial VHS movies, or sometimes better.
On that note, build XMAME on an Indy. Using GCC it would take close to a day. Using MipsPRO, it could take longer with -O3 enabled to get a binary 10 to 15 percent faster.
One time I got behind on a movie project. Needed many machines rendering frames to hit deadline. I had set one up to do the work over a weekend and the job died 100 frames in.
OOF!
After management secured some temp licenses for the Alias renderer I was using, I spent 16 or so hours straight using every machine in the building to render frames.
Some had users on them who never knew I had unloaded whole sub-systems they were not using to make room for the renderer to be loaded and work. I would kick it off and then renice process priority low enough to mooch every cycle the user did not need. Then when done, put it all back how I found it most none the wiser. Out sysadmin, who was training me to do systems work loved it and spent a fair amount of time looking at the various boxes and how they performed under the high loads I subjected the ones without active users to.
I spent the time in front of my O2, main desktop at the time, using virtual desktops to manage all the environments I had remoted to my display and copying bunches of frames to my local storage to be burned onto optical disk every so often to hedge against catastrophe, and otherwise slotting them into my Alias Composer movie timeline and doing test writes to VHS as chapters got done. Was brutal! And on the eve of a major holiday, family a total mess because there was no way I could go home!
Wrote it all out to video tape just an hour before the person who bought the time was going to catch a flight to Taiwan. Made them 2 copies, just in case. Literally hit play, saw they were complete, hit rewind, and when the VCR did that finish click, the guy walked in anxious expression melting into a smile as I handed him tapes!
By the way, that experience about 5 years into my serious computing phase, was when I really committed to UNIX. It was so damn powerful compared to Windows at the time. Still is, but it is harder to tell these days.
I had the best computing experiences ever on SGI machines! Learned a ton along the way and miss all that big sometimes.
My UNIX knowledge ebbs and flows, depending on where project work may take me. But what I know of UNIX and LINUX at any given time is more than enough to kick ass and get shit done.
Further, most of that has remained useful without too many changes.
Take Linux and the body of Open Code we have today and it is a lot of great software offering up a ton of capability to anyone who bothers to load it up and just start using it.
Nothing compares. Don't get me wrong here. Windows and MacOS are really good now, but they were not back then when it really mattered.
What I like most is not having to constantly remap skills as much as I sometimes find myself doing in Windows and to a fair degree now and then in Apple land.
First thing I do on new hardware is spin up a Linux, then install Windows. I mostly leave Macs on MacOS, though I can't wait to run Linux on my M1. Just need some time...
Then I go get all my open code, settle all that in and then finally whatever closed thing I gotta use get setup and I am ready to go. Until recently, I was proud to have never purchased Microsoft OS or App licenses. Happy to do the work as long as some one else clicks the EULA and pays the money...
This time around I bought Win 10/11 though I am gonna try and avoid 11, and permanent licenses to Office because those may go away.
These things all come from SGI influences.
Edit: Years later a friend brought me an Indigo Elan! Beautiful machine running IRIX 5.3. 30Mhz R8000 256Mb of RAM.
On a whim, I compiled amp, which was an optimized mp3 decode to real-time playback, or output to wave or AIFF file tool.
That 30Mhz machine could play back up to 256mbps Joint Stereo files without stuttering! 90 percent CPU utilization. Yes, that left just enough to do it from an xterm on a logged in desktop from a shared file repository the machine read over NFS. Basically full utilization doing that! But hey, quality, stereo mp3 playback from a 30Mhz workstation was sweet! Really showed the quality of the systems. That particular box was produced in the very early 90's I believe.
It is no surprise to see nVidia doing ehat it does today. SGI had many of the best and brightest in the building and often funded what it took to get the most out of those people.
Heh, a shared memory design in the O2 workstation could throw moving video onto moving surfaces with relative ease and do so before 2000. Heck, it could do the same with a 700mb image.
Apple M1 is a shared memory design that warms my heart. I know they are up to what M4, M5? I am happy with my M1 Mac Air for now.
Sorry for the ramble. Sometimes an SGI topic gets me remembering so many damn good and fun things...
If you made it this far, thank you for reading! Please putany cool IRIX experiences you are having or had here where I can see 'em.
I like the idea of this piece. My trouble with it boils down to getting concurrent and parallel wrong, or mangled somewhat.
Concurrent happens when multiple tasks are happening together. This can be task switching on a single processor, or it can mean they run together on a multiprocessor, or multi core processor.
Secondly, given a sufficiently fast single processor, there is no meaningful difference in concurrency.
Parallel is like concurrent in that multiple tasks are being processed, executed at the same time. What makes parallel different from concurrent is all the tasks are essentially the same, with each of them working on data intended for them to process. Secondly, parallel processing happens on multiprocessors. That is compute systems having multiple cores, each running the task on data made available to a given instance of the task.
Concurrency is a superset of parallel in that all the things that differentiate parallel processing satisfy the requirements needed to call a given compute exercise a concurrent one.
However, concurrency meets other requirements beyond those needed to label ancompute exercise as parallel processing.
I prefer and use the older term, multiprocessor and multiprocessing because "core" can be confusing. In this context they are essentially the same.
I also use the term "sequential compute" to refer to single threaded, single core, non multiprocessing units capable of one threadnof execution.
Asynchrony is a great addition to the topic!
After reading it all again, I submit that Asynchrony is a subset of concurrency, just like parallel is, and it is important enough to warrant an addition to the lexicon, just as parallel is.
However, one matter remains unclear to me as of my writing this:
Does this statement remain true for Asynchrony as it does currently for concurrent, which contains parallel as a specific case?
-->Given a sufficiently fast unprocessed, capable of sequential compute only, a single core, single threaded CPU, there is nobeffectiv3 difference between concurrency done via task switching and concurrency done with multiprocessing.
Is that true for Asynchrony?
I believe it is, and if so, I believe my comment here has a a lot more value than my earlier one.
Great discussion, and Asynchrony is added to my computing lexicon.
In fact, there is no effective difference between a very fast single thread, sequential compute CPU and a multiprocessor, or multi-core CPU.
Concurrent would be many tasks running at the same time with each task containing different jnstructions on either the same data, or different data.
>Asynchrony: the possibility for tasks to run out of order and still be correct.
I like this. Great addition and yes it was missing.
>Concurrency: the ability of a system to progress multiple tasks at a time, be it via parallelism or task switching.
I would say here, be it multiprocessing or task switching.
>Parallelism: the ability of a system to execute more than one task simultaneously at the physical level.
This is technically multiprocessing as expressed above.
So, what is the difference between parallelism and concurrency?
Parallel tasks are like shaders. It is the same task, running many instances at the same time at the physical layer.
GPU devices are capable of parallel computing, for example.
Concurrent tasks are different tasks running at the same time at the physical layer. Often, the data is different too. Say a sprite engine running at the same time as a video display driver on the physical layer.
The shaders can all be running the same code but are processing different data elements, say each pixel having a position and is part of a larger rendering.
A GPU is a massively parallel multiprocessor.
A Threadripper is a massive Concurrent multiprocessor. It can also perform as a modest parallel multiprocessor.
The difference lies in what the various compute units can do and what they are actually doing.
Put another way, a 10ghz single core CPU is not a multiprocessor. It performs sequential computing and it can task switch to handle the same task load as a lower clock rate multiprocessor would handle.
A 10ghz multi core CPU is a concurrent multiprocessor, but is not a GPU. It could run shaders on par with a lower clock GPU. BUT a lower clock GPU cannot run a variety of tasks in the same way.
Good grief! We are actually going to have a shit list now:
Hertz, Hyatt are the first two entries in this historic development..
My timing is poor. Should have taken that "sit alone" part more seriously. I have an intense need to do just that!
I can give myself some time. Unlikely to be enough.
I much prefer real exchanges, great, ugly and every kind in between, to sanitized expression
Don't get me wrong. We often need the moderation. It is just awful nice to avoid it at times.
Oh yes! The bright projectiles really add to the game impact. And on some cabinets, the lines were not perfectly straight. It looked for all the world like the phosphor coating had a bit of texture to it. Now being older, I realize an effect like that could just be a marginal DAC too.
IMHO the best vector experiences, in order are:
STAR WARS
This is a color vector display cranked up to the nines! The processor handling the vector drawing is fast! Tons of vectors are possible with only subtle impact on display refresh speed and overall quality. There is some global image size artifacts that happen when some of the brightest objects occupy a significant percentage of the display.
And that is a feature! Love it. Get into a sit down cabinet if you ever get the chance.
TEMPEST
This game is not for everyone. Most of these drive people to their limits, but TEMPEST ramps up and beyond normal human limits! Not everyone can play this game at its peak. Same can be said of nearly everything on this list, but without that aggressive ramp up.
ASTEROIDS
I prefer the original cabinet with the somewhat slower object motion. That one is a bit easier to play. Depending on the operator and how hard they drive the CRT, image brightness ranges from a bit old, washed out and tired looking to WOW! How do those tiny projectiles not just carve a line right into the phosphors.
Cinematronics games: TAIL GUNNER, STAR CASTLE, RIP OFF.
These use overlays for a bit of color. Oh, I forgot ARMOR ATTACK, which uses large ones like STAR CASTLE.
The quality of the vectors is not quite as good as the ATARI displays and this too is a feature. That gives Cinematronics a bit of charm I find quite enjoyable
And sound! Hoo boy! STAR CASTLE has great, loud --> I mean loud sounds with full bass notes able to rumble you and the cabinet!
OTHER COLOR VECTOR GAMES
I like playing all of these, but they simply were not peak experiences. Still damn good, if you ask me:
MAJOR HAVOC, GRAVITAR, A Two Player tandem Asteroids game I cannot recall. Fun though!
And last place: QUANTUM played with the Trackball. You circle atoms over and over. This game looks cool and is hard.
GRAVITAR uses the Asteroids movement dynamics to great effect! A fun thing in this game is massive changes in scale happen often. Rare to see.
Vector gaming delivered many of my very highly cherished arcade gaming experiences for sure.
ATARI and Tektronix deserve special mention in this context:
Atari made color vector games work! Did anyone else? Those look amazing! And hold up today in my view.
Tektronix invented both a pure storage tube CRT. Their graphics terminals often doubled as Minicomputers programmable in Tek Basic. The large ones offered a 4K vector space! Crazy good detail for the 70's. And one in good condition, operating in a reduced light room is beautiful to use.
My first manufacturing CAM software experience was on one of these. Used a fixed record length cassette so that many "files" could be accessed almost like a floppy disk drive. User data went right to the paper tape puncher / reader. 1200 baud punch, reads could be faster, up to 9600, if one had a good reader unit.
One ran applications from that cassette and stored and used user data from the paper tape.
But I digress!
Right near the end, Tek managed to get both storage graphics and dynamic refresh capable graphics, both in a different color. I only got to use one of those one time. I loved it because many different work flows were possible.
Man, for the chance to code a UI on one today!
One last thought: in my view vector displays are best on a CRT, mostly because of the image contrast and speed possible, but great vector experiences can also be had on a wall, or perhaps a screen with some coating to bring out the best possible.
We may yet see vectors appear from time to time in these and other ways simply because of how great they are. Hope so, and building a small, color capable one using a low power laser and screen with coatings sure to deliver motion trails is on ky bucket list.