5 ms·
https://fs.blog/chestertons-fence/ https://fs.blog/chestertons-fence/ I think this is a human thing, not necessarily just kids today.
by jplona 4y ago
https://fs.blog/chestertons-fence/ https://fs.blog/chestertons-fence/
I think this is a human thing, not necessarily just kids today.
- eptcyka 4y agoStatistically, I think it'll always be more kids doing this, regardless of day of the week or year of millennia.
- KingOfCoders 4y agoI think it depends on your experience and what you have gone through, in my case how many of the decisions I've made that looked excellent to me back then, turned out to be okish at most.
- chasil 4y agoCan we actually improve the POSIX shell? Can we reform it, perhaps into a "D-shell," that is an LR-parsed language? AWK had a yacc grammar for many years. Why can't this be the language of the shell, at least for the sake of maintainability and comprehension? https://archive.fosdem.org/2018/schedule/event/code_parsing_posix_s_hell/ https://archive.fosdem.org/2018/schedule/event/code_parsing_...
- msla 4y agoThe problem with making a shell more like a "real" interpreter REPL is the purpose of a shell: Running arbitrary programs not known to the author of the shell, such that any unknown word in a shell script is probably the name of a program as opposed to a misspelled reserved word or variable name. Those programs having arbitrary command-line arguments and having to operate on files with arbitrary names is another complexity.
- pasc1878 4y agoIt has been done. See xonsh a python shell which manages the distinction you mention. Also see scsh and rash for scheme Fish for non posix but sane syntax
- actionfromafar 4y agoIt's interesting to see how so many things grow into each other. A shell is what you say, but there are many efforts to change that. Bash has its magic autocomplete which knows about options of many, many programs. Powershell has an object-model with knowledge of many of its commands.
- deafpolygon 4y ago> Can we actually improve the POSIX shell? PowerShell?
- chasil 4y agoNo, that won't work. $ ll /bin/dash -rwxr-xr-x 1 root root 85368 Jan 5 09:52 /bin/dash If you can make Powershell in a binary that size, then you have a valid point.
- shubhamkrm 4y agoBut why? Storage is much cheaper today than it was in the 80s. While I myself don’t like huge Electron apps, trying to save every byte of storage is simply not worth it.
- chasil 4y agoEmbedded applications on smaller systems are why. The POSIX shell is common, from the largest supercomputer down to the smallest ARM. I don't think that there will be any new developments covering that full scope.
- deafpolygon 4y agoEmbedded systems don't exclude PowerShell from being a replacement for POSIX shells. Maybe embedded systems should not strive to be POSIX.
- pjmlp 4y agoMany embedded systems hardly have any shell, and even when they do, it isn't bash (which isn't POSIX anyway), rather a tiny subset with the basic tooling for maintenance.
- Dalewyn 4y agoPart of the process of erecting your own identity, both individually and as a generation, involves flatly refusing and denying the practices of your immediate predecessors (eg: your parents' and their generation of men, source code written by programmers before your time, etc.). It's stupid and almost always leads to unintended (and usually negative) consequences, but it's probably something strongly ingrained in our instincts because it rears its ugly head every time there's a generational turnover.
- incrudible 4y agoIf you do not understand why this happens, do not call it stupid. Go away and think. Then, when you can come back and tell me that you do see the use of it, I may allow you to call it stupid.
- Dalewyn 4y agoIt's stupid in the sense that it's a waste of time and resources. Sooner or later after you've had your fun refusing and denying your predecessors, you realize why they do things the way they do, become wiser, and go back and undo and redo all the fuckery you caused with your refusing and denying. It would be nice if we could get that realization without first having to fuck everything up, y'know?
- WJW 4y agoEven in this description you use the words "you realize" and "become wiser" and then describe it as "a waste". It's not a waste, it's just the cost of education. As the saying goes: "good decisions come from experience, and experience comes from bad decisions". It would be great if we could all come out of the womb with enough education and experience to function as responsible adults in modern society, but we don't. Society (rightfully) allows people some leeway in doing dumb shit so that they can learn firsthand why it's dumb.
- Dalewyn 4y agoThe experience is absolutely not a waste, don't get me wrong. What I'm calling a waste are the time and resources spent undoing and redoing everything. It's all cute if this just happens during our childhood years, where most actions hold no real consequence. It's when this extends into the real world with very real consequences that it gets really wasteful.
- metadat 4y agoGreat article. Discussed 13 months ago: https://news.ycombinator.com/item?id=30070757 https://news.ycombinator.com/item?id=30070757 (142 comments)
- ChrisSD 4y agoSome variation on this has been consistently brought up for going on a decade now. At this point it's a HN meme. Its opposite is "cargo culting".
- psychoslave 4y agoI like how Chesterton’s Fence example actually is a huge pro to not letting unquestionably the fence in the middle of the road. If there is no documentation on it, no-one around to pro-actively explain why it’s there, then the most economical way to see if it had any positive value is to stash it and see what happen. That doesn’t mean it’s always the most rational thing to do, of course. Throwing POSIX away doesn’t qualify with a situation where there is a lake of provided documentation or a missing obvious purpose. The fallacy is well confined in these two sentences: >However, before they decide to remove it, they must figure out why it exists in the first place. If they do not do this, they are likely to do more harm than good with its removal. Actually, assuming you don’t know consequences of removing the fence, you also have to assume that you don’t know consequences of letting the fence in place, which might just as well turn to a dramatic situation. What is for sure, if nothing around can explain its purpose, is that it was placed here by people to negligent to induce the right clues about it. So, who know to which level their laxity might have reach? Remove the fence unless someone know why it was put up in the first place, and the rational still hold.
- WJW 4y agoStory time: at my previous job we had an old server called "the black box" which hosted some old cronjobs and various services from about a decade earlier. There was no documentation and everyone who had worked on it had left years earlier. The ops team dutifully kept it online but otherwise didn't touch it, and no other team owned it. In short, it was the ideal candidate for your "reverse Chestertons fence" strategy. At some point we had to delve into what was actually on it, and it turned out that both company payroll and a service responsible for about 50% of company revenue was on that box. Simply removing it to see what happened would have easily cost a few million in revenue, even if it could be reinstated from backup a day later (and I'm doubtful if we could have restored it at all without serious data loss). Now obviously having such a server is a bad practice in the first case, but if you find yourself in such a position "just kill it and see what happens" is definitely not the most economical option in all cases. In the case of POSIX it might hold, since probably the worst case is that some volunteers throw away a few years of their life hacking away on yet another OS that will never gain traction. Humanity spends a lot more time on a lot less worthy endeavors.