1. 14

    I met my first real girlfriend on IRC in 1996. It was like a joke: she really was Canadian, we really did meet over IRC, and whenever I told anyone I had a “Canadian girlfriend I met over the Internet” they didn’t believe me.

    1. 6

      AWESOME!

      I own 2 BeBoxes. Was a Be developer back in the day. BeOS was my primary home OS for about 7 years and primary work OS for a couple years.

      I’ve been tracking Haiku for a long time. Looking forward to giving the beta a spin.

      1. 2

        Wow. I have to reply just so I can say I spoke to a real Be developer. I was too poor to have ever had a BeBox (though I dreamed), but BeOS on Intel was my primary OS for years (somewhat prior to that it was the Amiga; I only pick winners…)

        1. 2

          Back when I received my BeBox (which is by now in storage in the attic), I was still a student, and switched regularly between BeOS, Solaris and Linux; the BeBox was the best of the devices available to me at that time, and I still have extremely fond memories of it. The intel port of BeOS was great to play with as well, but at that point with my use cases and the demise of Be inc Linux made a much more reliable bet for a daily driver. Pity, as BeOS really was much nicer…

          I really should try out Haiku. It might make me even more nostalgic. :)

      1. 8

        As a European, I don’t quite get it: Americans seem to be concerned with net neutrality, meanwhile not protesting huge monopolistic corporations(the gatekeepers) removing some controversial users on their own judgement and with no way to appeal. Are individuals excluded from the net neutrality?

        1. 16

          I’m not very familiar with the legal details, but I assume the distinction is general access to the internet being considered a utility, while access to platforms being considered something like a privilege. E.g. roads shouldn’t discriminate based on destination, but that doesn’t mean the destination has to let you in.

          edit: As to why Americans don’t seem as concerned with it (which is realize I didn’t address): I think most people see it as a place, like a restaurant. You can be kicked out if you are violating policies or otherwise disrupting their business, which can include making other patrons uncomfortable. Of course there are limits which is why we have anti-discrimination laws.

          1. 1

            Well, they’re also private, for-profit companies that legally own and sell the lines. So, there’s another political angle where people might vote against the regulations under theory that government shouldn’t dictate how you run your business or use your property, esp if it cost you money. Under theory of benefiting owners and shareholders, these companies are legal entities specifically created to generate as much profit from those lines as possible. If you don’t like it, build and sell your own lines. That’s what they’d say.

            They don’t realize how hard it is to deploy an ISP on a shoe-string budget to areas where existing players already paid off the expensive part of the investment, can undercut you into bankruptcy, and (per people claiming to be ISP founders on Hacker News) will even cut competitors’ lines “accidentally” so their own customers leave them. In the last case, it’s hard to file and win a lawsuit if you just lost all your revenue and opponent has over a billion in the bank. They all just quit.

            1. 1

              Do you have the source for these claims regarding ISPs?

              1. 1

                Which ones?

                1. 2

                  …existing players … (per people claiming to be ISP founders on Hacker News) will even cut competitors’ lines “accidentally” so their own customers leave them.

                  1. 2

                    One of them described a situation with a contracted, construction crew with guy doing the digging not speaking English well. They were supposedly digging for incumbent but dug through his line. He aaid he pointed that it was clearly marked with paint or something. The operator claimed he thought that meant there wasnt a line there.

                    That’s a crew that does stuff in that area for a living not knowing what a line mark means. So, he figured they did it on purpose. He folded since he couldnt afford to sue them. Another mentioned them unplugging their lines in exchanges or something that made their service appear unreliable. Like the rest, they’d have to spend money they didnt have on lawyers who’d have to prove (a) it happened snd/or (b) it was intentional.

          2. 11

            The landmark case in the United States is throttling of Netflix by Comcast. Essentially, Comcast held Netflix customers hostage until Netflix paid (which they did).

            It’s important to understand that many providers (Comcast, AT&T), also own the channels (NBC, CNN, respectively). They have an interest in charging less for their and their partners content, and more for their competitors content, while colluding to raise prices across the board (which they have done in the past with television and telephone service).

            Collectively, they all have an interest in preventing new entrants to the market. The fear is that big players (Google, Amazon) will be able to negotiate deals (though they’d probably prefer not to), and new or free technologies (like PeerTube) will get choked out.

            Net neutrality is somewhere where the American attitude towards corporations being able to do whatever to their customers conflicts with the American attitude that new companies and services must be able to compete in the marketplace.

            You’re right to observe that individuals don’t really enter into it, except that lots of companies are pushing media campaigns to sway public opinion towards their own interests. You’re seeing those media campaigns leaking out.


            Switching to the individual perspective.

            I just don’t want to pay more for the same service. In living memory Americans have seen their gigantic monopolistic telecommunications company get broken up, and seen prices for services drop 100 fold; more or less as a direct consequence of that action.

            As other posts have noted, the ISP situation in the US is already pretty dire unless you’re a business. Internet providers charge whatever they can get away with and have done an efficient job of ensuring customers don’t have alternatives. Telephone service got regulated, but internet service did not.

            Re-reading your post after diving on this one… We’re not really concerned about the same gatekeepers. I don’t think any American would be overly upset to see players like Amazon, Facebook, Google, Twitter, and Netflix go away and I wouldn’t be surprised to see one or more of those guys implode as long as they don’t get access to too much of the infrastructure.

            1. 4

              Right-leaning US Citizen here. I’ll attempt to answer this as best as I can.

              Net neutrality is being pushed by the media because it “fights discrimination”, and they blame the “fascist, nazi right” for it’s repeal (and they’re correct, except for the “fascist, nazi” bit). But without net neutrality, the ISPs still have an incentive to provide equal service, because otherwise they’ll lose customers (for obvious reasons).

              I can’t speak to why open-source advocates are also pushing for net neutrality, because (in my opinion) the government shouldn’t be involved in how much internet costs. I do remember this article was moderately interesting, saying that the majority of root DNS servers are run by US companies. But, that doesn’t really faze me. As soon as people start censoring, that get backlash whether the media covers it or not

              Side note, the reason you don’t see the protests against the “gatekeepers” is that most of the mainstream media isn’t accurately covering the reaction of the people to the censorship. I bet you didn’t know that InfoWars was the #1 news app with 5 stars on the Apple app store within a couple of weeks of them getting banned from Facebook, etc. I don’t really have any opinion about Alex Jones (lots of people on the right don’t agree with him), but you can bet I downloaded his app when I found out he got banned.

              P.S. I assumed that InfoWars was what you were referring to when you said “removing some controversial users” P.P.S. I just checked the app store again, and it’s down to #20 in news, but still has 5 stars.

              1. 34

                But without net neutrality, the ISPs still have an incentive to provide equal service, because otherwise they’ll lose customers (for obvious reasons).

                I think this is too optimistic. I live in Chicago, the third biggest city in the country and arguably the tech hub of the midwest. In my building I get to choose between AT&T and Comcast. I’m considered lucky: most of my friends in the city get one option, period. If their ISP starts doing anything shady they don’t have an option to switch, because there’s nobody they can switch to.

                1. 16

                  I think this is too optimistic. I live in Chicago, the third biggest city in the country and arguably the tech hub of the midwest. In my building I get to choose between AT&T and Comcast. I’m considered lucky: most of my friends in the city get one option, period. If their ISP starts doing anything shady they don’t have an option to switch, because there’s nobody they can switch to.

                  It’s interesting to contrast this to New Zealand, where I live in a town of 50,000 people and have at least 5 ISPs I can choose from. I currently pay $100 NZ a month for an unlimited gigabit fibre connection, and can hit ~600 mbit from my laptop on a speed test. The NZ government has intervened heavily in the market, effectively forcing the former monopolist (Telecom) to split into separate infrastructure (Chorus) and services (Telecom) companies, and spending a lot of taxpayer money to roll out a nationwide fibre network. The ISPs compete on the infrastructure owned by Chorus. There isn’t drastic competition on prices: most plans are within $10-15 of each other, on a per month basis, but since fibre rolled out plans seem to have come down from around $135 per month to now around $100.

                  I was lucky to have decent internet through a local ISP when I lived in one of Oakland’s handful of apartment buildings, but most people wouldn’t have had that option. I think the ISP picture is a lot better in NZ. Also, net neutrality is a non-issue, as far as I know. We have it, no-one seems to be trying to take it away.

                  1. 14

                    I’m always irritated that there are policies decried in the United States as “impossible” when there are demonstrable implementations of it elsewhere.

                    I can see it being argued that the United States’s way is better or something, but there are these hyperbolic attacks on universal health care, net neutrality, workers’ rights, secure elections, etc that imply that they are simply impossible to implement when there are literally dozens of counterexamples…

                    1. 5

                      At the risk of getting far too far off topic.

                      One of the members of the board at AT&T was the CEO of an insurance company, someone sits on the boards of both Comcast/NBC and American Beverages. The head of the FCC was high up at Verizon.

                      These are some obvious, verifiable, connections based in personal interest. Not implying that it’s wrong or any of those individuals are doing anything which is wrong, you’ve just gotta take these ‘hyperbolic attacks’ with a grain of salt.

                        1. 2
                      1. 4

                        Oh yeah it’s infuriating. It helps to hit them with examples. Tell them the media doesn’t talk about them since they’re all pushing something. We all know that broad statement is true. Then, briefly tell them the problems that we’re trying to solve with some goals we’re balancing. Make sure it’s their problems and goals. Then, mention the solution that worked else where which might work here. If it might not fit everyone, point out that we can deploy it in such a way where its specifics are tailored more to each group. Even if it can’t work totally, maybe point out that it has more cost-benefit than the current situation. Emphasize that it gets us closer to the goal until someone can figure out how to close the remaining gap. Add that it might even take totally different solutions to address other issues like solving big city vs rural Internet. If it worked and has better-cost benefit, then we should totally vote for it to do better than we’re doing. Depending on audience, you can add that we can’t have (country here) doing better than us since “This is America!” to foster some competitive, patriotic spirit.

                        That’s what I’ve been doing as part of my research talking to people and bouncing messages off them. I’m not any good at mass marketing, outreach or anything. I’ve just found that method works really well. You can even be honest since the other side is more full of shit than us on a lot of these issues. I mean, them saying it can’t exist vs working implementations should be an advantage for us. Should. ;)

                        1. 3

                          Beautifully said.

                          My family’s been in this country since the Mayflower. I love it dearly.

                          Loving something means making it better and fixing its flaws, not ignoring them.

                          1. 2

                            Thanks and yes. I did think about leaving for a place maybe more like my views. That last thing you said is why I’m still here. If we fix it, America won’t be “great again:” it would be fucking awesome. If not for us, then for the young people we’re wanting to be able to experience that. That’s why I’m still here.

                    2. 5

                      arguably the tech hub of the midwest.

                      Only if you can’t find Austin on a map… ;)

                      1. 11

                        Native Texan/Austinite here. Texas is the South, Southwest, or just Texas. All the rest of y’all are just Yankees. ;)

                      2. 1

                        But if their ISP starts doing anything shady, they’ll surely get some backlash, even if they can’t switch they can complain.

                        1. 9

                          They’ve been complaining for decades. Nothing happens most of the time. The ISP’s have many lobbyists and lawyers to insulate them from that. The big ones are all doing the same abusive practices, too. So, you can’t switch to get away from it.

                          Busting up AT&T’s monopoly got results in lower costs, better service, better speeds, etc. Net neutrality got more results. I support more regulation of these companies and/or socialized investment to replace them like the gigabit for $350/mo in Chattanooga, TN. It’s 10Gbps now I think but I don’t know what price.

                          Actually, I go further due to their constant abuses and bribing politicians: Im for having a court seizetheir assets, converting them to nonprofits, and putting new management in charge. If at all possible. It would send a message to other companies that think they can do damage to consumers and mislead regulators with immunity to consequences.

                            1. 6

                              What incentive does the ISP have to change? Unless you can complain to some higher authority (FCC, perhaps) then there is no reason for the ISP to make any changes even with backlash. I’d be more incentivized to complain if there was at least some competition.

                          1. 30

                            Net neutrality is being pushed by the media because it “fights discrimination”, and they blame the “fascist, nazi right” for it’s repeal

                            Nobody says this. It’s being pushed because it prevents large corporations from locking out smaller players. The Internet is a great economic equalizer: I can start a business and put a website up and I’m just as visible and accessible as Microsoft.

                            We don’t want Microsoft to be able to pay AT&T to slow traffic to my website but not theirs. It breaks the free market by allowing collusion that can’t be easily overcome. It’s like the telephone network; I can’t go run wires to everyone’s house, but I want my customers to be able to call me. I don’t want my competitors to pay AT&T to make it harder to call me than to call them.

                            But without net neutrality, the ISPs still have an incentive to provide equal service, because otherwise they’ll lose customers (for obvious reasons).

                            That assumes people have a choice. They very often don’t. Internet service has a massively high barrier to entry, similar to a public utility. Most markets in the United States have at most two providers (both major corporations opposed to net neutrality). Very, very rarely is there a third.

                            More importantly, there are only five tier-1 networks in the United States. Five. It doesn’t matter how many local ISPs there are; without Net Neutrality, five corporations effectively control what can and can’t be transmitted. If those five decide something should be slowed down or forbidden, there is nothing I can do. Changing to a different provider won’t do a thing.

                            (And of those five, all of them donate significantly more to one major political party than the other, and the former Associate General Counsel of one of them is currently chairman of the FCC…)

                            I can’t speak to why open-source advocates are also pushing for net neutrality, because (in my opinion) the government shouldn’t be involved in how much internet costs.

                            Net neutrality says nothing about how much it costs. It just says you can’t charge different amounts based on content. It would be like television stations charging more money to Republican candidates to run ads than to Democratic candidates. They’re free to charge whatever they want; they’re not free to charge different people different amounts based on the content of the message.

                            Democracy requires communication. It does no good to say “freedom!” if the major corporations can effectively silence whoever they want. “At least it’s not the government” is not a good defense of stifling public debate.

                            And there’s a difference between a newspaper and a television/radio station/internet service. I can buy a printing press and make a newspaper and refuse to carry whatever I want. There are no practical limits to the number of printing presses in the country.

                            There is a limited electromagnetic spectrum. Not just anyone can broadcast a TV signal. There is a limit to how many cables can be run on utility polls or buried underground. Therefore, discourse carried over those media are required to operate more in the public trust than others. As they become more essential to a healthy democracy, that only becomes more important. It’s silly to say “you still have freedom of speech” if you’re blocked from television, radio, the Internet, and so on. Those are the public forums of our day. That a corporation is doing the blocking doesn’t make it any better than if the government were to do it.

                            Side note, the reason you don’t see the protests against the “gatekeepers” is that most of the mainstream media isn’t accurately covering the reaction of the people to the censorship.

                            There’s a big difference between Twitter not wanting to carry Alex Jones and net neutrality. Jones is still free to go start up a website that carries his message; with Net Neutrality not only could he be blocked from Twitter, but the network itself could make his website inaccessible.

                            There is no alternative with Net Neutrality. You can’t build your own Internet. Without mandating equal treatment of traffic, we hand the Internet over solely to the big players. Preventing monopolistic and oligarchic control of public discourse is a valid use of government power. It’s not censorship, it’s the exact opposite.

                            1. 7

                              That assumes people have a choice. They very often don’t.

                              This was also brought up by @hwayne, @caleb and @friendlysock, and is not something that occurred to me. I appreciate all who are mentioning this.

                              More importantly, there are only five tier-1 networks in the United States.

                              Wow, I did not know that. I can see that as a legitimate reason to want net neutrality. But, I also think that they’ll piss off a lot of people if they can stream CNN but not InfoWars.

                              It just says you can’t charge different amounts based on content.

                              I understood it to also mean that you also couldn’t charge customers differently because of who they are. Also, don’t things like Tor mitigate things like that?

                              “At least it’s not the government” is not a good defense of stifling public debate.

                              I completely agree. But in the US we have a free market (at least, we used to) and that means that the government is supposed to stay out of it as much as possible.

                              Preventing monopolistic and oligarchic control of public discourse is a valid use of government power.

                              I also agree. But these corporations (the tier-1 ISPs) haven’t done anything noticeable to me to limit my enjoyment of conservative content, and I’m pretty sure that they would’ve by now if they wanted to.

                              The reason I oppose net neutrality is more because I don’t think that the government should control it than any more than I think AT&T and others should.

                              not only could he be blocked from Twitter, but the network itself could make his website inaccessible.

                              But they haven’t.

                              edit: how -> who

                            2. 6

                              Even though I’m favoring net neutrality, I appreciate you braving the conservative position on this here on Lobsters. I did listen to a lot of them. What I found is most had reasonable arguments but had no idea about what ISP’s did, are doing, are themselves paying Tier 1’s, etc. Their media sources’ bias (all have bias) favoring ISP’s for some reason didn’t tell them any of it. So, even if they’d have agreed with us (maybe, maybe not), they’d have never reached those conclusions since they were missing crucial information to reflect on when choosing to regulate or not regulate.

                              An example is one telling me companies like Netflix should pay more to Comcast per GB or whatever since they used more. The guy didn’t know Comcast refuses to do that when paying Tier 1’s negotiating transit agreements instead that worked entirely different. He didn’t know AT&T refused to give telephones or data lines to rural areas even if they were willing to pay what others did. He didn’t know they could roll out gigabit today for same prices but intentionally kept his service slow to increase profit knowing he couldn’t switch for speed. He wasn’t aware of most of the abuses they were doing. He still stayed with his position since that guy in particular went heavily with his favorite, media folks. However, he didn’t like any of that stuff which his outlets never even told him about. Even if he disagrees, I think he should disagree based on an informed decision if possible since there’s plenty smart conservatives out there who might even favor net neutrality if no better alternative. I gave him a chance to do that.

                              So, I’m going to give you this comment by @lorddimwit quickly showing how they ignored the demand to maximize profit, this comment by @dotmacro showing some abuses they do with their market control, and this article that gives nice history of what free market did with each communications medium with the damage that resulted. Also note that the Internet itself was an open, free-if-you-have-a-wire system that competed with the proprietary, charge-per-use, lock-them-in-forever-if-possible systems the private sector was offering. It smashed them so hard you might have even never heard of them or forgotten a lot about them depending on your age. It also democratized more goods than about anything other than maybe transportation. Probably should stick with the principles that made that happen to keep innovation rolling. Net neutrality was one of them that was practiced informally at first then put into law as the private sector got too much power and was abusing it. We should keep doing what worked instead of the practices ISP’s want that didn’t work but will increase their profits at our expense for nothing in return. That is what they want: give us less or as little improvement in every way over time while charging us more. It’s what they’re already doing.

                              1. 2

                                I read the comments, and I read most of the freecodecamp article.

                                I like the ideal of the internet being a public utility, but I don’t really want the government to have that much control.

                                I think the real problem I have with government control of the internet, is that I don’t want the US to end up like china with large swaths of the internet completely blocked.

                                I don’t really know how to solve our current problems. But, like @jfb said elsewhere in this thread, I don’t think that net neutrality is the best possible solution.

                                1. 2

                                  Also note that the Internet itself was an open, free-if-you-have-a-wire system that competed with the proprietary, charge-per-use, lock-them-in-forever-if-possible systems the private sector was offering. It smashed them so hard you might have even never heard of them or forgotten a lot about them depending on your age.

                                  I might recognize a name, but I probably wasn’t even around yet.

                                  So, I’m going to give you…

                                  Thanks for the info, I’ll read it and possibly form a new opinion.

                                2. 5

                                  But without net neutrality, the ISPs still have an incentive to provide equal service, because otherwise they’ll lose customers (for obvious reasons).

                                  What obvious reasons? Because customers will switch providers if they don’t treat all traffic equally? That would require (a) users are able to tell if a provider prioritizes certain traffic, and (b) that there is a viable alternative to switch to. I have no confidence in either.

                                  1. 1

                                    I don’t personally care if the prioritize certain websites, but I sure as hell care if the block something.

                                    As far as I’m concerned, they can slow down Youtube by 10% for conservative channels and I wouldn’t give a damn even though I watch and enjoy some. What really bothers me is when they “erase” somebody or block people from getting to them.

                                    1. 4

                                      well you did say they have an incentive to provide “equal service” so i guess you meant something else. net neutrality supporters like me aren’t satisfied with “nobody gets blocked,” because throttling certain addresses gives big corporations more tools to control media consumption, and throttling have similar effects to blocking in the long term. i’m quite surprised that you’d be fine with your ISP slowing down content you like by 10%… that would adversely affect their popularity compared to the competitors that your ISP deems acceptable, and certain channels would go from struggling to broke and be forced to close down.

                                      1. 1

                                        Well, I have pretty fast internet, so 10% wouldn’t be terrible for me. However, I can see how some people would take issue with such a slowdown.

                                        I was using a bit an extreme example to illustrate my point. What I was trying to say was that they can’t really stop people from watching the content that they want to watch.

                                        1. 3

                                          I recall, but didn’t review, a study saying half of web site users wanted the page loaded in 2 seconds. Specific numbers aside, I’ve been reading that kind of claim from many people for a long time that a new site taking too long to load, being sluggish, etc makes them miss lots of revenue. Many will even close down. So, the provider of your favorite content being throttled for even two seconds might kill half their sales since Internet users expect everything to work instantly. Can they operate with a 50% cut in revenue? Or maybe they’re bootstrapping up a business with a few hundred or a few grand but can’t afford to pay for no artificial delays. Can they even become the content provider your liked if having to pay hundreds or thousands extra on just extra profit? I say extra profit since ISP’s already paid for networks capable of carrying it out of your monthly fee.

                                          1. 2

                                            yeah, the shaping of public media consumption would happen in cases where people don’t know what they want to watch or don’t find out about something that they would want to watch

                                            anti-democratic institutions already shape media consumption and discourse to a large extent, but giving them more tools will hurt the situation. maybe it won’t affect you or me directly, but sadly we live in a society so it will come around to us in the form of changes in the world

                                    2. 5

                                      But without net neutrality, the ISPs still have an incentive to provide equal service, because otherwise they’ll lose customers (for obvious reasons).

                                      Most customers have exceedingly limited options in their area, and they’re not going to switch houses because of their ISP. Especially in apartment complexes, you see cases where, say, Comcast has the lockdown on an entire population and there really isn’t a reasonable alternative.

                                      In a truly free market, maybe I’d agree with you, but the regulatory environment and natural monopolistic characteristics of telecomm just don’t support the case.

                                      1. 1

                                        Most customers have exceedingly limited options in their area, and they’re not going to switch houses because of their ISP.

                                        That’s a witty way of putting it.

                                        But yeah, @lorddimwit mentioned the small number of tier-1 ISPs. I didn’t realize there were so few, but I still think that net neutrality is overreaching, even if its less than I originally thought.

                                        1. 3

                                          Personally, I feel that net neutrality, such as it is, would prevent certain problems that could be better addressed in other, more fundamental ways. For instance, why does the US allow the companies that own the copper to also own the ISPs?

                                      2. 3

                                        But without net neutrality, the ISPs still have an incentive to provide equal service, because otherwise they’ll lose customers (for obvious reasons).

                                        Awkward political jabs aside, most of your statements imply that you believe customers are free to choose who they get their internet from, which is just plain incorrect. Whatever arguments you want to make against net neutrality, there is one indisputable fact that you cannot just ignore or paper over:

                                        ISPs do not operate in a free market.

                                        In the vast majority of the US, cable and telephone companies are granted local monopolies in the areas they operate. That is why they must be regulated. As the Mozilla blog said, they have both the incentive and means to abuse their customers and they’ve already been caught doing it on multiple occasions.

                                        1. 1

                                          most of your statements imply that you believe customers are free to choose who they get their internet from, which is just plain incorrect

                                          I think you’re a bit late to the party, I’ve conceded that fact already.

                                        2. 3

                                          All of that is gibberish. Net Neutrality is being pushed because it creates a more competitive marketplace. None of it has anything to do with professional liar Alex Jones.

                                          But without net neutrality, the ISPs still have an incentive to provide equal service, because otherwise they’ll lose customers (for obvious reasons).

                                          That’ s not how markets work. And it’s not how the technology or permit process for ISPs work. There is very little competition among ISPs in the US market.

                                          1. 1

                                            Hey, here’s a great example from HN of the crap they pull without net neutrality. They advertised “unlimited,” throttled it secretly, admitted it, and forced them to pay extra to get actual unlimited.

                                            @lorddimwit add this to your collection. Throttling and fake unlimited been going on long time but they couldve got people killed doing it to first responders. Id have not seen that coming just for PR reasons or avoiding local, govt regulation if nothing else.

                                            1. 1

                                              I can’t speak to why open-source advocates are also pushing for net neutrality, because (in my opinion) the government shouldn’t be involved in how much internet costs.

                                              It’s not about how much internet costs, it’s about protecting freedom of access to information, and blocking things like zero-rated traffic that encourage monopolies and discourage competition. If I pay for a certain amount of traffic, ISPs shouldn’t be allowed to turn to Google and say “want me to prioritize YouTube traffic over Netflix traffic? Pay me!”

                                              1. 1

                                                Net neutrality is being pushed by the media because it “fights discrimination”, and they blame the “fascist, nazi right” for it’s repeal (and they’re correct, except for the “fascist, nazi” bit).

                                                Where on earth did you hear that? I sure hope you’re not making it up—you’ll find this site doesn’t take too kindly to that.

                                                1. 1

                                                  I might’ve been conflating two different political issues, but I have heard “fascist” and “nazi” used to describe the entire right wing.

                                                  A quick google search for “net neutrality fascism” turned this up https://motherboard.vice.com/en_us/article/kbye4z/heres-why-net-neutrality-is-essential-in-trumps-america

                                                  “With the rise of Trump and other neo-fascist regimes around the world, net neutrality will be the cornerstone that activists use to strengthen social movements and build organized resistance,” Wong told Motherboard in a phone interview. “Knowledge is power.”

                                                  1. 2

                                                    You assume that net neutrality is a left-wing issue, which it’s not. It actually has bipartisan support. The politicians who oppose it have very little in common, aside from receiving a large sum of donations from telecom corporations.

                                                    As far as terms like “fascist” or “Nazi” are concerned—I think they have been introduced into this debate solely to ratchet up the passions. It’s not surprising that adding these terms to a search yields results that conflate the issues.

                                                    1. 2

                                                      Ill add on your first point that conservatives who are pro-market are almost always pro-competition. They expect the market will involve competition driving whats offered up, its cost down, and so on. Both the broadband mandate and net neutrality achieved that with an explosion of businesses and FOSS offering about anything one can think of.

                                                      The situation still involves 1-3 companies available for most consumers that, like a cartel, work together to not compete on lowering prices, increasing service, and so on. Net neutrality reduced some predatory behavior the cartel market was doing. They still made about $25 billion in profit between just a few companies due to anti-competitive behavior. Repealing net neutrality for anti-competitive market will have no positives for consumer but will benefit roughly 3 or so companies by letting them charge more for same or less service.

                                                      Bad for conservative’s goals of market competition and benefiting conservative voters.

                                              2. 2

                                                One part of it is that we already have net neutrality, and it’s easier to try to hang on to a regulation than to create a new one.

                                              1. 13

                                                I don’t know if I realistically can, or want to use Haiku, but it’s great to see some non-UNIX designs still being alive.

                                                1. 7

                                                  It’s surprisingly usable. It’s lacking features that I have to have for work (multi-monitor support, a browser capable of using Google Hangouts, the ability to run VMs at near-native speed, and reliable disk encryption) but if it had those four things it could be my daily driver.

                                                  (Google is switching to “Meet” now; I should check WebPositive to see how it handles it, and I know that once upon a time there was an encrypted block device driver in the tree…in my Copious Free Time I should try to help on that maybe…)

                                                  1. 4

                                                    For alternative OSs, the best thing to do is implement VNC. Through VNC you can access OSs that specialize in accessing the web, such as Windows, Linux, and … Chrom/iumOS. ChromiumOS is probably the best since it’s sole purpose is to interact with the omnipresent OS that is the web.

                                                    Eventually I will figure out some easy setup to do this.

                                                    1. 3

                                                      The encrypted block device support still exists as a third-party package (though it’s maintained by one of the core kernel developers); it just does not support having the boot device be block-encrypted.

                                                    2. 4

                                                      Well … Haiku isn’t really a non-UNIX design. We have some pretty anti-UNIX tendencies to be sure, but we also use POSIX filemodes, POSIX process model, pretty good POSIX API compliance, BSD sockets, … etc.

                                                      1. 5

                                                        The core of my job involves having exact control over object lifetimes, ease of manipulating data structures accessed by drivers/the hardware, ability to move things around with zero copying (and knowing that it won’t suddenly get copied if I change some code somewhere and suddenly “oops, no move constructor!”), zero garbage-collection delays, and the ability to easily reason about the number of context switches a given piece of code will have.

                                                        There isn’t a better language for that than C.

                                                        1. 2

                                                          The first things I checked is if there is anything in between 2336 and 237A. Nope.

                                                          1. 3

                                                            (APL symbols, for folks following along at home)

                                                            1. 2

                                                              I don’t think there should be. This is for iconic fonts, where they put a bunch of useful “icons” in the private use area of of the Unicode code space, and then you can use those codepoints wherever you use text to get useful little icons.

                                                              The project linked here patches other fonts (including, presumably, those that have APL characters) to include these icons.

                                                              (Note that I don’t really like the use of icon fonts, but that’s neither here nor there…)

                                                            1. 1

                                                              I think something is up with that home page.

                                                              1. 9

                                                                I’m not as involved as I used to be, but I’m still on the core team, so feel free to ask me questions if you’ve got any.

                                                                1. 3

                                                                  Would you recommend Factor for production use given that it seems to be reaching a sort of plateau in support and community?

                                                                  It’s a beautiful language, by the way. Thank you for your work.

                                                                  1. 5

                                                                    I have Factor running in production. Although I don’t really maintain the web app much - it just ticks along - Factor runs tinyvid.tv and has for the past few years. I originally wrote it to test HTML 5 video implementations in browsers back when I worked on the Firefox implementation of video.

                                                                    1. 5

                                                                      As always, it depends on what you’re doing—I’d definitely be nervous if you told me you were shoving Factor into an automobile, for example—but Factor the VM and Factor the language are both quite stable and reliable. On top of doublec’s comment, the main Factor website runs Factor (and its code is distributed as part of Factor itself for your perusal), and it’s been quite stable. (We do occasionally have to log in and kick either Factor or nginx, but it’s more common that the box needs to be rebooted for kernel updates.) I likewise ran most of my own stuff on Factor for a very long time, including some…maybe not mission-critical, but mission-important internal tooling at Fog Creek. And finally, we know others in the community who are building real-world things with Factor, including a backup/mirroring tool which I believe is being written for commercial sale.

                                                                      The two main pain-points I tend to hit when using Factor in prod are that I need a vocabulary no one has written, or that I need to take an existing vocabulary in a new direction and have to fix/extend it myself. Examples are our previous lack of libsodium bindings (since added by another contributor) and our ORM lacking foreign key support (not a huge deal, just annoying). Both of these classes of issues are increasingly rare, but if you live in a world where everything’s just a dependency away, you’ll need to be ready for a bit of a change.

                                                                      You can take a look at our current vocab list if you’re curious whether either of the above issues would impact anything in particular you have in mind.

                                                                    2. 1

                                                                      What would you say is Factor’s best application domain, the kind of problem it solves best? I met Slava many years ago when he was presenting early versions of Factor to a local Lisp UG, and am curious to see where the language fits now, both in theory and practice.

                                                                      1. 4

                                                                        My non-breezy answer is “anything you enjoy using it for.” There are vocabularies for all kinds of things, ranging from 3D sound to web servers to building GUIs to command-line scripts to encryption libraries to dozens of other things. Most of those were written because people were trying to do something that needed a library, so they wrote one. I think the breadth of subjects covered speaks well to the flexibility of the language.

                                                                        That all said, there are two main areas where I think Factor really excels. The first is when I’m not really sure how to approach something. Factor’s interactive development environment is right up there with Smalltalk and the better Common Lisps, so it’s absolutely wonderful for exploring systems, poking around, and iterating on various approaches until you find one that actually seems to fit the problem domain. In that capacity, I frequently use it for reverse-engineering/working with binary data streams, exploring web APIs, playing with new data structures/exploring what high-level design seems likely to yield good real-world performance, and so on.

                                                                        The second area I think Factor excels is DSLs. Factor’s syntax is almost ridiculously flexible, to the point that we’ve chatted on and off about making the syntax extension points a bit more uniform. (I believe this branch is the current experimental dive in that direction.) But that flexibility means that you can trivially extend the language to handle whatever you need to. Two silly/extreme examples of that would be Smalltalk and our deprecated alternative Lisp syntax (both done as libraries!), but two real examples would be regular expressions, which are done as just a normal library, despite having full syntax support, or strongly typed Factor, which again is done at the library level, not the language level. I have some code lying around somewhere where I needed to draft up an elaborate state machine, and I quickly realized the best path forward was to write a little DSL so I could just describe the state machine directly. So that’s exactly what I did. Lisps can do that, but few other languages can.

                                                                      2. 1

                                                                        Were native threads added in this release, or are there plans to? And did anything ever come to fruition with the tree shaker that Slava was working on way back when?

                                                                        Major props on the release. It’s really nice to see the language survive Slava disappearing into Google.

                                                                        1. 5

                                                                          The threads are still green threads, if that’s what you’re asking, but we’ve got a really solid IPC story (around mailboxes, pattern matching, Erlang-style message passing, etc.), so it’s not a big deal to fire up a VM per meaningful parallel task and kick objects back and forth when you genuinely need to.

                                                                          In terms of future directions, I don’t know we’ve got anything concrete. What I’d like to do is to make sure the VM is reentrant, allow launching multiple VMs in the same address space, and then make the IPC style more efficient. That’d make it a lot easier to keep multithreaded code safe while allowing real use of multiple cores. But that’s just an idea right now; we’ve not done anything concrete that direction, as far as I know.

                                                                          1. 1

                                                                            Really off-topic, but isn’t Slava at Apple?

                                                                            1. 1

                                                                              He is now. Works on Swift.

                                                                          2. 1

                                                                            Where does the core factor team typically communicate these days? #concatenative on freenode seems kinda dead these days. Is there a mailing list, or on the yahoo group?

                                                                          1. 12

                                                                            A realization I recently had:

                                                                            Why don’t we abstract away all display affordances from a piece of code’s position in a file? That is, the editor reads the file, parses its AST, and displays it according to the programmer’s preference (e.g., elastic tabstops, elm-like comma-leading lists, newline/no-newline before opening braces, etc). And prior to save, the editor simply runs it through an uncustomized prettier first.

                                                                            There are a million and one ways to view XML data without actually reading/writing pure XML. Why not do that with code as well?

                                                                            1. 4

                                                                              This idea is floating around the interwebz for a long time. I recall it being stated almost verbatim on Reddit, HN, probably on /.

                                                                              1. 6

                                                                                And once you take it a step further, it’s clear that it shouldn’t be in a text file in the first place. Code just isn’t text. If you store it as a tree or a graph in some sort of database, it becomes possible to interact with it in much more powerful ways (including displaying it any way you like). We’ve been hobbled by equating display representation with storage format.

                                                                                1. 7

                                                                                  This talk touches on this issue, along with some related ones and HCI in general: Bret Victor: The Future of Programming

                                                                                  1. 2

                                                                                    God, I have been trying to recall the name of this talk for ages! Thank you so much, it is a great recommendation

                                                                                  2. 5

                                                                                    Text is great when (not if) your more complicated tools fail or do something you can’t tolerate and you need to use tools which don’t Respect The Intent of designers who, for whatever reason, don’t respect your intent or workflow. Sometimes, solving a problem means working around a breakage, whether or not that breakage is intentional on someone else’s part.

                                                                                    Besides, we just (like, last fifteen or so years) got text to the point where it’s largely compatible. Would be a shame to throw that away in favor of some new AST-database-thing which only exists on a few platforms.

                                                                                    1. 1

                                                                                      I’m not sure I get your point about about intent. Isn’t the same already true of, say, compilers? There are compiler bugs that we have to work around, there are programs that seem logical to us but the compiler won’t accept, and so on. Still, everybody seems to be mostly happy to file a compiler bug or a feature request, and live with a workaround for the present. Seems like it works well enough in practice.

                                                                                      I understand your concern about introducing a new format but it sounds like a case of worse-is-better. Sure, we get a lot of convenience from the ubiquity of text, but it would nevertheless be sad if we were stuck with it for the next two centuries.

                                                                                      1. 1

                                                                                        With compilers, there are multiple of them for any given language, if the language is important enough, and you can feed the same source into all of them, assuming that source is text.

                                                                                        1. 2

                                                                                          I’ve never seen anyone casually swap out the compiler for production code. Also, for the longest time, if you wrote C++ for Windows, you pretty much had to use the Microsoft compiler. I’m sure that there are many embedded platforms with a single compiler.

                                                                                          If there’s a bug in the compiler, in most casss you work around it, then patiently wait for a fix from the vendor.

                                                                                          So that’s hardly a valid counterpoint.

                                                                                          1. 1

                                                                                            Re: swapping out compiler for production code: most if not all cross-platform C++ libraries can be compiled on at least llvm, gcc and msvc.

                                                                                            1. 1

                                                                                              Yes, I’m aware of that, but what does it have to do with anything I said?

                                                                                              EDIT: Hey, I went to Canterbury :)

                                                                                              1. 1

                                                                                                “I’ve never seen anyone casually swap out the compiler for production code” sounded like you were saying people didn’t tend to compile the same production code on multiple compilers, which of course anyone that compiles on windows and non-windows does. Sorry if I misinterpreted your comment!

                                                                                                My first comment is in response to another Kiwi. Small world. Pretty cool.

                                                                                    2. 1

                                                                                      This, this, a thousand times this. Text is a good user-interface for code (for now). But it’s a terrible storage and interchange format. Every tool needs its own parser, and each one is slightly different, leaving begging the amount of cpu and programmer time we waste going from text<->ast<->text.

                                                                                      1. 2

                                                                                        Yeah, it’s obviously wasteful and limiting. Why do you think we are still stuck with text? Is it just sheer inertia and incrementalism, or does text really offer advantages that are challenging to recreate with other formats?

                                                                                        1. 7

                                                                                          The text editor I use can handle any computer language you can throw at it. It doesn’t matter if it’s BASIC, C, BCPL, C++, SQL, Prolog, Fortran 77, Pascal, x86 Assembler, Forth, Lisp, JavaScript, Java, Lua, Make, Hope, Go, Swift, Objective-C, Rexx, Ruby, XSLT, HTML, Perl, TCL, Clojure, 6502 Assembler, 68000 Assembler, COBOL, Coffee, Erlang, Haskell, Ocaml, ML, 6809 Assembler, PostScript, Scala, Brainfuck, or even Whitespace. [1]

                                                                                          Meanwhile, the last time I tried an IDE (last year I think) it crashed hard on a simple C program I attempted to load into it. It was valid C code [2]. That just reinforced my notion that we aren’t anywhere close to getting away from text.

                                                                                          [1] APL is an issue, but only because I can’t type the character set on my keyboard.

                                                                                          [2] But NOT C++, which of course, everybody uses, right?

                                                                                          1. 0

                                                                                            To your point about text editors working with any language, I think this is like arguing that the only tool required by a carpenter is a single large screwdriver: you can use it as a hammer, as a chisel, as a knife (if sharpened), as a wedge, as a nail puller, and so on. Just apply sufficient effort and ingenuity! Does that sound like an optimal solution?

                                                                                            My preference is for powerful specialised tools rather than a single thing that can be kind of sort of applied to a task.

                                                                                            Or, to approach from the opposite direction, would you say that a CAD application or Blender are bad tools because they only work with a limited number of formats? If only they also allowed you to edit JPEGs and PDFs, they would be so much better!

                                                                                            To your point about IDEs: I think that might even support my argument. Parsing of freeform text is apparently sufficiently hard that we’re still getting issues like the one you saw.

                                                                                            1. 9

                                                                                              I use other tools besides the text editor—I use version control, compilers, linkers, debuggers, and a whole litany of Unix tools (grep, sed, awk, sort, etc). The thing I want to point out is that as long as the source code is in ASCII (or UTF-8), I can edit it. I can study it. I might not be able to compile it (because I lack the INRAC compiler but I can still view the code). How does one “view” Smalltalk code when one doesn’t have Smalltalk? Or Visual Basic? Last I hear, Microsoft wasn’t giving out the format for Visual Basic programs (and good luck even finding the format for VB from the late 90s).

                                                                                              The other issue I have with IDEs (and I will come out and say I have a bias against the things because I’ve never had one that worked for me for any length of time without crashing, and I’ve tried quite a few over 30 years) is that you have one IDE for C++, and one for Java, and one for Pascal, and one for Assembly [1] and one for Lua and one for Python and man … that’s just too many damn environments to deal with [2]. Maybe there are IDEs now that can work with more than one language [3] but again, I’ve yet to find one that works.

                                                                                              I have nothing against specialized tools like AutoCAD or Blender or PhotoShop or even Deluxe Paint, as long as there is a way to extract the data when the tool (or the company) is no longer around. Photo Shop and Deluxe Paint work with defined formats that other tools can understand. I think Blender works with several formats, but I am not sure about AutoCAD (never having used it).

                                                                                              So, why hasn’t anyone stored and manipulated ASTs? I keep hearing cries that we should do it, but yet, no one has yet done it … I wonder if it’s harder than you even imagine …

                                                                                              Edited to add: Also, I’m a language maven, not a tool maven. It sounds like you are a tool maven. That colors our perspectives.

                                                                                              [1] Yes, I’ve come across several of those. Never understood the appeal …

                                                                                              [2] For work, I have to deal with C, C++, Lua, Make and Perl.

                                                                                              [3] Yeah, the last one that claimed C/C++ worked out so well for me.

                                                                                              1. 1

                                                                                                For your first concern about the long term accessibility of the code, you’ve already pointed out the solution: a defined open format.

                                                                                                Regarding IDEs: I’m not actually talking about IDEs; I’m talking about an editor that works with something other than text. Debugging, running the code, profiling etc. are different concerns and they can be handled separately (although again, the input would be something other than text). I suppose it would have some aspects of an IDE because you’d be manipulating the whole code base rather than individual files.

                                                                                                Regarding the language maven post: I enjoyed reading it a few years ago (and in practice, I’ve always ended up in the language camp as an early adopter). It was written 14 years ago, and I think the situation is different now. People have come to expect tooling, and it’s much easier to provide it in the form of editor/IDE plugins. Since language creators already have to do a huge amount of work to make programs in their languages executable in some form, I don’t think it would be an obstacle if the price of admission also included dealing with the storage format and representation.

                                                                                                To your point about lack of implementations: don’t Smalltalk and derivatives such as Pharo qualify? I don’t know if they store ASTs but at least they don’t store text. I think they demonstrate that it’s at least technically possible to get away from text, so the lack of mainstream adoption might be caused by non-technical reasons like being in a local maximum in terms of tools.

                                                                                                The problem, as always, is that there is such a huge number of tools already built around text that it’s very difficult to move to something else, even if the post-transition state of affairs would be much better.

                                                                                                1. 1

                                                                                                  Text editors are language agnostic.

                                                                                                  I’m trying to conceive of an “editor” that works with something other than text. Say an AST. Okay, but in Pascal, you have to declare variables at the top of each scope; you can declare variables anywhere in C++. In Lua, you can just use a variable, no declaration required. LISP, Lua and JavaScript allow anonymous functions; only the latest versions of C++ and Java allow anonymous functions, but they they’re restricted in that you can’t create closures, since C++ and Java have no concept of closures. C++ has exceptions, Java has two types of exceptions, C doesn’t; Lua kind of has exceptions but not really. An “AST editor” would have to somehow know that is and isn’t allowed per language, so if I’m editing C++ and write an anonymous function, I don’t reference variables outside the scope of said function, but that it can for Lua.

                                                                                                  Okay, so we step away from AST—what other format do you see as being better than text?

                                                                                                  1. 1

                                                                                                    I don’t think it could be language agnostic - it would defeat the purpose as it wouldn’t be any more powerful than existing editors. However, I think it could offer largely the same UI, for similar languages at least.

                                                                                                    1. 1

                                                                                                      And that is my problem with it. As stated, I use C, C++ [1], Lua, Make and a bit of Perl. That’s at least what? Three different “editors” (C/C++, Lua/Perl (maybe), Make). No thank you, I’ll stick with a tool that can work with any language.

                                                                                                      [1] Sparingly and where we have no choice; no one on my team actually enjoys it.

                                                                                                    2. 1

                                                                                                      Personally, I’m not saying you should need to give up your editor of choice. Text is a good (enough for now) UI for coding. But it’s a terrible format to build tools on. If the current state of the code lived in some sort of event-based graph database for example, your changes could trigger not only your incremental compiler, but source analysis (only on what’s new), it could also maintain a semantic changelog for version control, trigger code-generation (again, only what’s new).

                                                                                                      There’s a million things that are currently “too hard” which would cease to be too hard if we had a live model of the code as various graphs (not just the ast, but call graphs, inheritance graphs, you-name-it) that we could subscribe to, or even write purely-functional consumers that are triggered only on changes.

                                                                                            2. 4

                                                                                              Inertia, arrogance, worse-is-better; Working systems being trapped behind closed doors at big companies; Hackers taking their language / editor / process on as part of their identity that needs to be defended with religious zeal; The complete destruction of dev tools as a viable business model; Methodologies-of-the-week…. The causes are numerous and varied, and the result is software dev is being hamstrung and we’re all wasting countless hours and dollars doing things computers should be doing for us.

                                                                                              1. 2

                                                                                                I think that part of the issue is that we haven’t seen good structured editor support outside of Haskell and some Lisps.

                                                                                                Having a principled foundation for structured editor + a critical mass by having it work for a language like Javascript/Ruby, would go a long way to making this concept more mainstream. After which we could say “provide a grammar for favorite language X and get structured editor support!”. This then becomes “everything is structured at all levels!”

                                                                                                1. 3

                                                                                                  I think it’s possible that this only works for a subset of languages.

                                                                                                  Structured editing is good in that it operates at a higher level than characters, but ultimately it’s still a text editing tool, isn’t it? For example, I think it should be trivial to pull up a list of (editable) definitions for all the functions in a project that call a given function, or to sort function and type definitions in different ways, or to substitute function calls in a function with the bodies of those functions to a given depth (as opposed to switching between different views to see what those functions do). I don’t think structured editing can help with tasks like that.

                                                                                                  There are also ideas like Luna, have you seen it? I’m not convinced by the visual representation (it’s useful in some situations but I’m not sure it’s generally effective), but the interesting thing is they provide both a textual and a visual representation of the code.

                                                                                              2. 1

                                                                                                Python has a standard library module for parsing Python code into an AST and modifying the AST, but I don’t know of any Python tools that actually use it. I’m sure some of them do, though.

                                                                                              3. 1

                                                                                                Smalltalk. The word you’re looking for is Smalltalk. ;)

                                                                                                1. 2

                                                                                                  Lisp, in fact. Smalltalk lives in an image, Lisp lives in the real world. ;)

                                                                                                  Besides, Lisp already is the AST. Smalltalk has too much sugar, which is a pain in the AST.

                                                                                                  1. 1

                                                                                                    Possibly, but I’m only talking about a single aspect of it: being able to analyse and manipulate the code in more powerful ways than afforded by plain text. I think that’s equally possible for FP languages.

                                                                                                2. 1

                                                                                                  Ultimately I think this is the only teneble solution. I feel I must be in the minority in having an extreme dislike of columnar-style code, and what I call “white space cliffs” where a column dictates a sudden huge increase in whitespace. But I realize how much it comes down to personal aesthetics, so I wish we could all just coexist :)

                                                                                                  1. 1

                                                                                                    Yeah, I’ve been messing around with similar ideas, see https://nick.zoic.org/art/waste-web-abstract-syntax-tree-editor/ although it’s only vapourware so far because things got busy …

                                                                                                    1. 1

                                                                                                      Many editors already do this to some extent. They just render 4-space tabs as whatever the user asks for. Everything after the indent, though, is assumed to be spaced appropriately (which seems right, anyway?)

                                                                                                      1. 1

                                                                                                        You can’t convert to elastic-tabstop style from that, and without heavy language-grammar knowledge you can’t do this for 4-space “tabs” generally.

                                                                                                        Every editor ever supports this for traditional indent style, though: http://intellindent.info/seriously/

                                                                                                        1. 1

                                                                                                          To be clear, you can absolutely render a file that doesn’t have elastic tabstops as if it did. The way a file is rendered has nothing to do with the actual text in the file.

                                                                                                          It’s like you’re suggesting that you can’t render a file containing a ton of numbers as a 3D scene in a game engine. That would be just wrong.

                                                                                                          Regardless, my point is specifically that this elastic tabstops thing is not necessary and hurts code readability more than it helps.

                                                                                                          The pefantics of clarifying between tabs and tabstops is a silly thing as well. Context gives more than enough information to know which one is being talked about.

                                                                                                          It sounds like this concept is creating more problems than it solves, and is causing your editor to solve problems that only exist in the seveloper’s imagination. It’s not “KISS” at all, quite the opposite.

                                                                                                      2. 1

                                                                                                        Because presentation isn’t just a function of the AST. Indentation usually is, but alignment can be visually useful for all kinds of reasons.

                                                                                                      1. 5

                                                                                                        The OOM killer is, IMNSHO, broken as designed. Track how much memory is available, return NULL, let the application deal with it then, when it can still be dealt with, instead of killing a random (I know, not really random) process later. I disable the OOM killer whenever feasible.

                                                                                                        1. 2

                                                                                                          In practice though, C++ throws, Rust panics, I think only well-written C code would have a chance of behaving ‘correctly’ in this case? And that’s the kind of low-level process that’s unlikely to be selected by the OOM killer.

                                                                                                          So effectively, letting the application deal with it equals letting the application crash. The application that runs into this situation can be whatever application happens to need an allocation at some point. That seems more random than what the OOM killer targets?

                                                                                                          1. 4

                                                                                                            That’s not the OS’s decision to make, though. With the OOM killer enabled, C/C++ doesn’t have the option to handle it differently. If Rust or Go ever wants to change how they handle allocation failure in the future, they can’t if the OOM killer is enabled. It’s too strong of a policy decision for such low-level features as allocation and process lifetime.

                                                                                                            (Of course, I haven’t written a kernel used by billions, so it’s easy for me to judge.)

                                                                                                            1. 3

                                                                                                              Sounds to me like a good opportunity for an opt-in flag asserting that a particular binary handles allocation failures gracefully, so return NULLs to them when appropriate; else deal with it via the OOM killer.

                                                                                                            2. 2

                                                                                                              If there were capacity planning done and limits set on processes or process groups, the ones violating their own capacity would be the ones degraded.

                                                                                                              1. 1

                                                                                                                OpenVMS used process limits for that reason. Plus accounting purposes like link says. Then, they had both virtualized kernels and clustering to mitigate that level of failure.

                                                                                                          1. 10

                                                                                                            This is just the most amazingly Sisyphean project I’ve ever encountered. They’re never, ever going to hit their goal; and yet, they keep cranking away.

                                                                                                            1. 4

                                                                                                              I felt that way about Haiku, and it’s actually turning into a fairly pleasant little desktop that can run some significant applications. It’s almost to the point that if I didn’t need to run VMs and videoconference in Google Hangouts, it could be my full-time desktop.

                                                                                                              1. 1

                                                                                                                The three things that kept me from going Haiku as a real desktop the last time I looked were a lack of drivers, general instability, and a lack of a good modern web browser. Have any of those been addressed? I don’t honestly need VMs or video conferencing, but being on a super old version of Firefox or WebKit were definite blockers.

                                                                                                                1. 1

                                                                                                                  It seems pretty stable. Driver-wise, it handles everything on my reasonably recent laptop; it can load FreeBSD wifi drivers. WebPositive has I think been updated to WebKit 2.

                                                                                                                  Really, I wish Haiku had simply targeted source code compatibility and not binary compatibility with BeOS. Binary compatibility shackled them to a custom version of GCC and binutils, which took a lot of engineering resources. They also added a lot of features, some of which are better than any other extant desktop OS (e.g. PackageFS), but which again took resources away from basic stability.

                                                                                                                  At the end of the day, they’ve accomplished amazing stuff and Haiku is really a usable and pleasant environment. I just think they would’ve hit usability ten years ago if they’d made a few decisions differently.

                                                                                                                  (This is not to disparage their work, which is really awesome. I was never in their shoes, so I’m armchair quarterbacking.)

                                                                                                                  1. 2

                                                                                                                    To the extent you’re armchair quarterbacking, I’ve said the same thing. Sounds like it might be worth me taking another gander, though, so I’ll check things out this evening. Thanks for the inspiration!

                                                                                                              2. 3

                                                                                                                There has been a lot of work recently on this. I dunno man, what if in three years we have a version of ReactOS that runs Vulkn drivers and can play AAA title games?

                                                                                                                1. 2

                                                                                                                  I’ll happily eat my words! But i think it’s unlikely, as they are aiming at a target 15 years old!

                                                                                                              1. 5

                                                                                                                Please do not link to this article on Reddit or Hacker News.

                                                                                                                Well, good thing we’re not Reddit or HN!

                                                                                                                On a more serious note, I wonder why he says that.

                                                                                                                1. 2

                                                                                                                  I came here to ask the same question. Presumably because they want you to use their comment system to discuss it? But how will you find the article if it’s not linked where someone will find it?

                                                                                                                  1. 6

                                                                                                                    HN and Reddit can be pretty toxic, it might just be that the author doesn’t want to deal with that.

                                                                                                                    1. 3

                                                                                                                      I never got into HN, but yeah, Reddit can get pretty awful.

                                                                                                                    2. 1

                                                                                                                      Two other explanations based on previous comments people made on HN after their stuff hit front page:

                                                                                                                      1. They dont want a work in progress to be seen by that large a crowd of technical and business people yet. A lot of negatives can come from it.

                                                                                                                      2. They don’t want their site taken down by the HN Hug of Death. As HN reads it, nobody else can unless they think to hit Wayback. I dont recall if it happens to Medium articles.

                                                                                                                  1. 14

                                                                                                                    Microsoft lets you download a Windows 10 ISO for free now; I downloaded one yesterday to set up a test environment for something I’m working on. With WSL and articles like this, I thought maybe I could actually consider Windows as an alternative work environment (I’ve been 100% some sort of *nix for decades).

                                                                                                                    Nope. Dear lord, the amount of crapware and shovelware. Why the hell does a fresh install of an operating system have Skype, Candy Crush, OneDrive, ads in the launcher and an annoying voice-assistent who just starts talking out of nowhere?

                                                                                                                    1. 5

                                                                                                                      I’ll give you ads in the launcher – that sucks a big one – but Skype and OneDrive don’t seem like crapware. Mac OS comes with Messages, FaceTime and iCloud; it just so happens that Apple’s implementations of messaging and syncing are better than Microsoft’s. Bundling a messaging program and a file syncing program seems helpful to me, and Skype is (on paper) better than what Apple bundles because you can download it for any platform. It’s a shame that Skype in particular is such an unpleasant application to use.

                                                                                                                      1. 3

                                                                                                                        It’s not even that they’re useful, it’s that they’re not optional. I’m bothered by the preinstalled stuff on Macs too, and the fact that you have to link your online accounts deeply into the OS.

                                                                                                                        I basically am a “window manager and something to intelligently open files by type kinda guy.” Anything more than that I’m not gonna use and thus it bothers me. I’m a minimalist.

                                                                                                                        1. 2

                                                                                                                          I am too, and I uninstall all that stuff immediately; Windows makes it very easy to remove it. “Add or Remove Programs” lets you remove Skype and OneDrive with one click each.

                                                                                                                      2. 2

                                                                                                                        Free?? I guess you can download an ISO but a license for Windows 10 Home edition is $99. The better editions are even more. WSL also doesn’t work on Home either. I think you need Professional or a higher edition.

                                                                                                                        1. 2

                                                                                                                          It works on Home.

                                                                                                                          1. 1

                                                                                                                            Yup. Works great on Home according to this minus Docker which you need Hyper-V support for.

                                                                                                                            https://www.reddit.com/r/bashonubuntuonwindows/comments/7ehjyj/is_wsl_supported_on_windows_10_home/

                                                                                                                        2. 1

                                                                                                                          I always forget about this until I have to rebuild Windows and then I have to go find my scripts to uncrap Windows 10. Now I don’t do anything that could break Windows because I know my scripts are out of date.

                                                                                                                          It’s better since I’ve removed all the garbage, but holy cats that experience is awful.

                                                                                                                        1. 13

                                                                                                                          The argument against succinctness seems odd to me. Yes, regular expressions (the example given) are notoriously succinct, but is

                                                                                                                          a(b{3,10}|c*)d
                                                                                                                          

                                                                                                                          really harder to read than

                                                                                                                          ("a" (or (repeat "b" 3 10) (any "c") "d")
                                                                                                                          

                                                                                                                          or some other notation? The verbose one might be easier to read for someone unfamiliar with regex notation, but once you’ve learned regexes, it becomes a lot easier to see “the whole picture” with a succinct notation (IMHO).

                                                                                                                          It’s like saying we should write arithmetic like (to use an example that totally isn’t a real programming language ahem):

                                                                                                                          ADD 1 TO X GIVING Y
                                                                                                                          

                                                                                                                          instead of

                                                                                                                          Y = 1 + X
                                                                                                                          

                                                                                                                          Mathematical notation is notoriously succinct, and it has succeeded because it makes communicating mathematics much easier (yes, I’m intentionally echoing “Notation as a Tool of Thought” here). Standard mathematical notation is the world’s most common DSL and is so common as to be ubiquitous. It is also notoriously succinct.

                                                                                                                          Many of the arguments in TFA against regex notation seem to be at least partially answered by extended regex notation, which allows whitespace. To whit:

                                                                                                                          a
                                                                                                                          (
                                                                                                                            b{3,10}
                                                                                                                          |
                                                                                                                            c*
                                                                                                                          )
                                                                                                                          d
                                                                                                                          

                                                                                                                          is just as if not more readable as the s-expr above (again IMHO) and still lets me see the trees and the forest.

                                                                                                                          I suppose the argument comes down to ease-of-use for beginners versus ease-of-use for experienced users. Experienced users want brevity and conciseness and beginners what code that is self-explanatory.

                                                                                                                          1. 4

                                                                                                                            I think that there should be tools for converting from a dsl to the unsugared powerful syntax. As much as I love regexes, not everyone knows them and there are lots of subleties, complexities, and variations (is that perl, vim, shell?).

                                                                                                                            1. 1

                                                                                                                              The tricky parts of regex don’t go away with verbalising the operators.

                                                                                                                              For example: is the statement above evaluated in a greedy or non-greedy fashion?

                                                                                                                            2. 2

                                                                                                                              The problem with regular expressions isn’t so much that they are overly succinct but that the sub-expressions typically go unnamed. E.g. we might have a regular expression for IPv4 addresses (from https://stackoverflow.com/a/5284410):

                                                                                                                              re = /\b((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(\.|$)){4}\b/
                                                                                                                              

                                                                                                                              but this would be much easier to read if we wrote:

                                                                                                                              octet = /25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?/
                                                                                                                              re = /\b(#{octet}).(#{octet}).(#{octet})\.(#{octet})\b/
                                                                                                                              

                                                                                                                              and as a side benefit it does stricter validation and correctly captures all 4 octets.

                                                                                                                              The most important facility any language can provide IMO is the ability to give names to constructs we create.

                                                                                                                              1. 1

                                                                                                                                Excellent point. Giving names and recursive ability to regexes gets you Parsing Expression Grammars, though there’s no standardized notation for them.

                                                                                                                                1. 1

                                                                                                                                  Once you can name subexpressions you have the question of recursion. If you support recursion this is essentially PEG. That’s why I call PEG “regex++”.

                                                                                                                              1. 10

                                                                                                                                Russ Cox wrote:

                                                                                                                                At Bell Labs, Rob switched acme and sam from black and white to color in the development version of Plan 9, called Brazil, in the late fall of 1997. I used Brazil on my laptop as my day-to-day work environment, but I was not a developer. I remember writing Rob an email saying how much I enjoyed having color but that it would be nice to have options to set the color scheme. He wrote a polite but firm response back explaining his position. He had worked with a graphic designer to choose a visually pleasing color palette. He said he believed strongly that it was important for the author of a system to get details like this right instead of defaulting on that responsibility by making every user make the choice instead. He said that if the users revolted he’d find a new set of colors, but that options wouldn’t happen.

                                                                                                                                It was really a marvelous email, polite yet firm and a crystal clear explanation of his philosophy. Over the years I have from time to time spent hours trying to find a copy of that email. It is lost.

                                                                                                                                1. 16

                                                                                                                                  This is a good example of having a fundamentalist position to the point of absurdity. The idea that there will be a correct colour scheme for a text editor is an amazing mix of arrogance and over-simplification.

                                                                                                                                  1. 12

                                                                                                                                    And ignores the fact that not everyone has “correct” vision and color perception.

                                                                                                                                    1. 2

                                                                                                                                      And not every display is created equal, either. Nor every physical environment. (I switch themes when I use my laptop outdoors, because my usual low-contrast theme is illegible there.)

                                                                                                                                      1. 1

                                                                                                                                        That seems silly.

                                                                                                                                        I go outside sometimes too, but I adjust the contrast and colour temperature of the entire system, since I do more than edit text.

                                                                                                                                        1. 2

                                                                                                                                          Oh, that makes sense. When I take my old ThinkPad outside, I don’t have internet access, so, it’s highly unlikely that I will be doing anything other than editing text. :) In recent history, this has only happened when I’m a passenger on a long drive. There are a couple of toy C programs I putz around with to pass the time.

                                                                                                                                    2. 2

                                                                                                                                      The idea that there will be a correct colour scheme for a text editor is an amazing mix of arrogance

                                                                                                                                      Why?

                                                                                                                                      I have my own opinions on the matter, but it seems to me that optimising a colour scheme for a set of requirements (contrast, colour blindness, long exposure time, etc) is probably possible.

                                                                                                                                      I think most people have a brand preference for a set of colours that is something else though.

                                                                                                                                      and over-simplification.

                                                                                                                                      The depth of the response may be lost to us, but surely it is irresponsible to assume it was done without thought given here is an accomplished programmers report that the response was in fact, quite thoughtful?

                                                                                                                                      1. 2

                                                                                                                                        I have my own opinions on the matter, but it seems to me that optimising a colour scheme for a set of requirements (contrast, colour blindness, long exposure time, etc) is probably possible.

                                                                                                                                        There are many considerations that go into people’s selections of color schemes that intrinsically vary, including physical environments (e.g., home vs. office), time of day (e.g., daylight vs. evening light), and simple personal preference. To insist that there be no option to change the colors – on principle – is to tell everybody who might care about these considerations that they’re flat out wrong and that the author knows that before having talked with them. As if that’s not arrogant enough, it’s even more arrogant (and illogical) to further claim that even if one were wrong about the specific colors chosen, they’re still right about the broader point that there’s only one appropriate color scheme for an editor.

                                                                                                                                        The bit about author’s responsibility is a red herring. I, too, believe that it’s important for authors to choose an appropriate set of configuration parameters. I also believe there’s nothing wrong with users wanting different values.

                                                                                                                                        1. 1

                                                                                                                                          I think it supporting multiple physical environments (gamma/contrast) and time of day (temperature) doesn’t beg for multiple colour schemes: That’s just lazy engineering. This is obviously a job for the display manager or monitor setup.

                                                                                                                                          Being left with “simple personal preference” isn’t satisfying; People can have a “simple personal preference” about nearly everything, Flat earth, Metric system, Fish on Friday, and so on. Some editors support more preferences than others.

                                                                                                                                          In terms of something wrong with “users wanting different values”, one thing I particularly dislike about preferences is sitting down at another persons workstation and being unable to help them quickly (i.e. with minimal mental load on myself) because they have configured damn near everything that can be configured.

                                                                                                                                          1. 3

                                                                                                                                            I think it supporting multiple physical environments (gamma/contrast) and time of day (temperature) doesn’t beg for multiple colour schemes: That’s just lazy engineering. This is obviously a job for the display manager or monitor setup.

                                                                                                                                            I don’t think that’s obvious at all.

                                                                                                                                            Being left with “simple personal preference” isn’t satisfying; People can have a “simple personal preference” about nearly everything, Flat earth, Metric system, Fish on Friday, and so on.

                                                                                                                                            “Flat earth” is a scientific model, the purpose of which is to make predictions, and that model makes no useful predictions that aren’t made more accurately by other models. If you were building software that depended on a model of the earth, I think it would be fair to leave out a “flat earth” model because it’s objectively less useful. Meal choices are indeed a personal preference – and if you were building software for people to record their meals, I’d recommend against supporting only one possible food. Few people would find it reasonable to tell somebody what single food they must eat for all meals. Choice of unit system has properties of both; there are tradeoffs with different systems, and most software provides an option to switch between them.

                                                                                                                                            My main point is that to provide an option is to allow for the possibility that you might be wrong and enable users to adjust as they need to. To refuse the option (on principle) is to assert that anybody who wants it to work differently is wrong by construction.

                                                                                                                                            It seems like you’re taking the conjecture (that there is only one optimal color scheme) as an axiom and, faced with a data point like a person claiming to prefer a different color scheme, conclude that the person is irrational (akin to a flat earth believer). That seems backwards to me.

                                                                                                                                            In terms of something wrong with “users wanting different values”, one thing I particularly dislike about preferences is sitting down at another persons workstation and being unable to help them quickly (i.e. with minimal mental load on myself) because they have configured damn near everything that can be configured.

                                                                                                                                            I agree with how annoying this is, but I would not even consider to insist that people use no customizations for the tiny fraction of time I spend in their environments.

                                                                                                                                            1. 1

                                                                                                                                              It seems like you’re taking the conjecture (that there is only one optimal color scheme) as an axiom

                                                                                                                                              I’m humouring it, sure.

                                                                                                                                              Here’s a smart guy who has convinced another smart guy – the exact conversation lost, but the impression remained. I’m giving it the benefit of the doubt because that’s how we ourselves begin to be convinced of strange and unusual ideas.

                                                                                                                                              I’m still making my own opinion here:

                                                                                                                                              It seems possible to have a colour scheme optimised for certain things.

                                                                                                                                              It might not be possible to optimise for every thing, and it’s certainly not possible to optimise for everything once you’ve permitted “personal preference” to be one of those things; as an extreme example, people had personal preference not to sit next to black people on the bus – so I think it’s absolutely foolish to admit “personal preference” so quickly.

                                                                                                                                              most software provides an option to switch between them.

                                                                                                                                              Feature parity is often a useful goal, but I don’t see how it’s relevant. The feature either generally useful or specifically popular, and the argument is clearly about the former.

                                                                                                                                              That seems backwards to me.

                                                                                                                                              That’s why thinking about it is useful.

                                                                                                                                              I think you can start from either position: That choice is good or choice is bad. It’s almost certainly not that simplistic, but I see no good reason to start at the end you are starting from, and several easy reasons not to.

                                                                                                                                            2. 2

                                                                                                                                              Being left with “simple personal preference” isn’t satisfying;

                                                                                                                                              Their personal preference might be based on something like “I’m colorblind” or “I have a sensory integration disorder” or “I need a high-contrast theme because I have extremely poor vision.” Sometimes preferences are out of necessity.

                                                                                                                                              1. 1

                                                                                                                                                I don’t agree that those things are “simple personal preference”.

                                                                                                                                                I touched briefly on why, but reading back it might not be clear:

                                                                                                                                                Accessibility is actually probably something that can be optimised for – that is to say, a colour scheme can be optimised for colourblindness, contrast needs, integration disorders, and so on.

                                                                                                                                                However even if personal needs remain unaccommodated, I’m still not sure every application being written needs to reinvent the wheel to add this kind of configuration. Notwithstanding the risk/reward questions (e.g. how many people have these kinds of problems, really), it still seems like it would be smarter engineering to get your display manager/windowing environment to do it, not to mention more convenient for users.

                                                                                                                                                So: Still not convinced.

                                                                                                                                    1. 3

                                                                                                                                      2.6 Perform work only in areas of competence.

                                                                                                                                      If you think you know what you’re doing in computer science, you just don’t know enough to know how you’re wrong.

                                                                                                                                      1. 9

                                                                                                                                        Not that I’m complaining; I want to see more APL discussion but…please can we do something other than the exact same Game of Life one-liner in every article? APL is not Life: The Language. I’m not exaggerating when I say that something like 99% of pop-APL articles are the dissecting the exact same Game of Life example.

                                                                                                                                        1. 5

                                                                                                                                          It’s like Quicksort in Haskell.

                                                                                                                                          1. 1

                                                                                                                                            It’s because they can’t actually write anything meaningful in the language so they just quote the example they found. So I’d argue it’s likely that we can’t do something other than the exact same Game of Life one-liner, because we’re not capable.

                                                                                                                                          1. 2

                                                                                                                                            Years ago I was on the national infrastructure team for Whole Foods Market. When I started the stores each had a single frame-relay connection back to HQ (except for a fish warehouse in Alaska with a single 64k B-channel (the other B-channel was for voice)).

                                                                                                                                            When I left, each store had two leased T1/E1lines from preferably two different local providers, where they participated in a global VPN mesh network that connected all the stores/locations.

                                                                                                                                            (Except that one place in Alaska, which now had both halves of an ISDN line, and which talked to the VPN.)

                                                                                                                                            A Whole Foods Market does a lot more business than a Chic-fil-a, obviously, so they could afford more, and this set up was even more expensive back then (this was back when retail POS taking credit cards either had a dial-in batch system or the little manual card imprinter things).

                                                                                                                                            It was also a beautiful challenge because of the management structure. Each region of the company had complete autonomy in their purchasing and office IT, and it was our job to get them to all talk to each other. We had our IP-VPN backbone, but we successfully had AppleTalk servers in one state and old IBM minis running SNA in another and some NetWare IPX boxen able to theoretically talk to each other thanks to Cisco’s multiprotocol routing.

                                                                                                                                            Each store had two Cisco routers, 3600’s IIRC, for redundancy. The POS stuff was less my purview but again varied by region.

                                                                                                                                            Anyway, I’m just rambling. Retail networking is often more complicated than people realize is I guess my point.

                                                                                                                                            1. 2
                                                                                                                                              const obi = {firstname: "Obi", lastname: "Wan"};
                                                                                                                                              

                                                                                                                                              twitch His last name is “Kenobi”

                                                                                                                                              1. 4