Fact and folklore in software engineering - <AUTHOR> http://morendil.github.com/folklore.html <comment><USER2> I think the "10x" myth persists because we all imagine that we're the programmers who are "10x" better than average.

It's nominally true because many programmers have zero or lower productivity, sometimes due to no fault of their own. If you work on a project for three years, and then it gets canceled, you could say your work had no economic value because it never got in front of customers. If some PHP hack manages to pound something out in a month that brings in $100,000 of business, he looks like a hero, no matter how bad the code is.

In my view, superproductivity is about alignment with your environment. If you work for 12 months a year, but spend 3 of them on side projects that go nowhere, spend 3 months being a sysadmin, and then waste another 5 months on reworking a GUI, there goes about 90% of your productivity.

The "Mythical Man Month" says that about 20% of the time on a software project is spend coding, the rest is requirements work, testing and that kind of stuff. A superprogrammer with supertools might be able to do that in time that approaches zero asymptotically, but unless you can get rid of the other 80%, project cost and time don't get much worse, even in comparison with a coder who is half as productive as average.

The moral? If you want to look like a genius, find some place where (i) requirement work takes little time (and wastes little time downstream with changes) and (ii) testing, deployment and all that is minimal.

<comment><USER3> I have seen programmers that are more than ten times faster than some slow programmers. There are debugging tasks where some people struggle for days, while others would find it in one hour.

<comment><USER4> Take any non-trivial debugging task (i.e. something that slipped through the net for several releases in a live system, not a simple bug in fresh code) and set me on it 100 times, and you'll almost definitely see at least 10x variation in how long it takes me, and that's just because of the nature of debugging, sometimes you get lucky and sometimes you don't.

Of course, there's some real variation in the averages that people will settle down to over the course of hundreds of debugging tasks, but an individual's productivity on debugging tasks varies so much that I'd be hard pressed to say much at all about the individuals until I'd seen them do at least a few trials.

It _may_ be the case that the differences in the average times people take do end up being on the order of 10x or more, but it would take a lot of observation to say that for sure (exactly how much depends on what sort of distributions we see when we measure this stuff).

<comment><AUTHOR> Kudos for pointing out that it's the shape of the distribution that matters, not how far apart its endpoints.

