Since we are throwing around shallow mantras in lieu of a discussion,
"People who live in glass houses shouldn't throw stones."
If my original thoughts on <that which is not to be discussed> bore you, I guess I'll skip my comparison of conditions around here to the peasant scene in "Monty Python's Holy Grail". [1]
On-list moderation makes boring reading, too. <Yawn.>
"Cheerio, old boy," as the gentry used to say.
--
[1] "Help, I'm being repressed...You saw him repressing me didn't you?" -- Michael
I'm tempted to just say "Q.E.D. (see my unpopular comment above downvoted and greyed out.)".
> A downvote, in contrast, isn't something that wastes our reading time.
Unless the comments we are reading are decided by mob rule, and the ones that are obscured (and potentially meaningful) are merely unpopular. (I've highlighted greyed out comments on this site.) The truth is we don't know why someone down-votes, unless they annotate it, and even then we'd have to trust their explanation. Such an annotation wouldn't have to be in line.
I don't really care, personally, but what did people who down-voted me accomplish? I didn't really learn anything to avoid repeating some behavior--other than re-confirming this is not a place to make waves.
> The problem with a shallow dismissal is not just that it's thoughtless, but that it's thoughtless where everyone can read it.
With all due respect, this sounds like a well-worn mantra. Everyone can also read admonishments against thoughtlessness, maybe they should be taken off-line too, in the interest of fairness.
My personal "Eternal September" is kicking in, so I guess I'll leave it at that. Thanks for your reply.
On the other hand, isn't an anonymous down-vote on a comment, without the need for substantiating reasons, also an extremely shallow dismissal of someone's thoughts?
Maybe when someone downvotes a comment, they should be required to provide a reason, which could be then downvoted itself (with some threshold to restore the criticized comment). On HN, not every down-voted comment has a moderator's annotation.
Thanks for the info! I'm currently using the hash table from Femtolisp, works OK for my small tests, might need something better for production. My symbols are currently limited ASCII anyway.
I've been looking for a map like C++ STL written in C. I need to lookup symbols to get function pointers, among other uses. Part of a general process of replacing C++ with C. Maybe I have found it? Interesting project, thanks for posting.
Overall, working on a CAD system using SDF and functional representation. Currently flattening a C++ OO scene graph library to a use functional approach. Also, today, continuing work on adapting a small Scheme implementation to read models in a Lisp format.
I haven't written any Tcl/Tk/Expect recently. It is interesting to know they are still being used, thanks for the updates. Expect was also quite useful for testing command-line applications. Even back then, RMS's arguments may or may not have applied to what he was doing, but our department got a lot of use out of Tcl for our sys admin work. We had many new-hires at the time, some without much CS background, and we found they could acquire and become productive in Tcl quickly, which was important in meeting our schedule.
to be a powerful way to do automation. In the '90s, I automated a process of migrating data from a mainframe to Unix workstations using a Tk GUI run by end users which generated Tcl/Expect scripts to download, convert, and verify massive amount of files in a batch.
It works both ways. I'm not addressing the Signal project in particular, but maintainers of free software projects need to be polite and professional (in words and deeds) as well. Users who take the time to investigate bugs and get involved in fixing them don't have "infinite resources to pour down the drain" either. Maintainers presumably derive some value, even if not monetary, from their involvement in these projects. Having more users than they can handle is a problem that comes with the territory of a popular project--and needs a solution just like the more technical ones. (I translate the term "toxic users" as modern-speak for "people who aren't exactly aligned with me".) I often contribute to alpha status free software, so I don't always gain reciprocal benefit--but I do like to help others. How many times have you seen an open issue or pull request on a project that isn't addressed at all after years? Often, in my experience.
Last year, I was working on my free software project, and I heard repeated blasts of a car horn from my driveway. I have advanced arthritis, so it took me a while to get up and go to the door--I wasn't expecting anybody. The car drove off before I could get to the door. The next day the same car was in front of my mailbox. The door of the mail box was drooping down. The car stopped on the side of the road, so I had enough time to hobble out and approach it. It was pouring rain--I had my shirt up over my head to keep the water off. I found out it was my new neighbor. She was doing improvements on her home and needed my signature on an HOA document. She said, "I'm disabled, and I need a favor. Also, I broke your mail box putting the document in it." I said, "I'm disabled too". She laughed, "Oh, I see."
The moral of the story being, Signal, be glad you don't have to deal with people who want something from you IRL. :)
As a generalist trying to develop a CAD system using SDF and functional representation, the details of isosurface extraction are interesting to me (if somewhat tedious at times). Researching the bigger picture, tying together the concepts of representation, rendering, analysis, manufacturing, etc. is my rabbit hole.
For those of you that don't know, mkeeter has developed Libfive--a well-regarded project which performs isosurface extraction of implicit functions to triangular meshes--so we can render them with OpenGL or print them on a 3D printer, for example. The implicit functions can be implemented at several language layers, including C, C++, and Scheme.
It implements Conway's Game of Life by creating a DSL using the C preprocessor and printf. The output is a program (several initial boards are supplied to bootstrap) which is the input program to be compiled and run to create the next generation. This is the program for a second generation:
LIFE
L _ _ _ _ _
L _ _ O _ _
L _ _ _ O _
L _ O O O _
L _ _ _ _ _
GEN 2 STAT 328960
END
Each symbol like "LIFE" is a macro, the board is the program.
I subscribed to the Criterion Channel after watching the lectures, which has a number of the movies referenced in the course. I developed a new appreciation for Buster Keaton and Charlie Chaplin. There is a lecture on German film:
Careful, you are not supposed to breath the D word around here.
We need philosophy now more than ever.