Mark Shuttleworth's big mistake - <AUTHOR> http://www.itwire.com/opinion-and-analysis/open-sauce/57178-mark-shuttleworths-big-mistake

<comment><USER2> I don't think people are mad because Ubuntu wants to make money. (Witness the relatively well-received "donate" link on the Ubuntu download page.)

They're mad at the Amazon search results because 1) Ads are now intruding in what's been an ad-free space since pretty much the dawn of the OS. 2) Assumed- private input into your OS is now being sent to a 3rd party, and you have to opt-out instead of opt-in.

Definitely a bad move by Shuttleworth; it was a fundamental paradigm shift in what people expect from an OS, crammed in half-baked, without the fanfare or discussion that was due.

 _That_ is Shuttleworth's big mistake: consistently releasing alpha-quality software in an environment where eventually upgrading is mandatory. (Because with all milestone-based distros, if you need an update to a single program, the entire system must be updated along with it.)

He's burned a lot of community karma by doing this. Witness Pulseaudio, or Unity, or now this. Day-to-day users don't want to be beta testers, they want a stable (i.e. bug-free and polished) experience, and Ubuntu doesn't deliver that.

Shuttleworth, Ubuntu, and its users would be better served by focusing on polish and regression- and bug-fixes instead of trying to turn the industry upside-down every six months. Spend time fixing bugs so I can recommend Linux to mere mortals, set up a testing lab with a wide array of real-life hardware to track and prevent regressions, and don't release something unless you'd be happy releasing it in a world where you can never update it again.

Alternatively, figure out a way to change Linux from milestone-based releases to what Windows has accomplished: A platform where the core is tested and stable, and the user can install whatever version of whatever program they like. DLL hell is a thing of the past, storage space is practically free, and Linux should be able to update, say, GIMP, without requiring an update to my graphics drivers at the same time. That way we can enjoy a stable system and opt-out of Shuttleworth's half-baked experiments.

But that's a pretty tall order.

<comment><USER3> > Day-to-day users don't want to be beta testers, they want a stable (i.e. > bug-free and polished) experience, and Ubuntu doesn't deliver that.

Use LTS if you want that.

I don't think Pulseaudio or Unity is comparable to the Amazon-Lense. PA is mostly a technical decision. It caused some problems initially. But now it's fine and dislike of PA seems to be mostly a bandwagon thing. Unity was a drastic change and that certainly annoys users. But it's mostly about your design preference whether you like it or not. Although some (very loud) users seem to hate it with a passion.

But the Amazon-Lense is on a different level because it is not on a technical or design level but rather on a philosophical or ideological level (I seem to lack a proper word here. But I hope you understand what I mean). And I agree with your criticism. Users dislike ads in a former ad-free space and users hate when people mingle with their privacy.

<comment><USER2> I often make this point and people often tell me "just use an LTS". But that's not my point; my point is, if I use an LTS, I can't (easily) get new versions of software I need. Upgrading one piece of software necessitates upgrading the entire system. Because of this, it's impossible to live in a stable and bug- free OS, because the core is always shifting underfoot. On a Windows system, does upgrading Photoshop also upgrade your network drivers? Of course not, but it does in Ubuntu (and most Linuxes).

Shuttleworth's mistake is his intent on releasing alpha- and beta-quality software every 6 months, but without giving the community the easy and foolproof ability to pin certain software at certain versions, so they can get updates to some things but not others.

That's why people got mad at Pulseaudio, at Unity, and (partly) at the half- baked Amazon stuff: because the very structure of Ubuntu and Linux forces these things on them, and they didn't have a choice if they also want the other shiny features of release X.

Edit: Also, I was personally mad at Pulseaudio because when it was included in Ubuntu, it was so broken on my laptop that I literally had to hotkey `killall pulseaudio` to a keyboard shortcut. That's how bad it got, and it was like that for 2 releases!

<comment><USER3> I agree that they should provide optionally new versions of LibreOffice, Gimp, and similar software for LTS releases. But I think it's highly unrealistic that this will include more than a few selected software packages. It takes probably quite some effort because Linux software is not only constantly changing but so are the dependencies. At some point it simply is not possible to use new software with an old plumbing. E.g. some package might depend on a newer version of gnome-libs which depend on a new version of something in the plumbing layer.

As far as I see it the non-LTS releases are just the beta tests for the next LTS release. But somehow Canonical does not seem to fully agree with that. If I remember correctly the biggest issue with PA was that it was introduced in an LTS release. They should have probably waited one release and use the 4 releases to get it right.

btw. PPAs and backports can help you if you want new versions in older releases.

<comment><USER4> Actually, they're moving towards having many more applications updated and added for stable releases. Ubuntu's developer portal now has a system where developers can upload their own apps to the software centre, separately from the Ubuntu release cycle. It's still a work in progress, though - they've had some trouble scaling it up.

Traditionally, distributions have been responsible for packaging 'upstream' software, which quickly becomes a bottleneck as more software is created. The key is getting developers to do the packaging themselves, aided by automated systems.

</comment></comment></comment></comment></comment><comment><USER5> Canonical have never made their financial structure public so we can't judge what is actually going on with revenues and expenditures. It is certainly the case that they have a large staff (there are _six_ members of the community team alone) and I recall past claims that half of Canonical employees were working on Launchpad!

What is happening is that Ubuntu is going through the normal lifecycle of Linux distributions. They all start out because existing distributions are not paying attention to detail, and have a close focus. Then success broadens scope and spreads people out thinner and thinner. This inevitably means paying less attention to detail and leads the formation of new distributions, and a repeat of the cycle.

A sample of one (myself) is eagerly awaiting a distribution paying attention to detail to replace Ubuntu on my systems.

<comment><USER6> I've been hearing good things about Elementary: <http://elementaryos.org/discover>

<comment><USER7> Never heard of it before yet it looks really good!! One thing though, I would really like distro's to distance themselves from the Apple look-n-feel. I think UI innovation only happens if people is willing to try different approaches. But at the same time I realize am not the normal user, I guess that if it brings more novice users to Linux is a good thing in the end.

