TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Cold Showers: For when people get too hyped up about things

588 pointsby vthrilleralmost 5 years ago

28 comments

Multicompalmost 5 years ago
I love that sqlite article. It seems like &quot;everyone&quot; is certain that sqlite can only be used for up to a single query per second, anything more and you need to spin up a triple sharded postgres or Hadoop cluster because it &#x27;needs to scale&#x27;.<p>I love being able to show that study, if you properly architect your sqlite system and am willing to purchase hardware, you can go a long long way, much further than almost all companies go, with your data access code needing nothing more than the equivalent of System.Data.Sqlite
评论 #23939155 未加载
评论 #23939157 未加载
评论 #23938757 未加载
评论 #23947172 未加载
评论 #23944059 未加载
评论 #23939460 未加载
评论 #23938723 未加载
评论 #23939125 未加载
Taikonerdalmost 5 years ago
I read this and thought, &quot;oh, the author is calling out formal verification as overhyped? Hillel Wayne (<a href="https:&#x2F;&#x2F;hillelwayne.com&#x2F;" rel="nofollow">https:&#x2F;&#x2F;hillelwayne.com&#x2F;</a>) is going to be angry! Wait, who wrote this...&quot;
评论 #23941510 未加载
评论 #23940020 未加载
评论 #23940747 未加载
ravenstinealmost 5 years ago
I think the best takeaway from this is that the software industry makes lots of claims about development processes, but so little actual research is done in trying to validate those processes. It&#x27;s all mostly based on opinion.
评论 #23943195 未加载
评论 #23939214 未加载
评论 #23942047 未加载
david-cakoalmost 5 years ago
It&#x27;s really hard to point at studies to evaluate these types of hyped development paradigms. Some thoughts, as someone who loves static typing and microservices:<p>My favorite thing about static typing is that it makes code more self-documenting. The reason I love Go specifically is because if you have 10 people write the same thing in Go, it&#x27;s all going to come out relatively similar and use mostly built-in packages. Any API requests are going to be self-documenting, because you have to write a struct to decode them into. Any function has clear inputs and outputs; I can hover a parameter in my IDE and know exactly what&#x27;s going on. You can&#x27;t just throw errors away; you always are aware of them, and any functions you write should bubble them up.<p>Typescript addresses this somewhat, but basically offsets that complexity with more configuration files. I like Typescript in use, but I can&#x27;t stand the fact that Javascript requires configuration files, transpilers, a million dependencies. Same for Python and mypy.<p>Yes, I could just look at class members in a dynamic language, but there&#x27;s nothing that formally verifies the shape of data. It&#x27;s much more annoying to piece apart. I don&#x27;t use static analyzers, but my guess is that languages like Go and Rust are the most compatible with them. Go programs are the closest thing to a declarative solution to a software problem, of any modern language IMO. As we continue experimenting with GPT-generated programs, I think we&#x27;re going to see much more success with opinionated languages that have fewer features and more consistency in how finished programs look.<p>Microservices are also great at making large applications more maintainable, but add additional devops complexity. It&#x27;s harder to keep track of what&#x27;s running where and requires some sort of centralized logging for requests and runtime.
评论 #23943415 未加载
rwoerzalmost 5 years ago
We software engineers are still more like alchimists rather than chemists.<p>That list reminds me of [1], which rants about this state of affairs and [2] that puts many beliefs to the test.<p>[1] <a href="https:&#x2F;&#x2F;youtu.be&#x2F;WELBnE33dpY" rel="nofollow">https:&#x2F;&#x2F;youtu.be&#x2F;WELBnE33dpY</a><p>[2] <a href="https:&#x2F;&#x2F;www.oreilly.com&#x2F;library&#x2F;view&#x2F;making-software&#x2F;9780596808310&#x2F;" rel="nofollow">https:&#x2F;&#x2F;www.oreilly.com&#x2F;library&#x2F;view&#x2F;making-software&#x2F;9780596...</a>
评论 #23939593 未加载
评论 #23946053 未加载
评论 #23942151 未加载
timClicksalmost 5 years ago
Hillel (the editor of this list) is one of the people in this industry that is going to make a tremendous difference to the world. His ability to make formal verification understandable, and therefore useful in practice, is unparalleled.
评论 #23938155 未加载
评论 #23943971 未加载
hansitomanialmost 5 years ago
&quot;Scalability! but at what COST?&quot; Is a very good example on how frustrating it can be.<p>We are throwing a lot of resources against a problem because we are not able to educate people good enough to understand basic performance optimizations.<p>You are a Data Scientist&#x2F;anyone else and you don&#x27;t understand your tooling? You are doing your job wrong.
评论 #23943404 未加载
quonnalmost 5 years ago
I wish it would be possible to have better studies for that. I believe that static typing has huge benefits as software scales. I also believe that the type system of TypeScript is actually stronger in practice than the Java or C# one (despite theoretical weaknesses). It has the right tradeoffs (e.g. structural equivalence, being able to type strings, being able to check that all cases are handled, etc.)<p>It would be nice to have proper studies, but it‘s difficult to control the other variables ...
评论 #23938679 未加载
评论 #23938857 未加载
评论 #23945609 未加载
评论 #23940180 未加载
评论 #23940248 未加载
评论 #23938476 未加载
评论 #23939549 未加载
评论 #23940353 未加载
评论 #23943318 未加载
评论 #23942601 未加载
j1eloalmost 5 years ago
I&#x27;m already thrilled waiting for an addition with &quot;Kubernetes everywhere&quot; <i>ice</i> shower.
评论 #23941700 未加载
评论 #23940613 未加载
beh9540almost 5 years ago
I was really surprised docker or kubernetes wasn&#x27;t one of the items on here. While I use both, they definitely both could use cold showers to make sure they provide value.
评论 #23940496 未加载
moby_clickalmost 5 years ago
There should be a section about the benefits of cold showers.
评论 #23946378 未加载
评论 #23938038 未加载
babbledabbleralmost 5 years ago
Cold showers are awesome! Get outta here!<p><a href="https:&#x2F;&#x2F;www.ncbi.nlm.nih.gov&#x2F;pmc&#x2F;articles&#x2F;PMC5025014&#x2F;" rel="nofollow">https:&#x2F;&#x2F;www.ncbi.nlm.nih.gov&#x2F;pmc&#x2F;articles&#x2F;PMC5025014&#x2F;</a>
the_afalmost 5 years ago
A Cold Shower for (early) testing of software, maybe:<p>There used to be an often cited paper by Boehm about the cost of catching bugs early vs late on production, usually mentioned by advocates of testing early, where the quoted conclusion was something like &quot;studies show it&#x27;s 10 times more costly to catch bugs late on production&quot; or something like that. This is a very well known study, I&#x27;m likely misquoting it (the irony!) and readers here are probably familiar with it or its related mantra of early testing.<p>I haven&#x27;t read the paper itself (I should!), but later someone claimed that a- Boehm doesn&#x27;t state what people quoting him say he said, b- the relevant studies had serious methodological problems that call into question the conclusion he did say, c- there are plenty of examples where fixing bugs late on production wasn&#x27;t particularly costly.<p>edit: I&#x27;m not arguing testing isn&#x27;t necessary, in case that upset someone reading this post. I&#x27;m not really arguing anything, except that the study by Boehm that most people quote was called into question (and was probably misquoted to begin with). This doesn&#x27;t prove&#x2F;disprove anything, except maybe hinting at a possible Cold Shower. It does show that we as a field have a serious problem in software engineering with backing up claims with well designed studies and strong evidence, but this shouldn&#x27;t come as a surprise to anyone reading this.
评论 #23940447 未加载
dvfjsdhgfvalmost 5 years ago
Regarding the bare metal issue, there are many more caveats, see for example: <a href="https:&#x2F;&#x2F;jan.rychter.com&#x2F;enblog&#x2F;cloud-server-cpu-performance-comparison-2019-12-12" rel="nofollow">https:&#x2F;&#x2F;jan.rychter.com&#x2F;enblog&#x2F;cloud-server-cpu-performance-...</a>
Laakerialmost 5 years ago
I was expecting it to a have a section about deep learning hype.
ajbonkoskialmost 5 years ago
This gets at the heart of one of my big gripes about how we talk about engineering and technology.<p>Often a fancy new thing is introduced with a very long list of pros: &quot;fast, scalable, flexible, safe&quot;. Rarely, is a list of cons included: &quot;brittle, tough learning curve, complicated, new failure modes&quot;.<p>This practice always strikes me as odd because the first law of engineering is &quot;everything is a trade-off&quot;. So, if I am going to do my job as an engineer I really need to understand both the &quot;pros&quot; and &quot;cons&quot;. I need to understand what trade-off I&#x27;m making to get the &quot;pros&quot;. And only then can I reason about wether the cost is justified.
vharuckalmost 5 years ago
&gt;Researchers had programmers fix bugs in a codebase, either with all of the identifiers were abbreviated, or where all of the identifiers were full-words. They found no difference in time taken or quality of debugging.<p>I would not have expected that. Still, I prefer to use full(er) identifiers. I don&#x27;t like to guess how things were abbreviated, especially when consistency isn&#x27;t guaranteed. If I were using a different language and IDE, this might be better.
apialmost 5 years ago
The big data one is outstanding.<p>If you don&#x27;t have more data than can fit on a reasonably large hard drive, you do not have big data and you are likely able to process it faster and cheaper on one system.<p>Today that threshold would be around 10TiB.
评论 #23955703 未加载
theptipalmost 5 years ago
&gt; Agile Methods: The Good, the Hype and the Ugly (Video) (<a href="https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=ffkIQrq-m34" rel="nofollow">https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=ffkIQrq-m34</a>)<p>Thoughts on this one? I found the presentation to be somewhat mixed.<p>I found the initial comb through of the agile principles to be needlessly pedantic (&quot;&#x27;Simplicity... is essential&#x27; isn&#x27;t a principle, it&#x27;s an assertion!&quot;); anyone reading in good faith can extract the principle that&#x27;s intended in each bullet of that manifesto.<p>The critique of user stories (~35 mins in) was more interesting; it&#x27;s something we&#x27;ve been bumping up against recently. I think the agile response would be &quot;if your features interact, you need a user story covering the interaction&quot;, i.e. you need to write user stories for the cross-product of your features, if they are not orthogonal.<p>I&#x27;m not really convinced that this is a fatal blow for user stories, and indeed in the telephony example it is pretty easy to see that you need a clarifying user story to say how the call group and DND features interact. But it does suggest that other approaches for specifying complex interactions might be better.<p>Maybe it would be simpler to show a chart of the relative priorities or abstract interactions? E.g. thinking about Slack&#x27;s notorious &quot;Should we send a notification&quot; flowchart (<a href="https:&#x2F;&#x2F;slack.engineering&#x2F;reducing-slacks-memory-footprint-4480fec7e8eb" rel="nofollow">https:&#x2F;&#x2F;slack.engineering&#x2F;reducing-slacks-memory-footprint-4...</a>), I think it&#x27;s impossible (or at least unreasonably verbose) to describe this using solely user stories. I do wonder if that means it&#x27;s impossible for users to understand how this set of features interact though?<p>Regarding the purported opposition in agile to creating artifacts like design docs, it&#x27;s possible that I&#x27;m missing some conversation&#x2F;context from the development of Agile, but I&#x27;ve never heard agile folks like Fowler, Martin, etc. argue against doing technical design; they just argue against doing too much of it too early (i.e. against waterfall design docs and for lean-manufacturing style just-in-time design) and that battle seems to have largely been won, considering what the standard best-practices were at the time the Agile manifesto was written vs. now.
sgt101almost 5 years ago
Yet again the &quot;we don&#x27;t need big data&quot; demoed on an example that fits on a disk. Big data is north of 30TB.
pragmaticalmost 5 years ago
I think functional reactive programming belongs on this list.<p>Rxjs, etc.<p>Angular uses typescript and rxjs excessively and, while I used to like typescript, the combo has made me reconsider.<p>Rxjs send like an overcomplex way to do common tasks. Has RRP caught on anywhere else? Is there a usage that doesn&#x27;t suck?
jdmoreiraalmost 5 years ago
&gt; Static vs Dynamic Typing<p>All research is inconclusive? Sure. I wonder what kind of type systems were in there? I guess Java and similars are accounted and yet I wouldn’t put any faith in them. ML, Swift, Haskell... now that’s something else.
评论 #23939624 未加载
评论 #23938991 未加载
评论 #23939732 未加载
Robin_falmost 5 years ago
The first link to the PDF unfortunately doesn&#x27;t work.
arendtioalmost 5 years ago
Reads like recipe for flame wars. Pick any of those topics and you can be sure to find someone with an opposite opinion of your own ;-)
andikleen3almost 5 years ago
I can confirm the issues with formal methods.<p>I was working on a new type of locking mechanism and thought I would be smart by modelling it in spin [<a href="http:&#x2F;&#x2F;spinroot.com" rel="nofollow">http:&#x2F;&#x2F;spinroot.com</a>], which has been used for these kind of things before.<p>I ended up with a model that was proven in spin, but still failed in real code.<p>Given that&#x27;s anecdata with a sample size of 1, but still was a valuable experience to me.
red_admiralalmost 5 years ago
First link (formal verification) currently gives a 404 for me. Someone not wanting the extra publicity?
touchpadderalmost 5 years ago
Hype: this document<p>Shower: Out-of-date sources
esquire_900almost 5 years ago
The title doesn&#x27;t really relate to its content very well; the concept of taking cold showers has some scientific backing ([1] &amp; [2]), and is also slightly hyped. After taking cold showers and getting some (minor) benefits for some years, the term &quot;cold shower&quot; started to get a positive association in my mind.<p>This article isn&#x27;t about showers, nor positive results, making the title quite confusing :)<p>[1] <a href="https:&#x2F;&#x2F;www.medicalnewstoday.com&#x2F;articles&#x2F;325725" rel="nofollow">https:&#x2F;&#x2F;www.medicalnewstoday.com&#x2F;articles&#x2F;325725</a> [2] <a href="https:&#x2F;&#x2F;www.wimhofmethod.com&#x2F;science" rel="nofollow">https:&#x2F;&#x2F;www.wimhofmethod.com&#x2F;science</a>
评论 #23938088 未加载