skysight-inc/HackerNews huggingface dataset:
There are two parts to answering your question:

1. The message that it's less harmful than some regularly consumed things (eg, alcohol, cocaine, heroin) got smeared in to not being harmful.

2. A lot of those studies have serious faults -- either in not controlling the population that they're studying and confounding effects (eg, there might be a correlation between mental disorders and drugs because people prone to disorders are prone to seeking out drugs, not because drugs cause disorders; people who smoke both marijuana and cigarettes in lung cancer studies without adjusting for whether people also smoke tobacco) or they test at levels of consumption which most people don't partake in (ie, alcohol is really bad if you're a heavy alcoholic, but most people don't have to worry about that).

I don't think that marijuana smoking is harmless, but I think the degree of harm is obscured because of a lack of study, particularly long-term studies. (And, well, let's be honest: some of the research put out about marijuana came out of what are effectively government propaganda labs -- there was very little chance that they wouldn't find it was 'dangerous', in order to justify the scheduling.)
All performance issues caused by laziness are memory issues. Something isn't evaluated promptly, so large amounts of memory are consumed storing unevaluated expressions. This causes drag on the garbage collector and excess cache thrashing when it finally is evaluated.

But all of that is just because data stays in memory longer than expected.

If you ignore that, laziness has a small performance impact, but it's less than the performance impact of interpreting code, which is something many people consider completely acceptable.
In addition to someone taking my money it is a privacy issue.
Every usage of every bit of medical data requires patient consent.

The potential for abuse is not hypothetical.

While I was implementing medical information exchanges, every single participant considered patient data to be their own, to be used as they wish. Our (grand)parent company, a lab, was negotiating with Microsoft, Google, pharmas, etc. Each was trying to figure out how to monetize it. For example, targeted ads.

The C (executive) level players mocked HIPAA and the other (meager) patient and consumer protections the same way they mocked Sarbanes-Oxley, environmental protections, financial reporting requirements, etc. If you think Google and Facebook are bad...

---

My data, all that is known about me, is my identity. It's me.

At the very least, if someone's going to profit from my data, I want my cut.
In my country (Uruguay), marijuana is legal, but police still hate it.

Headlines today here were about a 19 year old rural young person who was in the legal register (yes, you have to register to grow or purchase marijuana, not something the U.S. will like), but police still locked him up saying he was over the legal limit, by weighing untreated marijuana and saying each branch was a different plant (maximum allowed by law is 6).

Spanish language link:

http://www.montevideo.com.uy/contenido/Procesaron-con-prisio...

Google translate: https://translate.google.com/translate?sl=es&tl=en&js=y&prev...
OpenTOC gives you official access through parts of the ACM paywall
The belly wasn't from beer, the "beer gut" is apocryphal.

https://en.wikipedia.org/wiki/Abdominal_obesity#cite_note-97
Yes, there's complex two way links. But we're pretty sure that there's a causal action too.

Having said that, alcohol misuse causes pretty severe psychosis too.

Here's a nice article: http://journals.sagepub.com/doi/full/10.1177/000486741559801...

There are more recent articles describing the mechanism that causes people with psychosis to smoke much more tobacco than the general population.
Design patterns are usually taught by describing several example problems, and then introducing the design pattern as something to solve all of them. The value of the abstraction is obvious. Haskell is more often taught as though flexible abstraction is an end in itself, and practical uses for it are somehow distasteful. This teaching style only appeals to people who think mathematics is "elegant" or "beautiful" instead of just a useful tool.
Seem neat to learn, but for something maintainable, LinuxKit seems interesting.
People homebrew beer via kits which is not much cheaper than buying a Sam Adams. You can homebrew cheaply if you guy 50 pound bags of grains but most homebrewers do not.
Humans can find good routes on TSPs in linear time. Our best algorithms can only do this in quadratic time or worse.
Same experience in both Wayland and X11. Intel built-in graphics, i915 driver.
> For Fortran's use case you want to turn math into running code and all this C /C++ OOP stuff gets in way.

