1. 1

    We use Confluence on the job which is better than it has been or could be.

    I personally have been learning roff/troff, and then converting everything into whatever.

    Confluence likes HTML (sometimes)? roff/troff to HTML

    Business likes PDF? roff/troff > ps > PDF

    Confluence sometimes hates HTML? roff/troff > ASCII/any format text > text

    GitHub likes a smattering of formats? roff/troff > smattering of formats

    1. 1

      Are you enjoying learning roff, and would you recommend it to others? Also, what inspired you to learn it?

      (I have a casual interest in old software.)

      1. 2

        I am enjoying learning roff. Yes I would recommend it to others.

        I was inspired by reading man pages and wondering how the heck something so pervasive, yet so standardized (ish… but I won’t spoil it for you) comes to be.

    1. 50

      We use Confluence, like we did at my last job.

      I fucking hate Confluence.

      1. 7

        Same. It’s awful. Search is a train wreck, and it doesn’t even use wiki-markup.

        We also use something like Doxygen, except it errs out instead of generating the docs.

        1. 6

          I’ll be the counterpoint here… Confluence sucks, but I think it sucks less than the other solutions I’ve seen. At least for certain problems, and especially when you need a resource for non-developers.

          A sibling comment says “Search is a train wreck”. To which I say: try searching google docs. Confluence search will at least show you matches within a doc when you search, so you have a better chance of figuring out which doc is actually the one you want.

          Confluence has the ability to embed various kinds of content in the page, which is quite nice. Google Drawings seems uniquely designed to make ugly drawings. In Confluence, I can use PlantUML or Draw.io.

          Their new editor supports typing markdown keystrokes to do formatting. The rollout has been kind of bad, but I think the direction of the new editor is good.

          “Spaces” can be confusing at first, but I think it will help us scale up to the organization sanely.

          So if the problem you’re solving is “I want to document the API of this project”, Confluence is a terrible choice. If your problem is “I want a place in which all kinds of people in the organization can find docs, discussions, and decisions around various things we’re doing”, Confluence works better than the other choices I’ve seen so far.

          1. 2

            The sad thing with Confluence is they used to (about 5 years ago) have a method of inserting wiki markup so that wiki pages could be generated and pasted in, or if you just didn’t want to use the (frankly awful) WYSIWYG editor you didn’t have to. But they ripped that out.

            Atlassian actually paid us a site visit to gauge opinions from everyone in the company. Pretty much everyone in the company asked for wiki markup to come back, to which they responded “huh”.

            The API for Confluence is also pretty bad. We have some tools for generating document trees, e.g. when creating documentation for a new service we run a script which creates a tree of pages from templates, but little things like not being able to turn off “notify watchers” on an edit via the API means you can hammer people’s inboxes (which in turn makes Gmail mad).

            I agree that it sucks, but sucks less than other solutions. Which in itself is pretty sad.

          2. 5

            We used to use confluence a bit, but we sort of stopped using it because, well, we also don’t love confluence.

            1. 8

              Confluence is awful, but having a constellation of markdown files and Google docs is even worse. One source of truth.

              The value we got from Confluence is that it gave a place where we could keep dev stuff next to business stuff, so it was easy for people to reference things more easily and have less silo-ing.

              My only real complaint is that integrating with Confluence via a bot is a pain in the neck–we did this to have a wiki automatically updated with product information from deploys and builds, and that was Not Fun.

              1. 3

                The value we got from Confluence is that it gave a place where we could keep dev stuff next to business stuff, so it was easy for people to reference things more easily and have less silo-ing.

                Something key here is that business folks generally have little interest in editing Markdown files and using Git. Confluence and other such systems may be monstrously annoying (and they are), but they’re better than alternatives.

                Also, it works in the other direction. Devs want constellations of Markdown, but biz likes constellations of Word documents with comments and tracking. Trust me, Confluence is a better choice.

                1. 1

                  We dragged them halfway with Confluence, then? We just need to Zeno them to git and markdown (eventually) ;-).

                  1. 1

                    Of course, that goes both ways—I find Con(ef)fluence’s UI so utterly intolerable that I will interact with it the absolute minimum required to not get fired, which in practice means literally never. So now it’s a wiki just for the business side, which is probably better than the “NAS full of outdated Word documents” approach it probably replaced, but it still not very useful.

                    Literally any other wiki software I’ve ever seen would be preferable.

                    But I’m not sure I agree with you that having business and tech share a wiki is a good plan. Business folks love putting paperwork (e.g. “this deployment of this service was signed off on by these people”) into the wiki, which you must never ever ever ever allow, or it will immediately dilute the useful content to homeopathic proportions and make the whole thing useless. So now you either need to be draconian about allowing business folks to put stuff in, in which case they won’t use it, or it turns into a paperwork repository, in which case nobody will use it.

                  2. 1

                    Confluence is awful, but having a constellation of markdown files…

                    That’s a bit of a false dichotomy. Most wikis can provide search, history, notifications…

                  3. 4

                    We use confluence too. I really wish they never made the change to the “smart” editor that prevents users from editing plain markdown (or similar).

                    Read some of the historical tickets around that change if you’re in the mood to shed a tear.

                    In the end though, the key thing is to have one central jumping off place to get to your documentation and confluence works ok for that.

                    1. 3

                      Hear, hear. It’s a nightmare.

                      1. 1

                        I like Confluence. It has a WYSIWYG editor that actually works. Plenty of plugins for lots of features and integrations. Recently it even gained real time collaboration.

                        1. 1

                          I can’t add anything new here - we too use Confluence and almost everyone hates it, but as I and dangoor have mentioned in other comments, there might not be anything better.

                          One thing we did a while ago was move alert references out of Confluence to a git repo which uses mkdocs. This way if Confluence is down or there’s some network issue meaning we can’t get to it, on-call engineers can still have a local copy of all the alert references.

                        1. 4
                          1. 8

                            It is worth noting that functions whose return values are in IO are also pure. If I call putStrLn "hello", it always returns the same result: an IO action that will print “hello” on stdout, when executed by the runtime system.

                            It is useful to have this thought, because when you start composing IO actions (e.g., with functions that take an action as input, or through the bind operator (>>=)), you don’t then have as much of a mental shift.

                            1. 2

                              Yeah, the wording in the article is a bit misleading. IO doesn’t ‘mark a function as impure’. These are simply values just like any other: you can bind them to a variable, compose them into new IOs, map over and sort them, all without ever ‘executing’ them. Only main : IO () gets executed (and, consequently, the values it’s composed of).

                              Also, I get what they’re saying with “Impure code is harder to reason about”, but I would still somewhat invert that. I would say “it’s easier to reason about interactive programs with pure code”, and by that I mean it’s possible to reason about them, unlike in languages where you arguably can’t really know because of combinatorial explosion. The fact that >>= is an explicit operation with a precise type is testament to this.

                              But I understand that this is pushing it, it’s still harder to actually write code, especially if you’re used to being able to just plug in all sorts of effectful computations wherever you want without a second thought.

                              1. 1

                                sort them

                                Well that one is impossible, IO a is completely opaque.

                                1. 3

                                  Yeah you’re right. You could however sort pairs of Ord a => (a, IO b), which also captures my essential point about IO still being pure.

                            1. 8

                              Also note that guy develops SumatraPDF too, which is probablyy most safe (I mean, as safe as it can gets) and lightweight PDF reader for Windows, greatly overperforming hogs like Acrobat or Foxit.

                              1. 1

                                God, I remember when foxit was the “lean alternative” to acrobat. The bloatware ratchet turns again.

                              1. 18

                                What kind of comments/remarks have you seen with an “abrasive tone” that you would flag (wouldn’t link to them, just copy/paste the relevant parts).

                                In general, I find that Lobsters is doing pretty well – better than the vast majority of communities I’ve seen – but there are many discussions I don’t read.


                                A personal note on “abrasive” communicating: as a non-native speaker from a country where the culture is very direct (Netherlands), it took me quite a long time to communicate well in English in the absence of body language (i.e. over text, like here).

                                It’s one thing to know a language’s vocabulary, grammar, and idioms. It’s another thing to use them as a native speaker expects. I worked remote for an Irish company for three years, and I learned a lot about communicating in English during that time. There have been quite a few cases where I unintentionally was more abrasive than I wanted to be. The feedback from coworkers about this was an invaluable learning experience, and if I re-read some stuff I wrote four years ago I often spot things I phrased far more abrasive than I intended.

                                The sample size here is just one (i.e. just me), perhaps other people are just better at language/English than me. I suspect part of the problem was that my English was in an “uncanny valley” of being very literate/fluent, but also not quite good enough to fully grok the effect of everything I typed (sometimes this was just a matter of punctuation!) This is different from some of my other non-native coworkers, who were clearly non-native speakers. If they say something awkward/abrasive, then it’s clearly just because they’re not good at English. I was usually not given the benefit of the doubt here.

                                At any rare, my point here is, “abrasive tone” doesn’t mean “the author intended it like that”, or “the author it is a jerk”. Sometimes it clearly is (e.g. if you call someone an asshole there is little doubt), but often times it’s more nuanced.

                                Hence my request for some examples.

                                1. 8

                                  I’m probably guilty of knowingly making abrasive comments that motivate this proposal:


                                  The thing about alcohol and money kind of makes sense, but if you actually think the human dependency on food and water is analogous to meth addiction, then you are a moron.


                                  You completely and utterly missed the point.

                                  Mastodon, Synapse, and GNU Social all implement a mixture of blacklists, CAPTCHAs, and heuristics to lock out spambots and shitposters. The more popular they get, the more complex their anti-spam measures will have to get. Even though they’re not identical to internet mail (obviously), they still have the same problem with spambots.


                                  Uh, what?

                                  […]

                                  I have no idea what the OP is doing, but it’s weird.


                                  Most of them are returning like for like (I’m pretty sure the one comparing meth to food, in particular, was not made in good faith) but I probably should have just not responded at all. The last one, I probably should’ve left out the first paragraph, since it seems unnecessary.

                                  1. 5

                                    Most of them are returning like for like (I’m pretty sure the one comparing meth to food, in particular, was not made in good faith) but I probably should have just not responded at all.

                                    Rudeness is a systemic factor like anything else. If people are being rude because one person is constantly trolling them, then sure, we should call out the rude people… but we should also do something about the troll.

                                    1. 2

                                      How would you feel about:

                                      1. People downvoting the comment(s) with “Unkind”?
                                      2. People replying with comments like “Please change your tone, no need for that language”?

                                      Would you be annoyed/offended by one or the other (or neither/both)? And what would, if anything, help you change your tone. This is assuming your comment is either in reply to a “nice” comment or that the parent comment got the same treatment (downvote or replies to change their tone).

                                      Ultimately, I think everyone here wishes to change the community for the better, and silencing or kicking members that contribute with insightful, if aggressive, comments should not be a goal.

                                      1. 2

                                        I would prefer a PM to either of them, since it allows me to edit the comment without cluttering up the main thread.

                                      2. 2

                                        If you’re interested in some feedback (I’m letting myself risk a guess that this might be your motivation behind posting this comment?): personally, I would agree — to me at least the first two do sound abrasive. The last one actually not so much; I mean, the “Uh, what?” seems to express surprise and lack of understanding, which I believe is more than OK (problems with understanding happen often in discussions, as it’s sometimes genuinely hard to convey thoughts precisely in any language). Although, an “I think I may not understand something” might be an even “gentler” variant. As to the very last sentence, I’d add “to me”, i.e.: “it’s weird to me”. This could make it less of an attempt at absolute, authoritative judgement, and more of a subjective opinion, which tends to be easier to receive. As to the 2nd comment, again, changing the “You completely and utterly…” prefix to a softer one, say, “I believe you may have…” could give the interlocutor some generous benefit of doubt. In the first one, I’d say not responding may be not that bad of an idea; especially per the Internet’s very own “Do not feed the troll” adage from the older days — or, at least, calmly explaining that you feel the interlocutor may have not spoken in good faith, gives them some chance to rethink their statement, and maybe take it back or rephrase. On the other hand, as far as my experience goes, namecalling (moron etc.) seems rather to purely aggravate people; I don’t think I ever seen anybody react in any good way to namecalling…..

                                        Hope this helps! And… really sorry if I misunderstood your motivation!…

                                        1. -1

                                          I’m pretty sure the one comparing meth to food, in particular, was not made in good faith

                                          I was though. You made an inherent assumption that survival is worth stealing for but pleasure is not. Your belief that is particular valuation is so True that it is inviolable and anybody who tries must be trolling.

                                        2. 2

                                          I work with someone who writes like you said you used to. I remind myself that the problem is with me, not him, and besides, his communications are very clear and valuable.

                                          1. 7

                                            Tell him!

                                            I had no idea until people told me, and the only reason people told me was because I asked, and the only reason I asked is because some people told me some people found it hard to get along with me (I had no idea!) Turns out the adjustment in phrasing was small, but it made all the difference in my relationship with some coworkers.

                                            I was more than happy to make these adjustments, but … I can’t make them if I don’t know that I need to.

                                            It’s kind of like complaining about someone’s music being too loud. I’ve complained maybe 5 or 6 times over the last ten years, and most of the time the response was “I’m so sorry, I had no idea!” Some people are assholes who just don’t care (happened twice), but most just don’t realize how their behaviour is affecting others, and they have no way of knowing unless you tell them.

                                            1. 1

                                              No, because he shouldn’t change. He communicates clearly and accurately, not aggressively, and there should be more people like him.

                                              1. 4

                                                English is a tool. If I were swinging an axe incorrectly, I’d want to be told, so I could be safer and more efficient with my efforts.

                                                1. 2

                                                  Is that to help you or him? You might want a cultural change, more people “like him”. But do you think that is the best thing for him as an individual and his career?

                                                  Here is someone who was literally in the position that person is – and they are screaming “Tell him!”.

                                          1. 34

                                            I’m very strongly in favour of objective, civil, polite discourse. I don’t think anything is gained by penalising people if their tone is a little abrasive.

                                            To be blunt (in full acceptance of the irony here) I would much rather that people post abrasive content than risk them self-censoring for fear of appearing “unkind”. I’m afraid that lobste.rs would cease being a haven for constructive discussion, and become some sort of Stepford-esque echo chamber instead.

                                            1. 46

                                              You can disagree with something without being a jerk about it. I think that’s something we should all aspire to.

                                              1. 11

                                                I agree (and think that “being a jerk” is quite a different thing to “being abrasive”, but maybe that’s just my reading of the terms).

                                                However, I’ll take “abrasive and correct” over “nice but wrong” any day of the week, and I fear that encouraging downvotes over tone will result in the loss of some of the former.

                                                1. 7

                                                  I’ll take “abrasive and correct” over “nice but wrong” any day of the week, and I fear that encouraging downvotes over tone will result in the loss of some of the former.

                                                  Fortunately, these are not the only two options. An ideal solution would discourage the “abrasive and correct” in favor of the “non-abrasive and correct.” In such an environment, “nice and wrong” comments are welcome because they spark informative discussions.

                                                  1. 2

                                                    Which is why a downvote, as they’re currently implemented, isn’t a good solution. Some sort of separate flag might be, though. Provide an easy way for readers to nudge posters to edit their posts for tone.

                                                    1. 1

                                                      “Nice and wrong” comments that require other people to expend effort to correct them are not kind.

                                                      1. 6

                                                        The “incorrect” flag covers those, however.

                                                    2. 4

                                                      Perhaps the “unkind” vote should have zero affect on karma, but still deprioritize the comment? That way it’s less likely to generate feelings of defensive?

                                                      1. 4

                                                        Being unkind seems very karma-related to me

                                                        1. 4

                                                          It could just be some CSS that provides visual feedback from the downvote action to the voter. Like a big red mechanical button that isn’t wired up to anything, but feels satisfying to press.

                                                      2. 6

                                                        You certainly can. But anger and frustration, like other human emotions, have circumstances where they are objectively justified and reasonable. One would say that in software development, for example, we aren’t really facing the questions of life and death, and getting worked up about something like that is silly. I agree that a lot of anger in comment sections is, indeed, silly – but not all of it.

                                                        Let me bring an example. Recently I found out that one company, which is developing a technology which have been my main “specialisation” since 2012, have decided to move around different modules and in the process deleted documentation for one of it - so from new version on, instead of automatically generated API specification, with all classes and methods, I would have to refer to guides, organised by topic. This change is completely unnecessary, and will make my day-to-day work much harder. I spend 8 hours a day, 5 days a week, at my job, and something that they have done will make me a little bit more miserable, every day. And they don’t even have any reason for it. And a forum post that I’ve written, with detailed explanation of the issue, and then tweeted at them, have gone without a single reply.

                                                        Now, if I would encounter the person who was responsible for this decision here in the comments in a relevant thread, I think that venting my frustration, while staying civilised, would be an appropriate response. Don’t you?

                                                        1. 6

                                                          And yet, being direct is often seen as being unkind. I’m strongly against ranking people on kindness – in addition to being very vague, the norms are highly cultural.

                                                          I sometimes wonder if we’d be better of getting rid of votes entirely, and rely on people using their words.

                                                          1. 6

                                                            highly cultural

                                                            But surely we’re seeking to build a lobste.rs culture?

                                                          2. 2

                                                            100% agreed. In my experience you’re also more likely to effectively get your argument across. However, it is a skill that requires effort to learn and apply – at least in my case.

                                                            1. 1

                                                              but you can’t guarantee that people will interpret your politeness as such

                                                            2. 38

                                                              I would much rather that people post abrasive content than risk them self-censoring for fear of appearing “unkind”. I’m afraid that lobste.rs would cease being a haven for constructive discussion

                                                              The opposite is also true: some people stop posting after too many negative interactions, which also reduces participation.

                                                              You call it “censorship”. Frankly, I’m starting to strongly dislike this term. It’s carelessly thrown around far too often. Every community has social norms, and online communities are no exception. If I’m an asshole to my friends then at some point they’ll start shunning me. If I join a football club (or scout group, or choir, or whatever) and act like an asshole then sooner or later I’ll be asked not to come next week. Would you call this “censorship”? I wouldn’t.

                                                              I stopped posting on /r/programming at reddit after being called a “moron”, “idiot”, “retard”, accused of having an IQ lower than 65, was told that I “fucking suck at making software (and I guess generally anything)”, was told that my opinion was “hates speech” in two separate recent incidents (both over a technical disagreement, wtf?!), and just general unconstructive/aggressive/belittling/etc. word choice.

                                                              It’s not that I’m that sensitive, but if you spend a lot of time writing a weblog post, or make some software, and you get told any of the above (which are all real quotes) then that’s … not great. It’s not that I get angry or “offended”, but it’s also not fun and if it happens a few times I’ll stop coming back (as happened on /r/programming). I think most people participate in these communities just for the fun of it. Sure, you also learn new stuff, but I think fun is an important – if not the most important – part for many.

                                                              Constructive discussion can only happen if everyone feels like they can participate without the fear of being mistreated (belittling, aggressive replies, insults, etc.) If there is such a fear, then I will guarantee you that some people simply won’t post at all.

                                                              I’m not sure (yet) if a flag is a good idea here for other reasons (I’ll make another top-level comment about that), but I do (strongly) disagree with your sentiment.

                                                              1. 18

                                                                I definitely use this site less over time because of the loud frequent posters who often carelessly put down people with insensitive wording. When I was junior I was able to justify spending the emotional energy listening to technically correct jerks, but nowadays it’s pretty rare that I get anything other than anger out of their childish communication. I only come on lobste.rs now when I’ve got pretty high emotional buffers, because otherwise it’s likely to just make me feel worse.

                                                                1. 7

                                                                  I’ve only been here for a few months, so I can’t comment on Lobste.rs specifically, but I can comment on two general observations:

                                                                  • Often >90% of the problems come from ~1% of the people.
                                                                  • As a community becomes larger, it becomes harder to manage because mods don’t see most of what’s going on (making it harder to identify patterns).

                                                                  In many ways it’s the same as traffic; if you drive or cycle home you may encounter 100 drivers, so if just 1% is reckless driver then you’ll meet one most days. Also, like traffic, it’s hard to completely remove these people unless they commit gross offences. You can break traffic laws and be reckless for pretty much your entire life, and suffer very few consequences.

                                                                  Most of us act like an asshole sometimes; I know I do; I have pretty strong feelings about certain political topics, and sometimes I just have a bad day. But I’m not consistently an asshole. I think they key here is not to look at individual comments too much, but rather at long-standing patterns. There are just a few mods here, and they probably don’t see most of what’s going on. So the ability to see things like “hey, this user is responsible for 28% of all unkind flags” is the critical bit.

                                                                  I don’t know if this needs to be tied to downvoting. Could just be a separate flag. I don’t think it matters too much, as long as there’s an admin panel to see an overview.

                                                                2. 6

                                                                  This is exactly what happened to Slashdot too. The loudest, most aggressive users gradually took over the comment section, and the more rational voices left. That site is now a quagmire of hate speech. I think it is a good idea to get ahead of it on this site, because it could happen here too. I like the discussion environment of this site, and I don’t want to lose yet another community.

                                                                  I think that the idea of shadowbanning from reddit could be combined with the stack overflow style of flagging bad behavior. If nobody can see abusive or trollish comments, then they don’t accumulate comments and effectively don’t exist (i.e., not rewarding bad behavior). Those users will either correct their behavior or stop posting altogether.

                                                                  1. 3

                                                                    I’m sorry you experienced that behaviour. I have myself, largely for holding unpopular political opinions[1] . It’s even more fun when people attack those positions in a social situation, before realising that someone in the group actually holds them :)

                                                                    The behaviour you describe crosses way beyond “abrasive” to downright abusive. I’d be okay with a flat out ban in the case of someone who called another poster a retard, for example.

                                                                    By “abrasive” I mean posts that might be terse, strongly critical, or dismissive. That is, posts that have issues with tone. Things that could be charitably interpreted as well intentioned.

                                                                    [1] I guess you’d call them Objectivist, for want of a better term. Strongly socially and economically liberal. The former is common in Australian tech circles, the latter rare. People here usually assume party-political alignment, so if you’re say in favour of open immigration, they assume you’re also in favour of progressive taxation.

                                                                    1. 1

                                                                      The reddit example is of course much more extreme than anything I’ve seen here; but it does clearly illustrate the point that people can stop posting (“self-censor”) due to lack of moderation, too.

                                                                      By “abrasive” I mean posts that might be terse, strongly critical, or dismissive. That is, posts that have issues with tone. Things that could be charitably interpreted as well intentioned.

                                                                      A good rule-of-thumb is whether a comment makes you go sigh, “eh”, “pff”, or something similar, either by actually saying it or saying it “in your head”. You can be critical of what someone said and not evoke such a response. My previous comment was critical of your post, but I don’t think if evoked a “pff” response (or at least, I hope it didn’t!) but it’s not hard to imagine that it could with some stuff rephrased.

                                                                      I know this is murky and unclear, but that’s the way language works, especially in a global community with different cultures, etc.

                                                                      I think the key thing here is that “abrasiveness” accumulates. If you encounter an abrasive comment on occasion then that’s okay. Most people are abrasive some of the time (I know I am); that’s just the way things work. The problem is when people are abrasive most of the time, and you encounter abrasive everywhere you look.

                                                                      I don’t think singular abrasive comments are a problem, or that people should be punished for it. But if they’re constantly making them then there is a problem that should be addressed. Also see my other reply in this thread: https://lobste.rs/s/xnjo8g/add_downvote_reason_unkind#c_kqtuqr

                                                                      Analogy: Lobste.rs keeps track of “self promoters”; people who frequently post links to their own websites. Is this preventing people from submitting links to their own site? Not really; but it does help keep track of people who spam links too frequently. I think a potential “unkind flag” should work the same way.

                                                                    2. 2

                                                                      “Censorship” is certainly an overused weasel-word nowadays. Moderation is (generally) not censorship.

                                                                    3. 9

                                                                      Just to clarify, this kind of “bluntness” is of course perfectly acceptable. If you’d labeled my suggestion a “crap idea” on the other hand…

                                                                      1. 4

                                                                        And that’s the rub, isn’t it? I have no problem with having my ideas called crap, but don’t like calling people “crap”. Others might be more sensitive than you, and then you have a ratchet that moves in only one direction, as people say less, challenge each other less, and so on.

                                                                      2. 4

                                                                        Just to piggy-back on this a bit. I wholeheartedly applaud the heart behind this suggestion, I prefer that the tone be kept civil and polite here. However, kind/unkind might be a bit too subjective and might unwittingly stifle conversation. My concern is that for one person, a simple disagreement with an idea could be deemed “unkind” regardless of tone. My skin might be a little thinner, so my unkind trigger finger might be more prone to fire. I think troll covers abrasive behavior and perhaps some kind of flag could be used to alert moderators when issues arise and tone sinks too low in a conversation.

                                                                      1. 5

                                                                        I’ve been thinking about these issues in depth too. Like the problem you mention of passing a float between programs, what if we could pass more than text - but arbitrary structured, typed data. This is not science-fiction, it’s really simple to implement. We know things about programming that weren’t really known or understood back in the early UNIX times. The difficulty is that we can’t just implement it in the shell, it also needs to be common to the userspace binaries we work with all the time (like all the GNU coreutils). At the very least, why couldn’t we at least experiment with a UNIX shells and applications that interchange using tab separated values?

                                                                        On hypertext, there’s been so much excellent theory worked out - but other than the WWW - very little of it rolled out it’s worth mentioning purplenumbers on the topic of being able to link to specific parts of a document https://communitywiki.org/wiki/PurpleNumbers - we can also ask about annotations and snapshotting segments of documents to be included in others.

                                                                        1. 10

                                                                          Had me at “arbitrary structured, typed data.” - immediately thought of PowerShell, which - while just one tool of many - meets your requirement of “be(ing) common to the user space binaries we work with…”

                                                                          1. 6

                                                                            The structured-ness of PowerShell is nice in theory, but, like every other Microsoft product, the rest of PS is totally botched in implementation. Between long, awkward-to-type command names, lack of laziness for piped data, generally poor COM support in software, and pervasive slowness, it’s easier and faster to write a shell script with grep, awk, and sed.

                                                                            The unix shell is arcane, but I’ve yet to find anything that’s as good for quickly getting to the information I need. SQL is probably the closest, but requires data to be structured from the start.

                                                                            1. 5

                                                                              PowerShell Core is even available for Linux, complete with installation instructions. I haven’t yet taken time to get my head around PowerShell, even on Windows, but maybe I should.

                                                                              1. 4

                                                                                It’s not obvious to me how to do this completely properly. OO is the wrong approach IMHO, as you don’t want to be passing behaviour downstream. Something like algebraic data types might be promising, but then you have to send a description of the data down the pipe before any data itself?

                                                                                Erlang’s a bit on my mind today (RIP Joe), but maybe something like its pattern-matching system would work well here?

                                                                                1. 3

                                                                                  As a paradigm, object-oriented may not be the best approach, especially when attempting to solve the problem mentioned in the link.

                                                                                  PowerShell and ‘OO’ also don’t have to go hand-in-hand.

                                                                                2. 2

                                                                                  PowerShell is an interesting approach. Unfortunately it has one giant mistake that makes me hate using it — the choice of Verb-Noun naming rather than Noun-Verb means I have to use Google to figure out the command I need rather than just hitting tab. (Because I nearly always know the noun already — what I need is the verb.) Unless I’m missing something, which would be great…

                                                                                3. 8

                                                                                  what if we could pass more than text - but arbitrary structured, typed data. This is not science-fiction, it’s really simple to implement. We know things about programming that weren’t really known or understood back in the early UNIX times.

                                                                                  Wasn’t that done back in UNIX times on Lisp machines? And then, given it’s dynamic, maybe a bit later on Smalltalk systems?

                                                                                  If not arbitrary, Flex Machine seems like it fit. That was late 1970’s to 1980’s. Fewer people knew about it, though. There was also people like Hansen doing OS’s in Pascal. A brief skim of Solo paper led me to this statement: “Pascal programs can call one another recursively and pass arbitrary parameters among themselves… Solo is the first major example of a hierarchical concurrent program implemented in terms of abstract data types (classes, monitors and processes) with compile-time control of most access rights.”

                                                                                  Clearly, there were already ideas there for people to build on for doing something other than text. They just couldn’t be or weren’t applied. Then, the UNIX authors and others continued building on their ideas with minimal adoption of alternatives. Eventually, Linux ecosystem started adopting pieces of many ideas kind of bolted into and on top of it the existing system. Although it’s a legacy system, a clean-slate project could certainly do things differently. We’re seeing that start to happen with virtual machines and unikernels that reuse hosts’ drivers.

                                                                                  1. 3

                                                                                    Shells using some kind of messagepack-style interface could be interesting

                                                                                    1. 2

                                                                                      what if we could pass more than text - but arbitrary structured, typed data. This is not science-fiction, it’s really simple to implement

                                                                                      So, a BMessage then? :)

                                                                                    1. 2

                                                                                      Looking forward to upgrading this weekend. The previous release broke multi-display for me. Whenever I thunk my laptop down into its dock, the second display is recognized and configured but no video gets sent to it. I have to check and un-check “mirror display” in the display preferences in order to get it to work.

                                                                                      My other issue is that the system always forgets the keyboard repeat rate whenever I connect a USB keyboard.

                                                                                      1. 2

                                                                                        Display has been a total mess on the current version for me too. If I AFK long enough for the screen blanking to kick in, sometimes it won’t wake up unless I do a round of Ctrl+Alt+F1, Ctrl+Alt+F7, and similarly when waking from suspend.

                                                                                        The Desktop itself seems to crash intermittently too. I really hope the new version does better. These days I prefer NixOS but even on other Linuxen I’m more likely to keep a small system managed by the host OS and get most of my packages through Nix.

                                                                                      1. 8

                                                                                        Excellent points, all of them. I do not understand why anyone prefers infinite scroll over pagination or any other mechanism. It’s impossible for many disabled users to use at all, and for users without disabilities it still falls over in common use cases (like the back button).

                                                                                        1. 5

                                                                                          People do not consciously prefer it, but it probably rated higher in time-on-page metrics.

                                                                                        1. 8

                                                                                          Man, a lot of the links to those sites are to the sorts of rhetoric that I, as a non-straight socialist, find really heckin’ awful. The web server that restricts what is sent is a perfect example. “Have no opinions of your own to impose? Fear not! Shizaru has lovely default settings which attempt to promote a fast, safe, clean, simple, respectful web.” Does anyone doing this realize just how much this sort of language sounds like “we are going to impose all of our opinions on you for your own good no matter what you want”, how easy it is to twist it into language, and why this might make people with different opinions worried or upset? If you’re going to make a bold statement on the social order of things, can you at least try to do it in a way that doesn’t give your enemies valid complaints that undermine your own goals? Shit like that is why I quit Mastodon.

                                                                                          And the data science article is frankly a travesty; that’s the one that really got me riled. It’s all the same objections of studying human phenomena that people had in the 1950’s and 60’s when psychology became a big thing and the counterculture got frightened of the power it gave institutions. These are valid concerns but IMO deserve to be contrasted by the benefits, for example, having a science of mental health that treats conditions like autism, depression, schizophrenia etc. as phenomena to be understood, accommodated and helped instead of as aberrations to be marginalized and stamped out. It’s just anti-intellectualism: understanding things gives people power, power is scary, so we better not understand things.

                                                                                          1. 1

                                                                                            Shit like that is why I quit Mastodon.

                                                                                            Would you be able to elaborate on this?

                                                                                            1. 2

                                                                                              If I wanted to I would still be on Mastodon talking about it. :-p I guess I do have some things to say.

                                                                                              Short answer: political extremism is dangerous and makes people accept bad things as necessary, basically regardless of what the political views being held actually are. All extremism thrives on fear, a sense of persecution and turning their opponents into caractures instead of actually figuring out why problems exist and how to solve them. The KKK uses the exact same mental tools as the burgeoning Antifa.

                                                                                              Lots of people use Mastodon because they’re anarchists or extreme liberals trying to escape centralized services like Twitter. Exactly the same as centralized services like Twitter, that sort of social media produces a huge and awful echo chamber effect. So people polarize and then get rather upset when you say things like “The KKK uses the exact same mental tools as the burgeoning Antifa” and I got sick of dealing with it.

                                                                                            2. 1

                                                                                              Regarding Shizaru, I don’t understand how it is provocative, as it’s not a political statement. It’s just an opinion that modern websites are bad, because the web technologies include functionality that is “evil” (i.e., bad or harmful).

                                                                                              I would think that you, as a socialist, would agree that the web hasn’t lived up to its supposed potential to improve knowledge, encourage democracy and bring people closer together. Instead it has become a tool for corporations, and it has increased the (class-based?) divide between those who are technologically savvy, and understand how to use the internet to get their business done, and those who are not comfortable with computers, but are forced to use them because it has almost replaced all other means of communicating with governments, corporations and people.

                                                                                              Shizaru seems to be a reaction to this development. By limiting the functionality of the HTML document, it makes it hard for websites to be used in the way described above.

                                                                                              1. 6

                                                                                                Yeah, I see the purpose and it’s reasonable. I’m mostly pissed off at the data science article and letting it overflow onto other things I guess. It just really irks me when people say “we are going to enforce our ideas of freedom and goodness on everyone no matter what they think because our ideas are right” and then get upset when one points out how much of a double-edged sword that is. Shizaru is the opposite, the user running it is enforcing those ideas only on themselves and the user can easily configure the preferences.

                                                                                                1. 1

                                                                                                  Okay, yeah, I get that.

                                                                                                2. 2

                                                                                                  The problem is why not just write content the way you prefer it? Unless you’re serving the content of others, making the server enforce some arbitrary rules seems silly.

                                                                                                  1. 2

                                                                                                    Well, sometimes it’s good to arbitrarily restrict yourself – look at poetry or even diets, for example. I think it serves a purpose.

                                                                                              1. 6

                                                                                                Congratulations. I’ve been refreshing nixos.org every morning looking forward to this day.

                                                                                                1. 1

                                                                                                  Nit: On step three, the link text in “feel free to email us for help” includes a trailing space.

                                                                                                  1. 31

                                                                                                    I’ve also asked the Widevine team about FreeBSD support, and got a similarly dismissive response.

                                                                                                    FreeBSD is not a supported platform, we have no plans or demands from content provider partners. Please consider reaching out to your streaming provider to request client support which will eventually get to us.

                                                                                                    This is one of the scenarios I envisaged while - unsuccessfully - arguing against the W3Cs efforts to incorporate DRM into Web standards.

                                                                                                    1. 14

                                                                                                      You’re not the only one, and I’m still fuming at how badly the W3C betrayed us all on this issue.

                                                                                                      1. 8

                                                                                                        The W3C hasn’t represented our interests for some time; rather, they are now a “standards smokescreen” for a few large industry players.

                                                                                                        I would characterise the adoption of EME not as betrayal, but as denouement.

                                                                                                        The real betrayal here was from Tim Berners-Lee. It’s trite, but he should know better.

                                                                                                      2. 1

                                                                                                        you can’t save people who care about paying DRM pushers. you can only save yourself.

                                                                                                      1. 1

                                                                                                        The big problem here is that GH’s workflow is fundamentally wrong. If you don’t plan on doing your own work, you should be able to clone the main repo and upload a patchset for discussion.

                                                                                                        1. 7

                                                                                                          The RSA munition T-Shirt is a classic example of this: http://www.cypherspace.org/adam/shirt/design/

                                                                                                          1. 1

                                                                                                            Fantastic example! Thank you!

                                                                                                          1. 14

                                                                                                            To be honest, I think us (“the public”) made our own bed with this one. For years we’ve stubbornly insisted that we can just ignore copyright, and every time we’re surprised that copyright holders mount a counter-attack?

                                                                                                            A few weeks ago people here were arguing you should just torrent stuff, as it’s “easier” than dealing with Netflix. I have no great love for Netflix for many reasons, but that kind of “I’ll just ignore copyright because I find it inconvenient” attitude leads to … well, this. Routine copyright violation is common in many instances, not just torrent sites.

                                                                                                            And look, I’m also not happy with legislators listening just to “Big Copyright” and failing to take the public interest in to account. I don’t think that any person – much less corporation – can law claim to the ownership of culture, which is pretty much what they’re doing by laying claim to almost all books, films, and music produced in the last ~70 years.

                                                                                                            I’m not sure if copyright is really needed to make money, but I appreciate that some might disagree on that one, so we could compromise by reducing copyright duration to something sane (something on the order of several decades) like it was not so long ago. Seemed to work fine back then, don’t see why it can’t now (if anything, it should work better). Unfortunately, these are not the kind of arguments and debates I see taking place, certainly not at any level where it matters.

                                                                                                            Arguably, pirating stuff could be seen as an act of civil disobedience, and in the past I’ve sometimes argued that torrent sites and the like should take a clearer stance on this. At the time of the great The Pirate Bay trail I was rather dismayed that TPB used flimsy excuses to claim that they weren’t sharing illegal content, instead of a bigger argument based on cultural freedom. Perhaps it’s naïve to think that would fly, but then again their quasi-legal bullshit didn’t fly either, and at least this might have brought the bigger argument to the attention of the public.

                                                                                                            At any rate, I’m not quite sure where to go from here. I’m not sure if there are any options left, barring something dramatic.

                                                                                                            1. 12

                                                                                                              I disagree. While you are right that they have used people pirating as an excuse for this, make no mistake, this is what the MPIAA wanted from the beginning (they might not have envisioned it in this form, but total control of distributed media is something that they have fought for since the start).

                                                                                                              1. 5

                                                                                                                They screamed bloody murder over the radio, and over home video cassettes. Neither ended the world.

                                                                                                                1. 3

                                                                                                                  Yes, but it’s no the MPIAA enacting laws, is it?

                                                                                                                  What pirating has done, especially in the last 20 years, is give them a powerful argument to convince lawmakers that copyright needs to be protected more.

                                                                                                                  There are all sorts of interest groups that want all sorts of things. There is nothing wrong wit the MPIAA and other interest groups as such. The problem is the lack of “public interest” interest groups, which is a problem which goes beyond just this specific topic. I do know that in this specific case the public interests have been exceedingly badly represented in my view, in part due to the widespread piracy.

                                                                                                                  1. 6

                                                                                                                    Yes, but it’s no the MPIAA enacting laws, is it?

                                                                                                                    isn’t it?

                                                                                                                    1. 4

                                                                                                                      Motion pictures association of America is enacting EU laws? Interesting.

                                                                                                                      1. 5

                                                                                                                        Yeah, it’s a pretty sucky world. They enact laws in sub-saharan Africa where I’m from also.

                                                                                                                        That kind of money can buy basically anything.

                                                                                                                        1. 1

                                                                                                                          I’m gonna need a source on that. I don’t believe that EU laws are written by American institutions.

                                                                                                                          1. 2

                                                                                                                            Free Culture, by Harvard Lawyer Lawrence Lessig, has an entire chapter describing how the American government used trade embargoes to force Africa to enforce American AIDS-drug patent law, while Africa was in the middle of an AIDS crisis [0].

                                                                                                                            It is not a big stretch that America could use a trade deal with the EU to ensure the EU enforces copyright/patent law.

                                                                                                                            [0]:

                                                                                                                            But it is one thing to support patents, even drug patents. It is another thing to determine how best to deal with a crisis. And as African leaders began to recognize the devastation that AIDS was bringing, they started looking for ways to import HIV treatments at costs significantly below the market price.

                                                                                                                            In 1997, South Africa tried one tack. It passed a law to allow the importation of patented medicines that had been produced or sold in another nation’s market with the consent of the patent owner. For example, if the drug was sold in India, it could be imported into Africa from India. This is called “parallel importation,” and it is generally permitted under international trade law and is specifically permitted within the European Union.[^196]

                                                                                                                            However, the United States government opposed the bill. Indeed, more than opposed. As the International Intellectual Property Association characterized it, “The U.S. government pressured South Africa … not to permit compulsory licensing or parallel imports.”[^197] Through the Office of the United States Trade Representative, the government asked South Africa to change the law - and to add pressure to that request, in 1998, the USTR listed South Africa for possible trade sanctions. That same year, more than forty pharmaceutical companies began proceedings in the South African courts to challenge the govern-ment’s actions. The United States was then joined by other governments from the EU. Their claim, and the claim of the pharmaceutical companies, was that South Africa was violating its obligations under international law by discriminating against a particular kind of patent - pharmaceutical patents. The demand of these governments, with the United States in the lead, was that South Africa respect these patents as it respects any other patent, regardless of any effect on the treatment of AIDS within South Africa.[^198]

                                                                                                                            We should place the intervention by the United States in context. No doubt patents are not the most important reason that Africans don’t have access to drugs. Poverty and the total absence of an effective health care infrastructure matter more. But whether patents are the most important reason or not, the price of drugs has an effect on their demand, and patents affect price. And so, whether massive or marginal, there was an effect from our government’s intervention to stop the flow of medications into Africa.

                                                                                                                            By stopping the flow of HIV treatment into Africa, the United States government was not saving drugs for United States citizens. This is not like wheat (if they eat it, we can’t); instead, the flow that the United States intervened to stop was, in effect, a flow of knowledge: information about how to take chemicals that exist within Africa, and turn those chemicals into drugs that would save 15 to 30 million lives.

                                                                                                                            Nor was the intervention by the United States going to protect the profits of United States drug companies - at least, not substantially. It was not as if these countries were in the position to buy the drugs for the prices the drug companies were charging. Again, the Africans are wildly too poor to afford these drugs at the offered prices. Stopping the parallel import of these drugs would not substantially increase the sales by U.S. companies.

                                                                                                                            Instead, the argument in favor of restricting this flow of information, which was needed to save the lives of millions, was an argument about the sanctity of property.[^199] It was because “intellectual property” would be violated that these drugs should not flow into Africa. It was a principle about the importance of “intellectual property” that led these government actors to intervene against the South African response to AIDS.

                                                                                                                            Now just step back for a moment. There will be a time thirty years from now when our children look back at us and ask, how could we have let this happen? How could we allow a policy to be pursued whose direct cost would be to speed the death of 15 to 30 million Africans, and whose only real benefit would be to uphold the “sanctity” of an idea? What possible justification could there ever be for a policy that results in so many deaths? What exactly is the insanity that would allow so many to die for such an abstraction?

                                                                                                                            Source

                                                                                                                        2. 1

                                                                                                                          Lobbies are very good at suggesting elected officials to just copy-paste their propositions as law. So while they’re not doing the final enactment, they sure did write an awful lot of laws. Add to that the soft corruption (inviting the politician to a dinner, giving champaign or chocolate… food is a bigger corrupter than we anticipate), and we’re not far away from foreign corporations actually writing laws on our soil.

                                                                                                                          1. 2

                                                                                                                            There is fundamentally nothing wrong with the MPIAA or other interest groups. They’re just looking after what are pretty legitimate interests, and I would argue this is not just desired but essential for a well-functioning democracy, but a necessity.

                                                                                                                            The problem is more a lack of counter-argument. If 95% of what you’re hearing is from one side then it’s easy to be sympathetic to that side. It’s essentially an echo-chamber. Our current democratic system seems quite poor at providing a voice to interests that are not purely economical in nature. This is a problem that is far wider than just MPIAA.

                                                                                                                            It seems to me that instead of vilifying the MPIAA, it would be more effective to organise better counter-lobby groups and/or work on institute systemic changes to the democratic system to better counter the various interests.

                                                                                                                            (CC @singpolyma, since it’s also a reply to his comment)

                                                                                                                            1. 1

                                                                                                                              There is fundamentally nothing wrong with the MPIAA or other interest groups.

                                                                                                                              Actually, I wasn’t really saying that. I’m mostly saying that such interest groups have more influence than they should have.

                                                                                                                              Our current democratic system seems quite poor at providing a voice to interests that are not purely economical in nature.

                                                                                                                              Perhaps because our current “democratic” system is more like a plutocratic system? Those who have money have disproportionately more influence than the common folks, and this most likely bias the whole system.

                                                                                                                      2. 2

                                                                                                                        I feel like pirating has equal well given the other side a powerful argument that the people don’t want this law. That this level of copyright protection is undemocratic, unpopular, and will get you voted out of office.

                                                                                                                    2. 1

                                                                                                                      I think the vast majority of the public obeys copyright because they don’t know how to circumvent it.

                                                                                                                      1. 2

                                                                                                                        They usually don’t, though. Regular people just look up an image online and use it in their presentation on fire safety laws. Kids making videos just download a song and use it for a gaming mashup of theirs. And don’t even get me started on kids pirating their games using cracks from slightly older kids who just can’t resist the challenge.

                                                                                                                        Nobody gives a fuck about copyright.

                                                                                                                        And in this reality, where most of the population is violating copyright so blatantly, their representatives somehow manage to get re-elected and tighten the screws just a little bit more.

                                                                                                                        1. 1

                                                                                                                          Just for clarification: are you personally in favor of widespread copyright violation? Or are you using “copyright” as a shorthand for “copyright enforcement”?

                                                                                                                      1. 17

                                                                                                                        I wish this much thought was given to millisecond-level input lag more often. I can’t be the only person who makes decisions about apps and websites based on this simple metric. Little details like Personal Capital’s iOS app needing to finish it’s startup login animation before presenting me with TouchID, the sluggish input of Electron apps, etc. drive me nuts.

                                                                                                                        Sure, there were frequent BSODs, hard freezes, etc. back in the 90s/00s, but I don’t remember feeling like every single program I used felt “spongy” like they do today. Things felt snappy and responsive.

                                                                                                                        1. 15

                                                                                                                          “Software is getting slower faster than hardware is getting faster.” - Niklaus Wirth

                                                                                                                          1. 7

                                                                                                                            Input buffering was also better back in the day. I would frequently type ahead of slow programs, confident that all my characters would eventually end up on screen. I do not have that confidence any more.

                                                                                                                            1. 6

                                                                                                                              I consider anything without a working input buffer completely broken. There’s nothing more infuriating than a computer that’s slower than a human and requires the human to back off and retry.

                                                                                                                            2. 4

                                                                                                                              I still think that Mac OS 7 was pretty much the perfect system. Yeah, yeah, no memory protection, no pre-emptive multitasking; but for sheer [em]getting shit done[/em] it was so much less clunky and [em]gluey[/em] than modern systems.

                                                                                                                              1. 3

                                                                                                                                Sometimes, it does feel like we have traded all the different types of crashes for a generally slower world.

                                                                                                                                1. 4

                                                                                                                                  If that’s really the trade-off that was made, then it might’ve actually been worthwhile.

                                                                                                                                  1. 1

                                                                                                                                    I don’t know about that. I do think it’s nice that we can develop things faster now. But shouldn’t we then modularize them so we can make a more efficient implementation of the more critical parts? GitHub started doing this with Atom, but as of this writing it’s nothing more than a toy project.

                                                                                                                                    In essence, I don’t believe we have to choose between fast development cycles and having any efficiency whatsoever. I think if we actually plan it out carefully—rather than relying on hype-driven development—we can write our software quickly & messily in a dynamic/scripting language, and have it work right away; but then slowly start making it more efficient.

                                                                                                                                  2. 2

                                                                                                                                    I think we’re traded hardlocks for softlocks. I don’t think we’ve notably improved crashes/faults overall.

                                                                                                                                    • hardlock = crash and burn, computer locks up.
                                                                                                                                    • softlock = page fails to load in browser. “I’m sorry please try again later”. Even better: “logic bugs”, including when pages/features don’t work because they have been misplaced in the latest update.

                                                                                                                                    A lot of this comes from moving to higher level frameworks (native software) and platforms (web browsers).

                                                                                                                                1. 7

                                                                                                                                  This seems like more of an anti-feature to me. Maybe in limited uses it won’t be too bad?

                                                                                                                                  <joke> Maybe the perl folks are staring to move to ruby now? </joke>

                                                                                                                                  1. 6

                                                                                                                                    This snippet is kotlin (which had the opportunity to make it a reserved word at the getgo), but it’s applicable and imho is a good example of how very readble succinct code can come out of this:

                                                                                                                                    nums.filter { it > 5 }.sortBy { -it }.map { it * 3 }
                                                                                                                                    

                                                                                                                                    I’m a fan, at least. @1 is an uglier sigil to me, but that’s history.

                                                                                                                                    1. 11

                                                                                                                                      I’ll argue that any feature that has every been added to any programming languages has at least a few good use cases. It’s not like language designers are adding features just for the craic, they do it to solve real problems.

                                                                                                                                      The question isn’t so much “does this language feature make a certain type of problem easier to solve?”, but rather “does this solve enough problems to offset the costs of adding it to the language?”

                                                                                                                                      Adding features to languages comes with real costs. It will increase programmers cognitive load, it will make tools harder to write, it will make future language improvements/changes harder as features interact with features, etc.

                                                                                                                                      In this particular case, I’m not so sure if it’s a good trade-off. The problem it solves is typing an explicit parameter (|a|). It strikes me as a small problem, at best.

                                                                                                                                      1. 9

                                                                                                                                        They all seem like warts to paper over a lack of proper partial application.

                                                                                                                                        1. 4

                                                                                                                                          Partly, though you can use these variables to apply deeper than the first position

                                                                                                                                        2. 6

                                                                                                                                          Swift had $0, $1, etc since 1.0. I though I’d never use this syntax when I first saw it but I was very wrong. Your example is exactly where it shines.

                                                                                                                                          On paper, it looks magical. But in practice, coming up with arbitrary names for a parameter is probably less clear and adds more cognitive load, including coming up with good names when writing the code. Here’s the same example with an explicit “good” parameter name:

                                                                                                                                          nums.filter { num -> num > 5 }.sortBy { num -> -num }.map { num -> num * 3 }
                                                                                                                                          
                                                                                                                                          1. 5

                                                                                                                                            Oleg Kiselyov has an interesting take on the subject. Suppose Kotlin took this from Scala’s _.

                                                                                                                                          2. 2

                                                                                                                                            I think ‘limited uses’ is key. I expect we (team/employer) will adopt it, restricted to use in one-line blocks, enforced by a Rubocop.

                                                                                                                                            Haven’t seen Clojure mentioned yet in the comments, but that’s where I first encountered this kind of thing.

                                                                                                                                            1. 1

                                                                                                                                              That could potentially encourage people to write ‘smarter’ and more magical one-liners.

                                                                                                                                            2. 1

                                                                                                                                              Well it’s really close to perl’s $_[1]. But it doesn’t work in blocks if I recall correctly.

                                                                                                                                              I think some people really want Perl but are afraid to admit that.

                                                                                                                                            1. 4

                                                                                                                                              Don’t pop up a subscription box before I even have a chance to read the article.