SulphurCrested
Joined 5 years ago
Joined 5 years ago
(Source would either have been the Whirlpool forums – where Australian ISP and telco engineers can be found – or local Australian mass media.)
These were large machines (think of a room 20m square) and with explicit hardware support for Algol operations including the array stuff and display registers for nested functions, were complex and power hungry and with a lot to go wrong. Eventually, with the technology of the day, they became uncompetitive against simpler architectures. By this time too, people wanted to program in languages like C++ that were not supported.
With today’s technology, it might be possible.
My personal practice when writing command line utiities for macOS is to use the macOS API to write settings (previously known as “preferences”) into ~/Library/Preferences, so they can interoperate with any GUI versions of them I might like to write, and for the utilities themselves to have command line options to control those settings. As a sibling comment suggests, you do need to avoid name space collisions. You can use a reverse DNS name, or some companies are big enough just to use their company name. They do appear as .plist files but are actually maintained by a daemon – which nicely avoids race problems with multiple processes updating settings.
If I were writing a portable utility which had a dotfile with a documented format the user was expected to edit, I would make it a dotfile under the home directory.
~/Library/Application Support is really more for per-user static data, like presets and templates, things that are known in a GUI by a string in some dialogue but not necessarily thought of by the user as a file.
If it’s just a button the user just has to know two things: turn the switch on at the wall socket when plugging in, which becomes habit since childhoood; and press and hold the button on the fan to make it go, which I suspect most children in 2025 can manage. These two things don’t interact and can be known and learned separately.
As you said, the knob’s position tells you about the switch. But it’s the fan the user is interested in, not the switch.
(BTW, if the fan has a motion sensor you can’t tell it’s off by the fact the blades aren’t turning. There’s probably a telltale LED.)
So my iMac, among many other devices like the light I wear on my head camping, has a button which you long-press to turn on. It is a very common pattern which most people will have come across, and it’s reasonable to expect people to learn it. The buttons are even labelled with an ISO standard symbol which you are expected to know.
In the case of Melbourne, the design was chosen because of the extremely lop-sided development of the city, whose centre (“the city”) lies at the head of a bay, with most of the population and population growth to the south and east of the city in the 1970s. This is true to a lesser extent in Sydney, bearing in mind that its city loop was designed before the Harbour Bridge was built.
Melbourne’s current through-running project, the Metro Tunnel, appears in the first table, but it doesn’t belong in the second table of cities which could greatly benefit from future through-running projects. All 16 lines can access the city loop (which has 4 parallel tunnels). Due to capacity constraints, most of the time one of those 16 lines terminates at a main city station, and two others through run with each other. The Metro Tunnel will relieve the city loop, similar to the Munich trunk amplification project described in TFA; once it opens all lines will either through-run or go around a loop.
Locals are used to the City Loop but some visitors find it hard to navigate. Each line runs either clockwise or anticlockwise. For historical reasons two of the four loops still reverse direction in the middle of the day.
It’s true that a further through-running tunnel (Metro Tunnel 2) and conversion of two of the four City Loop tunnels to through-running (City Loop Reconfiguration) appeared on the long-range plans from 2012. But these are not required yet; the city is building three other major rail projects first.
Although I had a terminal which could run TECO full screen, I found that too slow and just used it in line mode. You could conveniently reprint surrounding lines by adding a few characters to the end of a commmand (I still have HT <ESC> <ESC> burned into my brain.) The VT52 macro had you typing commands into line 24 like an emacs minibuffer.
I never used it for all my editing, but it excelled at certain things.
The version of TECO we had was the one which shipped with VMS. At some point later on, I think, DEC stopped shipping it, and we migrated to a TECO-inspired full-screen editor developed by another university. Once that arrived, we hard-core TECO users, all 4 of us, were won over within a week.
Trains runnin have been running this way in normal passenger service for months now, though I think it’s only in the last few weeks they’ve been testing it with HCMTs entering the tunnel at Hawksburn with diesels behind them instead going to South Yarra. (Currently, the trains with actual passengers take the South Yarra route at that junction.)
The HCMTs run only on this line, from Sunbury to East Pakenham/Cranbourne. They have their own new depot at East Pakenham so they don’t have to go elsewhere for stabling and maintenance. And they probably can’t; just for them to go through the City Loop as is temporarily required that tunnel had to be resignalled (the old location wasn’t visible from the cab.)
They did run an old Comeng train through the Metro Tunnel, without any signalling, to test clearance for a track maintenance train.
I dimly remember the reason for it not being recursive by default was it didn’t put local variables on the stack, and I guess /RECURSIVE (which I don’t remember) controlled that. Probably there was some SYSGEN parameter which limited stack size. There were people who would declare giant arrays as locals rather than putting them in named COMMON, so the user-friendly compiler default was to put them in a fixed PSECT because those same people would never be using recursion.