HNHacker News
TopNewBestAskShowJobs

jonjacky

1,024 karma · joined July 15, 2009

https://jon-jacky.github.io/home/
submissionscomments
jonjacky··on C isn't a programming language anymore (2022)
> Of course, they weren't available as free beer with source tapes.

I think this was less important then, than people sometimes think.

I recall those days. In the 1980s and 90s I worked as a scientific programmer in a university department. Some of our software was commercialized and sold and supported as a product for a time in the 80s. Pardon the following long memoir, but I think some reporting on what actually happened then, as seen by even one participant, is pertinent.

We used a VAX with DEC's VMS operating system. Our application was developed in DEC Pascal (which didn't have the limitations of Standard Pascal because it used the DEC CLR, Common Language Runtime). Later on we began using Allegro Common Lisp for some things.

Through the 80s and early 90s, we never used Unix and C. And, we were not unusual, even in a university. Most of the VAXes at that university ran VMS (or one of the DEC-10/20 OS in the early 80s), including the computer science department (which began running Unix on some but not all systems later in the 80s). So Unix was not as pervasive in the 80s as some people seem to think.

About "free beer": running Unix on a VAX in the 1980s was definitely not "free", it was a major investment in time, effort, and yes, money (in the form of salaries). First, the OS wasn't a separate line item. You bought a bundled system including both the VAX hardware and the VMS OS. Then the DEC guy came and turned it on and it just worked. I don't even know how buying a bare VAX and installing your own OS worked. How did you handle DEC field service? They required their own utilities that ran on VMS. If you used Unix, you needed an expert in Unix to install it and maintain it.

And it was no different with the early commercial Unixes. You bought a Sun workstation and it came with their Unix bundled (Solaris or whatever). In the 1990s we switched from VAX/VMS to HP workstations that bundled HP-UX, their Unix. In all of these Unix platforms, Unix was bundled and you did pay for it, it was just included in the price.

I think there is some confusion about the history. The free, frictionless, install-it-and-run-it-yourself OS was not Unix in the 80s, it was Linux in the 1990s. By then C and Unix-like operating systems were well established.

Also, there was genuine admiration for Unix technical features, notably its simplicity and uniformity, even at sites like ours that didn't use it. There were several projects to give VMS a Unix-like userspace. There was a (yes) free Software Tools project (that was its name), and a commercial product called Eunice. People who had already paid for VMS paid more for Enunice to make VMS look like Unix.

Unix was a better platform for teaching CS than VMS or the other alternatives.

VMS did come with source code. It came on a huge stack of fiche cards, along with several pallet-loads of hardcopy documentation in binders.

There was nothing like the books The C Programming Language by K&R, or The Unix Programming Environment by Kernighan and Pike. Or the many Unix and C books that followed them. And then the college courses that used them.

Instead there were special courses in system programming and OS internals (separate courses) from DEC. The university would pay for them once in a while. A DEC expert would come for a week and programmers from all the VAX sites would get together all day every day in a classroom while they lectured. There was no textbook, but everyone got a huge binder of printed notes.

So systems programming on VMS, and I suppose other non-Unix platforms, remained an esoteric, inaccessible art, totally divorced from application programming, that used a programming language that was not used for anything else.

A few words comparing my experience programming in C in the 1990s to programming in DEC Pascal in the 80s: C wasn't much worse. The greater safety of Pascal did not make much difference in application programming. In Pascal, array-bounds errors etc. produced a crash with a traceback. In C similar errors produced a crash with a cryptic message like "segfault". But often the actual defect was far from the line that crashed, that appeared in the traceback, so the investigation and debugging was similar in both languages. But the more common (and often more difficult) errors that just computed the wrong answer were about the same in both languages.

jonjacky··on C isn't a programming language anymore (2022)
They say right there that Fortran, PL/I, and Algol 68 were too big and complicated for Unix. Yes, if you are building a system, it is more productive to use a language that is built for purpose and pleasant to work with ("fun") than one you have to struggle against all the time.
jonjacky··on C isn't a programming language anymore (2022)
> I'm not sure what you mean by "coincidence" or "accident" here.

