Hi there, I see you mention Celestia. I’ve never used it myself but have looked at screenshots and read about it.
I built a WebGL viewer for our local solar system only[0]. If you happen to have the time to give any feedback I would sincerely appreciate it - you seem very knowledgeable about this.
EDIT: With apologies to OP, I don’t want to hijack your post.
I’m currently traveling without a laptop and can’t view your site on mobile - I would love to check it out and share my thoughts and trade experiences about building these space viewers once I have a laptop again in a couple days.
Correcting someone about the fact that “The Department of War” doesn’t exist is pedantic.
I wouldn’t go downvote a random comment making the correction, but if I posted a substantive comment remarking on current events and received a reply only pointing out that “it’s ACTUALLY the Department of Defense” then I’d definitely downvote that.
Correcting others’ language on this point isn’t saving democracy, it’s needling others on technicalities who very well might be largely aligned with your views. I think the altered name is clownish and reflects the buffoonery of everybody in charge, but I might still use it when making a point because using it in context is not an endorsement.
If the language doesn't matter, then why have the autocratic authoritarians made such a point of promulgating that language? To me, it's a line in the sand that they've drawn - along with the rest of their dubious alternative reality that we're supposed to eat and repeat to demonstrate allegiance.
I know it's real work to go against popularized framings, but it's work we need to do.
If people downvoted pedantry, everyone on HN would have negative karma.
No, it's something closer to The Parable of the Green Grocer from https://en.wikipedia.org/wiki/The_Power_of_the_Powerless. The MAGAfication of large parts of Tech means that lots of people see themselves as respectable, serious, insiders. Pointing out the utter ridiculousness of what they profess to believe is extremely gauche.
I'm not the OP, but this is exactly my interpretation, and my gripe with the homepage as well in lacking this concise yet powerful example. You can tell a lot about a programming language by looking at the right snippet.
The lack of a true airgap should have been identified as a critical weakness and addressed with not only additional layers trying to prevent escape, but at minimum an alarm which would page a human when escape did occur.
My guess is this occurred in a setting where, to be frank, there were too many researchers and not enough software engineers and SREs.
All of the systems which were initially built largely or exclusively by researchers - inference, evaluation, training - are at the level of complexity and significance that they need systems experts. Maybe some teams don’t have access to them. I know plenty of software engineers are employed at OAI but I’d wager they’re concentrated in inference and training, rather than evaluation?
The ironic part is if you had presented this setup to chatGPT and asked how to improve it and if it was good enough, you’d have gotten a ton of actionable suggestions which would have mitigated or prevented this.
The air gap would probably help and after this incident I hope labs will think about using such a measure when appropriate.
On the other hand I think that proper solution for these kinds of problems is not at a sandbox level, but at a model alignment level.
Also it shows that maybe the most serious risk comes not from releasing models publicly but from internal, pre-release period where you sometimes need/want to lift some guardrails a bit etc.
> Like we either live in a world with freedom or we don’t, and like many Americans who have come before, I’m willing to give my life to fighting for it. That’s the real plan America deserves, not some totalitarian dystopia where you think you know what’s good for me better than I do. A nation of free men, not a bunch of pussies who are so worried about what their grown up neighbors might do.
Absolutely yuck. Regardless of whatever other points were made, “A nation of free men, not a bunch of pussies” is a disgusting thing to say.
I actually do believe that prior to any intelligence explosion, a proliferation of strong local models is the best of all the not necessarily great options regarding the future of AI. So in this sense I am in agreement with some of what he’s saying, and for some of the same reasons - not trusting government or a small handful of large corporations to own it, primarily.
But to equate a thoughtful argument for regulation with cowardice, in the face of real unknowns and real dangers - and to use a really gross term for it - ruins his points.
Some very novel ideas for the time. I’m not a PL historian but can’t think of an earlier language with such a complex runtime to support it.
But, woof - no thanks to the stringly typing. The article under discussion treats this as a positive, saying it eliminates conversion and having to worry about it. I don’t believe that’s possible, and would bet my life savings that MUMPS interpreting a string as a number when the programmer didn’t intend it, or vice-versa, is a reasonably common class of bugs in MUMPS programs.
The tutorial seems really good, but I’m frustrated with parts like that (or the explanation on a lack of operator precedence) which try to frame a bad thing as a good thing.
In this sense it reads like the autobiography of a presidential candidate; written in a calculated way to minimize flaws.
My intention was to present the MUMPS 76 standard so it can be appreciated by today's software engineers; it should be obvious that this is a historical treatise, not a guide for today's systems; as mentioned elsewhere, MUMPS 76 was designed to work on PDP machines with 8K to 24K of core memory. Your coercion concerns apply to any dynamically/weakly typed language, and the same coercion-class bugs are rampant in JavaScript, Perl, PHP, and shell scripting, all of which survived and thrived. MUMPS made deliberate simplicity trade-offs to be usable in 4K of memory in the 1960s. Many early languages made the same choice. And I appreciate that you regard me as presidential candidate.
I agree with your points about weak typing and coercion being prevalent. Having had direct negative experience with it across 3 of the 4 languages you named, I was prepared to marshal an argument about it most definitely being a source of bugs.
> it should be obvious that this is a historical treatise
It wasn’t obvious to me. Might I suggest amending it to make that more clear?
I do appreciate the tutorial and your commentary though, it gave me a new perspective on MUMPS.
APL / K / J (and friends) evaluate things "left-of-right" (could be thought of as "right-to-left"), that is 1+23-4 is parsed 1+(2(3-4)) - there is no operator precedence. It is weird at first, but refreshingly simple and effective once you manage to overcome indoctrination you received since elementary school.
Well maybe it's just the stuff I do but even if you do something like 'address + offset * scale'
I still want to group that to make it obvious
'address + (offset * scale)'
The former technically works but it's less obvious. And that's a dead simple example
'address + offset << scale' is notionally the same but << has a lower precedence in c than + so you get the opposite behaviour so it's better to just bracket it out of habit.
I never find that I'm adding 3 random numbers. I'm adding 2 random numbers to make a meaningful value, then adding another number so a lot of the time I do 'foo + (bar + baz)'
Maybe if you're into pure mathematics you have a different take, but in my experience it's often the case that you end up bracketing most mathmatical operations for readability anyway
What you seem to be saying is “I want no precedence or associativity - I just want explicit parentheses everywhere” which is a fine choice. But not a common one.
The reason APL made that choice (and its descendants followed) is that it had many tens of operators. There’s no intuitive or otherwise accepted order among them. Which means it’s either all parentheses (like you seem to prefer) or a simple rule (left-of-right). There’s basically no other solution.
Forth and Lisp also dropped precedence and associativity rules, each in their own way.
I’d be interested in hearing more detail on that. I’m actually surprised you were able to get the compiler, I assumed it would be expensive and proprietary.