How I Write SQL, Part 1: Naming Conventions (2014) - <AUTHOR> https://launchbylunch.com/posts/2014/Feb/16/sql-naming-conventions/ <comment><USER2> I personally prefer _person_id_ to be the primary key name (instead of _id_ ) in both the person table and any table which has it as a foreign key. One reason is for join syntax:

        select * from person join team_member using (person_id)

The other reason is _person_id_ now unambiguously refers to the same field regardless if we're looking at the PK or a FK. It's always _person_id_.

<comment><USER3> I use T-SQL, and this is actually why I always join with the table name:

SELECT * FROM Person JOIN TeamMember on PersonId = Person.Id

<comment><USER4> I'd bring it a little further and would write:

SELECT * FROM Person as P INNER JOIN TeamMember as TM on TM.PersonId = P.Id

I have:

\- Aliased each table and prefixed every field names with their table alias in my join conditions.

\- Explicited the JOIN type.

The above:

\- Reduces mistakes due to ambiguities that tend to generate unwanted duplicates rows in SQL.

\- Increases the likelihood of getting an error at parse time, instead of run- time or analysis-time, thanks to added scoping.

\- Works in any schema, no matter what naming conventions are followed.

\- Keeps working as the query becomes more complex with multiples table aliases or self-joins, and similar field names appearing in the set.

\- Better expresses intent. Sure JOIN defaults to INNER JOIN, but writing "INNER JOIN" shows that you genuinely expect any row not matching your condition to be removed from the result set.

<comment><USER5> As a newbie, this makes more sense to me:

      SELECT * FROM person, team WHERE person.team_id=team.id

(no unnecessary aliasing, no weird JOIN phrasing)

<comment><USER4> I can understand not using aliasing in a simple query, but I'd recommend against using these non-ANSI joins (deprecated syntax). What you're writing can be interpreted as either:

SELECT * from person CROSS JOIN Team WHERE person.team_id=team.id

SELECT * from person INNER JOIN Team ON person.team_id=team.id

That they happen produce the same result in a query is practically just luck. Changing the join from INNER to LEFT OUTER is also much easier than managing (+)'s in the WHERE clause, once you're used to it.

<comment><USER6> This is good advice, IMO. You _will_ have to use left/right joins at some point, and having the join type at the join location is useful, but having the join conditions at the join location is _immensely_ useful.

It's harder to see in your example, likely because you tried to keep it similar to the example presented, but once there's more than a couple joins, having the join conditions close to the join is essential for keeping track of what's going on. e.g.

      SELECT * FROM person, team, role, group, person AS lead
      WHERE person.team_id=team.id
        AND person.role_id=role.id
        AND person.group_id=group.id
        AND group.lead_id=lead.id

Compared to:

      SELECT * from person
        INNER JOIN team ON person.team.id=team.id
        INNER JOIN role ON person.role_id=role.id
        INNER JOIN group ON person.group_id=group.id
        INNER JOIN person AS lead ON group.lead_id=lead.id

And let's be clear, we know these should be left joins, because the chance some person doesn't have a team, role, group, or a group ends up without a lead is high when sampled over time. And simulating left joins with the non- ANSI joins quickly gets unwieldy.

</comment></comment></comment></comment></comment></comment><comment><USER7> Joe Celko, as well as ISO-11179, tell us to use collective names ("personnel") or plural names ("employees") for tables

As well, fewer keywords are plural, compared to singular, so there's less chance of accidentally using a keyword if you use plurals

Haven't yet seen an "octopus" table in production...

<comment><USER8> I did a Google search for elaboration on this and apparently there is disagreement that ISO-11179 says this at all:

