1. 6

    Perhaps a meta tag would solve this once for all? lang:$whatever so one could blacklist or whitelist all or some languages?

    1. 6

      What’s the problem with having a thread or two a year to add a custom tag for a new language that’s gaining popularity?

      And is the extra complexity of parametrized tags worth it, with respect to both UX and implementation?

      How would you see tagging a story work out? Is it a freeform language field? Any length and character set limits? How do you deal with differing spellings of a language?

      1.  

        Tags have categories. Maybe there could be a checkbox to check/uncheck them all at once, without impacting tags-as-scope.

        1.  

          In addition to that, maybe we can also let users specify regex to match tags they want to filter?

        1. 3

          So, this is just a .plan over HTTP?

          1.  

            I see it more of a format specification for sharing “micro-blogging” stuff online. You can use any protocol to share your file. I use gopher myself, but you could use FTP, SCP, or Finger if you will.

            All that’s needed is a client that can fetch the file over the protocol you specify.

          1. 2

            Maybe a generic regex filter would accomplish the same thing without then needing a tag for every language/company/software?

            1. 3

              Do you mean each lobste.rs user creates custom tags (regular expressions to filter on) for their own account?

              1. 2

                The purpose of tags are for discovery, filtering, and scope. That would throw out the latter, hard.

              1. 19

                Forgive me if this is gauche, but what is wrong with simply using bashisms? Outside of embedded contexts, where you want everything in Busybox, but writing shell scripts in just POSIX shell just seems like a tortured dialect.. The extensions are legitimately useful, so it’s also a question of why other shells haven’t implemented it.

                Also curious is not wanting to use Shellcheck, even if it’s just for (skippable) CI-side tests. Shellcheck was the first tool that made writing shell scripts tolerable for me.

                1. 4

                  Some POSIX operating systems don’t come with Bash out of the box, notably the BSDs. As such Bash is rarely used in them even if it is available. Even MacOS switched its default shell to ZSH.

                  Generally though I think dropping the dependency on Bash increases compatibility across the board and removes an unneeded dependency. Both of which are always welcome.

                  1. 3

                    I don’t mind taking dependencies if it helps you reduce complexity elsewhere, especially if the cost is amortized elsewhere.

                    1. 4

                      You’re not the one maintaining thousands of rc scripts or build scripts for a distro/flavor. Or at least I assume you’re not. The tradeoffs communities make usually have a reason and just because you don’t see it or understand it doesn’t mean it’s not there.

                      1. 3

                        But this is not about thousands of rc scripts. This issue is about one script used during the go build process. On majority of systems it will need a dependency that is immediately satisfied. On some minority it will require a single package.

                        1. 4

                          The GitHub issue appears to be a troll issue, and I agree it doesn’t really matter much in the context of the Golang toolchain. However I was responding to the thread which was speaking more generically about dependencies and script maintenance.

                          1. 3

                            Well technically at least 3.

                            But I agree in general. I fail to see why requiring bash is such a huge deal (I have read the comments here as well as the comments on the GitHub issue).

                      2. 2

                        Even MacOS switched its default shell to ZSH.

                        For a while, not any more.

                        1. 1

                          What is it now?

                          1. 1

                            I’m fairly sure it’s back to bash.

                      3. 3

                        One of the comments from that issue:

                        Just had my first experience with Go, which was nice. The one thing that surprised me a little bit was that bash was required to build. On OpenBSD the standard shell is a hardened ksh. bash is avoided everywhere in base so I had to install that, no biggie, but the question I would phrase in the spirit of portability and reducing dependencies is “why require more if technically all you need is POSIX shell”? I’m wondering if such a change would be desirable, aside from the question who’s going to make it happen.

                        Also, doesn’t macOS uses zsh by default now? But probably, it’ll be compatible with the bash scripts used here?

                        1. 3

                          It seems like just another dependency to me though - and certainly one common enough most people will have, and run on most people’s systems.

                          1. 3

                            doesn’t macOS uses zsh by default now?

                            Yes, but they’re not removing bash from the standard system AFAIK

                            1. 2

                              Yes, that comment is from me. It is my first encounter with the Go community, so after discovering they don’t completely dismiss the idea itself, I thought let’s first get some broader opinions and have a discussion with a community I’m part of before I continue this discussion in the Go thread.

                              Also, doesn’t macOS uses zsh by default now?

                              idd

                              But probably, it’ll be compatible with the bash scripts used here?

                              Good question, from a superquick check I can say it doesn’t right out fail like it does on OpenBSD with ksh.

                            2. 2

                              Forgive me if this is gauche, but what is wrong with simply using bashisms?

                              Nothing, bash really makes our lives easier, the extensions are really useful. Some people wants to only use POSIX sh, just because it is a “standard”. Some people just hates bash because it is popular.

                            1. 20
                              • Stream begins. New building shown. Recap on hardware launched in the September event.

                              • Home product. It should be easy (setup/everyday), works together with other products, and secure/private. HomePod; a Siri speaker thing for the home. A new HomePod device; a mini device.

                              • Bob on stage to talk about it. Mesh fabric for acoustics. Touchscreen with backlight on the top for controls/lighting up with Siri. Good sound, assistant, centre of the smart home, as one expects. Acoustic improvements like the driver and radiators, so you can place it in most areas. S5 SoC. Computational audio for computer-enhanced acoustics. Can keep multiple speakers in sync, or work with other speakers for multiple channels. U1 chip to make them work together. Apple Music, of course, along with third party services.

                              • Yael on stage to talk about intelligence in Siri. Improved recognition accuracy/performance, and features. Works with multiple voices and can recognize them for context sensitivity. Suggestions also appear in the car. Smart home features, of course. Intercom between HomePods, iDevices, and CarPlay.

                              • Privacy. It isn’t listening until you say Hey Siri, and requests aren’t associated to an Apple ID. Strong encryption between devices. White and grey, 99$. November 6 preorder, 16th ship date.

                              • Back to Tim. iPhones. Autohagiography begins first. Important! People like them! Apps! Privacy!

                              • 5G on iPhone. Hans from Verizon on stage to talk about it. Fluff excised here. Ultra wideband (mmWave) supported. 4 Gbps peak ideal download, 200 Mbps up. More towers being brought up near populated locales. 5G rolleout, partnering with gaming companies.

                              • Is that an iPhone? iPhone 12. 5G. Kaiann on stage. Flat edges again, like an iPhone 5. Five colours, black, white, red, green, blue. 6.1” screen, but thinner bezels. 11% thinner, 15% smaller, 16% lighter. Better displays. “Super Retina XDR”. OLED. 2000000:1 contrast. Higher resolution, 2x pixels over iPhone 11 at 460ppi. New display glass from Corning. “Ceramic Shield”. Ceramic in the glass for resilience.

                              • Arun on stage to talk about iPhone 5G. Custom aerials and more bands. Software support and beamforming. Apple claims 3.5 Gbps ideal down. mmWave is supported on US models.

                              • Performance. A13 still leads, but now A14 Bionic is a thing. Hope on stage. 5nm process. 11.8T transistors, 40% more over A13. Six cores (2 high, 4 lore), 50% faster than anyone else. 4 core GPU. Also the fastest GPU too by 50%. 80% faster neural engine, 11T ops/s.

                              • Back to Kaiann. Gaming on iPhones. League of Legends on an iPhone.

                              • Camera. Dual camera. Ultrawide lens and regular wide lens. Better low light performance. Better HDR, ML applied. Night mode on all iPhone 12 cameras, even front. Applies to video too. Time-lapse with tripods. Example photos and videos shown.

                              • Wireless charging. MagSafe??? Deniz on safe. Magnets can be used, while remaining compatible with Qi. 15W. Accessory attachment, and cases that can use it. Magnetic accessories snap together and stack. Third parties making accessories.

                              • Lisa on stage to talk environmental. Carbon neutral now. By 2030, they plan to be net zero climate impact from materials to end of lifecycle. Less bad chemicals, more recycled stuff. Not bundling stuff to avoid waste. (also better for Apple… maybe not you) Less carbon emitted as a result.

                              • Type C to Lightning cable shipped now.

                              • Mini size iPhone 12 while keeping all the features - nothing omitted. Smaller than a 4.7” model, but 5.4” screen with less bezels. Water resistance. Promo video plays. 699 for mini, 799 for big. Carrier deals available.

                              • Back to Tim. Pro iPhones. Three lenses. iPhone 12 Pro. Joz on stage to talk about it. Steel band, black glass. Silver, graphic, gold, blue colours. Same glass, IP68 rating. Compatible with magnetic accessories. Pro Max goes up to 6.7” with nearly identical form factor; similar to the normal model for smaller Pro. 458 ppi. Same A14 SoC. ISP for photography. “Deep fusion” image type using multiple of the coprocessors. Ultrawide, wide, and telephoto lenses. 4x optical zoom. On the Max model, even more specs.

                              • Andrew to talk about the camera. Even beefier on Pro Max. Larger sensor, faster aperture, new OIS for 87% low light performance. Sensor-shift instead of moving the lens. Full f-stop worth of improvement.

                              • Alok for more about pro photography. Raw means you lack some of the advanced processing. ProRAW means raw with the additional processing, with no additional delay. The additional processing is layered into the image instead of being baked in, so it can be selectively edited. Editing able to be done from photos app, or third parties with API.

                              • Back to Joz. Examples. Pro video. 10-bit HDR with live preview. Live colour grading and filters in real time. Example video done by an Oscar winner. It’s lightweight and people will have it.

                              • Francesca on stage to talk LiDAR. LiDAR used for faster focus and focusing in low light.

                              • Back to Joz. Example usages of new features. Promo video. Regular 999, starting capacity 128 GB, Max at 1099. Preorders on 16th, available 22nd. Max will be preorder/available in November.

                              • Back to Tim. Recap of event so far. That’s it?

                              1. 3

                                Autohagiography

                                This got a LOL. Well done.

                                1. 1

                                  how does it hear you say “hey siri” if it isn’t listening before you say it?

                                  1. 1

                                    “Your phone doesn’t start listening when you say ‘Hey, Siri’; that’s just when it starts responding.”

                                1. 19

                                  @bcantrill: Is the lack of fine-grained allocator control hurting you in embedded contexts? I know that was a major pain point for some and a big motivating factor for Zig, but maybe Oxide doesn’t actually need any of that?

                                  1. 24

                                    Well, at the moment we are really doing everything possible to avoid dynamic allocation full-stop – and in fact, what is interesting about the system that we’re developing (in my opinion) is the creativity in assuring that traditionally dynamic activities (like task creation) are done entirely statically. So if/when/where we do have dynamic memory allocation, it is likely to be exceedingly simple – and focused on space efficiency rather than time.

                                    1. 5

                                      Having done embedded for a long time in the past. not having dynamic allocation (with all the gimmick to get the size “right”) was the best long term decision to guarantee long uptime. It is very different when you have the luxury of your application being started from the OS fresh each time it needs to run,

                                      1. 11

                                        Adding on: it’s not “only” a matter of uptime, it also helps tremendously with testing, reviewing and analysis. When everything is allocated statically, you know whether you have enough memory or not right from the start. There’s no imaginable cornercase under which malloc might fail to allocate some memory because, well, nobody’s malloc-ing anything.

                                        The fact that you don’t get OOM crashes (and, thus, your uptime doesn’t get thrashed) is just one of the nice things about it. You also get more predictable timing, you have a more solid basis for all sorts of hardware-related decisions and so on.

                                        It’s not a matter of embedded developers being opposed to being dragged out of the stone age of computing, there are some valid technical reasons behind our preference for flint stone arrowheads :).

                                  1. 5

                                    For those looking for a trackball or mouse alternative, you might be interested in the RollerMouse Contour Red, I’ve been using it with the mechanical Truly Ergonomic keyboard and it’s a dream. No more reaching for the mouse, it’s always at hand under the compact keyboard.

                                    1. 3

                                      I was going to post about this too! I’ve had a Contour since they made the housing in aluminum. I find I can’t use a normal mouse (or trackball) any longer and notice a speed dropoff when using a laptop without the docked setup. The Contour stuff is expensive but they are good about repairs when needed.

                                      1. 1

                                        I’ve been using trackballs for a few years now (the thumb kind, I can’t get a grip of the other kinds) and like them. The MX Ergo in particular is a huge step up, especially quality wise. I just wish it had a wired variant.

                                      1. 8

                                        I don’t speak Korean but I’ve enjoyed my travels there. Hangul is one of the most elegant and beautiful writing systems out there.

                                        1. 6

                                          It is. It’s one of those times when you read about something on wikipedia, then read about the person who created it, and go “oh, so THAT’S what genius looks like in distant history”.

                                          1. 3

                                            Sequoyah probably comes the closest in terms of creating an efficient and easy to learn script.

                                        1. 2

                                          Another Windows + Korean fun fact! The default font on a Korean version of Windows has the backslash (\) symbol made to look like the Korean Won currency symbol (₩, often 원), so you get funny looking paths in cmd.exe, with path elements delimited by Won.

                                          1. 3

                                            Same with ¥ on Japanese locales.

                                          1. 33

                                            Hey, so… Speaking on behalf of the mod team, we aren’t quite ready to make a rule “no sex toys” or anything like that, but this post is on our radar as being borderline. I’m letting you all know so the community can think about what standards make sense for a place like this.

                                            I personally believe in sex-positivity, but I can imagine that we have many readers who work in corporate environments and wouldn’t particularly want their managers to see them reading this article. Also it seems to have brought out the worst in everyone humor-wise, so that’s a point against it… I’m removing the worst comments (mostly just sex jokes).

                                            We’ve had feedback recently, by the way, that people don’t realize we have a full team of moderators who coordinate on decisions. So we’re all trying to be a bit more visible - that’s why I’m the one posting this.

                                            1. 29

                                              I’m absolutely in favour of on-topic sex-related content here. But even TechCrunch, hardly known for sober and sensible reporting, was able to cover this story without sniggering. And in my opinion, if managers have a problem with their software developers reading a serious, objective article about computer security like this one just because it’s about a problem with a sex toy, the problem is with the manager/company, not with the employee.

                                              If people aren’t able to discuss stories like this without making content-free comments with crude jokes, though, it doesn’t speak well for the community here.

                                              1. 19

                                                The problem with bawd is that it is even more subjective than normal humor…and given the quality of jokes that were removed, I can’t disagree with a sort of broken windows approach.

                                                But, like, I can’t get behind the pearl clutching amd serious business aspect of this. The story is about an exploit wherein a dick gets stuck in a poorly programmed cage. That’s pretty fucking funny. Let us not give up our ability to laugh at the absurd.

                                                1. 8

                                                  Most of those jokes were dumb and disposable, but yours (at roughly 28 upvotes when I saw it) was very well done. Maybe a little crass, but given the subject matter hardly crude or offensive. I’m sure it was removed out of “fairness” or some high-minded ideal like that. Not a pearl to be clutched, but the site lost a tiny little… sparkly rhinestone or something, with the loss of that joke.

                                                  (All you late-comers missed it, sorry. Please direct any feedback you may have to our hard-working mod dom team.)

                                                  EDIT: typo fix

                                                  1. 10

                                                    The problem with my joke–and thank you for the kind words–is that it shifts the Overton window a bit far on a direction that isn’t sustainable.

                                                    I get pissy about advertising and marketing here for the same reason, even with submissions that are of themselves high quality.

                                                    If a bawdy joke of mine has to be removed to spare us legions of copycats citing it as precedent, I can’t really in good conscience object.

                                                    1. 2

                                                      All you late-comers missed it, sorry.

                                                      I’d love to receive a copy in my email inbox if you don’t mind. First two letters and last six letters of my username at the big search engine’s mail domain.

                                                    2. 5

                                                      Oh, I agree that it’s hilarious. I just think jokes like this have an effect, probably unintended for most people, of reinforcing the perception that the site is only for men. I don’t want that outcome, so I felt the need to step in.

                                                      1. 16

                                                        As a woman myself, I don’t feel excluded by the particular sex jokes that were shared here because of my gender. I’m more concerned about the stigma that the jokes reinforce and the culture of mandatory conformity to conservative sexual standards they strengthen.

                                                        To get personal, I’m involved in the BDSM community myself. (In my case, this isn’t a secret, but it’s also not something I tend to bring up in other social circles.) I know men, women, and those that lieth betwixt who enjoy both sides of this particular kink. I also know plenty of people in the community who are absolutely terrified that their work might find out about this part of their private life, because they’d lose their job (and possibly their entire career), have their children taken away from them by social services, etc. In most cases, even if sexual orientation (that is, basically, whether you fall under the LGBT+ umbrella) is a protected category under anti-discrimination laws, other kinds of sexual interests are not.

                                                        Allowing jokes like these makes people feel like they’re a fair target for jokes when they’re already under serious and massive pressure about this aspect of their lives. We’re not asking to be ‘out and proud’ — we know that for most people in most contexts, an interest in kink is just TMI. We’re just asking for an environment where, if it does come out by accident, we know our colleagues and our bosses will just shrug and say ‘it’s your private life, whatever’ and not start making jokes at our expense. And if there’s one thing we can learn from the struggles against sexism and homophobia in the workplace, it’s that the road from stigma expressed through humiliating jokes to stigma expressed through firing someone is shorter than you’d think.

                                                        1. 15

                                                          I am unsure that ceding the space of sexual humor to males assigned st birth is anything but sexist, but here is not the place to litigate it.

                                                          1. 4

                                                            I’ve recently started spending more time on IRC, please feel free to send me a DM over there if you’d like to discuss that. I don’t expect that we’d necessarily come to agreement but if you want to know more about how I think about this topic, I’m happy to go into detail.

                                                            1. 9

                                                              I feel like your admission that you removed a bit of humour that you yourself found funny because you want to attract more women to the site reinforces the perception of (at least a contingent of) women as spoilsports of male humour, which is probably not going to do much to endear the people here to the new guests that are attracted here for that reason; you seem to have gone against your original goal.

                                                              I also find it quite unnerving that individual mods have the power to shift the direction of a thread for activism purposes. If it becomes a stated goal of this site to cater more to women and it achieves that by cleaning up what men like about the site… well, I’m a man. How far will this go? What kind of incentives for women that ruin the site for us men can we expect? It can’t just be down to individual mods with no checks in place.

                                                              1. 12

                                                                It is fair enough to raise those topics for discussion. There’s three things in it that I’d like to reply to.

                                                                First, it’s not down to individual mods. The mod team talked this over privately before doing it. I’m handling the public-facing communication today because I am closest to the issue and because I have the time. I understand that it’s not very visible to site members that that happens, which is why we’re trying to be more explicit about it, such as my remark that I was “speaking for the mod team” up-thread. To whatever extent things here are matters of my personal opinion and not the site’s position, I have tried to be extremely clear about that, as well.

                                                                Second, I’m trying to retain the women we already have by not driving them away with unchecked, gendered, sexualized humor. As a trans woman I promise that I have many hilarious observations to make about genitals, but I also recognize that were I to start doing that in a professional space, it would make many people uncomfortable. I think highly of lobste.rs community members, and I’m sure most people here can recognize that some topics are for private conversations where you know everyone involved. In a private setting, you can be sure you aren’t violating people’s boundaries and expectations. In a semi-public space such as this, you don’t really know who’s reading or how they feel about it.

                                                                Third, I don’t think this is a zero-sum thing. I think everyone benefits from trying to have a civil community where nobody has to be confronted with jokes about genitalia unless they want to. I think that makes things better for everyone, regardless of gender. If I truly viewed this as a thing with winners and losers, with one group’s happiness being possible only at the cost of another group’s unhappiness, I wouldn’t be taking the time to justify the decision and engage with discussion about it. I would simply have deleted the page - it would have saved several hours of work.

                                                                1. 12

                                                                  Thanks for taking the time to respond.

                                                                  First, it’s not down to individual mods. […]

                                                                  Fair enough. I still have my apprehensions about the implicit activism angle, but you’re right, you were clear on the fact that this wasn’t just you and what was your opinion. I guess I just inferred from some of the comments that this would have probably gone differently without your influence; the rule applied seems arbitrary until you realise the views that are probably being represented in ‘the cabal’s secret meetings’ ;).

                                                                  Second, I’m trying to retain the women we already have by not driving them away with unchecked, gendered, sexualized humor.

                                                                  Just curious, is this something the women we already have (or used to have and then left) tell you is driving them away, or are you basing this on prior research/knowledge/beliefs of how women react to bawdy jokes?

                                                                  As a trans woman I promise that I have many hilarious observations to make about genitals, but I also recognize that were I to start doing that in a professional space, it would make many people uncomfortable.

                                                                  Sure, but lobste.rs isn’t really a professional space in the same way your average office workplace is. Most people understand the limits at a workplace are necessary to some degree to avoid making people uncomfortable, but restrictiveness in humour is itself often uncomfortable, and I don’t understand why you’d prefer that discomfort over the other in an online community like lobste.rs.

                                                                  The community itself as it stands were apparently reacting quite favourably, so I’m not sure why we would restrict the community’s humour to appeal to some outsiders.

                                                                  I’m sure most people here can recognize that some topics are for private conversations where you know everyone involved.

                                                                  Yes, like swear words, some would say. But we don’t have to care about those people’s sensibilities. This site happily accepts swear words like “fuck” in submission titles, comments, etc, even though it makes some people uncomfortable.

                                                                  The reality is that you’re implicitly saying that the set of people made uncomfortable by sexual jokes are more worthy of catering to than the set of people made uncomfortable by swear words, whether it’s because they are a (net) bigger set (big enough?) or because they seem to you subjectively to have a more ‘valid’ reason for being uncomfortable or whatever other reason.

                                                                  If it were just about not making people uncomfortable, you wouldn’t be able to say almost anything interesting. When choosing whose discomfort to prioritise, you’re revealing your values or sympathies or allegiances (either it makes you uncomfortable, or you sympathise with those made uncomfortable by the joke more than by the restrictiveness in humour or other things you could have removed, or you are just catering to the biggest or loudest group).

                                                                  In a private setting, you can be sure you aren’t violating people’s boundaries and expectations.

                                                                  Not really. You can make an educated guess, but you never really know how someone might react to something. But we don’t let that stop us. Talking or joking about taboos or controversial topics or breaking taboos in general is always risky. Someone often has to be the first to set the tone to a riskier level (bit by bit) and the other person may always react negatively.

                                                                  In a semi-public space such as this, you don’t really know who’s reading or how they feel about it.

                                                                  Sure, I just don’t see how that’s relevant. There are people that feel offended when they read swear words, but the tone of this site is such that we allow them. The question isn’t why should we set rules around what’s acceptable and what isn’t, the question is why this particular rule? Why should we cater to people who find bawdy jokes uncomfortable over those who find they brighten their day?

                                                                  Third, I don’t think this is a zero-sum thing. I think everyone benefits from trying to have a civil community where nobody has to be confronted with jokes about genitalia unless they want to.

                                                                  Or stories about genital instruments? I’m sure there are lots of people that are quite disgusted by this story, or at least made uncomfortable by it. Why are jokes about genitalia any more uncomfortable than stories about genitalia? Hell, the title of this submission makes a genital joke (“cock-up”).

                                                                  I don’t think everyone benefits. Not all the people missing out on the humorous comments that were removed are going to be happy about it or would have been made uncomfortable by them. That’s why we’re having this conversation. It quite literally is zero sum, at least in the way it’s been implemented currently.

                                                                  If I truly viewed this as a thing with winners and losers, with one group’s happiness being possible only at the cost of another group’s unhappiness, I wouldn’t be taking the time to justify the decision and engage with discussion about it. I would simply have deleted the page - it would have saved several hours of work.

                                                                  You can justify the decision all you want, it’s not going to make everyone on the other side of the debate happy. If you’re talking about fielding compromises, then perhaps instead of removing these kinds of comments entirely, they could be quarantined in some way. Still not gonna make everyone happy, but might go a good way.

                                                                  1. 5

                                                                    Thanks for your patience. This is a lot to respond to!

                                                                    Ultimately, yes, some people are clearly unhappy with this decision. To those people, I say that I encourage you all to view this as a chance to reflect about how important sex jokes are to you, and treat it as an opportunity to change course.

                                                                    Once again, I believe that this isn’t zero-sum and that everyone benefits. However, to whatever extent there has to be a choice between priorities, I am choosing to side against people who feel that making sex jokes on this site is a fundamental attribute of who they are, which they are not willing to surrender.

                                                                    I think the unifying theme in your concern was really that I can’t make everyone happy. To whatever extent that turns out to be true, I take full responsibility for it. I think that cost would be worth it in this particular case.

                                                                    I think that addresses most of the substance of your long comment. What it doesn’t address, I’m not sure I have anything particularly interesting to say about, that I haven’t already said. There’s one exception, which I’ll respond to directly:

                                                                    Just curious, is this something the women we already have (or used to have and then left) tell you is driving them away, or are you basing this on prior research/knowledge/beliefs of how women react to bawdy jokes?

                                                                    Both.

                                                                    1. 2

                                                                      This doesn’t address the meat of my comment (or my other comments), which is about the seeming inconsistency in reasoning:

                                                                      However, to whatever extent there has to be a choice between priorities, I am choosing to side against people who feel that making sex jokes on this site is a fundamental attribute of who they are, which they are not willing to surrender.

                                                                      This trivialises one side’s feelings on this. No one feels it’s a fundamental attribute of who they are. Some people are reacting strongly because it’s an application of a nonsensical rule in pursuit of a gender activism agenda that degrades the quality of their experience. People can deal with limiting rules, but it stings more when it’s done in the name of reasons that would be shot down in any other context.

                                                                      I could just as well say, ‘however, to whatever extent there has to be a choice between priorities, I am choosing to side against people who feel that swearing on this site is a fundamental attribute of who they are, which they are not willing to surrender’. People would be bemoaning how stupid these rules are and all to please some dumb puritanical and/or religious agenda, why should we acquiesce to this?, etc.

                                                                      I think there’s a certain contingent of people who see certain activist rules as just as nonsensical as certain bureaucratic rules and their mind rebels just as it does when faced with silly rules in any other context; they react quite strongly to what they see as the inability of humans to think clearly when their mind has been infected by bureaucracy/activism/religion/patriotism/whatever.

                                                                      I’ve responded to your other comment on bitrot and dpk having articulated your reasoning clearer, so that’s where I’ve addressed that.

                                                                      1. 4

                                                                        The point I’m trying to make is that I’m not taking a side against “men” or any larger group. I’m specifically only taking a stance against the making of sexual jokes here on lobste.rs. Whether you’re part of that group - of people who make those jokes, here on this site - is entirely within your control.

                                                                        1. 1

                                                                          Just to be clear, when I say that people don’t like nonsensical rules that come from a gender activism agenda, I’m not insinuating that you’re taking a stance against men.

                                                                          I’m saying that (a few) people are reacting strongly because they’re pattern matching on [imposition of annoying new rule that prioritises some outcome that they struggle to care about] [with justifications that they believe make no sense, and were they applied to anything else, would not fly] [for a cause they’ve had previous experience with that seem to constantly do this].

                                                                          1. 4

                                                                            I do appreciate the clarification. I feel like I’ve done everything I know how to do to defuse such fears, by explaining the rule and why it’s important.

                                                                            I do believe that the rule is straightforward; I note that the people who are objecting are not the people whose jokes were removed.

                                                                            If there are truly people out there for whom this is complicated or ambiguous, I’m happy to continue to clarify, but it kind of sounds like you’re expressing concern about the possible fears of a group that’s mostly hypothetical. I’m trying my best to help, regardless, because I feel an obligation to, but at this point I don’t have much to say that isn’t just repeating myself.

                                                                            1. 1

                                                                              Yes, you have (explained). People (including myself) will disagree strongly, but as you said, there’s not much left to be said.

                                                                              I do believe there are deeper layers of thinking and disagreement we could take this to, but I’ve been avoiding that, as I don’t think it’ll do much good for me to make this even more protracted than it already is, especially as I’m quite new to the community myself. I also don’t have enough information to make an informed case tailored to you.

                                                                              I will say, I don’t think it’s much relevant that the rule is straightforward; I mean, better than it being a contradictory or hard-to-follow mess, but it’s only necessary, not sufficient, for a good rule.

                                                                              I also don’t think it’s much relevant that the people complaining aren’t those who made the jokes. Just as the rule is being implemented for the sake of people who might read the comments and be negatively affected, the people complaining want the rule to not be implemented for the sake of people who might read the comments and be positively affected (people like themselves), not just for the people who write the comments (who they might be among in the future).

                                                                              If anything, by that metric, it’s worse for you; you, the person pushing for, implementing, and enforcing the rule, are not someone who is negatively affected by the jokes, as per your admission elsewhere in this thread. It doesn’t make your position any less valid or important, so why should it make ours (if we even were unaffected by the rule just because we’re readers not writers)?

                                                                              1. 2

                                                                                I haven’t argued that your position is invalid or unimportant. I consider it, at the very least, important enough to merit a response.

                                                                                On the other topics: Fair enough.

                                                                                1. 1

                                                                                  Okay, I may have misunderstood your intent.

                                                                                  What’s the relevance of the people complaining not being those whose jokes were removed? Why’s it noteworthy?

                                                                                  1. 3

                                                                                    It’s noteworthy in that you’re arguing about a harm that, as far as I can tell, is entirely theoretical.

                                                                                    Just to restate my understanding as fairly as I can, the harm you’re talking about is a loss of trust. Correct me if I’m wrong?

                                                                                    I do ultimately have to make my own assessment of what I see evidence for and what I don’t. We appear to have a factual disagreement about the degree of harm and the size of the affected group, and I think that’s relevant.

                                                                                    1. 1

                                                                                      Loss of trust would be a problem if, for example, mods were removing posts simply for holding or arguing a position that people didn’t like. I wouldn’t trust this place to give me all the facts.

                                                                                      We’re talking about jokes; I actually thought you were at least on the same page here, that there is a harm to removing jokes. People derive pleasure from jokes, therefore removing them denies them that pleasure. It’s pretty direct.

                                                                                      Again, it’s just the flipside of what you’re saying. You’re saying there are people who derive discomfort from these jokes, so you’re removing them to prevent that discomfort.

                                                                                      The harm is a simple dulling of the culture, a shifting of the dynamic, sucking the humour out of certain threads. Even if I never consciously notice for the rest of my stay on this site, the impact is felt. A joke is removed, and I never knew it was removed, but it still means I’m a chuckle, a giggle, a belly laugh, a snicker poorer that day. Compound that across threads.

                                                                                      Just as I imagine you might say the harm to keeping these jokes is a simple juvenilising of the culture, a shifting of the dynamic, sucking the comfort out of certain threads. Even if a woman never consciously notices for the rest of her stay on this site, the impact is felt. A joke is made, and she never imagines the site without it, but it still means it’s just another discomfort she has to go through that day. Compound that across threads.

                                                                                      (Now I’m thinking of looking into the intersection of juvenile and sexual humour and gender differences around them; there are certainly stereotypes. As a man, I’ve never observed women being asked to change their style of humour to make men comfortable, except for the sake of equality as opposed to the humour intrinsically making men uncomfortable.)

                                                                                      The fact that this was motivated by gender activism does also make me suspicious of what future changes could be coming that are a problem beyond just jokes, since that motivation does often lead to extreme censoriousness, IMO. That’s just not what I was arguing here, since that is genuinely theoretical.

                                                                                      But since you brought it up, would the Damore memo be allowed on here, for example? That made a lot of women uncomfortable, even mad, but I read through that, and I don’t think he said anything worthy of ostracism or job loss.

                                                                  2. 5

                                                                    Thank you for trying to shift the culture.

                                                        2. 13

                                                          Coming to this from when I posted the comment, likely after some pruning has been done: I think the post itself is very on-topic and worthy of discussion. If objectionable comments were made, that’s a shame, but I can understand the tendency to go after “trivial points scoring” for internet funbucks karma. I’d hate to see this type of submission removed/censored.

                                                          To bring some level of technical discussion: I’m reminded, amusingly enough, of nuclear reactors. AIUI, to keep the rate of reaction low, you insert/remove control rods into the reactor core. Those rods are made of boron and other elements that are very good at hoovering up neutrons. That’s an obvious need because too many neutrons make nuclear reactors get spicy.

                                                          In these reactors, your fail safe is gravity: the rods are lifted away from the core with electromagnets. Something goes wrong, power gets cut, and all the rods slam down into the core and quench the neutrons, halting the reaction. And in many reactors, the routine shutdown process is “press the button to release the electromagnets”: a safety critical system becomes integral to routine operation.

                                                          We could learn from this in software. We could certainly learn from it with locking sex toys, and it’s remarkable that someone didn’t say “do we want this to fail open or fail closed” at the very beginning of the design process.

                                                          1. 5

                                                            it’s remarkable that someone didn’t say “do we want this to fail open or fail closed” at the very beginning of the design process.

                                                            Unfortunately, I think this is a case of fantasy getting the better of reality. ‘100% inescapable!!’ is a sexy marketing point for the device’s target market. Safety, on the other hand, is just a spoilsport.

                                                            (Not that this excuses the manufacturers, who should certainly have known better.)

                                                          2. 9

                                                            I would like to express both that I am in favor of such subjects being posted here and my displeasure of the perceived inability of the community and the security community to discuss them in an appropriate fashion.

                                                            The teledildonics industry has bad security standards and this should be as openly discussed as security flaws in other industries. We should also discuss the particular space these suppliers are in, in which they operate in an environment where high trust is needed and consent on all levels is necessary. But we, as a community, on the other side should not use this as a “finally, a place to make dick jokes for fun”, but rather make an effort to discuss the underlying issues in a sober and direct fashion to allow people the space to discuss in a space that is full of emotions, fear and literally things that people keep secret for good reasons. Every joke here about chastity locks rules out discussions with people that do for example use them and get pleasure from them. This makes the conversation not only worse, but impossible.

                                                            1. 4

                                                              This. The whole product sounds like an ethical failure from the get go: How can one not have hardware fallback? How can one willingly write software knowing the consequences of bugs lacking that fallback? And that’s even before you get to this security issue.

                                                              1. 2

                                                                I couldn’t agree more. Thank you.

                                                              2. 7

                                                                I understand. I posted this because it was an actual on-topic technical analysis; not the possibly bawdy blogspam that pops up around this kind of thing.

                                                                1. 2

                                                                  Thanks for replying. Yeah - when I saw the post I also didn’t immediately know whether it belongs here or not. It’s a judgement call, and I can see several defensible positions about it.

                                                                2. 5

                                                                  people don’t realize we have a full team of moderators who coordinate on decisions

                                                                  Um, how big is this “full team” honestly? I read the mod log as often as I read anything else on this site, and I only ever see you and The Boss in there. You tidy things up and occasionally make high-minded statements while wearing your Sysop hat; he’s a bit more terse, deletes stories he doesn’t like and bans people. I think that’s all there is to your team. Everything else is automatic from “user suggestions”.

                                                                  1. 7

                                                                    There’s three of us who make decisions pertaining to the site, and a couple more who focus on the IRC channel. I think that’s exactly the right size for a community like this. It’s enough to provide redundancy, but not so many that we can’t talk things over and make sure there’s consensus on big decisions. Your tone is accusatory, but I’m not seeing anything in what you described that I consider to be misconduct. Everything you mentioned is working as intended. Thank you for taking an interest.

                                                                  2. 5

                                                                    Maybe it’s worth having some sort of nfsw tag. Then if people don’t wish to see this type of content they can filter the it out.

                                                                    1. 1

                                                                      This to me feels like the most practical way forward.

                                                                    2. 4

                                                                      I don’t understand:

                                                                      Regarding the link: I think that simply displaying the post title cannot be considered not safe for work, and it is up to each of us to choose whether or not to open the link.

                                                                      Regarding the comments: they are not adding information to the link, so I assume they do not meet the rules, and it is fair to remove them, but how are they excluding? If I remember correctly they were mere puns: their only comical value was in the double meaning of words, not in some judgement of value on this or that practice,

                                                                      Maybe we should envision having a “NSFW” tag, or by default blur, but saying this is borderline for a tech website feels wrong. This is dealing with security, ethics and the impact our decisions can have on users.

                                                                      1. 6

                                                                        I tried to engage with this a bit in my longer comment responding to habibalamin, but briefly, when people see a community tolerating sexually explicit remarks they have to also wonder whether that community would tolerate more targeted forms of sexual harassment, should they receive any. It’s a safety issue.

                                                                        1. 4

                                                                          when people see a community tolerating sexually explicit remarks they have to also wonder whether that community would tolerate more targeted forms of sexual harassment

                                                                          Are we to understand that bawdy jokes are a less targeted form of sexual harassment? Please tell me this is just a poorly phrased sentence.

                                                                          Also it seems to have brought out the worst in everyone humor-wise, so that’s a point against it… I’m removing the worst comments (mostly just sex jokes).

                                                                          The worst comments, mostly just sex jokes. They’re the worst, yet they’re just sex jokes.

                                                                          “They were the worst comments.”
                                                                          “Why, what was so bad about them?”
                                                                          “Nothing, they were just sex jokes.”
                                                                          “Why’d we remove them?”
                                                                          “It was the combination of the fact that they were about sex and they were jokes. The story’s about sex, but it’s fine. We allow jokes in comments, too. But don’t ever put them together.”

                                                                          We’re not talking about the quality of humour here or how mean they were, since friendlysock’s joke was removed, which, rumour has it, was pretty hilarious, and most of the jokes were just puns.

                                                                          Now I’m wondering how mean friendlysock’s joke was; it can’t have been that bad, right? It was just a sex joke. You yourself didn’t say any of them were mean or anything like that. Just the fact that they were jokes about sex was enough. Were the puns not funny enough and friendlysock’s joke hilarious, but a little too mean?

                                                                          1. 3

                                                                            I apologize for not replying at length today, I’m still trying to find time and hope to get to you on the other stuff. This part I can address quickly:

                                                                            Are we to understand that bawdy jokes are a less targeted form of sexual harassment? Please tell me this is just a poorly phrased sentence.

                                                                            Yes. In the legal sense, if you made those jokes in a workplace they would constitute sexual harassment in most jurisdictions. That has been upheld many times. Lobsters, obviously, is not a workplace, but if it makes sense to talk about sexual harassment outside of that context at all, it makes sense to let that understanding inform these discussions.

                                                                            1. 1

                                                                              No worries, I’m not in any rush.

                                                                              I would say that bawdy jokes are legally sexual harassment in the same sense that a corporation is legally a person. I was asking for your opinion, not a particular legal system’s (or family of legal systems’).

                                                                              I could pull out all sorts of definitions from legal systems that would define rape as only penis in vagina, but outside the legal system, I think there are a lot of people who would object if someone said, “well, he penetrated her mouth, not her vagina, so it’s sexual assault, not rape” even if they weren’t saying so to downplay the crime (maybe they were asked why they don’t use the term that activists might want them to use in their coverage of the event).

                                                                              Of course, for people who care about men’s rights, there’s all sorts of bias in strictly technical definitions, such as the fact that, until as recently as 2011, by the FBI

                                                                              “Forcible rape” had been defined by the UCR SRS as “the carnal knowledge of a female, forcibly and against her will.” That definition, unchanged since 1927, was outdated and narrow. It only included forcible male penile penetration of a female vagina.

                                                                              An Updated Definition of Rape | OPA | Department of Justice

                                                                              From your own opinion, would you really say that what friendlysock said could be defined as sexual harassment without doing some injustice to the concept or to friendlysock?

                                                                              1. 3

                                                                                I phrased it in the careful way that you noted, precisely because I have no desire to take any firm stance for or against that position. I think a full answer would involve a lot of work parsing out the context of what power dynamics exist here on the site, vs. what power dynamics exist in a workplace. The situations have some similarities but they are not the same and I certainly don’t think it makes sense to pull rules from the one context into the other without some examination of the degree to which it makes sense.

                                                                                No decision that I made on this thread required me to come to a conclusion on that question, nor do I expect that any moderation decision ever will. So the site has no official position on it, and doesn’t need one. I have my personal views, which I’m still happy to talk about.

                                                                      2. 2

                                                                        Honestly I think most people would react much better to a “no sex toys” rule than a “no dick jokes” rule, because humor is a much more personal thing than topics. Having your joke removed might feel like a personal offense, having your link removed because the topic is banned is much more “oh okay whatever”. So not even having the link (the context for the jokes) in the first place would prevent more anger.

                                                                        1. 5

                                                                          I disagree and am quite on the opposite of the spectrum: humor is a function of the group and setting you are in and negative reactions from the group are on you.

                                                                          1. 2

                                                                            That doesn’t contradict anything I said? Sure, yeah, that’s the group side of things. I was talking purely about how whoever writes a post perceives moderator action against that post. (Especially when the group reaction was positive generally)

                                                                      1. 2

                                                                        I used to use OneNote, and really liked it, particularly for the pen, tags, and structuring, but being on Linux makes it way too much friction. I can’t stand the entire category of “just sync markdown lol” because it is insufficient for so much. If only I could get into Emacs for org…

                                                                        1. 2

                                                                          I’m on OneNote for work because data is ‘locked in’ to the company and you can’t just run what you like. But I do like OneNote.

                                                                          I use it mostly on MacOS. There is a web version so you may find that works for you on Linux if there is no (good) desktop client.

                                                                        1. 5

                                                                          Contiguous, non-overlapping splits can simply be represented by a set of dates (Set Date):

                                                                          Actually this has some issues too and still causes “invalid state”. Given a set can be empty, or have 1, or more elements, here are two invalid states:

                                                                          {}
                                                                          { 1990-01-01 }
                                                                          

                                                                          These are not ranges.

                                                                          You would have to enforce a Set of length > 1.

                                                                          …How do you do this in your language? :)

                                                                          AFAIK only dependently typed languages can do this. Not relevant.

                                                                          They go on about Fixed vs Default contracts, and simply say “well if we remove Default contracts, it all works out!”.

                                                                          …Ok, now what if multiple, non-overlapping contract types are required? Where’s the solution to that more interesting problem? They’ve just taken the problem and reduced it to the original they presented.


                                                                          I’m not a fan that the author is saying to apply a technique but then is just presenting a way to prevent an invalid state (and not succeeding, as we see) in a very specific problem.

                                                                          1. 13

                                                                            Whether those values are invalid depends on the application. They could be interpreted as a single infinite period and two infinite periods respectively.

                                                                            But anyway, that’s beside the point, because the goal is to reduce invalid states not eliminate them entirely. The less permissive representation is the better one.

                                                                            Constraints can be enforced at the database level and application level too, but I consider it good practice to do so at the representation level if possible. It usually results in simpler code, as demonstrated in the article.

                                                                            1. 3

                                                                              the goal is to reduce invalid states not eliminate them entirely

                                                                              Why not eliminate them entirely? You want invalid state?

                                                                              The less permissive representation is the better one.

                                                                              Not true, it depends on the problem.

                                                                              It usually results in simpler code, as demonstrated in the article.

                                                                              You presented a single case. There are hundreds of thousands of cases - how can you conclude “usually” then?…??


                                                                              Edit: I want to make absolutely clear, for what it’s worth, your article is not written bad, I’m just being critical about the actual content :) In no way do I mean to discourage. I’m just challenging what’s been written! :)

                                                                              1. 11

                                                                                Why not eliminate them entirely? You want invalid state?

                                                                                Clearly nobody wants invalid states, but as you noted, without dependent typing eliminating certain invalid states can get tricky.

                                                                                The less permissive representation is the better one.

                                                                                Not true, it depends on the problem.

                                                                                It usually results in simpler code, as demonstrated in the article.

                                                                                You presented a single case. There are hundreds of thousands of cases - how can you conclude “usually” then?…??

                                                                                I feel like you are being unnecessarily pedantic here. Of course it depends on the problem and of course there are situations where this technique will not result in simpler code (dependent types may be “simple” to use but have extreme complexity in the compiler).

                                                                                This article lays out a great technique and gives good examples for it. I think it is a great intro to this style of programming and thinking about problems for people not familiar with it.

                                                                                Perhaps your argument would be made better by laying out where the shortcomings of this technique are. In which situations will this result in more complicated code? In which situations is a more permissive representation desirable? I think these are valid points but lets actually dive into them rather than surface-level critiques.

                                                                                One instance in which a more permissive representation is desirable is possibly in “enterprise code.” The idea is that business partners will have so many conflicting and changing requirements that designing the system to have as little “baked in” constraints is actually best. This means have as flexible as a representation as possible, and having the constraints controlled by configuration.

                                                                                Of course this has a number of trade-offs, and personally I hate the enterprise style of programming and am critical of its actual use. But I think it is an important reminder that programming, at its core, serves a business function – and sometimes that business function can change rapidly. So if your constraints are too baked in you can screw yourself over later and lead to far more complexity.

                                                                                1. 1

                                                                                  I feel like you are being unnecessarily pedantic here. Of course it depends on the problem and of course there are situations where this technique will not result in simpler code (dependent types may be “simple” to use but have extreme complexity in the compiler).

                                                                                  It’s written in a factual tone, that’s the only reason why. “The less permissive representation is the better one.”, how does that not sound like a fact?

                                                                                  “This article lays out a great technique” <- The technique of just thinking about how to represent something?…

                                                                                  “Gives good examples”, it’s a single example!

                                                                                  Perhaps your argument would be made better by laying out where the shortcomings of this technique are. In which situations will this result in more complicated code? In which situations is a more permissive representation desirable? I think these are valid points but lets actually dive into them rather than surface-level critiques.

                                                                                  I did lay it out. And the point is, is that you cannot factually say “usually X happens” while presenting a single case. Why does it matter which situations? It’s enough to say there are situations. You gave one.

                                                                                  style of programming

                                                                                  It’s really not programming but a style of engineering (or lack-of). 100% agree with what’s said in the last paragraph. :)

                                                                                  1. 8

                                                                                    “This article lays out a great technique” <- The technique of just thinking about how to represent something?…

                                                                                    Yes that is clearly the technique. You might argue it is basic, sure, but there are a number of OO-heavy programmers I know who would benefit from learning this mindset.

                                                                                    “Gives good examples”, it’s a single example!

                                                                                    It is very clearly two examples, although the second one is, as you’ve pointed out, a bit weaker. Even one example I think conveys the point though.

                                                                                    I did lay it out. And the point is, is that you cannot factually say “usually X happens” while presenting a single case. Why does it matter which situations? It’s enough to say there are situations. You gave one.

                                                                                    I think it is clear the author stated their opinion, and not a fact. Everything written is from someones opinion, and unless someone states “it is a fact X” then they aren’t claiming that it is a fact.

                                                                                    It matters which situations because that helps others understand and learn! The author believes X, you don’t believe X. It is not beneficial to anyone for you to say “X is wrong.” This is a discussion forum where people come to learn about new ideas.

                                                                                    The author presents an idea which is valid and useful in certain situations, and troublesome in others. Lets discuss those situations and try to find patterns. Maybe in the enterprise world, constraining data representation can bite you in the ass. In the security world, constraining data representation is the difference between an innocuous bug and one that brings down the whole system. That is the discussion I want to read!

                                                                                    1. 0

                                                                                      This is a discussion forum where people come to learn about new ideas.

                                                                                      So uh, we should not question or challenge anything? Like what the heck?… We should not think critically now?

                                                                                      In the security world […]

                                                                                      Oh come on. This is not just about constraining data representation. This is about being precise about your specification, and then using the correct tools to make sure that specification can be realized.

                                                                                      It is not beneficial to anyone for you to say “X is wrong.”

                                                                                      And I gave examples of why it was wrong. You have not told me why it’s wrong to give proof of something that is wrong.

                                                                                      And it definitely doesn’t read like an opinion piece, but ok.

                                                                                      1. 5

                                                                                        This is a discussion forum where people come to learn about new ideas.

                                                                                        So uh, we should not question or challenge anything? Like what the heck?… We should not think critically now?

                                                                                        Clearly I’m not saying that.

                                                                                        Oh come on. This is not just about constraining data representation. This is about being precise about your specification, and then using the correct tools to make sure that specification can be realized.

                                                                                        I don’t understand your point here. The article is entirely about constraining data representation to reduce bugs. Let us take the first example. The two ways of representing the data – from a specification standpoint – are identical. The “view” built on top of them is the same. This article is explicitly arguing that constraining the representation is the tool to make that implementation of the specification less buggy, and less prone to bugs in the future.

                                                                                        And I gave examples of why it was wrong. You have not told me why it’s wrong to give proof of something that is wrong.

                                                                                        Your first comment is good, and I like it because it brings up the fact that there are limits to how much we can constrain the representation. Your second comment in response felt like it was pedantic for the sake of it and didn’t really add to the discussion. I didn’t mean for this to become a back-and-forth about this, and I was hoping to pivot your comment into something that contributed more readily to the discussion and get your insights into some examples where this technique is a bad idea.

                                                                                        I in no way want to limit thinking critically or questioning the advice of something, and please feel free to point out where my writing comes across that way because it is not my intention.

                                                                                2. 6

                                                                                  In no way do I mean to discourage.

                                                                                  I have nothing against well intentioned criticism and I’m not discouraged, but I do think you could be a little more charitable in your interpretation. :) I agree with the other comment that your arguments come across as pedantic.

                                                                                  It seems like you’re taking issue with my certainty. In software engineering almost everything is ‘it depends’ or a trade-off. I don’t know if you write, but I find if I taint every statement with that kind of uncertainty it ruins the flow of the text. I rely on the reader understanding that, in this context, I am talking about rules of thumb and opinions, not mathematical truths.

                                                                                  1. 1

                                                                                    I think the issue is a lot of your text comes off as factual, that’s all. It’s all good.

                                                                                    1. 2

                                                                                      From the sidelines here I agree with you. The article title does say Applying “Make Invalid States Unrepresentable”, and even starts with Here are some real life cases of applying one of my favourite principles.

                                                                                      But then the text goes on and makes pretty wide-ranging assumptions sounding, as you say, factual. I think it does not make such a strong point about “making invalid states unrepresentable”. To me, it sounds more like “I have a solution here that does not actually solve my specifc problem, so I will adjust the solution so that it does.I feel like it’s obvious that you have an invalid state at some point, because it was designed to be invalid. Then we show a solution that apparently is correct (minor details aside). Nothing to do with making state representable because the starting state was broken or unfinished.

                                                                                      At least that’s what it seemed to me to be the case.

                                                                                      1. 3

                                                                                        Most of the article IS factual. There is opinion in the last section. If you disagree, quote the part of the article you have an issue with and I’ll consider changing it.

                                                                                        What both of you may be missing is that these aren’t invented examples to prove a point, this was how the code was actually written. In the second case, the suggested change would have prevented actual observed production bugs.

                                                                                        1. 1

                                                                                          That’s the thing. I’m not saying the article isn’t factual, it is. But then the conclusions seem to follow as a fact as well. Which it can’t be, I think, because it’s anecdotal. So again, as mentioned, what I understood from the article, is not that you had “invalid state representable” then applied some technique to make it not representable. It’s more of a “I had am unfinished software”, or “i had software which made invalid state valid, and therefore representable” which got fixed.

                                                                                          On the other hand, it’s just what I took from the post. There’s a high chance that I simply misunderstood it. Similar to the other commenter.

                                                                              2. 6

                                                                                I don’t think you need dependent types here. Just define a custom Set whose constructor requires at least two items or it throws an error.

                                                                                1. 9

                                                                                  Or better yet, make it a two parameter constructor.

                                                                                  1. 1

                                                                                    Yeah, that’s what I meant. Should have been clearer :)

                                                                                  2. 2

                                                                                    I mean as long as you add that logic anywhere it should work, yep! I was thinking more as a compile-time check but 100% you can do it at run-time.

                                                                                    1. 1

                                                                                      Yeah, I meant you could get a compile time check off that constructor. Require two args or a tuple of length 2.

                                                                                  3. 4

                                                                                    Okay, so they failed to make all invalid states unrepresentable.

                                                                                    So what?

                                                                                    The examples given there still manage to eliminate entire classes of errors, and they do so without using any advanced techniques — not even tagged unions. It was simply about eliminating redundancy in the data representation. Hence what I believe is the main idea of this article: less redundancy means less room for error.

                                                                                    I’ve personally applied this for nearly as long as I can remember: since mutable state tends to be the bane of my existence, I try to minimise it. Whenever a bit of computation can save me the trouble of storing a piece of data, I do the computation instead of the storage. That way my data runs less risk of going out of sync.

                                                                                    In my opinion, this article is excellent advice for beginners.

                                                                                    1. 3

                                                                                      The examples given there still manage to eliminate entire classes of errors, and they do so without using any advanced techniques — not even tagged unions. It was simply about eliminating redundancy in the data representation. Hence what I believe is the main idea of this article: less redundancy means less room for error.

                                                                                      That’s why the relational database world cares so much about normalization, after all.

                                                                                  1. 4

                                                                                    Plus, for technical reasons, you can’t have multiple versions of ring linked into a single crate like you can with most crates – there’s some asm embedded in there, and the symbols in the asm code don’t get mangled by rustc and so can clash.

                                                                                    This is also a problem for portability, because Ring is extremely anal about correctness (for good reason, it’s a crypto library), so they’re hesitant about merging support for other platforms. Combined with no Rust-only fallback, and you have a disaster for any platform that doesn’t have an assembly implementation in Ring.

                                                                                    1. 2

                                                                                      Maybe the Ring authors could manually implement symbol mangling on their asm symbols with a build script.

                                                                                      1. 2

                                                                                        From the Ring authors:

                                                                                        Further, for some obscure technical reasons it’s currently not possible to link two different versions of ring into the same program; for policy reasons we don’t bother to try to work around that.

                                                                                    1. 1

                                                                                      Oh! I’ve done this before. I’ve had surprising luck contacting original authors; perhaps I should dig some up…

                                                                                      1. 1

                                                                                        You also reversed and reimplemented the game? That’s awesome, I’d love to read more about it. Did you reverse the game logic by inspecting the binary? Did you figure out the exact logic how the enemies move? I did everything down to pixel perfection, but I couldn’t fully figure out the AI.

                                                                                        1. 1

                                                                                          No, not this game, but similar games. I have a soft spot for that early Windows shareware aesthetic, but this game was new to me.

                                                                                          1. 1

                                                                                            Hah, here I thought that I could finally get some answers to my open questions about the game internals. I’d still be interested in your reversing of other games.

                                                                                            1. 1

                                                                                              It’s mostly just reimplementation, sadly.

                                                                                      1. 11

                                                                                        Great piece! I really appreciate the deep look at an area of computer science that I don’t know much about. I also really liked how the author motivates it by tying it to political and philosophical concerns.

                                                                                        1. 14

                                                                                          Anybody who says , “I was wrong” gets a small automatic mental notch of trust and interest from me…. Conversely anybody who claims they are never wrong, gets a large mental red flag of distrust and disinterest from me.

                                                                                          1. 8

                                                                                            I agree, which is why I think making “I was wrong” a part of the title is psychological manipulation.. The first question should then be “who are you?” why should your word hold weight, a lot of the time the “I was wrong” is just a status play by a clever meta-gamer who is still wrong in his (presumably) second attempt.

                                                                                            This time however the person has a nice followup to the“who are you” and I believe he’s right that lattice based datatypes are the (democratic) future.

                                                                                            1. 12

                                                                                              Meta: this is a wonderful comment to remind all of us that 1) the internet is full of people playing games and meta-games, and 2) it doesn’t matter whether you’re doing that or not, some people will assume you are.

                                                                                              When I first got online, I’d make all sorts of jokes: self-deprecating, random puns, and so forth. I knew that I used humor as a way to lighten the mood. It took me some time to realize that 99.9999% of the world didn’t know me and assumed my jokes were manipulative (They were, of course, just not in the way they took them).

                                                                                              Recently, some friends on FB asked me to do a synopsis of what I’ve learned as a layman studying CV-19. Studying it was a hobby, so I did the best I could, prefacing my essay with “I am just some random guy online. I know nothing. Please do not take this as any sort of professional advice” I felt that was the most honest I could be. When I posed it, people came by and publicly wondered why I was so humble and claiming to know nothing. It was obviously a manipulative play on my part!

                                                                                              If you take this shit too seriously it becomes a world of mirrors. I’ve learned to give it a good faith effort, say “I don’t know”, “I was wrong”, or “I’m just some random internet clown” and move on. This commenter was happy with the followup to the essay. That established the bona fides from them. But in general there’s no universal answer to this conundrum. No matter what you create, you can be assured that some folks will view you in a negative light. It’s not you or them, it’s just a result of having so many hundreds of millions of people online, all with different motives.

                                                                                              1. 4

                                                                                                The internet is so irony poisoned, I assume sincerity is irony and irony is sincerity. Makes it hard to assume good faith, even when we should.

                                                                                                We are what we pretend to be, so we must be careful about what we pretend to be.

                                                                                                1. 6

                                                                                                  I don’t have that overall impression myself.

                                                                                                  I mean, on many websites and communities, definitely. But, for me and myself, I try to engage with people on the internet sincerely, unless that make it actively hostile to do so.

                                                                                                  I generally think that this site, for example, hasn’t suffered from too much irony poison, but that could just be my impression.

                                                                                                  1. 3

                                                                                                    I have some friends that have just given up on serious conversation at all. They feel the well is so poisoned, the net has become a game of everybody speaking with insincerity.

                                                                                                    That’s a sad way to be. I’m glad there are only a few folks I know like this. I can understand why they’ve given up, but it still looks to me like it’s worth giving honesty your best shot.

                                                                                                    1. 1

                                                                                                      There’s an algorithm for that, you know.

                                                                                                    2. 2

                                                                                                      I tried to post a response but it didn’t show up? My phone crashed at the same time so maybe that’s the cause..

                                                                                                      Roughly two things to say:

                                                                                                      Re poison; I think identity is the solution, but deciding how we structure identity on the internet is the political problem of this century so lets leave that aside for now.

                                                                                                      But I mostly just want to clarify my stance, “I was wrong” in a headline, implies “and that is out of the ordinary” — so it’s an appeal to authority. Now I expect to see that claim backed up immediately or I don’t trust this person to be a careful communicator.

                                                                                                      In this case that was exactly what happened and so the headline had the intended effect. Nevertheless I think any status play should be carefully evaluated.. or you’ll be influenced by all sorts of “experts” while you wade through a sea of platitudes. Mine included.

                                                                                                      On a somewhat unrelated note: from my perspective blogging is impossible. Since I can’t know who the reader is I cannot back up my statements — people playing different language games with similar assumptions (but directed at various targets) means choosing sides based on how you argue your point (which any one of the groups would perhaps accept if you argue in their language).

                                                                                                      The author can bypass alot of that by establishing himself as an authority on the subject and staying high level. A great strategy, therefore very popular, therefore people get very jaded by common patterns being misused…

                                                                                                      1. 2

                                                                                                        On a somewhat unrelated note: from my perspective blogging is impossible

                                                                                                        I’ve been on internet forums ever since there was an internet.

                                                                                                        You’re on to something there. As the crowd size grew, I found myself either commenting/blogging longer and longer, trying to catch and prevent any misunderstanding … or just giving up and not commenting. So many discussions are now impossible to have.

                                                                                                        Blogging is a good example of a medium where people can drop in, grab a sentence or two, and then misconstrue it to mean/imply anything they want. If you try to clarify? They’ll just say you ninja-edited your blog. Text really sucks for difficult conversations, in many ways.

                                                                                                        This is a tough and non-trivial problem. I’m trying to switch to video. I suck at video, but it’s much more difficult to take it out of context with low effort and at least the folks watching can get a higher bandwidth by watching body language, inflection, etc.

                                                                                                        I find the most disturbing content I consume to be people who claim to be experts, mean well, are trying to help folks, and give out terrible advice. There’s nothing to do but walk on and ignore it, but whenever I see it I feel as if a great harm is being done. It’s the kind of thing that face-to-face conversations were made for, imo.

                                                                                              1. 3

                                                                                                Meta note: Please link to /preview or /mobilebasic!

                                                                                                1. 1

                                                                                                  Trust me, if I had a better link/knew that at the time, I would have used it. It’s a shame it’s on Google Docs, but I think it’s worth the read enough I suffered through it.

                                                                                                1. 13

                                                                                                  Teaching UNIX is still simple (BSD/Solaris/HP-UX/AIX/…).

                                                                                                  Teaching Linux is growing harder and harder.

                                                                                                  1. 6

                                                                                                    Teaching UNIX is still simple (BSD/Solaris/HP-UX/AIX/…).

                                                                                                    Have you ever even used a commercial unix? I wouldn’t wish smit on my worst enemy.

                                                                                                    1. 1

                                                                                                      Yes, several years with AIX, little less with HP-UX, a lot less (unfortunatelly) with Solaris but I also used OpenSolaris on the laptop in the past. Some AIX admins literally love smitty, some hate it. I am somewhere in the middle, it has its uses but personally I miss the FreeBSD approach with all configuration kept in plain and simple text configuration files. I always used F6 at smitty to check which command it will execute to put it onto some simple script instead of making all these choices at smitty level.

                                                                                                    2. 1

                                                                                                      Small but important detail, I would say.

                                                                                                      1. 1

                                                                                                        We should know a little more information about utilities or libraries than before. For instance, JS only was, but now we have to know JS and one of lib/framework React, Vue or Angular.

                                                                                                      1. 6

                                                                                                        The current aim is to fully replace the C++ implementation with the self-hosted backend for Zig 0.8.0, roughly 7 months from now.

                                                                                                        Little concerned about bootstrapping now…

                                                                                                        1. 9

                                                                                                          https://github.com/ziglang/zig-bootstrap

                                                                                                          Have a look at the build script. This is the current bootstrapping process and it’s the process that we will have at 1.0. I do reserve the right to regress this feature temporarily in between now and then.

                                                                                                          1. 3

                                                                                                            So essentially keeping the non-self-hosted implementation in “long term support” for bootstrap purposes, like LDC does? Good.

                                                                                                          2. 1

                                                                                                            Is that because the timeline is aggressive?

                                                                                                          1. 3

                                                                                                            AMOS is also one of a few operating systems (in fact, I struggle to think of any, though there probably are some) that effectively runs the 68K CPU in little endian mode. The CPU is still big-endian internally but the bus lines are swapped […]

                                                                                                            Why do you do this to me Cameron? Big endian x86 was bad enough.

                                                                                                            In all seriousness, great hack! I wish others would do the same for other minicomputer platforms…

                                                                                                            1. 1

                                                                                                              Seriously, though, can you think of any “little endian” 68K operating systems? I couldn’t!

                                                                                                            1. 14

                                                                                                              I’ve been using Emacs for more than 20 years and I would love to see some better defaults. IBuffer is vastly superior to the default buffer list. Make it the new default. Also, line and column number modes should just be on (seriously…). The default completion is also terrible. Any of the ones mentioned (Ivy, Helm, Ido) would be better.

                                                                                                              As an old timer myself (by today’s standards), I say make it nicer when you start it up. (And let’s be honest: the default welcome screen to the GUI version is fugly. That icon!)

                                                                                                              1. 6

                                                                                                                Yeah, it seems to me better defaults doesn’t mean making Emacs imitate a different editor, but make the existing experience more pleasant. It’s the kind of thing that makes the greybeards happy without changing their workflow, and allow people interested in Emacs as Emacs to not get disappointed with a backwards experience without having to slather a readymade config on top.

                                                                                                                1. 3

                                                                                                                  The Vim defaults aren’t that great either though, and that seems to be doing fairly well in spite of it. I’m not so sure this is really the reason; especially not stuff like “dark background” which seems like quite literal bikeshed painting.

                                                                                                                  I’m not so sure it’s fair to dismiss backwards compatibility as “grumpy greybeards”; it’s just annoying when behaviour changes, and preserving backwards compatibility in any user-facing application seems like a good goal. Vim tries to find a middle ground with its defaults.vim, but that’s just messy and makes things even more confusing.

                                                                                                                  Something like a defaults 2 in your startup file might be a good idea; Vim already has this with set [no]compatible and various programming languages have something similar as well (e.g. use strict in Perl and JavaScript). Perhaps the default could even be the new defaults and people wanting to retain the old defaults can use defaults 1.

                                                                                                                  1. 2

                                                                                                                    Agreed. I’ve been using Emacs for [mumble] years now, and I always appreciate it when I can remove a setting from my init.el because it’s finally become the new default.

                                                                                                                    And even when defaults change to something I don’t particularly like, that doesn’t much bother me as long as there’s still a way to put it back and the change is communicated clearly in the News. I think those of us with a lot of Emacs experience are probably the least sensitive to changing defaults because of this. It’s novice users who aren’t yet so comfortable with tweaking their Emacs setup who are going to have a harder time changing legacy defaults to be more to their liking or expectations. Prioritizing the out-of-the-box experience for them seems quite reasonable to me.