Interestingly there are articles out there which suggest that one distribution (of competence, rather than productivity, but intuitively you'd expect the two to be related) is actually bimodal rather than normal, "the camel has two humps":

[http://www.codinghorror.com/blog/2006/07/separating- programm...](http://www.codinghorror.com/blog/2006/07/separating-programming- sheep-from-non-programming-goats.html)

</comment></comment></comment></comment><comment><USER5> It's important to note that (as far as I can tell) the author doesn't actually debunk the claim that good programmers are 10x more productive, only the claim that studies show that programmers are 10x as productive.

Personally, I think the author is unintentionally also pointing out the problem of relying on studies of programmer productivity: it's next to impossible to measure. I seriously doubt that there is no valid research on this because no one has gotten around to it. Too many peoples' businesses rely on understanding programmer productivity inside and out for that to be the case.

Personally, I agree with whoever it was that argued that we need to view this as a soft science like psychology or sociology. We need to focus on working in spite of our imperfect means of measuring productivity rather than dismissing all of our research based on it. Such is the nature of studying the human mind.

<comment><USER6> Developer productivity is near impossible to _define_ , much less measure.

<comment><USER7> Developer productivity is a lot like obscenity. And jazz. It may be hard to define. But it doesn't matter. Because I know it when I see it. YMMV. But that's not my problem. I don't have to define precisely what it means to be hit in the face by a rotting fish. I'm pretty sure I'll know it when it happens.

Now back to Terminal and vi so I can be productive again...

<comment><USER5> This is true. But when you're doing an objective study, you need something more than "I know it when I see it".

<comment> barry-cotter Well you could use peer ranking, and see how well the rankings correlate with one another. That's the method they use in expertise studies for subjective fields.

</comment></comment></comment></comment></comment><comment><USER8> Heck, even one given programmer can see his own productivity varying wildly. There are times I could hack away thousands of lines of working code in a single week, and some other times I'd tinker for months getting no actual job done. Overall I managed to ship from time to time, though I blankly admit I failed the most ambitious projects because I was probably not up to the task.

Even programming at my very basic ability level (actually I never considered myself to be a professional programmer * ) I've seen a number of people who simply never get anything done, and are 10x less productive than I am. The sort of people who are the heroes of thedailywtf.

They never do any better than tinkering around; with some luck they may actually implement some simple code if given very precise requirements because they miss the basic impetus, or the necessary comprehension to start by themselves. Maybe in some huge java drones team, they may add some value, I don't know for sure, I've never worked in a team of more than five programmers anyway.

OTOH I've worked with some guys, thumping the keyboard 16 hours a day for months straight, getting working production code out of the frigging door every single day. So I dare saying I've seen it all : the 10x programmer, the 1x programmer (myself and most others), and the 0.1x programmer (I don't know how many).

All of this sure isn't scientific fact, but simply what I witnessed myself in the past 25 years. It's enough information to guide me through :)

* I'm a professional dilettante :)

</comment><comment><USER9> I don't see how it's really debatable that some programmers can be 10x more productive in certain domains. This is especially true in technical domains where it can take years to gain the knowledge required to solve the problem at all. I can think of real-world problems that would require the average programmer several years to solve, yet I know people that could solve them in a day. In fact, almost any specialized task works like that.

<comment><USER10> It would take others years to solve what someone else can solve in a day?

I would love to hear an example of that as that seems a pretty extreme claim.

<comment><USER11> I would suggest <http://norvig.com/spell-correct.html> as an example of a very short program that took an expert under an hour to produce which many competent programmers could have spent weeks spinning their wheels on. (With a worse result.)

You will note that the expert is not quicker by virtue of pulling in more sophisticated tools or large libraries. Rather the expert is faster due to knowing how to solve the actual problem.

<comment><USER12> I love that example.

Another one: <http://www.paulgraham.com/spam.html>

For many years hundreds of programmers worked on anti-SPAM systems that weren't as effective as the very simple method PG proposed.

If anyone else can think of more I'd love to know them.

<comment><USER10> But you've both just disproved your own examples!

The very fact there are articles explaining previous solutions to these problem domains is why I just don't believe anyone would ever take a year to get up to speed with something an expert could do in one day.

I can make a great spell checker or a great anti-spam program that takes an expert a day to program in less than a year by just googling it.

There are so few programming domains that aren't fairly transparent where a domain expert has such a massive advantage that a domain novice couldn't gather sufficient knowledge in a year to rival the other programmer's one day effort, given the same level of intelligence, etc.

<comment><USER11> When it comes to spelling correction, there is a lot of literature on how to do it. So that example I grant you. But could you, before Paul Graham's article, have written an anti-spam program that is that effective? Seriously?

</comment></comment></comment></comment></comment></comment><comment><USER13> When I found myself reading sentences like this

        Citation itself often presents as a modality,
        with an associated degree of confidence.

I started to wonder if this article was a practical joke. Why was someone writing about programming using the pompous language of literary theory? Was someone trying to pull a Sokal? Then I saw the endnote.

(I realize this is only DH2, but it's such an extreme case that I can't help thinking how lucky we are not to have programming ordinarily discussed in this way.)

<comment><AUTHOR> Which part of the above did you have trouble with?

"Citation" is the topic being discussed. It's a technical term that refers to how scientific papers refer to other scientific papers.

"Modality" is the concept I've been introducing for three paragraphs. You're supposed to know what it means by then, or I've not been clear enough.

"Present as" is an intransitive verb phrase. I could say the same thing, perhaps more simply, by saying "you can think of a citation as a modality". Perhaps it's this phrase that has thrown you?

[EDIT: I've changed the article to try and make the sentence clearer. Thanks for your feedback.]

It seems to me that "degree of confidence" is clear enough, and that it's clear enough that a modality can have a degree of confidence associated with it.

So the article introduces two technical terms you're perhaps not familiar with, but I'd suppose someone who can read a CS paper or write a program can cope with that much.

<comment><USER14> It's the word "modality" that throws me. The word by itself is pretty vague -- "somehow related to a mode". The linked Wikipedia article is dense and confusing. You explain it as a way of modifying a statement. Then you say a publication is an "extended modality". That requires another mental stretch. How does the abstract idea of "a publication" connect to modifying a statement? One expects you to explain that in the following sentences, but you don't really. Instead you follow with the seemingly unrelated statement, _"A researcher may wish to state a conclusion: "water boils at 100 degrees celsius". Convention dictates that he should initially add various hedges to his conclusion: ..."_ So when writing a publication a researcher will customarily add hedges. What does that have to do with a publication being an "extended modality"? Is it really necessary to use such an obscure term? It seems like it shouldn't be this hard to understand what you're saying.

<comment><USER15> I definitely agree about the linked Wikipedia article on modality. Literary theory is probably not a good way to talk about modality with programmers, but the idea of modality isn't just about linguistics and literature, and isn't as obscure as you think.

A better starting point for programmers and computer scientists would have been modal logic, which uses the modal operators of necessity and possibility.

For example, classical logic uses propositions. I can say "P" in classical logic. In modal logic, I can say "P", "Necessarily P", and "Possibly P", where logical necessity and possibility are modalities. See <http://en.wikipedia.org/wiki/Modal_logic> \-- it's a pretty good overview and it links the logical and epistemological senses of modality.

</comment></comment></comment></comment><comment><USER16> My personal opinion is that the big gains in programming productivity in large projects have have to do with how code is organized and structured. The right abstractions are also key to keep the inherent complexity under control. It is not about implementing x feature in t time. It is more about implementing the feature in a coherent way, and the gain is long term. To measure and compare that, you would need to track 2 projects implementing the same features over a period of time. That experiment is hard to do.

<comment><USER17> Don't forget how the _people_ is organized. Both programmers and the people around them.

</comment></comment><comment><USER18> Anyone who says that "net negative productivity programmers" don't exist is a person who has been really lucky in his professional career.

</comment><comment><USER19> I suspect the 10X observation is due in large part to the fact that some programmers are more experienced. I'm much more productive than I used to be, because I've been doing it for 10 years. I've already had to think about a lot of problems, which means I already know solutions for a lot of things. It doesn't mean I'm inherently better than I was, just more experienced.

I expect that this 10X figure is also applicable to things besides software engineering. I'd guess that auto mechanics with 30 yrs of experience running their own auto shop are 10X more productive at solving problems than new guy at the dealership. (Note: solving problems, not just replacing the part. Knowing what part to replace) The Ph.D. who's been researching for 30 years probably is a lot faster at finding solutions than the guy who just passed his qualifiers.

</comment><comment><USER20> One set of studies: <http://norvig.com/java-lisp.html>

The focus was more on the language factor, and some programmers were students while others were pros, and in some they were self-selected; but still, >10x variation in development time among the Java programmers. 30x if you allow all the above differences. The 10x thing gets quoted way more confidently than the amount of study justifies, but it's not just made up.

<comment><USER4> I've already made this comment elsewhere on this thread, but just for completeness sake...

The problem with reading off a 30x variation (or even >10x) from Norvig's results is that it discounts the possibility that the same person might take different amounts of time for tasks (relative to the others in the group).

For instance, you might have people in the group that have already worked some variation of that problem. Or you might have some that had colds, were distracted, or just do badly on that sort of enumeration problem, but are killer at other problems. Every one of these possible discrepancies cuts away at the expected magnitude of the actual overall productivity difference between programmers, and should be accounted for.

Of course, since that difference is not what was being studied, they didn't set up the experiments to gather the data we'd need to best estimate the real productivity differences, so it's hard to say what we should conclude...I'm sure there _are_ people that are 1/30th as productive as the best programmers, but what we'd really want to know is how typical they are, and what the overall distribution looks like. That's far less clear.

</comment></comment><comment><USER21> The 10x productivity claim is one of the unfortunate ones, because anyone with a few years of programming experience can relate to the idea, but it's very difficult to define an objective hypothesis that can be tested quantitatively in any meaningful way.

First you have to define what things like "productivity" are for programmers, and to my knowledge no-one has really done a robust job of even that yet.

Then you have to establish who the "best" and "worst" cases are. After all, I suspect many of us would agree that some programmers make a net negative contribution to their projects, taking more time away from more efficient programmers to fix the resulting problems than it would have taken the stronger programmers to do the work themselves in the first place. This may be inevitable, given the learning curve involved in a field as complicated and diverse as programming.

That all said, I will just mention that Glass also covers this subject, with various other citations, in "Facts and Fallacies of Software Engineering". Given that his final fact is "Many researchers advocate rather than investigate", a criticism very much along the lines of this article, it would be interesting to know whether his sources stack up to more robust criticism if anyone has access to them.

</comment><comment><USER22> Is there "software engineering" engineering at all?

It is more like "social engineering" or "financial engineering". More to do with ingenuity, than engineering as a practice.

Engineering is an application of scientific - mathematical and physical knowledge to create something. If you don't do the Math, you probably are not an engineer. There is little room for subjectivity.

So, I guess most programmers (if not all) are software technicians. They have practical knowledge, but not the proven theory behind it.

So you will have "Fact and folklore in software engineering", until you can synthesise "something-driven development" using knowledge mathematics and science.

Currently you have some ideologies and studies on them.

In control engineering for contrast to solve a problem, for example a controller regulating the flow of fuel in an engine you have the following procedure:

1\. You make a model of the open and closed loop system. You know how do the processes look like in derivatives and you can make transfer functions and state-space representations.

2\. You correct the system according to specification, adding to the models.

3\. Knowing the physical properties of the different parts of the system you are left with some choices of implementation, but they have different trade- off (physical and economic). You talk with the client and make the appropriate choice. :-)

So, you have the heuristics to solve the problems all build on both practice and science and you don't have the engineers split in schools or ideologies :-)

I guess it should be the same with programmers.

<comment><USER23> Software engineer is a term that can help with visa applications. Programming feels a lot like engineering, architecture and shop work combined. A guy with a machine shop and an idea can create a machine that becomes a very useful mass market product even if he didn't do any mathematics other than measurement and arithmetic. What an engineer does with lots of math can create a similarly identical product. Some problems you need an engineer's sophistication with mathematics and physics to create (like a bridge), and similarly in programming, some problems in graphics and what not require sophistication in mathematics and physics to even create it or to advance the field.

</comment></comment><comment><USER24> As the article points out (and I have before), even if it wasn't a myth, there's no interviewing technique to determine who is at what level.

Also, it should be kept in mind that there is a chance that the original study was contaminated by bad programmers. The truly bad - those who don't really know how to write code at all - are going to vastly underperform those of average competence.

If you had a test that screens out basic competency (an ability to handle CS 101 tasks like assignment, for instance) - how wide would the range be?

Certainly based on 1 study from the 60's... we can't make a good judgment. It's not even a coding study! Even if it was a coding study, it doesn't measure how well they work in teams, or how well they adapt to new languages, or the myriad other things that matter in a programmer's career. . Here's a question that deserves study - what interview techniques can make productive teams? What productivity difference is there between those good at brain teasers (programming ones or otherwise), and those that are bad at them? What about those given syntax questions? Those who feel like a good cultural fit? General IQ?

</comment><comment><USER25> I have looked back in the notes from my last startup. I was CTO and I had to spend time doing fund raising, making sales calls, editing documentation and designs, going to customer meetings. I was never full time in development. I wrote 69 times as much code as the least productive developer and 12 times as much as our "Lead Programmer". Based on my experience 10x is a low estimate. I would say that some people are 100x as productive as others in developing software.

</comment><comment><USER26> Article talks a lot about science, and then provides no actual studies that refute the original claim. That's not how science works. Devise a hypothesis. Develop a test to confirm or deny. Run test.

And then he tears apart the study with strange assumptions. "Well they were debugging, not programming." Because no programmers in the real world spend a significant amount of their time debugging. I'd consider that to be a significant amount of time for a programmers day. Wish I had code complete in front of me, because I know it did do a break-down of developers time. The one that said that most developers spend more time walking than reading software books.

If you're going to refute McConnell or even Peopleware, you've got to do a study. You can't just say "well cubes seem more productive than an office."

<comment><USER27> He's not refuting "X", he's refuting the claim that "studies have shown X". To do that you don't need to run your own studies and show different results from X — in fact "X" might even be true. But if the existing studies don't exist, or can be shown to be flawed, then it's perfectly valid to simply point out the holes.

Your debugging criticism is somewhat valid, but the context here in that the original Sackman paper was mostly testing the difference between "online" and "offline" programming (i.e. programming whilst sitting at a computer or not — nothing to do with the internet!): see, for example, <http://dustyvolumes.com/archives/497> and <http://dustyvolumes.com/archives/500>

The research was on whether debugging whilst sitting at a computer would make you more lazy, which is an interesting experiment for its time, but isn't really that connected to the modern concepts of debugging vs programming.

<comment><USER26> But to me that's like saying no study has proven global warming is real. Because study X only measured ice cores in Antarctica. And study Y only measured tree rings in the amazon.

A far better refutation would be be: Well I ran study Z, and it shows...

(Not that I think the article's claims are as outlandish ad Global Warming Deniers, or that developer productivity has been studied nearly as much as global warming.)

</comment></comment></comment><comment><USER28> The example chosen for the first half of this blog post was rather annoying: water boils at 100C _by definition_ , and thus there has never been any scientific debate about this.

And yet, his point is made. :-)

</comment><comment><USER29> I would love to know how a study could be conducted in such a way to prove or disprove this notion. Any ideas? Any existing data sets that could reliably mined for info?

<comment><AUTHOR> I wouldn't start with a data set. I would start by stating clearly enough the question we are looking for an answer to.

Doing that might involve getting clear on the terms. "Productivity" is too abstract and ambiguous to be used as-is, so we first need to say "here is what we are going to measure".

<comment><USER30> I believe that what people try to determine is not a very precise measure of productivity, but the fact that _productivity measurement doesn't matter so much_.

The central message that I remember from _Peopleware_ is that software teams are more about people than about numbers.

Performance is going to vary, often wildly (often for the same people at different times). I loved the anecdote of the woman that wasn't very productive herself, but was a "catalyst", maybe simply a fancy way to say she was fun and nice to work with.

Unless you are Google and have the right process to detect the best and resources to attract them, your best bet is to treat people well and apply common sense... as opposed to apply hard metrics and put pressure, demoralizing your people.

</comment></comment></comment><comment><USER7> This is one of those things that's yet another example of something being treated academicaly which does not need to be treated that way. And of making something much more complex than needed. In real life, in actual practice, any working software engineer or heck even open source hobbyist programmer can tell you that talent and ability and productivity vary significantly between individuals. And this isn't just true among programmers, it's true in other areas/fields as well. This is not controversial, or at least it shouldn't be. And yes, some individuals are clearly 10x or 20x or whatever better than others -- for whatever reason, and the reason(s) doesn't matter too much honestly. It just is.</comment>


File over 2GB fail to be uploaded by the Plex Android app - <AUTHOR> https://forums.plex.tv/t/camera-upload-not-working-for-big-video-files-2gb/383636 <comment><AUTHOR> Plex does not issue a warning about the file not being uploaded (however an error is hidden in the logs). Check if your files are actually uploaded by Plex before deleting them from your device.</comment>


Factorio and Software Engineering - <AUTHOR> https://blog.nindalf.com/posts/factorio-and-software-engineering/ <comment><USER2> > a certain component (electronic circuits) was being produced in 4-5 places. > I eventually replaced them all with one centralised production array to > simplify the factory.

Nah, electronic (green) circuits are high-volume but low-complexity to build. They are a good example of something that should _not_ be produced centrally, because if you do, you have to invest a lot in high-volume transport to get them where they need to go. Much better to build dedicated electronic circuit factories wherever they are specifically needed.

Silly analogy to programming: Microservices. It makes sense to have a microservice to perform, say, user authentication, which is complex and only needed occasionally. It does not make sense to have a microservice to implement printf formatting, because you'll be calling it way too often and it'll waste a ton of network bandwidth. Better to import a string formatting library into each service.

<comment><USER3> Nah, as others have pointed out, green circuits are used everywhere. Since they meet that requirement, the only thing else to ask is, "Do the materials take up more or less space than the item produced?"

For green circuits, it takes less transport to move the green circuits than to move the materials to make them, so you should make them centrally and distribute the circuits.

Copper wire, on the contrary, is used in many things but takes up more space than copper plate, so you should make it locally.

<comment><USER2> If belt networks were only about capacity, sure. But you can't put two different kinds of things on the same belt lane without creating some serious trouble. So, the more different kinds of things you want to transport by belts, the more parallel belts you need. Plus, you need those parallel belts early on, even before any of them are running at capacity.

I find it much easier to lay down just iron/copper belts and upgrade them as needed -- upgrading speed in cases where adding parallel lanes is inconvenient.

<comment><USER3> Sure, but this is only an issue if you need less than a full belts worth of green circuits... if you remove that belt of green circuits, you are going to have to replace is with MORE than one belt of raw materials.

<comment><USER4> On full scale it is about trains worth of green circuits.

</comment></comment></comment></comment></comment><comment><USER5> This week I've both been playing Factorio, and writing code for a new application. So, lots of figuring out interfaces, architecture and modularity, and how things will work together.

When I change from one of these activities to the other, I have the distinct mental impression that I'm not switching activities at all. When I switch from Factorio to my text editor, it's such a seamless transition, as if I'm just scrolling to another part of my factory.

Not a sensation I've had with any other game, or any other pair of distinct activities, really.

I figure it _must_ mean Factorio makes me a better coder. I better get back to it, then!

<comment><USER6> This is one of the reasons I _don 't_ play Factorio, or games like it. The point of playing games for me is escapism and rest/recuperation. I feel like I only have so much programming time in me - I think playing these types of games makes me less likely to do some real work.

Plus the "achievement high" is much less; at the end of the day, when you win/do well - you know you're supposed to feel that way, the game was designed for you to win.

I like to sometimes just browse around in my side-project's UI or even codebase and appreciate what I built. Of course, you have to be in the right mind-frame for that. You don't want to go looking for your achievement high and end up thinking "Wow, all that effort and this is all you have to show for it?"

<comment><USER5> I tend to agree with you - but actually I love programming itself and I could do it all day without getting tired. The things that tire me out about work are poor documentation, inconsistent requirements, team politics, other people's mistakes, compiler errors, version conflicts, the stress of having to deliver by a deadline or having other people depend on me, etc.

Factorio has none of that, it's just a constant stream of positive mental stimulation.

<comment><USER6> I guess there's a few parts to it, for me.

There's "the itch" \- the desire to program, to build something. Which I do find coding-style games tend to satisfy (so there's the fear I will have lessened motivation to work on my side project).

Then there's the "focus" side - I still love programming (and consider myself blessed for that). By "only have so much programming in me" I meant more "I have a limited ability to deeply focus within a given day/week". So I don't want to be thinking too hard when I game - I want to lose myself in the flow specifically without having to concentrate too hard (I find books/movies and playing hockey are great for this too).

Please note, I'm not arguing with anyone here - I guess I'm just talking out loud. It's not my intention to denigrate Factorio-style games in any way.

</comment></comment></comment></comment><comment><USER3> Some of the areas the article leaves out are around throughout and bottlenecks... you are often limited by particular resources, and the ability to get them to the end of your factory line (I.e. the belts are saturated at the start of the line, but empty by the time they get to the new section of the factory)

Another interesting thing you learn is about a form of 'buffer bloat' (although it behaves differently than traditional network buffer bloat)

Essentially, having too much of a buffer for resources can cause inefficiency.

Say, for example, that you notice you are producing more green circuits than you are using. A naive response is to try to store them, so that your green circuit factories are running at full speed, and then when your need for them increases you will have them available.

However, this has two downsides. One, it will pull resources away from things you actually need in order to keep making more green circuits, even though you have more than you can use right now anyway. The copper that could be going to manufacturing the item that is your current bottleneck is instead going towards something you have too much of anyway.

The second issue hits you on the other side... when you DO start using more green circuits than you are producing, you won't notice until your issue is very severe, because you will have been using your reserves for quite a while. By then, you will have to increase your production a lot to make up for it... which might put a different resource out of whack.

The trick is to let the factories overproducing to backup production and stop... let that back pressure behave as a natural production regulator, which will make it much easier to have a factory that always works as efficiently as possible given your current raw material production.

<comment><USER7> Yep, the only places that I ever really need a buffer are train stops, power facilities, and times when you can't use a byproduct just yet (more- complicated refineries before you get your circuits tuned just right).

One thing I just realized this week is that a power generation buffer needs to alert me on the very first swing of an inserter from a buffer chest. If the coal/solid fuel line isn't completely compressed, that means the doomsday clock has started ticking.

<comment> eric-hu I recommend avoiding steam buffers when you go nuclear. I had a setup with multiple storage tanks to hold steam, and that had buffer bloat because fluid/steam is hard to evenly distribute across many paths.

<comment><USER3> To be efficient with nuclear, though, you need steam buffers... nuclear power can't stop burning fuel once it starts, so unless unless you are spending all the power as you generate it, you need to store it. Burn a unit of fuel, store all the steam, and then don't put more fuel in the reactor until the steam level goes below a threshold, then repeat.

This is especially true because you want to have a group of four reactors together for maximum efficiency, which generates a crazy amount of power. You spend more time not generating more heat and just living off the steam storage than you do burning fuel.

<comment><USER8> Ok, but it isn't worth it. Yes, you get more "power value" out of nuclear fuel if you ration it. But even if you overbuild your power by 2x your current target load and let the extra go to 'waste', your ore reserves will still likely give you many hundreds of hours of power.

I've tried and made many buffered, circuit-controlled, meticulously fine-tuned power plants that are optimized for fuel conservation and they always have some hitch or edge case where they act erratically, or the steam is not balancing, or the reactors cooled down too much, or... (Or you're lategame and you outscaled it too far and need to eke the UPS back.) And is the moment when you're under siege and losing losing power really the best time to be debugging that 30-combinator fuel-optimizing circuit network you picked up off reddit and randomly modified until it seemed to work? Right.

A challenge: calculate how many hours the total amount of ore you are willing to mine will last you. If you maximize efficiency through productivity modules -- even gradually -- I bet it will be hundreds if not thousands of hours.

So you make a trade: a small fixed increased cost in fully automating and maximizing nuclear fuel production in exchange for the benefit of _vastly_ reducing the complexity of construction and operation of your primary power production facility. No tanks, no circuits, no buffering -- instead, full automation and productivity for fuel production and 100% power all the time. Give yourself a(n automated) backup chest or two of fuel nearby for days (calculate it!) of time to deal with fuel production problems. Would you even have that much time if you burned all the coal in the same area?

I would take a trade like that every day.

<comment><USER9> >meticulously fine-tuned

On what planet is a bang-bang controller considered a fine-tuned control system in an automation game? The only simpler system is proportional.

The point of doing it isn't necessarily for some maximum efficiency, but because it is the only problem in the entire game that could even ask the player to make a control system, which is a very fun thing to do.

<comment> eric-hu If you build a controller for a single nuclear reactor, a bang-bang controller is indeed pretty simple once you know how to build an SR latch.

Scaling that to multiple reactors becomes complex because you can no longer control reactors independently and still get adjacency bonuses from them operating together. Further, there are complexities from emergent behavior that you have to control for. Steam turbines, like steam engines, auto scale steam consumption to power demand. The problem is they don't do it uniformly. If you have 2 turbines attached to 2 tanks and you only need 1, the game might consume all of 1 tank first, leaving you with the 50% burst capacity. It becomes a big problem with day/night cycles and solar/accumulators in the grid.

I never tried to balance this, but I suppose it's possible by building a circuit to link together all tanks and shut off their flow when one's storage deviates too much from the average. This sounds really complex to me and not worth it.

I've explained to the best of my understanding of the game engine's behavior, but I know that fluid mechanics is also inaccurate and complex to design for. There's a known issue with flow behaving asymmetrically. One reason is because the game updates state in a certain order, so water and steam flow with a bias for certain directions (n, s, e, w).

Also, thanks for teaching me a term from control theory (1)

(1) [https://en.m.wikipedia.org/wiki/Bang–bang_control](https://en.m.wikipedia.org/wiki/Bang–bang_control)

<comment><USER9> Ah individual control of a large array of reactors is trickier. I think the bang-bang controller with keeping all reactors synchronized has good legs, but it stops scaling well at some point. If the buffers become the limitation and you don't want to run all of the reactors synchronized then a PID controller would be a good pick. The output value would choose how far up the row of reactors you enable. If you could force max load on will, then loop tuning is a possibility.

To maintain the simultaneous reactor bonus, you would want to keep the fueling cycle synchronized and just adjust which reactors are enabled each cycle. This can be done with a clock that has a period of one fuel cycle.

One interesting thing is that due to the nature of reactors, you will have higher efficiency in running more reactors if your buffer does not run out. It might be possible to eek out a little more efficiency if you fall back to a bang-bang controller in low load scenarios (making sure the threshold and number of reactors used won't overfill the buffer, which is practically unlikely in low load scenarios). I would have to experiment with this a bit more to see if it's reasonable to capture more efficiency.

All of this is practically orthogonal to the standard players perception of efficiency, but I find it fun.

[https://en.wikipedia.org/wiki/PID_controller](https://en.wikipedia.org/wiki/PID_controller)

[https://github.com/quchen/articles/blob/factorio/factorio/ci...](https://github.com/quchen/articles/blob/factorio/factorio/circuitry.md#pid- controller)

<comment> eric-hu Fascinating write up! Thank you for sharing!

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER10> Playing Factorio certainly feels similar to some kinds of Software Engineering.

But I don't particularly like the comparison because a huge thing about Factorio is the restrictions on physical layout. Due to this physicality it is very expensive to refactor in Factorio, you are going to be working with more components working together at the same time, and the fine details matter way more on every level because if you're off by a single tile, it all comes crumbling down.

Because of this, in Factorio you really cannot refactor your way to a base producing something at a new rate in Factorio. The only method is to design a brand new production line from scratch and rebuild - basically, all you have is waterfall and rewrites in your toolkit.

<comment><USER8> I don't find this to be true once you have automated production of all the buildings and use construction bots. Combined with the recent(ish) improvements to blueprints, blueprint books, and cut/copy/paste makes fixing those off-by-one errors quite painless: 1. Ctrl+X to cut and auto-deconstruct the build, 2. Ctrl+V to paste in the correct place, 3. Go fix something else for 2 minutes. :)

<comment><AUTHOR> It's possible they didn't reach construction robots yet. The game becomes more interesting once they allow you to refactor with ease.

</comment></comment></comment><comment><USER11> This essay highlights my core impression of Factorio that's kept me on the fence about buying it - it certainly looks like a fantastic game, but since I already enjoy designing programs and coding, every time I consider trying it out I just tell myself, "I'll just open up my text editor" instead. Is there a good selling point to push people like me past this mindset? Or is the game probably just not for me?

<comment><USER12> I don't know what it is (despite racking my brains about this for years), but there's something about Factorio that makes it much more fun for me than programming -- unless the programming I'm doing is something I'm intensely interested in, which programming for work rarely is.

<comment><USER9> It's like labview except the bugs try to kill you.

</comment></comment></comment><comment><USER13> I watched an hour or so of Let's Plays just now. Factorio really made me reminisce about playing Tekkit, especially the Red Power mods from Eloraam (man, I miss those), plus ComputerCraft, BuildCraft and not to mention IndustrialCraft2. It's the only reason I bothered to learn Lua and FORTH lol. However my thinking now is that programming probably gives me just about the same level of fulfillment and challenges, sooo I think I'll stick to that. Factorio does look very fun though!

<comment><USER14> Come on Buildcraft is bad. Buildcraft pipes drop items when they hit full inventories. Eventually you end up dropping a million items on the floor and your game becomes unplayable.

<comment><USER13> I don't see it like that. Instead you have to engineer your project around the weaknesses. This is one of the fun challenges of using BuildCraft. Of course, I can see how this frustrates server owners, who have to deal with all those users who don't know how to use it correctly (or who use it in the wrong way in order to troll or blackhat).

</comment></comment></comment><comment><USER15> Factorio is the only game I can think of that could be used for education while not feeling like an "education" game. Most educative games (from my experience) are not fun. But Factorio is a metaphor for real world software engineering and it is done without the player needing to be aware of it. Absolutely beautiful game design. I feel like this is what education will look in the far future.

<comment><USER16> Try satisfactory too. Kids will enjoy it more because it's 3d first person and colorful.

[https://www.satisfactorygame.com/](https://www.satisfactorygame.com/)

</comment></comment><comment><USER17> Coming to Factorio from a Scala/streaming/data background, I got the connection pretty immediately - so much of Factorio is about designing correctly for backpressure, such that your factory works stably at different levels of capacity and resource consumption. That said, I still never really got the knack of blueprints and large-scale planning, so I've got a long way to go still.

<comment><USER18> I find it interesting that you mention easily grokking backpressure in Factorio yet have more difficulty with blueprints. In my experience, people "get" blueprints much earlier on than even the idea of backpressure.

Given you say you come from a data streaming background, I (idly) wonder how much your Factorio "skills" could benefit from you picking up a book on design patterns in object-oriented approaches.

</comment></comment><comment><USER19> Here's a list of games I think software developers will enjoy if you want to take the enjoyable aspects of software design and automation with none of the downsides:

\- Factorio

\- Kerbal Space Program

\- Oxygen Not Included

\- Shenzhen I/O

\- Exapunks

\- TIS-100

Always looking for new suggestions :))

<comment><USER20> \- Satisfactory

Factorio but in 3d.

<comment><USER21> I want to enjoy Satisfactory. It has it's own charm to it, and I love their interactions with the community.

But doing everything from a first-person view is often frustrating. Being able to have multiple layers of belts is nice, but sometimes its annoying dealing with collisions. And while the terrain is beautiful, I often find it just gets in the way of your factory more, and the option of just laying out tons of platforms is unnatural and just hides the beautiful scenery.

<comment><USER22> If you really think about it, Satisfactory is a game about destroying a beautiful planet with huge concrete platforms and heavy machinery in pursuit of strip mining all of the world's resources and delivering them to the capitalist overlords via a space elevator.

At least, that's where I think the story mode's gonna go.

Don't give up on Satisfactory though! Managing collisions gets easier as you play more, mostly just leaving a lot of room and using vertical space. The jetpack really opens up the game.

<comment><USER21> Jetpack really needs to be way earlier in the tech tree, IMO. Maybe even as early as Tier 3.

</comment></comment></comment></comment></comment><comment><USER23> The author mentions Shenzhen IO. I found great value in that game. It's limitations force you to think about simpler, elegent solutions in ways we frequently don't have to today because storage and ram and CPU cycles are so abundant. I actually feel it's helped me seen simpler, more easily maintained options in my work.

<comment><USER24> They truly do entice you to find more elegant solutions. One thing they show in the post-mission report is your solution's code line count, energy use, and component cost versus others in a graph. I didn't consider myself "finished" on a puzzle until I had figured out how people got to that super-optimal solution which sometimes took multiples of the amount of time of the original solution but damn was it ever satisfying.

</comment></comment><comment><USER25> If you like the look of Factorio but are (like me) intimidated by the open- endedness of it, check out the puzzle games by Zachtronics, the developer of Shenzhen I/O. Because they're divided into small levels that teach you how to play, they are much more accessible than Factorio, which requires dozens of hours to get good.

Infinifactory and Opus Magnum are the easiest ones to get into. All are great.

[http://www.zachtronics.com/](http://www.zachtronics.com/)

<comment><USER26> Opus Magnum gets my vote for "best introductory Zachtronics game" \- very polished, simple concept, and you can almost always brute force problems rather than be super precise so there are no real "puzzle of death" moments where you just can't figure something out.

Many of the other games build to a level of difficulty that I find drives people away around the mid-point. There's some significant mental leap you need to make, or you need to cram things into an impossibly small space, etc. Opus Magnum is a lot more forgiving in that sense.

<comment><USER27> I've only played Opus Magnum and Infinifactory, and my experience is that the "programming" and "debugging" environment is far superior in Opus Magnum.

Just sitting back and watching your builds run in Opus Magnum is far more satisfying. And it has an interesting solitaire game, too.

</comment></comment></comment><comment><USER28> Anyone played "human resource machine"? It's a bit more like solving leetcode challenges then actual work. More puzzle oriented.

<comment><USER29> I read about it a couple of months ago (it was featured in one of those App Store articles, I think), but then I promptly forgot about it. Have you tried it? Would you recommend it to people who already know how to code?

Edit: now I think it might've been _7 Billion Humans_ , by the same company

<comment><USER7> I've 100%ed both; they are good with a mildly-dark sense of humor. HRM feels like assembly on a very dumb chunk of silicon. 7BH feels like a very dumb GPGPU language.

</comment></comment></comment><comment><USER30> I've played factorio for years and more recently just focused mainly on speed runs for launching rocket. While there is some analogy between factory design and software design, I wouldn't read too much into it. The biggest lesson from either side is likely modular components that you can connect together quickly with automation tools to make it quick to build. If you incorporate anti bug (literal bugs in factorio) into your designs with automated repair then you almost never have to worry about bugs. Don't have lots of dependencies, build isolated services to focus on certain things. Have a high speed bus for different services to communicate over. Keep comms efficient and direct as possible. Build with scaling in mind. If you need something quick, build in an optimal way without considering scaling beyond your goal.

</comment><comment><USER31> I've spent so much time in Factorio, I'm sure I'll fire it up again at some point soon now that it's finally hit 1.0. I mean in my opinion it was "done" years ago in that it was a good game, the only thing that might improve it would be a better tutorial, story mode, or more 'endgame' things to reach for (I'd love a technology tree beyond satellites, I'm sure there's mods for that), and / or for the early game to be less tedious; maybe offer an option to have a starter base laid out already, needing some basic repairs. Or as I've seen in the trailer released recently, the crashed ship; have that act as an early game processing plant and source of materials and electricity which you can eventually deconstruct once you've got everything up and running.

<comment><USER32> What happens to me is that I find 45 minutes to play a game after I put the kids to sleep, so I fire it up, wait 30 minutes for the latest update to patch since I haven't played in 6 months, then realize I'm tired and go to bed.

Play now. Kids ruin gaming. I'm hopeful that soon they'll be old enough to play with me. ...I wonder what game is good to play co-op between a 40 and a 6 year old?

<comment><USER33> > I wonder what game is good to play co-op between a 40 and a 6 year old?

You could try factorio. It has trains, tanks, bugs to shoot.

<comment><USER9> I remember reading a post on r/factorio where someone played factorio with their toddler. The toddler had researched like ten things without making a single assembly machine.

</comment></comment></comment></comment><comment><USER34> Relevant Vice article: Why Do We Play Video Games That Feel Like Work?

[https://www.vice.com/en_us/article/4x38aq/why-do-we-play- vid...](https://www.vice.com/en_us/article/4x38aq/why-do-we-play-video-games- that-simulate-work)

<comment><USER35> EvE online taught me Excel, and Arbitrage.

I used the excel to get into a job as a developer helping an actuary, and the arbitrage to do market trading.

</comment></comment><comment><USER36> Apart from SHENZHEN, most other games from Zachtronics are great about teaching programming.

I can recommend spacechem, which looks simple at first glance, but is all about threads,multiprocessing, mutexes etc.

Silicon Zeroes is also another great game for developers.

</comment><comment><USER37> This is a great article! It's surprising how much tech debt pops up in games like these.

Another game much like this is Satisfactory, which is basically the 3D version of Factorio. I actually wrote a very similar article about it here, though more focused on architecture instead of process: [https://medium.com/@wotamRobin/what-satisfactory-and- website...](https://medium.com/@wotamRobin/what-satisfactory-and-website- architecture-have-in-common-a6c8f8eede2e)

</comment><comment><USER38> That's a well-reasoned and well-written comparison; I'm going to direct people to it rather than trying to explain it myself.

There are a few other Zachtronics games that you might like too!

</comment><comment><USER39> If you like Factorio, you should also try "Human Resource Machine" by Tomorrow Corporation ([https://tomorrowcorporation.com/humanresourcemachine](https://tomorrowcorporation.com/humanresourcemachine)). I am not in any way affiliated with them, but I enjoyed it a lot, so would highly recommend.

<comment><USER40> And if you like it, then the sequel "7 Billion Humans" ([https://tomorrowcorporation.com/7billionhumans](https://tomorrowcorporation.com/7billionhumans)) is fantastic, as it expands on the concept with parallelisation!

I really enjoy playing them both every now and then. I found them to work really well on my Nintendo Switch, where I would just unplug the controllers and play them like a mobile game with the touch screen, as they are perfectly suited for that.

<comment><USER41> Do they work well with the Joycons (or Pro Controller)? Or is there a downside?

<comment><USER40> I just realised that I hadn't even tried it with the Joycons. I just went and tested and... it works, but to be honest, it's not great. You have to use them detached and you use the right one like a Wii mote, you point it at the screen and it creates a cursor/finger.

I would 100% recommend rather playing it in handheld and using touch screen after testing it out. Maybe you could get used to it, but personally I hate the "remote pointer" thing.

Unless I'm misunderstanding, but I couldn't get anything to happen in the game when I had the Joycons attached (I only play handheld) and only when I detached did it ask me to place the right one flat on a table to calibrate and then show me how to center the cursor.

</comment></comment></comment></comment><comment><USER42> As someone who's put a lot of hours in Factorio, I totally agree with the article! I kinda guessed what it was gonna say before reading it.

My coworkers and I played a lot of Factorio in the past and we always joked about it being like a programming job. I even had a trello board for the largest base I ever worked on (I never finished it)

<comment><USER43> May I ask - was your day [programming] job really boring? Otherwise, I don't get why a programmer would spend time on this game.

<comment><USER44> My main job is programming video games, not boring at all. Even for us Factorio is a perfect addiction. So much so our main game is a train tycoon version of factory automation.

<comment><USER43> Well, in your case, researching about competitors makes sense :)

</comment></comment></comment></comment><comment><USER45> When I started playing Factorio years ago I heard someone saying it closely resembled EE, in that items on the conveyor belts resembled electrical pulses and the belts themselves were wires. It's interesting to see those comparisons shift to software engineering

</comment><comment><USER46> If you want to see how Factorio is developed you can follow this guy in Twitch (one of the Factorio developers)

[https://m.twitch.tv/rseding91/profile](https://m.twitch.tv/rseding91/profile)

</comment><comment><USER47> My 11 year old started playing Factorio a week ago, and I knew it was a gateway drug to software development. I hope he keeps enjoying it and gets a career out of it, would be amazing! Especially the technical debt aspect.

<comment><USER48> I showed it to a friend last night, first thing he said, 'hey this looks a bit like programming'.

Me being a programmer only saw a 2D version of Minecraft (my initial opinion), and I thought I wouldn't like it too much. Been playing the demo non stop. will buy it later tonight... AFTER work... :+)

p.s. I hope it keep in development for a few years so I can play this with my (now too) little one too.

<comment><USER49> Factorio has been around in "open beta" for something like 4 years now (and I've been playing it for at least 3), so I suspect it'll be around a while longer.

However, even if the developers stopped updating the game, so long as the game runs on your PC, does it matter? We have people doing crazy things like effectively emulating DOS in Javascript so that you can run DOS programs in a browser window (see archive.org's DOS game section); somehow I don't think you need to worry about not being able to play it in a few years. It's all local by default, so you're not having to worry about someone taking the game servers offline either.

</comment></comment></comment><comment><USER50> > IMO, playing Factorio will not make you a better software engineer.

I'm of the opposite mind: Factorio helps reinforce good habits, and practice methodical planning and thinking about hacks, tradeoffs and technical debt.

</comment><comment><USER51> You forgot the most natural analogies to distributed stream processing and handling volume and velocity and how that differs between belts and drones, etc.

</comment><comment><USER52> I suppose, put succiently, you could say that Factorio is like all the things in software engineering that are not writing code.

<comment><USER38> It's everything except the typing!

<comment><USER53> _shudder_ and whatever version of 'agile' we're doing this month

<comment><USER38> Yes, luckily you can use whatever planning methodology you prefer. Graph paper and spreadsheets are frequently mentioned, as is doing the planning at work so that you have more time at home to actually build :)

</comment></comment></comment></comment><comment><USER46> In biology, if I remember correctly, you have anabolic and catabolic processes: anabolism constructs complex molecules from simpler ones, catabolism breaks down complex molecules into simpler ones. Both processes work together, with catabolism providing the energy for the anabolism.

</comment><comment><USER54> Heh I happened to also write up a blog post about development and Factorio last night! [https://blog.quigley.codes/dev-lessons-learned-from- factorio...](https://blog.quigley.codes/dev-lessons-learned-from-factorio/)

</comment><comment><USER55> I've you dig PC games that emulate some of the workflow typical of software development you should definitely checkout Zachtronics games. Almost every single game they've released is a tour de force.

</comment><comment><USER56> Nice thought. But if I'm going to sit in front of a screen, there's got to be money it.

<comment><USER57> So how does hackernews work for you?

<comment><USER56> Seriously? Keeping track of technology, reading other people's opinions and first-hand experience, feedback, leads on topical news, trends, developments. The list is endless.

</comment></comment></comment><comment><USER58> It teaches the importance of latency in design.</comment>


Intuit plans to buy Credit Karma for $7B - <AUTHOR> https://www.nytimes.com/2020/02/23/business/dealbook/credit-karma-intuit-deal.html <comment><USER2> Discussed yesterday on the original article: [https://news.ycombinator.com/item?id=22396937](https://news.ycombinator.com/item?id=22396937)

</comment><comment><USER3> Three words that explain Intuit's rationale: "Free tax returns".

They are stopping a potentially existential threat to Intuit's TurboTax cash cow.

[https://www.creditkarma.com/tax/](https://www.creditkarma.com/tax/)

<comment><USER4> TurboTax is 100% free for State and Fed for _many_ people (probably several tens of percent of the country), anyone with a simple tax return. I use it every year to file for free for both. They try and make money by selling you audit protection, trying to get you to put your refund on their debit card, etc.

I'm not seeing how this is much of an argument for them to buy CreditKarma.

The argument for them to buy it is they then get:

\- access to all of that credit report information

\- access to the savings account customers

\- the linked car and driver information

\- more free tax customers to try and upsell audit protection and to try and push returns on their debit card to

\- mortgage and other loan shopping data from everyone that's used the mortgage comparison

\- potentially as much as 13 years of weekly credit data on given individuals

etc.

<comment><USER5> TurboTax was sued for making it impossible to find their legally mandated free filing product. While many people qualified, they tricked most of them into paying for their paid product unnecessarily.

Just this year they were ordered to make that products slightly easier to find, but they can still do most of their tricks to direct people away from it.

Credit Karma is an existential threat because it makes free filing easy to find.

I suspect after this deal completes, the CK free file product will start having all the same dark patterns and TurboTax's free product.

<comment><USER4> >TurboTax was sued for making it impossible to find their legally mandated free filing product

And Googling "turbotax free" brings the page right up as the top ad return and as the first search result.

<comment><USER5> Now it does. That was part of the lawsuit. That before, when you googled [turbotax free], it took you to their paid product.

</comment></comment></comment></comment></comment><comment><USER6> If you have a startup with lots of users, but can't figure out how to monetize, I think a good plan is to develop an easy to use tax filing service and offer it for free to your users.

<comment><USER7> Honestly, this seems like what they did. Mint already seems to align with a lot of what CreditKarma does. The tax stuff was just a monetary incentive for Intuit to buy them out.

</comment></comment><comment><AUTHOR> My take on the article was that the combination of their tax data, the financial data from their prior acquisition of Mint , and with the tax+credit data that will come with this acquisition Intuit would have one of the highest quality financial profiles on most individuals. I am trying to think of any other financial entity that has such data and I am drawing a blank atm.

PS: I never used Credit Karma but had been considering it though I could never get past the 'if it is free, then you are the product'.

<comment><USER8> Credit Karma was/is pretty open about the way in which you are the product, though: they show you ads for credit cards and loans that you are likely to be approved for, based on your credit information which they already have.

</comment></comment><comment><USER9> welp, I'm gonna stop using Credit Karma now. Thanks a lot intuit

<comment><USER10> Yep. I deleted my account as soon as I heard the news yesterday. Thankfully you can delete your account online and don't have to email/call anyone.

<comment><USER11> are there any alternatives that are similar to creditkarma where i can really monitor my credit score

</comment></comment></comment><comment><USER12> This is terrible news for consumers and tax payers in the United States. I was considering filing this year with Credit Karma because it is free. TurboTax can offer a free filing all they like, but 1) it's very limited; 2) last I checked, state filing still cost money; and 3) they inundate you on every other page about paying for some level of filing.

Since the new tax laws went into effect, I've had to pay each year (on the order of thousands more, than what I had to pay during the Obama years). That plus having to pay to file (or having to learn all of the forms and do it myself) is quite the stab in the back for a middle-class consumer like myself.

</comment><comment><USER13> Of course the best solution would be bought out by the worst competitor...

</comment><comment><USER14> Well this is unfortunate, I wanted to use Credit Karma free tax software because I have TurboTax and their practices.

</comment><comment><USER15> I used Credit Karma tax this year and was pleasantly surprised to find how great and frictionless the experience was.

figures.

</comment><comment><USER16> Someone needs to start developing the next version of Credit Karma right now.

It is going to stagnate just like Mint. :(

</comment><comment><USER17> Is this another company that took over $800 million in VC and can't seem to figure out how to make money? And the founders and VCs get a big payout, Intuit gets a big data payout and all the losers that took credit karma at their word are SOL?

Sounds awesome. Pro tip... maybe startups should try starting conventional businesses that actually make money?

<comment><USER18> Why should startups take your advice? It sounds like they made money by not following it.

<comment><USER17> And they're selling out to intuit why?

<comment><USER19> Money is money.

Whether the money is coming from customers or from a larger company buying them out, the CEO of CK walks away with a ton of cash.

<comment><USER17> yay money.</comment></comment></comment></comment></comment>


Oregon Tried to Silence This Engineer's Research. Now Experts Say He Was Right - <AUTHOR> https://reason.com/2020/03/02/oregon-tried-to-silence-this-engineers-red-light-camera-research-now-experts-say-he-was-right-all-along/ <comment><USER2> Headline misleading, as it's not clear that his research had anything to do with being sued/etc for calling himself an engineer.</comment>


Help Name Our Website (Creation of StackOverflow 4/2008) - <AUTHOR> http://www.codinghorror.com/blog/2008/04/help-name-our-website.html

<comment><AUTHOR> Privatevoid.com came in second place... that one just sounds dirty to me.</comment>


Ask HN: What is the purpose of mobile applications? - <AUTHOR>
 Websites already provide a pretty good experience by advancements such as SPA, which is fast with smooth transitions between pages.
However, what problems do mobile apps solve? Why are they needed and are they needed really?
The only idea I came up with: speed. The apps are indeed faster and provide better user experience. However, the state of web development can provide almost the same experience. <comment><USER2> Looks like OP has drank the koolaid of the JS bootcamps. Mobile apps can outshine an SPA, and then there are things that JS webapps can only dream of. Want to interface with a IoT device over BTLE? Sorry native's the only way. Wanna do immersive AR experience in your app? Ditto, JS won't cut it. How about writing an simple app while following a11y guidelines? Even for simple list based apps, native can run circles around JS apps while using less power, and conserving battery without breaking sweat.

Mobile phones are like a Tesla Model S, and you don't want to tie it to a bullock and use it as a ox-cart.

<comment><USER3> No need to be condescending about it.

</comment></comment><comment><USER4> Mobile apps can use native controls. When there is an ecosystem of apps that use the same controls, it enables users to do more, because they can bring their knowledge from one app to another.

For example, with iOS UISlider, you can make fine or coarse adjustments by moving your thumb perpendicular to the slider direction. This works across all native apps. Users who learn about this feature become more capable in _every_ native app.

There's no mechanism to create this sort of shared knowledge on the web. The web developer culture emphasizes customization, and so no two web apps work consistently.

<comment><USER5> The other thing about native controls, is that as the UI toolkit evolves over time, your app stays up to date, without looking old and dated, stuck in an old paradigm of skeuomorphism or flat or material or metro or aqua or luna or etc.

There's also battery life and suspend. I expect a native app to minimize, close and kill, resume, and background when needed.

</comment></comment><comment><USER6> I also prefer mobile web apps in general (as did Steve Jobs originally: [https://www.google.com/amp/s/9to5mac.com/2011/10/21/jobs- ori...](https://www.google.com/amp/s/9to5mac.com/2011/10/21/jobs-original- vision-for-the-iphone-no-third-party-native-apps/amp/)) that said it's often much easier to create an app with good, consistent UX with the help of UIKit for example. I'm mostly doing backend work these days but whatever happened to "progressive web apps" by the way? Is the (react?) ecosystem still too fractured? Is it just too hard or is it everywhere and I just don't know about it? ;D

<comment><USER7> Expo.io is great for building webapps

</comment></comment><comment><USER8> For distributor of the app (app stores) - they can take a percentage of sales if the app is monetized.

For users of the app - As you mentioned, speed is an important factor. But we can also trust that the distributor has reviewed the app and confirmed that it's safe to use (theoretically at least).

One more point I would add - app stores provide a singular place for me to search, compare, and discover new apps that might be valuable to me.

</comment><comment><USER9> While some of the arguments in favour of mobile applications apply in many cases, I'd like to consider a specific recent example: The GitHub mobile app.

I have been using GitHub on mobile via its web application for years. It worked fine for the most part though some feature (such as pull requests) weren't as easily accessible on mobile as they are on desktop machines.

However, with the advent of their new mobile app, not only is its UX better when compared with the web app (e.g. when reviewing pull requests) but due to the banner notification reminding you to use the mobile app when accessing GitHub via the web app on mobile devices the UX of the web app to some extent even has decreased.

The thing is, there are no features within the GitHub mobile app that actually warrant having such an app. Everything the app does would have been possible on the web and with mobile browser APIs, too.

So, in that specific case the purpose of a mobile application perhaps mostly comes down to having such a mobile application, i.e. it's more about marketing and distribution channels than it is about technology or design requirements.

</comment><comment><USER10> You need to have a kid to get the answer to this question. My kid doesn't use browser ever - if there isn't an app it doesn't exist. What we "google" she "youtube's" \- who has time to read when you can watch a demo or a presentation...

<comment><USER11> It's funny because I often shirk video content under the assumption that I can skim for and find the information I'm looking for much faster in text and who has time to watch a whole video?

<comment><USER12> I scrup youtube videos, because in the wast majority of cases I only need to see a tiny bit of the content.

However I have saved endless amounts of time by watching youtube videos to learn a new cooking skill, or another physical skill - videos are so much better than text when it comes to that.

</comment></comment></comment><comment><USER13> >The apps are indeed faster and provide better user experience

This is a major reason. Another is access to the features of your mobile device, such as location, AR Engine, camera, push notifications, etc.

</comment><comment><USER14> One problem they solve quite well is being able to show ads while making it hard for end users to block them.

<comment><USER15> They are also good at getting clipboard data.

</comment></comment><comment><USER16> No. Website doesn't provide experience as good as native app. Many ordinary users can tell you this.

\- Privacy. A good intention mobile app, can be designed to work without Internet.

\- Internet. User doesn't have access to Internet all-the-time, but you still need certain app to work.

\- Fast. Web app can never be as fast as native app. It is not realistic to expect code which runs under an JavaScript interpreter layer, can be as fast as native (or almost native) code which is nearer to CPU layer.

</comment><comment><USER17> You get more access to the hardware. It appears that auto-focus isn't available via a webAPI for example.

</comment><comment><USER18> there are APIs available in native apps that you cannot access in an SPA. For example, jogging apps continue to track your run while running in the background, but this is impossible in a web browser.

</comment><comment><USER19> Speed yes, although much is thru the convenience of bypassing browser sandboxing/restrictions rather than reduced CPU utilization.

Revenue, monetization of PII and other user data is the primary purpose. That's why some sites are so aggressive about pushing them on you, to the point of making the web app substantially worse than it should be. Yelp and reddit, from the top of my mind.

Sure, there are apps that benefit from more direct hardware access (games, art?) but they are often able to charge a fee.

</comment><comment><USER20> > can provide almost the same experience.

Please, show me a complex web application that performs well (little perceptible UI latency) on a mid-range phone.

Edit: Or a fast SPA - I've never seen one.

<comment><USER21> [https://community.nodebb.org](https://community.nodebb.org)

We tried very hard to make it a fast SPA.

<comment><USER20> Counterexample acknowledged! This is indeed very fast.

</comment></comment></comment><comment><USER22> Mobile platforms are moving targets, the landscape changes constantly and the goal posts of what a SPA needs to acheive to compete with native apps keeps shifting. Raw performance is not the only metric. I think this discussion is also stale, despite 10 years of people telling us that web would kill mobile it hasn't happened yet, I don't see a reason one stack has to replace the other really, they can co-exist and compliment each other nicely.

</comment><comment><USER23> I would think web apps have the major advantages, and have for some time.

Seems to me the biggest draw one would be see how you can retain the people that are willing to go the extra mile to download your app. You must be solving a problem for them in a significant way. A web app is a quickie, it's useful or isn't. And besides the reasons why they are useful above, it helps you to fail /or/ scale faster.

</comment><comment><USER24> The major headache with web spas is the little things like scrolling showing the address bar then hiding a button slightly. I treat some sites as apps by using one icons, and that's ok but something that needs to behave like a fixed screen size kind of app doesn't work well. Why? Apple doesn't want it to? Why? 30% take on the AppStore is at stake!

</comment><comment><USER25> I'm sure part of this is consumer preference. We are 100% web at the moment and customers ask for an app all the time. Reasons they give:

\- They want native notifications, not email or SMS.

\- They perceive that web will be more difficult to log into.

\- The don't know how to install a website onto their phone like an app.

(For context, we are Bottomless.com, YC W19.)

<comment><USER26> Hey, I actually just founded a startup (still in stealth mode) that's trying to build better notifications and authentication for the mobile web. Our thesis is that this the primary gap between websites and apps, so we're trying to close it. I'd love to chat with you about this. If you have some time, shoot me an email at firstname.lastname@example.com.

</comment></comment><comment><USER27> Sometimes you want apps that are silo'd off and are not connected to the entire web. Mobile apps can provide users with a better experience since they are more locked down in terms of permissions

</comment><comment><USER28> Mobile apps are great, the only problem is: app stores. For this only reason, I will never write a mobile app again.

</comment><comment><USER12> Speed, better integration with the OS, less wasteage of RAM, native look and feel of the components.

</comment><comment><USER29> Apps are almost always a better experience.</comment>


Yelp Helps Kill the IPO Market - <AUTHOR> http://www.pehub.com/62156/yelp-helps-kill-ipo-market/

<comment><USER2> Hmm, this sounds as if it's markets routing around (†) Sarbanes Oxley. Some of the recent PE deals that have been going through are larger than dot-com era IPOs.

† <http://news.ycombinator.com/item?id=414520>

</comment><comment><USER3> That Grant-Thornton piece linked to in the article has an interesting perspective. For example:

"The market impact [to the advent of online brokerage firms], unforeseen as it may have been, was devastating. Stock spreads narrowed, and the economics to broker-dealers continued to erode"

In summary: Broker dealers were priced out and therefore no longer provide quality research and liquidity support for small stocks which include IPOs. Therefore, no IPOs.

The remedy? Bring back quotes in 1/8s so trading frictions can increase again and therefore, somehow, IPOs come back. Can we give their argument a fair shake somehow? It's not making sense to me.

</comment><comment><USER4> Killing an IPO market its more a healthy sign than a bad one.

IPOs were always a way for the finantial institutions to take profit from naive market investors. Historically IPOS have very bad results in average, and in the case they do get good results, they dont get to the average one-guy online investor but to institutions.

Finantial institutions involved in the IPO proceedings (getting your company fit to be a public company) can get up to 10% of your company : they dont invest money at all, they only help your accounting be public and legalities.

Of course, IPOs are widely advertised because the more people pay, the more money these institutions win. Of course, the institutions that used to do these are the ones that are in a terrible shape from the economic crisis.

Benjamins Grahams "Intelligent investor" says IPOS are "for suckers" :). The book that was written many decades ago even mentions these same financial institutions used to consider IPOs an unethical business because too many unskilled investors hoped too much of such operations.

</comment><comment><USER5> How does this help the VCs liquidate?; i.e. if the IPO market got killed in favor of such deals, wouldn't that discourage venture capitalists from making investments?

<comment><USER6> Why would a VC care if later rounds of funding came from an IPO or through Private Financing, as long as they were able to liquidate.

What I think is cute, is that with Second Market, Sharespost, and others, we're seeing "collectives" or "partnerships" raise money from the private investors, and then purchase private stock.

For all intents and purposes, these private companies will now have thousands (or tens of thousands) of investors, as represented by a few very large partnerships.

Unlike Google, these private companies won't exceed the 500 investor limit, won't have to go public, will allow employees to liquidate - and the only organization that is hurt will be the SOX auditors who don't get a new public company to audit.

</comment></comment><comment><USER7> There's a link right on the same page to "Glasshouse files for IPO:" <http://bit.ly/aR2G8R>

<comment><USER8> [http://www.pehub.com/62168/glasshouse-files- for-75-million-i...](http://www.pehub.com/62168/glasshouse-files- for-75-million- ipo/?utm_source=twitterfeed&utm_medium=twitter&utm_campaign=Feed:+pehub/news/all+\(PEHub+News\))

</comment></comment><comment><USER9> How do the PE companies get their return without an IPO?

</comment><comment><USER10> Small note:

Secondary investors such as Millennium Technology Ventures have plaid a role

Should be 'played a role'

<comment><USER11> 'Venture capitalists, though their own success in the run-up to the dotcom boom obviated the need for companies to turn to the public market for massive financing rounds.' through?

it doesn't look like the person reason their own article twice or did any sort of editing :(

<comment><USER12> "it doesn't look like the person reason their own article twice or did any sort of editing :(" reason?

I agree with you, the article does seems to show a lack of proofreading.</comment></comment></comment>


Dell XPS 17 - <AUTHOR> https://www.youtube.com/watch?v=72vjKOSwf3M <comment><AUTHOR> Vapor chamber cooling for both the CPU and GPU. I wonder how the performance will turn out to be.</comment>


I Obtained Satoshi's Treasure Keys 1, 2, and 3 in Minutes - <AUTHOR> https://gist.github.com/johncantrell97/bbab69bbde03d22eb8323fd94cd46db0 <comment><USER2> Some context: [https://bitcoinmagazine.com/articles/satoshis-treasure- the-c...](https://bitcoinmagazine.com/articles/satoshis-treasure-the-chase-is- on-for-a-1-million-bitcoin-prize/)

<comment><USER3> tl;dr - It has nothing to do with Satoshi's Bitcoin.

</comment></comment><comment><USER4> Odd that they don't sign a message with the wallet they say they are putting up for stakes.

<comment><USER5> Apparently finding the wallet will be one of the later clues.

<comment><USER4> To be clear, they can prove that they have access to the keys to a wallet that has the amount of bitcoin they say they have without giving any information out as to what the keys to the wallet actually are.

They haven't done that or even said what wallet the keys go to. I'd guess that this is a hoax.

</comment></comment></comment><comment><USER6> Pardon me if my question is dumb, but why did OP share this methodology? Could he not have continued with this for the rest of the keys once they are accessible? Don't you need all of the keys to get a million dollars, or am I missing something?

<comment><USER7> The later keys are expected to be harder, so if someone is able to get 400 of them total, it would be very surprising if they were stuck on one of these first three.

</comment></comment><comment><USER8> I know John Cantrell is a common name, but someone by that name solving this strange puzzle and that person having such a recent twitter and github origination date just raises a few hmmmmmms in my head.

</comment><comment><USER9> Where was the QR code?

</comment><comment><USER10> Ah yes when the Nakamoto Scheme (name courtesy of [https://prestonbyrne.com/2017/12/08/bitcoin_ponzi/](https://prestonbyrne.com/2017/12/08/bitcoin_ponzi/) ) begins to run out of steam, of course those with stakes need to do something to get the scam back on track. And HN fell for it, hook line and sinker.

The Washington Post had it right in 2015 even though they didn't even use the neologism "hodl":

> \- Hey, do you want to hear about the future? It's a digital currency called > Bitcoin that lets you spend or move your money online without paying any > fees. - Sounds great. How does it do that? - Well, Bitcoin saves you money > by making transactions irreversible. - So ... if I get scammed, I got > scammed? There's nothing I can do about it? - Yes. - Okay, but is it at > least easy to use? - The thing is, I don't actually use it. I just hoard it. > I'm waiting for some greater fools to push up the price by using theirs. - > Oh. - Yeah. So you should buy some Bitcoins and use yours.

<comment><USER11> My immediate reaction to satoshis treasure hunt is that it feels like a scam. Is drumming up more interest in bitcoin enough of a goal?

I don't buy that someone spent a million dollars (plus invested time to make the game) for fun with no way to make money back.

<comment><USER12> > Is drumming up more interest in bitcoin enough of a goal?

If you have many millions of dollars in bitcoin, or are a consortium that does, how do you remove any sizable chunk of that money without tanking the market? One way might be to get people interested, and wanting to buy bitcoins, which allows bitcoins to be liquidated easier without affecting the market.

Does this accomplish that, and how large does the amount of money that needs to be moved need to be before wasting one million worth of it to manipulate the market with no guaranteed payout becomes worth it? I have no idea. It's a fun story though, and ultimately, that's what bitcoin is best at. Providing interesting stories.

<comment><USER13> Bitcoin has a $12 billion volume in just the last 24 hours. You will need to sell off quite a few million very quickly to have any significant impact on the market, even when considering the fact that much of it is being wash traded.

<comment><USER14> > Bitcoin has a $12 billion volume in just the last 24 hours.

According to whose numbers?

[https://www.wsj.com/articles/most-bitcoin-trading-faked- by-u...](https://www.wsj.com/articles/most-bitcoin-trading-faked-by- unregulated-exchanges-study-finds-11553259600)</comment></comment></comment></comment></comment>


How to be Charming - <AUTHOR> http://briankim.net/blog/2006/08/how-to-be-charming/ <comment><USER2> Cheesy?: Yes

Useful?: Yeah

Should more programmers learn these fluffy skills?: Too obvious to answer ;)

</comment><comment><USER3> Many charming guys are here at YC too IMHO.

</comment><comment><USER4> Shmooze lessons for Hackers :-) love it!</comment>


Urine in Portland reservoir: How dangerous is pee in drinking water? - <AUTHOR> http://www.slate.com/blogs/the_slatest/2014/04/17/urine_in_portland_reservoir_how_dangerous_is_pee_in_drinking_water.html <comment><USER2> If this is an open-air reservoir, chances are all sorts of animals have done all sorts of nasty things in it already - the only difference is that this kid got caught.

With an open-air water reservoir, I'd be much more concerned about things like Dracunculiasis (Guinea worm)[0] than urine. Thankfully, the Guinea worm poses a low risk to the US due to how easy it is to prevent[1], but it's a problem elsewhere in the world.

Dracunculiasis only occurs in four countries (and the US is not one), but the reason it spreads/persists there is due to improper practices regarding drinking water.

[0] [https://en.wikipedia.org/wiki/Dracunculiasis](https://en.wikipedia.org/wiki/Dracunculiasis)

[1] [https://en.wikipedia.org/wiki/Dracunculiasis#Cause](https://en.wikipedia.org/wiki/Dracunculiasis#Cause) \- each generation of worms needs a human host, so even if a single water supply were contaminated, it would not be able to reproduce again unless the water supply were re-contaminated.

<comment><USER3> Portland has open air reservoirs in Mt. Tabor and Washington Park. They're both fenced off, but I do know that dead animals have been found in the Washington Park reservoirs before. what was surprising to me is that this is the first time I realized that the water in these reservoirs has already been processed. I always assumed that they held pre-processed water.

Oh well, at least it isn't as bad as when sewage overflows get released into the Willamette River every few years.

<comment><USER4> >>what was surprising to me is that this is the first time I realized that the water in these reservoirs has already been processed

I don't believe this. If that was true the entire city would face massive health issues. What is your source of the info?

<comment><USER5> >I don't believe this. If that was true the entire city would face massive health issues. What is your source of the info?

The city of Portland says so:

[http://www.portlandoregon.gov/WATER/article/330807](http://www.portlandoregon.gov/WATER/article/330807)

 _A finished drinking water reservoir contains water that has been through all the treatment steps required by the federal Safe Drinking Water Act and can be delivered to the public without further treatment. Five of Portland's finished drinking water reservoirs are uncovered. Three are located at Mount Tabor Park and two are located in Washington Park._

The Mount Tabor reservoir was the one in question.

<comment><USER6> That sounds like an altogether terrible idea. All it would take is several birds to fly over the water and it'll have fish in it. And then they'll go to the restroom and so on. :/

</comment></comment></comment></comment></comment><comment><USER7> Apparently the water commissioner is running for re-election, so dumping 38m gallons of water seems safer than behaving like an adult and explaining the actual risk factor (virtually zero).

This epitomizes the flawed nature of our political system. I really think that we have far too many elected officials and not enough commissioned ones (EDIT: I should have said appointed) who can be fired or otherwise held accountable. As I age I'm more and more inclined towards technocratic government.

<comment><USER8> "water commissioner" is an elected office? Who knew

<comment><USER9> Sarcasm? Can't tell.

If it is, then it's ill-placed. A commissioner is someone who is granted a commission and is _appointed._

<comment><USER10> That's not true. There are many elected positions with the title of commissioner. For example, Port commissioner, County commissioner, or a PUD commissioner.

</comment></comment></comment></comment><comment><USER11> Wait, is this reservoir one of the large, open, lake-like ones? If so, aren't they already susceptible to tons of other stuff naturally getting in there, like dirt and bird shit?

What did everyone expect, that the water would just naturally stay clean?

</comment><comment><USER12> We regulate by concentration, but the danger would be in the amount of nitrates consumed. I don't think it would be dangerous for a single individual to drink the entirety of someone's (type 1) restroom visit, unless there were blood in it.

edit:

I forgot that urea is what dominoes are made of.

The internet is too big: [http://www.inchem.org/documents/jecfa/jecmono/v32je16.htm](http://www.inchem.org/documents/jecfa/jecmono/v32je16.htm)

"Four healthy male human subjects received an oral dose of 15 grams urea (approx.250 mg/kg bw), blood urea rose from 30 mg/100 ml (mean level prior to treatment) to a mean level of 42 mg/100 ml (range: 40-46) within 15 to 60 minutes. The increased blood urea levels returned to normal after 3 hours. Fifteen patients with renal impairment, after similar oral treatment with 15 g urea, showed a rise in blood urea from 50 mg/100 ml (mean level prior to treatment; range: 26-220) to a mean level of 75 mg/100 ml (range: 38-299). The increased blood urea levels returned to the levels observed prior to treatment after more than 4 hours (Archer & Robb, 1925)."

So 15 _grams_ wouldn't be enough to poison a single person with kidney impairment.

funnier:

"Since urea is a natural end-product of amino acid metabolism in humans, and that approximately 20 grams/day is excreted in the urine in adults (proportionately less in children) the Committee concluded that the use of urea at levels of up to 3% in chewing-gum was of no toxicological concern."

</comment><comment><USER13> The people who stand to profit from building underground tanks have been pushing hard on this one for a while. Locally there is this movement in response [http://peopleswatertrust.org/](http://peopleswatertrust.org/)

<comment><USER14> Pushing for what? Pee in the drinking water?

<comment><USER15> Pushing for a privately-controlled water bureau.

</comment></comment></comment><comment><USER16> Good analysis in the article. Along another line of thought, let's hope its not especially dangerous, as many animals and birds regularly deposit waste in the reservoir. Our first instincts maybe 'eww, icky' but the system is designed to handle it. On the other hand, maybe he was a homeopathic terrorist.

</comment><comment><USER17> Utah relies on mountain reservoirs, some of which you're not supposed to swim in. That said, some people do. Our water is great. This is beyond silly.

<comment><USER18> Not to mention that most of our reservoirs are clogged full of motorboats all summer...

(another Utahan here opposed to silly regulations like no dogs in the Cottonwoods when ski areas dump all sorts of petroleum products, animals and backcountry users are everywhere doing all sorts of things)

<comment><USER6> Not electric boats? I've heard of electric boats being allowed in reservoirs, but not gas-powered ones.

<comment><USER19> An electric boat would still presumably run a motor.

<comment><USER6> Yes, but there's no oil or gas to trickle into the reservoir. I wanted clarification because the colloquial term for mechanically powered boats is 'motorboat'.

</comment></comment></comment></comment></comment><comment><USER20> I mean, he's for sure not the first one to pee in there, he just got spotted :)

</comment><comment><USER21> Oh come on. This is stupid. Drain the whole reservoir! The city of Portland should also consider animal & ground waste run off.

Geez. Those folks should come down to lovely Pacifica in SF where about 4 major drain pipes sit facing the beach next to a creek flowing into the ocean while about 100 surfers catch waves every weekend.. me included :P

We should be more concerned about human consumption of drugs which end up passed by the body and into our toilets.. probably ending up someplace in Pacifica into the ocean. Ok I think I just gave myself a reason to stop going there. lol

</comment><comment><USER22> Still, where did society go wrong with the knucklehead who peed in the water reservoir? What causes anyone to commit such an unwarranted antisocial gesture? Is it disdain for fellow people? Disdain for the city? That's the same kind of guy that slashes public transit upholstery and smashes public restrooms - potentially dangerous to other people, and surely poisonous to society as a whole.

<comment><USER14> The same kind of guy that would ban flourine no doubt. Oh wait no that's a different kind of anti-social.

<comment><USER23> You probably meant fluoride. You don't really want fluorine in your water.

<comment><USER14> Good catch. :D

</comment></comment></comment></comment><comment><USER24> Isn't Portland in a drought right now? I know California and Washington don't have a typical snow pack in the mountains this year so I assume the same is true of Portland. Considering conditions this year, doesn't this seem like a poor decision?

</comment><comment><USER25> This is almost as horrendous as someone adding fluoride to Portland's water supply!

</comment><comment><USER26> I think the trial-by-media may have been far more dangerous than any health effects

</comment><comment><USER27> What if he had a disease?

<comment><USER7> What if he did? The water is already chlorinated, urine is sterile thanks to the way kidneys work, and the concentration is still on the order of billions to 1. If you want something to worry about, worry about bird poop and animal carcasses - if chlorination is good enough to deal with those, it's good enough to deal with some sick guy's water.

<comment><USER27> Ah right, forgot about chlorination. Then yeah I agree it's silly. I knew it would be diluted but I wasn't sure if the disease would multiply in the water. I guess it needs a host's nutrients to feed on. EDIT: or not? maxerickson below cites an example.

And yes the thought of drinking bird poop is disconcerting. Does this reservoir hit some sort of treatment plant or other sort of filter before hitting Portland's faucets?</comment></comment></comment>


High Temperature and High Humidity Reduce the Transmission of Covid-19 - <AUTHOR> https://papers.ssrn.com/sol3/papers.cfm?abstract_id=3551767&fbclid=IwAR1RZbmREE61GcMMDSJTj9McLJ3tgWhe7xRHTVLzpolGhlhizx0p9yy9ros <comment><USER2> There were previous reports suggesting that this could not be the case, is this an updated findings and should we really count on it?</comment>