1. 3

    Perhaps this is a reasonable place to open a discussion about why lobste.rs doesn’t have a politics tag. The way technology is built and used is political; it’s hard to entertain arguments against that. I have deep empathy with the point of view that technology is a craft and an engineering discipline and there is a whole set of discussions and a space to be made for talking about technology in as non political a way as possible, which is what lobste.rs currently does, and I do kind of like it like that.

    However the reason I think it’s important to bring political discourse into this space is because you lobste.rs are making politics decisions when you choose your job, choose the work you do and make critical technological and political decisions as part of your work which affect All Your Relationships*; this is an intelligent, considerate and engaged community and I see much more harm than good in choosing to hide from that fact, though I will say again I have a huge respect for and enjoyment of this space as a non-political one.

    So I suppose I’d like to pose the question, given that the tagging system allows any user to filter out posts they are not interested in, what does the lobste.rs community have to lose by opening itself to some political discussion? Is there a feeling that it will somehow pose a risk to this community? Is there a fear that a certain type of user will be attracted, that a certain type of behaviour will be allowed/promoted by this which will have a negative impact throughout the whole site?

    I don’t want to promote the idea that lobste.rs should be a political space, I want to check in with everyone here that we are all ok that it isn’t and have properly checked in with what our fears and rationalisations are about that choice.

    ** The ‘All Your Relationships’ idea comes from the talk in this link which suggests the idea that all technologists are touching a huge network of people and that in some way you have a real relationship with many many people, e.g. all the people that worked to manufacture the phone in your pocket.

    1. 6
      Short answer

      what does the lobste.rs community have to lose by opening itself to some political discussion?

      see

      this is an intelligent, considerate and engaged community

      Long answer

      Tag usage

      First, a note on tags: every tag we add is an explicit endorsement that that sort of content is acceptable and encouraged on the site–the omission of a tag is a hint that maybe that content would be better served elsewhere.

      If we were to include a politics tag, we’d in effect be saying “Okay, the distribution of topics appropriate for Lobsters now includes politics. This is valid to bring up in all conversations, because at worst it’s merely mislabeled and mistagged.” So, we’re then stuck with more politics in everyday use in the site.

      Availability elsewhere

      Simply put, politics are better covered elsewhere:

      It’s not like our fellow crustaceans can’t find something to slate their thirst for politics elsewhere–not only that, but they have dozens if not hundreds of sites to choose from to match their political requirements.

      By contrast, Lobsters itself is a rare gem (if I may say so myself) in that it is relatively pure technical discussion, a refuge from a world of blathering bullshit and ponderous pandering.

      Politics is the boardkiller

      I’ve explored elsewhere how political submissions can be used to farm karma at the expense of discussion. The key things to note about political articles:

      • They rarely have any technical content, as the point of politics is not education but subjugation
      • They tend to cover topics that everybody has opinions about but few have expertise in
      • They usually talk about things over which none of the discussion participants actually have any control, so you get a lot of yelling back and forth without any action
      • There is a gigantic industry devoted to crafting the most divisive articles possible

      We probably share this board with a few tankies. We probably share this board with a few Nazis. We have folks here that don’t recognize a standard arrangement of genders or possibly even human identities. We have folks that are from the US, from the UK, from the rest of the world. We even have a few Windows users.

      And we all get along (mostly) because we aren’t constantly pitted against each other in pointless tribal ideological posturing and signaling. We all get to respect each other as practitioners of technology instead of representatives of some other out-group.

      Why would we want to risk sacrificing that?

      EDIT:

      I’ll point out that 4chan has created at least 2 containment boards for politics (the equivalent of your proposed tag), and not only has that failed it’s only fostered some of the most corrosive drivel on the internet.

      1. 6

        Perhaps this is a reasonable place to open a discussion about why lobste.rs doesn’t have a politics tag.

        It’s not. We have the meta tag and chat for meta discussions.

        1. 1

          Chat link is broken? Are you referring to IRC? For people that don’t inhabit that space is there any mechanism for decisions / important discussions that happen there to get filtered back to the website?

          1. 1

            Fixed the chat link; should’ve been to /chat not /, sorry about that.

            Discussion filters back into meta threads. We’re generally just shooting the breeze or kicking ideas around, it’s not very serious because it’s so transient and has only a fraction of the community on it. The only important thing I can think of that’s come out of it was this comment (though it’s been a long couple days for me so maybe I’m forgetting something).

        2. 8

          Perhaps this is a reasonable place to open a discussion about why lobste.rs doesn’t have a politics tag.

          We don’t have a politics tag, in part and sufficiently, because the topic is too broad for a contributor to have a meaningful understanding of the topics and discussion that would fall under it. For folk that can make meaningful, informed, truthful, and constructive contributions in an on-topic matter, there is the law tag.

          We’re a community of practitioners. The practice of politics is law. Practitioners of law, whether legislators, lawyers, judges, or any of the various roles in courts and the extant legal system are welcome here. Along with the technical discussions these practitioners engage in.

          However the reason I think it’s important to bring political discourse into this space is because you…

          This is called entryism: “…an organisation or state encourages its members or supporters to join another, usually larger, organisation in an attempt to expand influence and expand their ideas and program.”

          Here you providing a totalizing reason (“All Your Relationships”) as to why a new tag should be added. Tags are deflationary, not inflationary. They identify areas where a subset of our readers and contributors can expect detailed, operational, consistent, and where possible even scientific discourse. And that further they can measure their own understanding of the topic because it has clear and defined boundaries.

          Politics is off-topic here because it lacks parsimony. In order to create space for technical topics we do not discriminate on the basis of people, groups, or fields of endeavor. Folk are here to talk about and work on their own and their field’s issues in sufficient technical detail to coordinate with their peers. Ideology, politics, propaganda, framing, and other fictionalisms are an impediment to dealing with the technical and material nature of our work and world.

          The chattering class has plenty of places on the Internet to proselytize. This isn’t one of them.

          1. 2

            “Perhaps this is a reasonable place to open a discussion about why lobste.rs doesn’t have a politics tag.”

            We did. The were a large number of people in support of or against politics or tags. No clear winner. Further, most that support it want to be able to talk about it on any article to push their political views. Of them, some want many views to be discussed as part of the political process and others want all opponents censored and/or ejected. For different reasons, both need political comments available on every thread. There’s some others but that’s the major groups based on what they said or did.

            Im in the group that’s for banning most politics or limiting it to politically-focused threads tagged as such. Like I said, the prior discussions got nowhere for my side. So, I discourage even talking about it to avoid polluting more threads. We can just do a yearly meta or something to assess if the community’s preferences have changed. That’s assuming @pushcx would go with the popular vote to begin with. His own convictions might lead him to do something different.

            Who knows except to say we’re better off not talking about banning politics or a new tag more than once a year since it’s wasted bandwidth that also often causes headaches for our moderators when fights break out.

            1. 1

              Is there a link to where we (who?) did?

              1. 2

                I can’t find the ones about tags past the comments we just made. Search engine isn’t that good. The political arguments have mostly been scattered among many threads. No links to take you right to what you want. Sorry. The fact that I don’t have one readily available might be a good reason to do another one as a tag suggestion. Then, you’ll probably see people’s views real quickly. ;)

            2. [Comment removed by author]

              1. 2

                This talk is only tangentially about climate change, as one globally significant effect that technology has and a great example of how to think about the result of technological work.

                ‘politics’ is about how groups of people take action together, (in anything other than the most rudimentary ways). So climate change science is different from, but will inform climate change politics, which will be the process of figuring out as a group of people how to collectively respond to the information we understand from climate change science.

                to bring this back to my original point, I’m suggesting that the lobste.rs community can have a positive benefit on politics (therefore directly influencing e.g. climate change) through technology by discussion, and therefore should consider carefully the choice to not do that.

                1. 1

                  You benefit politics by interacting with branches of government, bribes to politicians paid through lobbyists, court action, and last (in effectiveness for time invested) getting a huge pile of voters to push their officials for a specific thing. You can’t do any of that though a tiny, slow-moving, tech forum. We were neither setup for mass action or government interventions nor mostly capable of it. So, doing the people-oriented parts of reform on Lobsters is mostly waste.

                  Now, Lobsters can help on the legal or technical side by creating the alternatives along with cost-benefit analyses. Then, get folks to share and describe it in places that get lots of attention. Some can even be a business that becomes a Barnacl.es submission after succeeding financially and on mission as a nonprofit or public-benefit corporation. Lobsters has more talent for producing and reviewing the tech than many places. That’s what we should focus on, submit, and talk about here. As we already do. :)

            1. 5

              The tone of this article is really strange. My expectation would be that it’s written by someone who has or at least understands social skills in order to know how to fake them, but that doesn’t seem to be the case.

              The article seems like a huge elaboration on the ‘hit the nail with a slipper or glass bottle’ story.

              1. 5

                hard to believe any smoking guns would actually have been published given the authors position with Microsoft

                1. 2

                  If the sources are available, I would have guessed as much from the fact that no one reported something like this yet.

                  1. 1

                    That sounds similar to the many eyeballs argument. That one was refuted by the bugs found that were over a decade old in widely-used software. Someone would have to look, find evidence, present thin-looking evidence in a way they thought would achieve something, get noticed enough for us to know that, and (important if I did it) be ready to take all the legal muscle Microsoft would throw at you.

                    I don’t think an absence of evidence proves anything here given nature of the evidence and chilling effect legal system might create. Also, I have no beliefs about this investigation one way or another: just noting many eyeballs doesn’t work consistently or prove anything. You need talented, time-consuming, trustworthy review instead for stuff like that.

                1. 1

                  Why doesn’t this have php tag?

                    1. 2

                      #politics

                      1. 0

                        Can we keep the hashtags to twitter?

                        1. 7

                          Can we keep the politics to Twitter?

                          1. 6

                            (Thanks, purpose of my post was to call out this point. I feel a tension with lobste.rs turning a blind eye to the politics of tech - as signified by there not being a politics tag.)

                            1. 3

                              No, tech and politics are inseparable. What you choose to advance is a political decision. The only politics we should exclude from lobsters is truly intolerant zero-sum politics. If you wrote an article about trying to help families in Venezuela with a right wing bent I doubt any would bat an eye. It’s about trying to do good instead of being unable to see outside of zero sum attitudes.

                              Politics is fine, articles that advocate for zero-sum views are not. We should be moving forward and using creative solutions that help everyone where possible and making mutual compromises when it’s not. This is not a partisan view.

                              1. 3

                                Why do you think Lobsters doesn’t have a “politics” tag?

                                1. 1

                                  I don’t really have anything more to add here, I just think it’s funny that someone (presumably u/voronoipotato) downvoted a question as “incorrect”.

                        1. 6

                          I might be making too big a deal about this, but I figure I’ll just be open and see what the community thinks.

                          Is anyone else kinda bothered by these posts? @anthonygore submitted 50+ stories, all of which are from his personal blog, and has never commented. He’s clearly not trying to engage with the community in any way and is exclusively marketing his own content. And most of his stories are flagged as spam, so we don’t even think it’s good content.

                          Also, he’s marking himself as the author of all of his submissions, which is clearly untrue: if you follow this link, you’ll see it was by “PJ Trainor”.

                          1. 3

                            This pretty low-quality stuff and the scores reflect it, though it’s on-topic. It’s hard to draw a line the behavior, though. We have some excellent authors who really only submit their own posts and interact little with the community, and that’s worth preserving.

                            If we feel the need to Do Something, maybe the best approach would be to highlight low-interaction/low-scoring self-promoters on a mod dashboard so mods can nudge them by PM. Just looking for the lightest touch, first.

                            1. 3

                              We have some excellent authors who really only submit their own posts and interact little with the community, and that’s worth preserving.

                              I’m highlighting this. I think any response should lean toward taking a bit of spam or low-quality content to avoid sending those low-interaction, high-quality submitters away.

                            2. 2

                              These kind of things really irk me too, I’m generally very sensitive to people submitting low quality content to lobste.rs for ad revenue or just to get the hits up on their low quality blog or for some kind of self promotion, but I’m generally always reassured by the lobste.rs voting system because it maybe take a week or two but these low quality posters always get recognised and downvoted, at least so far.

                              There’s also another positive thing which is if I feel like people actually are putting in the effort or wanting to work on their writing I give positive feedback at least once or twice on why the article wasn’t very good. The response to this invariably correlates with if the author is trying to write good stuff or not.

                            1. 6

                              excuse lack of politeness, but what is this trashy blogspam doing on lobsters, from an obvious shill account.

                              1. 8

                                If you like this, you will love LibreRouter, which is an active fully open source router. The team behind it are from the community network and open source community e.g. from FreiFunk, AlterMundi and LibreMesh.

                                1. -1

                                  Urgh, what a horrible page. @johnblood this page is a clusterfuck, hope your ad revenue is nice.

                                  I’m not convinced, the cost of the extension boards is insanely high given what the cost would be to just shove it all on one board and that two of them don’t have active components - you need to purchase the actual e.g. WNIC or SFP module on top, not to mention antennas for wifi

                                  With the super professionally produced video makes it seem even more like crowdfunding fodder to make a buck.

                                  1. 3

                                    cz.nic appears to be a non-profit; I’m not familiar with Czech law, but section 46 of their statutes prohibit disbursements to their member base, and it’s an association of legal entities, not a share-based structure. The statutes: https://www.nic.cz/files/nic/doc/Stanovy__20170701_AJ.pdf

                                    So, no “making a buck”; I believe that the people involved are all salaried. cz.nic have been doing good solid open source software work for many years. It honestly looked to me like a fun video put together in the spirit of crowd-funding, relying upon “humor” and editing away anyone going “uhm” or “er”.

                                    I backed the Turris Omnia and am Very Happy with the resulting product, as it’s by far the best home router I’ve owned. It’s things like “actually pushes out software updates with security fixes, in good time” which help keep it that way. So I backed the Mox too, for more ad-hoc use.

                                    1. -1

                                      Thank you for your kind words.

                                    1. 5

                                      @flaviocopes i think there are lots of minor inaccuracies in here which make it less valuable as a reference / learning piece. Sorry I can’t list them all, but the code smell for me in the writing is that there is not a super clear description of what map, filter and reduce do, and so the examples are a little arbitrary / fuzzy, or are not really the ‘general’ cases that illustrate each method, and this suggests that maybe you haven’t fully understood them. hope that’s helpful, ping if you do any rewrite and want review.

                                      1. 4

                                        I’m sure there’s value in understanding the ideologically best case scenario but without living in the real world, with established, incumbent legacy technological systems and social structures, this perfect case scenario has no possibility to be implemented, or get anywhere close.

                                        For anything like these ideas to be deployed needs huge social change first.

                                        1. 21

                                          The value of RMS is that he serves as a platinum standard against which to check proposals. What he suggests is usually not possible, but it is almost always right.

                                          1. 11

                                            Or left, actually.

                                            EDIT: Sorry, couldn’t help myself.

                                            RMS really expands the discussion field a lot and without him, we would be making compromises from compromises – seen from a perspective that includes him. And frankly, things are (rather slowly) moving his way.

                                          2. 2

                                            Exactly. Better to invest writeups in stuff that can actually happen since it meets real-world requirements.

                                            1. 1

                                              “real-world requirements” like what?

                                              1. 2

                                                Like how the market decided to avoid paid offerings in favor of free, surveillance-driven offerings to the tune of a billion users or so with tens to hundreds of billions of dollars going to those companies. Go tell everyone using Facebook, Google, freemail, Twitter, etc that they make money selling them out so they need to quit. They won’t. They value the free services over their own privacy, safety, and freedom at least as far as the surveillance impacts those. That some or most of them don’t fully understand the tradeoff they made doesn’t change the fact that they have most of the money and votes to dictate what going on.

                                                Stallman starts with the premise that we’re for ideological reasons going to ban surveillance-oriented businesses by default. As in, people might give up Facebook, Google, freemail, Twitter etc. They’re not going to. So, his proposal isn’t grounded in reality to begin with. He should start with “Most people want this system, will give billions to those who build such systems in a way that grabs huge numbers of users, and will vote for politicians that protect such systems.” Then, his proposal needs to go from there to get the support of those people. Looks nigh impossible for his position to work if he starts with real-world requirements. Whereas, something like Europe’s data protection laws sounded good to me from the beginning as a starting point on addressing this stuff. At the least, I learned what Facebook had on me. ;)

                                                If anything, what he’s really proposing is voluntary action that will be taken by niche companies who usually won’t be financially successful enough to fight governments or big companies in Congress or court. Knowing that ahead of time would make even fewer people join such a cause. Better to start with what’s going on in the real world in terms of existing user preferences, regulations, laws, etc. Then, work on improvements from there in a way that they’re marketable to users, customers, and/or voters.

                                                1. 1

                                                  i see what you’re saying but i don’t think any of those obstacles are truly requirements. for some people, constant surveillance of the entire population is a “requirement.” but really these are just forces that need to be overcome. i don’t know how you draw the line and say that some modest amount of change is possible, but RMS’s proposal is not.

                                          1. 5

                                            lots of content to explain what was essentially simple concept, jump to 37’20 for a 2 minute version

                                            1. 2

                                              I read the book - it’s a bit one sided but it covers stuff in pretty thorough detail and is pretty entertaining along the way, recommended.

                                              1. 2

                                                can’t wait to see if Uber business practices affected the development/usage/maturity of the software

                                                1. 3

                                                  @feoh why the heck is your blog grey on white? I’d love to read this but even after I increase the text size twice it’s still hard on my eyes.

                                                  Contrast Rebellion - to hell with unreadable, low-contrast texts!

                                                  1. 2

                                                    Please take another look and see what you think of the new theme I installed. It’s the only theme in the default Wordpress arsenal that cites high contrast and accessibility.

                                                    I couldn’t figure out how to adjust the text color in and of itself. Sorry, i’m not a web dev :)

                                                    1. 2

                                                      This text is much more readable. The layout of the site has lost a bit of ‘style’ and your header graphic is the same as the article graphic now which looks like a bug, but if you’re going for accessibility this is a bit better.

                                                      I guess digging through Wordpress theme CSS is not much fun, but your original theme just with a tweaked font colour would have been fine too ;)

                                                      (And nothing against Wordpress here, use it when I have certain kinds of projects that need to get deployed v. fast and with certain kinds of user constraints)

                                                      1. 1

                                                        Digging through the CSS isn’t an option for me. I’m a System Development Engineer with Amazon Web Services. I mean, I know enough CSS to set a background and maybe change some spacing in HTML, but I haven’t the foggiest about how to dig in and modify a particular CSS attribute in Wordpress.

                                                        I’ll play with the theme more, I’d bet dollars for donuts that there’s a way to get the header graphic for my blog back, but accessibility is super important to me, so if I can’t with the time I have available then that’s a price I’m happy to pay.

                                                        Thanks again for the report.

                                                        1. 1

                                                          Ah. Interesting. In point of fact I CAN’T modify the CSS myself. To do that I’d need to go from paying wordpress.com $100 a year to $200 a year. Not gonna happen :)

                                                          1. 1

                                                            I have a dreamhost account which I use for their free unlimited Wordpress hosting, because it’s generally zero hassle and is a ‘proper’ full Wordpress install. Happy to host your WP there if it’s any use, with couple of caveats.

                                                        2. 1

                                                          As a reader I thank you very much for taking into account the remarks.

                                                          I really enjoyed the article, I’m still a junior in sysadm/ops and I hope I will Learn as much as you do!

                                                          1. 1

                                                            Welcome to the fold! It’s an incredible career path and I love my job to bits and am regularly excited to get up and go to work in the morning :)

                                                        3. 1

                                                          I’m partially blind so I’m super sensitive to this. Thanks for letting me know, I will choose a different theme post haste.

                                                          If you can manage to refrain from taking the usual dump on Wordpress (It’s what I use and like. Please deal appropriately :) do you have any suggestions on higher contrast themes you like? Or even other Wordpress blogs you find more readable?

                                                          1. 2

                                                            I like almost all of Anders Noren’s themes: http://www.andersnoren.se/teman/

                                                            The code quality is better than the average WordPress theme, and every one of those looks clean and readable (to me at least).

                                                            1. 1

                                                              I’m gonna confess to using wordpress.com so I pretty much only use themes they provide by default, but thanks for the pointer. If I get time and if I can install random themes I’ll definitely look into it!

                                                        1. 35

                                                          I’ll bite.

                                                          General industry trends
                                                          • (5 years) Ready VC will dry up, advertising revenue will bottomout, and companies will have to tighten their belts, disgorging legions of middlingly-skilled developers onto the market–salaries will plummet.
                                                          • (10 years) There will be a loud and messy legal discrimination case ruling in favor of protecting political beliefs and out-of-work activities (probably defending some skinhead). This will accelerate an avalanche of HR drama. People not from the American coasts will continue business as usual.
                                                          • (10 years) There will be at least two major unions for software engineers with proper collective bargaining.
                                                          • (10 years) Increasingly, we’ll see more “coop” teams. The average size will be about half of what it is today, organized around smaller and more cohesive business ideas. These teams will have equal ownership in the profits of their projects.
                                                          Education
                                                          • (5 years) All schools will have some form of programming taught. Most will be garbage.
                                                          • (10 years) Workforce starts getting hit with students who grew up on touchscreens and walled gardens. They are worse at programming than the folks that came before them. They are also more pleasant to work with, when they’re not looking at their phones.
                                                          • (10 years) Some schools will ban social media and communications devices to promote classroom focus.
                                                          • (15 years) There will be a serious retrospective analysis in an academic journal pointing out that web development was almost deliberately constructed to make teaching it as a craft as hard as possible.
                                                          Networking
                                                          • (5 years) Mesh networks still don’t matter. :(
                                                          • (10 years) Mesh networks matter, but are a great way to get in trouble with the government.
                                                          • (10 years) IPv6 still isn’t rolled out properly.
                                                          • (15 years) It is impossible to host your own server on the “public” internet unless you’re a business.
                                                          Devops
                                                          • (5 years) Security, cost, and regulatory concerns are going to move people back towards running their own hardware.
                                                          • (10 years) Containers will be stuck in Big Enterprise, and everybody else will realize they were a mistake made to compensate for unskilled developers.
                                                          • (15 years) There will still be work available for legacy Rails applications.
                                                          Hardware
                                                          • (5 years) Alternative battery and PCB techniques allow for more flexible electronics. This initially only shows up in toys, later spreads to fashion. Limited use otherwise.
                                                          • (5 years) VR fails to revitalize the wounded videocard market. Videocard manufacturers are on permanent decline due to pathologies of selling to the cryptobutts folks at expense of building reliable customer base. Gamers have decided graphics are Good Enough, and don’t pay for new gear.
                                                          • (10 years) No significant changes in core count or clock speed will be practical, focus will be shifted instead to power consumption, heat dissipation, and DRM. Chipmakers slash R&D budgets in favor of legal team sizes, since that’s what actually ensures income.

                                                          ~

                                                          I’ve got other fun ones, but that’s a good start I think.

                                                          1. 7

                                                            (5 years) Security, cost, and regulatory concerns are going to move people back towards running their own hardware.

                                                            As of today, public cloud is actually solving several (and way more than people running their own hardware) of these issues.

                                                            (10 years) Containers will be stuck in Big Enterprise, and everybody else will realize they were a mistake made to compensate for unskilled developers.

                                                            Containers are actually solving some real problems, several of them already were independently solved, but containers bring a more cohesive solution.

                                                            1. 1

                                                              Containers are actually solving some real problems, several of them already were independently solved, but containers bring a more cohesive solution.

                                                              I am interested, could you elaborate?

                                                              1. 1

                                                                The two main ones that I often mention in favor of containers (trying to stay concise):

                                                                • Isolation: We previously had VMs on a virtualization level but they’re heavy, potentially slow to boot and obscure (try to launch xen and manage vms your pet server), and jail/chroot are way harder to setup and specific to each of your application and do not allow you to restrict resources (to my knowledge).
                                                                • Standard interface: Very useful for orchestration as an example, several tool existed to deploy applications with an orchestrator, but it was mostly executables and suffered from the lack of isolation. Statically compiling solved some of theses issues, but not every application can be.

                                                                Containers are a solution to some problems but not the solution to everything. I just think that wishing they weren’t there, probably means the interlocutor didn’t understand the benefits of it.

                                                                1. 2

                                                                  I just think that wishing they weren’t there, probably means the interlocutor didn’t understand the benefits of it.

                                                                  I’ve been using FreeBSD jails since 2000, and Solaris zones since Solaris 10, circa 2005. I’ve been writing alternative front-ends for containers in Linux. I think I understand containers and their benefits pretty well.

                                                                  That doesn’t mean I don’t think docker, and kubernetes, and all the “modern” stuff are not a steaming pile, both the idea and especially the implementation.

                                                                  There is nothing wrong with container technology, containers are great. But there is something fundamentally wrong with the way software is deployed today, using containers.

                                                                  1. 1

                                                                    But there is something fundamentally wrong with the way software is deployed today, using containers.

                                                                    Can you elaborate? Do you have resources to share on that? I feel a comment on Lobsters might a be a bit light to explain such a statement.

                                                                  2. 1

                                                                    You can actually set resource isolation on various levels; classic Unix quotas, priorities (“nice” in sh) and setrusage() (“ulimit” in sh); Linux cgroups etc. (which is what Docker uses, IIUC); and/or more-specific solutions such as java -Xmx […].

                                                                    1. 2

                                                                      So you have to use X different tools and syntax to, set the CPU/RAM/IO/… limits, and why using cgroups when you can have cgroups + other features using containers? I mean, your answer is correct but in reality, it’s deeply annoying to work with these at large scale.

                                                                      1. 4

                                                                        Eh, I’m a pretty decent old-school sysadmin, and Docker isn’t what I’d consider stable. (Or supported on OpenBSD.) I think this is more of a choose-your-own-pain case.

                                                                        1. 3

                                                                          I really feel this debate is exactly like debates about programming languages. It all depends of your use-cases and experience with each technologies!

                                                                          1. 2

                                                                            I’ll second that. We use Docker for some internal stuff and it’s not very stable in my experience.

                                                                            1. 1

                                                                              If you have <10 applications to run for decades, don’t use Docker. If you have +100 applications to launch and update regularly, or at scale, you often don’t care if 1 or 2 containers die sometimes. You just restart them and it’s almost expected that you won’t reach 100% stability.

                                                                              1. 1

                                                                                I’m not sure I buy that.

                                                                                Out testing infrastructure uses docker containers. I don’t think we’re doing anything unusual, but we still run into problems once or twice a week that require somebody to “sudo killall docker” because it’s completely hung up and unresponsive.

                                                                                1. 1

                                                                                  We run at $job thousands of container everyday and it’s very uncommon to have containers crashing because of Docker.

                                                                    2. 1

                                                                      Easier local development is a big one - developers being able to quickly bring up a full stack of services on their machines. In a world of many services this can be really valuable - you don’t want to be mocking out interfaces if you can avoid it, and better still is calling out to the same code that’s going to be running in production. Another is the fact that the container that’s built by your build system after your tests pass is exactly what runs in production.

                                                                  3. 7

                                                                    (5 years) VR fails to revitalize the wounded videocard market. Videocard manufacturers are on permanent decline due to pathologies of selling to the cryptobutts folks at expense of building reliable customer base. Gamers have decided graphics are Good Enough, and don’t pay for new gear.

                                                                    While I might accept that VR may fail, I don’t think video card companies are reliant on VR succeeding. They have autonomous cars and machine learning to look forward to.

                                                                    1. 2

                                                                      (10 years) No significant changes in core count or clock speed will be practical, focus will be shifted instead to power consumption, heat dissipation, and DRM. Chipmakers slash R&D budgets in favor of legal team sizes, since that’s what actually ensures income.

                                                                      This trend also supports a shift away from scripting languages towards Rust, Go, etc. A focus on hardware extensions (eg deep learning hardware) goes with it.

                                                                      1. 1

                                                                        (10 years) Containers will be stuck in Big Enterprise, and everybody else will realize they were a mistake made to compensate for unskilled developers.

                                                                        One can dream!

                                                                        1. 2

                                                                          Would you (or anyone) be able to help me understand this point please? My current job uses containers heavily, and previously I’ve used Solaris Zones and FreeBSD jails. What I see is that developers are able to very closely emulate the deployment environment in development, and don’t have to do “cross platform” tricks just to get a desktop that isn’t running their server OS. I see that particular “skill” as unnecessary unless the software being cross-platform is truly a business goal.

                                                                          1. 1

                                                                            I think Jessie Frazelle perfectly answer to this concern here: https://blog.jessfraz.com/post/containers-zones-jails-vms/

                                                                            P.S.: I have the same question to people that are against containers…

                                                                        2. 1

                                                                          (5 years) Mesh networks still don’t matter. :( (10 years) Mesh networks matter, but are a great way to get in trouble with the government.

                                                                          Serious attempts at mesh networks basically don’t exist since the 200#s when everyone discovered it’s way easier to deploy an overlay net on top of Comcast instead of making mid-distance hops with RONJA/etc.

                                                                          It would be so cool to build a hybrid USPS/UPS/Fedex batch + local realtime link powered national scale network capable of, say, 100mB per user per day, with ~ 3 day max latency. All attempts I’ve found are either very small scale, or just boil down to sending encrypted packets over Comcast.

                                                                          1. 1

                                                                            Everyone’s definition of mesh different, but today there are many serious mesh networks, the main ones being Freifunk and Guifi

                                                                          2. 1

                                                                            (10 years) There will be at least two major unions for software engineers with proper collective bargaining.

                                                                            What leads you to this conclusion? From what I hear, it’s rather the opposite trend, not only in the software industry…

                                                                            (5 years) All schools will have some form of programming taught. Most will be garbage.

                                                                            …especially if this is taken into account, I’d argue.

                                                                            (10 years) Some schools will ban social media and communications devices to promote classroom focus.

                                                                            Aren’t these already banned from schools? Or are you talking about general bans?

                                                                            1. 1

                                                                              I like the container one, I also don’t see the point

                                                                              1. 1

                                                                                It’s really easy to see what state a container is in because you can read a 200 line text file and see that it’s just alpine linux with X Y Z installed and this config changed. On a VM it’s next to impossible to see what has been changed since it was installed.

                                                                                1. 3

                                                                                  ate a container is in because you can read a 200 line text file and see that it’s just alpine linux with X Y Z in

                                                                                  I just check the puppet manifest

                                                                                  1. 2

                                                                                    It’s still possible to change other things outside of that config. With a container having almost no persistent memory if you change something outside of the dockerfile it will be blown away soon.

                                                                                2. 1

                                                                                  Containers wont be needed because unikernels.

                                                                                3. 1

                                                                                  All schools will have some form of programming taught. Most will be garbage.

                                                                                  and will therefore be highly desirable hires to full stack shops.

                                                                                  1. 1

                                                                                    I would add the bottom falling out of the PC market, making PCs more expensive as gamers and enterprise, the entire reason why it still maintains economies of scale, just don’t buy new HW anymore.

                                                                                    1. 1

                                                                                      I used to always buy PCs, but indeed the last 5 years I haven’t used a desktop PC.

                                                                                      1. 1

                                                                                        If it does happen, It’ll probably affect laptops as well, but desktops especially.

                                                                                    2. 1

                                                                                      (5 years) All schools will have some form of programming taught. Most will be garbage.

                                                                                      My prediction: Whether the programming language is garbage or not, provided some reasonable amount of time is spent on these courses we will see a general improvement in the logical thinking and deductive reasoning skills of those students.

                                                                                      (at least, I hope so)

                                                                                    1. 11

                                                                                      In a more complete build, SQLite also uses library routines like malloc() and free()

                                                                                      TIL sqlite can be used without memory allocator!

                                                                                      Zero-malloc option. The application can optionally provide SQLite with several buffers of bulk memory at startup and SQLite will then use those provided buffers for all of its memory allocation needs and never call system malloc() or free().

                                                                                      1. 2

                                                                                        Interesting paper he cited:

                                                                                        Bounds for some functions concerning dynamic storage allocation

                                                                                        https://scholar.google.com/scholar?cluster=15336827953885873575&hl=en&as_sdt=0,5&sciodt=0,5

                                                                                        Unfortunately behind a paywall :-(

                                                                                        1. 4
                                                                                      1. 2

                                                                                        This is a fun question.

                                                                                        I feel like what you describe as “a single-ish critical path of information flow” sounds interesting, but it isn’t really how I usually think of a call stack. If we think of a call stack visualization as showing us (the control-flow part of) the state of a program at a particular time, we could just extend that metaphor to other layers of the system. This would get so big, it’d be great to see it as an interactive zoomable thing.

                                                                                        Unfortunately I don’t know of off the shelf tools for exactly this. I think @yumaikas’ suggestion to look at virtual machines is a good start, since I assume there’s a way to inspect their state (haven’t done that myself) - you could also look at tools like valgrind for collecting lots of process-and-thread-level detail, and once you want to collect info on the hardware, run things in a full-system architectural simulator like Gem5. It’s real slow but you can look at everything in a very realistic system that runs real software.

                                                                                        I’m imagining a layered visualization with the following rough layers. Each level down would try to connect to the level above if possible without being too confusing, with lines showing e.g. how a virtual address in a text segment in the heap gets mapped down through memory and caches into the program counter in the processor.

                                                                                        • Your process’s address space layout on the top, and the call stack(s) for each thread as well as the heap shown. We’d highlight the currently executing stack frame, and the location of the corresponding code in the code segment. - Visualize files that the process has open and show them in the address space if they’re mmapped
                                                                                        • Visualize linked libraries - show which libraries are loaded (and where in the address space)

                                                                                        Then at the next level you see some kernel structures, and I think you could get at some of this with perf tools.

                                                                                        • Visualize the process’s physical memory use as highlighted regions in the context of what else is in there. Show what parts of the program’s address space are resident in physical memory? Show file contents in the buffer cache. Show other buffers the kernel keeps for e.g. network devices, that the process might have opened.
                                                                                        • You could show the current thread in the kernel’s scheduling structures.

                                                                                        Now the hardware, which you’d need to instrument an architectural simulator to get:

                                                                                        • Show contents of caches, especially interesting in a multicore system with coherent caches, highlight that some cache lines are in multiple places at once.
                                                                                        • show cpu pipeline with our current instruction from way up in the text segment, making its way thru the pipeline. (see the gem5 o3 pipeline viewer for something interesting if not totally useful here.)

                                                                                        As for anything lower level than this, I think you’d have to do some editorializing because of the scale of things. You could say that you’re on a RISC-V core, so you can actually get access to the hardware description, and just show e.g. one adder in one stage of the pipeline that’s executing our instruction, and just fake its contents for the visualization. I’m not really familiar with tools at this level, maybe there’s a better way, I’d be curious to hear.

                                                                                        1. 2

                                                                                          After looking at the front page of the gem5 wiki you linked to, I decided to do a web search for gem5+screenshots and I got this result:

                                                                                          …I think that GUI is an addon call streamline? I just scrolled though looking at the pictures. :)

                                                                                          1. 1

                                                                                            This would get so big, it’d be great to see it as an interactive zoomable thing

                                                                                            Yeah I imagine it to be huge. My ballpark guess is that for a piece of desktop software modelling from ‘User’ or ‘Application’ abstraction all the way down through assembly code on the CPU to e.g. firmware running in a NIC or keyboard controller there are 500 layers of software abstraction if you could somehow find an example of a ‘longest path’. (This is using the definition of each layer of abstraction roughly corresponding to e.g. a ‘class’ in OO code or function / module in non-OO, the point being abstractions rather than LoC)

                                                                                            I was hoping to get pieces of the whole thing from people who might specialise in those parts and manually stitch them together.

                                                                                            It sounds like you’re going into visualising the actual content of each layer of abstraction? That sounds like a huge challenge, but would be fascinating; I was just going for getting a single long list of labels for each layer (i.e. class/function name) ;-)

                                                                                          1. 4

                                                                                            I’m not sure how one would. I’m running a Lua program, and right now, the call stack of the Lua code looks like:

                                                                                            (main_thread)
                                                                                                POLL:events()
                                                                                            

                                                                                            It’s not very deep (there’s no name to the main function—it’s just code, and right now, it’s waiting for events). But Lua is written in C, and when we switch to that view:

                                                                                            main()
                                                                                              lua_pcall()
                                                                                                luaD_pcall()
                                                                                                  luaD_rawunprotected()
                                                                                                    f_call()
                                                                                                      luaD_call()
                                                                                                        luaV_execute()
                                                                                                          luaD_precall()
                                                                                                            polllua_events() -- POLL:events()
                                                                                                              __epoll_wait_nocancel() -- system call
                                                                                            

                                                                                            Here, polllua_events() is the Lua function POLL:events(). The “call stack” of the CPU is a misnomer—there really isn’t a “call stack” per se. I mean, we got to this instruction:

                                                                                            call   404a00 <epoll_wait@plt>
                                                                                            

                                                                                            And at a high level, the CPU fetched the call instruction, decoded it, grabed the operand (the address), pushed the next instruction address on the stack, set the PC to 0x404A00 and into kernel land we go. But that’s what the CPU does, it fetches and executes instructions. Much more below this, and there’s not much to actually see. You could do something like the Visual 6502 but a modern chip is way more complex (with out of order execution, register renaming, caching, etc).

                                                                                            1. 1

                                                                                              I realised while actually trying to map out an example that software and hardware need to be modelled separately, but can be anchored together at certain points.

                                                                                              Software goes down to machine code instructions, and potentially microcode then after that you’re on bare metal which can be further abstracted down several layers and branches.

                                                                                              Also was interested in the reality of a general user facing desktop program such as a browser, where as well as down you go up through several branches of abstractions (e.g. rendering to screen) before you get to the user.