JB_Dev
In fact if you do this as a nonprofit or at an educational institution in a teaching context it’s explicitly allowed by fair use already.
If you do it individually, idk I’m not a lawyer. But it should be allowed on principle.
But if you then go take your trained AI and deploy it for commercial purposes that’s a different story and should have protections for the original rights holders.
But come on … these guides really are for learning purposes. Doesn’t seem like a big deal to me at all. They aren’t even hosting it, just pointing to kaggle who is hosting it.
On principle copyright law should allow this kind of learning use case anyway.
I really don’t buy this requirement to always deploy state changes 100% globally immediately. Why can’t they just roll out to 1%, scaling to 100% over 5 minutes (configurable), with automated health checks and pauses? That will go along way towards reducing the impact of these regressions.
Then if they really think something is so critical that it goes everywhere immediately, then sure set the rollout to start at 100%.
Point is, design the rollout system to give you that flexibility. Routine/non-critical state changes should go through slower ramping rollouts.
I don’t really buy this requirement. At least make it configurable with a more reasonable default for “routine” changes. E.g. ramping to 100% over 1 hour.
As long as that ramp rate is configurable, you can retain the ability to respond fast to attacks by setting the ramp time to a few seconds if you truly think it’s needed in that moment.
It’s showing the actual capabilities in practice. That’s much better and way more illuminating than what normally happens with sales and marketing hype.
I would much rather give to charities focusing on countries that don’t have the economy/ability to fix their basic issues.
It’s also incredibly common for road conditions to still be shared over AM - you see this a lot while driving with all the “advisory - tune to …. AM” signs everywhere.
Was it really worth spending that dev time and effort for such a small return rather than the product itself?
And yea now you get to manage your own cluster… thats an ongoing cost too, not free.
When Uber/Lyft are surging it incentivise more drivers to go to the surge area. This raises supply and the surge rate decreases. Drivers are distributed automatically where they are needed. Overall trips taken should be higher compared with a no surging model. So it shifts both the demand (higher ride price) and the supply curves dynamically. That’s an easier model to market to customers as there is at least some logical sense behind it.
However in Wendys case dynamic pricing has no effect on supply. It just modifies the demand curve.
Fundamentally they are betting that their food demand is inelastic enough that they’ll make more money overall. That just feels more exploitative and is going to be harder to market.
We found the underlying issue that caused memory pressure in the Gen2 region but the fix was to change some very fundamental aspects of the service and would need to have some significant refactoring. Since this was a legacy service (.net framework) that we were refactoring anyway to run in new .NET (5+), we decided to ignore the issue.
Instead we adjusted the GC to just never do the expensive Gen2 collections (GCLatencyMode) and moved the service to run on higher memory VMs. It would hit OOM every 3 days or so, so we just set instances to auto-restart once a day.
Then 1 year later we deployed the replacement for the legacy service and the problem was solved.
https://www.youtube.com/live/oIG9ztQw2Gc?si=vCBGGm0tkhG-VOyd
If you are making >$250K year, an extra $2500/month is not a significant bump. Especially as it is temporary while you are between jobs. Temporary could even be a year or longer.
Factor that cost into your emergency savings and draw down when you need to. You still end up massively ahead of a developer outside the US.
I am not endorsing the US system - it is objectively garbage. But the point is that the pay difference more than makes up for the downsides in healthcare.
The difference is quite significant.
(1) With the authors code (using Task.Run), I get ~428MB of allocations.
(2) Dropping the unnecessary Task.Run(...), I get ~183MB of allocations.
(3) Doing (2) and waiting N times on the same delay, I get ~39MB of allocations.
This was all using .NET 6 too. .NET 7 or the 8 preview might be even better since they are working hard on performance in recent releases.
So even looking at just (2), that puts .NET on par with the rust library.
In the unmanaged languages, those intermediate buffers should be freed immediately during the re-size operation.
But in the managed languages, they might stick around until the next GC. So the peak memory would be higher.
In this example the runtime overhead is going to represent more of the memory usage anyway but it quickly isn't negligible. E.g. a list of size 1M is going to be ~8MB (64 bit addresses). So even if the array is re-sized from 1->2->4->8->...->~500K, the end result is not going to be worse than 2X the size.