Hacker Newsnew | past | comments | ask | show | jobs | submit | vincent-manis's commentslogin

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.


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.


Hmm, I guess you're right. Also EBCDIC does have ^ apparently, though not ↑: https://en.wikipedia.org/wiki/EBCDIC#Code_page_layout

But IBM's BCD character sets, including the 48-character ones you allude to, didn't: https://en.wikipedia.org/wiki/BCD_(character_encoding)#Examp... (though Honeywell's did)

There are a lot of decisions in Fortran that stem from the absence of useful characters. .LT., .LE., .EQ., .NE., .GT., and .GE. is another.


Yes, what OS did the Egyptians use?


OS is not part of an HELLO WORLD example.

Usually it goes something like this, for example HTML:

<!doctype html>

<html>

<body>HELLO WORLD</body>

</html>

Then you explain what a tag is, why they need closing or not, what the body is, etc. This is a basic HELLO WORLD example. If I dumped the above code and says done, that will be useless to anybody.


If "hello world" is about the process to get to showing "hello world" then I guess some part of the OS/computer is stone and chisels.


SunOS, clearly.

𓇳𓁉𓀃𓀀


Like how to analyze requirements, how to document their work, or even how to problem-solve during debugging.


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.


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.


I agree this shouldn't be part of the curriculum and instead be extracurricular, which my understanding this course is at MIT.

This would be more appropriate to fit in a curriculum of a vocational IT course or bootcamp.


This feels like biblical Pharisees putting ritual cleanliness above practical concerns. The professors see themselves as pursuing higher intellectual goals, but the reality is most of their students want programming jobs, and need to be taught skills that will be essential to those jobs (like using git).


The purpose of universities is to prepare the student for academic research. If you really want a tertiary education that is more focused on practical considerations, at least in Germany there exist Fachhochschulen.

When you attend a university, but you at least want to have the option to get a programming job if you realize that academic research is not for you (which is in my opinion a very good idea considering the job prospect uncertainty in academia), you will of course additionally invest an insane amount of your free time (outside of your academic studies) to learn the necessary skills for this. If you don't do this, don't complain.


This is, again, GP's criticism of purity for its own sake.

I've had to interview people for whom academia didn't work, and they were simply ignorant in terms of real-world skills. Writing a Bash script shouldn't be an hobby pursuit, I'm sure a Master's in CS can spare 6 credits (one course, one semester) to teach Git, scripting, encoding, linting, etc.

Academia-grade code can be much better if you look past the purity of their pursuits.


These skills are also useful for reproducible computational research


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.


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.


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.


MUMPS was originally developed in the 1960s for use on minicomputers that had maybe 64KB RAM. At the time it was a lot more important to keep code size small, hence the single letter commands. Readability wasn't a concern then but it sure looks like a mess today.


It's hard to imagine it's an improvement over just the raw assembly.


Imagine harder. It was an enormous improvement over assembly language. Not so much for the basic coding but for the portability and built-in persistent data structures. MUMPS has an excellent "NoSQL" database built in which is a pretty good fit for a lot of healthcare use cases.


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

Hence the "evil twin" comment :)


And was dinged.


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.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: