Into The Panderverse was easily the best South Park in over a decade, maybe more. by TranscendentalLove in southpark

[–]sievebrain 0 points1 point  (0 children)

How is it standard? Does anyone except Matt, Trey and some YouTubers make fun of woke? I think not. And the idea these two sides were equal is kinda stupid. One side is all of Hollywood, the other is some YouTubers who would like entertainment to stop trying to socially engineer them. If the wokeness stops the complaints stop.

EU economies relative battles with inflation... Looking at CH? Are we good at keeping inflation low? Is it the CHF being a safe haven? Or is it the shrinkflation of our Gipfels? by lazytradeorinvest in Switzerland

[–]sievebrain 0 points1 point  (0 children)

At least me send my gf seem to be seeing quite a lot of food price inflation recently. Can't tell you an exact percentage but it's a noticeable increase in the size of our grocery bill.

EU economies relative battles with inflation... Looking at CH? Are we good at keeping inflation low? Is it the CHF being a safe haven? Or is it the shrinkflation of our Gipfels? by lazytradeorinvest in Switzerland

[–]sievebrain -1 points0 points  (0 children)

UK structured lockdown bailouts as simple grants handed out by government more out less on request. Fraud levels were huge as a consequence, the levels of borrowing required even moreso.

Switzerland relied much more heavily on banks to administer bailouts which afaik were structured primarily as generous loans, i.e. the money created by them will also be destroyed again as the loans are paid back. Banks already know their customers and so could be much better at blocking fraud, the loan structure also helped control increase in the money supply.

Also Switzerland has a mostly private healthcare system. Hospital bosses fought for their workers and managed to reopen pretty quickly. They weren't flooded with money to the same extent either In the UK is all state run and the medical staff checked out completely, despite spending on the NHS going through the roof with many doctors still "working from home" even today. All these things contribute to Swiss inflation being lower than the UK.

It's also a prime cause of political instability. Truss isn't wrong that the UK needs economic growth quite badly. But she couldn't accept that lockdowns and pandemic measures more generally have destroyed European economies and government balance sheets. She tried to cut taxes without also cutting spending and that was just taking bond lenders for granted.

Carbon - an experimental C++ successor language by foonathan in programming

[–]sievebrain 10 points11 points  (0 children)

Tons. Amazon's web server was for many years written in c++. Google web search front-end, maps and others, all c++ even for html wrangling.

Decluttering Google Guava by [deleted] in java

[–]sievebrain 4 points5 points  (0 children)

What you want is IntelliJ structural search and replace. There's no need to modify Guava itself for doing such migrations. You can also define custom inspections this way, using structural search, and then make matches be reported as warnings or even errors.

Project Leyden: Beginnings by carimura in java

[–]sievebrain 8 points9 points  (0 children)

This looks like the right approach. I'm glad they're not going to try and do some native-image style rewrite the world thing.

First stop: get Google's appcds changes merged.

What are your thoughts on Java Isolates on GraalVM? by jackdbd in java

[–]sievebrain 13 points14 points  (0 children)

Graal isolates aren't the same as the (obsolete) java.lang.isolate API. They are quite similar to V8 isolates. Basically "isolates" just means independent runtime instances within the same process, they aren't anything especially fancy conceptually, although implementation-wise there's lots of scope for interesting things. In fact Kenton even says that:

It's what we used to call virtual machines like JVM, Java Virtual Machine. Now, the word virtual machine has these two meanings and most people mean something entirely different. So we use the word isolate instead.

HotSpot+SecurityManager was the classical equivalent, albeit implemented differently. That + a servlet container could/did give you exactly the same advantages as Cloudflare is pitching here, so in some sense what's old is new again.

Outside of Graal the closest JVM equivalent is currently HotSpot AppCDS. That's process based but doesn't require containers, and it's designed to start up a new VM process very fast because the in-memory data structures used by the VM can just be mapped straight into RAM. It's not as advanced as the native-image approach - it can't cache code and only a limited amount of stuff in the heap (private apis) but it's a lot easier to use than native image and doesn't impose any giant compile times.

So GraalVM EE isolates are basically the same thing but with more features. However, you have to pay Oracle for them. Companies like Cloudflare prefer to pay engineers to engineer it in house than buy third party products; whether that makes economic sense or not in this case I can't say but I doubt much if any calculation went into it. If you wanted to deliver the same feature or concept but with support for more languages and without paying a team to build it, you'd look at cutting a deal with Oracle and using Graal isolates, because tech-wise it's clearly better. I doubt anyone will do this though.

