Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
simiones
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
52 ms
·
871.
▲
by
simiones
3y ago
Given that the greek-speaking eastern half of the Roman Empire (the so-called Byzantine empire) went on for a thousand more years after the fall of the Western half, is it that surprising?
872.
▲
by
simiones
3y ago
Those are using a tz sound, similar to the zz in pizza. It's probably closer to the "s" in English pronunciation of "Caesar" than it is to the K used in Caesar's time.
873.
▲
by
simiones
3y ago
The problem is that the first-level error in most Go functions is fmt.Errorf(some error message, some args). The idea of pre-allocating an exported global error object (like io.EOF) is very rarely useful, and error structs are very rarely u
874.
▲
by
simiones
3y ago
That's not how people commonly use errors, with global variables. The way code usually looks like is this: func foo(arg int) error { if arg < 0 { return fmt.Errorf("expected >0, got %d", arg) } if
875.
▲
by
simiones
3y ago
Yes, demonstrating the problem with relying on conventions instead of compiler-enforceable patterns.
876.
▲
by
simiones
3y ago
How is an error like "Error in foo(): error in bar(): reading abcd.xml: file not found" clear to a user? What do foo() and bar() mean to them? What should they do about this missing file? This is just a more simply formatted stac
877.
▲
by
simiones
3y ago
1. The kth root of x being x^1/k would be written as this: k 1/k △x = x△ 2. I don't think these are as important. Also, ln x / log x is still the same or more symbols than `e△x`. 3. Not significantly more th
878.
▲
by
simiones
3y ago
The point was that it's just not his invention. He attributes it extremely clearly, no one is accusing him of theft. But you don't get math prizes for presenting someone else's ideas.
879.
▲
by
simiones
3y ago
I'm not sure we are in full agreement, my statement was a little ambiguous. I meant to say that, just like stack traces, Go error messages are only helpful to developers, at least 99.9% of the time. More generally, user error messages
880.
▲
by
simiones
3y ago
If your original error is `fmt.Errorf("failed to frobulate")` or even `errors.New("failed to frobulate")`, even if it's bubbled up with `fmt.Errorf("foo() failed: %w", err)`, errors.Is and errors.As are us
881.
▲
by
simiones
3y ago
I was thinking about this some more, and realized also that comparing bugfixing in software to car repairs is a false comparison. When repairing a car, the work is about identifying the ways it differs from the original design, and fixing t
882.
▲
by
simiones
3y ago
How often have you helped a friend by coding a patch for their Linux kernel? Why do you think you would do so more for some random iOS app if you were allowed to? Software "maintenance" is just extremely hard compared to mechanica
883.
▲
by
simiones
3y ago
Reverse engineering is already legal and is very explicitly not a copyright violation - that's why we have open source Unix today. You may be thinking of decompilation, but that can be defeated (at least partly) with various techniques
884.
▲
by
simiones
3y ago
Not always. For example, you'll see things like `file.Close()` or `defer file.Close()` very often, ignoring any error entirely.
885.
▲
by
simiones
3y ago
Go error messages are very much also tools for developers, if they are useful in any way.
886.
▲
by
simiones
3y ago
This whole thread was started by someone arguing that Go is superior because they're claiming Go's convention is "both", i.e. they claim you can generally safely do things like `if file, _ := getFile(); file != nil {....
887.
▲
by
simiones
3y ago
> Idiomatic Go says leave it to the caller. Like above, when only wants to know if there is "file or no file" without concern for why there is no file, then: > file, _ := getFile() // The second return argument
888.
▲
by
simiones
3y ago
Unfortunately, fmt.Errorf makes errors.Is/As useless. In fact, errors.Is is mostly useless in general, since very few Go libraries have any error types at all. You're usually stuck with parsing error messages if you actually want
889.
▲
by
simiones
3y ago
Does this technique keep the memoization table in memory while the top level function is in scope (so essentially forever?) Or does it become unreachable once the initial call to fib from somewhere else finish?
890.
▲
by
simiones
3y ago
As someone else is pointing out, software has always been copyright protectable, and there has always existed software which took advantage of those protections, so that part is surely false. The way I see it, there are two positions on sof
891.
▲
by
simiones
3y ago
Yes, I was refering to the merits of copyleft itself - that's what I was getting at with my original comment as well - I view it as mostly unnecessary. I understand that you don't want to discuss that further, not trying to prolon
892.
▲
by
simiones
3y ago
> Software is the same way. If your C software needs a fix, you can hire a C developer to examine it, find the problem, and fix it. Yes, it might take a few days depending on the complexity of the software, but it IS possible and most pr
893.
▲
by
simiones
3y ago
I don't see why it's sad. As long as the code isn't forked and maintained internally as part of some proprietary piece of code, why would you care whether it's technically legal to do so or not?
894.
▲
by
simiones
3y ago
I don't think that's true anymore. Linux proved to many companies how beneficial collaborating on software can be, and I believe the vast majority took that lesson to heart. The problems that the GPL mitigates compared to more per
895.
▲
by
simiones
3y ago
What do you mean? It's already pretty trivial to develop cheats for fully proprietary games. The only way to prevent cheating is to do it server side. You'd then be protected even if the server itself were also open source.
896.
▲
by
simiones
3y ago
Most free software is not copyleft though, and fewer and fewer new free software projects are choosing copyleft licenses. Ultimately copyleft is mostly a bureaucratic exercise, and it ends up stifling collaboration in all but the most hosti
897.
▲
by
simiones
3y ago
While your advice may be good at an individual level (though even there, money for a new car is not something most people would scoff at), it is horrible from a collective perspective. Allowing bad faith actors to get away with their transg
898.
▲
by
simiones
3y ago
> Software developers can be hired to work on software the same way. No they can't. A car mechanic can fix almost any part of any car, and can do so for the majority of issues in a few hours at most. The majority of issues car mecha
899.
▲
by
simiones
3y ago
The problem with this utopic vision is that the vast vast majority of users have no power over their software regardless of whether it's proprietary or open source: they just don't know how to write software, so the supposed four
900.
▲
by
simiones
3y ago
I get your point, but it should be noted that there is little evidence subliminal messages have any significant effect outside extremely specific circumstances, so this hardly seems like a real threat. More broadly, the problems you are dis
More ›