10 ms·
Cold showers on overhyped topics (2017)
- kosasbest 3y agoBefore clicking I presumed this would be a compilation of blogposts about the Wim Hof method[0] [0] https://en.wikipedia.org/wiki/Wim_Hof https://en.wikipedia.org/wiki/Wim_Hof
- pphysch 3y agoInteresting, looks like he's supposed to go on trial this month for wrongful death related to his Method. Let's stick to bickering about Formal Verification and Static Typing and leave that cold shower stuff to the pros...
- danielvaughn 3y agoIronically, the wim hof method itself could also go on the hype/shower list.
- chihuahua 3y agoBut his method of almost killing himself via an enema in a fountain jet in a public park stands the test of time.
- m463 3y ago> Swimming under ice > Hof's first attempt the day before failed when he began his swim without goggles and his corneas froze solid and blinded him. A rescue diver pulled him to the surface after he passed out. this probably has code analogies too...
- manmal 3y agoFor anyone wanting to try this, I‘d just warn that many extremes that humans haven’t evolved to endure (sitting for long periods, spending no time in sunlight, spending too much time in sunlight, eating no fat, eating too much fat, etc) have been shown repeatedly to shorten lifespan. I’d see daily ice baths as an unnatural extreme and wouldn’t consider doing this, at least not for a long period of time.
- amelius 3y agoSurvivor bias. "What doesn't kill you makes you stronger."
- Cthulhu_ 3y agoI suspect this is the case for a lot of the recent influx of "do this to live longer" posts on here. I mean there's centenarians who didn't do any of these and still got old. Daily alcohol intake, no sports, that kinda thing.
- namaria 3y agoIt's almost as if complex systems resist deterministic patterns of thinking. If only someone decades ago had written a book warning us about seeking 'silver bullets' in software development...
- infinite_salt 3y agoHumans weren't optimized to endure the unnatural extreme heat of a 175 degree sauna, yet studies point to frequent sauna use being associated with a reduction in all-cause mortality
- theLiminator 3y ago> yet studies point to frequent sauna use being associated with a reduction in all-cause mortality Is this perhaps because frequent sauna access is correlated with higher socioeconomic status/less stress/more free time/etc. What kind of confounding factors did they include in that study?
- jabits 3y agoI don't think so. Saunas are economically available to almost everyone (where there is fuel). I grew up a yooper in Upper Michigan and saunas are a very common part of the culture and even folks without indoor plumbing (much less common now) would have wood-burning saunas in the back yard. Saunas are one of the most relaxing, and invigorating, experiences I know of.
- llm_nerd 3y agoI just started incorporating cold showers (a controlled "cold plunge") into my routine for a variety of "life hack" reasons, so was a bit let down by the content. Maybe it could add a cold shower on cold showers? EDIT: The original title was simply "Awesome Cold Showers"
- freitzkriesler2 3y agoHaha, I've been doing this for years. When I'm done with my hot shower, I flip it cold and do a cool down even in the winter. Reminds me how much of a miracle hot water from a shower is. Only downside is I live in a desert so the water from the tap is warm when it's summertime.
- soared 3y agoSame, let’s me walk into the cold house somehow feeling internally warm after a cold end to a hot shower.
- HaZeust 3y agoAre cold showers worth incorporating?
- coryfklein 3y agoAbsolutely. I recommend doing the Wim Hof breathing technique right before turning it cold, it gives you a little boost of adrenaline that just tips the emotional valence of the experience from, "this is terrible why would anyone do this on purpose" to "wow this is exhilirating". I think a cold shower in the morning, when I do make it happen, gives me a can-do and energetic emotional state for the rest of the day. Force your body to start moving, and the mind follows.
- nprateem 3y agoWim Hof, a man who learned one of the most advanced spiritual practices (Tummo), and uses it to teach people to stay warm. It's like studying with a Michelin chef then working in McDonald's.
- nickthegreek 3y agoPrevious discussions: https://news.ycombinator.com/item?id=31793030 https://news.ycombinator.com/item?id=31793030 (June 18, 2022 — 629 points, 355 comments) https://news.ycombinator.com/item?id=23935943 https://news.ycombinator.com/item?id=23935943 (July 24, 2020 — 588 points, 241 comments)
- dang 3y agoThanks! Macroexpanded: Cold Showers - https://news.ycombinator.com/item?id=31793030 https://news.ycombinator.com/item?id=31793030 - June 2022 (355 comments) Cold Showers: For when people get too hyped up about things - https://news.ycombinator.com/item?id=23935943 https://news.ycombinator.com/item?id=23935943 - July 2020 (241 comments) Awesome Cold Showers: for when people get too hyped up about things - https://news.ycombinator.com/item?id=17604379 https://news.ycombinator.com/item?id=17604379 - July 2018 (3 comments) Awesome Cold Showers - https://news.ycombinator.com/item?id=16019844 https://news.ycombinator.com/item?id=16019844 - Dec 2017 (1 comment)
- matt3210 3y agoStatic typing is nice because it makes the IDE popup with the information. Shower that!
- ape4 3y agoYes and it will be checked in control paths that aren't always run. I guess a "cold shower" is that it only checks the type. You could put 999 into a variable that's supposed to hold the outside temperature.
- david422 3y ago> You could put 999 into a variable that's supposed to hold the outside temperature I've never done this, but you could also define types for stuff like this. type: PositiveInteger, or type: BoundedTemperature that would only ever hold valid values. Or one thing where it might come in handy would be when dealing with user/potentially malicious input - SanitizedString etc.
- theLiminator 3y agoDepends, if you're very diligent, you could use a "smart constructor" (in some languages you can make it so there's only one way to construct a type, and then enforce validation at construction time) and instead of taking in a float/int for temperature, take in a Temperature or OutsideTemperature type as an argument. An interesting implementation of this idea is outlined here too: https://medium.com/iterators/to-tag-a-type-88dc344bb66c https://medium.com/iterators/to-tag-a-type-88dc344bb66c A strictly newtype can be very powerful, but needing to "unwrap" your datatype to use it in normal operations of that datatype can be a little unwieldy so tagged types are a pretty interesting mechanism that provides type safety and convenience. I don't think it's strictly better though, it depends heavily on context.
- azemetre 3y agoWould something like this [1] be the function equivalent (not type equivalent) written in rust? A function that has a parameter of ints but will only yield numbers within a certain range? I guess I'm really confused by the Scala example you posted but really trying to understand. [1] https://doc.rust-lang.org/std/convert/trait.TryFrom.html https://doc.rust-lang.org/std/convert/trait.TryFrom.html
- ctoth 3y agoThis may as well be titled Awesome Scissor Statements[0]. I found myself wanting to argue with the typing one as soon as I saw it went up to 2014 and so would have nothing on more modern Typescript and gradual typing and then I realized what I was doing. [0]: Sort By Controversial https://slatestarcodex.com/2018/10/30/sort-by-controversial/ https://slatestarcodex.com/2018/10/30/sort-by-controversial/
- yjftsjthsd-h 3y agoI like that this calls out caveats to the downsides and mentions places where things really did hold up okay ("Most bugs were at the system boundaries; none were found in the implemented protocols. Formally verified systems, while not perfect, were considerably less buggy than unverified systems."). Good to keep perspective in both directions:)
- _greim_ 3y agoHype: "Static Typing reduces bugs." Shower: A review of all the available literature (up to 2014), showing that the solid research is inconclusive, while the conclusive research had methodological issues. Static typing lets you do more complicated things by offloading a subset of complexity-management to robots. The remaining human-managed complexity expands until new development slows to a crawl, and no further human-managed complexity can be admitted to the system, similar to adding more lanes on a freeway.
- junon 3y agoDynamic typing doesn't change/improve this, though, so I'm not sure what the point being made is. I'm also not sure I agree with it at its premise anyway.
- brink 3y agoI know, right? When did obvious things become hype and "need literature"? Type bugs are an obvious thing and happen all the time. Not hype, but an obvious fact: "Static Typing reduces type related bugs."
- the_gastropod 3y agoI think the important question is: at what cost? E.g., if it takes me 4x more time to write statically-typed code, and it saves me 10% fewer bugs (completely made up numbers here), is that worthwhile? Maybe, if I'm programming self-driving cars or autopilot software for aircraft. Probably not if I'm programming a web calendar for dog sitters.
- brink 3y agoI don't consider it an added cost, you're just moving the cost upfront to reduce long-term pain. Ruby apps are easy to build, but are difficult to maintain. Rust apps take a bit more effort to build, but are easier to maintain.
- the_gastropod 3y ago
- intrasight 3y ago> Hype: "Formal Verification is a great way to write software. We should prove all of our code correct." > Shower: Extensive literature review showing that formal methods are hard to learn, extremely expensive to apply, and often miss critical bugs. Glad you had the caveat "Written in 2000". What was hard and perhaps not worthwhile in 2000 has changed. Computers are a bit faster and software is more pervasive. A colleague of mine was involved in the formal verification of a really tricky cellular network bug. That was around year 2000. It was hard but was still necessary and successful. GM has a buggy car. That wouldn't have been an issue in 2000. Now it's an issue that forced them to withdraw a car from the market after about two weeks. Not saying that formal methods could have for sure avoided that, but I suspect that it very well may have.
- Analemma_ 3y agoI think the author should have expanded a bit upon "extremely expensive to apply", because that phrase is technically true but really hides the actual problems with formal verification and why it is seldom used in practice. People unfamiliar with formal verification think it means "the code is provably correct", but that's not what it does. Formal verification can prove that your code correctly implements a specified standard. You still have to define and write that standard. And that's where the problems begin: - Standards themselves can have bugs, or the standard you wrote is not what you actually wanted. Note that this is the same problem that often occurs in code itself! You've just pushed it up a level, and into an even more arcane and less-debuggable language to boot (formal standards are generally much, much harder to write, debug, and reason about than code) - The standard is constantly changing as feature requests come in, or the world around you changes. Modern software engineering mostly consists of changing what you or somebody else already built to accommodate new features or a new state of the world. This plays very badly with formal verification. Formal verification can work in areas where you have a long time to do development, or where your problem space is amenable to having a formal standard (like math problems). In most other cases it just runs completely opposite to the actual problems that software engineering is trying to solve.
- lolinder 3y ago
- 082349872349872 3y agoMy version of taking a cold shower is to re-read von Neumann, J., Goldstine, H. H. Planning and Coding of Problems for an Electronic Computing Instrument (1947) to realise how much JvN et. al.* had already learned about writing and debugging code. * let's not forget https://en.wikipedia.org/wiki/Klára_Dán_von_Neumann https://en.wikipedia.org/wiki/Klára_Dán_von_Neumann !
- nicklecompte 3y agoAn excellent quote from TAoCP Volume 1: > Up to a point it is better to let the snags [bugs] be there than to spend such time in design that there are none (how many decades would this course take?). — A. M. Turing, Proposals for ACE (1945)
- worik 3y agoThank you for the link to Klara I had no idea. What a sad story.
- deleted 3y ago[deleted]
- deleted 3y ago[deleted]
- kristiandupont 3y agoI am very skeptical of research about software development. Whether it's about tooling (static typing, etc.) or process (pair programming, etc.). It's really hard (I would go so far as to say impossible) to set up useful metrics and it's really hard to create comparable scenarios. And even if you had those, very few things apply generally to all fields of software, let alone the different types of personalities that developers have, even if the stereotypes have a bit of truth to them.
- jcadam 3y agoWait, are you suggesting developers are not interchangeable cogs?
- 0xdeadbeefbabe 3y agocogs and sprockets
- AtlasBarfed 3y agoThere's pistons and presses in there somewhere as well.
- solardev 3y agoLike metric and imperial cogs, software developers also come in different varieties: there are those who prefer tabs, and those who are mistaken.
- maerF0x0 3y agoWait, so just because there's fuzziness to the data you're going to instead defer to what? What's the proposed alternative/status quo that you're giving a data-less free pass?
- ChadNauseam 3y agoYou could defer to your personal experience
- slingnow 3y agoI don't understand this. This is a GitHub repository of someone's largely unverified opinions? Since when is talking about static typing considered hype? Saying static typing is "hype" is like saying "adding a handle to a coffee mug makes it easier to hold" is hype.
- Cupprum 3y agoWhen you look at the history the “scene” swings from one side to another. Initially people mostly used static languages (C time). Afterwards came some dynamic languages (abc). After that the internet time came back with static (java time). After which the dynamic took over again (python time). Currently we are moving again to static (kind of) mypy / typescript. My guess would be this depends on what problems is the majority of developers trying to solve. But of course this summary is just a huge simplification of evolution of languages.
- svachalek 3y agoYou have to look at whether software is being hacked out by an individual and then left behind for the next cool thing, or a massive project built by teams and maintained over years. Static typing just slows down the first case and can be vital in the second case. And the overall trend on these swings back and forth too, when a new environment like the web or mobile comes out then quick hack jobs rule the day, then as the environment matures and the dinosaurs take over projects get bigger and longer lived.
- worik 3y ago> Saying static typing is "hype" is like saying "adding a handle to a coffee mug makes it easier to hold" is hype. Hyperbole Horses for courses If I am batch processing text streams by applying regular expressions I really have no need for static typing, it just gets in my way If I am processing MIDI note and control signals in real-time, and quickly, then I do.
- npteljes 3y agoIt's a bit strange to say "hype" to static typing, because the idea is old and pervasive, but nevertheless there is hype around static typing. For example, the reason why TypeScript was created is because JavaScript isn't statically typed, and many people missed this, or attributed shortcomings to this. So while "hype" might not be the best descriptor, the debate itself around typing, and how clever and self-aware data types should be is an evergreen one, with no exclusive winners.
- coryfklein 3y agoStepping back, is this simply pointing out that Rule 34 also applies to scientific research? If a claim can be made, there is a scientific study that "proves" the claim true. If someone came to me with some outlandish claim, "Studies show that singing in the shower lowers cancer risk," I honestly won't be surprised if they could produce 2-4 white papers published in modern journals in support of it. So much of modern science seems to be reading between the lines and meta-analyses of scientific studies. Scott Alexander's review of Ivermectin[0] is a great example of this. Bold claim is made, everyone divides into two camps, and in fact both camps have multiple peer reviewed studies backing their side, and to arrive at some semblance of understanding of the topic you need to spend hours diving into the studies and checking off boxes: were they peer reviewed, were there confounders, do the authors have a history of fraud, and on and on and on. [0] https://www.astralcodexten.com/p/ivermectin-much-more-than-you-wanted https://www.astralcodexten.com/p/ivermectin-much-more-than-y...
- GauntletWizard 3y agoI thought you were going a different tack when I read rule 34 - That I think is more apropos to the article's intent - If something is interesting, someone is getting excited about it, and charging forward into fan art. Papers and news articles are unfortunately just real-world fan art.
- Cthulhu_ 3y agoTo add, if a claim can be made that can be turned into a product, there will be a paid-for study that proves it to be effective. When it comes to ivermectin though, I'm not convinced that was for profit per se, I think that was a crowd looking for a cure or something to latch onto because ????.
- pi-e-sigma 3y agoBreakfast is the most important meal of the day* *-scientifically proven.
- yieldcrv 3y agoI like the one that considered the additional factor of people just having invasive worms in them already, especially those living in squalor in the heavily Republican southeast. American healthcare is such that this would never be tested for until it becomes a problem, when your immune system is strained by other things the worms become a burden to your body. COVID is that other thing. So taking Ivermectin kills the worms as it was designed to do and this results in the body being able to focus just on fighting COVID. Given the "improved outcomes" being such low percentages to begin with, that fits pretty well to the distribution of the population that maybe have worms. So they say, "aha ivermectin did it, big pharma doesn't want you to know!" despite ivermectin being big pharma and just not being in on the conspiracy club so then the other camp tries to do a controlled study of just covid patients and finds no link. their headline says "no link found, not recommended" of course, because they're John Hopkins instead of their next door neighbor, this is just a symptom of the conspiracy theory and leftist institutions. but beyond that, it is a symptom of Republicans feeling accurately underserved by those institutions. There is an obsession with pointing out how dumb someone is, instead of empathizing and doing the additional study. "ah I see how you reached that conclusion, a bunch of people have been in a symbiotic relationship with parasites the whole time!"
- layer8 3y agoI’m glad this isn’t about actual cold showers.
- davidtechlit 3y agoHi layer I saw that you commented on a post about needing to set up a freelance "Gewerbe" in germany to work for US company. I would literally pay you 50 bucks if you can help me really quickly NOW...need to sign a contract for a job until midnight. I appreciate you!
- ChrisArchitect 3y ago(2017)
- nerpderp82 3y agoCold Showers: But At What Cost? Most systems don't need infinite scale. A big machine (not your laptop) can handle 95% of data analysis tasks. By big, I mean 1-4TB of main memory. Spot prices for a 1TB instance are 2-2.5$/hr.
- CTmystery 3y agoI would like to see one on all Apple's latest advancements. The hype: "SwiftUI, async/await and actors, and declarative animations make building a robust app easier than ever". The shower: "Imperative programming is really easy for our little brains to handle. UIKit, Core Animation, and GCD are easier to work with and reason about"
- Laiho 3y agoI've been wondering what is the "new" innovation about concurrency is in Go? Since most languages provide some type of channel/lightweight thread, what is the hype all about? I don't think Go makes the "hard" stuff in concurrency any easier, mainly the easy stuff becomes very easy, but in concurency most your time is spent in the "hard" parts.
- _pdp_ 3y agoStatic typing can often lead to over-engineering. It gets so complicated that you fight the type system at some point. Most Java frameworks are an excellent example of this problem. I prefer progressive typing like JS with JSDOC and light type checking with TSC.