Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
chowells
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
15 ms
·
181.
▲
by
chowells
1y ago
Hell, you can write imperative spaghetti in Haskell if you want. I've done it. People will just keep suggesting you fix it, because it's so much more obvious how bad it is when you can so quickly and easily use the type system to
182.
▲
by
chowells
1y ago
Well, no. That's just not true. I care that when I type walmart.com, I'm actually talking to walmart.com. I don't look at the browser bar or symbols on it. I care what my bookmarks do, what URLs I grab from history do, what m
183.
▲
by
chowells
1y ago
I think it's absolutely critical when I'm sending a password to a site that it's actually the site it claims to be. That's identity. It matters a lot.
184.
▲
by
chowells
1y ago
I don't understand why people get so angry when a compiler points out that their code is broken. Is it better if runs and does the wrong thing instead?
185.
▲
by
chowells
1y ago
Local mutability is fantastic and practical... In a language like Haskell where the type system tracks exactly what values are mutable and all mutation is precisely scoped by functions that freeze the value they generate in a way that preve
186.
▲
by
chowells
1y ago
But the brakes experience less work, and so there is less combined brake and tire dust for distance traveled.
187.
▲
by
chowells
2y ago
Not anymore. Twitter has worked very hard to drive artists away. And succeeded!
188.
▲
by
chowells
2y ago
It's true. No memory is being used in contravention of the language semantics. Absolutely memory safe.
189.
▲
by
chowells
2y ago
You missed a prefix in monopropellant. That "mono-" is doing a lot of work that you ignored.
190.
▲
by
chowells
2y ago
> And similarly not knowing the terminology does not imply someone does not know the concepts Which is why I keep focusing on understanding the Haskell type system . Those are necessary concepts, which you will learn the names of along
191.
▲
by
chowells
2y ago
I assure you, most people cannot tell you the difference between bounded polymorphism, parametric polymorphism, and whatever their language thinks polymorphism means. (The latter is not the same as either of those.) Most people cannot handl
192.
▲
by
chowells
2y ago
Language designers could keep taking ideas from Haskell, and allow functions to opt in to appearing in stack traces. Give the programmer control, and all.
193.
▲
by
chowells
2y ago
The helpful part is the ability to abstract over arbitrary monads. That's the thing that makes it worth identifying that it's a known and well-studied pattern.
194.
▲
by
chowells
2y ago
Nah. Lots of people know what monads are. And critically, they don't write monad explainers. This is because if you understand the fundamentals well enough to understand an explanation, monads are so trivially straightforward that the
195.
▲
by
chowells
2y ago
I'll believe destroying stacktrace information is a valid complaint when people start complaining that for loops destroy the entire history of previous values the loop variables have had. Tail recursion is equivalent to looping. People
196.
▲
by
chowells
2y ago
[flagged]
197.
▲
by
chowells
2y ago
I can't believe people are using Texas as a positive example of deregulation after they demonstrated quite enthusiastically how broken their system is. A competent electrical system can handle sustained freezing temperatures without ma
198.
▲
by
chowells
2y ago
In Ruby, the class keyword is evaluated at runtime and the resulting object is crammed into a global mutable namespace tree. That is, it's dynamic too. Just not in quite the same way.
199.
▲
by
chowells
2y ago
> It is as if every photon that went through the slit is somehow aware of all other photons that did so too Why isn't it just that there's a probability density function that describes the aggregate outcomes of a large number o
200.
▲
by
chowells
2y ago
The problem is that no commonly-used symmetric cipher has been studied nearly as heavily with larger keys. 128 bits for a symmetric cipher is enough for all practical purposes barring a cryptographic break, and it gives the best performance
201.
▲
by
chowells
2y ago
Almost certainly because of the inappropriately aggressive tone for what would otherwise be a nice clean clarification. I just said "split" and "combine", making it possible to believe I literally meant "put half th
202.
▲
by
chowells
2y ago
That's not what idempotent means. Idempotent means forall x, f(x)=f(f(x)). Most pure functions are not idempotent. Heck, f(f(x)) doesn't even type-check for most f. The typical name given to always getting the same results is just
203.
▲
by
chowells
2y ago
You generally don't want to layer encryption like that. It apparently really does introduce new kinds of attacks, which has been observed in the real world. The pattern typically used for this is that the key for the high-speed symmetr
204.
▲
by
chowells
2y ago
That performance regression only hit code that was using a very large number of paths with the same table of computed gotos at the end. That's likely to only be relatively complex interpreters that were affected. So it's not a bro
205.
▲
by
chowells
2y ago
Way to miss the point entirely. GP was talking about why that happens. And yes, it's almost entirely due to going places that actually provide effective tools to deal with bad-faith participants.
206.
▲
by
chowells
2y ago
Wasn't the concern about the ozone layer primarily about the UV shield it provides? That has a much more significant direct effect on human health than it does on the climate.
207.
▲
by
chowells
2y ago
Any competent exec should be able to logically weigh the consequences of their actions. If something will get them fired and they choose to do it anyway, they deserve to be fired. That's not a perverse incentive, it's weeding out
208.
▲
by
chowells
2y ago
All comparisons and swaps in the code you quoted are made between adjacent elements. It's local in a way that behaves very nicely for an external sort on a tape drive. The code in the paper compares and swaps non-adjacent elements near
209.
▲
by
chowells
2y ago
This is a strange argument to me, because the single most critical aspect of a bubble sort is the locality. Bubble sort only ever compares adjacent elements. It only ever swaps adjacent elements. This is what makes bubble sort optimal (with
210.
▲
by
chowells
2y ago
This isn't being an entrepreneur. This is solving a problem. The two almost never overlap.
More ›