1. 5

    When you pay the mafia to protect your business, you’re not just paying them to not burn down your shop: you’re paying them to violently discourage anyone else from trying to shake you down. But on the internet nobody can break my kneecaps for threatening someone who is already protected.

    So does this scam collapse when nobody pays because everyone’s trying it, or do we end up in an exciting new world of organized cybercrime?

    1. 6

      Great to see that you travel by train when possible, but how do you justify the carbon footprint of the flying that you do? A single international flight can easily produce more emissions that a person’s annual emissions in a place like India or Bangladesh. And I’m not even talking about business class flight emissions.

      Here is another very useful tool, a flight emissions calculator: https://www.atmosfair.de/en/offset/flight (they sell carbon offsets too, but offsets do more harm than good so they are not a way out).

      1. 6

        Why do offsets do more harm than good?

        I haven’t bought last year’s TerraPass yet so I’m interested in knowing.

        1. 2

          Essentially, it’s an issue of perverse incentives. This sums it up quite well, I think: https://kevinanderson.info/blog/wp-content/uploads/2013/02/The-inconvenient-truth-of-carbon-offsets-Pre-edit-version-.pdf

          As an example, here is an in-depth look at what happens with forestry offsets in practice: https://features.propublica.org/brazil-carbon-offsets/inconvenient-truth-carbon-credits-dont-work-deforestation-redd-acre-cambodia/

          Besides, you have to consider that for a given level of warming (either 1.5C or 2C), we’ve got tiny remaining carbon budgets and very short timeframes. What we need is real, rapid emissions cuts, particularly in the developed countries. Offsets, however, encourage exactly the opposite, so they are harmful.

          1. -1

            Right, but those are fly-by-night operators. There are verifiable US offset projects that are definitely real.

            The perverse incentive situation does sound credible. Fortunately, I live in a city where policy makers see increasing traffic as action to create increased public transit. Unfortunately, any such mechanism in America is hamstrung by the universal veto problem. In regions absent significant traffic problems, I suspect public transit simply will not take off. It’s possible the marginal car added to San Francisco’s streets actually makes it more likely public transit will happen.

            The “hard to prove it sums to zero” problem applies to everything, though. For instance, will suppressing nuclear power lead to better long-term results through earlier achievements of renewable generation? Will encouraging fission result in wide-ranging mining operations that worsen our results? That’s not a productive line of reasoning. Considering third-order effects are not easy to detect, the rational strategy is to attempt to reduce emissions and buy yourself into carbon negation every year you can.

            Looks like it’s sensible for me to buy TerraPass this year.

            1. 0

              Yes, I agree that some of the domestic offsets are real and more useful. However, the perverse incentive problem persists. Sure, if you’ve made all possible efforts to reduce emissions first and then bought offsets for the remainder, that’s positive. But mostly it works in a different way, I suspect: people may choose to fly around the world like the OP, or otherwise continue a high-carbon lifestyle, and justify it by buying offsets. Same thing applies to corporations. At best, it achieves nothing: the emissions do not go down.

              I’m not sure I can agree with you that the effects of offsets are hard to assess. I think they are very clearly a tactic that allows corporations and individual people in the developed world, where reductions are most urgent, to continue doing nothing about their emissions.

              1. -1

                Hmm, interesting. Just observing my behaviour after realizing TerraPass exists, I have increased carbon emissions but offset it all. So long as I’m paying to be net carbon negative, and there are few demonstrable third-order effects, it would appear that my total actions are now superior to my previous car-free transit-oriented lifestyle where I didn’t buy a single offset. Would you mind sharing your model of behaviour that results in net emissions being positive (let alone equal to pre-offset behaviour)? It doesn’t seem congruent with what I’ve observed: people go carbon negative rather than have a carbon budget that they remain within by increasing emissions and increasing offsets.

                Of course I do disagree with you on the second paragraph, but that’s a discussion for a different time. Economically, it would be optimal for me to emit more by driving to work rather than taking BART if I used the realized time to achieve sufficient value that I can outpace some number of people in developing nations. I suspect this is likely to be true, simply because my time is of sufficiently higher economic value than theirs (as is others than mine). This is the mechanism that we should hope to tap into by capping personal emissions and allowing trading of emissions. It is better for the world that I sell Bezos carbon units that he can use to fly somewhere that allows setting up a warehouse than that I use those personally.

                Thank you for sharing what you did with me. I appreciate it.

                1. 0

                  I don’t think it’s helpful to get into the weeds of offset arithmetic. It may be that somebody is actually planting enough trees to offset all of your emissions – but it’s not sustainable in the longer term anyway, they can’t keep planting forever, especially if your emissions are increasing at the same time!

                  We can instead look at the history and evaluate the evidence. Carbon markets (and consequently, offsets) were introduced along with the Kyoto protocol back in 1997. In the 23 years since, annual emissions have gone up 50%. About half of carbon emissions since the beginning of the industrial revolution have been produced in the last 30 years. Keeping in mind that we have finite (and small) budgets for cumulative carbon emissions, this is unequivocal evidence that carbon offsets and markets don’t work and cannot achieve their stated goal – and we’re out of time to keep fiddling with them.

                  Thank you for the discussion as well.

                  1. -1

                    I think I can accept that inherent implementation complexities (governments do not want to put their industries at relative risk, permits on historical generation reward polluters, etc.) make a worldwide cap-and-trade system not work. i.e. it’s one of those “if we could all work together” things which never works. Clearly it didn’t work and that’s pretty strong evidence on its own. I think the big difference with the SO2 thing is that the gains from cutting SO2 across the US helped the US itself whereas in the international space much of the costs are externalized.

                    On an individual level, though, I find it hard to believe that someone relying on offsets to be carbon negative is worse for climate change than someone who is carbon positive but has no offsets. That’s just arithmetic. Of course, there will come a time when achieving offsets will be prohibitively expensive. But it’s the instantaneous net emissions that count. The availability of offsets or the use of them wasn’t the problem with the Kyoto Protocol. It was the use of allowances.

                    tl;dr I buy that cap-and-trade can’t save the Earth. I don’t buy that an individual offsetting all their emissions is doing a worse thing than an individual not offsetting but reducing use.

                    1. -1

                      Well, there are a couple of things missing from your consideration: the second-order effects and the scenario of an individual who beats both of your tl;dr options handily by both reducing emissions and offsetting. But again, the number of such individuals is drastically constrained by human psychology (another second-order effect). It seems, however, that we disagree substantially on the magnitude of second-order effects ¯_(ツ)_/¯

        2. 2

          how do you justify the carbon footprint of the flying that you do?

          I don’t.

          I’m conscious of it being harmful to the environment, but I don’t think it would be constructive for me to try to justify it with “oh, but I recycle!” or any other attempt at negation. That would be a total cop out.

          In truth, I’m not sure what more I can reasonably do to lessen my impact on the environment. It’s been years since I’ve had a commute, so that’s a good thing. As I understand it, having a pet is more harmful to the environment than running a family car, but I’m not going to kill my pets (who live with my girlfriend’s family in Russia). I suppose I could go and protest against hippies? From what I’ve read from economists, physicists, and climate scientists, the group of people who have historically caused the most climate change are misguided climate activists, because they are the ones pressuring governments (like in Germany) to back away from investment in nuclear power.

          I’m hopeful for the future. I believe technological advancement will enable cleaner air travel. I don’t believe that everyone will just stop flying.

          1. 7

            From what I’ve read from economists, physicists, and climate scientists, the group of people who have historically caused the most climate change are misguided climate activists, because they are the ones pressuring governments (like in Germany) to back away from investment in nuclear power.

            From my understanding, the issue with nuclear power is that we just don’t have a safe place to store nuclear waste. So even though nuclear power seems cleaner in the short term, the real problem is when nuclear waste starts poisoning the environment’s water and or just generally raising the radiation level of a area beyond what should be considered normal.

            I too have heard this argument, but the people making them have been those, who just a few years ago, were denying climate change (for ideological, political, economical, … reasons), so I’m not sure how trustworthy they are.

            But I’m interested in the pet argument, what’s the issue there?

            1. 1

              There are other ways of using nuclear fuel than storing it for 100k years after you’ve used 1% of the fuel. See e.g. https://en.wikipedia.org/wiki/TerraPower . But this is usually prevented because of fears of plutonium.

              1. 1

                the issue with nuclear power is that we just don’t have a safe place to store nuclear waste

                That’s true for now, but I don’t believe it’ll be true indefinitely.

                But I’m interested in the pet argument, what’s the issue there?

                Meat.

                Here: https://www.youtube.com/watch?v=AkIwX0hlPzs

                1. 0

                  That’s true for now, but I don’t believe it’ll be true indefinitely.

                  So what’s the problem with opposing nuclear power until it actually is safe, like with what @ptman mentions?

                  1. 2

                    If you oppose anything until it’s perfectly safe, you’ll do nothing. The most important arguments for fission are a) that it’s massively more efficient than any other known form of fuel-consuming energy generation (except fusion), b) it isn’t beholden to luck of the draw factors (wind, hydro, and geothermal are all great, but only if you’re blessed with nearby wind, water, or magma), and c) its pollution footprint is relatively small, dense, and containable (even if it’s highly toxic and indescribably long lasting) … if you instantaneously replaced all petrochemical combustion power generation on the planet with even today’s “unsafe” fission you’d put a massive brake on human-driven climate change and, at worse, the power generation industry would kill over the next century a tiny fraction of the people it currently kills in any given year.

                    Fission, right now, is world’s safer than any known form of chemical energy generation … opposing it is, quite simply, illogical.

                    1. 0

                      Fission, right now, is world’s safer than any known form of chemical energy generation … opposing it is, quite simply, illogical.

                      That ties into the argument I mentioned about: right now, but the danger is that the waste it currently produces isn’t sustainable. And considering that a solution to this problem is currently just hypothetical, I find the position of the anti-nuclear people more reasonable.

                      1. 1

                        There are several long term sequestration solutions for the waste, but tragically there’s a lot of ill-informed opposition and fear-mongering about them that have little to nothing to do with with rationality or reasonableness. The only reason there’s any issue with current waste production levels is that its forced into short term, on-site storage by those same tragically short-sighted biases. Per megawatt of electricity the waste generated by petrochemical combustion must be measured in tonnes and the volume in cubic kilometers … the same amount of electricity from a modern nuclear reactor generates sub-gram levels of waste and the volume is in cubic millimeters, and reactor designs available today (but not yet in production) would generate even less. Yes, that waste will be impactful to human health for much longer, but only if you’re in close proximity to it … with the fossil fuel industry you just have to be anywhere downwind. The truly goofball thing is that there is no other viable alternative for taking humans off of petrochemical combustion en masse, but we keep delaying the inevitable due, my guess, to rent-seeking and lobbying by those same petrochemical suppliers.

                        nuclear waste starts poisoning the environment’s water and or just generally raising the radiation level of a area beyond what should be considered normal

                        That’s a good example of misplaced fears, BTW … high-level nuclear waste isn’t generally water soluble, and it doesn’t just start raising the radiation level in an area, except extremely close to it. Like over the lifetime of an average power generating reactor the fuel spilled from the trucks servicing the site will do much more damage to the local water supply than any of the fission products.

                    2. 1

                      Maybe I have this wrong, but typical anti-nuclear sentiment is against all kinds of nuclear technology regardless of age, isn’t it? I can understand demanding certain levels of safety and sustainability, but I don’t see that particular nuance in this area of public discourse.

                      1. 0

                        What do you mean by “regardless of age”?

                        1. 2

                          I mean I don’t often see critics of nuclear power saying “the old technology is bad, and the newer technology is much better.”

                          All I see is “nuclear bad!”

                          1. 0

                            Unless I am mistaken, the “newer technologies”, such as TerraPower mentioned above aren’t ready yet. So it’s more like “current technology bad, hypothetical technologies could be better”.

                            Also, if the argument of the people you disagree with seems to (just) be “nuclear bad!”, I would wonder how much you have really engaged with these people, beyond the “public discourse”, which is necessarily, for lack of a better phrase, “dumbed down”.

                            1. 0

                              I’ll state my position on the topic whenever it comes up. I wonder where you’re finding all these people who are well-read in this topic. It sounds nice!

                2. 10

                  I sort of get what you’re trying to say, carbon reductionism is problematic. But I also think your tone in this comment comes off a bit narcissistic and naive.

                  My anecdote: I’ve spent half my career working in my hometown with a commute, and half as a remote worker in another that traveled a few times a year (for work, family, and recreation). I’ve run the numbers going through my vehicle mileage and flights for the past 10+ years, and my carbon output was multiples higher than the years I had a daily commute. It’s been making me at the least think a bit more intentionally about what I’m actually travelling for, whether I can plan in advance to combine trips, etc. There’s also carbon offsets depending on how much you believe in them. The broader question may be asking what you really are doing as a world traveler - are you actually participating in the culture and inhabiting the places you visit? Or checking off items on a bucket list? Not saying there’s a right answer here but it’s at least a framing I’m trying to have.

                  1. 5

                    These type of comments come off as deranged.

                    Live your life and don’t avoid incredible opportunities to travel the world so you can microscopically impact the demand for air travel.

                    1. 2

                      microscopically impact the demand for air travel.

                      What you’re really pointing to here - correctly, I think - is that we have not globally figured out how to account for negative externalities in a meaningful way.

                      In the US, coal fired power plants have long been one of the cheapest ways to provide energy, but the air pollution from running them is estimated to kill tens of thousands every year. But we don’t account for those deaths, let alone for the illnesses suffered or the cost to clean the air, so coal remains cheap.

                      Until those externalities are priced into the cost of fuels, individual decisionmaking will not drive people away from flights or cars or anything else.

                      To play with: an interesting carbon tax calculator, which weighs the cost of a tax based on emissions from burning a unit of fuel.

                    2. 4

                      But I also think your tone in this comment comes off a bit narcissistic and naive.

                      That’s an unfortunate interpretation.

                      I struggle to see how my comment displays narcissism. In fact, I think the common behaviour that I am decidedly not engaging in, i.e., a whole load of self-admiration for not impacting the environment in other ways, is an example of narcissism.

                      And naïve? It was a totally loaded question. It wasn’t “have you thought about your impact?” It was “how can you justify this bad thing you are doing?” To me, the real naïveté here is believing that people will stop travelling. Climate change is of course a concern, but I don’t have tens of millions of dollars to afford a Greta Thunberg yacht to whisk me around the world to complain about people flying. The now infamous Greta line is “fantasies about infinite economic growth”, but try telling people in developing economies that they’re not allowed to have the modern conveniences most Westerners enjoy. Try telling parents in Africa that their kids should continue to die of diarrhoea. Trade (and by extension, travel) are necessary for economic growth.

                      The broader question may be asking what you really are doing as a world traveler - are you actually participating in the culture and inhabiting the places you visit?

                      I know what I am travelling for. No, it isn’t “bucket list” trips. And no, I don’t think “participating in the local culture” (although I do do that) has any difference in environmental impact. I certainly participate in the local economy, which is important for any country. I’m not riding elephants and “finding myself” in a pair of yoga pants. I’m renting normal apartments, living a fairly ordinary life, just in places with better weather.

                      1. 1

                        I think gp was spot on. You are thinking only of yourself and ignoring the reality that faces us all: our carbon allotment for having any chance of keeping warming below 1.5 degrees celsius is almost used up. Blowing past that marker spells disaster for everyone on the planet. This is not conjecture, it’s settled science. We(tech workers) have the ability to work remotely and we should use that ability for the good of humanity. Please, pick a place and stay there.

                        1. 2

                          Please, pick a place and stay there.

                          How do you suggest I evade immigration laws?

                          1. 4

                            Lots of options there: return to your country of origin; pursue legal immigration options in the country of your choice; live in Europe and take the train between countries…

                            1. 3

                              I have citizenship in the UK, Poland, and Australia. Sure, I could “return” to my countries of origin, but that would involve an awful lot of flying.

                              I’m sorry, I’m not going to give you a serious, constructive answer. I am going to continue travelling. A random person on an Internet forum is not going to carbon-shame me out of that.

                              1. 5

                                And this is what it comes down to, strawmen about pets aside, for you and billions of other people: self-interest, however non-essential, trumps any consideration for the collective good, or even the long-term survival of human civilisation. Kinda sad, when you think about it.

                1. 23

                  The guideline I heard was “don’t think about microservices until you have more devops people than the average startup has employees.”

                  Monoliths scale pretty dang far!

                  1. 9

                    At my last job I often said my primary mission was to defer for the longest time possible the introduction of microservices and to defer for the longest time possible the introduction of deep learning.

                    1. 6

                      This lines up with my experience as well: microservice scaling is entirely organizational, not technological.

                      Eventually consistent writes, stale OLAP, and designing for the inevitable failure of half your application becomes paradise when the alternative is that even small feature delivery grinds to a halt because coordinating and testing changes eats up most of the cycles of your development teams.

                      1. 1

                        I agree that having devops figured out is critical, right. But even in startups, when done right, its nice to split up different things into different services.

                      1. -10

                        Money quote:

                        Why are you leaving? Little bored. Not learning as much as I used to. I’ve been doing the same thing too long and need a change. […] I want to build something new again. I don’t want to get stuck in a comfortable rut.

                        I hope the author, who has so far worked on Go at Google, reignites his learning through something relatively more sophisticated like Rust or Haskell.

                        1. 61

                          This is an incredibly patronizing thing to say.

                          1. 27

                            Agreed, I usually downvote and ignore such comments, but I can’t help but point this out in light of the recent “Lobsters Is Better than Hacker News thread” [1] (which I also found to be “low effort”)

                            The comments on this same article on HN are significantly more enjoyable and positive to read than this thread:

                            https://news.ycombinator.com/item?id=22161383

                            It reminds me of the “low effort” framing here regarding open source participation.

                            https://lobste.rs/s/8pvhsl/my_foss_story#c_r697kv

                            Leaving aside the fact that the comment is patronizing (and IMO should just be deleted), it just has so little effort behind it that it contributes nothing.

                            I try to ignore the many low effort / tribal comments on lobste.rs, but sometimes the noise overwhelms the signal. I think the relatively aggressive HN moderators have done a good job. I understand why people dislike the site, but that’s because it’s big and the bad stuff jumps out at you.

                            https://www.newyorker.com/news/letter-from-silicon-valley/the-lonely-work-of-moderating-hacker-news

                            Anyway I write this in hopes that people will put some more effort into their comments. I didn’t submit my last 7 blog posts here and it wasn’t a loss. One post was submitted to HN yesterday and that was plenty of feedback – at least 80% of it not “low effort”.


                            [1] https://news.ycombinator.com/item?id=22146746

                            https://lobste.rs/s/bxuqzy/why_lobste_rs_is_better_than_hacker_news

                            1. -1

                              I didn’t submit my last 7 blog posts here

                              With all due respect, personally I havent missed it. I admire what youre trying to do with the Oil project, but its not of personal interest to me and I havent found a way to filter it out. To be candid it feels as if you use Lobster as a advertising platform sometimes. I think it would be better if you posted more non-Oil topics. Looks like 12 of last 15 were Oil Shell:

                              https://lobste.rs/newest/andyc

                              Good luck to you.

                              1. 37

                                I hate advertising as much as the next guy, but this is very unfair to Andy. For one, the pieces aren’t just about Oil shell. Most of them are about topics inspired by Oil shell, things like motivations, facets of the system, different techniques used to implement it. He’s also written tons of comments on other people’s submissions. He’s a good-faith member of the community.

                                1. 13

                                  I agree he definitely interacts more than simple link dumping and while Oil isn’t interesting to me, so are a lot of other technologies that I can’t filter out. I think he should be welcome to share his links so long as they contain new information and not a repetition of existing information. For example I probably would be interested in how he stays so productive and how he manages tasks, and how he decides what to work on next. I hate to admit it but I’m probably more likely to click it if a product name isn’t in the title ;).

                                2. 18

                                  Disagree strongly. @andyc’s blog posts are exactly the kind of content that should be submitted to lobsters. Please don’t stop Andy!

                                  1. 13

                                    Strongly disagree. If @andyc content is not for lobsters, what is? Each of the posts is technically sound, and I learned many things from them, even tho I’m not interested in Oil per se.

                              2. 19

                                Interestingly, a sentence immediately below, which however didn’t make its way into above “money” quote, is:

                                It’d be nice to primarily work in Go rather than work on Go.

                                1. 19

                                  How good of a programmer does one have to be before they can reject Haskell or Rust have it reflect something other than their own ignorance?

                                  1. 4

                                    Sorry, I don’t understand your question/statement. Could you please rephrase it, English is not my mother tongue. I’m not sure if you ask about the skill level one has to have to be able to reject Haskell or Rust on a non-ignorance base without prejudice of other developers, or something completely different?

                                    1. 5

                                      Some fervent proponents of programming languages will imply that programmers that like or use other languages simply do not understand the unique benefits they convey. Paul Graham wrote a whole article that may be the root of some of this thinking.

                                      Rust and Haskell stereotypically attract these followers more than many languages. But other languages are not immune to this criticism; I’m a Lisp weenie and as we all know, Lisp is still #1 for key algorithmic techniques such as recursion and condescension.

                                      I read cgag’s comment (and upvoted it) as a tongue in cheek joke: a fervent follower of language X will always consider a criticism of X or a desire to not use X as a position rooted in ignorance of X’s capabilities.

                                      1. 3

                                        Some fervent proponents of programming languages will imply that programmers that like or use other languages simply do not understand the unique benefits they convey. Paul Graham wrote a whole article that may be the root of some of this thinking.

                                        This is true a lot of the time. It’s certainly possible for two people who have both used language X to disagree on whether the style of programming that language X facilitates or encourages is good; but a lot of the time a person who likes language X is making the case that language X is good to programmers who haven’t used it and don’t care to (which is fair enough - it takes a decent amount of time and effort to learn a novel programming language well enough to have an informed opinion about it, and it’s reasonable to decide that you don’t care about forming an informed opinion about a language and doing something else with your time instead).

                                        1. 1

                                          Oh, I think you and pg make a good point: sometimes there really are advantages that you can’t see when you look up from blub to language X, and the only real way to get it is to learn X. But I think it’s important to think about looking down the ladder too.

                                          When I’m in X slinging macros to build a DSL that makes my life easier, I’m making a decision that forces the next programmer to look at my code to deeply understand my DSL and all the decisions therein. What multiplies my productivity might quarter theirs.

                                          Sometimes you look down and the forced simplicity of blub looks OK :)

                                  2. 8

                                    I spent a little bit of time on both Rust and Go and I learned a lot more with Go. Rust is pretty standard and sane, calling into libc, using LLVM. Go goes wild and does its own thing everywhere, it even does its own linking. It’s a lot of fun.

                                    1. 4

                                      I believe I understand what you meant, Go has a goal of simplicity, Rust and Haskell are more feature rich. Working on the Go compiler as a result can feel like polishing the same thing over and over, spending tremendous effort to make small improvements. The way you phrased it though appears as though you think Rust and Haskell are “smarter” or “superior” in some way. Implying some language is “smarter” or “more sophisticated” is a good way to make everyone hate that language.

                                      1. 6

                                        Implying some language is “smarter” or “more sophisticated” is a good way to make everyone hate that language.

                                        I would only ask that while some fans of other languages can become overly zealous that we try to not anthropomorphize the language itself by applying a label of hate to it. I think we can all agree that the GP comment is of poor quality.

                                        1. 3

                                          I can see that. I doubt anyone truly “hates” a language any more than they hate broccoli or brie. I love broccoli and I love brie, but I have heard some people hold strong negative opinions before.

                                        2. 1

                                          I think he just means Go isn’t that great of a language. I don’t really blame him for having that opinion. Go reminds me a lot of Java, it got adopted because a giant tech company “sponsored” it

                                          I mean just replace “Go isn’t that good” with “C++ isn’t that good” or “Java isn’t that good” and it suddenly becomes way less controversial.

                                          1. 4

                                            i first played with go before it was 1.0, and immediately liked it because it got so many things right, even back then. easy compilation, easy definition of packages without additional magic files, binaries that can just be copied. it’s just optimized for sanity if you want.

                                            so, imho: it got adopted because smart, experienced people got as much time as they wanted to carefully build something.

                                            1. 2

                                              Yea from what I’ve heard/experienced, the Go tooling is incredible (just like the Java tooling was incredible). I think what people have a problem with is Go the language.

                                              Full disclosure though, I’ve never used the language in any serious capacity (other than adding a 5-line patch to the backend code at work here and there) so I don’t have much to say. I have an irrational distaste for the language that I can’t put my finger on. I’m not sure if it’s the weird syntax or what. Tooling seems great though. I’ve been meaning to install 9front on one of my computers.

                                              1. 1

                                                most, if not all of the weird choices were made deliberately, the faq explains some of them. imho these things make the language great. for example, the “backward” declarations really feel natural for me, compared to c style declarations.

                                                the rest of the language is really boring, but the single features really work well together. that’s what makes it great. maybe it’s like watching a anthony bourdain episode where someone cooks a great meal in a single wok over a wood fire outside. it’s about how the tools are used, not how complicated the tools are :)

                                                1. 1

                                                  Hm maybe I should check it out then. I really like Lua and C for the same reasons you like Go

                                          2. -10

                                            It’s better to be hated than to be incorrect.

                                            1. 16

                                              That’s a ludicrous false dichotomy. Being incorrect isn’t good, sure, but being hated is also bad. But good news, you can be correct and not hated! The secret is to communicate humanely and not conflate abrasiveness with intelligence.

                                              1. 3

                                                You can’t always avoid being both correct and unhated. If enough people sacralize or tie their identities to a particular falsehood, someone who says things that are consistent with the truth will be hated.

                                                1. 8

                                                  Sure you can. You do it by being quiet.

                                                  Of course, that’s often undesirable for other reasons.

                                                  In the case of the comment that sparked this chain, it was more-or-less the optimal choice, since Brad does not (to my knowledge) read the comments here.

                                              2. 8

                                                Hmm sometimes yes, sometimes no.

                                                If you are hated over an inconsequential disagreement where you were correct then you probably didn’t take the right dialogue tree. There are many ways you can share ideas without being hated and correct.It’s also important to note that most people in this kind of situation merely think they are correct, are incorrect and are hated. For example someone with hostile communication strategies would say “No if you are correct you will be hated” , fight tooth and nail, and be nonetheless incorrect and hated. They will think they are more correct because they are hated, but they are probably wrong.

                                                1. -1

                                                  I think people here are quick to jump to giving an uncharitable reading of my comment. Rust and Haskell are unquestionably sophisticated (and arguably technically superior) in regards to the type system when compared to Go. My goal was to get people curious, and not harbor hatred.

                                                  Where I may have erred is in suggesting that author take that route. I just think there is not much you can learn, from a PL standpoint, by staying in Go and similar languages. But then, for all we know, the author may care about other things than PL.

                                                  Speaking personally, I have passionately used Go (among other languages) in the past. Curiosity and need naturally lead me to discover other languages and, today, I’m extremely delighted to use Haskell for real world software.

                                                  I also recommend reading http://www.paulgraham.com/disagree.html (especially when emotions run high).

                                                  1. 4

                                                    I’m a functional programmer so you’re preaching to the choir and I think it is valuable when interfacing with others to be particularly careful when saying that you have a better approach. Even if you are right, people often hold the idea that they are what they do. If you appear to be saying what you do is better than what they do, then they are likely to read it as “I think I am better than you”. Now you probably don’t think you’re better or smarter than they are, after all its just a different tool. Nevertheless this can be how it is received if you are not careful. Since when we write we are often writing to an audience, how the audience receives our message can really matter in advocacy and outreach. I think your original post was unfortunately ambiguous about what you thought of others. So even though that might not have been what you felt or thought, it still is how it will be received, even to a generous listener. The second post is much clearer that you don’t look down on others. You probably didn’t think to explicitly spell that out because well it’s probably not how you felt. However many readers really benefit from clarifying that point because for many writers that IS what they intend. They are trying to make someone perceive themselves to be inferior, small, or useless. For the record I don’t use go, and I don’t particularly enjoy writing it, I was merely laying out ground rules for interaction because I would not appreciate it if someone talked to me in that way.

                                                    1. 2

                                                      I see what you are saying. The solution that you propose to be “particularly careful” when communicating is accepted as general wisdom, yet it does not consistently work, as people will find ways to get offended regardless.

                                                      First, taking offense is often a subjective response. What’s offensive to one may be neutral or naive to another. Emotions are influenced by one’s cultural upbringing.

                                                      Second, intention matters more. Both parties should strive to understand the context and intention of another. And aim to take words at face value, rather than second-guessing meaning.

                                                      A better course of action for people here really is to be inquisitive. And assume good faith, as Wikipedians say. So, person B is feeling offended. Instead of reacting to the emotion, why not find out the facts of the matter? Personal B could respond saying “I felt X upon reading your comment. Did you really intend Y? If not, could you clarify what you mean by it if not Y?”.

                                                      To me, personally, what matters first-most is my own affective state: was I feeling malice (however subtle) or not? I’ve written a whole article on this topic.

                                                      1. 2

                                                        To put that in practice

                                                        Person A: I hope the author, who has so far worked on Go at Google, reignites his learning through something relatively more sophisticated like Rust or Haskell.

                                                        Person B: Your post appears as if you are suggesting that the project he spent ~10 years as a core developer on is unsophisticated (basic, primitive, etc). This seems inconsiderate and rude. A farewell post is not the place to bring up other languages you prefer to Go. If not, could you clarify what you meant?

                                                        Person A: (What is the correct response here?)

                                                        1. -1

                                                          This would be my response:

                                                          Your post appears as if you are suggesting that the project he spent ~10 years as a core developer on is unsophisticated (basic, primitive, etc).

                                                          Nope; my post was referring to Go the programming language, which is indeed unsophisticated – in the context of type system – when compared to languages like Rust or Haskell.

                                                          Perhaps ‘advanced’, instead of ‘sophisticated’, would have been a more agreeable adjective?

                                                          This seems inconsiderate and rude.

                                                          No inconsiderateness or rudeness was intended. And making a factual observation about a set of technologies does not mean malice is intended on humans.

                                                          A farewell post is not the place to bring up other languages you prefer to Go.

                                                          I have never seen anyone suggest observing a social protocol of not bringing up other programming languages on a blog post with farewell theme. It seems like such an arbitrary restriction. I’m curious where you gleaned this norm from.

                                                          1. 4

                                                            Even you do not act maliciously and are not affected by a conflict does not mean the other party feels the same way. Like your article states “once enough people are piling on to complain or tell you what’s wrong with what you did, you’re going to feel attacked “. Sure you can’t control how other people feel but I think we should try to minimize this if it’s unnecessary. Acknowledging and understanding their emotions go a long way towards this.

                                                            When coworkers leave for another job, I congratulate them and thank them for their contribution. If I didn’t like the work they did, I say nothing.

                                                            [I too was becoming defensive, edited for politeness :D]

                                                            1. -2

                                                              Even you do not act maliciously and are not affected by a conflict does not mean the other party feels the same way. […] Sure you can’t control how other people feel

                                                              Correct.

                                                              but I think we should try to minimize this if it’s unnecessary.

                                                              Humans having been trying this for centuries, and conflicts have not stopped. No thank you, I’ll stick to my current approach of feeling good which has been working so well for me. I’d have to be pretty silly to regress from that because of some random incidents online! (Can you now understand why Twitter can be such a raging place?)

                                                              1. 9

                                                                Not caring about how other people feel or are affected by your actions is the very definition of being inconsiderate. Not being malicious is not the same thing as being kind.

                                                                1. 3

                                                                  Thank you, this much more clearly captures my thoughts.

                                                            2. 9

                                                              It might benefit you to take some time away from this thread, cool off, have fun with friends, then reread it and see what you think later. I know if I were in your shoes I would probably be feeling pretty defensive, as it was not your intention to downplay someone’s effort or tooling. However defensiveness here may affect your ability to see the situation clearly which would allow you to be more effective next time at sharing your informed opinions. You may decide afterwards we’re all being too sensitive, and that’s fine. It is after all your call. However I have found some people slide down the “I’m not rude, everyone is just too sensitive” trap. If everyone is too sensitive perhaps it would be more effective catering to it at least some of the time.

                                                              As for your last point, I think it is possible to share new ideas when someone is ending a career path, however I think it would require quite a bit of finesse. You do not want to appear as though you are disregarding their effort and commitment. Often people who have several years into a project can feel very sad when they leave it, even if it was the right thing to do. If you propose a new path too bluntly it can appear that you are pouring salt on the wound. They are already sad about losing their job and community and now you’re telling them they are wrong. Even if what you are telling them is right, it can still hurt. If you are going to advise someone in an emotional space (big life changes, employment, relationships, home), it’s good to give them the possibility that they may be right even though they are not. After all it’s pretty logical to say that in our partial information world that few things are perfectly knowable. Then when their emotions cool off they may realize that maybe you had their best interest in mind all along and might even agree with you.

                                                              1. -1

                                                                You suggest that I wasn’t feeling good, and then go on to say that I “cool off”, and even indicate that I might be feeling “defensive” - but nowhere above did I say that I was feeling anything but good. So I do wonder where you get this information about my mental state from, so as to concoct such an unsolicited advice.

                                                                Can you see how being “particularly careful” is working for you here? Speaking personally, feeling good before reaching for the keyboard, ensures that I never uncharitably interpret other’s words, much less project my feelings onto them.

                                                                If I may suggest, instead of second-guessing other person’s feelings, take their words at face value and directly engage with their points (and I do note that you are yet to address any of my points on this topic). It makes communication so much simpler.

                                                                1. 1

                                                                  You’re right, being careful when someone is a troll is a misstep, I’ll make sure to report you to the mods. I’m done here.

                                                                  1. 3

                                                                    srid isn’t being a troll. He is disagreeing in good faith with a majority of the thread.

                                                                    1. 2

                                                                      Well that’s what I thought too, until he said “Can you see how being “particularly careful” is working for you here?”, and then I realized he was just being manipulative.

                                                                    2. -2

                                                                      You’re right, being careful when someone is a troll is a misstep,

                                                                      Any intelligent person who is not actively under the affective throes of offense (or whatever) that reads my comments in this thread can easily see how I was being anything but a troll[1]. Be that as it may, when I asked whether you can see how being “particularly careful” is working for you here, what I was referring to was this exchange (emphasis mine):

                                                                      • [voronoipotato]: I think it is valuable when interfacing with others to be particularly careful when saying that you have a better approach.
                                                                      • [srid]: The solution that you propose to be “particularly careful” when communicating is accepted as general wisdom, yet it does not consistently work, as people will find ways to get offended regardless.
                                                                      • [voronoipotato]: It might benefit you to […] cool off […] if I were in your shoes I would probably be feeling pretty defensive
                                                                      • [srid]: Can you see how being “particularly careful” is working for you here?

                                                                      The fact that you went on to project feelings of defensiveness on to me, despite my making it clear I was feeling neither inconsiderate nor rude (much less needing to defend anything) served as a perfect example of just what the effectiveness of your proposed solution of being “perfectly careful” is … to wit: not effective at all.

                                                                      Indeed, I’ve made this exact point under the Where civility falls short section of the aforementioned article.

                                                                      (My delineating the situation in this manner is only done to elucidate the facts of the matter; however I also understand that it might be uncomfortable for you, as it goes against your beliefs regarding civility).

                                                                      [1]: Just so there is no misunderstanding here’s what that refers to:

                                                                      troll: a person who makes a deliberately offensive or provocative online post. (Oxford)

                                                                2. 3

                                                                  There’s more to a language than its type system. Go’s runtime isn’t unsophisticated. I think it’s funny that you focus in on the type system as the primary measure of the language’s complexity, it lays bare that you have a narrow perspective on programming languages.

                                                                  1. 0

                                                                    Wow you got me!

                                                      2. 2

                                                        Oderint dum computant.

                                                        [1] original here, correction to my Latin gratefully accepted.

                                                  1. 2

                                                    Nowhere as bad as others, but I once worked at a place with a hand-rolled secrets management system. It stored all values in SQL Server in an encrypted form, and the only interface to it was a custom developed C# application. I was in charge of automating a huge chunk of their release pipeline, and this was a huge pain point - the app was not something you could script; instead, you needed to get a release engineer to log in with their credentials and change whatever configuration flags you needed.

                                                    So I cracked open the source. Your username and password went through a local PBKDF2 stretching function - cool, I’m expecting to see some sort of SRP-esque approach. Nope, dead code path.

                                                    Once that “login” was done, the app pulls down a plaintext password from MSSQL and reads a compiled in username, concatenates them together, stretches another 10k rounds of PBKDF2, and uses the derived key for AES-CBC.

                                                    I guess it best case meant an attacker needed the configuration manager binary as well as a DB dump, but it still felt like just embedding those 16 magic bytes in the build pipeline would have made for less effort.

                                                    1. 1

                                                      This is a real bummer - I am looking at doing a setup for a small local nonprofit and had considered Ubiquiti gear as I have a bit of experience, but this and similar stories about how they are doing phone home analytics may make me steer away.

                                                      Anyone have other recommendations? I’m looking for something relatively basic: I’d like a managed switch so I can do VLAN tagging for a guest network at a bare minimum. I’d love something that could do RADIUS integration so they can have 802.1x as well. Ubiquiti seemed to hit the sweet spot of features, a well integrated ecosystem, and a reasonable price point for a cash-strapped nonprofit.

                                                      1. 2

                                                        I’d like a managed switch so I can do VLAN tagging for a guest network at a bare minimum.

                                                        An unmanaged switch with smart endpoints and a gateway could forward this tagging without understanding it. That’s what I do on my home network.

                                                      1. 0

                                                        The app is called MacPlayer and works thanks to the magic of Spotify Connect. The speaker itself streams and plays the music, and the Mac simply tells the speaker which song to play (as well as volume, current playlist, shuffle mode and other settings). Communication is over Wifi.

                                                        So this is not an actual player which decodes the stream and plays it on Mac’s audio DMA, only the UI controller. It’s very annoying in such kind of projects these days, same for “Slack client on C64!!!!!” which is actually a VT100 telnet client communicating with actual Slack client on Raspberry Pi. And so on, in modern programming too (like, people call their borderlees website an “application”)…

                                                        In other words, people want to be “cool” and shown like ultimate heroes, but they are scared about actual hard code and special challenges related to the platform they’re targeting, which is sad and most likely will turn out bad in the future.

                                                        1. 13

                                                          In other words, people want to be “cool” and shown like ultimate heroes, but they are scared about actual hard code and special challenges related to the platform they’re targeting, which is sad and most likely will turn out bad in the future.

                                                          I’m disappointed by this. By the same logic, since all the playlists and music is stored on remote computers in the first place, the official Spotify players themselves aren’t really apps, just attempts to be “cool.”

                                                          Older computers had many task-specific peripherals to get the job done. That’s why Apple IIs, early PCs, and even cheaper computers like the Commodore 64 had so many expansion ports. This to me feels very much in the spirit of how people programmed those computers. The C64 doesn’t have enough power to do speech synthesis? Fine, here’s a cartridge. Your PC can’t make real sound with just the PC speaker? Fine, here’s a Yamaha DSP. Or in this case, the Mac doesn’t have enough CPU to decode MP3s and handle the DRM and reencrypt to HTTPS? Fine, we’ll use a couple separate specialty components for those things.

                                                          You’re both discounting what was accomplished here and being unrealistic about how it would’ve been done with an actual Mac SE back in the day. I’m sad to see such negativity here. This forum is usually much more appreciative of this kind of fun hack.

                                                          1. 1

                                                            I’m disappointed by this. By the same logic, since all the playlists and music is stored on remote computers in the first place, the official Spotify players themselves aren’t really apps, just attempts to be “cool.”

                                                            It’s stored remotely, but it’s played locally. Just like you would use a regular player with, for example, an SMB share. Same thing on this particular Mac would be completely okay if you lack a harddisk.

                                                            Older computers had many task-specific peripherals to get the job done. That’s why Apple IIs, early PCs, and even cheaper computers like the Commodore 64 had so many expansion ports. This to me feels very much in the spirit of how people programmed those computers. The C64 doesn’t have enough power to do speech synthesis? Fine, here’s a cartridge. Your PC can’t make real sound with just the PC speaker? Fine, here’s a Yamaha DSP. Or in this case, the Mac doesn’t have enough CPU to decode MP3s and handle the DRM and reencrypt to HTTPS? Fine, we’ll use a couple separate specialty components for those things.

                                                            This isn’t correct at all. I mean, it is, but only in burger mentality where you don’t even try to work a bit harder on particular problem, but pay a slave worker to do this.

                                                            The C64 doesn’t have enough power to do speech synthesis?

                                                            Of course it does, and performs really well. The software is patched SAM & Reciter to work with Polish. The VIC-II is disabled during speech to free up DMA speed for cartridge access, but no one prevents you from precalculate speech sample and put it in RAM, like some games (remember Impossible Mission?) did at build time.

                                                            Your PC can’t make real sound with just the PC speaker?

                                                            Oh dude. There are numerous more and less creative ways to play regular PCM-based tunes on PC speaker and I didn’t even looked deeper than first YouTube link. Methods to achieve that are so diverse you can even play a sound using only an Atari XL/XE video output chip (GTIA, not to confuse with actual GPU, ANTIC) and fancy interrupt handling.

                                                            Or in this case, the Mac doesn’t have enough CPU to decode MP3s and handle the DRM and reencrypt to HTTPS?

                                                            This particular Mac SE/30 has a Motorola 68030@16MHz and 1 to 128 megs of RAM (I assume some modest quality of life upgrade, 4MB at least). It’s absolutely enough to decode MP3s (with some assumptions about buffer of course) and on Amiga it was even more than needed, leaving you with some cycles to do your office work.

                                                            You might be right about HTTPS though - due to its recently increasing complexity because why the fuck no, everything beyond x86 at Pentium II grade is out of the league. On the other hand, the OpenSSH w/ SSH2 and recent ciphers works acceptable on Amigas with 68060 without blocking other tasks too much.

                                                            So, some sort of ssl-stripping proxy in the middle would be accepted. But it’s no tied to this particular software and can be used with anything else. The software running on the Mac wouldn’t be tied to the outside bits of code, just requiring the HTTPS endpoint which you can provide however you want.

                                                            You’re both discounting what was accomplished here

                                                            Yes, because it’s just a mockup and requires actual modern machine to do all the stuff. In 90s, everyone would call this software a “lame” way. Huge expectations, little code, pretends to be something that it’s not.

                                                            and being unrealistic about how it would’ve been done with an actual Mac SE back in the day.

                                                            Absolutely no. 80% of regular Spotify client feature set could be done on that Mac (and even more on later 68k MacOS workstations). But it requires actual understanding of the target platform and - what’s seriously missing here - some bits of true love.

                                                            You see, all that retrocomputing stuff isn’t about showing off and acting cool. It’s about these platforms. People are doing excellent things to prove their loved machines can still be relevant and do modern work without offloading it onto Raspberry Pi hidden under the table to gather internet points on reddit and orange site. People are dedicated to particular line or brand or model they used in the past, can utilize and show its unique features and don’t strip everything into least common denominator.

                                                            I think this particular project, while “looking cool” is actually disrespectful to the Macs. This guy could do the same thing on PC, Amiga, C64, Atari or even a ZX Spectrum - requires only the monochrome bitmap graphics, keyboard and serial to communicate with ESP8266 (which even does HTTPS on its own).

                                                          2. 3

                                                            Pretty close to my reaction too. All the audio decoding and network streaming is handled by some very fancy speakers; http-based API auth delegated to a phone app. So, it’s mostly a visual gimmick… but still cool. I don’t blame them for not wanting to put the (much more difficult) technical effort into achieving (much lower quality) “authentic” sound.

                                                            I used 68k Macs long ago, but it’s not really my scene. I didn’t even know there was a wifi card for the SE/30.

                                                            1. 3

                                                              There wasn’t, it’s also a trickery. There’s a dongle with ESP8266 which plugs into serial port and provides extended AT commands set so it can act more or less like dialup modem.

                                                              1. 12

                                                                Trickery feels like the wrong word there. That sounds like a damn good hack to me.

                                                                1. 1

                                                                  The „fake” is more appropriate, because it strips down the running computer to the form of dumb terminal and deprecates all its unique features so it doesn’t matter which machine you have at the end of the day.

                                                                  You can surely set up a TCP stack on C64 or Atari. Well, you can even get a working 802.11 stack on Amiga and it doesn’t require using such lame solutions.

                                                                2. 2

                                                                  I’m not sure about that. In the picture, it sure looks like there’s a wifi antenna coming out the back, and nothing plugged in to the serial ports. Author linked to https://github.com/antscode/MacWifi which mentions some devices. I recall having a 68040 PowerBook with onboard ethernet (via a ridiculous dongle) and could use wifi PCMCIA cards, so it doesn’t seem all that far-fetched. I’m not going to dig any further, though. I waste enough time on even older machines!

                                                                  1. 1

                                                                    I need more information about this! Do you have a link?

                                                                    1. 1

                                                                      Just duck the “esp8266 serial WiFi”

                                                                  2. 1

                                                                    I wonder if any of the 68k Macs even have enough power to decode AAC…

                                                                    1. 2

                                                                      Spotify uses AAC only on macOS/iOS from what I remember, other platforms get Vorbis or MP3, depending on chosen quality.

                                                                      1. 2

                                                                        I imagine that even 128kbps MP3 is a big struggle for a 68030 on it’s own, but I wasn’t aware they still served some music as MP3.

                                                                1. 52

                                                                  nine-to-five-with-kids types

                                                                  God forbid people have children and actually want to spend time with them.

                                                                  As someone with kids, I’m reasonably sure I’m pretty good at what I do.

                                                                  1. 40

                                                                    The second statements includes a retraction of sorts:

                                                                    P.S. I have no problem with family people, and want to retract the offhand comment I made about them. I work with many awesome colleagues who happen to have children at home. What I really meant to say is that I don’t like people who see what we do as more of a job than a passion, and it feels like we have a lot of these people these days. Maybe everyone does, though, or maybe I’m just completely wrong.

                                                                    I disagree with them that it’s wrong to see your work as a job rather than a passion; in a system where it’s expected for everyone to have a job, it’s bullshit (though very beneficial for the capitalist class) to expect everyone to be passionate about what they’re forced to do everyday. Nonetheless, the retraction in the second statement is important context.

                                                                    1. 13

                                                                      Owning stock was supposed to fix this, rewarding employees for better work towards company growth. However the employees are somehow not oblivious to the fact that their work does not affect the stock price whatsoever, instead it being dependent mostly on news cycle about the company and their C-level execs (and large defense contracts in the case of Microsoft).

                                                                      1. 6

                                                                        Your appeal to our capitalist overlords here is incorrect. It’s a symptom of capitalism that you have people at work who are just punching in and don’t have a passion for it. If we weren’t bound by a capitalist system, people would work on whatever they’re passionate about instead of worrying about bringing home the bacon to buy more bacon with. Wanting people to be passionate about their work is a decidedly anti-capitalist sentiment, and wanting people to clock in, do their job, clock out and go home to maintain their nuclear family is a pretty capitalist idea.

                                                                        1. 1

                                                                          Every time we’ve tried an alternative at scale it’s led to mass murder, or mass starvation, or both.

                                                                          You’re also ignoring the fact that some jobs are just plain unpleasant. I’ve worked some in my youth. It’s reasonable not to be passionate about those; they’re either high paying because they’re unpleasant but skilled, or the lowest paying job because they’re work you do because your labour isn’t valuable in any other way.

                                                                          1. 1

                                                                            I agree with you.

                                                                            in a system where it’s expected for everyone to have a job, it’s bullshit (though very beneficial for the capitalist class) to expect everyone to be passionate about what they’re forced to do everyday.

                                                                            That’s true I think, undoubtedly. You can “fix” it by accepting people who aren’t passionate, or by replacing the system where people need a job to survive. I’d definitely prefer to fix it by replacing the system, but in any case, blaming 9-to-5-ers is wrong - they’re victims more than anything, forced to work a job they’re not passionate about instead of going out on whatever unprofitable venture captures their heart.

                                                                            1. 1

                                                                              or by replacing the system where people need a job to survive

                                                                              How do you propose we do that, without literally enslaving people? And without causing necessary but often necessarily low-passion jobs (like sorting freight in a courier company, at 1AM - one of my jobs as teenager) to simply not get done?

                                                                              I mean, what you’re really proposing is that some people get to go on ‘whatever unprofitable venture captures their heart’ while … what? Someone else labours to pay their way?

                                                                              I personally think that it’s entirely reasonable to accept people whose passion isn’t their job, provided they’re professional and productive. There’s nothing here to fix, really, beyond rejecting the (IMO) unrealistic idea that a good employee has to be passionate about their work.

                                                                        2. 9

                                                                          As another kind of beef against that line, in my experience, people working crazy long hours on a consistent basis generally aren’t doing it out of some kind of pure passion for the project, implementing a cool amazing design, etc. They’re usually pounding out ordinary boring features and business requirements, and are working long hours because of poor project management - unrealistic promises to customers, insufficient resources, having no idea what the requirements actually are but promising a delivery date anyways, etc. IMO, anyone with any wisdom should get out of that situation, whether or not they have kids.

                                                                          Also IME, those who do have genuine passion to build some cool new thing often don’t work long hours at all, or only do so for a short time period.

                                                                          1. 7

                                                                            Someone I know could easily be working for Google or such, but he works for a smaller, non-tech, local company as a developer, so he can spend his free time building the projects he likes (or the luxury of not having to at all), instead of some absurd scale megacorp thing which will drain all the free time he has. (Or specifically, build the great thing you want to, and not be subject to what say, Facebook wants.) IMHO, it’s pretty smart…

                                                                          2. 7

                                                                            The anonymous author apologizes about this specifically in their follow-up.

                                                                            1. 4

                                                                              The apologies sound like something between a sincere apology for just blindly ranting at it all and an apology for apologies’ sake. It looks to me like the author actually feels (felt) closer to the way he described in the first message then the second. Not all the way, but somewhat.

                                                                              1. 1

                                                                                The apology is also written in an entirely different style. It’s not clear there’s strong reason to assume it’s the same person.

                                                                                edit: reading through the comments, the blog’s owner says: “I won’t reveal how the anonymous poster contacted me, but I am 99.9% sure that unless his communication channel was hacked, he is the same person.” So, ok, it’s the same person.

                                                                            2. 11

                                                                              I know what people the author means though–not all these people have kids though, they’re just the ones who punch a clock from 9-5 and want to remain comfortable and don’t want push themselves to make great things. It’s not that these people want to make bad things, or don’t want to make great things, or aren’t capable of doing great work, they just don’t receive any self-fulfillment from work. I don’t blame these people for acting this way, I’d just rather not work with them.

                                                                              The best dev on my team (by a long shot) is a 9-5 worker who never finished college, but accomplishes more in one day than most devs accomplish in a week or more. He aspires to do incredible work during his time and he exceeds every day.

                                                                              1. 9

                                                                                Once organizations get to a certain threshold of complexity, though, you need to be thinking much more about the incentives that are offered rather than the micro-level of which people want to do excellent things. You have to make it easier to do the excellent thing than not, and that can be difficult, or, in an org the size of Microsoft’s Windows kernel groups, basically, impossible.

                                                                                1. 5

                                                                                  The comment was directed at the author’s “9-5 with kids” comment since the author is referring to the contributions of those people. Organizational structure produces different effects on products based on the personalities and abilities of those people within the organization.

                                                                                  In general, the bigger the organizational, the less risk-tolerance, but most actions incur some sort of risk. Also, staying with the crowd and doing what you’re told is safest, so inaction or repeating previous actions often becomes the default.

                                                                                  1. 2

                                                                                    Good point. It never makes sense to innovate and take risks in a large organization. If your gamble pays off, the pay off will invisibly pump up some vaguely connected numbers that will look good for some manager higher up. If it doesn’t pay off, it’s your fault. So, regardless of how good a gamble it was based on risk-reward ratio, it’s never favorable for you personally. Don’t expect your immediate superior to appreciate it either, even if the gamble pays off, because that person is also facing the same odds.

                                                                                2. 7

                                                                                  As an anecdote, the eventually worst workplace I’ve been had a deeply ingrained culture of being passionate about work, and about being part of “a family” through the employer. It’s not entirely a healthy stance.

                                                                                  1. 4

                                                                                    I don’t blame these people for acting this way, I’d just rather not work with them.

                                                                                    Why not?

                                                                                    You said they want to make good things, great things, and can do great work. Why does someone else’s opinion of their job matter to you?

                                                                                    1. 5

                                                                                      It’s when people’s opinions affect the work they do. My point is they can do great work, but many don’t. Sometimes it manifests as symptom fixing rather than problem solving because it’s “whatever gets me out today by X, screw consequences later.” Other times it manifests as “I wasn’t told to do this, so I won’t”. When I’ve seen it, it’s often pervasive short term thinking over long term thinking.

                                                                                1. 16

                                                                                  This seems like a fine plan, and other browsers have tried/proposed/supported this in the past. But because this is Google, I have to ask: what other advantages could this give to a browser-building search-providing privacy-invading ad broker?

                                                                                  (Actual question. I’m not coming up with anything myself.)

                                                                                  1. 8

                                                                                    It would force/encourage browser vendors and web servers to support the Client Hints mechanism, which is a much more sane way of requesting adapted content….and which Google will no doubt embrace and extend.

                                                                                    1. 7

                                                                                      This is the lens through which I try to view Google’s actions as well.

                                                                                      Is it possible that Google thinks that the loss of UA information will make it harder for their competitors to fingerprint users, but that their penetration makes it less of a problem to them?

                                                                                    1. 10

                                                                                      @ddevault Would it be possible to get a clear “Terms of Service” clarifying these sorts of use cases? 1.1 Gb seems like an excessive file size, but having a crystal clear & mutually agreed upon set of rules for platform use is essential for trust (more so for a paid service), and right now users don’t know what does and does not constitute as a reasonable use of the service .

                                                                                      1. 37

                                                                                        No, they’re intentionally vague so that we can exercise discretion. There are some large repositories which we overlook, such as Linux trees, pkgsrc, nixpkgs, even mozbase is overlooked despite being huge and expensive to host.

                                                                                        In this guy’s case, he had uploaded gigabytes of high-resolution personal photos (>1.1 Gb - it takes up more space and CPU time on our server than on your workstation because we generate clonebundles for large repos). It was the second largest repository on all of SourceHut. SourceHut is a code forge, not Instagram.

                                                                                        1. 40

                                                                                          No, they’re intentionally vague so that we can exercise discretion.

                                                                                          I like to call this “mystery meat TOS”. You never know what you’ll get until you take a bite!

                                                                                          1. 24

                                                                                            I mean, honestly, a small fraction of our users hit problems. I’ve had to talk to <10 people, and this guy is the only one who felt slighted. It’s an alpha-quality service, maybe it’ll be easier to publish objective limits once things settle down and the limitations are well defined. On the whole, I think more users benefit from having a human being making judgement calls in the process than not, because usually we err on the side of letting things slide.

                                                                                            Generally we also are less strict on paid accounts, but the conversation with this guy got hostile quick so there wasn’t really an opportunity to exercise discretion in his case.

                                                                                            1. 30

                                                                                              the conversation with this guy got hostile quick

                                                                                              Here’s the conversation, for folks who want to know what “the conversation got hostile” means to Source Hut: https://paste.stevelosh.com/18ddf23cb15679ac1ddca458b4f26c48b6a53f11

                                                                                              1. 31

                                                                                                i’m not a native speaker, but have the feeling that you got defensive quickly:

                                                                                                Okay. I guess I assumed a single 1.1 gigabyte repository wouldn’t be an unreasonable use of a $100/year service. I certainly didn’t see any mention of a ban on large binary files during the sign up or billing process, but I admit I may have missed it. I’ve deleted the repository. Feel free to delete any backups you’ve made of it to reclaim the space, I’ve backed it up myself.

                                                                                                it’s a pay-what-you-like alpha service, not backed by venture capital. you got a rather friendly mail, noticing you that you please shouldn’t put large files into hg, not requesting that you delete it immediately.

                                                                                                ddevaults reply was explaining the reasoning, not knowing that you are a mercurial contributor:

                                                                                                Hg was not designed to store large blobs, and it puts an unreasonable strain on our servers that most users don’t burden us with. I’m sorry, but hg is not suitable for large blobs. Neither is git. It’s just not the right place to put these kinds of files.

                                                                                                i’m not sure i’d label this as condescending. again I’m no native speaker, so maybe i’m missing nuances.

                                                                                                after that you’ve cancelled your account.

                                                                                                1. 13

                                                                                                  As a native speaker, your analysis aligns with how I interpreted it.

                                                                                                  1. 9

                                                                                                    Native speaker here, I actually felt the conversation was fairly polite right up until the very end (Steve’s last message).

                                                                                                  2. 27

                                                                                                    On the whole, I think more users benefit from having a human being making judgement calls in the process than not, because usually we err on the side of letting things slide.

                                                                                                    Judgement calls are great if you have a documented soft limit (X GB max repo size / Y MB max inner repo file size) and say “contact me about limit increases”. Your customers can decide ahead of time if they will meet the criteria, and you get the wiggle room you are interested in.

                                                                                                    Judgement calls suck if they allow users to successfully use your platform until you decide it isn’t proper/valid.

                                                                                                    1. 12

                                                                                                      That’s a fair compromise, and I’ll eventually have something like this. But it’s important to remember that SourceHut is an alpha service. I don’t think these kinds of details are a reasonable expectation to place on the service at this point. Right now we just have to monitor things and try to preempt any issues that come up. This informal process also helps to identify good limits for formalizing later. But, even then, it’ll still be important that we have an escape hatch to deal with outliers - the following is already in our terms of use:

                                                                                                      You must not deliberately use the services for the purpose of:

                                                                                                      • impacting service availability for other users

                                                                                                      It’s important that we make sure that any single user isn’t affecting service availability for everyone else.

                                                                                                      Edit: did a brief survey of competitor’s terms of service. They’re all equally vague, presumably for the same reasons

                                                                                                      GitHub:

                                                                                                      [under no circumstances will you] use our servers for any form of excessive automated bulk activity (for example, spamming or cryptocurrency mining), to place undue burden on our servers through automated means, or to relay any form of unsolicited advertising or solicitation through our servers, such as get-rich-quick schemes;

                                                                                                      The Service’s bandwidth limitations vary based on the features you use. If we determine your bandwidth usage to be significantly excessive in relation to other users of similar features, we reserve the right to suspend your Account, throttle your file hosting, or otherwise limit your activity until you can reduce your bandwidth consumption

                                                                                                      GitLab:

                                                                                                      [you agree not to use] your account in a way that is harmful to others [such as] taxing resources with activities such as cryptocurrency mining.

                                                                                                      At best they give examples, but always leave it open-ended. It would be irresponsible not to.

                                                                                                      1. 17

                                                                                                        The terms of service pages don’t mention the limits, but the limits are documented elsewhere.

                                                                                                        GitHub:

                                                                                                        We recommend repositories be kept under 1GB each. Repositories have a hard limit of 100GB. If you reach 75GB you’ll receive a warning from Git in your terminal when you push. This limit is easy to stay within if large files are kept out of the repository. If your repository exceeds 1GB, you might receive a polite email from GitHub Support requesting that you reduce the size of the repository to bring it back down.

                                                                                                        In addition, we place a strict limit of files exceeding 100 MB in size. For more information, see “Working with large files.”

                                                                                                        GitLab (unfortunately all I can find is a blog post):

                                                                                                        we’ve permanently raised our storage limit per repository on GitLab.com from 5GB to 10GB

                                                                                                        Bitbucket:

                                                                                                        The repository size limit is 2GB for all plans, Free, Standard, or Premium.

                                                                                                        1. 8

                                                                                                          I see. This would be a nice model for a future SourceHut to implement, but it requries engineering effort and prioritization like everything else. Right now the procedure is:

                                                                                                          1. High disk use alarm goes off
                                                                                                          2. Manually do an audit for large repos
                                                                                                          3. Send emails to their owners if they seem to qualify as excessive use

                                                                                                          Then discuss the matter with each affected user. If there are no repos which constitute excessive use, then more hardware is provisioned.

                                                                                                          1. 11

                                                                                                            Maybe this is something you should put on your TOS/FAQ somewhere.

                                                                                                        2. 8

                                                                                                          This informal process also helps to identify good limits for formalizing later.

                                                                                                          Sounds like you have some already:

                                                                                                          • Gigabyte-scale repos get special attention
                                                                                                          • Giant collections of source code, such as personal forks of large projects (Linux source, nix pkgtree) are usually okay
                                                                                                          • Giant collections of non-source-code are usually not okay, especially binary/media files
                                                                                                          • These guidelines are subject to judgement calls
                                                                                                          • These guidelines may be changed or refined in the future

                                                                                                          All you have to do is say this, then next time someone tries to do this (because there WILL be a next time) you can just point at the docs instead of having to take the time to explain the policy. That’s what the terms of service is for.

                                                                                                      2. 8

                                                                                                        Regardless of what this specific user was trying to do, I would exercise caution. There are valid use cases for large files in a code repository. For example: Game development, where you might have large textures, audio files, or 3D models. Or a repository for a static website that contains high-res images, audio, and perhaps video. The use of things like git-lfs as a way to solve these problems is common but not universal.

                                                                                                        To say something like, “SourceHut is a code forge, not Instagram” is to pretend these use cases are invalid, or don’t exist, or that they’re not “code”, or something.

                                                                                                        I’ve personally used competing services like GitHub for both the examples above and this whole discussion has completely put me off ever using Sourcehut despite my preference for Mercurial over Git.

                                                                                                        1. 3

                                                                                                          I agree that some use-cases like that are valid, but they require special consideration and engineering work that hg.sr.ht hasn’t received yet (namely largefiles, and in git’s case annex or git-lfs). For an alpha-quality service, sometimes we just can’t support those use-cases yet.

                                                                                                          The instragram comparison doesn’t generalize, in this case this specific repo was just full of a bunch of personal photos, not assets necessary for some software to work. Our systems aren’t well equipped to handle game assets either, but the analogy doesn’t carry over.

                                                                                                    2. 4

                                                                                                      I don’t think the way you’re working is impossible to describe, I think it’s just hard and I think most people don’t understand the way you’re doing and building business. This means your clients may have an expectation that you will give a ToS or customer service level that you can not or will not provide

                                                                                                      To strive towards a fair description that honours how you are actually defining things for yourself and tries to make that more transparent without having to have specific use cases, perhaps there is a direction with wording such as:

                                                                                                      • To make a sustainable system we expect the distribution of computing resource usage and human work to follow a normal distribution. To preserve quality of service for all clients and to honour the sustainability of the business and wellbeing of our stuff and to attempt to provide a reasonably uniform and undestandable pricing model, we reserve the right to remove outliers who use an unusually large amount of any computing and/or human resource. If a client is identified as using a disproportionate amount of service, we will follow this process: (Describe fair process with notification, opportunity for communication/negotiation, fair time for resolution, clear actions if resolution is met or not).
                                                                                                      • This system is provided for the purposes of XYZ and in order to be able to design/optimise/support this system well we expect all users to use it predominatly for this purpose. It may be the case that using our system for other things is possible, however in the case we detect this we reserve the right to (cancel service) to ensure that we do not arrive at a situation where an established client is using our service for another prupose which may perform poorly for them in the future because it is not supported, or may become disproportionately hard for us to provide computing resource or human time for because it is not part of XYZ. This will be decided at our discretion and the process we will follow if we identify a case like this is (1,2,3)
                                                                                                      1. 1

                                                                                                        No, they’re intentionally vague so that we can exercise discretion.

                                                                                                        Funny way to say “so I can do whatever I want without having to explain myself”

                                                                                                        1. 14

                                                                                                          I think that’s unfair. He did in fact explain himself to the customer and it was the customer who decided to cancel the service. I’d agree if the data was deleted without sufficient warning, but that is not the case here.

                                                                                                        2. 1

                                                                                                          Would it be possible to get a clear “Terms of Service” clarifying these sorts of use cases?

                                                                                                          No, they’re intentionally vague so that we can exercise discretion. There

                                                                                                          May I suggest, perhaps: “ToS: regular repositories have a maximum file size X and repository size Y. We provide extra space to some projects that we consider important.”

                                                                                                      1. 4

                                                                                                        I allocate time to learn new technologies–on the job. I haven’t contributed to open source, but in my experience hiring hasn’t relied on looking at what open source work I’ve done/not done. Hiring wants to know what kind of projects I’ve built on the job and whether or not there is a progression of taking on (and succeeding at) more complex projects. I spend my free time relaxing and recovering from work. So far no complaints.

                                                                                                        I also wonder if this is a bit of a split between the Javascript/web dev/dev ops/mobile development and other types of programming? For example, I haven’t encountered this aggressive push to do open source on the side in embedded software, where hardware costs can quickly outpace the hobbyist. And certainly the explosion of open source Javascript frameworks and node packages seems to point at this hyper competitiveness being focused on that arena, where there are more developers competing against each other for work.

                                                                                                        1. 2

                                                                                                          I allocate time to learn new technologies–on the job.

                                                                                                          Is this just something you personally work on over the course of a regular workday, or do you have/negotiate any specific “20% time” with your manager?

                                                                                                          I’ve always thought of having that conversation with my manager - several hours a week where I get to do whatever I want. Otherwise my learning ends up feeling like skunkworks.

                                                                                                          1. 4

                                                                                                            Honestly, even at places that “support” individual development, I have rarely seen people able to negotiate learning time successfully. There’s often a lipservice yes, but the expectation that project X will still be done on Friday, regardless of you spending Thursday learning new stuff. I’ve met maybe two such unicorn managers that actually allow the time and don’t book over it.

                                                                                                            What does work for me is adding research and learning time into my estimates on how long it will take to do stuff. Corporate, above all else, cares about good estimates so they can actually plan business launches. The dev that adds 4 hours of learning time into their sprint but finishes their tasks on time is seen as more competent than the dev that doesn’t and misses whatever they committed to. And the first dev is continually adding value to themselves, while the second has to work outside of working hours to get the same benefit.

                                                                                                            • Contrived examples are contrived, but it’s held up for my experience.
                                                                                                            1. 3

                                                                                                              I do this too - I like to prototype my new projects with technology I’m learning and experimenting with, then implement with the standard approach.

                                                                                                              I get to learn new things, map out the problem space a bit better, and with luck I get ideas around solving the problem.

                                                                                                              And worse case I just throw away my throwaway prototype, oh well!

                                                                                                        1. 54

                                                                                                          So, now, here’s the question: if you’re picking out a doctor, which one do you want to go to? The one who reads medical journals for fun, hones their craft constantly, and who volunteers at the free clinic sometimes…or the doctor who doesn’t do anything medicine-related after 5?

                                                                                                          Some people really like what they do for a living, and would do it even if they weren’t getting paid. I would venture to guess that those people, having both passion and more hours under their belt, are generally better at the activity in question.

                                                                                                          1. 88

                                                                                                            The one who is rested.

                                                                                                            I’ve been around the block often enough that I am not sure there is much correlation between number of hours someone put in programming and the quality of their output. I think it is far more important how you spend those hours while you are actually doing it.

                                                                                                            1. 27

                                                                                                              I’m not necessarily talking about someone who stays up til 2 every morning. I’m talking about the person who, when they have free time, decides to spend much of it honing their skills.

                                                                                                              1. 12

                                                                                                                Exactly. What’s favoring your statement is simply experience. They’re acquiring more experience. That might make them better at the job.

                                                                                                                Doesn’t necessarily make them the best hire if considering many factors. For instance, the ones coding all the time might be more likely to jump ship than the person that wants work-life balance to spend time with kids.

                                                                                                                1. 10

                                                                                                                  What if they spend their time honing their skills at work?

                                                                                                                  1. 9

                                                                                                                    I don’t know about the realities of the medical profession so I can’t extend the metaphor, but in the tech industry as it is, the amount of experience someone has programming and their value to a company have nothing to do with each other after a point. Learning new skills and keeping up with the industry is good and necessary of course, which is why many professions mandate it for certification (law comes to mind). I’d love to see part of each work month go towards time that can be spent doing just that.

                                                                                                                    But to be honest? I don’t care if my doctor spends 2 hours a night researching new diseases unless that’s what I’m going to them for. I care about the quality of care, bedside manner, etc. Not sure that’s correlated to hours worked.

                                                                                                                    1. 4

                                                                                                                      If you’re treating a common cold, it’s likely that the extra hours sunk into study don’t affect the outcomes. You might just end up with a very unrelatable doctor, which could affect bedside manners, patient trust, and compliance. It really depends on the problem space - something that I would venture is true for programmers, too.

                                                                                                                      1. 3

                                                                                                                        Why do you assume that reading medical journals out of interest leads to unrelatability?

                                                                                                                        1. 3

                                                                                                                          How many patients read medical journals? It’s more likely that someone is more relatable to the average person if they do things that an average person also does.

                                                                                                                          1. 5

                                                                                                                            How many average people go to medical school? :)

                                                                                                                            1. 0

                                                                                                                              Doctors are people, even if slightly superior in a few ways. They should be doing roughly the same things as people do.

                                                                                                                              1. 2

                                                                                                                                even if slightly superior in a few ways

                                                                                                                                no

                                                                                                                                1. 1

                                                                                                                                  And reading interesting things isn’t something that people do?

                                                                                                                        2. 2

                                                                                                                          I don’t really care what my doctor does in her free time because in my experience this has no bearing on the care I receive.

                                                                                                                          1. 5

                                                                                                                            How can you rely on your experience in this area? How many doctors do you know well enough to know what they do in their spare time and how effective they are as a doctor?

                                                                                                                            For me, that’s really small and I don’t think it’s useful enough to generalize or predict anything.

                                                                                                                            Maybe your experience is really different. If so, you may want to describe it so your statement has credibility and usefulness.

                                                                                                                            1. 6

                                                                                                                              If my anecdote is too small to predict anything than why is the assumption implicit in the generalization at all reliable for you? Why the double standard? I personally just don’t care or worry about it. Same is true of the people who write my software. If the software’s good, it’s good. I could care less if in your free time you prefer doing drugs and making wicker baskets to having arguments on hacker news and writing IRC bots. And vise versa, if your software isn’t good, that’s that, and I don’t start asking if the person writing it just isn’t dedicated enough.

                                                                                                                              1. 1

                                                                                                                                I think for me, it’s the different between a logical thought experiment about general guesses vs a real statement of value.

                                                                                                                                I like pondering hypotheticals but would have reacted poorly if GP had said “doctors who volunteer are better” without rationale or reasoning. I like an invitation to provide evidence or data but get put off by a likely baseless statement (“My experience is that all doctors are secretly purple inside their skin even though I only know two doctors and have never looked under their skin”).

                                                                                                                                1. 0

                                                                                                                                  My anecdote is at least based in reality. I can’t say the same for the generalization, whose assumption lacks evidence of any sort.

                                                                                                                        3. 9

                                                                                                                          The one who is rested.

                                                                                                                          This is misdirection and does not address the original comment.

                                                                                                                          As a separate point, it is of course valid and true.

                                                                                                                          But there is an implied “all others things being equal” in the original claim. So now…

                                                                                                                          [Assuming they’re both equally rested], if you’re picking out a doctor, which one do you want to go to? The one who reads medical journals for fun, hones their craft constantly, ….

                                                                                                                          That is the question you’re on the hook for answering. Imo the answer is clear.

                                                                                                                          1. 1

                                                                                                                            I don’t believe that finishing at 5pm means you don’t “reads medical journals for fun, hones their craft constantly”. It just means you are not doing it after 5pm. My point is that how much effort someone puts into it does not really tell me anything by itself because I cannot tell what kind of effort it is. I’ve seen enough passionate idiots and occasionally was one, who constantly busied themselves with their craft without advancing much because it really matters what and how you do it. It is very easy to become stupider by not resting enough and not giving time to your mind to process everything.

                                                                                                                            So if the only thing I know is that one doctor is very busy and the other one isn’t, I WILL go with the rested one because if nothing else I expect them to make fewer errors.

                                                                                                                            P.S: I know doctors were here only for illustration purposes, but as it happens, I actually just recently experienced a local medical expert screwing up my mother’s examination exactly because he is too busy.

                                                                                                                            1. -1

                                                                                                                              The answer to that question is clear to everybody. I think it’s fine to treat it as a rhetorical question (therefore not answer it) and respond by (implicitly) pointing out that it’s unlikely that both are equally rested.

                                                                                                                            2. 5

                                                                                                                              The one who is rested and loves medicine. These aren’t exclusive options.

                                                                                                                              Here’s my preference:

                                                                                                                              1. rested and loves medicine
                                                                                                                              2. rested or loves medicine
                                                                                                                              3. neutral
                                                                                                                              4. tired
                                                                                                                              5. hates medicine

                                                                                                                              Of course there are many more factors that may be more important so my rank assumes everything else being equal.

                                                                                                                              1. 8

                                                                                                                                I work on multiple side projects and get more than enough sleep. If doing things outside of work cuts into your sleep, perhaps the problem is your job.

                                                                                                                                1. 11

                                                                                                                                  Do you have children? In my experience they’re a great time sink…

                                                                                                                                  1. 7

                                                                                                                                    I don’t. Many friends do. But I feel the same way, at least beyond infancy: If your work forces you to choose between sleeping and spending time with your children, maybe the problem is your job.

                                                                                                                                    It should be possible to work, do things that you care about, and be well rested. The choice at the start of this thread should be a false one at a healthy workplace.

                                                                                                                                    1. 4

                                                                                                                                      But, you see, even if you have a good job, you still have to choose between children and side projects…

                                                                                                                                      1. 6

                                                                                                                                        That’s not strictly true. Source: got 4 kids, soon 5.

                                                                                                                                2. 1

                                                                                                                                  Ironically doctors work long shifts and crazy hours… always felt kinda bizarre to me, and you wonder if you’re really receiving the best care. But that’s the way it is.

                                                                                                                                3. 13

                                                                                                                                  Perhaps it’s true that a programmer who codes in their spare time will be better than one who doesn’t. Let’s assume that’s true. It doesn’t answer whether it’s “OK” to only code at work.

                                                                                                                                  Is it OK to say “I could be a better programmer if I coded 4 more hours a week, but then I’d be a worse parent, so I won’t”? Is it OK to choose to spend those hours volunteering, playing music, teaching English, being a foster parent, caring for elderly relatives, hiking, or whatever you think is fun or important?

                                                                                                                                  Yes, absolutely it’s OK. And if anyone tells you it isn’t, they probably don’t have your best interests in mind.

                                                                                                                                  1. 5

                                                                                                                                    I think I didn’t phrase my argument well.

                                                                                                                                    If someone codes/does whatever in their spare time – that is, in the time that is not dedicated to parenting or family obligations or whatever – then I would argue that they will often be better at that activity.

                                                                                                                                    In other words “if, by choice, your casual hobby is also what you do at work, you will often be better at your job than someone who isn’t as interested.”

                                                                                                                                    1. 2

                                                                                                                                      You forget that programming is a social activity, where code must almost always be reviewed and shared as a responsibility. And you forget that those who do nothing but spend all their time at their desk hacking at who cares what are usually not especially worldly and pleasant. Those who instead do things like

                                                                                                                                      • Go outside
                                                                                                                                      • Spend time with other people
                                                                                                                                      • Experience their life

                                                                                                                                      will often, for some reason, become more rounded individuals, who will usually handle the social element of coding better; and we all know that social element is a big one.

                                                                                                                                    2. 7

                                                                                                                                      It’s absolutely ok to be competent but not outstanding. But if you look for outstanding people in their fields, I strongly you will find that they don’t settle for doing just what is required by their jobs.

                                                                                                                                      Are you looking for competence or excellence?

                                                                                                                                      1. 3

                                                                                                                                        Are you looking for competence or excellence?

                                                                                                                                        I think in the context of this conversation the question is “do you aspire to be competent or excellent?”

                                                                                                                                        Both are valid aspirations when you consider the trade offs with the other parts of your life. And it’s fine to make different choices at different stages of your life.

                                                                                                                                        Are you looking for competence or excellence?

                                                                                                                                        Circling back, I think one reason I react strongly here is that my first full-time development job was at a place with a culture of constant overtime. They had a local reputation for burning people out. And to this day, their job postings ask for “passionate” developers - a code word, in their case, for “willing to be exploited”.

                                                                                                                                        So I’m resistant to a programmer culture that says you have to work all the time or you’re not good. I’ve been avoiding that mentality at every job since then (10 years) and am doing fine.

                                                                                                                                        Finally, I think become excellent during work hours is an underrated strategy. You probably work 40 hours a week. I seriously doubt you can spend 40 additional hours of free time programming. So a developer who spends the work week building interesting stuff with smart people, then chills out, is going to grow faster than one who spends the work week doing boring stuff and attending meetings, then crams in 4 extra hours of fun coding.

                                                                                                                                        1. 3

                                                                                                                                          IMO excellence is mostly diminished by the pace of work, not the degree of experience. less experienced coders/doctors may take more time to do a thing properly, and they should have the time to do that. they should not be expected to learn things off the job so they can churn out more commits or patients.

                                                                                                                                          1. 2

                                                                                                                                            I’m not sure I understand the response. First: Why would you expect world class work from someone less experienced in any circumstances?

                                                                                                                                            Second: I think you misunderstood the argument. If someone is self motivated enough to choose to spend time playing with code outside of work, I would expect that to correlate strongly with excellence.

                                                                                                                                            Most jobs don’t need excellence, just competence.

                                                                                                                                            1. 1

                                                                                                                                              yeah i think i misunderstood: you were talking about the excellence of the worker, i was talking about the excellence of the product.

                                                                                                                                      2. 27

                                                                                                                                        I would venture to guess that those people, having both passion and more hours under their belt, are generally better at the activity in question.

                                                                                                                                        I’m actually not so sure about this.

                                                                                                                                        First, I’ve seen plenty of “passionate” people with many “hours under their belt” who were terrible people to work with. Some (not all) are extremely opinionated, arrogant, blind to the possibility there are other ways than $my_favourite_way, and generally just complete twats and impossible to work with.

                                                                                                                                        Second, I’ve worked with plenty of “I program only at my job”-programmers who are actually pretty good at their jobs.

                                                                                                                                        Most people would like to be better at their jobs, but not uses the same approach. Focusing just on “has open source contributions” or “spends evenings programming in $hip_new_language” seems rather short-sighted to me. In spite of having plenty of OSS contributions, I’m not so sure it actually made me a significantly better programmer (but perhaps it did? Hard to tell for sure).

                                                                                                                                        Either way, I think things are a lot more nuanced than you comment.

                                                                                                                                        1. 3

                                                                                                                                          Indeed not all practice is productive. Some of the worst artists I’ve ever seen have put in an ungodly amount of hours practicing with no mind in their head.

                                                                                                                                          1. 2

                                                                                                                                            The problem here is that I believe to be able to generate quality hours of practise, you still need an accumulation of many hours.

                                                                                                                                            Now, it’s possible to be stuck in a “spending many hours mindlessly with no good progress” rut - entirely possible. Honest self-evaluation, modifying one’s goals, fixing one’s learning methods, are all difficult challenges. But who can go from beginner/amateur to “efficient, high-quality practise” without many, many hours of junk practise? You need repetitions to even be able to recognize the difference between low quality and high quality practise.

                                                                                                                                            I can do certain activities in moderation now - I know that 2 effective sessions where I apply a strong effort serves me more than phoning it in 14 times a week, for example. But I needed to go beyond moderation, into obsession, to learn that.

                                                                                                                                            The strange thing is that I’m still not sure whether this is universal. People who are competent don’t really like admitting, or selectively forget their history of obsession - or they truly never had one. Can one get good something by having their very first practise sessions be high quality, and sustain that indefinitely? How can you start off spending high quality practise time if you’re new to something?

                                                                                                                                          2. 4

                                                                                                                                            First, I’ve seen plenty of “passionate” people with many “hours under their belt” who were terrible people to work with.

                                                                                                                                            Sure, but I have seen people who punch out on time that were terrible to work with. Sturgeons law applies here.

                                                                                                                                            1. 2

                                                                                                                                              The question is if there is a correlation or even causation between after-work-work and skill or productivity. Lorddimwit is essentially asking if you believe that there is a correlation.

                                                                                                                                            2. 8

                                                                                                                                              I had a doctor that would do things like volunteer for Doctors without Borders. You could get him on the phone for a quick sense of if it’s serious enough to come in. But you know what, he is so good he isn’t taking patients and likely won’t be for a long time. He doesn’t want to rushed, hurried, or be unable to give each patient the time and attention they deserve.

                                                                                                                                              It’s important not do more than you have time to do. Burnout and spreading yourself too thin is how mistakes and lower quality care happens.

                                                                                                                                              1. 4

                                                                                                                                                You’re missing the point. What your doctor does on the weekend is none of your business, and you have no right to know what that even is, let along use it to help your doctor-shopping.

                                                                                                                                                1. 2

                                                                                                                                                  I always hire the one with the home lab, the one with the open source hobby, etc.

                                                                                                                                                  1. 2

                                                                                                                                                    If we were to do a more fair analogy here, it would be.

                                                                                                                                                    If you’re picking out a doctor to take care of a sick child, which one do you want to go to? The one who reads about cutting edge research and will try to test the child over all the sickness du jour that he saw on medical journals so he can brag with his fellow doctors in his doctor meet-ups about all the cool stuff he does OR the kind family doctor you know and love and treats your kid well.

                                                                                                                                                    When we talk about “coding outside of work” we’re not usually talking about people who reads articles every now and then, we’re talking about the typical tech obsessed developer, which doesn’t correlate with a higher productivity developer from a business standpoint unless yous business is to write prototypes in new languages.

                                                                                                                                                    Besides, for more noble that volunteering for a free clinic sometimes might be, this won’t give a real cutting edge for the professional, they will spend most of the time treating the same diseases they would treat on their normal working hours.

                                                                                                                                                    LASTLY a dr. job is VERY different from an engineer job, and if an engineer isn’t already learning and honing their craft at work, they have a shitty job and should quit.

                                                                                                                                                    1. 2

                                                                                                                                                      There’s a false implication that what a software engineer does is as difficult as what a doctor does which is quite far from the truth.

                                                                                                                                                      Becoming a doctor requires a doctorates degree whereas some software engineers don’t have any degree at all. There’s a much higher bar for who becomes a doctor, and the work they do impacts other humans in more profound ways more directly.

                                                                                                                                                      1. 7

                                                                                                                                                        There’s a much higher bar for who becomes a doctor

                                                                                                                                                        How much of this is because of professional license requirements being used to deflate the number of doctors and keep salaries high?

                                                                                                                                                        While I don’t disagree that doctors require advanced education, it seems like a streak of protectionism runs through the field.

                                                                                                                                                        1. 1

                                                                                                                                                          Not sure TBH. What I can say is that my A&P class was harder than anything I’ve ever done in Tech. And that’s year 1 or 2 for a med student.

                                                                                                                                                        2. 1

                                                                                                                                                          Becoming a doctor requires a doctorates degree

                                                                                                                                                          That’s not what a doctorate means at all. A doctorate is a research degree. Becoming a medical doctor requires an MB/BCh (Bachelor of Medicine/Bachelor of Surgery) or equivalent, not a doctoral degree.

                                                                                                                                                          1. 1

                                                                                                                                                            In America you need a Professional Doctorates in Medicine. You’re right though that it is not the same thing a Research Doctorate. Also TIL it’s a Bachelor’s of Medicine or a Bachelor’s of Surgery in (seemingly most) other countries.

                                                                                                                                                            1. 2

                                                                                                                                                              Oh really? That’s so weird, I never knew that. But I guess it fits with America also requiring a professional doctorate to study law as well. America seems (from my very non-American perspective) to have a bit of an issue with degree inflation.

                                                                                                                                                              1. 1

                                                                                                                                                                School in America is basically a scam you’re required to participate in if you want money, so you’re not wrong :)

                                                                                                                                                        3. 1

                                                                                                                                                          Why would I ‘pick out’ a doctor? I go to my local GP and if they refer me to a specialist I’ll go to the specialist they refer me to.

                                                                                                                                                          1. 1

                                                                                                                                                            Well, programming is not brain surgery. I’d argue that programming is more like tying shoelaces.

                                                                                                                                                            1. 1

                                                                                                                                                              This question might be a wrong one to ask as the comparison to software engineering.

                                                                                                                                                              First, you don’t know which doctors read medical journals for fun, nor hone their craft constantly. If you would ask them that, remember what Dr House said: “All people lie” :) The effect you’re trying to measure (passion and more hours under their belt) is something observable (at least for doctors) through recommendation – most of the people would visit a doctor they got good recommendations for.

                                                                                                                                                              Second, medical profession is a lone wolf profession, which in SE translates to a “hero developer” mentality, something that is quite devastating. We work in teams (at least, huge majority of software engineers), and the major strength doesn’t come from a single persons excellence, but from the ability to work in a team, offer understanding, and deliver maintainable system.

                                                                                                                                                              Finally, the question is posed in a black-white fashion, assuming the situation is either/or. I agree that passion and experience are important factors for excellence, but it is not an implication that after work time spent on coding means more passion or experience, as there are so many other factors that influence our daily routines and our wants (kids, taking care of ill family members, doing community work, having a second job, …).

                                                                                                                                                              1. 1

                                                                                                                                                                The doctor question actually is pretty relevant. One would think mortality rates would be lower for experienced doctors, but the opposite is true: you’re better off (statistically) going to a younger doctor, because even those older doctors who try to keep up with the literature do not manage to update their understanding of the whole of medicine. Young doctors just recently had about a decade of the collectively-understood current best understanding of medicine crammed into their head – plus some more about their particular specialty – and they are generally both up to date and well-balanced. Once out of school, doctors get more selective about their favorite subjects, and the subjects they don’t like so much become blind spots.

                                                                                                                                                                Software developers who study on their own rarely have a well-rounded view of the domain, but neither do devs who just graduated from school. Where I went, we at least had required courses in project management, digital logic, and a handful of distinct languages (so somebody with a degree could draw out a gate-wise 4-bit CPU with microcode and write a straightforward compiler for it), but our language survey course (despite best efforts) was sort of a joke because it was only a single semester, and students graduated writing passable code in only java, c, and sql. A lot of schools stick closer to the standardized curriculum and are basically just java bootcamps, despite being regular degree programs at ordinary liberal arts universities. Self-study, if done well, can fill in some of the gaps left by necessity in a four year curriculum.

                                                                                                                                                                1. 1

                                                                                                                                                                  Experienced surgeons get the more difficult cases, which would also explain worse survival stats.

                                                                                                                                                                  1. 1

                                                                                                                                                                    I had the impression that this particular statistic was about GPs but I might be misremembering. (I can’t even remember where I heard it, so it might even have been debunked!)

                                                                                                                                                                    1. 1

                                                                                                                                                                      For GPs it does sound plausible; outside hospitals, most work long hours without a second opinion to keep their mind straight. That’s a hard situation to maintain skills in.

                                                                                                                                                                2. 1

                                                                                                                                                                  Hmm all else being equal the one who has more experience. However in practice all else is not equal…

                                                                                                                                                                  1. 0

                                                                                                                                                                    And experience in what? The doctor who explains what is happening in terms that I, a layperson, can understand, is far more valuable to me than someone who writes me a prescription and dismisses me, regardless of how many studies they’ve read or even conducted.

                                                                                                                                                                1. 3

                                                                                                                                                                  I’ve been doing this for years and it’s wonderful. I’ve left banks and other services when it quickly became apparent who was selling my contact information to spammers. On the technical side, a solution like simplelogin might very well make this more accessible to non-technical folks. I started with the unique email per site process when I was self-hosting my email, where it was easiest to get just the way I wanted it. Once I moved to hosted providers I’ve had to be careful that they supported all my needs. Tuffmail, Neomailbox, and Fastmail have all proven reliable. Some services limit or charge for aliases, which rules out their use.

                                                                                                                                                                  While the + tag trick works for simple cases, I don’t like it reveals your true email address to anyone familiar with the syntax. It’s too easy for someone to parse it and spam your main account. Fastmail’s alternative form using subdomains is more interesting.

                                                                                                                                                                  1. 3

                                                                                                                                                                    I’m with you. It takes some discipline to keep things in order but this seems to be one of the least terrible approaches. I use a ring model for managing my email world:

                                                                                                                                                                    • I have an single email address that is for meatspace use only
                                                                                                                                                                    • I use per-site emails on my domain for services I want to read emails from
                                                                                                                                                                    • I consolidate behind burner addresses - {shop, bills, burner}@ - for emails I don’t care about seeing. These are shunted into archive folders I never look at but can grep if I truly cared. And if the noise gets too intense, I turn them off entirely
                                                                                                                                                                    • For things I trust the least, I have a pseudonymous domain that is completely disconnected from my online identity

                                                                                                                                                                    Fastmail makes managing this almost seamless - I get one inbox with things I care about and some folders that automatically capture and hide the dross. The most overhead I get is logging in to blacklist a per-site email because they’ve become naughty.

                                                                                                                                                                    1. 3

                                                                                                                                                                      While the + tag trick works for simple cases, I don’t like it reveals your true email address to anyone familiar with the syntax. It’s too easy for someone to parse it and spam your main account.

                                                                                                                                                                      What I do is filter out any email sent to the bare/true address. i.e. for me to see an email (under normal circumstances), it must be sent a tagged email address.

                                                                                                                                                                      1. 1

                                                                                                                                                                        That’s a really good idea and a super-easy way to negate most of the negatives of that method.

                                                                                                                                                                    1. 2

                                                                                                                                                                      I listened to the 450 WPM samples a few times and couldn’t make a single word out. Is there some trick to understanding it, or does it just take a lot of practice?

                                                                                                                                                                      1. 3

                                                                                                                                                                        Incrementally increase the WPM, specifically using a text to speech tool. I started at 2x and worked my way up from there and while I’m not at his level I’m certainly close.

                                                                                                                                                                        1. 3

                                                                                                                                                                          I guess gradually increasing the speed could do the trick. Once you get used to a particular pronounciation, it’s probably similar to reading in that you process entire words or combinations of words instead of individual glyphs. Here, you would recognize “sound” of a word, which may be completely different from the normal speech.

                                                                                                                                                                          He also doesn’t mention when he lost his sight. Learning this at young age is definitely a whole lot easier. It’s still amazing, though.

                                                                                                                                                                          1. 3

                                                                                                                                                                            Playing it at 20% speed doesn’t help either. Would somebody translate a few lines from the beginning, please?

                                                                                                                                                                            curl "https://www.vincit.fi/wp-content/uploads/2019/05/essample.mp3?_=4" | mpv --speed 0.2 -

                                                                                                                                                                            1. 1

                                                                                                                                                                              On mobile so I can’t check the files you sent - but I think the first sample is actually Finnish, not English.

                                                                                                                                                                              The second sample actually has some words I can follow, but god help me if I get more than one or two syllables off… I can’t get the words back even when reading the paragraph.

                                                                                                                                                                            2. 2

                                                                                                                                                                              Suppose it’s the practice propped by the lack of visual channel, primary for most people otherwise.

                                                                                                                                                                            1. 10

                                                                                                                                                                              I don’t really agree with “rainbow barf.” The last screenshot is the one I want to look at. I can clearly see what is a function call and what is a variable. Code highlighting does make things way more readable for me. Could if be more helpful if it’s toned down? .. I mean, maybe, but it doesn’t hurt me that it’s colorful.

                                                                                                                                                                              That’s one thing I really love about Gentoo’s package manager. The fact that everything is colors makes it really easy to see current version, new version, active and inactive USE flags, etc. Even thought apt has some colors now, it’s now much and not very useful.

                                                                                                                                                                              I question the author’s design choices honestly just looking at the site. A one page layout where you click on an article to expand it with no permalink to the article itself? It’s not even obvious that it’s a link because of the way it’s implemented. Just .. bad design.

                                                                                                                                                                              1. 3

                                                                                                                                                                                The last screenshot is the one I want to look at. I can clearly see what is a function call and what is a variable.

                                                                                                                                                                                Maybe I consume code differently than others - but it doesn’t matter to me if xyzzy is a variable or a function call. To understand it I need to see its type, where it is used in context, etc.

                                                                                                                                                                                Similarly, why highlight the function call in xyzzy.frobnicate()? Something was frobnicated, great, but I have to review that function to understand what it does. Does it help people to see that part “standing alone?”

                                                                                                                                                                                The only syntax highlighting I’ve enabled for regular editing are strings and comments. I do like context-specific highlights in small doses - REPL output in my buffer, lines failing linter checks, VCS Christmas tree - but that’s it, really.

                                                                                                                                                                                I wonder if this is because I’m around multiple divergent software products in different languages and I don’t get to stay with one long enough to recognize it without reading the parts I need to work with in entirety every time. Maybe if I was dedicated to one code base I would think differently.

                                                                                                                                                                                it doesn’t hurt me that it’s colorful.

                                                                                                                                                                                Having a combination of terrible eyesight and the attention span of a gnat probably dooms me to avoid syntax highlighting :)

                                                                                                                                                                              1. 5

                                                                                                                                                                                They probably have some sort of ML shizzle to determine whether requests are bot-y and trying to abuse their platform, and block them on basis of that. So they probably ban “unusual browsers”, rather than “Linux browsers”. This would also explain why the results aren’t consistent.

                                                                                                                                                                                1. 9

                                                                                                                                                                                  At least when MS engaged in anticompetitive practices it was because humans made decisions that were implemented by other humans. You can push against that internally, whistleblow if things get bad, and there’s almost always an incriminating email or two where somebody lets the mask slip.

                                                                                                                                                                                  With Google’s algorithmic everything, everyone just tosses their hands up and says “emergent behavior”. Nobody may intend to block alternative UAs, or permanently remove access to the gmail account you’ve used for the past decade - it just happens that your actions went one sigma too many past the acceptable user baseline. Sorry.

                                                                                                                                                                                1. 13

                                                                                                                                                                                  The article fails to account for reserved instance pricing, the sustained use discount, the free tier, and spot or pre-emptable instances.

                                                                                                                                                                                  Pricing on AWS/GCP is complex, but you can save a lot of money if you’re careful.

                                                                                                                                                                                  Though to be fair that complexity is one way they make money. You could save a lot of money, but it’s all too easy to overlook something.

                                                                                                                                                                                  1. 21

                                                                                                                                                                                    Hi, OP here.

                                                                                                                                                                                    • I believe I am taking Google’s sustained use discount into account
                                                                                                                                                                                    • I haven’t included the free tier because it is marginal and I think most organisations will exhaust it fairly quickly
                                                                                                                                                                                    • I think spot and preemptable instances are not a general product but a specialist one: only some applications of virtual machines can tolerate getting evicted

                                                                                                                                                                                    I do discuss the issue of complexity later on. I don’t think it normally works to the advantage of the customer.

                                                                                                                                                                                    My intuition (and experience!) is that most real world AWS customers get bamboozled by the incredible complexity of pricing (especially when it’s presented in non-human readable units like “0.034773 per vCPU hour”) and wind up paying far, far over what the going rate of renting a computer should be.

                                                                                                                                                                                    1. 5

                                                                                                                                                                                      Hey OP, could you add Hetzner Cloud servers? Should be a whole lot cheaper than anything else you’ve got on there if I’m seeing this correctly.

                                                                                                                                                                                      1. 2

                                                                                                                                                                                        There’s also a built-in Terraform provider https://www.terraform.io/docs/providers/hcloud/index.html

                                                                                                                                                                                        1. 2

                                                                                                                                                                                          Agree, it seems to be 10 Euro/month for 8GB in the cloud plan.

                                                                                                                                                                                          I’m running a root server with 32GB of memory and 2TB hard disk at Hetzner for ~30 Euro / month (from the Serverbörse). I do not know about their support at all, but I am quite sure that from a US IT company I could only expect automated mails, anyway. So Hetzner cannot be any worse there.

                                                                                                                                                                                          Of course, root server and cloud hosting are two totally different beasts, but in my humble opinion it’s a choice the US-centric tech community too often does not even consider. The mantra is always the application has to be horizontally scalable.

                                                                                                                                                                                          1. 1

                                                                                                                                                                                            It should just be noted that Serverbörse is usually based on dekstop machines and the like, often older CPUs and servers, so you might not want to rely on that if your application stack is considered mission-critical.

                                                                                                                                                                                            As for the cloud vs classic servers, it’s a different beast completely, yes. A lot of internet wouldn’t be alive if you had to pay a linux admin to configure your servers, deploy your apps and pay attention to traffic, script kiddies etc. But not having a lot of internet online could perhaps be considered a good thing, eh?

                                                                                                                                                                                        2. 5

                                                                                                                                                                                          On preemptible/spot they both provide /liberal/ shutdown warnings, it is possible to run almost anything aside from long life connection hosts (e.g. websockets) or extremely stateful applications like databases. Use cases that don’t fit spot are approaching minority in 2020 with current infrastructure trends.

                                                                                                                                                                                          Re: DigitalOcean, I did a migration a few years back where AWS came out vastly cheaper than the equivalent configuration on DO mostly due to AWS instance reservations, which are a trivial factor to plan for when you’re already planning a large migration.

                                                                                                                                                                                          The one area I couldn’t possibly defend the cloud providers is bandwidth pricing. All other costs are a footnote compared to it for any account doing high traffic serving

                                                                                                                                                                                          1. 10

                                                                                                                                                                                            Not an expert on this, but while it seems it is possible to run lots of things on hosts that may shut themselves down automatically, actually doing so will cost you more developer and devops time instead of just paying a little more for hosting. It seems likely that this is time you want to spend anyway, as part of making an application more resilient against failure, but it still makes the situation yet more complicated, and complexity usually serves Amazon more than the customer. (And I have a hard time believing that databases are approaching a minority use case with current infrastructure trends. ;-)

                                                                                                                                                                                            1. 3

                                                                                                                                                                                              Bandwidth pricing is the primary lock-in mechanism cloud providers have. It should be seen as anti-competitive.

                                                                                                                                                                                              1. 4

                                                                                                                                                                                                I don’t understand what you mean. Are you saying bandwidth costs of migrating data to another cloud would be prohibitive? Or something else?

                                                                                                                                                                                                1. 3

                                                                                                                                                                                                  Personal example: I started to develop an application with AWS services (Lambda, SQS, EC2, S3). Later I changed it to an application for a “normal” server. I still wanted to store data to S3, but the cost to download it from there for analysis is just ridiculous. So the choice was to store to S3 and run on EC2 or not to store to S3. (I decided against S3).

                                                                                                                                                                                                  1. 4

                                                                                                                                                                                                    What I mean is that data transfers between services in the same cloud x region are much cheaper than data transfers between clouds. So it’s more expensive to store logs in AWS and analyze them with GCP, compared to just analyzing them in AWS. You can’t take advantage of the best tools in each cloud, but are forced to live in one cloud, creating a lock-in effect.

                                                                                                                                                                                                    If there was a rule that bandwidth prices must be based on distance, not whether the endpoints are within the same cloud, we’d see more competition in cloud tools. Any startup could create a really good logs-analysis tool and be viable, for example. This rule runs into some legitimate issues though. For example, if a cloud provider has custom network hardware and fiber between their own data centers, the cost of moving data between their zones might be much cheaper than sending it over the public internet to another cloud provider. Moreover, many different cloud services are co-located in the same data center. So it’s much cheaper to analyze logs using a service that already exists where the data is than to ship it off to another cloud.

                                                                                                                                                                                                    The problem is big cloud vendors have little incentive to let users take their data out to another cloud. It’s going to be a market where only a few big players have significant market share, at this rate.

                                                                                                                                                                                                    1. 2

                                                                                                                                                                                                      Okay I see what you’re saying now. And when bandwidth costs encourage using more services in one cloud, you become more entrenched and entangled to the services of that particular cloud, locking you in even more.

                                                                                                                                                                                                      1. 1

                                                                                                                                                                                                        I agree completely on the bandwidth pricing. At this point, I think this should be considered a common public infrastructure, like roads etc. Yes, I understand that there are costs to providing it all, that some companies have invested in infrastructure privately, all I’m saying is that the traffic should be “free” for the consumers (and even for the business sector that the article OP is mentioning, companies hosting wordpress or timesheet or some similar small apps like that without major engineering teams).

                                                                                                                                                                                                  2. 2

                                                                                                                                                                                                    Yep, it’s definitely true for existing apps. Converting a large stateful app to new world is a nightmare, but you get so many benefits, not least the problem of preemptibility and autoscaling are basically identical. The big Django app used to require 16 vCPUs to handle peak, so that’s how it was always deployed. Now it spends evenings and non-business days idling on a single t2.micro

                                                                                                                                                                                                    In the case of a typical Django app though, if you’re already using RDS then the single most typical change is moving its media uploads to S3. It’s a 15 minute task to configure the plugin once you’ve got the hang of it, but yep, for a single dev making the transition for a single app, that probably just cost you a day

                                                                                                                                                                                                  3. 3

                                                                                                                                                                                                    The one area I couldn’t possibly defend the cloud providers is bandwidth pricing. All other costs are a footnote compared to it for any account doing high traffic serving

                                                                                                                                                                                                    Thanks, I came here to say that. The article didn’t even factor in bandwidth/network costs, which matter for both EC2 and S3 (not as familiar with the other cloud providers).

                                                                                                                                                                                                    1. 2

                                                                                                                                                                                                      Anecdotally, from friends who work in the AWS machine: once you get to real (financial) scale with AWS - think “7 digits a month” or so - you’ll find Amazon is extremely happy to negotiate those costs.

                                                                                                                                                                                                      Fiber ain’t free, but I wager that the profit margin is probably highest there.

                                                                                                                                                                                                  4. 1

                                                                                                                                                                                                    It is those weird units that prevents me as an individual developer from even considering them - when realistically it should be easy to understand the pricing on this sort of thing.

                                                                                                                                                                                                1. 4

                                                                                                                                                                                                  I do a few analyses a year with mid-size graphs just to display and navigate the results. A few hundred nodes max.

                                                                                                                                                                                                  I use d3 but it’s a lot of work and wish there was something better. Since it’s for UX it has to look nice and run in a browser so graphiz and yfiles (and gephi) don’t work for me.

                                                                                                                                                                                                  This thread is nice because it covers a lot (even plantuml).

                                                                                                                                                                                                  I wish there was a nice client side library like what dgraph uses but without requiring a server. It’s probably there, I just haven’t found it yet.

                                                                                                                                                                                                  1. 3

                                                                                                                                                                                                    plantuml

                                                                                                                                                                                                    Funny enough, it compiles to .dot as an intermediate - the PlantUML team is working on their own native renderer but for now it’s graphviz all the way down.

                                                                                                                                                                                                    That’s not a bad thing either. Graphviz is a great piece of software. As is PlantUML if you have to do any diagramming… beats the heck out of clicking on Visio all day long.

                                                                                                                                                                                                    1. 3

                                                                                                                                                                                                      Lately I’ve been using mermaidjs for sequence, class, and flow diagrams. I like it because the syntax diffs nicely in git, fits into markdown files well, and looks ok in the browser. I’m not doing proper UML modeling, but I use it instead of UML modeling to show design, association, etc.

                                                                                                                                                                                                  1. 3

                                                                                                                                                                                                    Tor in a nutshell: “the NSA is watching; let’s politely ask them to leave their business cards.”

                                                                                                                                                                                                    1. 6

                                                                                                                                                                                                      Like a lot of these “falsehoods” articles, for many cases these “falsehoods” are perfectly true.

                                                                                                                                                                                                      Take the “all currencies currently in circulation are subdivided in decimal units” point for example. There are only two currencies in use that are non-decimal: those of Madagascar and Mauritania. I don’t want to be dismissive of these countries, but they’re small developing countries, and the chances that code you create will have to deal with these currencies are quite small, so for most practical purposes it’s just fine to assume all currencies are decimal.

                                                                                                                                                                                                      The world is a big and complex place, and you can’t deal with every single edge case. Most of the time there is no need to, and it’s much easier to just “believe the falsehoods” and deal with the common cases in a straightforward way.

                                                                                                                                                                                                      1. 17

                                                                                                                                                                                                        The world is a big and complex place, and you can’t deal with every single edge case. Most of the time there is no need to, and it’s much easier to just “believe the falsehoods” and deal with the common cases in a straightforward way.

                                                                                                                                                                                                        Project management has talked about known unknowns and unknown unknowns. These lists turn the latter into the former. Knowing these edge cases exist can help design the solution space around them, explicitly design them out of the system, or at least document their presence.

                                                                                                                                                                                                        So yes, most of the time handling the common cases straightforwardly is right, but you can at least do it with eyes open.

                                                                                                                                                                                                        1. 8

                                                                                                                                                                                                          Seconded.

                                                                                                                                                                                                          1. A price can be at most 10^N for some value of N.

                                                                                                                                                                                                          Let me interpret this: Whatever prices your system can process, it’s never enough. Using computers with infinite resources and processing power is therefore recommended.

                                                                                                                                                                                                          1. 1

                                                                                                                                                                                                            Right, and your boss might want you to write out that sandwich price as R$14,999,999,999.99 instead of RB$15 because it sounds cheaper that way.

                                                                                                                                                                                                          2. 2

                                                                                                                                                                                                            There are only two currencies in use that are non-decimal

                                                                                                                                                                                                            Another small country you may have heard of is Japan

                                                                                                                                                                                                            1. 2

                                                                                                                                                                                                              I’m not sure what your point is, because that Wikipedia article specifically states that it’s decimal in the lead section.

                                                                                                                                                                                                              1. 1

                                                                                                                                                                                                                I stressed the wrong point, what I meant to point out is that yen are not subdivided at all.

                                                                                                                                                                                                                I agree with you that it’s pointless to support iraimbilanja and khoums though, as both their respective currencies have more standard and more used decimal subdivisions.

                                                                                                                                                                                                                1. 2

                                                                                                                                                                                                                  Well, yes. But that’s the next point on the list:

                                                                                                                                                                                                                  All currencies are subdivided. (counter-examples: KRW, COP, JPY… Or subdivisions can be deprecated.)

                                                                                                                                                                                                                  Japanese Yen, Indonesian Rupiah (which I use every day), and quite a few others are still decimal, even though not subdivided.

                                                                                                                                                                                                              2. 1

                                                                                                                                                                                                                The page you link to mentions 2 subdivisions of the yen, in 1/100 and 1/1000.

                                                                                                                                                                                                                In practical terms it’s a single unit though.

                                                                                                                                                                                                                The Indonesian rupiah is another currency with low real unit value, but its 1/100 subdivision is explicitly noted as “obsolete”.

                                                                                                                                                                                                                1. 4

                                                                                                                                                                                                                  Not since 1953. (Sorry, can’t find an English article on it.) The words ‘sen’ and ‘rin’ are still used when referencing fractions when trading and whatnot, but no, they do not actually exist anymore.

                                                                                                                                                                                                                  1. 1

                                                                                                                                                                                                                    I think we can be charitable and assume that what the author means with “non-decimal” is

                                                                                                                                                                                                                    • a “unit” currency (yen, rupiah, ex-Italian lira), which cannot be subdivided
                                                                                                                                                                                                                    • a currency that is subdivided, and then always in multiples of 10.