Turning math into code is just as easy in both languages. The only addition that is different is adding types is mandatory in C++. You'd see more "float" or "long double"s in C/C++ code. No other difference.

> Also any language that doesn't have arrays built in is not going to get the time of day from a technical programmer.

Julia and Python have arrays built in, C++ has an array type, and C/C++ have pointers.

> You want the maximum performance out of your code so Python might be good for prototyping but you want to convert that to the fastest code in production.

With very little work you can turn prototype python code into production code with Cython. C speeds with python orchestration.

This leaves out the other languages on the block like Haskell and D which are better suited for other tasks.
That's because gcc supports it as an extension to C++. It's not an official part of the language, and using it in C++ code is therefore not portable across compilers/platforms.
It has already begun. I am eternally amused by the "shock" of self-proclaimed intelligent people at recent political developments. It is all quite rational, and quite predictable.

The true outrage comes from the super-rich, who are beginning to sense that their racket is about to be...disrupted. This is the roaring 20s all over again, except multiplied a thousandfold by technology.

Interesting times, indeed.
Note that it impacts individuals differently. That being said, I definitely experience an increase in focus, stamina, and endurance. That is particularly interesting since it also acts as aphrodisiac.
If you're a sedentary person, and you were to drink 3 of those protein shakes per day you'd end up with 2x your recommended protein intake and only but only 1/2 your recommended calorie intake. That's not a balanced replacement. It's a protein supplement.

Even on keto or no-carb, you still only get 30% of your calories from protein (same ratio as a non-keto diet, BTW). If you were to drink protein shakes all day you'd get 70% of calories from protein. The keto diet does not change the ratio of protein you consume. It only replaces carbs with animal and vegetable fats.

Too much protein is not good for you. It can damage your kidneys. It also causes weight gain, digestive issues, bad breath, and other things.

So again, I say that those shakes are a supplement, not a meal replacement, because they're not balanced. They're great for athletic and active people, because the more active you are the higher your protein requirement is. But a typically sedentary person should not use high-protein shakes as a meal replacement.
The misleading title made me think weed would outsell beer, which dumbfounded me.

Jeez. Have some integrity.
Please, these are posters on Hacker News. We work at tech companies and make large salaries. If you purchasing that much you are probably only spending $800 per month (prices get lower the more you use). While this is still around 10k a year it is definitely very manageable on a 6 figure salary
I tried to like Atom for a long time, but it was always just so sluggish. VSCode seems a lot faster and I keep finding my self going back and forth between it and vim.
Personally, I am really functional. People can't even tell I am stoned.

For people who don't smoke this much weed it's hard to comprehend but at a certain point you just don't get that high. You're mostly maintaining a buzz throughout the day or evening.

It's an entirely different experience when you smoke that much; one, I'd personally say is much more enjoyable.
In the early 2000s I was excited about the potential of networked handhelds. Then disappointed when it turned out they'd be phones. I wonder if there's some branch of the wave function where an open PC-style architecture won.
Has it though?

Consider stuff like wordpress, and other large programs that need an easy to re-use styling language. When you use something like bootstrap, and others know bootstrap, then you're making it easier for you and your customers down the line to build on something.

You can always write your own thing, and in many cases this will work, but then someone else is going to have to learn all of the quirks of your system before they can get up to speed and start using it at scale.
Haskell is good for problems where you want to spend most of your time thinking in terms of the problem domain and not so much about all the little implementation details.

For instance, if you were to write a CAD program, you probable want to be spending your time thinking about algebra and geometry, and not about little details like how an array is laid out in memory or when memory needs to be freed. The latter might be important for optimizing the last bit of performance out of a tight loop, but a lot of problems are hard enough on their own that just coming up with any solution that works is enough trouble on its own.

