'CSS X' - <AUTHOR> https://www.w3.org/blog/2020/03/css-x/ <comment><USER2> This article is a masterwork in expanding a single sentence ("CSS gets a new conceptual version every few big modules") into an absolute saga.

As I was reading through I was worried I was about to read an article about how some big company was going to recreate CSS from the ground up because there's too much cruft or something. A relief!

<comment><USER3> > "CSS gets a new conceptual version every few big modules"

Where in the article does it say anything like that? The article does not present any decision in that regard at all. It summarizes the history of CSS and the discussion about whether or not to (re-)introduce some kind of global CSS versioning. It presents some suggestions and concerns from the community. But it does not introduce anything.

<comment><USER2> It's the last sentence, which one could be excused for not enduring the rest of the article before reaching:

> , a precise definition of 'CSS X' isn't even needed. Every three years of > so, some people should pick a couple of interesting new modules that were > added in that period and start writing about them, under the heading 'CSS > 4', then 'CSS 5', etc. 'CSS X' is defined as those two or so modules, plus > whatever was in the previous version and a loosely defined set of other > modules.

I said "conceptual" because it's just some person's opinion about versioning, and the article does say the CSS working group doesn't really care for versioning at all. Either way, my opinion was that the article is about 95% too long, I'm making no other claims.

</comment></comment></comment><comment><USER4> I wish there was more done in CSS for generation of print documents.

I mean, precise sizing, pixel perfect placement, layouts, etc, that can be printed as PDF pages.

I know there are print related media settings, but they seem overly complex and paid libraries have cropped up, which abstract away the complexity, but charge to provide usability.

HTML & CSS, conceptually, are world class technologies. Separation of content and styling, theoretically, should be able to display / output documents for a wide variety of targets. However, media queries are based on screen pixel sizes. I don't know if its even possible, but I would love to define media for PDF documents, Word documents, etc.

