Certain gTLDs have been borderline scams. The most infamous one might be .sucks, an extortion scheme charging an annual protection fee of $$$, complete with the pre-registration process when you could buy <yourtrademark>.sucks for $$$$ before it’s snatched up by your enemies.
They also screwed up some old URL/email parsers/sniffers hardcoding TLDs. Largely the fault of bad assumptions to begin with.
Other than the above, I don’t see much of a problem. Whatever problems people like to point out about gLTDs already existed with numerous sketchy ccTLDs, like .io. Guess what, the latest hotness .ai is also one of those.
If we allowed all possible TLDs, then we'd need a default organization to administer them. The current setup requires an organization to control each TLD, which allows us to grant control to countries or large organizations. The web should be decentralized, which means TLD ownership should be spread across multiple organizations. More TLDs with more distinct owners is a better situation than one default.
Not sure why your getting pushback on such a leveled take.
I am also increasingly feeling like this is the case. Not to say that there is no value in psychedelics (definitely looks like there is in clinical settings), it just seems like some people are touting it as a miracle solution to all mental problems. Something that can be self administered with no oversight.
I have read a couple threads over the past few months on reddit about how mushrooms increased the posters' suicidal thoughts, and that they decided to abstain from taking them because of that.
I think this perspective is even reinforced by recreational users: the first thing you are told before participating is to be in a familiar set and setting, and also to be in a good place in life. However, in certain states of mind (ex. depression or some other condition), I wouldn't trust the individual to be able to make such informed judgements. The risk is known.
Unfortunately vanilla JS is much less readable. JQuery function names make your intent very clear and chaining them is elegant. Also, very minor, but the "magic" (syntactic sugar) provided by `$()` compared to `document.querySelectorAll()` et al. makes using JQuery seem much more frictionless, especially since you know if you're using it, all the functions will work on whatever you selected and can also take HTML strings, etc.
One thing vanilla JS does have going for it though is performance. I profiled a script of mine and rewrote all the bottlenecks using native JS and it's undoubtedly faster.
Most if not all the modern frameworks/projects use Babel to compile modern Javascript to the es5 standard from 2009. I guess 11 years of browser backwards compatibility are enough, or should we downgrade and support IE 6 ?
Hey! I bought and played your game. It reminds me of the game Catcha Mouse on ios, where you have to block off the mouse from getting to the edge. What would be cool with your game though would be multiplayer (even if it were on the same device). Aswell as that, arbitrary board size, and more levels would be cool. Other than that, its very clean aesthetically and love to see minimal games like this being made.
I would say the definition linked is the computer science definition. Its just commonly the case that the compilation target is some final binary, but in this case it is an html document. A lot of the terminology in CS stems from analogous similar actions we perform in real life (I saw an article a week or two ago on here listing all terms used in an instance like this)
I hate it when people blindly post definitions like this without explanation, it comes off super aggressive and doesn't solve much.
I wrote a long comment, and immediately deleted it because I'm trying to avoid being a confrontational jerk.
I disagree with your assessment of "normal CS jargon". I'm wondering if you mean "normal jargon in the C/C++ community".
In my experience with compiler textbooks and computer science professors who specialize in compilers, compilers are any formal-language-to-formal-language translator. Yes, sometimes sub-types of compilers have specific names, but they are all compilers.
Is there one word for the subject material of the dragon book? I think there is, and I think that word is "compiler". Including source-to-source translators, including assemblers, including preprocessors, including linkers.
I'm glad you're not trying to be a confrontational jerk. I'm all for disagreeing politely.
The project in which I worked on a C++-to-C translator didn't call it a compiler, it called it a source-to-source translator. It was a CS project in a CS department funded by the NSF. I have read the Dragon Book, and would be surprised if the authors would consider an interpreter, assembler, or a linker to be a compiler.
So yeah. I don't expect you to agree with my opinion, but I do appreciate it that you're trying to avoid being confrontational jerk.
In my understanding, interpreters are generally not considered a member of this category, as they don't in general have formal languages as output. That is, I believe that a classically-defined compiler operates offline (there's no feedback from output to input during a given run of the compiler), and an interpreter generally operates online. Of course, to a sufficiently theoretical theorist, online is just a special case of offline, but of course to real software that is absolute nonsense.
--
As for the dragon book... okay, I got over my laziness and went and got my copy of the dragon book. I see no edition number, but this copy is "reprinted with corrections 1988". 33rd printing.
Page 1. "a compiler is a program that reads a program written in one language - the source language - and translates it into an equivalent program in another language - the target language".
Page 1. "Target languages are equally varied; a target language may be another programming language, or the machine language of any computer...."
Page 17. "Some compilers produce assembly code, that is passed to an assembler for further processing. Other compilers perform the job of the assembler" (emphasis mine: they explicitly state that assemblers are compilers)
--
Edited to add: Btw, I feel like I'm on the shakiest ground claiming that linkers are compilers, and probably the problem there is that my understanding of what qualifies as a linker is shakier than most of the rest of this subject.
--
In general, if I had bought a pickup truck, I'd be more likely to describe it as a "truck" than as a "vehicle". If I was seeking grant funding for a source-to-source translator, maybe it would be prudent to use specific language in my grant application (I understand that grant-writing is an art).
However, if someone else in a blog post about their hatchback called it a "tiny vehicle", and that blog post was posted to hacker news, it'd be weird to call them out on it. They're not wrong, their hatchback is indeed a vehicle!
Thanks for this. I did spend a lot of time pondering over whether I wanted to use the word "compiler" or "interpreter," but in the end it was my CS students who encouraged me to use the term that more people would recognize than the one that is technically more accurate.
This is my first time sharing one of my tutorials on HN so I am still feeling out where I will slip and where I can slide.
The really gross part is... to my eye, the deeper into the thread we get, the more upvotable your comments get ("kind, thoughtful, substantive", to quote the guidelines), but the lighter gray they are. Although I've downvoted none, I can kinda see downvoting the top-level comment as being snarky, but that comment is solid black. Topsy turvy.
Thank you! I have the same amount of snark now as the top comment, i.e. none that I can tell. It would be nice to have a conversation about this topic that didn't involve me being downvoted.
I tried atom in the past and felt the definite slowness by comparison to other text editors, I would definitely need to check it out today to see if anything has changed. I currently use vscode and it feels really snappy for the practically the same functionality.
I also find it interesting that Microsoft is looming over both of these projects, I wonder what that will mean for the future.