It's also good for problems where you want pretty good performance but don't have to be as fast as C, or where you want to take advantage of multi-core parallelism but don't want to deal with the usual complexities of threaded code.

Persistent data structures are really nice for certain kinds of applications, such as web services, where you have some complex internal state that needs to be updated periodically. Error handling is really easy when you can just bail out when something fails, since none of the state was ever modified-in-place and your old pointer to the old state is still valid.

The powerful static type checker makes Haskell a good fit for applications where it's really important that you calculate the right answer, or where you don't want to spend much time tracking down weird bugs.

Haskell isn't so good at applications where you need hard real-time guarantees or you want to have very fine control over the memory layout of your data structures or you want to be able to easily predict CPU or memory usage.
What's the Haskell code for preventing me touching the power switch?
> Whether or not it's conscious along the way is largely irrelevant.

Exactly.

It's the distinction between programming consciousness and physically reproducing it. The latter is for physicists and biologists.

Equating abstractions with what it's abstracting is a mistake, but assuming something cannot be programmed or simulated is also a mistake. Anything observable can be abstracted.

But to then think something can be accurately simulated without a good understanding of its nature is another mistake. So programmers should be following physics and biology.

And finally, to equate the two when the simulation is accurate is yet another mistake.

It's like mistaking the gravity in a video game for real gravity. They are never the same. But they are related: One is a simulation of the other.
Most likely not, as you'd be replacing the affected function (wp_mail) with the plugin.
How to Save Yourself from Social Media Disaster with an Employee App
Dominos is a high-tech logistics company that happens to focus on pizza.
Do you have a source for cannabis -> liver damage? This is the first time I have heard of it. My concern was always lung damage, but of course there are creative and delicious ways of avoiding that problem.
This sounds a lot like the taxi driver argument against Uber/Lyft to me.
Show HN: Marigold: A Gulp-based workflow
A Simpler Life Isn’t Always an Easier Life
The market for homebrewing hobbyists is a rounding error compared to the market of beer drinkers.
I'm no biochemist, but I'm fairly confident that the liver toxicity of cannabis is orders of magnitude lower than alcohol.

The idea that cannabis can cause liver damage seems to have started from a study[1] on the effects of chronic marijuana use in patients with Hepatits C, a disease which primarily affects the liver. There was a correlation between heavier cannabis use and worse liver fibrosis, but I think it's pretty misleading to say "cannabis can damage the liver" - so can acetaminophen, vitamins, and a million other chemicals, if taken in vast excess or with an already compromised liver.

[1]http://www.cghjournal.org/article/S1542-3565(07)01050-6/abst...
Indeed. However, the hard limit here is the number of "discernible" and distinct characters that can fit on the page. The whole second thing is really just a way of permuting the existing data. So I'd say there would be infinite data if the amount of characters that could fit on the page were also infinite. Applying the function really was just a way to represent the mechanism that gave you each combination. The whole seconds from midnight thing may have been needlessly convoluted.

Though, for that portion of my comment, it would've been easier to simply say the information is approximately equal to the amount of characters that fit on a page and all combinations of its arrangement.

Of course, if the actual "processing" of the information lies outside of the paper, I feel like that's kind of cheating. What do you think?
I am not an expert in any way, but parsers seem suited to Haskell. Perl 6's original parser was build using Haskell I believe and went on to influence the language a lot (again this is all stuff i have read, I have no real practical experience with either Perl 6 or Haskell).
Less is more.

Hammers are a great example. You'd probably be surprised how many kinds there are. Hand tools still have plenty of room for innovation.

UIs even more so.
My company just hired a Haskell developer; it took less than a month and we had plenty of highly qualified applicants. It actually made us reconsider how many engineers we were planning to hire, because it was easier than we expected. By comparison, we also have Ruby code, and finding equally talented Ruby developers has been much more difficult.
My understanding is that there is an exemption in amateur radio for model aircraft control signals that allows encryption [1].