I mean Unix had to be written in C, not in, say, Algol or PL/I or BLISS, high-level languages used to write other operating systems.

I also meant that the features of C were not put there by impulse or whim, they were the outcome of considered decisions guided by the specific needs of Unix.

jonjacky··on C isn't a programming language anymore (2022)
It is often said that C became popular just because Unix was popular, due to being free -- it just "rode its coattails" as you put it.

As if you could separate Unix from C. Without C there wouldn't have been any Unix to become popular, there wouldn't have been any coattails to ride.

C gave Unix some advantages that other operating systems of the 1970s and 80s didn't have:

Unix was ported to many different computers spanning a large range of cost and size, from microcomputers to mainframes.

In Unix both the operating system and the applications were written in the same language.

The original Unix and C developers wrote persuasive books that taught the C language and demonstrated how to do systems programming and application programming in C on Unix.

Unix wasn't the first operating system to be written in a high-level language. The Burroughs OS was written in Algol, Multics was written in PL/I, and much of VMS was written in BLISS. None of those languages became popular.

IN the 1970s and 80s, Unix wasn't universal in universities. Other operating systems were also widely used: Tenex, TOPS-10, and TOPS-20 on DEC-10s and 20s, VMS on VAXes. But their systems languages and programming cultures did not catch on in the same way as C and Unix.

The original Macintosh OS of the 1980s was no competitor to Unix. It was a single user system without integrated network support. Apple replaced the original Macintosh OS with a system based on a Unix.

jonjacky··on C isn't a programming language anymore (2022)
It wasn't a coincidence, or an accident. C was specifically designed to write Unix, by people who had experience with a lot of other computer languages, and had programmed other operating systems including Multics and some earlier versions of Unix. They knew exactly what they were doing, and exactly what they wanted.
jonjacky··on Ask HN: Is there anyone here who still uses slide rules?
It's not the number of actions, it's because the slide rule is analog and physical. The smaller numbers are to the left, the larger to the right, and you have to slide the rule to the first number, then the hairline cursor to the second number. There's no way you could mix up a large number like 987 with a small number like 187.
jonjacky··on Ask HN: Is there anyone here who still uses slide rules?
Yes. I don't recall doing this, though. Maybe because in scientific and engineering calculations we often worked in scientific notation so 'digits to the left of the decimal point' wasn't meaningful - we had to keep track of the exponents.
jonjacky··on Ask HN: Is there anyone here who still uses slide rules?
With a slide rule you always have to estimate the expected answer in your head before you begin any calculation. So you develop a feel for how quantities scale with multiplication.

With a slide rule you can only multiply the significant digits, not the magnitudes -- which you have to do in your head. So you do exactly the same thing with the slide rule to multiply 123 and 987, 1.23 and 9.87, and 1,230 and 9,870. In all three cases, you get exactly the same answer: 121 or maybe just 120 (you only get 3 digits of precision at best). You still have to multiply the powers of ten in your head, to get the answers 121,000, 12.1, and 12,100,000.

I am just old enough to belong to the last generation of slide rule users. I used them in high school and college, then scientific calculators came along.

jonjacky··on Ask HN: Nobody clicked on a "Show HN" project I put my heart into. Now what?
I followed the original post to the project at

https://historical-moviemap.inneuro.ai/

It's a fascinating idea and the web site looks very nice. BUT it isn't clear how to use it. How do I see what the movies are? The page shows a world map covered with numbered spots. I thought the spots might be links to information about the movie set at that time/place, but clicking the spot just magnifies the map and replaces the numbered spot with more numbered spots. Oh wait, I tried it again and now information about movies pops up. Why didn't it work before?

I think people might have looked at the page, tried to use it, got frustrated, and left.

The page needs some explanation of how to use it. Besides the spots what is the meaning of the slider at the top? It might be some kind of timeline but what does it do?