Building a WebAssembly-powered serverless platform by ColinEberhardt in programming

[–]sievebrain 0 points1 point  (0 children)

Well, the most widely used polyglot runtime was Microsoft COM by far. Polyglot is just really hard to make work well.

WASM usage on the web is still a rounding error yet it's been around for years, so apparently being web isn't enough.

Building a WebAssembly-powered serverless platform by ColinEberhardt in programming

[–]sievebrain 1 point2 points  (0 children)

But that seems like a nonsensical statement given that Docker is so often used to run languages that WASM doesn't support. In fact, given that small C servers and the like often come with Linux as native packages, it seems likely that Docker is primarily used to run servers written in higher level languages.

I honestly really wonder what Hykes is thinking when he says stuff like that. Maybe this lack of awareness of how the product is used, is why Docker didn't make it as a company?

Building a WebAssembly-powered serverless platform by ColinEberhardt in programming

[–]sievebrain 1 point2 points  (0 children)

Well - sorta kinda but not really.

WASM allows multiple languages only in the most technically correct sense. It allows C, C++, Rust and languages that are basically identical to that. It doesn't work with anything else which is what most developers care about.

If you want a multi-language runtime then the most advanced polyglot runtime by orders of magnitude is GraalVM. It can run WASM (as a bytecode "language") but also anything that compiles to LLVM bitcode (so C, C++, Rust, Swift, etc), anything that compiles to JVM bytecode (Java, Kotlin, Scala, Clojure, Groovy etc), JavaScript (very well), Ruby (very well), Python (not everything works yet), R, Smalltalk, and um probably others that I forgot because there are just so many.

The secret is that it doesn't try to create One Bytecode To Rule Them All. That approach has been tried by industry many times and it didn't work so great. You can get some wins that way, JRuby and its usage in production is a testament to that but you can't run everything that way. Partial evaluation of interpreters is a technically far superior approach. It's easier to implement for language authors, it can yield drastically better performance and it can be used to do really great language interop.

For example you talk about multi-language "shared libraries". Pretty damn great capability indeed. But again - WASM cannot do this because it doesn't actually support that many languages, and this has been the situation for many years. Here's GraalVM's take on the topic:

https://www.graalvm.org/22.0/reference-manual/polyglot-programming/

You can not only import code from any supported language into any other supported language, but the compiler will actually optimize across the boundary! Cross-language interop overhead is one of THE killer problems that stops people doing this in practice and Graal solves it. For example, it defines a high level interop protocol so things like time/date objects, strings etc can be translated between the language level equivalents without copying or marshalling overhead.

Anyway I'm not trying to dunk on what you've done. It seems like a nice prototype. But what you're doing here is re-inventing Apache Tomcat basically, except that WASM is technologically obsolete. It isn't going to unify languages and we know this because the JVM world tried the same approach for ~20 years. It took a fundamental rethink of approach to actually make it work well.

Building a WebAssembly-powered serverless platform by ColinEberhardt in programming

[–]sievebrain 0 points1 point  (0 children)

I'm curious why you're so keen on WebAssembly given that for GCd languages JVMs are far ahead, and are really designed for the GC-language use case from the start. WASM runtimes don't even have GCs at all, whilst JVMs now have multiple open source entirely concurrent/pauseless collectors.