[https://social.msdn.microsoft.com/Forums/vstudio/en- US/d5f2f...](https://social.msdn.microsoft.com/Forums/vstudio/en- US/d5f2faf3-3c85-413d-bc09-ce1d477b31e8/iso-111795-and-table- names?forum=transactsql)

> _Yes, this is the same version as I found, but the closest thing I could > find to addressing table names in the paper itself was an "Object Class > name", something like an OOP Class or something you'd find in a UML diagram, > but not really the same as a table name, and in any case all the examples > were singular._

> _Was actually kinda hoping Celko would deign to comment on this himself as > he seems to be the chief proponent of the "collective identifiers as > specified by ISO 11179" meme._

<comment><USER7> "To remind users that tables are sets of entities, ISO-11179 Standard likes to use collective or plural nouns that describe the set of those entities for the names of tables. Thus 'Employee' is a bad name because it is singular"

Page 10, SQL For Smarties (Celko), 5th Ed

If Celko says it's right, it's right

<comment><USER8> OK, but the ISO-11179 Standard doesn't seem to actually say that. Here's a purported copy of Part 5 -- Naming and identification principles -- of the standard (as linked to from the aforementioned MSDN forum thread:

[https://www.ftb.ca.gov/aboutFTB/Projects/ITSP/Part_5_Naming_...](https://www.ftb.ca.gov/aboutFTB/Projects/ITSP/Part_5_Naming_Principals.pdf)

The word "collective" doesn't show up in the document.

The word "plural" shows up twice, both times in item #a of "Lexical rules":

> _a) Nouns are used in singular form only. Verbs (if any) are in the present > tense._

> _NOTE In Japanese, this rule shall not be applied because of no plural form > of nouns and no distinction of verb tense._

The only reference on Wikipedia to the ISO 11179 standard making that recommendation has since been deleted for being unsubstantiated:

[https://en.wikipedia.org/w/index.php?title=Data_element_name...](https://en.wikipedia.org/w/index.php?title=Data_element_name&type=revision&diff=677768128&oldid=544105362)

edit: The apparently inaccurate content is talked about on the "Data element name" Talk page: [https://en.wikipedia.org/wiki/Talk:Data_element_name](https://en.wikipedia.org/wiki/Talk:Data_element_name)

</comment></comment></comment></comment><comment><USER9> Also important is adapting to the existing naming conventions of the database, even if you don't like it. (Unless the existing naming conventions cause more trouble that its worth like requiring quoted identifiers or redundant prefixes/suffixes).

<comment><USER10> I agree, consistency is worth a lot more than using a slightly better convention. It would also create surprises in the sense of "principle of least surprise" which is in general a good guideline while designing APIs schemas and so on.

</comment></comment><comment><USER11> For naming stored procedures, there were a lot of helpful answers to my question "What is your naming convention for stored procedures?" on StackOverflow a few years ago. [https://stackoverflow.com/questions/238267/what-is-your- nami...](https://stackoverflow.com/questions/238267/what-is-your-naming- convention-for-stored-procedures)

</comment><comment><USER12> Without a rigorous attempt at justifying each of these rules, I don't find this article particularly useful. For example, can someone link to or provide a formal explanation for why table names should be singular? I actually really wanted to read the full relational algebra rational for that one.

<comment><USER13> My own view is they should either be all plural or all singular. Just pick one. But I do gravitate to singular because all nouns have naturally consistent singular words. The same cannot be said of plural. e.g. Moose, Cactus, and any other word that ends in an 's'.

<comment><USER14> I used to do all plural but then I read a good argument online for doing singular so I switched to that for the next project and I've done singular ever since.

The few advantages of singular:

1\. It's not always clear what the plural of something should be.

2\. Chances are the singular maps better to your application layer (Person class <=> Person table).

</comment></comment></comment><comment><USER15> I know a reasonable amount of SQL but am by no means a database guru. Naturally, this makes me the local database expert at my current place of employment :/

The other devs' eyes glaze over when I say things like 'stored procedures' and 'trigger functions.' Bah.

</comment><comment><USER14> I don't understand this one:

> Mixed case identifier names means that every usage of the identifier will > need to be quoted in double quotes

I've used quite a few RDBMS engines, including most mentioned by the author, and I've never had to quote mixed-case identifier names. They work just the same as all lower-cased names or as any other case-sensitive language.

Most of the programming languages I use typically have the convention of using PascalCase for classes and public fields/properties so I prefer to use that convention for tables and columns (and then everything else for consistency). When doing operations between the application and the database, the name is exactly the same without the need for translation.

Otherwise, I think it's a good list.

<comment><USER16> If you are not quoting your mixed-case identifiers, then they are not mixed- case. They are being implicitly converted to either lowercase or uppercase depending on your database, and your capitalization is lost. It normally doesn't matter, until you are introspecting your database schema, at which point your code generation generates a Organizationrole protobuf message instead of an OrganizationRole, or your ORM fails to find OrganizationRole because PostgreSQL stored it as organizationrole.

<comment><USER14> This seems like a terrible feature of Postgres and Oracle (which apparently works the same but oppositely). All other database engines I've used have retained the case of unquoted identifiers.

I haven't used Postgres enough to notice this, it's almost a deal breaker.

I might be tempted to mandate that all identifiers be quoted than deal with half the possible characters for names. Although more likely all code- generation would happen on the application side with DB migrations so the database wouldn't the source of truth for identifier names, anyway.

</comment></comment></comment><comment><USER17> How come I have _never_ in a multi decade career come across "i18n".

I though the canonical way of doing this was to write KEYWORDS in caps and use camel case for Variables.

Also never really brought into adding the type as part of a name - your type is already defined in your schema.

<comment><USER18> Really? I have. In some circles (e.g., the IETF), i18n is an ancient acronym. People who've worked on operating systems (e.g., OS X, Solaris, RHEL, whatever) have to deal with L10N (localization). G11N (globalization) is I18N + L10N.

And then there's a11y: accessibility. This is all about making user interfaces accessible for people with low or no vision, low or no hearing, difficulty typing, and so on.

There are generally applicable laws requiring G11N and A11Y, and these fall heavily on OS vendors, which is why people who've worked on OSes tend to know these acronyms.

I18N -> dealing with Unicode in general, codeset conversions, font issues, ...

L10N -> dealing with translating system/application messages to the users' preferred languages (and how to even know they preferences) (think locales)

G11N -> I18N and L10N.

Localization is damned difficult. There's all sort of little bothersome things, like how to format numbers (which varies quite a lot) and dates (can't we all just use ISO-8601?!). And translating printf-like format strings is often non-trivial, especially when the coder doesn't stop to think about just how hard they might be to a translator as they write their code.

<comment><USER19> V10N --> Velociraptor

T15X --> Tyrannosaurus Rex

D11S --> Dilophosaurus

B11S --> Brachiosaurus

T9S --> Triceratops

S9S --> Stegosaurus

<comment><USER10> V10R you mean.

<comment><USER19> Of course

</comment></comment></comment></comment></comment><comment><USER20> Lot of these is debatable. For example, I have preferred FirstName or even "[First Name]" instead of first_name in sql because lot of tooling uses these names to generate UX. Similarly using Person.PersonID instead of Person.ID gives consistency in diagrams and foreign key naming. I have used both approaches with its own pro and cons.

<comment><USER21> > Similarly using Person.PersonID instead of Person.ID gives consistency in > diagrams and foreign key naming.

I assume you mean you just use PersonID as the foreign key. This oftentimes introduces ambiguity into what the relationship actually is. I prefer names that describe the actual relationship (e.g. author, owner, approver, etc) rather than letting other people guess what it is.

<comment><USER22> I usually want to reserve the noun like "author" as the embedded record after a join. That way "author_id" is always the key and then "author" is the json_agg joined object that embeds the whole record.

Otherwise you're actually introducing ambiguity imo.

</comment></comment></comment><comment><USER23> You should follow the conventions that make life easier in the rest of your tooling.

The fact is, you're probably going to be issuing more SQL via abstractions like ORMs or querying libraries than raw SQL. If you need to work against the grain of those libraries to map your model, what upside are you getting?

If most of your data is queried via ActiveRecord, for example, you should use plural table names.

<comment><USER24> It is true that most of my SQL goes through ORMs. However my most complicated SQL is always constructed by hand. Furthermore note the point about how often applications get rewritten against the same database. You should not assume that future code will use the same ORM that you are using now.

<comment><USER25> It depends on the situation. If the queries you're writing deal are heavily integrated with application models and logic, then using the ORM is probably the way to go (especially with the ORM does some client side caching and other optimizations). Of course, if you start to see that the ORM's queries underperform compared to raw SQL then you should check to see what SQL the ORM is spitting out. I've seen SQLAlchemy create some very poor queries compared to what would be expected and ended up writing parts of those queries in raw SQL, but those cases are pretty uncommon when most of the logic for the application is simple gets/updates with filter/join conditions.

<comment><USER24> It does depend on the situation.

My experience has been that transactional code is usually best written with an ORM, and complex reporting code winds up better with SQL.

</comment></comment></comment></comment><comment><USER26> > Avoid reserved words

Glad you cleared this up for the rest of us.

FWIW, naming conventions are like opinions. Everyone has them, and they usually differ from person to person. The best naming convention is a consistent naming convention. Also, naming conventions differ greatly by environment. A group of SQL Server engineers are going to have different standards than those of people working on mysql.

</comment><comment><USER27> No. That's how you write sql within your organization. Also there are syntactic differences between SQL flavors ( postgres, mysql, mssql, oracle, etc ) that make a SQL standard unrealistic.

The only generic rule is "be consistent". Whatever convention/style you choose, it should be consistent.</comment>


The Power of Multiple Custom Variables in Google Analytics - <AUTHOR> http://analytics.blogspot.com/2010/06/power-of-multiple-custom-variables.html

<comment><USER2> Custom variables are also useful for doing A/B testing, you could use the same method used here to set a couple of values and then you can measure goal conversion grouped by the value of the custom variables.</comment>


Machu Picchu: Ancient Incan sanctuary intentionally built on faults - <AUTHOR> https://www.sciencedaily.com/releases/2019/09/190923140814.htm <comment><USER2> Misleading title - the builders did not "intentionally" locate the fault sites, then built Macchu Picchu there.

Rather, at fault sites, the geology is such that it is easier to build a city there.</comment>


Ask HN: Why are there so many more digital experts than analog experts? - <AUTHOR> Before I start, let me state that I am familiar with the notion that there is no such thing as "digital" electronics: everything, ultimately, is analog. I'm focusing on what I have observed in over 4 decades of segregation among engineers, but students and professionals.
Considering the typical dichotomy of circuit types: memory, ALUs, VPUs, state machines on the digital side, vs. sense amps, VCOs, filters, PLLs, linear control on the analog side. I worked at HP and Intel for a total of 32 years in both test equipment and CPU design. Digital designers outnumber analog designers by nearly 100:1. And the disciplines seemed unidirectional: analog designers could shift in and out of either role, but digital designers seemed pigeonholed.
At first, I just chalked this up to %age of silicon dedicated to each discipline. But when I think back over it, it was roughly equal across functionality (excluding large registers and memory arrays, which can be considered a single circuit).
Going back further, this was true in college in the 80's: digital electronics classes were "easy As" and analog circuits classes were dreaded.
On its face, I can see that an AND gate is far simpler to understand than an Op-Amp, but why did we end up in this place? Is it the abstractions? Or how things are taught?
What do you think, HN? Why such a big difference? <comment><USER2> Because digital is easier and more productive. Why code in assembly when you can code in C? Why code in C when you can code in Rust? Sure for edge cases analogue is still important. But the market for that is small. The true experts are hired and paid well by big corporations who don't go on FAANG type hiring-sprees for senior stuff every 6 months, new entrants need years of experience to reach their level versus just going with digital and working with some IoT startup for similar or better compensation (these days EEs often skip that entirely and just go straight into software engineering). How many RF experts (the epitome of an analogue specialist) do you think a company like Anki need versus generic EEs to build and iterate fast (akin to your usual startup code monkeys). The economy cares not for what's "elegant" or what's "efficient and beautiful". The invisible hands pushes towards what's productive and cheap. Mastering analogue requires a good intuition for physics and math and a ton of other interrelated subjects that doesn't pay well either like nanotechnology & material science. Digital is easy, just look at what people have built in Minecraft.

Ever wondered why so many people would learn React rather than build GUIs in C for embedded? Because the money is in the web. It's like Electron vs Native UIs. You can rant and rave about Electron's inefficiencies but that still doesn't change the fact a flashy UI like Material Design or yet another Stripe theme can be built faster and easier in web technologies than Gtk.

Look at the 3 editions of Art of Electronics. You can see a clear trend towards digital if you look at the technologies that gets removed and added in later editions.

<comment><AUTHOR> Yeah, I agree with you. I had a sneaking suspicion.

Funny you mention Electron: my company switched from Qt to Electron because it opens up a larger pool of developers with instant cross-platform portability with a fraction of the debug overhead.

</comment></comment><comment><USER3> Just about everything in analog was replaced by digital systems because it does it better, cheaper, faster, and smaller. There are a handful of places where analog design chops matter, but they aren't the majority of jobs (or even the best paying ones!)

</comment><comment><USER4> Who is Eric P. Dollard? You're welcome.</comment>


Learn About Computer Files That You Come Across in Your Daily Work - <AUTHOR> FileFormat.com is Developer's file format guide.  It explains how to use popular file extensions that we come across in in our routine work.  It gives comprehensive information, news, and discussions about popular file extensions.  File Format Wiki is a prominent repository containing detail explanations of file formats from application as well as developer's perspective. Visitors can find description as well as history of file formats with respect to their development phases and characteristics of files of particular formats in terms of specifications.  Users can easily search information about unfamiliar file types and find programs that can use & open it. <comment><USER2> Years ago, I remember once seeing a program that you could feed any file and it would detect the format and show you its structure, like a Wireshark for files. Anyone know of a program like that?</comment>


Google/proto-quic is a standalone library for QUIC - <AUTHOR> https://github.com/google/proto-quic <comment><USER2> Awesome, was hoping for something like this ever since reading up on QUIC. Looking forward to experimenting with it, TCP just hasn't kept up with today's internet and QUIC looks like a well designed replacement.

EDIT: My enthusiasm may have been a bit premature, the src/ directory is 325MB (!). Seems like it still has a lot of Chromium dependencies and isn't quite as standalone as something like libutp.

<comment><USER3> Lot of cross platforming stuff in there.

</comment></comment><comment><USER4> also checkout [https://devsisters.github.io/goquic/](https://devsisters.github.io/goquic/) if you want a sample project using go.

<comment><USER2> Looks like the go bindings are made from a separate libquic project at [https://github.com/devsisters/libquic](https://github.com/devsisters/libquic) which looks a lot more streamlined than the Google one at 14MB.

</comment></comment><comment><USER5> Looks like HTTP/3 will be here sooner than the last ice age between HTTP releases ;).

<comment><USER6> QUIC is replacement for TCP, not HTTP.

</comment></comment><comment><USER7> Looking forward to seeing nginx gain QUIC support one of these days

</comment><comment><USER8> Still lacking a scalable server implementation, though.</comment>


iPhone protected you from Facebook call scraping. Android, not so much - <AUTHOR> https://www.imore.com/iphone-protected-you-facebook-call-scraping-android-not-so-much <comment><USER2> There are two major philosophical differences between Google and Apple which led to this outcome.

The first is the difference in business model, i.e. advertising versus whole- product.

The second is that Google starts with a permissive ecosystem mindset and locks stuff down as they go along; Apple starts with a conservative mindset and opens stuff up as they go along. Neither approach is inherently better than the other—the competing platforms are converging towards equilibrium—but Apple's approach does prove to have the upper hand when it comes to consumer privacy.

<comment><USER2> The amusing thing is how much flack Apple received early on for their closed product approach.

It's arguable that Google traded heavily on the relative freedom of the Android platform, and sucked in a lot of early adopter / tinkerer types on the promise of openness. Kind of ironic that for most people, most of the time, the open source nature of Android is now barely a historical footnote.

<comment><USER3> > barely a historical footnote.

Certainly not for those tinkerer types. Often it's the tinkerer types who are concerned about privacy, and it's those types who install Copperhead OS or XPrivacy, which allows you to deny exactly this kind of thing. Not only that, but it'll let you block all those smaller ways of spying - like unique device IDs being phoned home to 6 different ad, analytics and crash handling services that the silly game you just installed uses.

It's hard for me to imagine using a phone on which I see ads, especially on YouTube, can't background apps like SSH clients, syncthing, even direct IMAP and SIP connections used to be a struggle for people on iOS (still may be?) or run app that Google/Apple have decided are evil piracy tools, like a manga reader or a torrent client manager and search tool. I have friends who even run emulators and use memory editors to cheat at mobile games regularly on their phones... very, very different models. Android is just a lot more flexible for a tinkerer to this day. All this is possible without exploits on most devices, allowed and accepted by many manufacturers.

There's this weird attitude on HN I see frequently where it seems like everything has to be "for the masses" for it to be of any value - tinkering by definition is not for the masses. Android devices probably shouldn't be for the masses, but for tinkerers, they really do pack a respectable punch in my opinion.

<comment><USER2> > _Certainly not for those tinkerer types._

Hence why I said most.

But even then I think you're still massively overstating it. 6-10 years ago nearly everyone in my circle of geeky friends and colleagues had a root-kitted Android (Cyanogenmod or similar) or a jailbroken iPhone. Today that number is exactly zero.

<comment><USER4> Thankfully we have traditional computers to tinker with, but I feel bad for people who don't have one and use iPad instead.

<comment><USER2> That's the myopia of a technologist.

I know many older people for whom an iPad is the first "computer" they've ever owned, and for them it's a lifeline to grandchildren and community. These are people who were never going to learn MacOS or Windows.

These people don't need your pity.

</comment></comment></comment></comment></comment></comment><comment><USER5> The app would have been trivially considered a malware if the same thing happened in Windows, where the app was traditionally allowed to access anything within the basic privilieges---just about anything. One can (rightly) blame Windows (and also Android) for allowing that, but more importantly, the Facebook app would have to be treated in the same way after all.

<comment><USER6> I believe this is something that regulation should address. Scooping up all this data should be a massive liability for companies. Depending on the severity of a hack or misuse of the data it should effectively bankrupt or significantly destroy profits of any company. But the OS should not completely prevent it.

There are a number of programs for power users on macOS that have stopped selling through the App Store or warn against limited functionality for apps bought through the store. There are also a lot of extremely useful apps for Android that work most effectively when your phone is rooted. Google's Safety Net has effectively made rooting a liability for all power users. When the OS provider is limiting what a user can do the device quickly devolves into an entertainment consumption device.

Bad actors should be treated as viruses and malware the same as they were before.

<comment><USER7> >Depending on the severity of a hack or misuse of the data it should effectively bankrupt or significantly destroy profits of any company.

counterpoint: equifax

<comment><USER6> Equifax is exactly the kind of company that should not exist after a breach of that kind

<comment><USER8> Equifax is exactly the kind of company that should have never existed, and should have never been allowed to exist.

The same with the Facebook app (+ Android permissions, because even Facebook can't do full evil without Google apparently). And it's going to be the same result. Nothing is going to change, neither company will suffer much, nobody is going to jail. So his counterpoint is valid.

</comment></comment></comment></comment></comment><comment><USER9> Now my paranoia about never using Facebook from my phone is retroactively justified.

<comment><USER10> If you use it from a browser, rather than the app, you are safe.

</comment></comment><comment><USER11> > More recent versions of Android should prevent this kind of data collection.

So the title made me think all Android are exposed to Facebook phone data scraping.

But considering how slow it is for Android devices to upgrade to the latest, it's probably still a sad state.

<comment><USER12> Get a pixel. I love mine, as an iPhone users for the past 6 years.

</comment></comment><comment><USER13> This updated piece by Android Police [1] provides some more pieces of information (see the bottom of the article for the updates):

\- The company [Facebook] reiterated that it wasn't saving the actual content of calls or SMS/MMS messages—something neither Ars Technica nor we claimed, but presumably other outlets did.

\- It's actually a part of Facebook Lite and Messenger (and users can opt out [...] respectively). Facebook considers the data collection opt-in since the apps in question directly ask if you'd like to upload that information during setup.

[1] [https://www.androidpolice.com/2018/03/25/facebook- gathering-...](https://www.androidpolice.com/2018/03/25/facebook-gathering- call-sms-mms-metadata-years-via-app/)

</comment><comment><USER14> LineageOS prevents this type of access. If an application needs access to your phone or your contacts, you need to explicitly permit it to do so during execution. if you want to do this more than once, you need to set it up in the security options for the application in the settings menu.

<comment><USER15> LineageOS goes a step further actually and feeds it junk data.

</comment></comment><comment><USER16> Are they seriously smart enough to collect this data but stupid enough to dump it in an archive copy?

<comment><USER17> The dump was originally to comply with EU law. If they miss out data they would be legally liable and would be in a very difficult position in Europe.

</comment></comment><comment><USER18> While this may be true, Rene Ritchie certainly has his own agenda here.

</comment><comment><USER19> I was a Facebook user before I have my first Android phone, it was on 4.0.3 ICS, then I'm on 4.3, 4.4, 5.0, 6.0, 7.1...etc, and before I delete my Facebook account, I see no call logs in the backup data archive downloaded from Facebook, guess what, there's at some point, some users just simply say yes to let Facebook 'manage' your SMS, or calls, if an Android user's call log got scrapped, it's partially his/her own fault.

</comment><comment><USER20> As an iPhone user I'd like to think iOS does not allow this. However, I understand there's a private API that allows larger companies access to functions that are not available to regular developers. It allows them access to the microphone without the red bar showing even when there's not a call. Like others have, I've received ads for products spoken about near my phone but never typed into a device I own or on my router.

<comment><USER21> With iOS we have to trust/hope that Apple is doing the right thing. With Android we can audit the code. Yes, the early permissions model left a lot to be desired, and was subsequently revised. But we could always look at the OS source to see where things might be leaking. Unless, of course, these things are happening in the Google Framework level, at which point, we have to trust/hope that Google is doing the right thing.

<comment><USER22> You can audit Android and see that it leaks like a sieve. Ever seen "read phone state and identity"?

<comment><USER21> I'll take your word for it, but my point is that you _can_ audit it. You can't audit iOS.

<comment><USER23> You can audit iOS. Security researchers do it all day long.

<comment><USER21> audit the code?</comment></comment></comment></comment></comment></comment>


Christie MicroTiles Display Wall System - <AUTHOR> https://www.christiedigital.com/emea/digital-signage/products/microtiles/microtiles <comment><USER2> I believe I saw a system like this in Xi'an, as the roof of an entire shopping centre. It was unbelievably good. Covering whole surfaces and making them one giant seamless display can make mood altering spaces.</comment>


Browser-based 'Quake Live' public beta today - <AUTHOR> http://www.crunchgear.com/2009/02/24/browser-based-quake-live-public-beta-today/ <comment><USER2> It's the quake3 engine turned into an ActiveX plugin. Looks like fun, but no mac version yet :(

<comment><USER3> I'm hoping that Parallels can handle it for OS X. This could be a big change for gaming.</comment></comment>


Why Spend More than Five Minutes on a GUI? - <AUTHOR> http://blog.wolfram.com/2007/05/17/why-spend-more-than-five-minutes-on-a-gui/

<comment><USER2> Something about these Wolfram posts always sounds like a a shady late night infomercial to me. I can't quite put my finger on it.

<comment><USER3> I can't find the point of this one.

Was the whole point at the end that we should just code everything in Mathematica, because it's a great language "in which you can write just about anything that can be written"?

And that interactive elements are bad? Cuz they're down the slippery slope?

I think he's using those nifty tree animations to distract people so much they're rendered incapable of reading. (Worked for me.)

And it's total linkbait.

<comment><USER4> Agree it's linkbait. And yes there's a bit of self-congratulatory informercial about it.

But there's an interesting underlying point at the end about the tradeoff between high-level application-specific languages and powerful general purpose languages:

"I would have done that years ago, but there was no tool in existence that made it possible. 'Possible?' you say. 'Surely it's possible in C code, or Java, or Visual Basic, or Squeak, or something.' Well, no, it's not possible for me in C or any other such serious environment, because I'm busy and these are just fun little things. If it's going to take hours or days to do, it's not possible for me to do."

Also, Mathematica _is_ damned cool, if I remember correctly from grad school days. So I don't mind if those guys are a bit prone to patting themselves on the back.

<comment><USER3> > So I don't mind if those guys are a bit prone to patting themselves on the > back.

I wouldn't care if it there was a feeling of "meta" awareness of the back- patting.

Eating your own bullshit like it's tasty tasty chocolate, now _that's_ a slippery slope you have to watch out for.

Getting high on your own supply -> believing your own hype -> eating your own bullshit == quick track to irrelevency.

Even if it gets you more fanboys.

<comment><AUTHOR> Can you give an example of a company that isn't constantly spinning its own PR story? It's annoying, sure, but I'm not sure it's actually, from a business perspective, detrimental.

<comment><USER3> The question isn't whether they're spinning, but whether they drink their own Kool-Aid, or realize that it's Kool-Aid to begin with.

Me, I hype myself, but I also make self-denigrating jokes and meta-references when I'm hyping. I apply my bullshit detector to _myself_. Example: <http://tr.im/5bucks>

You may say "Uhh, but you're just a person," but I'm a person with a readership of about 7500, and another thousand or two on a mailing list, and I'm working on a tongue-in-cheek "What sucks about freckle time tracking?" post for my company blog. Because there are parts of our product that really suck. And we know it.

Here's a reverse case study: 37Signals was a lot more reasonable 5 years ago. Their blog posts were more actionable, less hype, and more importantly, the products fit a need and evolved. They kept doing consulting to pay the bills, so they couldn't escape reality. Reality is good.

Cut forward 4 years, they launch Highrise, a product that was so "less" that it was practically "nothing" and not usable for anyone. It didn't have any features people required to actually manage their customer relationships. It was just an online addressbook with comments.

You couldn't even sort by people with the most recent comments. How could that help you manage anything?

And they had been talking it up for _months_ , meaning that it wasn't an addressbook with comments that was developed in a weekend.

There's nothing wrong with their marketing and PR. The only issue is that they believed their own hype, and really embarrassed themselves with a totally useless product.

Now, a year later, it's a little bit better, but it's no Basecamp and no Backpack.

<comment><AUTHOR> I should just mention Amy, that I love your work. Twistori is so cool.

But my point is mostly that, despite the bullshit, Mathematica is radically more powerful for building user interfaces (up to a certain complexity) than anything I've seen. The self-hype hasn't exactly toned down over time either, so I'm less certain it's really the bad omen you make of it.

<comment><USER3> Dani, I'm really glad you like Twistori.

I'm also glad if what you say about the eating-own-bullshit is not a problem at Wolfram Research. (But, last I saw, Mathematica itself had a horrible interface, beyond the language itself.)

But, on the other hand, I must always strenuously object when someone talks about "building" user interfaces as if it's a matter of how easily one can plug widgets together.

Which is what this article is about.

<comment><AUTHOR> Maybe it's a problem of language. Perhaps 'user-interface' is the wrong phrase for what Mathematica enables. It seems closer to 'interactive exploration'.

Mathematica is really intended for general purpose exploration, and in that task, as well as many others, a 'hacked together' GUI made out of a few widgets is orders of magnitude more accessible than the raw code. It's not beautiful, necessarily, and it's not necessarily well-designed. It's not likely to replace the detailed, careful work of master designers.

But it does succeed at placing extraordinary power at one's fingertips. When the elements simply work together, and the data can be simply, easily, and quickly plugged into to a display function and a manipulate function in a line or two, it opens really exciting new possibilities.

<comment><USER3> Sure, I agree with you. Makeshift interfaces surely have their place and I was duly impressed by the demos. They are fucking cool, and cliché, I'm not typically interested in higher math unless it's showing me insights related to me earning money.

But.

This is all well and good, unless you title linkbait "Why Spend More than Five Minutes on a GUI?".

It wasn't "Build a Nifty Mathematical Experimentation GUI in 5 Minutes in Mathematica," or even "Build a Nifty GUI in 5 Minutes in Mathematica," or "Explore Math! 5 Minute GUI," any of which would have been accurate and still interesting.

Instead, it appeals directly to the base (and incorrect) belief that so many developers have, that UI is an unimportant afterthought that can be dispensed with, if they only find the right combination of readymade widgets.

In 5 minutes!

Ugh.

<comment><AUTHOR> _nods_

Okay. My bad for the title. I just used the title of the article itself. It didn't occur to me that it would provoke, but I see that amply now.

<comment><USER3> Oh, I didn't mean YOU you. I meant the original author. :)

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER5> This is exactly the problem I designed <http://utilitymill.com> to solve .. at least for me. An easy way to slap a web GUI on a cool python script and share it with your friends.

<comment><USER6> dude - that is sweet! have you posted this on hn before as an article?

<comment><USER5> Thanks, glad you like it! It was on HN about 1.5 years ago. Maybe I should resubmit it. Maybe Reddit programming too. I was hoping to do some kind of freemium model someday, but I figure I'd need 10-100x the users first.

</comment></comment></comment><comment><USER7> My attention span ran out after a few paragraphs, but I think he's advocating DSL for GUIs. If so, I'm 100% in favor of that, as I've been saying for a while.

</comment><comment><USER8> I think this kind of thing is exactly where Flash _is_ really good. <http://www.25lines.com/>

</comment><comment><USER9> It shouldn't be that hard in Squeak + Etoys. Drawing things interactively and hooking up dials to them is the Standard Etoys tutorial.

</comment><comment><USER3> Another underlying fallacy here is the assumption that "an interface" is nothing but a limited, predictable set of widgets that are simply stacked on top of programming underpinnings to "expose functionality."

That is why your interfaces suck!</comment>


Kapor Capital Will Require Its Startups to Invest in Diversity and Inclusion - <AUTHOR> http://techcrunch.com/2016/01/21/kapor-capital-founders-commitment/ <comment><AUTHOR> Here is the "The Kapor Capital Founders' Commitment": [http://www.kaporcapital.com/founders- commitment/](http://www.kaporcapital.com/founders-commitment/)

Listing a company like Jopwell here is pertinent for the themes this commitment is addressing: [http://techcrunch.com/2015/07/15/jopwell/#.bbg9kb:4thq](http://techcrunch.com/2015/07/15/jopwell/#.bbg9kb:4thq)</comment>


Berkshire Hathaway 2018 Annual Shareholder Letter [pdf] - <AUTHOR> http://berkshirehathaway.com/letters/2018ltr.pdf <comment><USER2> The "American Tailwind" chapter is very good read with many gems.

Like this:

>Those who regularly preach doom because of government budget deficits (as I regularly did myself for many years) might note that our country's national debt has increased roughly 400-fold during the last of my 77-year periods. That's 40,000%! Suppose you had foreseen this increase and panicked at the prospect of runaway deficits and a worthless currency. To "protect" yourself, you might have eschewed stocks and opted instead to buy 3 1 ⁄ 4 ounces of gold with your $114.75. And what would that supposed protection have delivered? You would now have an asset worth about $4,200, less than 1% of what would have been realized from a simple unmanaged investment in American business. The magical metal was no match for the American mettle.

And close to the end:

> Charlie and I happily acknowledge that much of Berkshire's success has > simply been a product of what I think should be called The American > Tailwind. It is beyond arrogance for American businesses or individuals to > boast that they have "done it alone." The tidy rows of simple white crosses > at Normandy should shame those who make such claims.

<comment><USER3> Maybe we just haven't gone long enough. That debt could crash everything and then you would have been much better off with that hunk of metal or bitcoin indeed. How do we know Buffett just hasn't lived long enough yet? His statement could be as silly as someone in October 1929 crowing about how everything is just fine and bragging about their paper gains.

How is having that much debt a good thing?

<comment><USER4> How is having that much debt a good thing?

Buffett answers this in a previous paragraph about BNSF. BNSF has debt but they also have cash generation even in times of recession. This is really important. If you are unable to generate cash during recession and you have a ton of debt, you are dead.

A similar analogy applies to US. During recession, they can print money and generate cash. US will never default on their debt, or the probability of them defaulting is almost 0, hence the coveted AAA rating. Granted, the value of that printed money decreases right away, but eventually the value will stabilize w.r.t all other currencies and a stable store such as gold. Also note that the combined household wealth in US is nearing $100 trillion. That should count for something.

It's ok to have debt, if you have significant cash flow to cover your debt eventually, even in times of recession. Apple follows a similar philosophy. They raise debt for their share buybacks and dividends, even though they are sitting on a cash pile.

<comment><USER5> > hence the coveted AAA rating

The US Government seems to have begun a habit of launching investigations of credit agencies that downgrade its credit rating. It's happened to S&P and to Egan-Jones.

</comment></comment></comment></comment><comment><USER6> There's always something reassuring about Buffett's letters - don't worry about the market fluctuations and make worthwhile stuff I guess.

<comment><USER7> Part of Buffett's genius is in selecting the game(s) he chooses to play.

His discipline not to be distracted by things outside his investing thesis seems critical. Other opportunities? Maybe they're better, maybe not. But better to optimize for simplicity and reliability, powered by cash flow.

<comment><USER8> So, what happens when he is no longer the one making these decisions? Will BH still outperform the S&P 500?

<comment><USER7> That is the question. I'm not a Berkshire-head, but from what I know Buffett seems to run a pretty decentralized shop and take succession planning seriously.

He mentions how accolades belong to talented BH managers rather than himself in almost every letter.

</comment></comment></comment></comment><comment><USER9> What you need to know about Berkshire (going forward) is that Buffet just said that there is no more low hanging fruit for him to pick as a result of private equity getting more into the game and throwing around money.

It's in the letter but also detailed here:

[https://www.reuters.com/article/us-berkshire-buffett- m-a/war...](https://www.reuters.com/article/us-berkshire-buffett-m-a/warren- buffett-says-prospects-poor-for-elephant-sized-acquisition-idUSKCN1QC0HR)

So just like the small VC when the game was small and before (as the saying goes) everybody and their uncle got in they did well. Now it's a much different story.

And importantly the halo of Buffet will not win out over a much bigger offer from someone else. It maybe have in the past but the game has changed. Now add to that that it's obvious that Buffet will not be a star or around for another X years and we have a recipe for Berkshire not being a long term bet.

So once again two things going on here.

a) Warren won't be around for long enough for the tide to turn back (if it does at all). Many of the deals that got done are because of his star power (similar to Steve Jobs at Apple closing an important arrangement by force of will and halo)

b) Others in the game. Competition that far exceeds what it was in the past.

<comment><USER10> What you're saying is not exactly true. It's not necessarily competition from PE firms, it's high market value of good businesses. From the letter: "In the years ahead, we hope to move much of our excess liquidity into businesses that Berkshire will permanently own. The immediate prospects for that, however, are not good: Prices are sky-high for businesses possessing decent long-term prospects." What you're saying about competition is more true in a low growth regime (Europe pre-industrial revolution) in that too much capital kills return on capital. However growth rates are high, and will continue to be high for the foreseeable future, and return on capital in general will still be really good. Theory aside, the thesis of Berkshire is making good investments at a low price, and running businesses - of which Buffet's 'star power' is a more marginal factor in my opinion.

<comment><USER9> > it's high market value of good businesses

High market value is based on what companies (or with goods people) are willing to pay. If there is more money floating around and there are more buyers then the price you pay will increase. And I am not talking about economics taught in school either. I am talking common sense the way anyone can observe even if they never took a course or read a book.

</comment></comment></comment><comment><USER11> I calculate the intrinsic value of the first 4 "groves" to be in the neighborhood of 510 B. That comes from multiplying the after tax earnings by 12, which is a conservative multiplier, taking the market value of the equity portfolio and subtracting deferred taxes at the current tax rate, and valuing the cash (including the 20 B reserve) at face value.

I don't know how to value the float. Its value is largely dependent on the record of the person deploying it I'd think.

<comment><USER12> You've got a magic number there: 12. It can't be an "intrinsic" value unless you can justify why 12 is the appropriate multiplier.

The value of the float is at least the value of it invested in Treasuries, I would think.

<comment><USER6> All investment analysis with future cash flows implicitly assumes a similar magic number - the PE ratio or discount rate or some equivalent. 12 is appropriate if you assume a discount rate of 8.3%.

<comment><USER11> Yes, this is right. I chose 12 because that was a maximum bound Benjamin Graham used in his analysis IIRC. Though, stocks have gotten more expensive on a relative-basis in the last 40 years, so a more appropriate multiplier might be 13 or 14.

</comment></comment></comment></comment><comment><USER13> As the annual letters go, this one seems remarkably uninteresting? No major purchases or restructurings, and the rest is canned summary & familiar from previous letters. 2018 was a quiet year at BH, seems, despite all.

<comment><USER2> when the markets are overvalued, Berkshire just sits and waits.

Consolidated cash flows. Years 2018, 2017, 2016 (millions of USD):

Net cash flows from operating activities:

        37,400 45,728 32,647

Net cash flows from investing activities:

        (32,849) (41,009) (84,225)

Net cash flows from financing activities:

        (5,812) (1,398) 12,791

</comment></comment><comment><USER14> Stocks do beat gold over long stretches of time except in times of crisis (obviously). There are 10 year ranges where gold does beat the market. Then it goes to sleep or down for 10 years at a time (obviously this destroys its compounding effect and puts it at a severe disadvantage to stocks)....this makes sense because its a commodity... For instance it absolutely ripped in 2000 through 2011 but fell thereafter while the global economy was full steam ahead.

Further, theres a reason why Ray Dalio is saying its a good time to hold some gold today. namely the absurd US entitlement schedule/unfunded pensions and global debt being absurdly high(320% of GDP). Despite what Buffet is saying, regular deleveragings (say every 10 years or so) do clearly happen as seen in 2001 and 2008 (though 2008 wasnt really a deleveraging of debt like it was in 2001 if you look at the data) - obviously it was a greater shock however... We are arguably in the "long term debt cycle/a super cycle" as Dalio writes in his latest book (which happens about every 70 years) because global interest rates are at rock bottom (central govts around the world dont have tools to bail out the economy at these levels). I know Buffet is right in the very long run, but I dont have the stomach endure the next 3 years or or so/be down like 50% for a period of time. Ill invest back in the market after this next recession.

<comment><USER15> I took the mention of gold as a thinly veiled statement against holding cryptocurrency. What do you think from that context?

[https://finance.yahoo.com/news/warren-buffett-buying- bitcoin...](https://finance.yahoo.com/news/warren-buffett-buying-bitcoin-not- investing-110702015.html)

"There's two kinds of items that people buy and think they're investing," he says. "One really is investing and the other isn't."

Bitcoin, he says, isn't.

"If you buy something like a farm, an apartment house, or an interest in a business… You can do that on a private basis… And it's a perfectly satisfactory investment. You look at the investment itself to deliver the return to you. Now, if you buy something like bitcoin or some cryptocurrency, you don't really have anything that has produced anything. You're just hoping the next guy pays more."

When you buy cryptocurrency, Buffett continues, "You aren't investing when you do that. You're speculating. There's nothing wrong with it. If you wanna gamble somebody else will come along and pay more money tomorrow, that's one kind of game. That is not investing."

</comment></comment><comment><USER16> They own exactly (2^16-1)*1000 shares of Delta. I wonder if that's a coincidence.

</comment><comment><USER17> Another great Berkshire annual letter. This one feels a bit more "subdued" than previous years. Though I love the part that Buffet's heart races at the thought of making a large acquisition.

It's funny that the company is so big that there simply are not enough businesses to keep it satiated.

If that goes on long enough... There will be a time when it's more valuable to break up the conglomerate.

</comment><comment><USER18> It's a pleasure to read this every year.

</comment><comment><USER6> There's a two hour interview with Buffett talking about the letter etc to CNBC [https://www.cnbc.com/video/2019/02/25/warren-buffett-cnbc- fu...](https://www.cnbc.com/video/2019/02/25/warren-buffett-cnbc-full- interview-berkshire-hathaway.html)

</comment><comment><USER19> Warren Buffett's Berkshire Hathaway swung to a $25.4 billion loss in the fourth quarter due in part to an unexpected write-down at Kraft Heinz [https://www.wsj.com/articles/warren-buffetts-kraft-heinz- bet...](https://www.wsj.com/articles/warren-buffetts-kraft-heinz-bet-dragged- down-berkshire-hathaway-in-2018-11550929951)

</comment><comment><USER20> Looking at the numbers in the first page of the report, I'm asking myself if it makes more sense to move my index funds to BRK.B? Thoughts?

<comment><USER12> Those numbers are skewed by the fact that BRK dramatically outperformed the index for the first twenty years. More recent performance has not been so stellar--and Buffet repeatedly says that the returns will be less the larger BRK gets.

You should read a bunch of the annual reports and decide if it makes sense to move any of your funds into BRK. If you decide it is a good idea, Buffet bought back stock when BRK.B was around $207 (you should probably research this to be sure), so anything under that is probably a good price. (Above it might be a good price, but we know that at or below was a good price in Buffet's eyes) as of 2018.

</comment></comment><comment><USER21> On the first page is a nice table with the yearly performance data of Berkshire versus the S&P 500.

I wanted to see it as a graph. So I cleaned it up in VIM and then made this chart from it:

[https://www.productchart.com/blog/2019-02-23-berkshire](https://www.productchart.com/blog/2019-02-23-berkshire)

<comment><USER2> I love how Berkshire uses honest measure to compare their performance. They could just use SP500 price index as others do and get away with it, but they choose the correct metric - SP500 with dividends included.

Berkshire is not paying dividends like most firms do and their stock value grows 2 -3 percent more than SP500 price index just for that reason.

<comment><USER12> Not paying dividends is not a way to get +3% growth. You (ideally) pay dividends when you cannot grow by using the money. Berkshire grows a lot more than +3%, and it's structural: he invests the money that other people are paying him to hold via the insurance companies. Not paying a dividend has nothing to do with the growth.

<comment><USER22> But when you pay a dividend, you lose a small % in tax, or the delay between receiving the dividend and reinvesting it. That % loss adds over time and makes dividend structures less efficient than direct reinvestment. You are correct when the business cannot grow using the money, but BRK is an capital investment company, so I don't think that's an issue for them.

</comment></comment></comment></comment><comment><USER23> Hey can you guys answer a question for me.

Is berkshire double taxed on the income it's companies make?

Say Berkshire owns a company. Does that company pay corporate income tax on the money it makes. Then it passes the rest of the profit to Berkshire and does Berkshire pay income tax again on that money?

<comment><USER24> yes and no. yes because that's capital gains, but they offset investment as capital losses on the other side and can effectively win and invest money for free

<comment><USER23> What about dividends?

Say a child company earns some money. First it pays corporate tax on it. The. It issues a dividend to brk. Then brk pays a dividend tax? Then they pay a corporate tax on the remaining money?

</comment></comment></comment><comment><USER25> The Law of Active Management states that IR = IV * sqrt(n) IV is your "edge" or conviction and n is the number of independent trades you make. So the lower your IV (closer to 50%) the more trades you need to put on.

So there are two ways to make money being an active manager: have a low IV with a high N or have a high IV with a low N. It's difficult to maximize both at the same time because you won't be able to find enough trades with a high IV, so you need to keep lowering it (the lowest you can go is obvioisly >50%) to get more trades.

This is why quant funds have so many positions, because they aren't very certain about their bets. Buffet takes the opposite approach, only putting on a couple massive trades that he thinks have a high IV.

</comment><comment><USER26> I love how he just opens every letter with that table comparing Berkshire to the market since the 1960s.

</comment><comment><USER27> Anyone else find it odd that BH is using a self-signed cert?

<comment><USER28> The certificate provided is just completely invalid, it isn't even for their domain, and as you said isn't signed by a CA. Seems to be a default for their host provider.

So it might be more accurate to claim that they don't support HTTPS.

<comment><USER29> Buffet is famously behind the times on web developments. The company is stuck in the 90's because the tech does the job and it is cheaper.

<comment><USER30> I went to the Berkshire Hathaway site back in the 2000s (still looked the same) and thought I had been hacked.

</comment></comment></comment></comment><comment><USER31> Is Berkshire starting to decline because they bought Apple? Seems out of character.

<comment><USER32> Based on the statement, it looks like they are up over 10% on their massive investment in apple.

</comment></comment><comment><USER33> Berkshire is a CEF that never makes distributions. Change my mind.</comment>


Ask HN: Is Evented or Async I/O just polling at the end of day - <AUTHOR> Hi hacker,
So I were trying to understand evented, asyncio, epoll etc...
I understand that instead of waiting and blocking when doing IO, we will continue to running, and telling the "kernel" or "lower stack" that we're interested when the data arrive...
but how does the kernel or the lower component that really do IO "know" when the data is arrived to notify us? Isn't it just polling at the lowest layer? something has to wait there and keep checking? <comment><USER2> Not necessarily. See, at hardware level the CPU can use what is called an "interrupt". In its simplest form it's a CPU pin that receives electrical signals from the outside world. The CPU can then well... interrupt from what it was doing and see what the problem was. That part of code which is run when the interrupt occurs it's called "interrupt handler". Say you wanna read a sector from a disk drive and your disk controller is hooked to the interrupt signal of the CPU... you tell the drive controller "gimme sector X" and then you (as a OS kernel) mind your own business doing other things. Once the platter spins in the right position and the read head is positioned etc etc that is milliseconds later the controller gets what you asked for and it issues an "interrupt" for the CPU. The kernel interrupt handler will go and fetch the desired block. Or even better, a DMA controller can do the job and take the data from the disk controller and move it somewhere in memory then only bother the CPU to say "The required block has arrived your highness" ;-)

Network controllers can issue interrupts so you know a packet has arrived... keyboard controllers too and so on. Hopefully you get the idea. :)

<comment><AUTHOR> Wow thanks so much. This really click in for me.

> In its simplest form it's a CPU pin that receives electrical signals from > the outside world.

That is truly async :-).

</comment></comment><comment><USER3> At the lowest layer, it's electrons moving through transistors or quantum mechanics or quarks or turtles or what have you. It's all a question of relevant abstractions. I'm not being dismissive because it is hard to accept that object oriented programs quickly become indistinguishable from functional programs as we move down the stack.

It's really a question of what our chosen abstraction allows us to take for granted. If we're worried about what we take for granted, then we need to be wary of "just" as in "just polling." Because polling entails scheduling and efficient scheduling is NP hard and the code that implements the scheduling abstraction at the layer of the kernel abstraction is almost certainly of greater inherent complexity than the code written at the application abstraction layer that utilizes the asyncio abstraction because the kernel abstraction layer has to deal with multiple hardware threads and predictive execution and pipelining and multiple magnitudes of latency for lots and lots of processes pooled together.

If you're interested in diving down, I recommend _The Design of the Unix Operating System_ by Bach. It has clear diagrams and language that show the big ideas happening below the application layer.

<comment><AUTHOR> Thanks for that book introduction. I absolutely will check it out.

</comment></comment><comment><USER2> Your question though rises an interesting problem: ULTIMATELY, is there a piece of code which loops while waiting for data? I guess the answer is "maybe" but it's more of a philosophical question... in my previous example the OS kernel running on the main CPU doesn't loop awaiting for a disk drive block or a network packet but the code running on the controller CPU most likely does.

So it's a matter of perspective I guess. You don't want to poll in your code and you want to let the kernel do the job for you. Does it mean that the kernel doesn't poll? Not necessarily; The kernel itself might be forced to "poll" (e.g. the device driver can't do otherwise) or it can outsource ;-) the dirty and time consuming poll job to a peripheral which in turn will have an embedded CPU and firmware.

Bottom line: if you poll it is GUARANTEED to be a waste of time and CPU cycles but if you let the kernel do it there's a chance that the system might do a better overall job. That's because main CPU time is really expensive while peripheral CPU resources might be cheaper in the big picture so ultimately it's not a "poll vs. no poll" but rather "specialized poll vs wasteful poll"

</comment><comment><USER4> I'm not a kernel expert, but to my understanding it works in a following way: kernel have threads which e. g. process incoming TCP/UDP packets or send outgoing traffic. When such thread detect 'interesting' event, e. g. incoming data was saved into a buffer for a TCP connection it send a notification which cases user-space threads to wake up from a sleep and process an event.

There is always a polling in at least one place - a kernel scheduler, but the scheduler generally doesn't care if sync or async IO is used (with sync IO schedule has more work, because there are more threads/process for same number of connections, but operation principles are the same).</comment>


Why do some countries drive on the left and others on the right? - <AUTHOR> http://www.worldstandards.eu/cars/driving-on-the-left/ <comment><USER2> Interesting article. I enjoyed this part in particular:

> Pakistan also considered changing to the right in the 1960s, but ultimately > decided not to do it. The main argument against the shift was that camel > trains often drove through the night while their drivers were dozing. The > difficulty in teaching old camels new tricks was decisive in forcing > Pakistan to reject the change.

<comment><USER3> My favorite bit has to do with a referendum held in Sweden:

       In 1955, the Swedish government held a referendum
       on the introduction of right-hand driving. Although

       no less than 82.9% voted "no" to the plebiscite,

       the Swedish parliament passed a law on the
       conversion to right-hand driving in 1963.

<comment><USER4> The referendum held 1980 on the discontinuation of the reliance on nuclear power was not upheld either.

<comment><USER5> The winning alternative was to not stop using nuclear power until some point in the future, where 2010 was thrown about but not set in stone. They're not all that far from that schedule seeing that a couple of reactors have been decommissioned.

Though I wonder what moral rights the people of 1980 really have to decide to keep nuclear power for themselves while saddling the people of 2010 with the trouble of shutting it down and finding alternatives, when those under 48 y.o in 2010 didn't have a vote in the referendum.

<comment><USER6> Do parents not have a moral right to look after their children?

<comment><USER7> Cushy set

</comment></comment></comment></comment></comment></comment><comment><USER8> Interesting ideas. The cart driver sitting on the leftmost rear horse as a reason for driving on the right I can buy. However, I have a harder time with the idea that "feudal, violent societies" preferred to walk on the left in order to maintain the best position for using a sword against an oncoming opponent. The author doesn't locate this observation in time, other than to mention "feudal," but I don't believe that a large enough percentage of the people using the roads, at any time, carried swords for this to be a determining factor in forming the custom.

<comment><USER9> This kind of sword-handedness argument reminds me of a similar argument for deciding the directionality of spiral staircases:

      > Spiral staircases were a clever defence in medieval
      > castles. They were almost always built with the spiral
      > in the same direction (clockwise, when looking up from
      > the bottom) so that the defending swordsman, who would
      > either be coming down the stairs or backing up in
      > reverse, could freely swing his sword. Conversely, the
      > attacking swordsman (ascending the stairs) would have
      > his swing blocked by the wall.
      > This, of course, assumed that both attacker an defender
      > were right-handed, which most were.

[http://www.thejanuarist.com/clan-kerr-and-the-legend-of- the-...](http://www.thejanuarist.com/clan-kerr-and-the-legend-of-the-spiral- staircase/)

(there's a little more discussion there about left-handed swordsmen and left- handed spiral staircases!)

<comment><USER10> Right, but it's worth noting that's the opposite situation from road customs: it's much more believable because a significant portion of people traversing spiral staircases in castles _were_ carrying swords.

EDIT: Having now read your linked article, I'll add that the spiral staircase story is more believable due to primary sources. :)

</comment></comment></comment><comment><USER11> I remember in my teens in the early 80's visiting the USA. Having come from the left driving country which is the source of iocane powder, I was quite startled when the taxi shot out into the middle of the intersection to do a left hand turn instead of hugging the curb.

The linked[1] trivia article was quite interesting as well. Loved this bit: _A newspaper story on April Fool's Day suggested that, to further European integration, the UK was to convert to driving on the right. However, owing to the huge amount of work this conversion would cause, it would be phased in: for the first six months the regulation would only apply to buses and taxis._

The mention of locations of turn signal levers also reminded me of the time I drove a car which was opposite of what I am use to. Every time I went around a corner I would switch the window wipers on.

[1] [http://www.worldstandards.eu/cars/trivia-about-driving- left/](http://www.worldstandards.eu/cars/trivia-about-driving-left/)

<comment><USER12> I remeber the same joke being told (by Norwegians) about the Swedish change

On the border there had been country roads that crossed back and forth across the border .....

And of course there's the issue of driving from Hong Kong to China

[http://www.fastcompany.com/1660258/ingenious-flipper- bridge-...](http://www.fastcompany.com/1660258/ingenious-flipper-bridge-melds- left-side-drivers-right-side-drivers)

<comment><USER13> The joke is also told in Canada about Newfoundland changing.

</comment></comment></comment><comment><USER14> I'm about to begin a 2-year circumnavigation of Africa - I look forward to the border crossings where swapping sides of the road is required - I'm told they're quite interesting.

There is a nifty double roundabout between Brazil and Guyana where you enter it one side of the road and when you exit you're on the other side of the road.

<comment><USER15> Egyptians 2600 years ago circumnavigated Africa in 2.5 years. I guess technology has not improved much over time ;-)

<comment><USER14> I'm in no hurry.

I spent 2 years on the Pan-American from Alaska to Argentina because I wanted to. There is no rush.

<comment><USER16> Hey just wondering (completely off topic) How much money do you need to have for this sort of travel.

<comment><USER14> I spent $27k total in 2 years driing 40k miles from Alaska to Argentina [1]

I expect Africa to push closer to $20k/year.

If you're interested in this kind of travel, checkout [http://wikioverland.org](http://wikioverland.org) \- it contains all the logistical information you need to make a trip like this. (it's packed for the Pan-American right now, and soon to be loaded with Africa too)

[1] Full breakdown: [http://theroadchoseme.com/the-price-of- adventure](http://theroadchoseme.com/the-price-of-adventure)

</comment></comment></comment></comment></comment><comment> m-i-l _" In the past, almost everybody travelled on the left side of the road because that was the most sensible option for feudal, violent societies... Furthermore, a right-handed person finds it easier to mount a horse from the left side of the horse"_

I think this still applies today: the majority of people are right eye dominant and it makes sense having the dominant eye closer to the oncoming traffic, and the majority of people will find it easier to mount bicycles and motorcycles from the side of the road rather than the centre of the road. I wonder if there are any statistics on the safety implications of switching to driving on the right.

<comment><USER17> I regularly drive on both sides. The only difference I find is that the order of the pedals in a manual car makes less sense for left-hand drive. In right- hand drive you can put your left (gear) foot to the side and your right (throttle) foot locked against the side, which is more comfortable than putting your left foot underneath and keeping your right foot up.

The differences in priority rules tick me off way more than the side of the road.

<comment><USER18> I have both LHD and RHD cars. I would say the placement of the pedals in relations to the footwell is something that varies a lot depending on the manufacturer and vehicle rather than 'sidedness'.

A lot of people say changing gear with their right hand feels more natural. To be honest I don't think there is a lot of difference. If you're a competent driver the position in the he car shouldn't make for much difference.

<comment><USER19> Growing up in Australia, and being left-handed, I thought changing gears with my left hand was completely natural. Now, after several years living and driving in continental Europe, I still find it slightly uncomfortable changing gears with my right hand, especially if in a hurry to do so.

However, the oddest thing is that when returning to Australia I now find something like 90% of cars (excluding 4WDs) are automatic, so no changing of gears. While in Europe, the majority of cars are still manual.

I do often turn on the windscreen wipers, when I mean to use the indicator, regardless of which country I'm in.

<comment><USER20> Many moons ago on holiday with my folks on Barbados in the Caribbean a local rental outfit had a collection of old Oz MiniMokes available. Planning on a month's trip to Kiwiland the following October and wanting to drive a manual there, I decided to tool around the Island in a beat-up RHD Moke. Of course pedal configuration was the same but a mirror-image of gear selection was expected. Wrong. It was simply a task of envisioning the shifter in space and changing gears in the normal manner using the left instead of the right hand. But turning on the wipers when you wanted to signal a turn always takes some getting used to. And roundabouts (circles) or wide turns aren't problematic if you just simulate behavior in your head, remembering where you are, before executing your moves. Personally, I still find this fun.

<comment><USER18> Yes, if you have developed a 'relative' position patten in your head, it takes a while to adjust.

The secret is to have an absolute position pattern in your head - you know that first gear is up and to the left - and your brain is able to operate your hands accordingly. Same as how you learn where the cupboards are in a kitchen and can open them no matter where you are standing - you have an absolute mental map of the kitchen.

It's probably because driving is a stationary activity that the brain develops a relative map (move right hand this direction) rather an absolute (first gear is over there)

</comment></comment></comment></comment></comment></comment><comment><USER21> There are may articles summarized historical reasons, however I haven't seen reason why in France cars drive on right, while trains on left. Another question which still puzzles me after all my trips to UK, London in particular, should pedestrians on pavement walk on left or right? My eyes tells me the most travel on right, but not always. Some underground station signs say keep left.

<comment><USER22> The British Highway Code states for pedestrians:

 _2

If there is no pavement, keep to the right-hand side of the road so that you can see oncoming traffic._

([http://www.highwaycodeuk.co.uk/rules-for-pedestrians--- gener...](http://www.highwaycodeuk.co.uk/rules-for-pedestrians---general- guidance-1-to-6.html))

For the Americans, pavement in British English means sidewalk :)

After learning this (in school road safety lessons I think?) in general I always assumed you should walk on the right as a pedestrian for consistency (even though the highway code doesn't contain any rules for sidewalks) but it's not universally observed, particularly in London where there are so many foreign tourists.

<comment><USER23> In Sweden, where people drive on the right, I have have heard that you should walk on the left side of the road if there is no sidewalk. But, when on a sidewalk or footpath people will keep to the right.

<comment><USER24> Another curiosity with Sweden is that priority to the right has been codified in law since the switch to right-hand traffic, but has never actually been practised by motorists. Instead they have a bunch of unwieldy and dangerous ad hoc rules, such as priority-to-the-crossbar-in-T-intersections and priority- to-the-slightly-larger-road-in-4-way-intersections.

Also confusingly, when Swedes are about to make a left turn they keep to the far right instead of the more logical left, and vice versa.

<comment><USER25> Obviously, if the road you are coming on is perpendicular to another and dead- ends (what I assume you mean by a T-intersection), then you should have a stop sign, and the road that isn't dead-ending shouldn't have any stop-signs.

With the four-way you describe, I would usually expect to see a single light, with it blinking yellow on the primary route, and blinky red on the secondary road.

<comment><USER23> T-junctions in Sweden often have a stop or yield sign, but not always. When they don't drivers on the through road should yield to cars turning in from the right, but in practice the rarely do. Stop lights are not common in smaller, low traffic junctions.

</comment></comment></comment></comment></comment></comment><comment><USER26> Seems like Timor-Leste (East Timor) may have changed over more times than any other country.

[https://en.wikipedia.org/wiki/Right-_and_left- hand_traffic](https://en.wikipedia.org/wiki/Right-_and_left-hand_traffic)

East Timor had traffic on the left until 1928, when it changed to the right at the same time as its colonial power, Portugal. During Japanese occupation during World War II driving on the left was imposed, and when the Portuguese returned it changed back to the right. Under Indonesian rule, East Timor changed back to driving on the left in 1976, and continued the practice under UN administration from 1999 and since independence in 2002.

</comment><comment><USER27> Interesting to note that not all of the USA drives on the right. In the US Virgin Islands people still drive on the left side of the road, but mostly with cars made for driving on the right side.

<comment><USER25> The Virgin Islands were originally Danish, I believe, and purchased after the advent of the automobile.

</comment></comment><comment><USER28> Australia is planning to move from left to right hand side starting in 2020 but it's a big change so the change will be phased in with trucks moving to the right in 2020 and cars in 2021.

<comment><USER29> How? Won't the cars and trucks run into each other?

</comment></comment><comment><USER30> Bottomline, there is no sense in driving on the left _today_ , but it did hundreds of years ago. Driving on the left (on those countries who do) has simply stuck out of habit, customs, rules, or choice. The "there is a perfectly good reason" should read, "there _was_ a perfectly good reason."

<comment><USER31> Bottomline, there is no sense in driving on the right today, but it did hundreds of years ago. Driving on the right (on those countries who do) has simply stuck out of habit, customs, rules, or choice. The "there is a perfectly good reason" should read, "there was a perfectly good reason."

</comment></comment><comment><USER32> isnt driving on the left (with the driver sitting on the right) the better way of driving ? because the hand that you use to change the stickshift/gear.. or change the radio ... or pick your coffee is the left hand. Which for most of the population is their weaker hand ?

<comment><USER33> Actually isn't it the stronger arm, while your dominant hand has finer motor control? Which means you want you left hand to control the left/right of the steering wheel and the right hand to fiddle with the smaller knobs and buttons.

<comment><USER32> this is actually news to me. the way it was explained to me (and I'm not an expert) is that you want your left brain on the steering wheel ... which means the right hand.

But most right handed people control the steering wheel better with their right hand than their left.

</comment></comment></comment><comment><USER34> "In the late 1700s, however, teamsters in France and the United States began hauling farm products in big wagons pulled by several pairs of horses."

I am interested about this statement and why it didn't happen in the UK which was also majorly agricultural in the same period.

<comment><USER35> Perhaps the UK's extensive canal network? Hmm, what was/is the convention for passing narrowboats? I presume it follows the road rule in all countries?

<comment><USER36> It doesn't in the UK. Canal and River Trust instructs to keep to the right:

"On all waterways, the rule of the road is to drive on the right. ... When you do meet an approaching boat, keep to the right and pass 'port-to-port' (the left side of your boat passes the left side of the approaching boat)."

[https://canalrivertrust.org.uk/boating/navigating-the- waterw...](https://canalrivertrust.org.uk/boating/navigating-the- waterways/boat-handling/casting-off-cruising-and-tying-up)

</comment></comment></comment><comment><USER37> similar article:

[http://brianlucas.ca/roadside/](http://brianlucas.ca/roadside/)

</comment><comment><USER38> Anyone know what was the custom in the Roman Empire?

<comment><USER39> As always, Wikipedia has a page on just about everything: [https://en.wikipedia.org/wiki/Right-_and_left- hand_traffic#H...](https://en.wikipedia.org/wiki/Right-_and_left- hand_traffic#History)

``In 1998, archaeologists found a well-preserved track leading to a Roman quarry near Swindon, England. The grooves in the road on the left side (viewed facing down the track away from the quarry) were much deeper than those on the right side. These grooves suggest that the Romans drove on the left, at least in this location, since carts would exit the quarry heavily loaded, and enter it empty.''</comment></comment>


Ask HN: Do You Use Continuous Integration? OpenSource, Hosted or Your Own? - <AUTHOR> <comment><USER2> I for myself have GitLab with its CI and handcrafted scripts that deploy (because i currently support multiple environments, it was just easier to write them myself)

At work we use mostly Github and a local Jenkins instance.

<comment><USER3> Cool! We're working on adding deploy functionality to GitLab itself to replace some of the scripts [https://gitlab.com/gitlab-org/gitlab- ce/issues/3286](https://gitlab.com/gitlab-org/gitlab-ce/issues/3286)</comment></comment>


What do you think of our site? - <AUTHOR> http://famocracy.com/

<comment><USER2> Honestly, first impressions:

1\. What am I looking at?

2\. Who is being targetted?

3\. What value does this offer me?

4\. What do the buttons do on the top left?

5\. I can't read the slogan.

I don't get it. Perhaps you should check out <http://conversionxl.com/blog/>

:) I like the music though

<comment><AUTHOR> Is this something you think people would use for their entertainment - and if not, what do you think is missing?

<comment><USER2> I'd say entertainment plays a major role in crowdsourcing the voting.

You need some logical separation above the fold - ex. Recruiters, Talent, Entertainment (sic).

The thumbnails are a bit weird also, you should make it so that when you click the background you automatically get redirected to the content, instead of having to just click on the title.

You should also explain in short what the site is for - and why is it for you, and most importantly - what can I do on here?

I can also see famocracy as a place where people can go look for entertainment (videos, musicians) they wouldn't otherwise know about. So instead of just artists looking for recruiting, it could create sales for them instead/too :)

Kind regards

</comment></comment></comment><comment><USER3> What's happening, I'm scared :-(

There's a lot of media deposited into my retinas, it's pretty but i feel overloaded to the point that it took me an inordinate amount of time to spot the buttons and even longer to figure out what they are for. There's nothing to entice me into participating.

I'd like to flick through to new things without having to vote, because I'm lazy like that and most people

Could be good if you got some indie record labels and studios on board and fed them people's submissions directly. Like every day, 10 top new liked videos/music goes to labels.

<comment><AUTHOR> Good point, Tauv. I may disagree about the overloaded part, but think you're right about people not wanting to vote. The thing is Famocracy is not only about entertainment. It's about helping talents be spotted through democratic voting. So, although the voting may seem a little burdensome, it seems essential to what we're trying to do.

About feeding people's submissions to the studios: wonderful idea! I think this would get a lot of users excited, and aware about the fact that they become famous through Famocracy. How would you go about making that deal with big studios?

</comment></comment><comment><USER4> Just click on the link and going to the home page — I have no idea what the site is about. I'm guessing it's like some talent show upload-your-own video type of site, but there's no hero text or call out that explains _what_ the site is about.

My $.02

<comment><AUTHOR> Good point, richf. We're actually going to have a "Take the Tour" feature pretty soon. I like your $.02. Do you have more advice?</comment></comment>


Apple's New T2 Security Chip Blocks Linux from Booting - <AUTHOR> https://www.phoronix.com/scan.php?page=news_item&px=Apple-T2-Blocks-Linux-UEFI&unflag <comment><AUTHOR> Already submitted, but IMO incorrectly flagged: [https://news.ycombinator.com/item?id=18383250](https://news.ycombinator.com/item?id=18383250)

It seems to have been flagged on the assumption that this is easily solved by setting some options in bootcamp. However all reports so far hint at this not being the case.

So as far as I can tell, the story is that modern Macbooks cannot be used for Linux, and that should definitely go on the front-page.</comment>


Clinical characteristics of 50k patients with 2019-nCoV infection - <AUTHOR> https://www.medrxiv.org/content/10.1101/2020.02.18.20024539v1 <comment><USER2> If you look at the breakdown of infections vs deaths in China[1], you'll see that the death rate outside of Hubei is _far_ lower than the death rate inside. As of yesterday, Guangdong, for instance, has had 1345 confirmed cases, but only 6 deaths -- in spite of the fact that at least 800 of those had been exposed more than 2 weeks ago[2].

The most likely explanation to me is that the hospitals in Hubei have been overwhelmed. Obviously that means we should be vigilant about limiting the spread of the disease, so that hospitals _elsewhere_ aren't overwhelmed. But catching it isn't the immediate death sentence headlines like this indicate.

[1] [https://www.who.int/docs/default- source/coronaviruse/situati...](https://www.who.int/docs/default- source/coronaviruse/situation- reports/20200224-sitrep-35-covid-19.pdf?sfvrsn=1ac4218d_2)

[2] [https://www.who.int/docs/default- source/coronaviruse/situati...](https://www.who.int/docs/default- source/coronaviruse/situation- reports/20200204-sitrep-15-ncov.pdf?sfvrsn=88fe8ad6_4)

<comment><AUTHOR> The scary thing about this virus, isn't the mortality rate, but the high R0 value and the potentially high proportion of infected people who are classified as severe cases.

Assuming that 20% of the US population (330 million) gets it, we're looking at about 13.2 million (20%x20%x330 million) patients who require admission to an ICU ward. Needless to say, that is enough to overwhelm the healthcare system and hospitals, and increase the overall mortality rate, when people who requires ICU are turned away due to lack of beds or equipment.

As it is, the best option would be to delay the spread as much as possible, so that the number would be spread across a time-span for as long as possible.

<comment><USER3> Never mind that, far before you get to 20% the billing issues will destroy the system: [https://www.miamiherald.com/news/health- care/article24047680...](https://www.miamiherald.com/news/health- care/article240476806.html)

If you charge $1,400 to each suspected person then either the testing will bankrupt the population or people are going to hide from testing. If coronavirus arrives in bulk in the US, then it's either going to be "Medicare for coughs for everyone" or a pandemic.

<comment><USER4> This is something insurance will cover, and 90% of the American population are already covered under health insurance.

[https://www.cbo.gov/publication/55085](https://www.cbo.gov/publication/55085)

<comment><USER5> Are you sure? I couldn't say with certainty whether any emergency service is covered by my insurance. There are no blanket statements and a relatively high co-insurance to ER services. Most policies have over $10,000 in co-insurance so stating that 90% are technically covered doesn't actually respond to the parent's claim. You'd have to know intimate details for how the service is billed which is apparently impossible before receiving service. If you don't believe me call your hospital or your physician or your insurance company and ask what your out-of-pocket would be. Nobody can tell you.

</comment></comment></comment></comment></comment><comment><USER6> Well... I'm in my hometown in Italy right now, people are advised to work remotely or avoid mass transit, everything closes after 6PM, museums/theaters/schools are closed, a small percentage of the population is going a little crazy so please everyone we must start asking ourselves some questions about those wild numbers that come out and people reporting them must be a little bit more responsible.

We had 7 fatalities here in Italy in an really big area, all of those people were old (some very old) and with other aggressive diseases or health problems going on, but we keep saying we have 200something people positive to COVID-19 making the mortality rate 3.5% BUT those 7 people are absolutely not representative of the 3.5% of total population so we must be missing people that are positive to the virus but don't get tested and never will.

We don't have enough test kits, we don't have enough personnel, we cannot overwhelm every lab in northern Italy just to start testing everyone for COVID-19 so many people without symptoms or with light symptoms are going on with their lives without ever being reported as positive... you get tested if: \- you met with someone that died \- you have severe symptoms \- you have light symptoms and you are old or have some other disease \- you live in one of the (really small) isolated areas \- you escape from the areas that are isolated \- you are close to someone that have escaped

If you are young and have a cold, even if you want to get tested, no one will come. I know from first hand some 4 people that are sick right now (symptoms like normal cold or a mild influenza) and one person that had I bad influenza finishing last week... are they positive? We will never know, now scale that up to the millions of people living in northern Italy

<comment><USER7> > _a small percentage of the population is going a little crazy_

What are they doing?

<comment><USER6> Just a small list:

\- emptying supermarkets and fighting for products that finish instead of waiting for the shelves to be refurbished (with police interventions, etc.). I've seen people buy 20kg of pasta or 100 water bottles on Sunday

\- buying cleaning products and useless face masks for 10+ times the price

\- firmly believing that COVID-19 is a military plan or a disease made to kill old and sick people to lower costs

\- avoiding all Chinese people, Chinese food or Chinese shops (some people are afraid of goods made in China)

\- faking some other illness to avoid going to work

And we could go on with a lot of other senseless things people are doing...

 _Edit: formatting_

<comment><USER8> > buying cleaning products and useless face masks for 10+ times the price

> faking some other illness to avoid going to work

Sounds like business as usual. /s

<comment><USER6> Beside sarcasm... you are right, especially in Italy :)

People always do all the things listed above, it is just that this time more people are doing them and more heavily

</comment></comment></comment></comment></comment><comment><USER9> I'm confused, I thought that what the paper defines as _Mortality Rate_ is called _Case Fatality Rate_. Could someone explain to me what the difference is?

<comment><USER10> Mortality Rate is number of deaths divided by total infected count estimate.

E.g. it includes self reported cases and estimated using infection rates. (R0 mostly.) It does not exist when mode of infection is not entirely clear it when number of cases are low.

Case Fatality Rate is number of deaths divided by number of _confirmed_ cases, which are usually hospitalizations.

Mortality Rate is usually much lower than Case Fatality Rate.

<comment><USER9> Thanks a lot! So if the paper is correct and the mortality is 4.8%, then the CFR would actually expected to be higher. I'm kind of disturbed by this because I've seen numbers for CFRs between 2%-3%, which is already quite high. These should be higher then, right?

</comment></comment></comment><comment><USER11> I still would like to see the age repartition and most importantly a study on unreported cases.

From what I've heard, CIVID-19 has symptoms very similar to the flu.

<comment><USER12> The flu only has a 0.1-0.05% mortality rate. The early symptoms of of it are flu-like but the severe respiratory symptoms that set in and make it difficult to breath are not like your typical flu, to my knowledge.

<comment><USER13> They give a "cough" incidence of 70.8% and a acute respiratory distress syndrome incidence of 14.8% in their paper. Meaning even a lot of people diagnosed with the infection show no respiratory symptoms, let alone severe ones. I therefore wouldn't dismiss the possibility of a high number of unreported cases, where people didn't develop any major symptoms and thought it was a cold or flu if they noticed symptoms at all.

<comment><USER14> Since the common cold is caused by coronaviruses a decent chunk of the time, I'm not sure it's even inaccurate for someone with a non-severe case of covid-19 to conclude that they have a cold.

Maybe that's the tricky part that helps it spread. Having a cold isn't enough to stop most people from going out in public. In my experience among people I know in the US and Canada, having a mild cold isn't enough for people to stay home from work.

But while a covid-19 infection might really be just a cold to a large chunk of people who get it, it's unusually deadly to a non-trivial percentage of people as well.

</comment></comment></comment></comment><comment><USER15> 4.8% is pretty alarming..! wouldn't there be an inherent bias, though, towards patients that display such severe symptoms that they would require medical care? Currently, to me at least, these cases in Italy seem to indicate that plenty of cases go unnoticed because many of those infected show few to no symptoms (which makes this virus all the harder to isolate)

<comment><USER16> there aren't enough test kits, and for some people the serious/critical period in ICU can be a month, which means the CFR will always be skewed more or less.

</comment></comment><comment><USER17> What's a morality rate? Is it a typo or an actual indicator? I found this: [https://www.hsph.harvard.edu/population- development/tag/mora...](https://www.hsph.harvard.edu/population- development/tag/morality-rate/) but it seems to be a typo.

<comment><AUTHOR> Yeah, that's a typo, it should be mortality rate.

</comment></comment><comment><USER18> Is this 4.8% mortality number from cured/dead patients or also counting ongoing cases?

</comment><comment><USER19> *mortality

</comment><comment><USER20> Please update the title to remove the typo (s/morality/mortality), from the abstract: "the mortality rate of patients with 2019-nCoV infection was 4.8%".

<comment><AUTHOR> Can't edit the title anymore. Could an admin eg: @dang edit it, thank you.

</comment></comment><comment><USER21> "The mortality rate of patients with 2019-nCoV infection was lower than that of Severe Acute Respiratory Syndrome (SRAS) and Middle East Respiratory Syndrome (MERS)."

Is this a typo or are they politicizing SARS here so people think it's something else?

<comment><USER22> I can't see any typos in your quoted text. Am I missing something obvious?

<comment><USER23> SRAS instead of SARS, Maybe?

<comment><USER22> Wow, how did I miss that. Sorry everyone

</comment></comment></comment></comment><comment><USER24> Ok, is _now_ a good time to start taking this seriously?

Spanish Flu had an R0 of about 2[1]. Current published estimates for 2019-ncov are 2.3-3.8 for this paper [1] and there's another floating around which gets as high as 6-8.

1\. [https://www.ncbi.nlm.nih.gov/pubmed/19545404/](https://www.ncbi.nlm.nih.gov/pubmed/19545404/)

2\. [https://www.sciencedirect.com/science/article/pii/S120197122](https://www.sciencedirect.com/science/article/pii/S120197122)

<comment> _-___________-_ And there are others that are much lower. It's also worth remembering that given many cases are asymptomatic, or are so mild that people may not see a doctor, the number of cases does not accurately reflect the number of infected people. So these mortality rates should not be read as an indicator of your chance of dying if you are infected with the virus.

One reason that many people don't seem to be "taking this seriously" is because the narrative of people who keep fearmongering about COVID-19 just doesn't make sense.

There are still direct flights from China to many countries, and they're not empty.

Screening is mostly based on taking people's temperature with handheld devices that have twice registered my temperature as 32C (no, I wasn't rushed to a hospital). Where more reliable screening has been implemented, there have been many documented failures.

Many quarantine protocols are voluntary / honour-based. People from cruise ships where they were exposed to others who were infected have dispersed worldwide with varying levels of monitoring (in some cases none).

If this thing was half as deadly and easily-spread as continues to be claimed on the Internet, 200 new cases in Italy wouldn't be international news at this point.

<comment><USER24> Are they consistent with China's unprecedented response?

<comment> _-___________-_ I assume you're being facetious, but regardless of early failings and a lack of transparency, it's hard to imagine any other country imposing a quarantine on a city the size of Wuhan in the manner they have, or building hospitals at the rate they have.

<comment><USER25> I thought this article was interesting: [https://www.theatlantic.com/technology/archive/2020/02/coron...](https://www.theatlantic.com/technology/archive/2020/02/coronavirus- and-blindness-authoritarianism/606922/)

Particularly the point about "Why build hospitals?" Because in strongly centralized, command political systems, grand projects are one of the few things done well. And so crisis management becomes "What can we build, to show we're taking it seriously?"

<comment> _-___________-_ This makes a lot of sense.

Even outside of centralised, command political systems many of the responses seem to be in the vein of "what can we do to show we're taking it seriously?" Many actions such as the travel restrictions have gone directly against public health advice, but are easy to implement and politically very successful.</comment></comment></comment></comment></comment></comment>