Also, the HN crowd might not be the best audience for this. Have you tried announcing this project in forums about movies, or history? (I don't know where these might be, but surely they exist).

To appeal to HN readers, you might add more about the technology that runs the site, how you built the site, etc. That could be the text in the Show HN post or could be linked to the page itself.

Congratulations on getting this far, and good luck!

jonjacky··on MicroPythonOS graphical operating system delivers Android-like user experience
Previously on HN: https://news.ycombinator.com/item?id=45525804
jonjacky··on Show HN: I built a small browser engine from scratch in C++
In addition to the code, the README here is exceptionally well done. It distinguishes this from many other learning projects.
jonjacky··on Show HN: Bible translated using LLMs from source Greek and Hebrew
> we can't reject progress

"progress" is a loaded term, it carries connotations of good. Not everything from the tech industry is an example of progress. I agree with the authors of the linked article that programs designed to create the illusion of a sympathetic listener in order to prey on the naive and credulous are just evil.

jonjacky··on Show HN: Bible translated using LLMs from source Greek and Hebrew
Right, the linked article clearly and vehemently opposes AI chat technology. It says: "Clergy and laymen alike must become aware of the threat that AI poses and take steps to minimize or eliminate its use." And even stronger: "we should not rule out the possibility of demonic influence within its output."

I'm not sure if they really mean to say that literal horns-and-pitchforks demons in the flames of hell are typing chat responses designed to drive people mad and encourage them to kill themselves -- or just that the chat programs are built and promoted by people motivated by a systematic hostility to human well-being. Either way, they think they are pure evil.

jonjacky··on The Olivetti Company
Here is another page about Ivrea, with some history and many many large photos:

https://artsandculture.google.com/story/ivrea-industrial-cit...

jonjacky··on The Olivetti Company
Back in the 1950s Olivetti was famous for its striking, modernist showrooms, with typewriters and calculators displayed on pedestals like works of art.

It's been said that they inspired the Apple stores.

https://www.archdaily.com/155074/ad-classics-olivetti-showro...

https://www.printmag.com/daily-heller/the-daily-heller-i-los...

jonjacky··on On Being a Human Being in the Time of Collapse (2022) [pdf]
See also Rogaway's Moral Character of Cryptographic Work[0], which is a more technical talk for an audience of cryptography researchers. It's been noted several times on HN, most recently in 2023 with 56 comments [1] and in 2015 with 93 comments [2].

0. https://web.cs.ucdavis.edu/~rogaway/papers/moral.html

1. https://news.ycombinator.com/item?id=36901885

2. https://news.ycombinator.com/item?id=10673055

jonjacky··on Happy 50th Birthday KIM-1
Its low cost and being completely self-contained made the KIM-1 unique among the 6502 computers of the 1970s. It was a small fraction of the cost of an Apple, Pet, Atari etc. which made it practical to build into an embedded controller as if it were just another part.

It did not require an external computer or terminal to use, you could program and run it from the built-in hex keypad. The simple 6502 instruction set did not require an assembler, it was quite practical to write the assembly language program on paper and then hand-assemble it by looking up the hex opcodes -- after a while you remembered the most common ones -- this was actually simpler and faster than dealing with program development tools. It only took a few minutes to key in a couple of hundred bytes, which was sufficient for many control programs -- you were not using the KIM as a personal computer, but as a (much better!) replacement for dozens of TTL chips and IC timers.

You could use it to do real work, build real devices. I built this programmable gas mixer for respiratory physiology experiments:

https://journals.physiology.org/doi/abs/10.1152/jappl.1980.4... Programmable Gas Mixer ..., Journal of Applied Physiology 49(1), 1980.

jonjacky··on Carnap – A formal logic framework for Haskell
I, too, made something similar in Python -- but simpler and less polished:

https://jon-jacky.github.io/FLiP/www/

https://github.com/jon-jacky/FLiP/

jonjacky··on E.W.Dijkstra Archive
Oh sure, he might have made several, or many, drafts on scratch paper. But even then it is impressive. Many of these are around 12 pages of hand written text and math in ink with no corrections -- he famously used a Mont Blanc fountain pen. How many people could do that at all, even if they were copying from a rough draft? And there are so many -- more than 1300 EwDs!
jonjacky··on E.W.Dijkstra Archive
Many of these EWD notes are hand written with a lot of mathematical notation, and no corrections. For example:

https://www.cs.utexas.edu/~EWD/ewd10xx/EWD1063.PDF

I am reminded of Salieri's reaction to Mozart's manuscripts in the movie Amadeus.

jonjacky··on Luddite List
I look forward to the blog post.
jonjacky··on Luddite List
It looks like these are notes for a research project leading to a paper, a thesis, or even a book. Is there any more information about that?
jonjacky··on Kpython – A MicroPython Sidecar for the Linux Kernel (Experimental)
Possibly of interest: 'Linux kernel MicroPython port', last updated four years ago.

https://github.com/Jongy/micropython/tree/linux-kernel/ports...

https://medium.com/@yon.goldschmidt/running-python-in-the-li...

jonjacky··on Firsts: Computing from the Paul G. Allen Collection
This makes me sad because I recall seeing many of these at the late lamented Living Computer Museum in Seattle. Here we see its collection being auctioned off piecemeal.

The back story is here:

https://news.ycombinator.com/item?id=42309025 Ask HN: Why did no one save the Living Computers museum in Seattle? 73 points by superconduct123 on Dec 3, 2024 | ... | 78 comments

jonjacky··on HiRTOS: A high-integrity multi-core RTOS kernel written in SPARK Ada
A surprise, from the README:

"HiRTOS is formally specified using the Z notation. The Z specification can be found here [link]."

I used Z years ago. I haven't seen any new work in Z for many years -- but the linked specification is dated in 2024.

Also, "The HiRTOS thread scheduler is formally specified in TLA+/Pluscal. The TLA+/Pluscal specification can be found here [link] It was model-checked using the TLC model checker. The sucessful TLC run [link] took more than 7 hours"

jonjacky··on Show HN: Rhubarb – C89 Libraries in Latin
This same author's Aquinas OS also looks interesting -- although it is not in Latin.

https://github.com/farant/aquinas

jonjacky··on Show HN: Rhubarb – C89 Libraries in Latin
Very impressive - there is a lot of work here! But why? They explain it in docs/latina.h.md |

In include/latina.h, they use the C preprocessor to redefine the C keywords in Latin. Also, many numeric constants -- instead of 4096 you write MMMMXCVI.

The other files in docs explain each library routine in English, but the code samples are in Latin. The source files - a lot of them! - are in include and lib. The code is all in Latin, including the error messages and comments.

jonjacky··on Run ancient UNIX on modern hardware
Thanks! -- Jon
jonjacky··on Firesign Theatre: greatest satirists of 20th century techno-romanticism
I understand that they had access to other computer culture, too ... some of the nonsense noises that Dr. Memory makes as Clem hacks into the backend of the ‘President’ are terms that come from the DEC PDP-10 ...

Around 1970, the Firesign Theatre used to do live broadcasts on the KPPC radio station in Pasadena, from a studio in a church basement. On one show they read what was apparently some piece of avant-garde poetry. A Caltech classmate of mine recognized that it was an example from Knuth's Art of Computer Programming, whose Vol.1 had recently appeared.

All I can remember from the "poem" is the repeated phrase "leave system." Sure enough, in section 2.2.5 p. 280 - 295 of Vol 1 in the Second Edition, Knuth presents an extended example that "simulates the elevator system in the mathematics building of the California Institute of Technology." The "poem" quoted the comments in the execution trace shown in Table 1 on p. 284.

jonjacky··on Run ancient UNIX on modern hardware
Severo Ornstein called his memoir of the 1950s - 1970s Computing in the Middle Ages. Ornstein worked on SAGE, TX-2, LINC, and the Arpanet IMP among other things, before moving on to Xerox PARC.

https://worrydream.com/refs/Ornstein_2002_-_Computing_in_the...

← PreviousPage 3 of 24Next →