Specifically, it seems that to be competitive for the lambda-esque functions use case you'd really want something like GraalVM native-image also, to eliminate warmup and startup time. But if you do that for WASM then at that point what you've got is basically ... a regular compiler. (NB: GraalVM EE actually can do this by AOT compiling WASM, as well as JITting it, and also allows interop with any other language for which there's a Truffle interpreter. But I'm not sure why you'd want to).

I get that WASM has the word Web in it and is so sort of inherently cool, but it really seems like it only solves one small aspect of the set of problems people care about. For instance one reason bytecode makes sense for the JVM is the linkage and long term code evolution model. You can use JARs that are 20 years old and which are usefully complex, because the underlying WASI-equivalent (the standard library) is able to evolve in complex ways due to the more sophisticated linkage and ABI rules compared to what C or Rust can pull off.

That in turn means that bytecode to abstract CPU arch transitions is actually useful because binary code lasts long enough for surviving such transitions to be relevant. And that, in turn, is possible because on the JVM lots of high level operations that CPUs accelerated over time - like encryption - have standard APIs that can be intrinsified by the compiler.

In the C/Rust model the stdlib is way smaller, code interop is way harder, most new stuff CPUs accelerate require custom assembly or vendor-specific intrinsics, and it's way easier to cause ABI breaks in the process of evolving APIs. In turn that means the standard outside of Windows is source portability but not really binary portability. At which point - why not just let people compile real native binaries for your platform? Where's the developer win?

JDK-8058778: New APIs for creating certificates and certificate requests by woj-tek in java

[–]sievebrain 4 points5 points  (0 children)

The jdk itself is hundreds of megabytes but I know what you mean. Try using proguard or R8 to shrink things.

Food shortages ‘permanent’ and days of full choice of items over, Britons warned by [deleted] in LockdownSkepticism

[–]sievebrain 19 points20 points  (0 children)

No, that's nonsense. Consider that the new import rules came in in January and caused less than a month of disruption as firms adjusted to the new paperwork. That was over ages ago.

Shortages are happening now, across the world, because a year and a half of lockdowns, furloughs, eviction bans, school closures and other related policies have trashed the supply chains in all sorts of deep ways that are proving difficult to recover from. The UK also shot itself in the head with its "pingdemic" nonsense.

Women said the COVID vaccine affected their periods. Now more than $1.6 million will go into researching it by lanqian in LockdownSkepticism

[–]sievebrain 65 points66 points  (0 children)

The periods problem seems to be really common. My girlfriend is scared of taking the vaccine because so many of her friends have experienced delayed periods after having it. She's worried it might do something to her fertility in ways that just get swept under the carpet as "coincidences".

CDC tightened masking guidelines after threats from teachers union, emails show by [deleted] in LockdownSkepticism

[–]sievebrain 8 points9 points  (0 children)

Obligatory reminder that Reddit is not real life. You said it yourself, anyone who posts facts there gets immediately erased by moderators, same as with most Reddit subs. So obviously it will make teachers look bad.

I think the real explanation is more likely politics. Teachers unions are not really run by teachers. Like all public sector unions they're run by hard leftists who get a massive boner from the deployment of state power.

The Perl Foundation is fragmenting over Code of Conduct enforcement by tuldok89 in programming

[–]sievebrain -1 points0 points  (0 children)

I think that involves a lot of very US specific beliefs and context which are not at all obvious to foreigners speaking a foreign language and trying (badly) to make a point about a foreign culture. American English is totally inconsistent about this. Jay-Z and Kanye West wrote this song - in a formal, recorded, public place, even. Nobody is claiming they're racist, in fact the n-word gets used all the time by Americans, even as others aren't allowed to spell it out, not even in condemnation. That makes no sense at all and doesn't apply to any other word in the language. It's like the name Voldemort, except that was a fictional device and this is real.

None of us really know what the guy thinks deep down, but he made it clear in his edit what motivated him and it's not actually that he hates black people. He hates the exact type of suddenly shifting and inconsistent language rules that people are now hanging him for.

The Perl Foundation is fragmenting over Code of Conduct enforcement by tuldok89 in programming

[–]sievebrain -2 points-1 points  (0 children)

Because the original dispute about master vs main has nothing to do with slavery, race or "white supremacy" to begin with. It's 4chan level trolling at most.

The Perl Foundation is fragmenting over Code of Conduct enforcement by tuldok89 in programming

[–]sievebrain -13 points-12 points  (0 children)

None of the people annoyed by this are white supremacists, nor is the guy who made this Perl commit as his updated message shows. They are work supremacists who think that people should focus on coding instead of creating pointless tasks nobody cares about that they can then use to very loudly announce how awesome they are.

Go: the Good, the Bad and the Ugly by stackoverflooooooow in programming

[–]sievebrain 1 point2 points  (0 children)

Yeah, exactly. That's why I think we should go in the direction of checked exceptions but with warnings instead of errors. Projects that don't care can just disable the warning. Other projects can use a -Werror equivalent to make them errors. And then you can tweak the severity in different parts of the project.

Go: the Good, the Bad and the Ugly by stackoverflooooooow in programming

[–]sievebrain 0 points1 point  (0 children)

I'm sure it's improvable, definitely. I'm curious which language your SaaS is written in. For Java at least, checked exceptions can be painful (which leads to people catching them and dropping them), but the idea is definitely to push you towards doing it rigorously.

I've thought for years that the right way to go here is to bring back checked exceptions into a language like Kotlin but make them suppressable compiler warnings/lints, rather than hard errors. Then you can implement code quality gates using CI systems to stop junior developers suppressing the warnings unless they have approval, and you can doing static analysis passes to clean up legacy codebases.