Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
kbolino
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
26 ms
·
391.
▲
by
kbolino
1y ago
> It is not good for the economy to have people doing work that doesn't produce value. This is a political statement, not an economic one. What is or isn't good for the economy is up to the goals of that economy. In Japan, for
392.
▲
by
kbolino
1y ago
Here's a formal definition of such simple requests, which may be more expansive than one might expect: https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/COR...
393.
▲
by
kbolino
1y ago
It's trickier than that, unfortunately. There has to be at least one new variable on the left side of := but any other variables that already exist in the same scope will simply be assigned to. However, if you use := in a nested bloc
394.
▲
by
kbolino
1y ago
Importantly, though, the credit card system is based around more than just the cryptography involved. By removing the ability to obtain portable payment credentials, the scammer is forced to perform the transaction right then and there. T
395.
▲
by
kbolino
1y ago
I think it's worth noting that, while the general consensus has converged around (T, error) meaning T XOR error, it does not necessarily mean that. There are some places that violate this assumption, like the io.Reader and io.Writer
396.
▲
by
kbolino
1y ago
It's an interesting idea. Right now, you can do something like this: res := someFunc() // func() any switch v := res.(type) { case error: // handle error case T: // handle
397.
▲
by
kbolino
1y ago
Not OP, but I found a compiler bug in the initial release of 1.18, though it was also quickly fixed: https://github.com/golang/go/issues/51733
398.
▲
by
kbolino
1y ago
It does look like the EMV contact standard allows for falling back to SDA operation, which involves the card just handing over the static application data, which doesn't ever change and can be cloned fairly easily onto a fake card. I d
399.
▲
by
kbolino
1y ago
You can certainly encounter 2.675 as a multiplier, even if you wouldn't have it as a balance. It doesn't matter that some error starts off way less than 0.005 if rounding then amplifies it. We can find two 2-digit numbers that mul
400.
▲
by
kbolino
1y ago
Good catch, I didn't see it (nor the usual symbol that accompanies it) when I looked at the pictures in the article. Ideally, the use of these stripes should be completely eliminated, as they can't possibly be secured.
401.
▲
by
kbolino
1y ago
Which is why modern card technologies like chip cards and tap-to-pay don't expose the sensitive numbers at all. The card reader can't steal a number that doesn't exist. Only magnetic stripe cards are so insecure, but the card
402.
▲
by
kbolino
1y ago
> one must define a new error enum that exists only to wrap the values returned by two different fallible functions belonging to different libraries Saying this must be done is awfully strong here. There are other tools at your disposal,
403.
▲
by
kbolino
1y ago
Ok, but in the context of this thread, it is important. Remember that I'm replying to the statement "For added assurance, just round to the nearest cent after each operation." That is misleading advice and the behavior of flo
404.
▲
by
kbolino
1y ago
You can round to the nearest .0078125 (1/128) but not to the nearest .01 (1/100) because that number cannot be represented in float64. To round to the nearest cent, you would need to make cents your units (i.e. the quantity "
405.
▲
by
kbolino
1y ago
To this day, error handling in most Unix shells just sucks. Background commands, pipes, command substitutions, functions, if/while conditions, subshells, etc. are all "special cases" when errors are involved. You can make the
406.
▲
by
kbolino
1y ago
If this were true, then wouldn't MD5 have been the better choice? Also, SHA-1's preimage resistance (which still isn't broken) is necessary for the security of signed commits, regardless of the hash function used for the sign
407.
▲
by
kbolino
1y ago
I've dug into this a bit more, and it seems I got some wires crossed somewhere. Widevine L1 (the highest level of protection) is still expecting a "trusted execution environment" that is separate from the GPU. This leaves t
408.
▲
by
kbolino
1y ago
I think that physical media is already known as the weakest link in the chain today and is thus being phased out. While the studios were reticent to adopt streaming initially, I think they've realized it is actually easier to secure, a
409.
▲
by
kbolino
1y ago
The end goal is end-to-end protection with online verification . As far as I can tell, we are already halfway there. The highest level of Widevine protection in use today essentially involves the streaming server having a private encrypted
410.
▲
by
kbolino
1y ago
I don't think this is correct. I distinctly remember some scroll-enabled UI elements on Windows displaying a completely greyed out scrollbar when the content wasn't actually scrollable. Indeed, I can verify this today with PUTTYG
411.
▲
by
kbolino
1y ago
MITM is a very real threat in any remotely public place. Coffee shop, airport, hotel, municipal WAN, library, etc. I honestly wouldn't put that much trust in a lot of residential/commercial broadband setups or hosting/colocat
412.
▲
by
kbolino
1y ago
Yeah, the difficulty with glyph caching IMO is handling things like combining diacritics. Really, you'd need to do proper Unicode grapheme cluster segmentation [1] to even decide on what is a valid cache key in the first place, at leas
413.
▲
by
kbolino
1y ago
I did some basic tests with SDL3 and SDL3_ttf, using only surfaces in CPU memory and with acceleration disabled, on my 2560p 144Hz monitor and the copying was never a bottleneck. I was concretely able to achieve an average of 3ms per frame,
414.
▲
by
kbolino
1y ago
There's so many factors affecting power efficiency that it's hard to give a categorical answer. A lot of it is dependent on factors that vary widely, from the hardware in use, to the display setup (resolution and refresh rate), to
415.
▲
by
kbolino
1y ago
There's going to be a compatibility-performance tradeoff here, to be sure, though the compatibility issue is going to be more with "very old platforms" and the performance issue is going to be more with "very high resolu
416.
▲
by
kbolino
1y ago
This isn't meant to detract from the broader point about the limitations of terminals, but a simple array of pixels is among the least efficient ways to interact with modern GPUs, especially if it doesn't support rectangular copy
417.
▲
by
kbolino
1y ago
You don't have to close a channel in Go and in many cases you actually shouldn't. Even if you choose to close a channel because it's useful to you, it's not necessarily shared state. In a lot of cases, closing a channel
418.
▲
by
kbolino
1y ago
Given that this is just due to a Chrome Root Store policy, it seems like a possible solution is to maintain two PKI root stores, one for browsers and one for servers. The server one can be a superset of the browser one, adding CAs that allo
419.
▲
by
kbolino
1y ago
IPs are slowly getting worse as identifiers over time, but IP and IP range bans are like port-shifting SSH: you can often get a lot of defense against low-effort attacks for similarly low amounts of effort.
420.
▲
by
kbolino
1y ago
IP bans are usually enforced before the TCP handshake proceeds: server receives SYN packet, checks source address against blocklist, and if blocked then drops it before proceeding any further in the TCP state diagram.
More ›