[1] https://www.govregs.com/regulations/title47_chapterI_part97_...
Be that as it may, GP said 4g/day is "not unusual", and I would argue that while not impossible, that much is certainly unusual (as in, not common).
But if you read the article, it's all about not having a choice. Gosh, HN can be so ideological...
This will add complexity to the challenge somewhat: The cluster uses a mix of E5-2680v4 (Broadwell), E5-2680v3 (Haswell), E5-2680v2 (Ivy Bridge), and E5-2670 (Sandy Bridge) processors.

Each generation has brought different optimisations, tweaked instruction sets, and performance characteristics. You'll have to optimise for the most common scenario.
http://www.cghjournal.org/article/S1542-3565(07)01050-6/abst...

See my sib comment. In short: it's a misinterpretation/decontextualization of the research.
Obviously the first problem is most users (almost 2/3) aren't using M+. However, that being said I do want to clear up some of your points about user agency.

It is true app makers are happy to ignore recommendations, but users with M+ are much more empowered. So, for example, if the app makes permission requests repeatedly, on the 2nd ask Android will provide the "Never ask again" check to auto deny permission requests. So if an app is being annoying about a permission you (the Android user) don't want to give you can silence the app.

Also, you can always deny individual permissions after you've granted them, which also includes apps that don't target M+. So if you don't think an app should require the Contacts permission then you can deny only that permission. You can argue that this is a "power user" feature, but if you're interested in app permissions I think M+ gives you the appropriate levers. And surprisingly, I've seen the developers who fix their app if enough users uninstall it and leaving a review citing poor permissions.
I will boil down 10 years experience into a few words, "its hard, and expensive". Leveraging the real world paradigm works great in some situations and not at all in others. There are some things that 2D will always be better for, like search and shopping.
Data shows legal marijuana has hurt beer sales:

http://time.com/money/4592317/legal-marijuana-beer-sales/
Continuing the discussion means not opportunistically taking a cheap shot first. :(
I am not holding that (joke's) view, but monad came to mind as an ongoing academic research (to original Haskell at least) in order to solve a rather trivial stateful programming (trivial in an imperative style). To generalize that example, there are solutions that are trivial to express in an imperative style but seems convoluted in pure functional programming. How to retain the trivialness are subject of ongoing academic research.

EDIT: To be specific, I can think about the example of machine efficiency that can simply be specified literally in C but it is uncertain and opaque in Haskell.
Right - I may have phrased my point badly. The idea is that all effective driving relies on pre-mapping, either via digital means (your phone) or human means (your brain).

The expectation that self-driving can be perfected without any kind of pre-mapping and the system can behave at high reliably in-situ seems unreasonable. Even humans can't do that.
I am of two minds about package managers after having used Gobolinux for some years.

Because once i got familiar with Gobolinux and how it handles things, i can't shake the feel that most package managers introduce as many problems as they solve.

The biggest is that while _nix have sonames to handle multiple lib versions installed at the same time, most package managers balk at there being more than one package of a given name installed at the same time (Debian apparently works around this by including soname-like info in the package names).
> the cost will drop quickly as a result, and I wonder what that will do to startups in the space.

They'll scale massively. Someone has to supply all the states that are one day going to legalize weed - and I believe those who have already much experience in all aspects, from breeding over cultivating to harvest as well as legal and financial challenges, will also be those who will be the fastest to rush into any new open market. Also, they have (literally) wads over wads of cash readily available.
The exception is related to emulating NEON instructions. So we are talking about very low-level exceptions (or signal handling) - at kernel/C library level.

I am not sure if this exception is the cause. And even if you could examine the assembler code, you will not be able to fix it: the affected devices have reach end-of-life years ago, and vendors will not fix the bug :-( The only chance for a fix is that app developers implement a workaround.
Sure. I emailed my feedback to you, thanks.
Let's hope for "dig a really big hole through the center of the earth" research then?

:)
Careful, you are exposing our dear cocooned friends to facts which may trigger immense cognitive dissonance.

Statements such as this are tantamount to heresy within the new religion of globalism that has plagued the minds of the masses for the past half century.
From Black's Law Dictionary:

Ponzi Scheme: "...Money from the new investors is used directly to repay or pay interest to earlier investors"

Bitcoin does not fit the definition of Ponzi scheme for numerous reasons:

- There are no paid dividends to anyone

- The purpose of using bitcoin isn’t to recruit new participants

- There’s no centralized body that funnels money up to the top

- Unlike Ponzi schemes, Bitcoin retains value and continues to function even if no new participants join the ecosystem

Bitcoin fails the litmus test for a Ponzi scheme in any number of ways. The boring reality is that it is just a value transfer network that grows more useful the more people join it (much like a telephone network grows more valuable the more people are reachable on it).
Never, not for a second. It's the investors that made it possible to go full time with our venture. We couldn't have done it without. Be happy.

I sometimes hear founders regretting it, thinking the returns are too high compared to the initial investment (angel, seed). That's unfair, I think. It reeks of jealousy. You can't put a value on the peace of mind you get, for a while, of being able to do it your way.

FWIW, we only did a large seed round, no need for VC since, so things might be pretty different for Startups in the Series ;)
I really love how many things seem to be compatible with Bootstrap.

Most sites I've made in the past few years use Bootstrap—specially the grid, so I'd image this will really ease adoption if I'm not the only one who's used Bootstrap extensively.
That is exactly my grandchildren. My grandson is four and has been using smartphones for three years. He's had his own for one. Color me shocked when, at three, he asked me to connect his phone to my wifi. They're bright enough kids but far from exceptional/genius. Its just how it is now.

By the way, when you make the off/end button big and red, it is nigh impossible to convince a little boy not to press it. Over and over.
There may be different classes of quantum computers in the sense that some algorithms - including algorithms we do not yet have yet - may not execute on all the quantum computing surfaces we have. Additionally current quantum computers are heroic devices, it may be beyond our civilization to build ones that are equivalent to a human brain - or that elucidate how any brain works.
I'll go out on a limb & say there's different kinds of pain. If you are doing "cardio with weights" - ie. you can comfortably bench 100 lb, but you are doing 200 reps of 30 pound - that's pain A.
If you can comfortably bench 100 lb but you try to do 1 rep of 300 lb, that's pain B.
You want to feel pain B, so you won't blow your bicep. But you don't necessarily want to feel pain A, because that won't do you damage - its just getting in the way of finishing your workout, so you want to be zoned out. Most people trying to cut & get defined abs etc. are in the pain A basket, trying to repeatedly do insane amount of reps with very low weight. For them, cannabis might be a solution.
I think this hacker/kernel bug analogy is confusing the issue. I don't think that it is quote appropriate, so I am going to move to the next paragraph.

The language of bugs also serves to mask what the issue is. It is true that Penrose (as best I can remember) spends time talking about the limits of algorithms. I don't remember the "neural plasticity" stuff, but I do remember he was much impressed by our ability to understand Godel's theorem.

Let's just pause here.

Does that make sense to you? That our ability to understand the incompleteness theorem is somehow evidence against the algorithmic nature of the mind? Or do you think it shows we have a poor grasp of what it means to "understand" something, and of how symbolic reasoning and proof interacts with our mind?

I understood neither his, nor your summary of his, explanation of how QM is supposed to plug this hole in our understanding.

In fact, your little discussion of QM has, if anything, bolstered my point.

Note: we know that biological laws rely on physical laws, and that QM (and, say, relativity) are our best theories so far. That is not in dispute.

But please explain how QM plugs in this Godel hole. When the crux of the matter comes, there seems to be general hand waving (on his part).
"I'm also strongly for renaming 3D Printers to facsimile machines"
Wouldn't you need a 3D Scanner/Printer to really be a facsimile machine?