1. 2

    Is this not simply “librewashing” a bad idea? i.e. giving proponents of centralized DNS a way to claim that it is not just Google and Cloudflare running this? Or am I being too cynical here?

    1. 1

      I think that’s too cynical. How is standing up a service to compete with Cloudflare and Google bad for centralization?

      What would be better is if 50 other organizations did the same thing.

      1. 2

        How is standing up a service to compete with Cloudflare and Google bad for centralization?

        That was not exactly my point. My point is that is irrelevant to have mutiple copies of a bad idea. No matter how many “copies” of a DoH service you have, it remains a force of centralization. Sure there will be many at first, but in the end only 2 or 3 will get serious adoption.

        Would one deploy DoH in a decentralized style, i.e. every ISP deploys a DoH server for their customers, DoH brings you exactly nothing compared to DoT or even plain DNS. DoH encourages further centralization, and that is the bad thing here.

        If you are operating in a hostile network, e.g. when traveling, DoH also doesn’t really solve your problem. It may at the moment, but not when the capabilities of attackers catch up. Back to square one. Only a real VPN to a “trusted” endpoint would help in that scenario.

        So DoH does not solve any real problem in a satisfactory way, instead it encourages further centralization.

        1. 3

          No matter how many “copies” of a DoH service you have, it remains a force of centralization.

          You’ve made this assertion, but I don’t see you doing anything to support it, notwithstanding your point that DoH doesn’t offer anything over DoT (which is moot and anyway this service also provides DoT).

          So, again, why is DoH bad for centralization?

          1. 1

            So, again, why is DoH bad for centralization?

            Ah, I think the was some confusion here. I consider centralization a bad thing, not a good thing… DoH is good for centralization indeed!

            1. 2

              You can swap the question if you want, but it’s still a question you haven’t answered. Why is DoH good/bad for centralization?

    1. 30

      The prefers-color-scheme approach seems totally reasonable to me. I don’t prefer dark mode, personally, but I’d happily vote to add that as an option for people who do.

      1. 14

        I agree. lobste.rs design is also simple enough to be a good showcase for the feature.

        1. 2

          I completely agree with this, most of the time I prefer having a light colour theme but every now and then I have a sleepless night and want to browse on my phone for a bit, I’ve set up most of my apps and iOS to automatically change to dark color theme after 22:00, with the OLED displays in the newer iPhone models the difference is remarkable to a degree where I actually prefer the dark theme to the light for late night reading. In all other cases I much rather have the light scheme.

          Lobsters is currently the only site/source I regularly read which doesn’t support any such adaption. Some apps and sites require manually changing the theme though which is a hassle, most elegant is the ones that just follow the schedule I’ve set for nightshift and dark mode in the phone.

          This is coming from someone who uses light color schemes in my IDE and terminal even with the frequent backlash from my peers.

        1. 13

          Preach. I work at a company that’s heavily invested in SQL across the board, and it is amazing to be able to communicate across company silos in the common language of SQL.

          1. 4

            Exactly this, I tend to write plain SQL nowadays since you eventually have to work around some ORM specific problems in the end. Also, debugging queries that were generated by something like Hibernate is pure pain, plain SQL is clear and you can use whatever special tool your database backend provides, also, writing SQL forces you to think about your database model a bit more thorough.

            1. 5

              I quite like the way rails’s ActiveRecord lets you incrementally build up and name subqueries.

              I’ll often re-use a complex named scope by calling .to_sql, then use the resulting string as part of a larger query.

              That’s something that’s genuinely hard to do in SQL and I wish there were more granular tools for abstraction/re-use within SQL. Yes, I’m aware of with in postgres, and it goes a long way, but IMO it’s far inferior.

              1. 1

                Mixing hand-written SQL snippets with ORM queries always makes me very uneasy; how can you be sure the aliases are stable?

                1. 2

                  I largely wrap them in a subselect, which generates SQL like:

                  select * from my_table where id in (select id from my_table where <complex conditions>)

                  So far, postgres has been clever enough not to turn this into a performance cliff, and because a subselect is allowed to shadow outer names you never get alias conflicts.

                  1. 1

                    For such simple cases that should work. I was thinking more like subqueries where you need to anchor the conditions to the outer queries.

                    1. 1

                      That’s also OK, since you’re the one writing the aliases in the outer query.

                      1. 1

                        I remember doing it the other way around in Rails. So Rails generates the outer query and I write the subquery manually, which requires a WHERE on the outer query.

              2. 2

                I’ve discovered that whenever I need an ORM, I can usually accomplish the same functionality with SQL-stored procedures. I’d like to think that this usually gives me more freedom and flexibility than an ORM would provide me with.

                1. 8

                  I’ve worked on programs where we built up a large collection of stored procedures that basically locked us into that DB vendor. I don’t think I could ever recommend stored procedures again …

                  1. 5

                    That is indeed the main downside of doing things this way. You (often) either get locked in on a specific ORM-vendor, or you get locked in to a specific database vendor.

                    But if you keep the stored procedures as simple as a single transaction with few insert, update or delete statements which acts on multiple tables, (my running example is adding a new contact with n phone numbers) there is not much to be “locked in”.

                    “The pain has to be felt somewhere” applies here.

                    1. 4

                      How do you keep this under version control? I think having them in migrations (which you put in version control) would be fine, but painful; every simple change would mean you need to put the entire procedure in yet another migration file.

                      1. 5

                        (Perhaps this approach is naive, but) I keep my PostgreSQL views and functions in plain (.sql) files, and reload (psql [...] < foo.sql) them on every production deploy. They are defined with DROP IF EXISTS or CREATE OR REPLACE.

                        Meaning to say, they are outside of migrations, which are strictly comprised of schema-changing statements.

                        1. 1

                          Sounds doable. How many functions do you typically have? (wondering about scalability)

                          1. 1

                            I have one mid-sized app which could serve as an example. I ran grep CREATE [...] | wc -l on the files, and it shows 42 CREATEs. This is only going to grow, though, prob at a rate of about 2 or 3 a month.

                        2. 1

                          Essentially one file per procedure in a (sometimes) pretty annoying folder structure.

                          However: Version control is always a problem with relational databases, which is another argument against ORM’s: You should do your research and make the upfront investment to model your data-model correctly before you even start writing code at all.

                        3. 3

                          I’m very happy to be locked in to postgres (or sqlite for that matter) :)

                          1. 2

                            Haha. Was thinking the same thing.

                            FWIW, its not so much about vendor lock in but choosing a set of tools and living with the downsides of that decision.

                        4. 1

                          SQL views are also quite nice to simplify complicated JOIN queries.

                          1. 1

                            SQL views are also quite nice to simplify complicated JOIN queries.

                            That is the main ideas of SQL-views after all. The downside (or sometimes upside) is that for a 1:n-relation, you would either need to multiple queries, or you’d have to return a table with an array-like-type in one column.

                            I don’t like either if I can simply let the DBMS assemble the object and return it through one of multiple return values.

                    1. 10

                      Probably getting ready for Hurricane Dorian

                      1. 8

                        Yikes, be safe.

                      1. 15

                        I used to use a similar approach for filtering my mail until I discovered the Sieve filter language. I use it under Dovecot and the filters I’ve written are executed against every incoming mail. There’s no period where you’ll see unfiltered mail like cron or client based tools.

                        It’s installed similar to OP’s config - just .dovecot.sieve in your homedir.

                        1. 4

                          Surprised this isn’t getting upvoted, TBH. I saw the headline and thought, “Why would I use this instead of sieve?”

                        1. 2

                          Loved this.

                          I work in a Java house, and I’ve been struggling with the rigid, object-oriented model for a while. This video helped put words to those thoughts. Classes entangle (“complect”) data and behavior in a way that just isn’t simple.

                          1. 18

                            In this case, isn’t it better to reply to the comment, explaining why you think it’s misunderstood?

                            1. 7

                              This seems right to me. If you want to convey something specific to the person you’re downvoting, then reply to them. The categories, as I understand it, exist to curb reflexive downvoting.

                              1. 7

                                There are plenty of times I downvote without leaving a comment. Either because I’ve tried leaving a comment before and they were hostile/unreceptive, or because others have tried leaving a comment and failed to make any noticeable impression. It’s much easier to just downvote and move on than it is to engage in a hopeless battle to change someone’s behavior.

                                1. 7

                                  Regrettably, downvoting without explanation provides very weak signal and as a community norm is toxic.

                                  1. 17

                                    There’s a lot more that’s toxic about this place than downvotes. Other than certain members who continue to be inflammatory (which is not a synonym for “expressing opinions I disagree with,” as so many like to believe), for example, I think a legitimate argument could be made that upvotes are more toxic than downvotes. We continually have short, low-efffort, low-content comments upvoted, usually because they are “clever” or are a “zinger.” The upvotes, at minimum, encourage this type of behavior. If I want that shit, I’ll go to r/programming.

                                    Either way, one can’t be expected to do battle with folks whose comments are so predictably tired and inflammatory, that I can often say, “oh there’s one comment, and given the title of the post, I can bet that so-and-so said something like such-and-such.” There’s just no point. And then you have other members that just repeatedly grind the same ol’ political axe any chance they get. Nobody has the energy to respond to all of these comments. And even when you do, you’ll invariably be accused of tone policing (or similar) and “shutting down alternative opinions.” So then you have to deal with those folks too.

                                    So, from my perspective, we have a culture we’ve established here of very light moderation, and a very high tolerance for asinine/unconstructive behavior. Every time I come here, I more and more think about just deleting my account and leaving. I don’t see any of this changing, and my guess is that it’s only going to get worse as the number of members increase.

                                    1. 14

                                      The downvote category I have wished for much more often than the proposed one is “Rude”. Replying to an inflammatory or ad hominem comment often just makes the commenter escalate, and best-case it derails the discussion. “Troll” isn’t right because the commenter isn’t deliberately trolling (at least I’d like to think things aren’t that bad). If someone is being blatantly uncivil I’d like to be able to downvote that behavior, regardless of content.

                                      1. 2

                                        I could go for a category like that. Anything along the lines of: mean, disrespectful, uncharitable.

                                      2. 8

                                        I often get a lot of ‘troll’ down votes mixed with lots of up votes. I don’t think I am a troll, so don’t really know what to do when that happens and nobody says anything. It is just an anonymous ‘fuck you’ from someone out there for some reason I don’t understand.

                                        One thing I found is If you want to make long form comments and have people see it, you are better off making a submission or blog post than trying to convince a single person of anything via comments.

                                        anyway, if it was me who annoyed you, sorry about that, its not something I’m doing on purpose.

                                        1. 6

                                          I hear you. I don’t have an answer - if I did, I’d be doing it.

                                          I definitely agree that there’s a trap where short jokes rise to the top. I think upvotes do have some value in letting people feel good for saying something that was received well, but it’s an open question whether the benefits outweigh the costs.

                                          I don’t have any special insight to offer on the other issues you mentioned, other than to say that for a place to be a community requires members to be committed to positive engagement. It isn’t easy.

                                          1. 4

                                            Yeah, indeed, it is quite hard. IMO, probably the only path is to 1) convince existing moderators or new moderators to devote more time to policing this place and 2) shift the culture of the community to welcome stricter moderation of content. That’s… hard for any number of reasons!

                                          2. 5

                                            We continually have short, low-efffort, low-content comments upvoted, usually because they are “clever” or are a “zinger.” The upvotes, at minimum, encourage this type of behavior.

                                            How often does this happen, though? Anecdotally, I only ever see the low-effort comments once in a while - usually on the more popular posts that have been simmering on the front page for more than a day. And usually those replies aren’t ever top-level, usually a reply to something else. In my experience, the vast majority of posts on this site feel thoughtful and sincere. When the “clever” posts happen, I’m actually relieved and reminded, “oh yeah, lobste.rs folks do have a sense of humor”, even if it wasn’t all that clever or funny.

                                            Either way, one can’t be expected to do battle with folks whose comments are so predictably tired and inflammatory, that I can often say, “oh there’s one comment, and given the title of the post, I can bet that so-and-so said something like such-and-such.”

                                            This is something I endorse. I will often see people attacking other peoples’ opinions directly on this website. I’m sure that a certain subset of folks here toe the line between “strong opinion” and “inflammatory”, and they know they’re toeing the line, but they haven’t done anything technically against the rules - but after reading their comments, there’s a bad taste left in your mouth. They may use harsh language directed at the person they’re replying to, or deliberately insult a piece of what they’re saying in a curt manner, or being just plain rude. Perhaps a “arguing in bad faith” or “rude” downvote option might help, but then again, we already have a “troll” downvote option - so that may just be what we want to use in those situations.

                                            I suppose I don’t really browse the site as often as other people here, so my experience may not be in line with yours. Thoughts?

                                            (postscript: I’m always worried I’m going to misunderstand someone’s argument and then have a whole thing where it feels like I’m arguing in bad faith when in reality, I’m being confident about the entirely wrong thing because my reading comprehension sucks. When faced with “post opinion” or “delete and avoid possible misunderstanding” I will more often than not choose the latter to avoid uncomfortable confrontation.)

                                            1. 7

                                              I personally feel like I see those low effort zingers a lot. The linked thread from this meta thread has them, for example. On the one hand, I think humor is good, but on the other, a lot of it that I see here do it at the expense of others. I see a lot of comments in the style of n-gate.com, which I personally think is just a complete and total pile of garbage, although it’s perhaps less on-the-nose in comments here at lobste.rs.

                                              But, everyone is likely to have their own standards for what kind of conversations they want to see here. I’d prefer to keep high standards. We already have places on the Internet where the n-gate style of humor is encouraged and accepted. In contrast, we have precious few places where we can expect continued high quality discussion. Lobste.rs is decent in the grand scheme of things; I’m likely a harsh critic because I sense the potential to be something better.

                                            2. 1

                                              I think a legitimate argument could be made that upvotes are more toxic than downvotes.

                                              (my emphasis)

                                              Why? A comment with a large number of upvotes is not promoted in any way apart from the small number inside the arrows. There’s no sorting algorithm like on Reddit that promotes this.

                                              If you believe that people are changing their commenting style for karma points, thus degrading the site for everyone else, you may have a point. But “toxic” is a very strong word.

                                              1. 4

                                                I don’t really want to get lost in definitions of words. I used toxic because friendlysock did. If you want to choose a different word for describing both situations that is less strong, then sure, go right ahead. Also, saying it’s about karma kind of undervalues it. Most of us are human, and it’s not unlikely that we get a dopamine hit when we say something that is popularly validated.

                                                1. 2

                                                  There’s a big difference between a forum which is genuinely toxic - where newcomers are looked down upon and insulted, where snark reigns supreme, and trolls run unchecked - and a forum that might tend towards silliness and unseriousness but doesn’t literally make people anxious to visit.

                                                  I’m fine with zingers and one-liners being downvoted - “me-too” and “off-topic” work for this - if the community feels they have no place here. I don’t see it at this moment in time as a big deal though.

                                            3. 2

                                              What if a comment couldn’t be downvoted unless it has at least one reply? Or a given person is not allowed to downvote unless they have left a reply?

                                              1. 3

                                                That would just play into the hands of literal trolls. A downvote is all the response a troll comment deserves.

                                            4. 3

                                              I’ve done this too. My comment above was solely in the case where it seems as if a commenter has specifically misunderstood a post or a comment. In that case, I believe it’s more constructive to reply and ask for clarification, instead of leaving a hypothetical “misunderstood” downvote.

                                              1. 3

                                                I’d prefer that the default behavior was moving on with no action.

                                                1. 2

                                                  Oh I don’t mean to suggest anyone has a responsibility to reply whenever they downvote. I think I’ve done the same thing. I only mean to say that if you do want to communicate something specific, they say it.

                                                  1. 1

                                                    Aye yeah, that makes sense!

                                              2. 4

                                                I’m of the opinion that the reply should be in addition to the downvote, to keep the discussion on track. Otherwise the comment will have the same moderation value as other comments, increasing its exposure and causing more confusion.

                                                1. 3

                                                  I would echo this, misunderstandings happen, it doesn’t necessarily warrant a downvote. If you feel like clearing it up, that keeps the conversation going in what is hopefully a constructive way. If you don’t feel like clearing it up, that is also fine.

                                                  And perhaps I am misunderstanding here, but a downvote says you were wrong to misunderstand and I may or may not clear up the misunderstanding.

                                                1. 1

                                                  I’ve only read the abstract, but it seems like an equally important question would be the time-to-fix for post-release bugs with code coverage vs without. My own experience is that bugs are easier to fix when the associated code has test coverage.

                                                  1. 1

                                                    Intuitively: along with bug fixing, refactoring and behavior-altering rewrites are also facilitated by good test coverage. To my mind, preventing bugs is not necessarily the main purpose. Nonetheless, the results in this study are very interesting.

                                                    (See also the effect of JavaScript static typing on preventing bugs.)

                                                  1. 3

                                                    …a bash script was hacked together to build all our [core] (232) packages one by one leading to 0% reproducibility…

                                                    He certainly doesn’t beat around the bush!

                                                    It always fascinates me how complex/unwieldable real-world systems become.

                                                    1. 2

                                                      We still want to implement a CI service to continuously test our packages, but I haven’t find something which can easily queue builds, execute builds on multiple servers. I know how to implement it with Jenkins but I’d rather not use jenkins for various reasons ;-)

                                                      1. 2

                                                        I’m not crazy about Jenkins either. Have you considered Buildbot?

                                                    1. 2
                                                      • et-see
                                                      • like the beginning of “liberal”
                                                      • care
                                                      • eff-ess-check
                                                      • skeem-uh, plural skeemz
                                                      1. 9

                                                        I do most stuff in the terminal. File management, email, IM, music, word processing (plaintext vim for simple notes, vim with latex for nice stuff).

                                                        We’re probably all on the same page here so I’m curious as to what people don’t do.

                                                        • I can’t live with terminal web browsing. It sucks.
                                                        • I failed at RSS. Newsboat is great but too many feeds stops it in its tracks, plus no images sucks (although I think it could be implemented).
                                                        • Even simple rescaling or format conversion of images I tend to do in GIMP. I just can never remember the convert command to use.
                                                        1. 6

                                                          Photo editing and photo organization/tagging are two things that I definitely can’t do in the terminal.

                                                          1. 1

                                                            I use some rss to email program to read my feeds the same way I read my emails. I can’t remember what it’s called off the top of my head but it shouldn’t be hard to find. Have you ever tried doing something like that?

                                                            1. 1

                                                              Is that something you self-host, or a third-party service?

                                                              1. 2

                                                                The one that I use I run on a cron job locally, and it just adds a folder into my main maildir.

                                                          1. 2

                                                            Finishing off the baseboards in my bedroom and dining room (just replaced the carpet with wood laminate). Small roof repair. Taking my wife and kids to visit my parents out on the coast tomorrow. Inlaws on Sunday.