Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
Peaker
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
75 ms
·
661.
▲
by
Peaker
13y ago
Well, whenever you write non-trivial code, your code is going to have invariants. These invariants can be partially tested or they can be fully type-checked. The latter is better and cheaper, when available. Haskell makes the latter availab
662.
▲
by
Peaker
13y ago
I am claiming Haskell will be 20-50% more effective than Go, not than what they're doing now :-)
663.
▲
by
Peaker
13y ago
I don't think you'll ever find this kind of code in production. With years of Haskell experience, I rarely encounter code that is hard for me to read. This is a good counter-example, and is not typical code. I read 10 lines of H
664.
▲
by
Peaker
13y ago
If you have to pay the salaries of programmers for the next 3 years to develop some solution, and know that 10% of that time will be spent learning a new technology that will make them 20%-50% more effective for the remaining 90% of the tim
665.
▲
by
Peaker
13y ago
I think people tend to underestimate the amount of time they spend on problems, when those are uninteresting. A single null dereference error may be trivial to fix, but the overhead around fixing any bug may be costly. For example, you mi
666.
▲
by
Peaker
13y ago
1. More safety from bugs in general, not just crashes. Haskell programs will generally be more reliable than Go programs. 2. If you look at the Benchmarks game, you will actually see that Haskell beats go there. I think this benchmark is fa
667.
▲
by
Peaker
13y ago
I disagree that Haskell is "clever". I think Haskell is "smart". Using "Maybe a" when you have a nullable value is smart, not "clever". It aids maintenance and readability, not hampers it. Using patte
668.
▲
by
Peaker
13y ago
What do you mean by "mental cost" here? Cost of initial learning? Then I agree... But learning a language is an O(1) cost that takes a few weeks to a few months. We program with the language for many years. I never said the Go run
669.
▲
by
Peaker
13y ago
Have you tried modern ML-style languages? e.g: Haskell, OCaml, F#? They also combine the nice conciseness of Python, with great concurrency (better than Go) and a lot more safety (less late night crashes).
670.
▲
by
Peaker
13y ago
Are US contractors getting a piece of the pie from the sales of Iraq's oil?
671.
▲
by
Peaker
13y ago
"Purely functional" is a misnomer. A better description is "typed effects". Haskell doesn't forego effects, it types them. You still have imperative destructive updates if you need them (e.g: to avoid a logarithmic
672.
▲
by
Peaker
13y ago
The audit of commits in the general case (Checking for errors in the code) and the audit for the deployment case (Checking for sensitive data that may be exposed in a security breach) are different audits. I don't think many tend to do
673.
▲
by
Peaker
13y ago
I think the main problem is unknown exposure: Do you audit all old commits to find any sensitive data?
674.
▲
by
Peaker
13y ago
"Just remove it" is hard, because: * It may be hidden in some old commit (e.g: some password) * You'd need to rewrite all history from that point * Force push doesn't necessarily clean the data from the remote
675.
▲
by
Peaker
13y ago
I think this is the exact image of Assange that US authorities tried to build, as if his concern about himself is relevant for anything at all.
676.
▲
by
Peaker
13y ago
Runtime debugging in Haskell is more rare, but when you need it, it's more of a headache. Achieving performance is harder than in c or c++. The ecosystem is strong on some counts and weak in others. There's lots of API duplication
677.
▲
by
Peaker
13y ago
He didn't say he wasn't a criminal. He said that out of two pieces of information: * He violated the law (negative) * He exposed secret domestic surveillance by the government (positive) They chose to highlight the negative, rath
678.
▲
by
Peaker
13y ago
There have been plenty of middle class martyrs. There are many religious people who openly explain that freedom is evil, and everyone should convert to Islam or face death. You're essentially claiming that I am brainwashed, and you kno
679.
▲
by
Peaker
13y ago
There are plenty of fundamentalists in the world for whom the reason is indeed religion . You're engaging in wishful thinking.
680.
▲
by
Peaker
13y ago
Why do you disagree with hands-free devices? What do you think about conversing with a passenger during driving?
681.
▲
by
Peaker
13y ago
It requires a repeated, renewed court approval and I don't think it is indefinite. I do agree it is undemocratic and very problematic, though.
682.
▲
by
Peaker
13y ago
"within its borders" is correct or incorrect depending on whether you consider the West Bank inside Israeli borders.
683.
▲
by
Peaker
13y ago
Israel is not a "theocratic" state. Israel has laws to enable members of the Jewish nation (of any religion) to immigrate to Israel. Because the whole purpose of Israel was to combat the persecution of the Jewish nation (which inc
684.
▲
by
Peaker
13y ago
Facebook wanted to pull the Waze development center from Israel to the Valley. Waze's founder rejected this and demanded that the development will stay in Israel. This is why the deal with Facebook failed. The deal with Google supposed
685.
▲
by
Peaker
13y ago
SQL is a DSL indeed, but building SQL strings programmatically is an awful idea. You should build SQL queries structurally. The DSL to build SQL should basically be a mirror of the SQL DSL in the host language. The DSL will guarantee that
686.
▲
by
Peaker
13y ago
What kind of bad SQL? Most forms of bad SQL can be ruled out by a well typed DSL. JS silliness is also a type safety issue. You can use Fay, Elm, GHCJs or Roy to generate Javascript from a type-safe language. Some NPE's take just 10 minute
687.
▲
by
Peaker
13y ago
Did you actually look at commits to reach this conclusion? Also, do you commit only/amend after doing extensive testing? Or do you also commit the results of debug sessions as separate commits? People have various biases that make them tend
688.
▲
by
Peaker
13y ago
> Oh we never considered the intersection of these 3 different business use cases Take a look at the history of any repository near you, for a project that uses C, Python or Java. Review bug fix commits. See how many of them relate to "
689.
▲
by
Peaker
13y ago
2. Why does the struct need a zero value? If it does, why not wrap it in an option/Maybe? 3. So that means you might get both a success and error value at the same time? And ignore one of them? As for concurrent problems being worse than nu
690.
▲
by
Peaker
13y ago
> I think this is the red herring at the heart of the problem. Those bugs really aren't a big deal, they happen rarely once you're proficient and they are quickly solved on the rare occasion when they do happen. This is simply not true.
More ›