Preferences

vincent-manis
Joined 934 karma

  1. I am very fond of Merriweather (which I recently saw on a list of over-used fonts, for those who believe that you should use a different obscure and, hopefully, hard to read font in every document). It pairs nicely with Merriweather Sans, Cascadia Code, and for math Libertinus Modern, though I do have to tweak ex-heights to match.
  2. BCD, actually, given that Fortran dates from the mid-1950s. EBCDIC only appeared more or less around Fortran IV, in the early 1960s. Many printers in those days had a 48-character chain/train. After upper-case letters, digits, and a few essential punctuation marks (like . and ,), you weren't left with many options. The 60-character set of PL/I was a luxury back then, let alone lower case.
  3. Yes, what OS did the Egyptians use?
  4. One thing I discovered during decades of teaching at university. 18-year olds have little skill planning. Our first-year course had one-week assignments, but one more in-depth two-week assignment. This was at a time when students used computer labs, rather than their own equipment. During the first week of the bigger assignment, the labs were empty. About three days before the due date, the labs started getting busy. The night before the due date, students were waiting all night to get at a computer, and a delegation of students went to the Department Head to demand much bigger labs.

    The following year, we used the same bigger assignment, but demanded that the students hand in the work for the first half of the assignment by the end of the first week (the markers were told just to check that it had been handed in, but not to mark it). Due date came along, and the overwhelming part of the class handed in acceptable work on time.

    One thing that four years of university, perhaps including a study skills course, teaches you is how to manage multiple due dates with several concurrent projects in various stages of completion.

  5. Like how to analyze requirements, how to document their work, or even how to problem-solve during debugging.
  6. I once proposed a similar course at a major CS department where I was a junior faculty member. The response was “This is a university, we don't do things like this.” Result: students who couldn't use a debugger, did not know how to use source control systems, did not know how or why to write a shell script. Mostly, students didn't know how to use online help and documentation, leading to superstitious behaviour when doing lab work: “My friend told me to do this, I don't know why it works.” Yes, some of this can come in other course, but it's the first part to be dropped if time runs out. Even though a course like this should count for few if any credits, it is essential: helping students get more out of their other courses should be what is done at a university.
  7. I worked at 3 universities and one multi-national company over 30 years. I used Emacs at all of them. I'm retired now, and still use Emacs daily.
  8. The point about bounds checking in `safe' languages is well taken, it does prevent 100% test coverage. As we all agree, SQLite has been exhaustively tested, and arguments for bounds checking in it are therefore weakened. Still, that's not an argument for replicating this practice elsewhere, not unless you are Dr Hipp and willing to work very hard at testing. C.A.R. Hoare's comment on eliminating runtime checks in release builds is well-taken here: “What would we think of a sailing enthusiast who wears his life-jacket when training on dry land but takes it off as soon as he goes to sea?”

    I am not Dr Hipp, and therefore I like run-time checks.

  9. No, MUMPS (or M) is a remote descendant of JOSS, an interactive language of the 1950s. JOSS has all sorts of variants (DEC's FOCAL language of the 1960s was a dialect), but I think MUMPS is the only living one. MUMPS code is mostly unreadable, as the commands can be, and often are, abbreviated to the first letter. As a result, it looks a lot like line noise.

    Regardless of its many warts, Cobol cannot be accused of being unreadable. Verbose, yes.

  10. And was dinged.
  11. These work in both X and Wayland, even though they are an X feature. X/Wayland will consult the standard file, but will also consult a file ~/.XCompose. A number of people have created files with extended compose sequences, of which https://github.com/kragen/xcompose is possibly the best-known. If you install or change ~/.XCompose, you must restart your session (log out and back in again) for it to be recognized.

    I used to bind the Compose key to Caps Lock, but I've recently decided that Right Alt is a better choice.

    Another commenter mentioned WinCompose, which I have used very successfully with Windows 11. On a Mac, you might try https://github.com/Granitosaurus/macos-compose, which is quite usable, provided you install Karabiner Elements for the remapping.

  12. By default, the key emits a hitherto unused scancode, 0x6E. Windows maps this to something like `Left Shift+Super+F23', and then allows the user to define a suitable shortcut. For reasons I don't understand, remapping this combo is unreliable in Linux. So the newer kernels emit a plain F23 code, which can be easily remapped. For an older keyboard with no Copilot key, this is all a non-issue. (There are relatively few keyboards nowadays with physical F13 thru F24 keys, though once upon a time they weren't uncommon, so F23 is a suitable choice here.)
  13. F23, in kernels 6.14 and later. You can use standard tools for your environment to bind that to whatever you like.
  14. I am very grateful to the Linux folks for including Copilot key support in recent kernels, that way you can remap the key to something useful.
  15. No, recursion still works well without TCO (though as a Schemer, I love TCO). I was programming in BCPL in the early 1970s, and it handled recursive procedures with aplomb. The big revolution was realizing that, if you don't allow access to automatic variables declared in outer scopes, you could store all the variables in the stack frame, and access them with a small offset from the stack or frame pointer. That made automatic variables just about as fast as static ones (which, on System/360, had to be accessed via a base register), with small overheads at call and return sites.

    Again on System/360, I benchmarked BCPL procedure call costs against subroutine call costs in Fortran G (the non-optimizing compiler). BCPL was about 3 times faster.

    That said, as soon as you added multi-tasking (what we'd now call threads), it all went to hell. It's not an accident that one IBM PL/I manual of the 1960s said “Do not use procedures, they are expensive.”

    As mentioned by others, it was the tiny stack in the 6502 that killed this approach. I appreciate all those who pine for the 6502, but it made implementing modern (even for the 1970s) languages almost impossible.

  16. I recently custom-built Guile for my Arch system, and found that it won't build with GCC 15, but will with 14, which is the only other version in the Arch repository. I think that the Guile maintainers will need to get busy fixing the incompatibilities in question, before GCC 16 appears.
  17. The terminal in the video was a rebadged KSR-33, which was common as a computer console. A few people at MIT and Bolt Beranek and Newman had them at home at that time. A KSR-33 went for about $1000, according to Perplexity. There were few video terminals available then; the most common were the IBM 2260 series, a character-mode device that I remember as being very clunky. But you couldn't have used one at home, it relied upon a very clunky control unit, and therefore couldn't be used remotely.

    One additional example of the technology of that time. In 1968, I was a computer science student, and found myself called upon to arrange a demonstration of remote computing. The university at that time had no timeshared computing facility, so we used IBM's Call/360 service. The terminal was an IBM 1052 (big clunky printing terminal) with an acoustic coupler. To move this across campus, we arranged for a truck with 2 or 3 people to put the thing on a dolly, put it into the truck, and move it into the student union building. Later that day, the truck, and the helpers, came back and we reversed the process.

    I really like my ThinkPad!

  18. I had one of those, dunno what happened to it...fun story, I was living in Boston at the time, and there was too much line noise on the phone system for 300 baud, but 110 baud worked like a charm.
  19. And was a gag in the ancient Dick van Dyke show, where Dick's character gets a painting signed by `Artanis', and thinks it worthless, until someone spells it backward.
  20. Sorry, I wouldn't be caught dead using Word. I use quotation marks because that is the correct punctuation.

This user hasn’t submitted anything.

Keyboard Shortcuts

Story Lists

j
Next story
k
Previous story
Shift+j
Last story
Shift+k
First story
o Enter
Go to story URL
c
Go to comments
u
Go to author

Navigation

Shift+t
Go to top stories
Shift+n
Go to new stories
Shift+b
Go to best stories
Shift+a
Go to Ask HN
Shift+s
Go to Show HN

Miscellaneous

?
Show this modal