</comment></comment></comment><comment><USER8> _Years ago_ I used to blog about Ubuntu (<http://www.devside.net/blog/category/ubuntu>) and got some good traffic. But it never made sense to me, commercializing the Desktop had been shown to be a failure.

But take it from 2008 for yourself -

 _Ubuntu's Shuttleworth: "I don't think anyone can make money from the Linux desktop."_

[http://blogs.computerworld.com/ubuntus_shuttleworth_i_dont_t...](http://blogs.computerworld.com/ubuntus_shuttleworth_i_dont_think_anyone_can_make_money_from_the_linux_desktop)

<comment><USER9> So by "selling sevices" he meant selling his community to Amazon.

<comment><USER7> That is an inflammatory comment without any real basis. Nobody is selling any community to Amazon, that is plain and simple bullshit.

Let's call things by their real name. Was the move to add the Amazon powered search a mistake? Totally, especially since most of the Ubuntu community are tech folks like us who are specially averse to this sort of things. However the _actual_ effect is almost zero, since it is very easy to disable. How is this, once again, selling the community?

<comment><USER10> I think you misunderstood. Anyone who sells advertising space sells their audience to the advertiser. Simple as that.

</comment></comment></comment></comment><comment><USER11> I'm an Ubuntu user since a few years. I made Canonical some money by buying some software in the software center (games actually). And I don't think that I'm alone with this.

But they are not only desktop. Juju (deployment) and Landscape (like Active Directory, but different) are products that certainly make them some big business income. And there is the support. It's not like they would avoid the Red Hat / SuSE revenue model.

Then there are things like the Steam beta, that's upcoming on Linux (and Steam folks having a session at Ubuntu developer summit).

Point is, there are always very vocal people that don't like something. It's human. I don't buy it.

My view: Mark Shuttleworth created the most popular desktop Linux. And I see it around. And I have shown it to people and they have started to use it.

I don't worry about Ubuntu. And if it is a mistake, I'd like to do one like this all the time.

ps. I'm over 30 now, and I see people blowing off a lot of steam all the time. Specially in the press. Every one has an opinion. I don't buy it. Show me an article from someone who managed to achieve similar, you get more credible in my eyes.

pps. Off topic, but I think South Africa is curious. I don't know it close up, but Mark Shuttleworth (Ubuntu) and Elon Musk (SpaceX, Tesla). I really think these people have a vision, and not only 'how to make the most money'. More like, 'how to make money and move things forward'. I like that.

</comment><comment><USER12> There's nothing wrong with Ubuntu making money or wanting to make money. I haven't seen anyone have a problem with that. The Amazon search result addition, however, was just a bad feature. It was reminiscent of windows software installing ie toolbars or other adware.</comment>


Hospitals Must Now Post Prices. But It May Take a Brain Surgeon to Decipher Them - <AUTHOR> https://www.nytimes.com/2019/01/13/us/politics/hospital-prices-online.html <comment><USER3> Any business that can afford to splice, destructure, and recompose their pricing into undecipherable mess is a strong sign they're doing too well, and have an unhealthy stronghold on their customers.

If the markets are free enough I'd imagine some hospitals coming up with reasonable price lists that amortise the variance between successive operations and between the hospital and the patient. Most calls are routine anyway.

Even car repair shops are able to quote rough price ranges even if they face a lot of unknowns. They will call you back if they find something else, and at least locally should the mechanic commit to a fixed offer he's only allowed to deviate from it by X percent. And routine jobs are generally advertised with fixed prices. The shops will undoubtedly swallow some of the accidental costs themselves to provide tighter quotes which is what customers like.

Surely treating a human patient is more involved than that but the mechanism for pricing doesn't need to be. The hospital can calculate how much extra they need to add in the fixed prices to be able to "insure themselves" against the rare pathological case, to some extent. There's always the route of escalation from a routine operation to operating an acute trauma, but I can't imagine that would be common enough to explain the inability to provide reasonable quote ranges.

<comment><USER4> "splice, destructure, and recompose" \- this gives the impression that they're making complicated on purpose. In this regard you're giving them way, way too much credit. I can practically guarantee they're just dumping a report (or more likely a union of several reports).

It is a giant bureaucracy that has had zero price pressure to force them to simplify. It is a function of 30 years of new inventions, complicated laws and IT as an afterthought. It akin to asking the IRS exactly how many taxable transactions exist. They have no effin' idea. They'll just push the 74,000 pages of the tax code at you and say "you figure it out"

</comment></comment><comment><USER5> This seems like a great opportunity for a company to invest serious time and money into creating a better-centralized database which will allow people to decipher and compare prices. It sounds like a highly-complicated task, but if someone can pull it off, that would be huge.

<comment><AUTHOR> The opportunity is likely more B2B than B2C, where insurers are more apt to negotiate down prices if they see they are "overpaying" based on comps.

GoodRx already does this somewhat with prescription medication, by getting pricing data on prescriptions from local pharmacies.

Perhaps, based on the GoodRx model, the opportunity is to improve price pressure on recurring procedures for patients who require ongoing dialysis treatment, dermatology care, physical therapy, etc. For emergency based care in hospitals, I still don't think it's a major net-win for consumers, as you don't care enough to ask about price when your leg is broken.

<comment><USER6> As a non American, based on what I've heard of the US system, I would absolutely ask about price for any medical treatment in the US if I was still physically capable of asking.

Haven't broken a leg, so can't be sure whether I'd be functional - <USER2> depends on how bad the break is :D

<comment><USER7> You can try, but the answer is likely to be "we don't know, ask the billing department afterwards".

<comment><USER6> Ha, yeah, I can imagine :-/

</comment></comment></comment></comment></comment><comment><USER8> Americans must think markets are like Gods. If we could previously say, "Kill 'em all and let God sort them out." Now we can say, "Starve them all and let markets sort them out."

The only difference is in who we outsource our morality to. Either way we, as mere mortals, are not responsble for determining morality. Or quite literally in this case, who gets to live and who gets to die.

The markets will fix it. Believe in the markets. They are our saviours and they are a fickle beast that we mere mortals cannot understand. Their actions are mysterious and their outcomes capricious, but we must believe because they are the one true God.

<comment><USER9> MArkets are people. When you make your rhetoric on markets what you are actually raging against is the desire of human beings: that is what you despise.

<comment><USER10> Don't hate the player, hate the game.

<comment><USER11> That's a copout if I've ever heard one.

A few years ago, there was a game some adolescents would play where they would run up to an unsuspecting person person and bludgeon them as hard as possible to knock them out. There have been variants of the same pattern of behavior except involving strikes to other areas.

It is _absolutely_ justifiable to hate a person for engaging in a _game_ that involves inflicting harm on others. This attitude to hate the game rather than those forcing it on everyone else just seeks to divest blame from the actors that perpetuate the malignant activity, to an assumption that "the game" is some mysterious standalone force that subverts the will of the participants and justifies their innocence.

In short, "the devil made me do it" is not an excuse for poor moral choices.

Lets take it even further.

I have a game.

I'm going to get all the lifesaving equipment I can, and open a facility. This facility is going to specialize in a particular type of highly asymmetric transactions, and I'm going to do everything I can to inflict the greatest financial harm I can, because gee, the way we keep score mandates I do so to keep the game going.

It's a hard realization to come to, but as human beings and individuals, our _collective_ behavior is dependent and a composition our individual choices.

And for a not insignificant portion of our population, we have succeeded in allowing it to scrape together a world around itself where maybe it takes a week to explain the technicalities, but it doesn't take a layman more than an a 15 minutes to come to the conclusion there is something seriously wrong.

This is one of those cases where rationalization has been left unchecked or unquestioned for far too long.

To wrap around to the true meaning underlying your aphorism, which is diluted without context:

Don't hate the market participants for participating in the market; but feel free to call out the hypocrisy of dealing in grievous financial harm in trade for necessary care. If you can't question or shame the actions of the ones perpetuating the status quo, you'll never change a blessed thing.

Mrs. Bloom in Accounting is still a part of it. Even if she'd rather not think about it.

<comment><USER12> I agree with most of your post but do you have any evidence that "the knockout game" was an actual thing and not just a few unconnected instances played up with scaremongering?

</comment></comment></comment></comment></comment><comment><USER13> I've checked out the price lists from the hospitals in my area. They are useless. It's clearly a case of malicious compliance, and it seems to have been done universally and consistently across different markets, suggesting a criminal conspiracy to evade the law.

Hospitals are already dangerous to go to since either the hospital is not covered by any given insurance plan, or the doctors at the hospital are not covered. It's pretty much impossible to get taken to a hospital that actually accepts your insurance and be treated by doctors who also accept your insurance. This has been bifurcated so precisely that it also indicates an intentional and designed conspiracy.

<comment><USER14> > It's clearly a case of malicious compliance, and it seems to have been done > universally and consistently across different markets, suggesting a criminal > conspiracy to evade the law.

Do you really believe this is a conspiracy instead of, you know, healthcare is complicated and the US market isn't working?

Knowing something about hospital pricing, I looked at Johns Hopkins Hospital pricing and it looked perfectly legible. Item pricing in healthcare is pretty useless, that's just how it is.

<comment><USER15> > Do you really believe this is a conspiracy instead of, you know, healthcare > is complicated and the US market isn't working?

Yes -- and I think it's pretty well documented. Though less conspiracy and more regulatory capture. Between several insurance companies - patients, doctors, and hospitals - , "not for profit" ever expanding and state sponsored hospitals, medicare, lost bills, medical debt, and somewhere in this, medicare and medicaid.

<comment><USER14> Hence the "US market isn't working" part. None of that is new and it all explains perfectly why the price listings are useless. Which is why suggesting a criminal conspiracy to evade the price listing law is ridiculous.

</comment></comment></comment></comment><comment><USER16> These price lists look like "malicious compliance."

Based on the quality of published data, one could rank hospitals in order of probable honesty. Crowd sourcing estimated bills based on price data vs. actual bills would provide another metric.

If we in tech treated hospitals as being engaged in predatory wealth destruction, we could probably make a dent in the harm they cause. The most authoritative data could come from medical bill debts in collection, with signals in regard to how likely a given hospital is to make an egregious claim.

</comment><comment><USER17> I'm baffled that in comments people in all seriousness say things like "a great opportunity for a company to invest serious time and money into creating a better-centralized database" and "a great opportunity for startups who does price/cost aggregation and comparison".

Are you serious?!

It's not even like trying to cure the symptoms of a disease. It's like trying to treat a symptom of a symptom with essential oils.

<comment><USER18> What's the underlying disease?

And, even if this isn't the path you'd like our healthcare system to take, isn't this new state of affairs a big opportunity for some startup?

<comment><USER17> The underlying disease is the healthcare system in the US. No amount of startups will fix that.

<comment><USER19> Of course, but it's going to take a long time to really fix that. In the meantime, scraping some websites and aggregating their data could help.

</comment></comment></comment></comment><comment><USER20> _The data, posted online in spreadsheets for thousands of procedures, is incomprehensible and unusable by patients — a hodgepodge of numbers and technical medical terms, displayed in formats that vary from hospital to hospital. It is nearly impossible for consumers to compare prices for the same service at different hospitals because no two hospitals seem to describe services in the same way. Nor can consumers divine how much they will have to pay out of pocket._

I took a look at the Vanderbilt charges[0] mentioned at the top of the article. If they could at least provide proper medical codes for procedures like they did in the drugs export, that would make it a lot easier to cross reference procedures/etc. between hospitals.

You can look through my comment history on my complaints about it, but if these csv files or pdfs were generated with jasper reports or mirth connect (any other integration engine), its a shame that they missed out on either one extra column or one extra join to get all their corresponding codes in their exports.

To the other comments' points, yeah someone could go ahead and start cross referencing codes, if they were all there, but the problem is that most systems are usually behind in code systems (e.g ICD9 vs ICD10) or they are made up using their own internal codes. You might end up with yet another set of standard codes that you would have to map to the official codes.

Here are some value sets[1] that are listed on the HL7 site. If anyone did want to tackle this problem, start there to at least get a baseline in the types of labels/descriptions you will be seeing across the board.

[0] [https://finance.vumc.org/chargemaster/](https://finance.vumc.org/chargemaster/)

[1] [http://hl7.org/fhir/us/core/terminology.html](http://hl7.org/fhir/us/core/terminology.html)

CPT - [https://www.ama-assn.org/amaone/cpt-current-procedural- termi...](https://www.ama-assn.org/amaone/cpt-current-procedural-terminology)

SNOMED - [http://www.snomed.org/snomed-ct/get- snomed](http://www.snomed.org/snomed-ct/get-snomed)

ICD-10 - [https://www.icd10data.com/](https://www.icd10data.com/)

RXNORM - [https://www.nlm.nih.gov/research/umls/rxnorm/](https://www.nlm.nih.gov/research/umls/rxnorm/)

<comment><USER21> Having had some experience with both SNOMED and RXNORM (for scraping and ETL for updates), you need login credentinals for both and I'm not sure how much they cost.

Also they come in some large zip files (some are nested) so if you want to process it efficiently you should probably think about reading a particular file located inside, write to disk, process it, and deleting it and move on to the next without extracting it as whole.

</comment></comment><comment><USER22> Why do we always act like brain surgeons are any smarter than -- well any other type of surgeon?

It seems to me it is mostly a dexterity thing. Much like a good butcher.

Don't get me wrong. I am not trying to put down brain surgeons, I just think their job is less brain power and more physical performance.

<comment><USER3> Not necessarily smarter than... other scientists: [https://www.youtube.com/watch?v=THNPmhBl-8I](https://www.youtube.com/watch?v=THNPmhBl-8I)

</comment></comment><comment><USER23> This article strikes me as unnecessarily negative. This only began to roll out as of Jan 1, and the dust is still settling. Even if it's not perfect, it's still an improvement over the previous situation and I'm sure it will be iterated on.

<comment><USER24> It's a NY Times about something the Trump administration did. Relatively speaking, its surprisingly positive.

There is a benefit to publicize the program and its shortcomings, so I am happy they wrote it up.

</comment></comment><comment><USER25> Here is the link to Vanderbilt's pricing [1] mentioned in the article. Has a few CSVs and PDFs, also Johns Hopkins[2].

Searching google generically for the term "chargemasters csv download" seemed to uncover a few more hospitals.

Interestingly, I tried searching for "chargemaster" on Google Datasets search[3], and it only came back with one file. I think this shows the work needed to be done in this area (datasets search).

[1] [https://finance.vumc.org/chargemaster/](https://finance.vumc.org/chargemaster/)

[2] [https://www.hopkinsmedicine.org/patient_care/billing- insuran...](https://www.hopkinsmedicine.org/patient_care/billing- insurance/billing/charges-fees.html)

[3] [https://toolbox.google.com/datasetsearch/search?query=charge...](https://toolbox.google.com/datasetsearch/search?query=chargemaster&docid=05ZyhHyKdkjXc1p3AAAAAA%3D%3D)

</comment><comment><USER26> This is a great opportunity for startups who does price/cost aggregation and comparison.

</comment><comment><USER27> In case anyone was curious, there isn't a centralized list of everything yet. All the chargemasters are posted on the individual hospital websites.

<comment><AUTHOR> I have a feeling some of these non-profits that are mentioned will take a crack at creating a centralized index. But, it sounds like it'll be a borderline impossibility to make it accurate and useful.

To me, the argument that people can "shop around" for healthcare is just peculiar. For elective / non emergency scenarios, I get it. Dentists, for example, are more likely to face pricing pressure, given that dental work tends to be non-emergency. However emergency care, which is where insurance really matters, is by definition an emergency. If you cut off a finger, you don't call ten hospitals to find out who will stitch it on the cheapest. You head to the nearest hospital so you don't lose your finger!

I'm generally quite sympathetic to Hayekian economics, but the model doesn't strike me as universal (which doesn't make it flawed, just not some grand unified theory). Behavioral economics change during time sensitive & life threatening situations in a way that "throw the rulebook out the window", so to speak.

<comment><USER28> Most healthcare costs are not emergency care; its probably somewhere from 2% - 10% of healthcare costs: [https://www.politifact.com/truth-o- meter/statements/2013/oct...](https://www.politifact.com/truth-o- meter/statements/2013/oct/28/nick-gillespie/does-emergency-care-account- just-2-percent-all-hea/)

</comment></comment></comment><comment><USER25> Here's all of the California data:

[https://oshpd.ca.gov/data-and-reports/cost- transparency/hosp...](https://oshpd.ca.gov/data-and-reports/cost- transparency/hospital-chargemasters/2018-chargemasters/)

[https://data.chhs.ca.gov/dataset/hospital-annual- financial-d...](https://data.chhs.ca.gov/dataset/hospital-annual-financial- disclosure-report-complete-data-set)

<comment><USER29> Read a random one, "Kaiser Foundation Hospital - San Francisco", Common25 is quite readable. but "CDM" is exactly as described in the article, it's basically an endless list of codenamed items.

> Emergency Room Visit, Level 2 (low to moderate severity) $1,185.00

> Emergency Room Visit, Level 3 (moderate severity) $2,105.00

> Emergency Room Visit, Level 4 (high severity without signigicant threat) > $3,263.00

> Emergency Room Visit, Level 4 (high severity with significant threat) > $5,009.00

I guess that's the very minimum base price, quite offensive for an european like me.

<comment><USER30> Yes, here the emergency rooms are not allowed to even ask for name in case it will be a deterrent for an illegal immigrant to seek health care.

Health care is a basic human right.

We had an incident where a hospital here tried to charge an illegal for giving birth. It was an uproar in the news for weeks and the bill was dropped and hospital fined.

</comment></comment></comment><comment><USER25> Found this github repo[1] about a proposed schema etc, and a wikipedia article about chargemasters[2].

[1] [https://github.com/docgraph/Hospital_Charge_Master_Data_Sche...](https://github.com/docgraph/Hospital_Charge_Master_Data_Schema)

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

</comment><comment><USER31> Soon there will be Lemonade style app driven per hospitalization insurance on top of normal health insurance where for elective procedures you will be able to protect yourself from surprises like balance billing etc.

</comment><comment><USER32> A step almost. The price charged to direct payers will not be the same price billed to anyone else, so fraud is still abound.

</comment><comment><USER33> Nothing that a few convictions of hospital executives / accountants for fraud can't fix.

<comment><USER34> Seem to remember insurance sets pricing somehow not the doc/hospital? One of the reasons they don't have an answer to that question is it depends on what your insurance carrier negotiated with the care network the doctor is probably loosely affiliated with because it was required by whoever now controls the administration in the builsing they currently work...except more complicated and less direct with lots more opportunities for people to pad the price another few % for each layer of abstraction because abstraction is always free.

</comment></comment><comment><USER35> Priceline for hospitals, when?

<comment><USER36> Heart attacks, for one, don't wait for them to accept your offer. Also when you call 911 they decide where to take you.

These lists are useless. God knows how many of those charges will they tack on your appendectomy, from unwrapping the syringe to administering the $4 pain killer.

What we need is is a simple list like some surgery centers have. This operation will cost this much and includes everything.

<comment><USER19> Most hospital visits are for non-emergency care. Even for emergencies, I've put several people in ambulances over the last couple years and the drivers always asked which hospital we wanted.

You're certainly right about needing total costs.

</comment></comment></comment><comment><USER37> I wonder how they got the raw hospital price data, is it published anywhere?

<comment><USER38> Just run a search for '<your local hospital name> chargemaster'. I found my hospital's price sheets in xlsx format easily.

Just had a CT done a couple weeks ago for abdomenal pain, $750 without contrast according to the sheet (if I did not have insurance).

I looked into costs for past procedures I had done in high school. I had kidney stones at 16. Lithotripsy was required which alone would have cost ~$65k according to the sheets. Tallying up the other minor stuff like meds and facility fees would have brought me close to $100k.

Now you argue, 'well insurance pays less'. Of course they do. But I had experience in my mid-20's having to use hospital services without insurance. Rabies shots came to around $17k billed, I paid around $2k, and spent a year fighting to have my credit brought back to normal (hospital never applied a payment from a CDC program then reported me to collections).

<comment><USER39> > Rabies shots came to around $17k billed, I paid around $2k

Am I understanding something wrong or what ? Rabies vaccinations are something about $10 in India. I knew prices are up in US but this seems another level.

<comment><USER40> Yeah, this is real. Cheaper to fly to India if you don't have insurance and need medical care.</comment></comment></comment></comment>


Confessions of a Former Bastard Cop - <AUTHOR> https://medium.com/@OfcrACab/confessions-of-a-former-bastard-cop-bb14d17bc759 <comment><USER2> 'We used to have informal contests for who could cite or arrest someone for the weirdest law. DUI on a bicycle, non-regulation number of brooms on your tow truck (27700(a)(1) of the California Vehicle Code)… shit like that. For me, police work was a logic puzzle for arresting people, regardless of their actual threat to the community. As ashamed as I am to admit it, it needs to be said: stripping people of their freedom felt like a game to me for many years.'

'In fact, let me tell you about an extremely formative experience: in my police academy class, we had a clique of around six trainees who routinely bullied and harassed other students: intentionally scuffing another trainee's shoes to get them in trouble during inspection, sexually harassing female trainees, cracking racist jokes, and so on. Every quarter, we were to write anonymous evaluations of our squadmates. I wrote scathing accounts of their behavior, thinking I was helping keep bad apples out of law enforcement and believing I would be protected. Instead, the academy staff read my complaints to them out loud and outed me to them and never punished them, causing me to get harassed for the rest of my academy class. That's how I learned that even police leadership hates rats. That's why no one is "changing things from the inside." They can't, the structure won't allow it.'

<comment><USER3> I remember bullying when I was a kid. It can be intoxicating. Seems like many or most American police forces are just "being a bully as a profession."

<comment><USER4> > I remember bullying when I was a kid. It can be intoxicating. Seems like > many or most American police forces are just "being a bully as a > profession."

It was clear for anyone who has had to deal with LEO to see that they openly vett for those qualities seen in grade-school bullies in their hiring: low IQ, poor academic performance, often troubled and broken home life, possible mental defects that lead to violent tendencies and a propensity for intimidation.

I'd say that's quite accurate, most people here have had a very skewed perception of Police as some sort of _misrepresented_ entity and only are now starting to see just how systemic it is. Seeing them shot journalists, tear gas peaceful people, and use excessive force with compliant citizens is nothing but the norm.

But, we've been here before and the pressure needs to be applied to PDs all over the US that this will not be tolerated any longer. Some did give into protesters, but that is not enough in my opinion.

> I find the post hard to believe. There's zero evidence any of this is real.

Police budgets need to be slashed until they comply, which means they lose their pensions without meeting very clear defined benchmarks and officers who have records for misconduct need to be tried for their crimes as any civilian would, instead of just using the same tired 'bad apple' apologist narrative like the one above.

The fact that we allowed them to be Militarized should be seen for the stark and immense folly of what happens to a Society that becomes apathetic and desensitized to perpetual erosion on Civil Liberties and Law itself; I still can't fathom who the hell anyone thought Civil Asset Forfeiture was anything but a State Sanctioned shake-down/extortion racket on the populace, because even if you are proven to be innocent the State doesn't have to return the stolen property, and as some exposes revealed [1] they often used it for their own personal largess.

And this is typically seen if you have ever gone to court, or jury duty, there will be a litany of cases you'll hear about dismissed cases needing to appeal for the money or property taken from them upon detainment or arrest. Its sickening, because even if it is dismissed you still have to pay them for the duration of your arrest, and then to have the records of the arrest/detainment be removed, as well as have any DNA records expunged from the records.

This entire system has to be rebuilt, it simply doesn't serve the People who fund it. And most will never realize that until its too late and they found themselves marred by the very system they condoned.

1: [https://www.forbes.com/sites/instituteforjustice/2014/06/05/...](https://www.forbes.com/sites/instituteforjustice/2014/06/05/cops- in-texas-seize-millions-by-policing-for-profit/#1a689c4f1a81)

</comment></comment></comment><comment><USER5> Unverified. Anonymous. Single-post account.

I really, really want to read and hear candid views from California police officers. But I can't take this in and let it play out on my biases in this form. I definitely can't use it to persuade anyone else, so I don't want to be persuaded by it, consciously or otherwise.

Perhaps it's entirely true and the author found it cathartic to read and publish.

<comment><USER6> Michael Wood Jr.[1] was a former marine, who later became an LEO in Baltimore, then later quit and told his story around 2015. He has written a book, done tons of interviews (including a Joe Rogan), and spoken up about how corrupt he believes his former department to be.

Of course Baltimore might be an outlier (very urban and high crime), but it's a data point from the perspective of an articulate person.

[1] [https://www.bbc.com/news/world-us- canada-33293421](https://www.bbc.com/news/world-us-canada-33293421)

</comment></comment><comment><USER7> > I don't want to center the conversation on myself and my big salty boo-hoo > feelings about my bad choices. It's a toxic white impulse to see atrocities > and think "How can I make this about me?"

I just don't buy this. I think this is not written by a cop at all. Such weird characterizations and worded with a of political ideology. It goes on and on. I can't tell if it's trolling or if someone used a bunch of stories and known tactics to create a composite character. Especially an account with little else contributed. Especially on Medium which is an extremely progressive haven. I just think this is bullshit but would probably be accurate to some cops lived experience.

<comment><USER8> Yeah, without even reading it this set off a number of red flags for me. If this person is real, they should submit their story to a journalist at a major publication who can verify their identity without making it public.

<comment><USER6> You mean they wouldn't name their Medium user "Ofcr A. Cab"? No Way!

ACAB = "All Cops Are Bad/Bastards"

<comment><USER8> Hah, didn't even notice that.

</comment></comment></comment></comment><comment><USER9> I am a law abiding citizen and only had a handful of situations when I had to deal with police and all of them were absolutely awful: 1) found a wallet with some documents,cards,etc. Went to the police station just to be told they don't have facilities to store such items and suggested to destroy the cards,as the person would have changed them all anyway. When I visited the same station second time, I noticed an entire safe with a massive label saying 'lost items'.. 2) My bag got stolen just outside an office building. Went to the police to report it just to be told that maybe the street cleaner swept it away. Told him that it all happened in front of a CCTV,so it'd be quite easy to figure out who did it.Came up with zillions of excuses. Ended up going to the office building and talking to the security guy myself.Turns out they have a dummy camera outside,even showed the internal coverage on his screens. 3) Customer went bananas and threatened (over the phone) to kill everybody in the office, put bombs,etc. Had to report to the police. The whole thing lasted two hours.The policewoman was like: you know, people make jokes, sometimes they say things they don't mean,etc. So why do you want to report it,etc.. Eventually she took all the details and said: well,you know,if he tries this again, or if he shows up at the office, here's the case reference, call on this number,give the case ref and we'll update the case with new info.Yes,sure,I was thinking, a guy shows up with a gun at my office,I try to escape and call police while I run: 'oh hi officer,I have an update on a case.Yes,I do have a case reference.. The experiences of some friends are usually much worse.

<comment><USER10> I learned similar lessons about police when I was a kid. We would get burglarized almost every year by the same house down the street. Every time we called the police they would show up a day later and spend most of their time doing nothing and trying to blame us for getting robbed. They cared so little about actual crime.

At the same time some cop from the same department wrote up my brother for "Riding a motorcycle on the sidewalk while not wearing a helmet on his bicycle, crossing a street (Pedestrian) without a walk sign, and running a red left turn in a car. He got 200 hours of community service because the judge (Not really a judge but some ticket approver clerk) decided he didn't care if it made sense. He was doing community service next to a guy that beat and robbed an elderly woman who got 40 hours instead...

Then we moved to a different city and the sheriffs there were GREAT. You would meet them out and about and they would say hi and hang out. They actually cared about their jobs and spent their time keeping the community safe. Report a car stereo stolen to them and they would set up stings and bait cars! For a car stereo!

The first city was leasing their cops from a notoriously bad city next door. The second city funded their own Sheriff, spent tons of money on them to keep them well trained, and was super politically active (Mostly retirees). Both cities were within 50 miles of each other.

Consistency of police in the USA is all over the place. I think the ACAB movement is missing something. They are alienating the groups that can actually make a difference with policing. The LEOs who are actually good at their jobs and the people who honestly cherish them. At the same time I know what kind of cop they are really after!

</comment></comment><comment><USER11> It would be good to know if there are place in the US, or in other countries, that handle these matters better than what he is describing.

That's both to know if it is possible, and if it is what are the practicalities in making it work.

</comment><comment><USER12>
        That's how I learned that even police leadership hates rats.
        That's why no one is "changing things from the inside."
        They can't, the structure won't allow it.

</comment><comment><USER13> >It's a time that I acted as a violent agent of capitalism and white supremacy.

With this he lost me a bit on trustworthiness. What the hell does capitalism have to do with thuggish policing? Many European states with generally decent cops are quite capitalist (not to mention Canada just to the north of the U.S) and many socialist/communist states were famous for the brutality of their police, just as are some essentially "capitalist" countries. The narrative of capitalism somehow being the cause of police brutality needs to be split up as the ideological nonsense that it is.

I don't even think white supremacy so specifically defined is a major issue here. Racism definitely exists in the police forces of the U.S but it's also often black or Latino or Asian cops who are just as heavy handed as their white companions.

<comment><USER14> Capitalism is not binary - the countries you mentioned are predominantly capitalist but have more robust social safety nets for people in need. They also (generally) don't have things like civil forfeiture, for-profit prisons, "cash" bail and corporate control of politicians by "donation". All are aspects of capitalism taken to the extreme (IMHO).

I agree it was suspect wording though. It would have served the author better to focus on the vast income equality that exists in the US "version" of capitalism.

<comment><USER6> > Capitalism is not binary

I think this is the biggest problem with political discourse right now. We don't really have the vocabulary to accurately describe the status quo or a desired end state we should aim for.

<comment><USER14> I agree. It's especially difficult since the "S" word has become synonymous with "anti-American" due to (mostly) conservative rhetoric.

</comment></comment></comment></comment><comment><USER15> One thing I haven't seen surface in the conversation on police violence is discussion of the use of steroids by the police.

</comment><comment><USER16> We don't need the confessions, we have video evidence.

Save it.

<comment><USER17> If you cannot accept contrition when it comes, even if too late for your tastes, you're just as bad as those you detest, and complicit in perpetuating the same cycle of sin.

If you want to lay claim to the moral high ground, you still have to actually _act_ as one that must that inhabits it. Not merely abstain from the extrema of behavior of those you deem lessers through their actions.

It's refreshing to at least have one admit it, and you should be thrilled to see that even now, sentiment amongst those you consider guilty is turning them toward the path of redemption.

Unless, again, you're just as bad as they are, and you're just looking to change the subjects of suffering in the world instead of reducing the overall amount.

It isn't exactly an uncommon personality trait. So at least you're in good company if that is the case.

<comment><USER16> My critique is mostly tactical, as in, I am literally saying 'we don't need you in this discussion anymore, even to provide insight'.

This is something that can happen after egregious patterns over time. It is a valid consequence.

There's almost nothing they have to lend to the debate anymore, those opportunities existed for ages.

We'll fix this without them. My stance on this is as valid as their need to have a say.

If this stance is a problem that ails the world, that's fine, it a better problem than what comes with whatever police have to express at this point.

It's a better problem.

Edit: I just want to add, the cop is also admitting to crimes. Is the modern blog post ornamentation? Where you can dress yourself up in absolution? Wonderful you put it in blog form. We have no time for it, plus your guilty of crimes. How poetic.

<comment><USER14> >we don't need you in this discussion anymore, even to provide insight

I strongly disagree. This article has given me more insight into the _process_ by which a cop "becomes evil" than literally any other piece I can recall. I hope it's authentic but who knows.

>If this stance is a problem that ails the world, that's fine, it a better problem than what comes with whatever police have to express at this point.

I feel like I read an entirely different piece than you did... the author _is not_ a police officer. He's a _former_ police officer who seems to have genuinely come to hate the profession as much as _anybody_.

Edit: To clarify, I agree with the notion that the system is broken. Which is why we _absolutely_ should be listening to (former) cops who acknowledge its failures.

That is, assuming this post is legit of course. I'm inclined to think it is, but in this day and age who knows.

<comment><USER4> > I strongly disagree. This article has given me more insight into the process > by which a cop "becomes evil" than literally any other piece I can recall. I > hope it's authentic but who knows.

Then its clear you have been the fortunate few who have never had to be subjected to the perverse legal system in the US, or spent any time in low income areas where those tactics are 'business as usual' in what is referred to as policing. This is the norm, shows like The Wire or even Treme (both made by the same director) are just as much documentaries and exposes as they are entertainment. The latter skewing into some sort of misery porn.

And to be honest, given this is Hacker News, that doesn't surprise me. I just wonder if it ever occurred to you what the plight of those immense amount of homeless people is, and what happens to them when they're no longer in sight?

> I feel like I read an entirely different piece than you did... the author is > not a police officer. He's a former police officer who seems to have > genuinely come to hate the profession as much as anybody.

Again, proving the point that this is not something that has only just occurred out of no-where, but is seemingly systemic in the very system we're discussing. Again, no one involved with any activism is surprised by what just occurred with Police, we've all seen it up close and been subject to it, its what you understand going into them.

What was remarkable was how surprised the rest of you were towards them, and how often people are still quick to rationalize their behaviour. This is what authoritarian regimes do, they bolster the police to enforce political decree, not Law. Look at Hong Kong, its way more pervasive than you think and it stems from the same thing.

<comment><USER14> Whoa. I've never had a comment of mine so wildly misread. You even managed to throw in a personal attack and a diatribe against all of HN. Incredible.

We're in total agreement that the entire system is corrupt. I can't for the life of my understand why you interpreted my comment to mean anything else.

<comment><USER4> > Whoa. I've never had a comment of mine so wildly misread. You even managed > to throw in a personal attack and a diatribe against all of HN. Incredible.

You disagreed with a post that suggests that this wasn't the case. As for the personal 'diatribe,' I've argued this POV here before these recent events to a great deal of opposition as if it was a non-issue. Its in my post History of you care to find it.

I even quoted a person in the thread denying the validity of these claims, as if they're even really needed to discern the obvious.

> We're in total agreement that the entire system is corrupt. I can't for the > life of my understand why you interpreted my comment to mean anything else.

Your post doesn't seem to suggest that, but if that's the case then I apologize if you think I was vilifying you.

But understand this is visceral for some of us that have been in the same position and have had our Lives thrown into disrepute for no other reason than 'pissing off' someone with a badge and a gun and saw no recourse for their violent behaviour.

I'm ultimately glad this happened, if only it allows the country to see what kind of despotism has creeped its way under the guise of Security since 9/11 that is normally kept out of sight from most People.

I mean did you see this recent article of the Pentagon targeting GenZ 'terrorists' in some perverse simulation in 2018:

[https://theintercept.com/2020/06/05/pentagon-war-game- gen-z/](https://theintercept.com/2020/06/05/pentagon-war-game-gen-z/)

<comment><USER14> Have a look at the quotes I was specifically replying to. I was simply disagreeing with the idea that we should ignore everything and anything that former or current police have to say about what's wrong with the system.

I think that's true especially in the context of this blog post. That is, someone who has (allegedly) served "the system" and now sees how pervasively evil it is.

Of course, I'm not suggesting we should give their input undue weight or that we shouldn't take it with a huge grain of salt. In fact — we may ultimately decide to ignore it altogether but.... the more information we have the better.

Your apology is accepted, thanks. I'll attempt to clarify what I wrote.

And wow, the link you posted is _positively terrifying_. I hadn't seen it, but I'm a big fan of what The Intercept does. Cheers.</comment></comment></comment></comment></comment></comment></comment></comment>


A Brief History of Private Money and Crypto - <AUTHOR> https://www.cryptocurrentsblog.com/cryptocurrents/this-time-is-not-different-a-brief-history-of-private-money-crypto <comment><USER2> I must say this article seems like a bit of rambling. However it is true that private and digital currency are not new.

The description of things like the Bank of England and so on seem to me a not very exact or well explained.

First, I would say that money does not always and everywhere require debt.

The point however stands that currency systems can often be private, independent of the underlying money. Meaning the underlying money could be a fiat money, a gold standard or bitcoin. Currency systems unlike money often involve some kind of debt.

If people are interested I would first consider:

\- Good Money: Birmingham Button Makers, the Royal Mint, and the Beginnings of Modern Coinage, 1775-1821 (Lecture: [https://www.youtube.com/watch?v=-gn55fTRXZw](https://www.youtube.com/watch?v=-gn55fTRXZw))

A more detailed view about free banking in Britain:

\- Free Banking in Britain: Theory, Experience and Debate, 1800–1845 ([http://iea.org.uk/sites/default/files/publications/files/upl...](http://iea.org.uk/sites/default/files/publications/files/upldbook115pdf.pdf))

</comment><comment><USER3> I like this post overall, but the idea that credit and scrip are the same as money and currency is a bad mental model to have. The difference is that credit and scrip are tied to a single business or institution, whereas the price of a currency is driven by the value that _many_ independent institutions contribute to a network.

Most cryptocurrencies today are glorified in-app tokens that just happen to be stored on a blockchain, but some of the few that are actually currencies will be worth trillions.</comment>


Ask HN: what message queue should I use? - <AUTHOR>

There are a myriad of message queue systems out there e.g. RabbitMQ, ZeroMQ, RestMS, etc. I would like to know which one HN users might be using in production and would recommend? <comment><USER2> We use ActiveMQ at work it seems to work pretty well. I play around with zeroMQ at home, it is a much different experience it is much more low level than RabbitMQ. It is more like a intelligent socket library rather than a message oriented middle ware.

</comment><comment><USER3> We use RabbitMQ. We use it with Celery (Python). I haven't had an issue with it, yet.</comment>


Show HN: Steerway - Share Tips and Libraries for Android Development - <AUTHOR> http://android.steerway.com/

<comment><AUTHOR> So I decided to build this because I want to find the best way of doing things on Android.

I'm an independent developer and learned Android on my own. I can get most things done but I'm not sure if it's the best way to do things.

There has also been a lot of libraries for Android lately and it's hard to decide which ones to use. I've been interviewing developers at startups and asking for the libraries they use. You can find Pinterest's libraries at <http://android.steerway.com/app/pinterest/>.

I also feel the same way for Django development so I should be opening the Django section soon.

Feedback is always appreciated.

<comment><USER2> Couple questions:

1) What differentiates steerway from <http://android.stackexchange.com/>?

2) Why is /collections included in the nav if it's NYI?

<comment><AUTHOR> Stack Overflow is Q&A. Most people go there to find a solution to a specific problem.

What I'm trying to achieve is to discover tips/tricks for Android development. I want to present it in a way that it's easy to consume. I spend at least an hour a day on Stack Overflow looking for things that might be useful for me but the Q&A format makes it harder to discover.

Collections is still in development. It's a way for people to curate tips.

</comment></comment></comment><comment><USER3> A natural(and good lookin) place to share tips is to write a Coderwall protip:

<http://coderwall.com/n/android>

</comment><comment><USER4> I notice that some of the tips have code examples and some don't. I know that people other than the author of the tip can post comments, but it may be useful if they could also post gists along with the comment. This way tips without examples could be fleshed out by someone other than the author.

I do like the site and I plan to use it!

<comment><AUTHOR> Yeah. I'll work on putting more details on the tips.

</comment></comment><comment><USER5> This is a great idea. I'm an Android developer and every now and then I think "I must be doing this wrong somehow". A list like that helps building a mental database of best practices, good job!

</comment><comment><USER6> Really good idea. Thank you for doing this.

</comment><comment><USER7> when are you going to open the Django section?

</comment><comment><USER8> nice work.</comment>


Mental Health Tetris - <AUTHOR> http://andrealyip.com/concepts/mental-health-tetris.html

<comment><AUTHOR> I'm a pretty technical person and the idea of using video game culture as a way to represent various personal/mental/social situations is quite interesting. Does this speak to anyone else? Very, very curious.</comment>


The myth of launch PR - <AUTHOR> http://sethgodin.typepad.com/seths_blog/2008/09/the-myth-of-lau.html

<comment><USER2> OK, I completely disagree with this. Sure, private alpha or private testing is necessary, but there is a time for a launch PR. We just had a fairly big launch when we went public, and we spent a lot of time and effort (not money) on it. I wouldn't have done it any other way - we now have thousands of visitors a day, and it's a steady stream. Without the big push, I'm not sure where we'd be today. I dont think you can depend on the 'build it and they will come' attitude. I prefer the "relentlessly focus on acquiring users" approach.

Still have to share the inside details on our launch. Will do so ASAP and hopefully other's can benefit or user some of our tips. we owe a lot to this community!

<comment><USER3> You see this rock? It keeps lions away...

</comment></comment><comment><USER4> I think the way to go for a most startups, save the likes of Amazon and Ebay, is a small quiet and private launch during which their product can be refined and tested.

It's easier to handle feedback from small number of, mostly, tech savvy users than from tens of thousands of, mostly, non-tech savvy users. And the feedback would be of greater quality.

Launch PR can always be done afterward, say when the site moved from private Beta, when the product is worth hyping up, by then the tech savvy won't give too much criticism.

</comment><comment><USER5> Launch PR can also hurt as well as help... consider Cuil... Great splash, but who cares about them now?

<comment><USER6> Cuils had a very well orchestrated launch that most start-ups could never get. They received tons of quality press through out the world, not just on tech- sites. They had over 2 million visitors in the first month... 2 million.

The media ate up the Google-killer angle but the product couldn't back up the marketing. If they didn't over sell the product then everyone would look back at how great they launched, but instead if backfired.

<comment><USER7> Agreed, I would have loved to have had Cuil's PR for my startup (even if it crashed and burned under the stress).</comment></comment></comment>


Enabling Remote Debugging via Private APIs in Mobile Safari - <AUTHOR> http://atnan.com/blog/2011/11/17/enabling-remote-debugging-via-private-apis-in-mobile-safari/

<comment><USER2> Check <http://iwebinspector.com> It's using your idea, it's a simple tool to use it

</comment><comment><USER3> actually not work for me. I've added the method on ApplicationDidfinishLaunchin...... (Xcode gives me a warning, I think it's normal) I can see the page listing, but the inspector doesn't report errors or warnings etc... If I open the page using the chrome inspector I see all the log. It's really frustrating (dbugging javascript in the uiwebview)

<comment><USER4> Do you use right iOS SDK? Do you have iOS SDK 4.0 in parallels?

It's normal that works on Chrome since it's based on WebKit too :)

</comment></comment><comment><USER5> Thanks much for the tip, this is exactly what I was looking for!!</comment>


GSuite ends password-based access for 3rd party apps Feburary 2021 (OAuth Only) - <AUTHOR> https://www.reddit.com/r/gsuite/comments/ebjrwl/less_secure_nonoauth_apps_will_cease_to_work/ <comment><USER2> What does this mean if you're using an app like Mutt for to access GSuite via imap?</comment>


Tinder for Developers - <AUTHOR> https://www.hakkalabs.co/logs

<comment><USER2> Interesting concept. Straightforward path to monetization (recruiting). Nice work!

What response rates have you seen? How many people keep their logs up to date?</comment>


More than 9,000 Britons are still using black-and-white TVs - <AUTHOR> http://techti.me/2015/12/28/more-than-9000-britons-are-still-using-black-and-white-tvs/ <comment><USER2> The fact is that originally B&W TV had much better picture than color TV. When they added the color subcarrier, the horisontal resolution was halved (from 600 to 300). I remember some memorable ski-jumping moments in 1960's which I tuned to perfect focus, as the scenery was black and white to begin with. Then they added color subcarrier and these programs become fuzzy and unwatchable also on BW receivers.</comment>


Node.js: Some quick optimization advice - <AUTHOR> https://medium.com/@c2c/nodejs-a-quick-optimization-advice-7353b820c92e <comment><USER2> This is a good thing to raise awareness of, but the solution is poor advice.

Asking developers to remember the "gotcha" of 600 characters is not really viable. Instead, if this is important to you, consider the addition of minification or comment stripping to your production deployment process. Minification will also make the variable names and syntax use shorter, saving you further precious characters.

Learn the problem, but automate the solution.

<comment> nevi-me In the context of the article being on nodejs code; I don't know about other developers, but I don't minify my production nodejs code because it runs directly on the server. Whether I have `var nameThatIsStupidlyLong` or `var nTISL` doesn't make a difference because size of code isn't a concern.

What do other developers out there do?

<comment><USER3> Yeah, but the whole point of the article is that the names of your variables (and even your comments!!) _do_ make a difference in performance.

<comment><USER4> In this one context, this one micro-optimization applies but for 99% of other cases, they don't (and shouldn't).

Note the 'benchmark' in OP is run 500 _million_ times to see the performance difference. This is definitely not a common scenario.

<comment><USER3> For me, it's more the principle of the thing. This just seems like an insane way for an interpreter to behave. Even more insane is the proposal of minifying server-side JS!

<comment><USER5> Not that insane considering many people are using things like Babel to run ES6/7 code. If you're already compiling that code to ES5 for production, there's no harm in also minifying things.

</comment></comment></comment></comment></comment></comment><comment><USER6> This is a microbenchmark. It's a tight loop that calls the function 500 million times. The function itself just adds two numbers. It's pretty close to the best possible improvement for inlining a function. If that's what your program does, and it's a big part of what your program does, then inlining it may be a big performance win. Even then, addressing this may not be a worthwhile tradeoff. Even then, as others have pointed out, you could use a minimizer.

If your program is not CPU-bound, or if it doesn't have a function that's called millions of times in a tight loop, or if that doesn't make up the majority of time spent on CPU, or if that function does more than execute a couple of instructions, then the performance difference will likely be enormously less.

<comment><USER7> I think the oddity here is that the function length takes the comments into account.

<comment><USER6> Agreed that's interesting (in a mostly academic sense), but the thrust of the post is about using that fact to make choices in writing code, and there's an awful lot of discussion here about that idea. That's what I was addressing.

</comment></comment></comment><comment><USER8> If you're wondering why comments are a factor at all, and aren't just discarded by the lexer, remember that comments in JS are preserved and available to things like `Function.prototype.toString()`. I've seen this used to do evil multiline string support a few times. Slap the multiline string or template into a comment inside a function and then have another function that toStrings it and strips the boilerplate.

This sounds like a horrifying hack but it's also pretty similar to how Angular's shorthand DI works.

<comment><USER9> > I've seen this used to do evil multiline string support a few times.

Love me some FOAM: [https://github.com/foam- framework/foam/blob/master/apps/todo...](https://github.com/foam- framework/foam/blob/master/apps/todo/js/com/todomvc/Todo.js).

<comment><USER10> That might be one of the scariest things I've looked at all day.

<comment><USER9> It only gets better. [https://github.com/foam- framework/foam/blob/master/apps/todo...](https://github.com/foam- framework/foam/blob/master/apps/todo/js/com/todomvc/Controller.js)

<comment><USER11> it's incredible that that project has 11,000 commits, a huge amount of effort has gone into it but the code is _really_ unpleasant to read. I feel like I must be missing something about FOAM - who is using it and why?

<comment><USER12> Let's stop trashing on people's work.

The success of an endeavor is proportional to the number of shitty hacks that have come before it. Sometimes this it true in a literal sense -- sometimes a project consists of shitty hacks. But the astute reader will notice that a hack is only known to be shitty because _someone did it_ , and had the courage to make their example public.

Do we reward their courage? No. We act like cliquish teenagers and rip them apart.

I don't mean to single you out. But this subthread consists of a developer at Amazon, an unknown, and a founder -- the very types of people I wanted to respect -- yet the content is little more than "Look at how stupid these people are." What kind of example are we setting here?

Be excited about X! Whether X is FOAM, Javascript, COBOL, C++, Python, Erlang, Scheme, NPM, ASDF, Vim, Stallman, or a song. Be happy. Be amused. Be anything but bitter.

In this instance, FOAM shows what's possible. Is it necessarily a good idea? Who cares! We've learned something new! Be excited!

How certain are you that an idea that strikes you as bad is actually bad? For every possible circumstance? What about with a slight tweak? In fact, "An idea that seems bad" is the short definition of "startup."

Most ideas that seem bad are, in fact, bad. But it's important to fully explore the problem space before dismissing them, else you'll dismiss Facebook.

This subthread is about a software technique, not a startup idea. But is it really such a different domain? Would the idea of Python have survived if it had been introduced in the era of Multics? It wasn't a compiled language, so it couldn't hope to survive back then. Yet its time was coming, whether or not it would have been dismissed at the time.

"Under what circumstances could this be a good idea?" That's the valuable question. And if you also have a good answer to "Why now?" then you may be onto something. In fact, you might be one of the first people to notice that an idea has flipped from bad to good. Seems like a pretty powerful position.

It seems like most influential work started as a hack. (TeX is a notable exception.) So if you want to do influential work, be delighted by hacks. It'll make them easier to explore, and you might end up in a position few others realize is valuable.

<comment><USER13> Most everyone agrees with you in general about the usefulness of "trashing other people's work", but I think your response here is disproportionate to the circumstance.

</comment></comment></comment></comment></comment></comment></comment><comment><USER14> The bug has been marked as WontFix by the V8 team: [https://code.google.com/p/v8/issues/detail?id=3354](https://code.google.com/p/v8/issues/detail?id=3354). It looks like they are considering fixing it for TurboFan and not for Crankshaft, but I'm not sure what that means. Does that only apply to asm.js code?

<comment><USER15> I think Turbofan aims to supersede Crankshaft, but gradually.

<comment><USER16> Turbofan is an additional layer of optimization after Crankshaft.

</comment></comment></comment><comment><USER17> Wow, the v8 optimizer can sometimes be a pretty blunt instrument. Shouldn't it look at the size of the inlined function after it compiles it to some intermediate state that erases things like comments and names?

<comment><USER18> Such a state does not exist inside V8. Things happen as they are parsed. Since V8 has no idea what a piece of JS will do until it gets all the context, it has to use a silly thing like character count to perform inlining. It could create an intermediate state, but that would require a code overhaul that would likely slow down the entire thing anyway.

If I had to suggest a change, I would use the 600-char count as a starting point for one-time functions, and then count the number of calls to a function, counting how many instructions it produces (basically tossing an incrementing variable into the compilation state, and storing it per Function object).

But then again, I've never played with the inside of V8, only the outside. I consider myself lucky to be in that position, because V8 is pretty dang sweet.

<comment><USER19> > Things happen as they are parsed.

If comments aren't completely ignored by the parser, then there has to be some case where a comment inside a function has an observable effect?

<comment><USER20> Yup, see @pauljz's comment above - [https://news.ycombinator.com/item?id=10375297](https://news.ycombinator.com/item?id=10375297)

<comment><USER19> I still don't understand that. Function.prototype.toString() wouldn't break because the parser stripped the comments, it would just output the source without comments? Does any code anywhere depend on the comments being preserved?

<comment><USER17> People literally toString functions and parse them to implement features. Those features depend on there being comment text in the function that they parse. Pretty much a terrible hack but it is true that you can't remove the comments without breaking current code.

<comment><USER19> Wow. That's just something that should be an obvious fix in a future ES. Not only does it hurt the optimizer, it also seems to imply that the content of comments sometimes has semantic meaning in the code, such as people having invented directives etc.

Surely this must be undocumented features of the language spec?

</comment></comment></comment></comment></comment></comment></comment><comment><USER21> One comment mentions a quite significant speedup when switching the variable initialization step of the for loop from let to var. As excepted, you'll also get this if you keep the "let" keyword, but move it outside of the loop.

What kind of optimization step is prevented here?

</comment><comment><USER22> Posted that yesterday, didn't get much traction.

Whenever I begin to convince myself that JS and Node are actually fine languages / environments to code on, some weird edge case like this pops up.

Not entirely sure if it's just its popularity, which is bound to expose its rough corners, or if it's fundamentally bad designed (written in 10 days in the late 90's, etc)

<comment><USER23> Well, to be fair. Node is not a language and this hack is not a "feature" or whatever of the language, rather it's a hack to get V8 to inline functions. JavaScript as an language is all right, but as always, making this language work and perform in multiple environments is tricky sometimes.

<comment><USER24> Sure. And CPython isn't a language. It's the canonical Python implementation that is used 99% of the time.

When it comes to non-browser production code (e.g. servers), it's NodeJS or nothing.

</comment></comment></comment><comment><USER25> This cheerfully reminded me of the thing in MRI Ruby of (relatively recent) yesteryear where strings longer than 23 characters were twice as slow, qv. [http://patshaughnessy.net/2012/1/4/never-create-ruby- strings...](http://patshaughnessy.net/2012/1/4/never-create-ruby-strings- longer-than-23-characters)

</comment><comment><USER26> Good to know as a "gotcha" but typically when you get to an optimization like this you should have covered all other bigger optimizations like minification, ... that this won't actually return big yields.

</comment><comment><USER27> Who need this? Prople writing really really performant code like parsers. Who write parsers? 1% of ppl? Sad this get so much exposure. Stop losing time with micro optimization, this is a bug that's it.

</comment><comment><USER28> I'm at work and can not test this out, but does adding whitespaces increase the function length here?

</comment><comment><USER29> Isn't there a way to force the inline optimization of a function, regardless of the character count?

</comment><comment><USER30> I had this exact thing happen to me. It drove me crazy. Thank you!

</comment><comment><USER31> So, is this is a point in favor of _not_ commenting your Javascript code or using inline docs?

Historically, I preferred to use inline JsDoc style comments as the source of documentation for my public APIs. Recently though, I decided that I didn't like them and that I wanted something better. I was hoping to find some tool that parses my JS to AST, figures out what was being exported (e.g. what was public) and writes a JSON document that I could diff over time, to figure out what was documented and what wasn't (in my external docs). So far, I have found this project called `doctor` which sounded close to what I'm looking for, but it still relies on comments ~ [https://github.com/jdeal/doctor](https://github.com/jdeal/doctor) ~ So, I might have to write it myself using something like Esprima to get the AST...

<comment><USER32> As others have said, you can always strip comments in production builds. But I agree that this is utterly silly - I'd like to see a movement to deprecate including comments in parsing at all. Anything that makes use of such a feature is hacky weirdness from the start.

<comment><USER33> Function.prototype.toString() should be deprecated anyway. There are very few to no legitimate uses of it that are any better than awful eval() hacks.

Re: this comment, if you just don't make huge comments _inside_ the body, but rather above it - as is the usual standard - this is less of an issue.

<comment><USER24> Every JS dependency injection framework that I've ever seen uses it.

<comment><USER32> Serious question: why use a dependency injection framework with JS?

</comment></comment></comment></comment></comment><comment><USER34> At first I thought the comment was actually serious and couldn't believe it before I read the whole article. Thanks for pointing this out</comment>


The Evolution of IPsec [pdf] - <AUTHOR> https://www.cs.columbia.edu/~smb/talks/why-ipsec.pdf <comment><USER2> >Other technologies, especially NATs and firewalls, got in the way of IPsec

This is a bit understated. From my perspective this is 100% what killed ipsec. By the time workstations had the processing power use ipsec for everything, we were rolling out NAT boxes everywhere to deal with the ipv4 crisis.

ipsec traversal was either non-existent or the connection tracking would be limited to the IP so only one person behind the NAT box could establish a session with a given ipsec endpoint on the other side.

I remember it was common to not be able to connect to the corporate ipsec VPN when at a conference with another employee who was already connected. Limitations like this made it super unreliable and pushed people to VPNs built on top of the standard NAT-friendly transport protocols.

<comment><USER3> Another serious problem was/is the lack of interoperability. The key management protocol is complex with features for everyone and their cat. Lots of people expected operating systems to implement IPsec which would make it easier to manage large scale. That didn't work out all that well.

Since you can't count on interoperability, especially not in the future, everybody uses tested server/client combinations, that whole standardization process wasn't that useful anymore which somewhat negates any gain over using a much simpler protocol (whether TLS or something else).

<comment><USER4> So rather than securing connections at the os level, we re-invent the network stack past layer 3. First you bring your own crypto, then create a whole new virtual network stack, then create connections. Or do what Google does and bring your own crypto, then bring your own layer 5-7 routing and transport on the server. These are "interoperable" if 1) your users download an extra app, or 2) your server implements custom app-specific solutions.

</comment></comment></comment><comment><USER5> The author of this presentation Steve Bellovin, is a real heavyweight of networking and internet security going back to the early 80's and Bell Labs. For those interested there's a good USENIX interview with him here:

[https://www.usenix.org/system/files/login/articles/07_bellov...](https://www.usenix.org/system/files/login/articles/07_bellovin.pdf)</comment>


'Zoom Trials' Disconnect Justice - <AUTHOR> https://www.cato.org/publications/commentary/zoom-trials-disconnect-justice <comment><USER2> I stopped at 'Yes, he replies, but the defense attorney is yelling "objection," and after a period of silence the judge tells you to forget that.'

In a real trial, as opposed to on TV, attorneys must state the reason for their objection. Notwithstanding, I get the point behind the article and it may be a good point, but this is sloppy writing, which can be a telltale for sloppy reasoning and sloppy conclusions.

<comment><AUTHOR> Possibly the court turned off the jurors' feed sound before the defense stated the reason for the objection. That would be consistent with the thesis of a remote jury being particularly in the dark.

</comment></comment><comment><USER3> I would shake in my boots if I were being tried for a crime remotely. Remember the old thought experiment where you can make a million dollars by pressing a button that will kill some poor sap in Papua New Guinea?</comment>


Show HN: A resume builder PWA, works offline - <AUTHOR> https://resume-nation.github.io <comment><USER2> Has it semantic markup in output?

<comment><AUTHOR> Not getting. Can you explain in detail?</comment></comment>


Show HN: Drogon – A C++14/17 based high performance HTTP application framework - an-tao https://github.com/an-tao/drogon <comment><AUTHOR> 2 small things.

a) Show me the code to start with, don't send me digging for it. A SimpleController example as the very first thing would help give a feel for the project, and makes me more likely to consider the project.

b) If there's an easier way (like the drogon_ctl utility at the start of Quickstart [0]), show that first, and the more detailed way second.

Other than that, it looks great. I've used libmicrohttpd a few times, so a bit less of an overhead always looks great.

[0] [https://github.com/an-tao/drogon/wiki/quick-start](https://github.com/an- tao/drogon/wiki/quick-start)

<comment> an-tao Your suggestion is very good, I have made some modifications.

</comment></comment><comment><USER2> This is cool, and I like it. Very Haskell like, which is a compliment in my book.

But one thing that surprises me is that folks are essentially sleeping on HTTP/2\. HTTP/2 is just a hell of a lot better in most every dimension. It's better for handshake latency, it's better for bandwidth in most cases, it's better for eliminating excess SSL overhead and also, it's kinda easier to write client libraries for, because it's so much simpler (although the parallel and concurrent nature of connections will challenge a lot of programmers).

It's not bad to see a new contender in this space, but it's surprising that it isn't http/2 first. Is there a good reason for this? It's busted through 90% support on caniuse, so it's hard to make an argument that adoption holds it back.

<comment><USER3> By that argument, they should get cracking on HTTP/3 already. :)

Even though HTTP/2 is usable, adoption is still low (last I checked it was around 25%), and any server that supports 2 needs to support 1 for backwards compatability. It's also more complicated to implement, so I can see why you'd want to start with HTTP/1.

<comment><USER2> HTTP/2 has support on over 90% on caniuse, which is a decent approximation of what most folks selling products here will see. The browsers that don't support it aren't the sort we really care that much about anyways unless we're building a bank or something, in which case suffering is your mandate anyways.

As for client libraries for APIs, it's a non-issue. There's plenty of flexibility on backends.

I'm not saying you'd skip "HTTP/1" but I certainly wouldn't put a lot of effort into it.

</comment></comment></comment><comment><USER4> I've used Crow [1], a C++ web micro framework, in the past and it was delightful. Glad to see more competition in this space.

[1] [https://github.com/ipkn/crow](https://github.com/ipkn/crow)

</comment><comment><USER5> It should be submitted to Techempower benchmarks.

[https://www.techempower.com/benchmarks/](https://www.techempower.com/benchmarks/)

<comment> an-tao It has recently been submitted to TFB.

[https://github.com/TechEmpower/FrameworkBenchmarks/tree/mast...](https://github.com/TechEmpower/FrameworkBenchmarks/tree/master/frameworks/C%2B%2B/drogon)

<comment><USER5> Good to know thanks!

</comment></comment></comment><comment><USER6> What's the security story with this framework?

<comment><USER3> If you really want a security story, you shouldn't be looking into a C++ server. That's a very false sense of security, there is no way to guarantee memory safety.

<comment><USER7> > there is no way to guarantee memory safety.

Absolutely not true for C++. The language was invented to guarantee memory safety, like Rust was. (The fact that people ignore the safety features when coding is irrelevant, people liberally throw 'unsafes' around in Rust and Haskell too.)

<comment><USER8> When a simple

        int foo(int x) {
          return x+1;
        }

leads to undefined behavior (aka the standard says the program can delete your hard drive) if x is too big, that's not a language that guarantees memory safety.

<comment><USER9> That has nothing to do with memory safety, that's just plain UB.

<comment><USER8> According to the spec, it can lead to all the same problems that any UB leads to, including all the problems that any memory unsafety leads to. The code is allowed by the spec to cause memory unsafety.

But to list some direct memory unsafety possibilities: indexing off the end of an array, indexing off the end of a vector, dereferencing a bad pointer, dereferencing a null pointer, dereferencing a bad iterator, double delete.

</comment></comment></comment></comment></comment></comment><comment><USER10> Not that it's super important, but it'll be interesting to see this in the next techempower benchmark round.

</comment><comment><USER11> I wish it told me why it's better than nginx/others rather than why the author picked that name.

<comment><USER12> Drogon is an application framework. Nginx is a web server. You can't write a custom application in nginx. You can write almost anything in Drogon.

Both handle HTTP requests, but nginx mostly forwards requests to other stacks.

<comment><USER13> _You can't write a custom application in nginx._

Using Nginx modules and LuaJIT, you kind of can. OpenResty is a web framework built using this principle.

</comment></comment></comment><comment><USER14> I like it, but the API for defining HTTP endpoints seems messy compared to, say, Flask or ExpressJS. Is there any particular reason it is done this way vs something syntactically cleaner, like:

        app.get("/test", [](drogon::Request & req, drogon::Response & res) {
            // Business Logic Goes Here?
        });

I'm going to be honest, I'm turned off by the macros and general API style of endpoint definition. I know, I know...

> Don't be scared by the code.

I can't help it!

<comment> an-tao You can register handler like this in Drogon:

       drogon::app.registerHttpMethod("/test",
                                       [=](const HttpRequestPtr& req,
                                           const std::function<void (const HttpResponsePtr &)> & callback)
                                       {
                                           Json::Value json;
                                           json["result"]="ok";
                                           auto resp=HttpResponse::newHttpJsonResponse(json);
                                           callback(resp);
                                       },
                                       {Get,"LoginFilter"});

The method in the readme file is for decoupling. Imagine a scene with dozens of path handlers. Isn't it better to disperse them in their respective classes?

Of course, for very simple logic, the interface you are talking about is really more intuitive, I will consider adding such an interface. Thank you for your comment.

</comment></comment><comment><USER15> > Use a NIO network lib based on epoll (kqueue under MacOS/FreeBSD) to provide > high-concurrency, high-performance network IO

What is "NIO" here? I am familiar with NIO as New Input-Output from Java, which was the extension of the standard library to cover asynchronous I/O. Is the author using "NIO" to mean asynchronous IO? Their use of '"JSP-like" CSP file' elsewhere hints at a Java background.

<comment> an-tao Maybe I misused the proper nouns, what I mean is 'non-blocking I/O'. Thanks for your reminder.

</comment></comment><comment><USER16> cool project.

However, the callback has an odd interface.

why not pass a universal ref T&& vs a const T&

most of your code is like this.

``` auto resp = HttpResponse::newHttpJsonResponse(json); callback(resp); ```

which means callback can reuse the buffer if it wanted to rather than making a copy because it's const ref.

PS: did you benchmark it against Folly/Proxygen (facebook) and Seastar

<comment> an-tao For benchmarking I have submitted it to the famous TFB and I am waiting for the result of testing round 18. [https://github.com/TechEmpower/FrameworkBenchmarks/tree/mast...](https://github.com/TechEmpower/FrameworkBenchmarks/tree/master/frameworks/C%2B%2B/drogon)

</comment></comment><comment><USER17> Just wanted you to know "Drogon" means "Stoner" in spanish.

<comment> an-tao It's an embarrassing mistake, thank you for your reminder, but it seems that it's too late to change the name.

</comment></comment><comment><USER18> How big does this hello-world server binary compile down to?

<comment> an-tao About 5M bytes in size, considering that the drogon application is statically linked, I am afraid it has no advantage in binary size.

</comment></comment><comment><USER19> Shame this is not built on libuv or even boost.

<comment><USER20> There is a lightweight alternative that is built on top of standalone Asio (but Boost.Asio can also be used): [https://github.com/Stiffstream/restinio](https://github.com/Stiffstream/restinio)

</comment></comment><comment><USER21> It's really awesome

</comment><comment><USER3> Why not just wrap libevent or some other battle tested network poller?

Also, this would be super cool if it were in Rust. As it stands writing web services in C++ is basically programming malpractice at this point. Would love to see the author contributing to tokio or hyper and helping us get rid of all this legacy inheritancey impl junk.

<comment><USER22> > As it stands writing web services in C++ is basically programming > malpractice at this point.

This is the kind of extremism that makes people hate Rust. Please don't make people hate Rust.

<comment><USER3> I am unapologetic about the truth. The calculus engineers employee that leads them to defer the safety of user facing software for the familiarity of C++ has to stop.

<comment><USER23> Safety is one thing, but let's not pretend Rust has no downsides compared to modern C++. That's just inane.

<comment><USER3> I don't claim that Rust is bulletproof. You still have to verify the axiomatic unsafe sections of your code. There can still be bugs in Rust itself, or logical errors in your programs. What I do claim is Rust is a giant leap forward over C++, which is an inadequate tool to write software end users will use. As society continues to rely more and more on software, as it becomes the thing that we stake our lives on, we have a moral responsibility to modernize our tools.

<comment><USER23> Programming languages are not judged on a single gauge labeled "safety."

<comment><USER3> Rust is designed with the hindsight of C++ and many other languages, it frankly sweeps the floor in every way other than compile times and certain efficiencies, which will inevitably improve. The only legitimate reason to use C++ is to access legacy C++ libraries that Rust has not yet developed and maintain existing C++ projects.

<comment><USER23> That is not the only legitimate reason, at all; adoption of new technology takes time for good reasons. Rust is still pretty new, a lot of things are still only in nightly, and while impressive the ecosystem has a long way to go in terms of robust libraries.

Open source software is only one facet; there are plenty of companies with millions of lines of C++ internally, some of which making up parts of their infrastructure.

I'm being intentionally very non exhaustive for two reasons:

1, I don't feel I should have to explain this. It's self explanatory that these two extremely complicated things can't be compared like integers

2, because it's very much subjective. If you are starting a completely greenfield project Rust might be a good idea. I am a huge fan of what Rust has to offer. But it has it's kludges and kinks to work out, whereas companies have had _decades_ to work out and improve their usage of C++. In particular, linting and coding standards for modern C++ projects generally go very far in improving memory safety even if they don't provide strong guarantees like Rust can. With enforced coding standards you can virtually eliminate risks like buffer overflow and discourage risks like data races. In addition to the ecosystem of libraries, there's a lot of excellent tooling for C++, for static analysis and debugging.

I fear now that I have elaborated the first instinct you will have is to poke holes in individual points. Please don't. All I'm trying to illustrate is that switching to Rust costs time+effort, and it is seriously not better than C++ in every way, in the same way that Go isn't.

<comment><USER3> Then we generally agree. Like I said, the one use case for C++ is if you're already using it, or require a library that is only available in C++.

My general point is that people should make a commitment to upgrade, and set a course in that direction. The opposite approach is the wait and see mentality, which leads companies waiting in perpetuity because they collectively never adopt better languages due to the sunk cost fallacy.

It's exactly the big companies that need to commit, because they have the resources to invest in sanding down the kludges and kinks and making Rust _really_ better than C++ in every way, and it's in the early stages of Rust's development were senior C++ talent could really help set the direction of Rust based on what we've learned from C++.

<comment><USER24> C++ is updated every 3 years as an ISO standard. Rust is updated at the whim of the developers. C++ templates blow Rust's generics out of the water in terms of writing smaller code.

<comment><USER25> (Rust is updated every six weeks, and we have a consensus based process, it's at nobody's whim.)

<comment><USER24> Thanks for correcting my ignorance! Definitely a stupid statement on my part. The process looks pretty solid. What is confusing is who the Rust Team is and how the project is sponsored. Is it all volunteer like C++ or is there some sponsorship involved?

<comment><USER25> It's cool!

The team is largely volunteers, though several companies sponsor people as well. Some people who are sponsored are only part time, or only on the bits relevant to that company. Mozilla sponsors the most full-time people at the moment. We're working on getting more full-time people, there are some challenges there.</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment>