HackerTrans
TopNewTrendsCommentsPastAskShowJobs

pwagland

no profile record

comments

pwagland
·il y a 20 jours·discuss
They didn't blow the whistle though, not really.

Especially not when gp said that they expected the department head to brush it under the rug. If reporting things "up the chain of command" was really expected to root corruption out, and this fraud is 100% a form of corruption, then whistle blowing simply wouldn't be needed.

They covered their own ass, which is fine, in that later the head can't say they didn't know about it. But they didn't blow the whistle.
pwagland
·il y a 23 jours·discuss
There are plenty of cases where flattening an object that takes 64bits would make sense.

The current code will help with `Integer[]`, `Char []`, etc, as well as combinations of `byte`, `char`, and `int`. Past that it doesn't really help much.

It would be fantastic if we could also flatten something like `Pair` or `Tuple`. However, even with compressed pointers, that is 64 bits, so that, plus the `null` bit, means it can't be flattened, which is a real shame. For various reasons, I have `List<Long>` in numerous places in my code, It would be great if that could also be flattened. However, since a Long is 64 bits, it _also_ can't be flattened. https://openjdk.org/jeps/8316779 would go a long way to to helping here, since then at least the null bit could be thrown away, which would allow more things to be flattened.

And then, if you want to go Wishlist land, something that would allow SSO (Small String Optimisation) would also be awesome, but that would require something akin to unions in Java, which we can _kind_ of do with sealed classes, but, since String is a final class, can't be retrofitted back into the language.

Does anyone know if Valhalla will flatten "simple" sealed classes, where every sealed class is small enough to be flattened? Since that would also be a powerful example to share.
pwagland
·il y a 26 jours·discuss
From the article:

> The documentation should open with something like this:

>> The callback function must perform its work quickly without blocking. If you need to do complex work or synchronize with other threads or processes, do the work asynchronously, such as by using System Worker Threads.

A change was made, but not the change that Raymond thinks would explain why the list is there anyway.
pwagland
·il y a 26 jours·discuss
And, since he isn't waiting on the reply, he is following the rule for the callback.
pwagland
·il y a 27 jours·discuss
The "practical" use case is to allow auto playing of videos for those users who disable it, from the "Strategic Vision & Core Capabilities" section:

> Bypassing Browser Constraints: Modern browsers aggressively throttle autoplay videos, and ad-blockers restrict traditional media frames. To the browser, ASCILINE is simply "JavaScript updating a canvas"—completely invisible to media restrictions.
pwagland
·le mois dernier·discuss
At the very least, it goes against the spirit of the specification, even if there is no explicit wording forbidding it.
pwagland
·le mois dernier·discuss
In many battlefield scenarios, there is more than one "somebody" on it. The "somebody" that you kill might not be the "somebody" that you intended to kill.

Depending on the how pelicans are created, it is entirely possible to indirectly kill "somebody" due to the externalised costs of global warming etc.
pwagland
·le mois dernier·discuss
That's the advantage of externalised costs. It doesn't matter how high they are, you don't have to pay them!

You see this in all sorts of places, for example, stealing an EV charging cable. To a thief, a $500 charging station is just $10 worth of copper waiting to be melted down. They don't care about the $490 deficit they left behind because that’s the victim's problem. Social media platforms, and apparently now car manufacturers, look through the exact same lens.
pwagland
·il y a 2 mois·discuss
This has always been true. We have talked about the costs of raising children forever.

What is different now, is twofold: 1. Bigger financial impact of having a child, both through less government support, and because more women are working. This combined means that to have a child, often, one of the parents needs to stop working, which severely impacts SoL. 2. Less social impact of not having a child. It is far more common to not have children than it used to be, and so it becomes much more of a choice as to whether to make that SoL sacrifice or not.
pwagland
·il y a 2 mois·discuss
Or even both. In any kind of continuous deployment, you'd expect outages at the point of deployment, or shortly thereafter as the unintended consequences ripple.

Then the load during the working days makes those ripples larger and into outages.
pwagland
·il y a 3 mois·discuss
PDF files can be signed, that is tamper resistance. Tamper resistance doesn't have to make any difference to the readability of the document.
pwagland
·il y a 4 mois·discuss
There’s a common scaling heuristic, related to Greiner’s growth model, that organizations need to fundamentally change how they operate as they grow. I recall numbers that every time your organization triples you need to change how you do things.

Part of this is communication overheads, and as op points out, the need, and ability, to specialise in a larger organisation.
pwagland
·il y a 4 mois·discuss
Economics has this concept called revealed preferences[1]. These are preferences that people don't say that they want, but is what they actually use preferentially. An example of this the ordering machines that you normally now see in fast food places these days. People often say that they'd rather order by a cashier, but when given the choice of using one of these machines, or waiting a few minutes in line to get a cashier, they overwhelmingly choose for the automated option.

Tying this back to your first point, the revealed preference is that people would rather fill their own gas tank, rather than be forced to wait for someone to come and fill it for them.

Bagging groceries is different, however the revealed preference is that people would prefer the lower price/lower service supermarket, and those that need the help have to ask for it.

You are correct that everyone needs to earn a living, I think that most people would prefer that others can earn a living doing a somewhat meaningful job, in a somewhat safe manner.

The reason that much of this isn't automated has nothing to do with ensuring that jobs exist, but rather that the cost of automation is higher than the cost of labour. This is what op is talking about.

[1] https://en.wikipedia.org/wiki/Revealed_preference
pwagland
·il y a 4 mois·discuss
This "receive heavy scrutiny" is part of the problem that is raised in the article though:

> You are friends with all the senior TLs, so can get them to review your code, but this is not a high-leverage use of time.

And then, tying back to ops comment, the engineer gets pinged for their bad metric, because of this additional review.
pwagland
·il y a 5 mois·discuss
Even ignoring that "you" as an individual are not affected by this, there are plenty of things that "you" as an individual cannot do with your own property. For example, a lot of places in the US live under a HOA, and they often restrict what you can do with the frontage of your property. Many people live in places where trees have some form of protected status.
pwagland
·il y a 5 mois·discuss
You would be surprised I think. I know a bunch of people who use Siri, for all sorts of things. I personally regularly use the "push to activate" Siri for quickly setting up meetings et al.

And a *lot* of people want to use Siri while driving, when they can't access the phone, at least not legally.
pwagland
·il y a 5 mois·discuss
And, indeed, if you look at the author's writeup, you see exactly that the generated code satisifes `(rotate == true || rotate == false) == false`, since rotate is checked explicitly against 0 and 1. The essence of the difference is:

> When boolean is an enum, the compiler does exactly what I expected – the == false condition checks if the value is equal to 0, and the == true condition checks if the value is equal to 1.

> However, when boolean is actually _Bool, the == false check is transformed into != 1, and the == true check is transformed into != 0 – which makes perfect sense in the realm of boolean logic. But it also means that for a value of 255, hilarity ensures: since 255 is neither 0 nor 1, both conditions pass!

So a value of 255 also makes both checks fail for the enum, but because of the ordering of the code, it was expected to evaluate as != false.

Had the check: ``` if (sprtemp[frame].rotate == false) ```

been written as: ``` if (sprtemp[frame].rotate != true) ```

then it would work for the `bool` type, but not the `enum` type, at least in C23 mode. Assumedly the C++ mode (effectively) treated the boolean as an enum, or possibly as `false == 0`, `true != 0`.
pwagland
·il y a 6 mois·discuss
This is mentioned on the first page of the paper:

> Building on theoretical work by Dietzfelbinger and Walzer [8], we propose a novel practical approach, the binary fuse filters. They are conceptually similar to xor filters, and they rely on nearly the same simple code.
pwagland
·il y a 6 mois·discuss
For those that don't know why, and I didn't, the reason for this is that Tilapia are "mouth brooders", that is they keep the fertilised eggs in their mouth. So throwing away a dead female can cause these eggs to hatch, and reinfect the waters with new Tilapia.
pwagland
·il y a 6 mois·discuss
An interesting article, however my question is technical.

In the "The Mechanism of Extraction" section, how is that image made? It is nicely laid out, and has a nice "hand-drawn" feel. This is a good format for many technical drawings, but I have not found any tools that could create this.