<comment><USER5> [https://books.idea.whatwg.org/](https://books.idea.whatwg.org/)

<comment><USER4> Thank you for this. First time I have come across this. Looks very interesting.

</comment></comment></comment><comment><USER6> Sure the naming conventions for for versions are arbitary, but there's still a lot of exciting stuff in these pipelines regardless of name. I love how much the definition of "color" has expanded in CSS4. You can query on color gamut range and define your own color spaces. CSS5 is getting color operations based on lch so you don't have the gamma squaring issue that plagues Sass and Less. I like that the direction isn't just to copy these preprocessors but make it better from the start.

</comment><comment><USER7> I used to get really angry at CSS because of all of the things that made it a bad fit with component-based systems like React. It made me so unhappy that I worked full-time for about nine months on this project, which was a React-like component system that rendered to canvas. [https://github.com/maxharris9/layout](https://github.com/maxharris9/layout)

I got pretty far! But I gave up working on it when I realized that I was going to be pushing this boulder uphill for years.

So what changed? I picked up Swift and SwiftUI, and it turns out that some of the ideas that I had were the same ones the SwiftUI folks went with!

For all the web has given us, I think its APIs are holding us back now. I still think we need something open and decentralized that competes with the App store and Play store, but one that offers apps that use basically the same APIs and technology that the native apps use.

Last thing: I know Apple cripples browsers on their platforms. I've run into all those issues personally in my work! That still doesn't make the web the right thing. Here's James Mickens telling us how to fix the browser's busted architecture: [https://www.youtube.com/watch?v=1uflg7LDmzI](https://www.youtube.com/watch?v=1uflg7LDmzI)

<comment><USER8> This is part of why it bemuses me to see web developers cling so hard to using HTML/CSS beyond the browser. I'd much sooner tangle with a proper UI SDK designed from the start to support applications than fight with a layout/painting engine that relies on a document model. The sheer inability of CSS to handle dynamic heights should be frustration enough for anyone.

<comment><USER9> Even layout aside (I'm hoping Houdini will eventually bring some form of constraint-based layout to browsers), HTML is the lamest UI toolkit going.

We've got a handful of basic form inputs, incredibly inflexible tables, and some semantic rectangles. That's basically it.

Even the form inputs can be a pain. It's insane to me that the only way to change the background colour of a checkbox is to hide it and build your own with CSS hacks (pseudo-elements etc.).

I guess the fact that any element needs to function purely from markup without any code severely hampers them, but I can't believe how much time we're all wasting having to build things as basic as pop-out menus by hand.

<comment><USER10> > HTML is the lamest UI toolkit going

I will die on this hill. HTML is not a UI toolkit or an SDK. It is a user- facing interface.

I know it gets presented as a toolkit, I know that on some level it overlaps with a toolkit/layout language. But the most important thing HTML does is it provides a plain-text user-facing interface for an app.

Complaints like this are kind of like arguing that the terminal is a bad layout tool. I guess? But many of the things that would make the terminal into a better layout tool would get in the way of forcing developers to provide a pure-text interface for their apps.

In the same way, many of the features people want to pull into HTML (data- bindings for tables, content reflow between arbitrary elements, arguably a lot of the custom element/template work that Google is doing) are kind of counterproductive once you start looking at HTML as an interface instead of as a programming tool.

<comment><USER9> This is exactly my point though. It's not a UI toolkit, but if you want to write applications for the web you have to awkwardly shoehorn it into one. There is no alternative.

It's not fit for the purpose of building applications. I strongly support the idea of an alternative.

<comment><USER10> > but if you want to write applications for the web you have to awkwardly > shoehorn it into one.

No, you have to treat it like a render target. You can write your applications with another UI toolkit, you just have to be able to render to DOM.

To go back to the terminal analogy, the terminal is the end-user interface. It's not a framework or a toolkit. What you're complaining about isn't that the terminal is a bad UI toolkit, you're just complaining about supporting the terminal in general.

> I strongly support the idea of an alternative.

The only way that alternative would be easier to work with is if it didn't force you to render your visual state to a pure-text XML-based UI. But getting rid of that requirement would be bad for the end user.

It's annoying on purpose, because the default render target for not just your documents, but also your applications, should mostly be a pure-text XML-based tree representing your current state. It's a user feature, not a developer feature.

I mean, I can think of a lot of ways to make web programming easier if we don't care about the format of the end-user UI. It would simplify things dramatically if we didn't need to care about stuff like responsive design or resizable text. But the beauty of HTML is that by default, the easiest way to build a web application just happens to be the way that supports screenreaders, adblockers, scraping, graceful degradation, responsive layouts, etc...

HTML encourages even junior developers to fall into a pit of success by forcing them to think about the accessible text interface first, before they're allowed to think about what the pixels on the screen will look like.

<comment><USER8> > It would simplify things dramatically if we didn't need to care about stuff > like responsive design or resizable text.

...sincere question, have you ever actually used a native UI SDK?

<comment><USER10> Yes.

Now, I have not used Flutter in specific, but from what I can see from its documentation, it doesn't support `em` units, so I can't base widths off of the current font size. The recommendations I'm seeing online for doing responsive design are to do device queries for the layout or to do percentage- based box sizes.

Again, I haven't used Flutter, so maybe it's better than the online tutorials I'm looking at give the impression of. But I'm having a real hard time imagining how I would recreate the functionality of CSS Grids or Flexbox using that kind of system.

Some native frameworks do a much better job. I think GTK is pretty good (although, suspiciously, GTK has ended up copying a lot of CSS features, so take from that what you will). But even there, it's worth noting that the developers behind most of the apps I'm familiar with aren't really taking advantage of modern GTK features.

I have an Arch install with the desktop split between a 4K monitor and a normal 1920x1080. I also maintain a Manjaro install on an HDPI Surface laptop with an odd aspect ratio. By and large, the native apps I use are mostly terrible at handling these scenarios. In comparison, most websites I visit are handling weird aspect ratios and 2x scaling pretty well.

I'll also give a shoutout to Mac, which I'm not familiar with a developer platform because heck that, but I assume has decent UI frameworks because more of the apps I use on Mac actually handle resizing nicely.

In any case, the point I was making was not just that the web is uniquely good at responsive design. Responsive design is one of the easiest problems that the web is solving. Now show me a native toolkit that can match the web at allowing users to override styles or block/replace UI elements. The significant problem that the web is solving is forcing state to be represented in an XML tree. That's the important part, responsive design is just one of the advantages that come from that.

<comment><USER11> > Now, I have not used Flutter in specific, but from what I can see from its > documentation, it doesn't support `em` units, so I can't base widths off of > the current font size

Can't you just use the fontSize property and multiply it by whatever number you were going to use for ems (or maybe multiply fontSize by textScaleFactor first, depending on how rigorously you want to lock to text.)

<comment><USER10> Is the `fontSize` property in Flutter user-customizable? If so, yes that would work fine.

But it would be a weird argument to say that Flutter represents an evolution over CSS if right from the start I'm being forced to manually reinvent a core UI primitive.

<comment><USER7> Why not just learn Flutter or SwiftUI? These systems are only going to continue to get more popular through the decade.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER12> I think CSS would benefit from having an opt-in system for sane defaults. You can't do a real project without a reset stylesheet of some sort, but why? They should define CSS4 and provide a script type=module style method for telling the browser to use it.

<comment><USER13> CSS has no defaults. The defaults are added by your web browser.

<comment><USER12> The distinction you are making does not meaningfully impact my proposal.

</comment></comment></comment><comment><USER14> The version was useful when the browsers had incomplete support for CSS. It served as a milestone for browser makers to achieve. They could give a claim of their technological advantage, say 90% of the CSS3 features.

Now the CSS progress is more driven by the browsers than the W3C committee. Also, CSS does not affect the competition between browsers as much as before. So, as the flashy tech gets stable and boring, the need to give it marketable names goes away.

</comment><comment><USER15> Off the topic. I don't see many website using 3d transform feature of CSS. I think it should be explored more. Has much potential.

</comment><comment><USER16> > Leading the web to its full potential

Meanwhile, that W3C logo is sporting a radial gradient + inner shadow + drop shadow combination straight out of 2004!</comment>


Founder of Facebook's Oculus hit with lawsuit - <AUTHOR> http://www.reuters.com/article/2015/05/22/us-facebook-oculus-lawsuit-idUSKBN0O72AC20150522 <comment><USER2> At least he can go to his new owner for personal advice about these type of situations...

<comment><USER3> Drop the "Rift". Just "Oculus." It's cleaner.

</comment></comment><comment><USER4> Not a whole lot of actual evidence to judge by yet. Will all depend on the supposed contract they claim Lucky signed, and how similar the prototype he built for them is to what was showed during the Kickstarter campaign. Amusing the parallels here between Lucky and Zuckerberg.

</comment><comment><USER5> Their claims are weak and old. The corporate version of long lost friends asking you for money after they see you on TV.

</comment><comment><USER6> Not speculating, but always found the public story about the beginnings of OR to be somewhat, uh, magical, given his non-technical background.

<comment><USER7> "Nontechnical background":

>To fund these projects, he earned at least US$36,000 by fixing and reselling damaged iPhones,[2] and was also a sailing coach and did boat repair.[6]

>In 2009, he founded ModRetro Forums, a website for discussing modifications to old hardware devices such as game consoles and PCs.[3]

>During his study at California State, he worked as an engineer at the Mixed Reality Lab (MxR)[12] at the Institute for Creative Technologies (ICT) at the University of Southern California as part of a design team for cost-effective virtual reality.[2][3]

<comment><USER8> I've noticed people recently referring to non-programmers as non-technical. It's a weird thing.

<comment><USER9> Doesn't know Haskell? Non-technical.

</comment></comment></comment></comment><comment><USER10> Lucky may be saved by the fact that a lot of the technology in the original Rift prototypes was developed by USC's ICT which was fine letting him use it. I wonder what the exact technology is that TRT is alleging Lucky stole.

Things like this make me really hesitant to intern at a company in the industry I want to go into. If I ever start my own company in that industry (which I plan to do), I will definitely be using a certain percentage of the same technology as any other player is. Even if I knew about the technology before working there, I would still technically be violating a NDA.

This reminds me of George Harrison's "Subconscious Plagiarism" lawsuit. [http://en.wikipedia.org/wiki/My_Sweet_Lord#Copyright_infring...](http://en.wikipedia.org/wiki/My_Sweet_Lord#Copyright_infringement_suit)

<comment><USER11> > Lucky may be saved by the fact that a lot of the technology in the original > Rift prototypes was developed by USC's ICT which was fine letting him use > it.

That doesn't seem to be the case: [https://www.reddit.com/r/oculus/comments/23rh0m/ken_perlin_o...](https://www.reddit.com/r/oculus/comments/23rh0m/ken_perlin_on_oculus_shouldnt_mark_bolas_who_led/) Luckey was certainly aware of the Wide5 HMD from USC [http://www.fakespacelabs.com/Wide5.html](http://www.fakespacelabs.com/Wide5.html) [http://people.ict.usc.edu/~suma/papers/olson- vr2011poster.pd...](http://people.ict.usc.edu/~suma/papers/olson- vr2011poster.pdf) fairly early in his VR work (see [http://www.mtbs3d.com/phpBB/viewtopic.php?f=120&t=13741](http://www.mtbs3d.com/phpBB/viewtopic.php?f=120&t=13741) and [http://www.mtbs3d.com/phpBB/viewtopic.php?f=120&t=13158&star...](http://www.mtbs3d.com/phpBB/viewtopic.php?f=120&t=13158&start=0) ) but the Wide5 apparently has different lenses, doesn't use PC-side software distortion correction and uses two screens (the consumer Rift will too, but all Rift versions up to and including Dev Kit 2 [https://forums.oculus.com/viewtopic.php?t=7544](https://forums.oculus.com/viewtopic.php?t=7544) are single-screen).

<comment><USER10> Interesting. I seem to remember Mark painting a different picture when I spoke to him, but this was over a year ago and my memory may be deceiving me. It seems like they came up with similar ideas at the same time, which happens all the time in tech.

</comment></comment></comment><comment><USER12> All these lawsuits in IT are seriously getting ridiculous. Some times they are right, sometimes they are not. But really why all this confidential and agreement.

If you work just 1 place they can accuse that you use knowledge from there in your new job.

Life is hard, Don't attack personal people, just live harder.

</comment><comment><USER13> I had a very similar issue when I was 20 years old. I was an instructor for a martial arts school in my home town. They decided, all of a sudden, that having the most students they ever had meant they were in "hard times" and without notice just stopped paying the instructors. There were a lot of stories about "loyalty" leading up to this. And then, when I quit because I literally could not afford the gas money to show up anymore if I was spending my time there instead of at another job, they sent me a cease-and-desist letter to preemptively warn me against trying to open my own school with their "proprietary information", aka the routine of basic calisthenics, striking and kicking techniques, and other common martial arts training regimes that every other school was doing. Never mind that all I wanted to do was finish my CS degree and had no desire to open a school. Never mind that you can't send a cease-and-desist unless a person has actually done something. They read somewhere they should do this and they did it.

To defend against this sort of stuff, you have to be extremely well-versed in your field. You have to know exactly which parts are public knowledge and which parts aren't (and therefore, are proprietary knowledge). You have to know all the dark, secret corners of your field. You have to not only be an expert, you have to be THE expert, the one and only, the master of all knowledge.

Because the court won't be. And they don't care. It's your word against your former employer's about what you learned there versus what you knew before versus what is common industry knowledge. I've also worked at a ton of CRUD-y consulting firms that had similar language in their NDAs. I'm sorry, nobody building an OLTP system for keeping track of sales figures on ASP.NET and SQL Server is blazing new trails. Not that there isn't anything new to do in that field, just that cross section of the programmers who are capable of doing it and the managers who are willing to go out on a limb, don't exist in that market segment.

Just another reason to stay freelance. Just another reason to refuse to sign NDAs, at least unedited by my own lawyer.

</comment><comment><USER14> This is a problematic situation for Luckey. It really depends on the contract he signed for TRT and what type of feedback he was getting. It appeared that he was technically under TRT contract during the time he developed the Kickstarter campaign - early 2012.

It is one thing to quit a position with a company and then create a competing product -- that happens all the time -- but it is a lot different to be contracted by a company to develop a product while at the same time clearly developing a competing product to the company you are contracting with -- getting the IP straight can be very problematic, and it does seem like a clear conflict of interest.

I would never recommend doing something like that.

</comment><comment><USER13> Does anyone have a link to the complaint? I'd like to see more details.

<comment><USER15> [http://ia601507.us.archive.org/3/items/gov.uscourts.cand.287...](http://ia601507.us.archive.org/3/items/gov.uscourts.cand.287721/gov.uscourts.cand.287721.1.0.pdf)

<comment><USER14> Reading that is pretty damning if and only if the prototype that Luckey developed for TRT was very similar to the Oculus Rift prototype. That isn't made clear in the filing.

But the general circumstances are pretty suspicious.

</comment></comment></comment><comment><USER16> If he took actual materials, they may have a case. Otherwise, sounds baseless. You can't own someone's career experience.

<comment><USER14> A company can own someones inventions that were developed during the course of a contract or employment is the agreement is done in such a way to assign them. It isn't automatic, but it is a real thing and can lead to legal trouble:

[http://www.marsdd.com/mars-library/intellectual-property- pro...](http://www.marsdd.com/mars-library/intellectual-property-protection- for-employers/)

EDIT: Accord to the actual complaint Luckey signed a confidentiality + exclusivity agreement regarding the TRT stuff that has a term of five years: "On August 1, 2011, Luckey executed a written 'Nondisclosure, exclusivity and payments agreement' contract with Seidl on behalf of the Partnership. Two witnesses also executed the agreement on behalf of Luckey at Luckey's direction: Tom Allan and Jeff Bacon."

</comment></comment><comment><USER17> That's because they are hungry for money. He built this and he deserves all that he got.

<comment><USER18> How on earth do you know that? Are you an Oculus insider?

<comment><USER5> We know Palmer Luckey created Oculus and that his work attracted John Carmack, which led to the VR revolution that exists today. They may have some legal standing even if they have no ethical standing.</comment></comment></comment>


Women 2.0 x Startup Quote: Wendy Tan White, Founder, Moonfruit - <AUTHOR> http://startupquote.com/post/7590260543

<comment><AUTHOR> Sustaining a successful business is a hell of a lot of work, and staying hungry is half the battle.

\- Wendy Tan White (@wendytanwhite)

<http://startupquote.com/post/7590260543></comment>


Climate models go cold - <AUTHOR> http://www.financialpost.com/news/Climate+models+cold/4579652/story.html <comment><USER3> As noted in the comments of the article:

"This article is not new but was first published in 'The Australian' in July 2008. [Evans] has never published a peer-reviewed paper on climate change and, up until 2008, has only published one paper in 1987 on a totally unrelated subject. From 1999 to 2006 Evans consulted to the Australian Greenhouse Office designing a carbon accounting system that is used by the Australian Government to calculate its land-use carbon accounts for the Kyoto Protocol. While Evans says that he "knows a heck of a lot about modeling and computers," he states clearly that he is "not a climate modeler." Evans has published an article for the Alabama-based Ludwig von Mises Institute, a libertarian think tank: Evans also published a background briefing document for the Australian chapter of the Lavoisier Group, a global warming "skeptic" organization with close ties to the mining industry."

So take that however you like.

<comment><USER4> This is a nonsensical criticism IMHO.

If someone is giving pure opinion then you have to evaluate the source. But if someone is presenting facts you have to evaluate the facts and there's no real point in evaluating the source (sources can give incorrect facts but that's exactly why you're evaluating the facts themselves). So in the case of someone stating facts the source is irrelevant because they are just serving to draw your attention to facts which you should then independently verify yourself.

In the article he makes several factual claims that can be verified to be true or false...

"They keep lowering the temperature increases they expect, from 0.30C per decade in 1990, to 0.20C per decade in 2001, and now 0.15C per decade"

"In the United States, nearly 90% of official thermometers surveyed by volunteers violate official siting requirements that they not be too close to an artificial heating source."

"satellites say the hottest recent year was 1998, and that since 2001 the global temperature has levelled off."

"The Earth has been in a warming trend since the depth of the Little Ice Age around 1680. Human emissions of carbon dioxide were negligible before 1850 and have nearly all come after the Second World War "

Those facts are what's relevant and it's those that should be evaluated (to the best of my knowledge all but the 1998 being the hottest year claim are true). Then you can draw your own conclusions based on those facts plus the ones you already knew. Who the author is or what he's published is besides the point.

Edit: on the 1998 claim I found this with a quick Google search: [http://www.theregister.co.uk/2008/05/02/a_tale_of_two_thermo...](http://www.theregister.co.uk/2008/05/02/a_tale_of_two_thermometers/)

<comment><USER5> "They keep lowering the temperature increases they expect, from 0.30C per decade in 1990"

Take a look at model B of Hansen et al. 1988 and compare it to the actual temperatures and you'll see that it's not a bad fit. [http://www.realclimate.org/index.php/archives/2009/12/update...](http://www.realclimate.org/index.php/archives/2009/12/updates- to-model-data-comparisons/) . The 1988 estimate was "0.26+/-0.05 ºC" so "0.25C per decade in 1990" would be a more accurate statement than the overly accurate/imprecise "0.30" you quoted here.

That sequence of 0.30C, 0.20C, 0.15C could very well be 0.26, 0.18, 0.17 if rounding rules were chosen with a view towards exaggerating for the sake of truthiness. But let's say it isn't - without knowing the reason for the changes, and especially without knowing the error bars, then it's hard to comment on the apparent decline. The 1988 paper is one of the first global climate models, so perhaps the parameters needed refinements which later researchers have done.

"In the United States, nearly 90% of official thermometers surveyed by volunteers violate official siting requirements that they not be too close to an artificial heating source."

That has been researched a lot. The phrase "artificial heat source" is a deliberate distraction. The complaint is that the thermometers are too close to parking lots or other things which might contribute an "urban heat island" effect. This is quite different than "artificial heat source" which sound like it's next to a boiler or engine or exhaust from a building.

However, throw out those 90% and look at the 10% and the signal is still there. Look at the sea-based thermometers, and the satellite measurements, and the signal is still there. Thus, the putative "artificial heating source" has no significant effect on the measurements. See for example [http://www2.sunysuffolk.edu/mandias/global_warming/global_wa...](http://www2.sunysuffolk.edu/mandias/global_warming/global_warming_misinformation_urban_heat_island.html) .

"since 2001 the global temperature has levelled off."

That's a biased sample error. 1998/1999 was a hot spike. See <http://en.wikipedia.org/wiki/File:Satellite_Temperatures.png> . Extend the average over a longer time and the trend is more obviously trending upward. [http://en.wikipedia.org/wiki/File:Global_Temperature_Anomaly...](http://en.wikipedia.org/wiki/File:Global_Temperature_Anomaly_1880-2010_\(Fig.A\).gif)

"The Earth has been in a warming trend ..."

That's a meaningless statement. No one contests that it's warmer now than the Little Ice Age. The question is, what impact do humans have on the warming trend? Pulling numbers out of thin air: If the breakdown is 0.01C "naturally" per decade and humans during the last century have gotten it to raise by 0.16C per decade, then the natural influences are minor and it's best to be concerned about the human contribution.

<comment><USER6> > _The complaint is that the thermometers are too close to parking lots or > other things which might contribute an "urban heat island" effect. This is > quite different than "artificial heat source" which sound like it's next to > a boiler or engine or exhaust from a building._

Quite a few actually _are_ near an air conditioner exhaust. There's been a change over time from thermometers where somebody has to go outside and manually look at the thermometer to record a reading to thermometers that are essentially on a computer network; the electronic ones are generally connected to a building via a power/data cable which makes it more trouble to site them well - the cable might not be long enough or might get in the way or you'd have to dig up a street to put the cable in...so the new sensors tend to be closer to buildings than the old ones. Not to mention that air conditioners are more common now than they were in times past. The upshot is that lots of modern thermometers are near buildings that both reflect heat off surfaces _and_ have air conditioners blowing heat into the air. Which made it at least _plausible_ that the better-sited sensors might show a different trend than the worse ones.

The exact definitions of the categories are:

=====

Class 1 (CRN1)- Flat and horizontal ground surrounded by a clear surface with a slope below 1/3 (<19deg). Grass/low vegetation ground cover <10 centimeters high. Sensors located at least 100 meters from artificial heating or reflecting surfaces, such as buildings, concrete surfaces, and parking lots. Far from large bodies of water, except if it is representative of the area, and then located at least 100 meters away. No shading when the sun elevation >3 degrees.

Class 2 (CRN2) - Same as Class 1 with the following differences. Surrounding Vegetation <25 centimeters. No artificial heating sources within 30m. No shading for a sun elevation >5deg.

Class 3 (CRN3) (error >=1C) - Same as Class 2, except no artificial heating sources within 10 meters.

Class 4 (CRN4) (error >= 2C) - Artificial heating sources <10 meters.

Class 5 (CRN5) (error >= 5C) - Temperature sensor located next to/above an artificial heating source, such a building, roof top, parking lot, or concrete surface."

====

Class 1 and 2 combined only add up to about 8% of the sensors, according to surfacestations.org. So the claim in this article that _"nearly 90% surveyed violate official siting requirements that they not be too close to an artificial heating source."_ today could be updated as _"roughly 92% surveyed..."_

<comment><USER5> The question isn't that the sites are/are not poorly situated; the question is "what impact does that have on overall average temperature readings?"

Here's the most relevant paper [http://pielkeclimatesci.files.wordpress.com/2011/05/r-3671.p...](http://pielkeclimatesci.files.wordpress.com/2011/05/r-3671.pdf) . It "surveyed 82.5% of the U.S. Historical Climatology Network (USHCN)",

"""Temperature trend estimates vary according to site classification, with poor siting leading to an overestimate of minimum temperature trends and an underestimate of maximum temperature trends, resulting in particular in a substantial difference in estimates of the diurnal temperature range trends. The opposite-signed differences of maximum and minimum temperature trends are similar in magnitude, so that the overall mean temperature trends are nearly identical across site classifications. Homogeneity adjustments tend to reduce trend differences, but statistically significant differences remain for all but average temperature trends."""

In other words, for purposes of determining average temperature trends - <USER2> is what we are talking about - the siting does not play a statistically significant role

Note also that the numbers you gave ("Class 5 (CRN5) (error > 5C)") come from NOAA's Site Information Handbook where it clearly says "The errors for the different classes are estimated values." The results of that paper will no doubt help refine those estimates.

Finally, I point to the difference in how "artificial heat source" is defined for purposes of that classification vs. how it's understood in general reading. Without knowing the technical definition, most people will assume that it's near an active heat source, like "an air conditioner exhaust". But "artificial heat source" also includes "parking lot, or concrete surface" which are passive heat sources. And as the paper shows, the result is that they moderate the temperature but do not significantly affect the overall average.

</comment></comment></comment></comment></comment><comment><USER7> Critique of Evans' article:

[http://www.scholarsandrogues.com/2008/08/13/the-weekly- carbo...](http://www.scholarsandrogues.com/2008/08/13/the-weekly-carboholic- david-evans-climate-facts-hardly-factual/)</comment>


Martin Shkreli's bid for early release from prison rejected - <AUTHOR> https://www.detroitnews.com/story/news/nation/2020/05/16/martin-shkrelis-bid-early-release-prison-rejected/111788820/ <comment><AUTHOR> So the 'Pharma Bro' is going to create a COVID-19 vaccine if he's released from jail? The guy's experience is in the financial end of the pharma business not in the lab.</comment>


Air France flight data recorder recovered - <AUTHOR> http://www.bbc.co.uk/news/world-europe-13255673 <comment><USER2> I understand why in a world of easily destructible tape memory, there was only one, non-replicated flight data recorder memory. And it must've been quite heavy.

I don't understand now why in an aircraft strewn with various datalinks, there aren't a dozens or more inexpensive, lightweight easily findable flashdrives as datarecorders. You could place these at the wingtips, in the tail, in the landing gear, in all sorts of places that are known to survive.

<comment><USER3> I wonder if your inexpensive flash drive operates at - 60 °C...

<comment><USER4> Wait, you actually thought he meant going to Wal-Mart and buying 1GB flash drives?

Somehow I doubt that is what the poster meant and you are just building a straw-man argument to gain points.

Insulating, heating and protecting against shock should not be harder for a flash drive than insulating, heating and protecting against impact of a tape drive with lot of moving parts inside.

<comment><USER5> More practically, I suspect the problem is the amount of time and energy taken to prove and certify a new way of doing things. Flight data recorders are standardised across most of the world and I suspect agreeing and certifing the number/location/design is more difficult than actually changing the hardware.

</comment></comment></comment></comment><comment><USER6> It is unbelievable that it was found and that the search never ended. You can watch a video about this flight on PBS: <http://www.pbs.org/wgbh/nova/space/crash-flight-447.html>

<comment><USER7> "French search teams last week found the outer casing of the so-called black box recorder, but _not its memory_."

(EDIT: This is incorrect, sorry. The article is poorly worded. Would you rather I delete this comment?)

<comment><USER8> ...And they just found the memory unit (which is designed to detach from the recorder in the event of a collision) today. A picture of the actual memory unit in question: [http://www.nytimes.com/imagepages/2011/05/01/world/europe/01...](http://www.nytimes.com/imagepages/2011/05/01/world/europe/01airfrance.html)

<comment><USER7> Ahhh. Thank you for clarifying the article. That's amazing!

<comment><USER9> Indeed. Looking for the proverbial needle in a huge haystack is a piece of cake compared to what was done there.

IIRC, they actually had some very low level signal from the recorders two years ago that they didn't actually take notice of, and later, working on this data they finally extrapolated the probable position of the wreck after a tremendous data mining work.

<comment><USER7> Whoa. If you can find any links whatsoever about that, then I'd love to read them.

That reminds me of how Gauss was able to use very limited information to locate Ceres after it had moved behind the sun.

<comment><USER10> It's been quite hard to find information about the re-analysis. It looks like there was a press-release in May last year where the pingers were identified after a re-analysis of the Emeraude towed-array sonar tapes:

[http://www.businessweek.com/news/2010-05-06/air-france- crash...](http://www.businessweek.com/news/2010-05-06/air-france-crash-probe- gets-boost-as-signal-detected-update1-.html)

[http://www.nytimes.com/2010/05/07/world/europe/07crash.html?...](http://www.nytimes.com/2010/05/07/world/europe/07crash.html?partner=rss&emc=rss)

Sadly, there are no references to source material, and a quick search through the BEA at <http://www.bea.aero/> (the French aviation accident investigation agency) didn't provide immediate satisfaction, alas.

</comment></comment></comment></comment></comment></comment></comment><comment><USER11> Does the article say that they found the cover of the second recorder but the data on the 1st? Thought the wording was ever so slightly ambiguous

</comment><comment><USER12> See <http://news.ycombinator.com/item?id=2503677></comment>


In Mobile Age, Sound Quality Steps Back - <AUTHOR> http://www.nytimes.com/2010/05/10/business/media/10audio.html?ref=todayspaper

<comment><USER2> I agree and disagree with this article, this isn't a night and day difference any longer. When looking at analog devices the components that make up the device are important as they reflect the quality of the music produced. When looking at a digital platform, say a better laser, isn't necessarily going to produce a higher quality sound.

</comment><comment><USER3> Ironically, many younger listeners seem to prefer to lower quality of digital tracks.

[http://technology.timesonline.co.uk/tol/news/tech_and_web/pe...](http://technology.timesonline.co.uk/tol/news/tech_and_web/personal_tech/article5847674.ece)

</comment><comment><USER4> When at home, I listen to CDs on a B&O sound system, or streaming from iTunes radio or Pandora.

I am considering getting a nice vinyl player, any suggestions?</comment>


Apple working on 3D Mac OS X user interface (images) - <AUTHOR> http://www.appleinsider.com/articles/08/12/11/apple_working_on_3d_mac_os_x_user_interface_images.html

<comment><USER2> 3d isn't how to think about the interface outlined there.

Basically, apple is investigating making multitouch part of the "normal" os x interface. A touch interface has to overcome the fact that fingers aren't good for precise pointing, and thus a lot of tasks that are tedious-but-doable with a mouse (like positioning windows, or using pulldown menus, or clicking small icons) become hugely painful with a finger.

It's pretty obvious what a good touch interface for os x would have to be like: \- the app is designed with full-screen mode in mind \- the app's primary content area fits in one central area \- the tools and so on are in sidebars-and-bottom-bars

...and the app would avoid: \- overlapping windows (either within the app, or between apps) or floating palettes \- lots of little icons or finely-detailed controls

In other world: every app would look like iphoto or ical or itunes.

A "2.5d" interface like in this patent makes a lot of sense: each open app is in its own "slice", and you navigate forwards and backwards through the slices using some multi-finger gestures. The edge of the screen is used to show contextual information about what's currently open, and provides cues as to how to navigate to different items (eg: is that photo "behind me" or "in front of me"?).

In a touch-heavy environment the gimmicky 3d interfaces from the past all of a sudden become potentially a lot more helpful. You'll notice apple's been working on possible solutions to making a touch interface usable for a long time: \- a lot of the expose tools make more sense as ways to easily navigate between windows with a finger (eg: hit the expose key, see all open windows in miniature, then touch the one you want to maximize...) \- dashboard makes a lot of sense in a touch context, as a way of easily pulling down some lightweight apps without disturbing your current ui arrangement \- spaces makes a lot of sense in a touch context: each collection of screen layouts in its own little slice that's given a spatial location, and so not only do you not destroy a layout by bringing a different app to the top, you also give spatial cues as to where your other open programs are

</comment><comment><USER3> I find it curious that the menu bar in these patent example images is no longer pinned to an edge of the "screen." The major historical justification for the Mac OS X having a single global menu bar was to exploit Fitt's Law by giving the menu bar an effective "infinite" height. Unless there is a pointing device that handles 3-D positioning or otherwise provides some feedback or scroll dampening when traversing a corner of this "virtual room," Apple may as just as well give up and pin menus with each window like all the more recent GUIs do...

<comment><USER4> That was part of the justification. The other part is you get duplicate clutter all over the screen. 15 instances of "File, View, Preferences, Help" spammed all over your screen instead of one. When you almost never use a menu if the window doesn't already have focus.

<comment><USER3> I agree with that. (I'm a long time Mac user all the way back to the 68k era.) It's just that ever since Steve's return, there seems to be a subtle disregard for the history of the platform and a willing forgetfulness of the R&D effort expended by the company over the last few decades...

<comment><USER5> How so? I've only started following Apple in the last few years; my first Mac ran Leopard. Were there anything big that disregard previous usability, beyond the reflecting dock?

<comment><USER3> I know this is a late response, (I only just found it on my comments page) but major usability loss occured with the introduction of the "non-spatial" Finder with OS X.

This guy summarizes things much better than I ever could...

<http://daringfireball.net/2002/11/that_finder_thing>

</comment></comment></comment></comment></comment><comment><USER6> If I was a betting person I would bet against this interface becoming commonplace as it is shown right now. It seems driven by appearance and not functionality.

You don't gain much from this that you don't get from having a MDI window tiled against a bunch of toolbars. The idea of having toolbar items pinned to the "wall" is interesting, but in general I'd think it would just perspective- distort the icons used on the boxes/buttons.

Despite the obvious/intuitive feeling that if 2D is good, 3D is better, I think as long as we're viewing the desktop through a single 2D viewport there's really very little advantage to this.

On the other hand, as multiple displays are becoming more common, there might be an advantage to building an internal 3d model of a desktop and creating multiple viewports into this space with the LCDs. I don't think the Apple model shown in the link really aligns with that at this point, however.

<comment><USER7> As multitouch screens becomes more common, users will want an experience more familiar with the real world because the interface becomes more concrete.

And 3D interfaces, even inside a 2D screen, could improve the illusion of that concreteness.

</comment></comment><comment><USER8> Recall that Apple hid a lot of their iPod interface patents, like the scroll wheel, in a patent application for an "advanced TV remote controller". I wouldn't be surprised to see this turn up not in a 3D OS X but in a different device.

<comment><USER9> I'm surprised... Ideally you like your patent to be broad as possible, but still very much around a particular target.

I'd have thought mixing up you applications/claims like that would have done more harm than good.

</comment></comment><comment><USER10> <strike>Simpsons</strike> Microsoft did it: (pdf) [http://research.microsoft.com/users/kenh/papers/TaskGallery....](http://research.microsoft.com/users/kenh/papers/TaskGallery.pdf)

It even looks almost exactly the same.

</comment><comment><USER11> The only way that more-than-2-dimensional UIs will work will be if there's an extra dimension _only_ for each of the elements ("in-and-out" for the window stack, etc)... otherwise people will get frustrated with mousing...

Don't even get me started on 3D mice...

</comment><comment><USER12> The very day Apple demos its first 3D environment, Microsoft will announce that Windows n+1 will sport a 3D user environment. Of course, it will never, ever, ship, but will prevent some 'softies from considering the switch.

<comment><USER13> One week later, the Linux enthusiasts demo their new 4-d UI, which features window placement on the surface of a hypercube. The system mostly works, but has a bad habit of turning your browser inside-out.

<comment><USER14> As long as you can remember which dimension you left that important document in...

<comment><AUTHOR> And Apple's Time Machine software will be replaced with a real DeLorean.

</comment></comment></comment></comment><comment><USER15> <fanboy>

This is why I love APPLE!!!!!!!!

</fanboy>

But seriously, so impressive... I can't wait. This type of innovation and Apple's ability to bring it to the consumer market justifies a closed hardware platform, IMO. We don't need 30 million configurations, we're over that period as hardware is now a commodity.

"If you want to build great software, control the hardware."

<comment><USER16> Various similar concepts have been explored.

<http://bumptop.com/>

<comment><USER15> Apple is the most secretive company in the world and have no need to publish unpractical prototypes on YouTube, lol. I assure you, they've been exploring alternative interfaces for quite sometime... their entire history encompasses the user experience.

<comment><USER17> I work at BumpTop. BumpTop may have started as a research prototype of course, but it's very much a real product by now, with Windows as the first platform. You can see users' screenshots on Flickr (<http://www.flickr.com/search/?q=bumptop>) and <http://customize.org/bumptop>, and sign up to get in line for an invite at <http://bumptop.com>.

<comment><USER17> Also check out a video of BumpTop a few versions ago: <http://bumptop.com/help>

</comment></comment></comment></comment></comment><comment><USER18> I foresee more of this ([http://www.rogueamoeba.com/utm/posts/Thoughts/sidedock-2007-...](http://www.rogueamoeba.com/utm/posts/Thoughts/sidedock-2007-08-29-16-00.html)) kind of awfulness mixed in with the whizzy 3D desktop.

</comment><comment><USER19> Is there any evidence suggesting that Apple is actually working to implement this UI into OS X? I don't think filing for a patent necessarily means betting on it big time.

<comment><USER9> Some of these metaphors are already in use for things like Time Machine.</comment></comment>


Three programmers fix Healthcare.gov in a weekend - <AUTHOR> http://www.cbsnews.com/video/watch/?id=50158801n <comment><USER2> It's been said before but the biggest issue the site has is not the front-end but the integration with all the other gov't services. Which they are most certainly not integrating with.

Also they should drop the 'the' from the name.

</comment><comment><USER3> Large software systems implementers will continue to win multimillion-dollar government contracts. To me, that's the most depressing thing about it all. These implementers should be out of business with the shit they put out year after year. How do we make sure they do not win another contract?

<comment><USER4> I think that awarding contracts to the lowest bidder is a recipe for disaster if it is a software product being ordered.

<comment><USER5> Awarding contracts to a handful of large government contractors is always a recipe for disaster, no matter what it is.

</comment></comment></comment><comment><USER6> Previous discussion: [https://news.ycombinator.com/item?id=6701517](https://news.ycombinator.com/item?id=6701517)

</comment><comment><USER7> In a weekend? lots of hacks, no tests...

<comment><USER8>
        Hacker News

"Let me be clear – this does not mean you should ship code without tests. Thorough tests. Carefully written tests. I'm saying that you shouldn't write tests first, because it limits your creativity and ultimately slows you down. Stop fixing tests when your implementation breaks them, and start writing awesome code without the fear of red." — "Mother Nature doesn't use TDD, and she's done pretty damn well.", [http://compphi.com/2012/05/06/mother-nature- doesnt-use-tdd-a...](http://compphi.com/2012/05/06/mother-nature-doesnt-use- tdd-and-shes-done-pretty-damn-well/)

<comment><USER2> That was quite possibly the worst analogy I've ever seen.

<comment><USER8> Gut reactions come from the gut.

<comment><USER2> I'm not sure what you mean. The analogy just does not make sense. Mother nature's way of solving problems is by throwing random solutions and millions of years at them (you know the whole 'evolution' thing) and the solutions that come out of this process are not exactly optimal. If you have millions of years to finish your project, please go ahead and don't write tests. I think that I will though. I also think that you are really misunderstanding the TDD methodology if you think that writing tests somehow constrains your creativity.

</comment></comment></comment></comment></comment><comment><USER9> Governmint: im just going through agile sprint 0 with fda. according to the project manager sprint 0 will take weeks or even months! these people really need to stop saying they are agile. The pace of anything happening is horrible. Sprints taking months.... welcome to the government way of doing things!

And what sprint 0 is all about? Onboarding. That's right they need months jystvto give laptops to developers. As a guy coming from a start up i get heart attack every time they rape vocabulary with agile, sprints, scrum master or even daily stand ups that should be renamed to hour long meeting about why we failed again...</comment>


What is the next step when you have created a new operating system? - <AUTHOR> *serious question<p>Some features:<p>- Based on a micro-kernel structure - (Not based on Linux) - ≈70K LOC, Assembly. - with a HTTP server embedded - low-power management - with own easy-to-use CMDs (more than Arduino or Raspberry) - with complex algorithms (PID, FFT, Autonomous navigation, artificial vision...) <comment><USER2> At the risk of pouring cold water on the idea, I wonder why you need to create a new operating system at all.

If it's just a matter of NIH ('Not Invented Here' syndrome) I'd say don't waste your precious time to re-invent the wheel unnecessarily.

On the other hand, if you create a new operating system because there is a definite unfulfilled requirement for it, then the next step(s) to take will be self-evident.

</comment><comment><USER3> Think about what you'd use the os for. In general I'd say:

Programming tools (text editor, assembler, compiler)

Simple office software (spreadsheet, database)

Multimedia (music/video player, image viewer/editor)

Toys (simple games, demos, emulators)

</comment><comment><USER4> Find a PLC manufacturer and license it to them? Find some low cost processors or fpgas and port your OS to them?

</comment><comment><USER5> Make it public</comment>


Show HN: Redux-cache - <AUTHOR> https://github.com/JumboInteractiveLimited/redux-cache <comment><USER2> If the API supports ETags / Conditional GET, I think that would be a much simpler solution.

Just request the same call again from the server and you'll receive a 304 if it hasn't been updated.

No new code needed.

<comment><AUTHOR> Does a 304 with Fetch have a status of OK? Reason I ask is our middleware in our redux app would treat this as a successful request and then consequently dispatch a FETCH_SUCCESS action. Re-renders would still occur.

That said, the middleware could be updated to specifically handle 304s differently.

Thanks for the idea!</comment></comment>


Is one diet as good as another? - <AUTHOR> http://esciencenews.com/articles/2009/03/04/is.one.diet.good.another.u.i.study.says.no.and.tells.you.why <comment><USER2> I wish someone would tackle that eating a night myth. I can't imagine if you eat the same thing at 2PM vs 11PM, you'll gain more weight in the latter. I always cringe when people tell me that.

<comment><USER3> Yes, it is a myth. Calories in versus calories out. It's as simple as that.

There _may_ be some small differences in how efficiently your body digests food at night than during the day but 2pm vs. 11pm is an incredibly minor optimization. It's like optimizing your array structures when you should be using a hash. The only timing optimization I've heard of which has some scientific backing is the glycogen/metabolic window thought that's exploited for those trying to gain weight.

I think the reason you often hear about the "don't eat at night" advice is that it's easy to do which is what people want to hear. Most people will fallaciously rather follow the advice of "Eat ice cream at 2pm instead of 11pm" than the advice of "Don't eat ice cream at all."

The reason that "don't eat at night" will sometimes appear to work is that people will naturally eat less when you cut out a huge block of time in which they can't eat.

<comment><USER4> Whoever taught you that has poor understanding of biochemistry. Ever heard of futile cycles? Heat dissipation in the mitochondria? Hormonal effects of food? Anabolic/catabolic foods? Let alone the short, medium and long terms effects on the transcriptome.

The major thing you don't understand is that what you do now has effects on your gene transcription over the next few months. Small changes can make huge differences not just in the short term, but longer term as well - in terms of your bodies energy efficiency (which you want to decrease if you are wanting to lose weight) and hormonal state (testo/corto relationships et al).

There is tons of research on timing of nutrients. Transcriptome effects of nutrients. Short term hormonal effects. Thermic effect of foods. Etc etc. If one nutrient causes a change in energy out, then that nutrient has less of an effect than one that doesn't. Therefore, some nutrients affect energy balance differently than others.

Tell me this if you still don't believe me: are there any foods or combinations of foods/timing that may cause a statistical difference in energy output in the short, medium and long term in humans?

<comment><USER3> Sorry trapper but your entire post here wreaks of someone trying to "bully" the reader. You throw out a lot of esoteric terms w/ little to back it up.

That said - are we even arguing about the same thing? You responded to my post that addressed the "eating at night" myth and you're going off on effects that food has "over the next few months."

<comment><USER4> Perhaps. I am sick of this "Yes, it is a myth. Calories in versus calories out. It's as simple as that." being portrayed by people as a fact. It's just not so simple, and it's wrong.

I could write long winded responses with references. The problem is you end up explaining most of biochemistry along with it, as the rabbit hole is truly deep. And people still don't get it, because most people even with undergrad degrees in biochem don't (you don't get to see the rabbit hole until you reach postgrad at most unis and read tons of papers).

It's kind of like trying to explain why functional programming is better than OO to someone who just uses excel.

None of the terminology used should be esoteric if you have studied biochemistry. Apologise for the tone, it is really frustrating seeing someone promote the same old myth.

</comment></comment></comment></comment></comment><comment><USER5> Diet or no diet...it doesn't really matter. What matters is putting in the effort to work out every day. Most workout diets will have you eat way more than you do right now anyways.

</comment><comment><USER6> Not all calories are equal. Protein FTW. :)</comment>


The Future of Standard ML (2013) [pdf] - <AUTHOR> https://www.cs.cmu.edu/~rwh/talks/mlw13.pdf <comment><USER2> Cutting to the chase: use Haskell or Scala or F# if you need to do some scripting or build a web application that requires lots of different tasks (being a web server, rendering templates, connecting to a database, etc.). Haskell and Scala have great libraries and polymorphism that allows you to express things succinctly. Dunno much about F# except .NET.

Use OCaml if you want easily native binaries, predictable performance and need very little in the way of well-documented, high-quality third-party libraries.

Use Standard ML if you want to learn OCaml/Haskell/F#/Scala. Why? Ultimately it comes down to usability. First off, operators (not named functions) are to programming languages as icon-only buttons are to web pages; they are completely unusable. The only reason Standard ML avoided the plague of the operators is because it's a simpler language that was used less. Second, since it's a simpler language, you get a much cleaner introduction to things like monads and modules. It makes it very simple to jump into more complex languages like Haskell or OCaml or Scala.

I work on Ponyo [0] because I want to allow people (myself) to program at a high-level in Standard ML. Furthermore, I want to promote quality and usability. Basically, every function's type is annotated and we avoid abusing operators. The current state is such that you can parse CLI args, parse/marshal JSON, serve web pages, make http requests, browse file trees, and many other ideas in the works. But the most important part about Ponyo is that it is a large, (hopefully) well-documented project that others can study to learn Standard ML (and Haskell and Scala and OCaml and F#) better.

Scala, Haskell, F#, OCaml have their place and do their jobs well. If you don't know their place or just want to get exposure to the history behind these modern languages, I recommend giving Standard ML a shot. You can get started by reading the /r/sml wiki [1] or joining #sml on Freenode.

[0] [https://github.com/eatonphil/ponyo](https://github.com/eatonphil/ponyo)

[1] [https://www.reddit.com/r/sml/wiki/index](https://www.reddit.com/r/sml/wiki/index)

<comment><AUTHOR> Coming from Scala I'd like to see successor ML become a reality. Whether it's 1ML, Ponyo, Ur (without the /Web), or another ML derivative that's not OCaml (petty, but the crufty syntax makes Scala seem elegant in this regard) isn't all that important.

As it stands every year Rossberg publishes a paper on latest 1ML enhancements; Harper does the same wrt to PLT, and by proxy SML. Meanwhile, nothing's really happening AFAICT in terms of the ML torch really being taken up and carried forward (beyond OCaml and Haskell).

Perhaps a charitable donation from an SV unicorn founder or two, corporate backing of some form, or academic backing similar to EPFL for Scala could really get the ball rolling.

Moving forward we've got OCaml and upcoming modular implicits; Haskell and the new module system, Backpack; and Scala's transition to Dotty -- basically a lot to look forward to, but would love to see SML in the mix, such a beautiful language...

<comment><USER3> I find it interesting that you list all of the ML derivatives except the popular one.

<comment><USER4> Poly/ML?

<comment><USER3> No.

I mean, I know Tiobe isn't great, but the only ML-derivative I see on the top 50 is F#. ML and OCaml crack the top 100.

<comment><USER5> F# is an OCaml derivative. I'd reckon that OP's feelings about F# would be rather similar to their feelings about OCaml.

<comment><USER3> The only objection to OCaml is "the crufty syntax," which I think F# has taken steps to improve upon.

<comment><USER6> But F# didn't bring along the beautiful module system from the MLs, nor does it have type classes. Polymorphism there is basically just the OO + generics variety found in C#. That can rub some people (like me) the wrong way.

<comment><USER7> F# does have type classes, they're just called interfaces.

[https://msdn.microsoft.com/en- us/visualfsharpdocs/conceptual...](https://msdn.microsoft.com/en- us/visualfsharpdocs/conceptual/interfaces-%5Bfsharp%5D)

<comment><USER8> Type classes are quite different from interfaces. How would you encode the Eq typeclass in F#? .Net has the IEqualityComparer<T> interface but you need to manually pass that around (unlike Eq instances) and you also lose the global uniqueness property.

<comment><USER7> You don't have to rely on the built in interfaces provided by .NET, you can create your own. Just like in Haskell in F# you can use pattern matching against types to define which of the equality operators to use.

Also, I'm not sure what you mean by "manually pass that around". When you define a class in Haskell that inherits from a typeclass you reference that typeclass in the header of the new class. You follow the same approach in F# with interfaces.

<comment><USER8> By 'pass around', I mean pass around instances, not definitions. You could define your own Eq interface in F#

      type IEq<'a> =
        abstract member eq: 'a -> 'a -> bool

but you then need to explicitly pass instances of this interface around into every method that requires it e.g.

      let allEq (s: 'a seq) (eq: IEq<'a>) = ...

whereas the haskell version would receive the Eq instance for the input type implicitly.

Typeclass instances are globally unique for each type, which cannot be enforced with the interface solution. If you have an ordered map type, you can be sure the Ord instance used for insertion is the same that is used for retrieval. With the interface approach, clients cannot know which instance to use since there could be multiple implementations. The Haskell approach has its own problems, such as the proliferation of newtype wrappers to manage the dispatch mechanism.

Interfaces also hide the representation of one of their arguments (the receiver) whereas typeclasses are just a dictionary of functions.

<comment><USER7> I'm not sure I understand all of what you've said, as I'm not familiar with Haskell, but there are at least some Haskell programmers have recognised the similarities between type classes and interfaces. Do you disagree with any of the following?

[https://wiki.haskell.org/OOP_vs_type_classes#Type_classes_ar...](https://wiki.haskell.org/OOP_vs_type_classes#Type_classes_are_like_interfaces.2Fabstract_classes.2C_not_classes_itself)

"Type classes are like interfaces/abstract classes, not classes itself

There is no inheritance and data fields (so type classes are more like interfaces than classes)....

For those more familiar with Java/C# rather than C++, type classes resemble interfaces more than the classes. In fact, the generics in those languages capture the notion of parametric polymorphism (but Haskell is a language that takes parametric polymorphism quite seriously, so you can expect a fair amount of type gymnastics when dealing with Haskell), so more precisely, type classes are like generic interfaces.

Why interface, and not class? Mostly because type classes do not implement the methods themselves, they just guarantee that the actual types that instantiate the type class will implement specific methods. So the types are like classes in Java/C#.

One added twist: type classes can decide to provide default implementation of some methods (using other methods). You would say, then they are sort of like abstract classes. Right. But at the same time, you cannot extend (inherit) multiple abstract classes, can you?

So a type class is sort of like a contract: "any type that instantiates this type class will have the following functions defined on them..." but with the added advantage that you have type parameters built-in, so:

      class Eq a where
        (==) :: a -> a -> Bool
        (/=) :: a -> a -> Bool
        -- let's just implement one function in terms of the other
        x /= y = not (x == y)

is, in a Java-like language:

      interface Eq<A> {

        boolean equal(A that);
        boolean notEqual(A that) {
           // default, can be overriden
           return !equal(that);
        }
      }

And the "instance TypeClass ParticularInstance where ..." definition means "ParticularInstance implements TypeClass { ... }", now, multiple parameter type classes, of course, cannot be interpreted this way."

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER9> I'm just glad to a an "ML" article that's referring to MetaLanguage and not Machine Learning.

<comment><USER10> I always took it to be Milner Language.

Prof Milner was my first CS lecturer, many years ago. Ironically the language for that course was Pascal.

<comment><USER11> That is amazing, how was he as a lecturer?

<comment><USER10> Well, that first course was very basic and open to all students, and I didn't know who he was. Just seemed like a typical lecturer way down the front of a big hall.

A couple of years later, he taught my class of ~20 his Calculus of Communicating Systems; I think it was the first time he tried it out on undergraduates. He was incredibly kind and patient; really interested to find out which parts of the explanation didn't work, and how he could get it across better.

</comment></comment></comment></comment><comment><USER12> > Dependent types are the future

I think so too. Having a solver fill in my program from the proof obligations is way too amazing. I feel like there could be a connection from high-level specification -> implementation either by proof obligation or possibly synthesis via this route.

Plus I like ML/OCaml and would be happy to see more of it in the world.

<comment><USER13> Agreed on dependent type, and I also love ML syntax more than haskell(yes I don't like indentation sensitive language). BTW I suggest you give FStar a try, it has dependent type and OCaml/F# like syntax and support theorem proving

<comment><USER14> You don't have to use indentation for nesting in Haskell. Haskell's syntax is actually defined with curly braces and semicolons and you're free to use them. It's just smart enough to add missing curly braces and semicolons at the right places according to indentation when they're missing.

<comment><USER13> Yeah, you're right. But almost all of the community uses indentation which defined as layout in _Haskell2010 Language Report_ instead of semicolons and curly braces

</comment></comment></comment></comment><comment><USER15> I was taught functional programming through SML in university two years ago. I have never had my brain twisted with so many interesting and clever concepts - it was one of the most valuable semesters I had, and my favourite class.

Go learn functional programming if you haven't, it will force you to look at problem with a new set of eyes!

<comment><USER16> okay

</comment></comment><comment><USER14> I revere ML and loved using it back in the day, but I code now in Haskell and am even happier. I _like_ never having to figure out what parts of a program or library are referentially transparent. Why would I ever want to use an impure language again?

<comment><USER17> Maybe because you need to write some performant code?

<comment><USER14> I write fast code instead.

<comment><USER18> What do you think the difference is between "performant" and "fast"?

<comment><USER14> "fast" is in my dictionary.

<comment><USER17> Thanks for pointing out that "performant" is not in any english dictionary! ([http://weblogs.asp.net/jongalloway/performant-isn-t-a- word](http://weblogs.asp.net/jongalloway/performant-isn-t-a-word)) Didn't know that.

Besides that, your "fast" code will not be as fast as it can be if you are only relying on purely functional code, at least on current architectures.

<comment><USER19> Do be fair, he said "impure language" and not "impure code".

 _" Looks like we need to let the scholars know - there are 18,300 uses of the non-word "performant" in scholarly papers"_ <\- If that's not sarcasm, something is wrong. Performant is a word!

<comment><USER17> It is a word, just not an English one it seems! It certainly is a German word. That might explain a lot ;-) It might also explain the many occurrences, as there are many Germans writing papers in English.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER20> It would be nice if the author provided some actual evidence for sweeping claims like "modules are far better than objects" and "the world is converging on ML as the language of choice". If there really is evidence, that would be great to hear about. If there isn't then these statements seem a bit self- serving.

</comment><comment><USER21> For newbies (like me): Apparently in this context, ML abbreviates _meta language_ , not machine language or machine learning.

</comment><comment><USER22> Can someone provide me with references for a succinct, lucid introduction to the ML module system and what problems it solves, and what shortcomings is has that are (partially?-)resolved by later variants?

<comment><USER23> Danny Gratzer wrote about this a while back:

[http://jozefg.bitbucket.org/posts/2015-01-08-modules.html](http://jozefg.bitbucket.org/posts/2015-01-08-modules.html)</comment></comment>


Why Tablets Won't Replace PCs Anytime Soon - <AUTHOR> http://mashable.com/2014/01/05/tablets-pc-replacement/?utm_cid=mash-com-Tw-main-link

<comment><USER2> Part of the problem affecting the growth of the tablet has been their traditionally-horrible performance in all productivity-related areas. I remember being dumbfounded when the Apple fanboys were raving about how the then-next-generation iPad listed "multitasking" as a feature. It's still true today, though to a lesser extent.

To my mind, the tablet is just a smartphone that doesn't fit in my pocket. If I want to waste an hour looking at cat pictures on the ferry or at the airport I'll use my phone. If I want to get some actual work done I do what everyone else I know does - I pull out my laptop. I'm not aware of any middle ground between these areas where a tablet would greatly improve either my cat- browsing or my work-related experiences.</comment>


The glaring gender dilemma Silicon Valley venture capitalists are hiding from - <AUTHOR> http://www.washingtonpost.com/blogs/innovations/wp/2014/10/07/the-glaring-gender-dilemma-silicon-valley-venture-capitalists-are-hiding-from/

<comment><USER2> The unnamed investor quoted as saying:

> If you look at [Amazon founder Jeff] Bezos, or [Netscape Communications > Corp. founder Marc] Andreessen, [Yahoo Inc. co-founder] David Filo, the > founders of Google, they all seem to be white, male nerds who've dropped out > of Harvard or Stanford and they absolutely have no social life.

Andreessen graduated from UIUC and Bezos graduated from Princeton. Neither sought out a postgraduate education, which can hardly mean that one has dropped out. So much for "pattern recognition."</comment>


Building a Keyboard: Part 2 - <AUTHOR> http://blog.fsck.com/2012/12/building-a-keyboard-part-2.html

<comment><USER2> \- Poking holes in a plastic project box with a soldering iron isn't something you'd do in production, but it's fairly common when screwing around with a hobbyist project.

\- Twisted-pair cable either requires either grounding one wire in the pair (in 100baseT) or fancy differential-signalling tricks. (in 1000baseT or HDMI)

\- Sounds like the biggest problem was solder joint failure as a result of inadequate strain relief. In satellite design, where repair is, of course, impossible; the rule is to never use a solder joint as a mechanical connection. The component is secured to the frame, and the wire coming off the component is separately secured.

If you're not building a satellite, the method of accomplishing this is usually hot-glue, copious amounts of it, on everything. (As seen in cheap hand-assembled electronics. Expensive electronics are robot-assembled and use SMD components, which usually don't need strain relief unless you're doing something really exciting.)

<comment><USER3> Thanks!

In a bunch of the cases, the problem was "hysterically bad solder joints." It wasn't so much that the joints would fail when put under pressure as that they'd fail when you looked at them funny.

<comment><USER4> Please don't melt holes into that material with a soldering iron. The plastic you are using appears to be nylon, and nylon releases highly toxic fumes when melted. In addition to the nasty smell, there are some things in there that can kill you before you notice them. I highly recommend using a drill and a small file to make access holes like that. It's faster, safer, and looks better in the end.

<comment><USER3> I'd love a citation on "some things in there that can kill you before you notice them" to update the original post with - A quick websearch doesn't find anything more than "it's carcinogenic" and the material safety data sheet doesn't call it out. ([http://www.shapeways.com/rrstatic/material_docs/msds- strongf...](http://www.shapeways.com/rrstatic/material_docs/msds- strongflex.pdf))

<comment><USER4> Number 5 in that MSDS contains carbon monoxide which will kill you in small quantities. The "other toxic products" include HCN (hydrogen cyanide) which will kill you before you can detect it. It is produced in very small amount, but very small amounts of it are toxic. A reply to your post which is dead for some reason posted [http://www.greyops.net/2010/05/advisory-burning-nylon- thread...](http://www.greyops.net/2010/05/advisory-burning-nylon-threads.html) which has a couple more compounds that are released in low concentrations when Nylon burns.

There is a massive argument in the 3d printing community about whether Nylon is safe to print with. I would use it only in an industrial/laboratory setting with decent fume extraction and filtering and safety procedures (like Shapeways has). There is a dangerous asshole who is actually selling nylon filament for printing and telling people it's safe. He has performed some tests with an HCN detector with very questionable methodology and is now making a lot of noise about how safe it is. This is why I felt compelled to make some noise about how incredibly dangerous it can be to process it in a home setting. Note that unless you subject it to very high temperatures it's not going to decompose.

</comment></comment></comment></comment></comment><comment><USER5> There's a personal balance point between customization and portability e.g. how much to customize Vim or rely on shell/git aliases. These kinds of customizations can improve your personal workstation, at the cost of incompatibility with other people's machines and the spin-up time for new machines.

For keyboards, having to sometimes use other people's machines as well as frequently switching between my desktop and laptop means that, while tempting, this level of customization is too far for me. The sweet spot for me is a high quality mechanical switch (-style) keyboard: Topre's Realforce.

</comment><comment><USER6> An interesting wrinkle in these "column" keyboards (where Q-A-Z are lined up in a column rather than staggered) is that I self-corrected for this deficiency years ago; my left pinky hits Q-A-Shift, ring finger hits W-S-Z, middle hits E-D-X etc.

The W-S-Z fingering leads to a nice curve that mostly follows the movement of your finger, just like what you get on the right side of the keyboard (U-J-M, etc).

I don't know how folks type Q-A-Z with their little finger. It causes immediate hand pain to curl my fingers inward/perpendicular to hit Z, X, C, and V.

I imagine this method was only taught in the first place thanks to clueless typing teachers who thought "first keys on the left = first left finger", ergonomics be damned. Does anyone else type "Z" with their ring finger?

<comment><USER3> Actually, I do. That's part of what has made this design challenging for me. The next thing I build will have a ...somewhat different layout.

</comment></comment><comment><USER7> Part 1 (from yesterday): <http://news.ycombinator.com/item?id=4893457>

</comment><comment><USER8> What!? How do you not like Modern Family. I think you need to give it another chance.

<comment><USER3> I know that many people love it. It...just doesn't work for me. Ah well.

</comment></comment><comment><USER9> Reading this made me feel like building my own keyboard. Maybe use a little dvorak on it... Thanks!

<comment><USER10> Me too! It seems like it's gonna be hard to obtain keycaps and shells, though..

<comment><USER9> Yeah. After butting some hours of research into this I'm afraid that would be a little too big project for me to start with currently. So from this site ( <http://www.fentek-ind.com/FootPedal.htm#afs3usb> ) I found a little idea which i just might try out. But instead of leg switches, I thought about adding a new modifier(s) under/near my palm rests (pressure switches I guess, but needs some testing first, what feels comfortable) to get brackets, colons, <> and other daily signs from the home row.

</comment></comment></comment><comment><USER11> He's really lucky he wasn't arrested by the TSA, like that guy who had a custom-made watch and got arrested for "possessing all elements needed to make bomb". Namely - a few wires and a battery. He was arrested and put under $10k bail. A Keyboard that was opened and soldered on the inside? That could earn you some nice jail time in the Uncle Sam's land of freedom.

Edit: But yeah, the project looks really cool, something that each one of us uses every day and yet is so complicated internally. Well done.

<comment><USER3> Part of the trick is that I was aware of what I had with me and was careful to actually open its case so the TSA agents could easily see what it was. I was friendly and engaged and prepared to talk their ears off about ergonomics ;)

Flying out of DCA a week later, the TSA agent was astonished that I wasn't _selling_ keyboards -- "People will buy anything. You should make some money on that shit."

Transiting Narita and flying out of Taipei a week after that, I just put it through the X-Ray. Nobody said a thing.</comment></comment>


Show HN: Made this today, RankMyPlaylist.com - <AUTHOR> http://www.rankmyplaylist.com

<comment><USER2> You gotta let me see something before I have to sign up for an account. Top lists, maybe?

</comment><comment><USER3> What makes the 'best' playlist??

You need to explain more about what the site does. I have no idea how it is shared, how I get my playlists into the site, etc. etc.

I'm not willing to just go down the path because it is there, you have to interest me and lead me a bit.</comment>


Details of Google's Project Glass revealed in FCC report - <AUTHOR> http://www.bbc.co.uk/news/technology-21290934 <comment><USER2> Watch this before you consider one:

<http://en.wikipedia.org/wiki/Black_Mirror_%28TV_series%29>

Season 1 Episode 3: The Entire History Of You

<comment><USER3> Watch a paranoid melodrama slighting the product before I consider it? Why not just reasonably consider its possible significance in your life?

<comment><USER4> The parent just linked to a half-hour long TV show which does a reasonably thoughtful job at depicting the possible significance of ubiquitous recording in people's lives. Is this not the right kind of considering, or what?

<comment><USER5> It's not a new consideration; Bob Shaw's 1972 book _Other Days, Other Eyes_ does a credible job of looking at a world with ubiquitous recording - a cheap dust like recording medium is crop dusted across entire countries with the result that it can be hoovered up and played back to show whatever took place in the vicinity.

[http://www.tor.com/blogs/2010/10/slow-glass-seen-from-all- ar...](http://www.tor.com/blogs/2010/10/slow-glass-seen-from-all-around-bob- shaws-other-days-other-eyes)

<comment><USER4> Also: <https://en.wikipedia.org/wiki/The_Light_of_Other_Days>

</comment></comment></comment></comment></comment><comment><USER6> I wear hearing aids. The bone conduction had better be optional.

<comment><USER7> What exactly is your complaint? Surely you could mute the device?

<comment><USER6> Unless the sound is available as an audio out pluggable into a hearing aid (or a hearing-aid replacement), it's useless to me beyond basic boop-beep.

</comment></comment></comment><comment><USER8> "You are not authorized to access this page." on FCC :(

I wonder why they are going with something like bone-conductor, instead of normal Bluetooth headset type set-up, when it is actually not good at the only thing it should do: Sound good !

<comment><USER9> I'm not sure that the goal for Glass v1 is audiophile-quality music reproduction. I think a more realistic goal is to make sure that you can use the device without annoying others with audio leaking out. With that in mind, bone conduction makes sense. (Actually, I've never used a bone-conduction headset, so I don't know if it's any good. But the idea seems promising to me.)

<comment><USER10> I have a pair of bone conduction headphones, and sound leaking out is definitely a problem. The advantage of bone conduction is that it doesn't block sound from the outside world like normal headphones do.

</comment></comment></comment><comment><USER11> I still don't understand why nobody is talking about the legal and social issues around the video recording capabilities of the Google Glasses. Which so far looks like its only real use case.

It is illegal to record someone without permission in particular on private property. It is illegal to record children. There are major implications if illegal activity is recorded. Are you responsible if you don't notify police about a crime. Then there are the myriad of social concerns. If you record me and for privacy reasons I want the video erased how can I do so ? Or am I forced to remove the glasses from your head and destroy them?

Just like smartphones are required to make a noise when taking a photo I wonder whether there should be a red LED light to indicate when recording is occurring or a button to erase the last 5 minutes of video.

<comment><USER12> _Just like smartphones are required to make a noise when taking a photo_

I'm pretty sure that just about every smartphone allows you to mute the shutter sound.

<comment><USER11> Not on iOS IIRC.

And it definitely is a law that ALL smartphones make that sound in many countries e.g. Japan, South Korea.

<comment><USER13> iPhones in vibrate mode make no shutter sound.

<comment><USER14> Not in Japan.</comment></comment></comment></comment></comment>


Paper: Netflix's Transition to High-Availability Storage Systems - <AUTHOR> http://highscalability.com/blog/2010/10/22/paper-netflixs-transition-to-high-availability-storage-syste.html <comment><USER2> AWS infomercial of the most boring kind - not a single figure in the entire thing.

I'm starting to suspect big customers get a discount in exchange for adding their name on the dotted line of these PR Lorem Ipsum's.

<comment><USER3> I guess I'll have to ask Sid to add some cartoons next time to liven it up a little.

<comment><USER2> I meant figure as in: numbers.

They (you?) switched from an expensive platform to another expensive platform. In an article about a transition I hope to find hard data about the performance- and cost-tradeoffs that were made.

How many hosts, how much data, how much traffic, how many queries, how much latency, how many dollars?

Instead I got a generic "AWS is awesome" boilerplate along with a generic AWS best-practice bullet-list...

FWIW, here's a not-so-old chart from backblaze about relative storage cost: [http://blog.backblaze.com/wp-content/uploads/2009/08/cost- of...](http://blog.backblaze.com/wp-content/uploads/2009/08/cost-of-a- petabyte-chart.jpg)

S3 ranges way up there and knowing _that_ figure first-hand (and also their traffic rate) I sort of expected cost considerations to be at least _mentioned_ in a document titled "XXX transition to ... storage-system".

<comment><USER4> I did the math for my own applications and found that Amazon's system is competitive pricewise with something I can set up in a data center that has acceptable reliability (RAID1 + "enterprise backup" that may or may not pull through in a pinch)

If you consider that a home-rolled solution is not elastic to demand and therefore I'd probably wind up with a capacity factor < 50%, it's a wash pricewise. Meanwhile, I know the AMZN-based system is going to make me sleep easy when it comes to business continuity nightmares.

</comment></comment></comment></comment><comment><USER5> I was wondering how much effort it took them to implement these practices. In a typical Oracle based systems, some of features are invariably used(sequence, triggers) even if you assume that application were already written to not have any stored procedures or PL/SQL (which itself is rare for a system implemented in Oracle). Some of these best practices I would not call them best practices: for example using natural keys for primary keys, not sure if that is a good idea. And setting up kind of replication he is talking about is not easy to setup. One of the reasons he gave for this migration was that they wanted to save their eng resource to focus on product related stuff but this migration itself would have cost them significant resources to done.

</comment><comment><USER6> My Google Docs fu is weak. Anyone know how to generate a PDF of the paper linked in the article?

<comment><USER7> Someone has already made it available as a PDF.

blog post: [http://irr.posterous.com/netflixs-transition-to-high- availab...](http://irr.posterous.com/netflixs-transition-to-high-availability- stor#)

direct download link: [http://s3.amazonaws.com/files.posterous.com/irr/1OaUyyUq9eF2...](http://s3.amazonaws.com/files.posterous.com/irr/1OaUyyUq9eF2swicItinLGfYyl4T6syE9wGnI5O2rH4mmZc7VhruNvhEM3tM/NetflixsTransitiontoaKey_v3.pdf?AWSAccessKeyId=1C9REJR1EMRZ83Q7QRG2&Expires=1287793669&Signature=qtnZk7/Enly/bA7xuOs%2Bh9tJzfI%3D)</comment></comment>


Portugal decriminalized drugs a decade ago – what have we learned? (2011) - <AUTHOR> http://www.newyorker.com/magazine/2011/10/17/getting-a-fix <comment><USER2> > Yet there is much to debate about the Portuguese approach to drug addiction. > Does it help people to quit, or does it transform them into more docile drug > addicts, wards of an indulgent state, with little genuine incentive to alter > their behavior?

Who the f __* cares. It makes their lives better where nothing else has worked so far.

This is like saying, I beat my disobedient kid because I'd rather have a bruised disobedient kid than a non-bruised disobedient kid.

Whether or not someone living addicted to drugs is existing in a state of moral decline is a personal judgement call and it's no business of the state's, so long as that addiction isn't affecting the lives of others in a significantly negative way.

Only a wishy-washy equivocating, journalist can write, "everything about the new system appears to be working and it's making the lives of all better but is it really a good thing."

<comment><USER3> Yeah, this is a common argument against drug legalization: "But are we really helping the addicts?"

The sooner people accept that addiction, like violence, will probably just never disappear completely, the better off they'll be. We're looking at a policy of harm reduction, not the fantasy that we can cure addiction. Some people will always be on the outliers. The question is, do we criminalize their behavior and add an entire criminal subculture or do we accept it in order to reduce the overall harm to society and the addict?

<comment><USER4> The question isn't "Are we really helping the addicts?". The question is "Are we helping the addicts as best we can for a reasonable investment of resources?".

</comment></comment></comment><comment><USER5> "...about half of American adults believe that marijuana use should be legalized...". I find that strange. In Uruguay, 64% was _against_ legalization.[1] Not that they cared strongly. It was legalized anyway and now most people don't care.

[1] In Spanish, sorry: [http://historico.elpais.com.uy/121218/pnacio-682703/nacional...](http://historico.elpais.com.uy/121218/pnacio-682703/nacional/cifra- el-64-esta-en-contra-de-legalizar-la-marihuana/)

</comment><comment><USER6> Us, not very much, because we still use the criminal justice system to treat medical problems. But we are getting a little smarter, repealing some of the marijuana badness.

<comment><USER2> Totally, half the trouble with the recent conflicts between the police and the policed here stem from the fact that law enforcement has had all the social problems that we've abdicated responsibility for dumped at their door.

<comment><USER6> its deeper than that. If you only knew the levels of opiate abuse in LEOs... WELL above the levels in the general population.

<comment><USER7> LEOs?

<comment><USER8> Likely Law Enforcement Officers but their statement applies if it's Low Earth Orbit. Anything would be well above the general population if done in orbit!

</comment></comment></comment></comment></comment><comment><USER9> "Unfortunately, nothing about substance abuse is simple."

I think that's the problem with criminalizing personal drug use; treating it as simply a crime.

<comment><USER6> The problem is that turning actions which cause no harm (injury, loss, or damage to another) or threat of harm into crimes is perversion of law. The problem is using criminal justice system to attack medical issues is a perversion of law.

A perverse law has perverse effects. We've created massive organized crime gangs by criminalizing things which should be legal.

I like to tease the Swedes. They thought that alcohol was such a social ill that only a state-run monopoly should be allowed to sell it (so no advertising). The corollary is that they thought other drugs were so bad that only criminal gangs should be allowed to sell them.

<comment><USER10> > The problem is that turning actions which cause no harm (injury, loss, or > damage to another) or threat of harm into crimes is perversion of law

Drug use does harm. It harms users and it harms their families. The harms do not cease to be harms just because they're self-inflicted. Nor do they cease to be harms just because some countries have responded with legal regimes that are arguably worse than the problem.

<comment><USER11> The harms are much worse because of criminalisation.

Refusal to provide clean needles, injection clinics, and safe needle disposal bins causes harm to low wage cleaners who risk needle stick injuries when addicts use toilet stalls to inject drugs.

About one third to one half of acquisitive crime is to fund drug use. That could be drastically reduced by treating drug addiction as the public health problem that it is, rather than as a criminal justice problem.

[https://www.gov.uk/government/publications/financial-cost- of...](https://www.gov.uk/government/publications/financial-cost-of- acquisitive-crime-caused-by-class-a-drug-users-in-the-uk)

Illegal drugs are sold by criminal gangs. These gangs rely on the illegality of drugs to make a profit. Legalising drugs would drastically reduce the influence of these gangs.

Keeping drugs illegal doesn't seem to be working.

<comment><USER10> Your argument that we should treat drug addiction as a "public health problem" is inconsistent with mellavora's assertion that drug use "cause[s] no harm (injury, loss, or damage to another) or threat of harm."

<comment><USER12> The argument typically isn't that we should treat drug _use_ as a health problem. That would have quite some odd effects on the medical field, if that were true.

Drug addiction should be treated as a health issue. I'd actually go as far as saying "uncontrolled" should be added to that statement. I'm pretty pretty damn addicted to coffee, but don't think I need to go see counseling about it. Treating everything like it's black and white is what got us into this mess.

</comment></comment></comment></comment></comment></comment><comment><USER13> A lot of the interviewees in this article don't understand the difference between decriminalization and legalization.

</comment><comment><USER14> Just to be clear for those who do not read the article, "decriminalized" does not mean "legal". It means that while personal drug use, and possession for personal use, are still illegal, they are not treated as criminal matters. You go before a commission which can send you to treatment, or levy a small fine, or do nothing.

Dealers still get treated as criminals and go to prison.

</comment><comment><USER15> As a note, the PM that passed this legislation is now the UN's High Commissioner for Refugees.

<comment><USER16> I'm genuinely curious, what relevance or bearing does this have to the linked article? Is it supposed to imply something about the PM? Not hating, just honestly unsure.

<comment><USER17> It didn't / did (not sure myself) affect the PM's career?

</comment></comment></comment><comment><USER18> I don't know, after a few glasses of wine, I read this - I got 90% through it and lots of interesting details, but just too long and rambling :/

<comment><USER19> Ah, but that's because it's not particularly pertinent to you; your (our :-) unhealthy addiction is entirely legal...

</comment></comment><comment><USER20> Portugal also apparently saw statistically significant increases in both homicide and drug mortality, relative to rates across Europe.

"Decriminalization" generally implies deregulation of the demand side of drugs, but not the supply side (deregulation of both is generally "legalization"). That's problematic; it takes a burden off the criminal justice system, but many of the externalities of drug prohibition are closely tied to the supply side.

<comment><USER21> The data gathered here: [http://www.unodc.org/gsh/en/data.html](http://www.unodc.org/gsh/en/data.html) don't particularly support this claim, at least with regard to homicide (I'm still looking for data on drug mortality).

Drug decriminalization policy was introduced in Portugal in 2000 and was legally in effect as of July 2001. It is reasonable to assume that police enforcement efforts of drug possession laws were scaled down over the first six months of 2001.

Two years later, the murder rate jumped from 1.1 per 100K population (110-120 murders per year) to 1.4 (140-150 murders per year), wobbled around a bit, peaking in 2007 at 1.8 (185 murders per year) after which it dropped back to the 1.1 - 1.2 range (110-130 murders per year) which is difficult to distinguish from the 2000-2002 value.

In the rest of Europe murders mostly declined over the same period, dropping by about a factor of two in Spain (1.4 to 0.8 murders per year) and either dropping slightly or remaining steady, except for Greece, which also saw a bit of bump mid-decade.

So on the face of it, the murder rate in Portugal did jump two years after the drug policy came into effect, and Greece-which saw no such change in policy-- saw a similar bump that was unlikely to be caused by Portuguese drug policy.

Furthermore, without change in drug policy, the rate in Portugal has dropped back to what it was before, and is comfortably in the middle of the European range, from lows of 0.8 for places like Germany and Spain to highs of 1.9 in Belgium, with France and the UK both in the 1.1-1.2 range where Portugal currently sits.

So there is no strong case to be made on the raw statistics alone that changes in the murder rate in Portugal have been strongly influenced by changes in drug policy. It is clear that the murder rate in Portugal increased when most of the rest of Europe was decreasing, but so was the murder rate in Greece. Given the two countries have economic similarities (small nations on the European periphery) that suggests--but does nothing like prove--that economic factors might play a role in the murder rate.

<comment><USER18> Interesting - I wonder where the jump in murders could come from?

<comment><USER22> Based on the timeline I would suppose it is related with the massive financial crisis that Portugal plunged in that time period, culminating in the 2011 bailout.

At least as far as it can be observed from my first hand perspective most homicides in Portugal are passional in nature: mostly conjugal but many derived from disputes between neighbors or rival groups. It is very rare to see drug motivated murders.

One thing that is very clear in these past 10 years in here is that decriminalization allied with social and medical intervention by the government (needle exchange programs, methadone clinics) had two very visible effects in the drug use dynamic in this country, one direct and one indirect.

The direct one was to reduce the risk of death and disease among the drug user population. HIV among this group was reduced in 30% [1] for instance.

The second effect was indirect. The drug of choice and most problematic (considered an epidemics in the end of the 20th century) was heroin. But as the government started to treat people the drug lost its mistic of a rebellious and dangerous pleasure and became a "hobo drug" for a few poor toxicodependents that depend on the government for their next fix. And that change of perception is (IMO) responsible for the rapid decline of heroin use that followed this policy.

All things considered I believe most portuguese see the effects of the decriminalization as a positive thing and, at worst, it had no negative effect in the health of the overall society.

[1] [http://www.dn.pt/inicio/portugal/interior.aspx?content_id=43...](http://www.dn.pt/inicio/portugal/interior.aspx?content_id=4306726) (in Portuguese)</comment></comment></comment></comment>


Ask HN | http compliance if post with content-length:0 - <AUTHOR>

Hi
I have a corner case :-)
A library client do a POST request on my server, with 2 headers :
 > Content-type: application/json
 > Content-length: 0
So ATM the server response is 400 (bad request) because json is invalid
So the question is : When the content-length of a request is 0, should we parse the body or not ? <comment><USER2> To my mind, as long as the Content-type header is set, the server should try to parse the body accordingly.

In the case of JSON, an empty body cannot be a JSON representation, but for other formats an empty body can have a meaning.

<comment><USER2> For instance for a plain text content-type, no string != empty string

</comment></comment><comment><USER3> What does it matter?

What you should do is have the error messages be the same for detecting a length 0 submission and of attempting to parse the empty string as JSON.

You can think of the check for length==0 and length==1 as a sort of optimization (no JSON document can be 1 byte long), rather than a corner case.</comment>