Has the JSON file structure changed in v3? I am trying to migrate from WordPress to Ghost and I was going to use v2, but now that v3 is out, I would like to migrate to v3.
One point. Type erasure in Java is actually a bad thing -- this is because generics were added after the fact, and in order to provide compatibility with older code, Java only performs those checks at compile time. In some cases, even with generics, you cannot guarantee type-safety in Java due to type-erasure -- the information is essentially unavailable at runtime.
> Type erasure in Java is actually a bad thing -- this is because generics were added after the fact
I'd argue it's a bad thing for Java-the-Language, but a good thing for Java-the-Platform and it's ability to support languages with more advanced typesystems but with interop with Java language code.
I think it being overall a bad thing or a good thing is a matter of opinion. There's arguments for and against erasure, even if you ignore the motivation of backward compatibility, which was a key one in that case.
> The model's decision function is represented by the blue/pink background, and is clearly nonlinear. The bright red cross is the instance being explained (let's call it X). We sample instances around X, and weight them according to their proximity to X (weight here is indicated by size). We then learn a linear model (dashed line) that approximates the model well in the vicinity of X, but not necessarily globally.
Not exactly, but you can "sort of" look at it that way, especially depending on the distance metric they're using to penalize distance from X, and any bias in sampling perturbed samples that are "near" X - the regression line will fit in the middle of a bunch of "support points" in the biased direction. It'd be much closer to an SVM than a regular regression line
> For now, WebAssembly does not support garbage collection at all. Memory is managed manually (as it is in languages like C and C++). While this can make programming more difficult for the developer, it does also make performance more consistent.
Does this worry anyone else? Or I am getting worked up over nothing?
Static languages can compile to wasm. Low-level runtime implementations of other managed languages which don't mesh well with JS backends can compile to wasm.
It is on the wasm roadmap, along with other things that sound more like a virtual machine, and less like ASM. I assume to allow for dynamically typed languages without a download of the entire runtime.
Yeah, it's of moderate concern. I can see why it's not really a priority here, since they're probably targeting languages that already don't have GC to compile into WASM, like c++ as a canonical example. I have to imagine that GC is also a pretty huge section of performance / JIT compilation problems in the javascript runtime. So shipping a spec that doesn't support it is no worse than allowing statically compiled code to run on desktop computers.
That said, I wonder how the WASM runtime is sandboxed. Not having a runtime-provided memory manager makes me worry not just about memory leaks, but also about explicit shenanigans in different memory zones. It's hard to believe that a WASM runtime doesn't protect against this sort of escaping though, so it's more of an academic wondering than a real concern.
The addressable memory space doesn't include code, globals, stack, etc, but only that memory which could be considered the heap.
Pointers into memory are 32bit base + 32bit offset, non-wrapping, so 33-bit distances from a base pointer. Each memory access needs a check to that (relatively non-changing) pointer. Memory spaces can request expansion in multiples of 64KB, and can have configured maximum sizes. This leaves it all compatible with using the MMU to trap accesses beyond allowed memory. The example from the paper linked elsewhere is that on a 64 bit machine, you can allocate 8GB of virtual address space, which covers the entire possible addressable range of wasm instructions, and use permissions to trap out of boundness. The very notion of allocating that 8GB already encapsulates memory sandboxing, as long as the addressability limits of instructions can't be usurped (and it's formally been shown to be sound).
That only means that for now, languages will have to provide their own garbage collectors, like Go initially implemented their garbage collector in C which is a language that manages memory manually.
If you want something similar to Ubuntu, but something that is much more stable, I highly recommend Linux Mint. I've been using it for about 4 years now and it's a delight. Very stable and doesn't give me a lot of issues after upgrades. Their upgrade-schedule and the upgrades itself are very conservative.
They've based off a Ubuntu LTS, but I think they are starting to move away from that.
Yes, a failure at safely distributing software is a pretty big failure when it comes to distributions.
Mint, elementary and the other "user friendly" distros should focus on creating the desktop and leave the distribution part to projects that have the resources and the staff to maintain the infrastructure.
It's crazy how much motivation and passion you can get when information is so scarce, and you just want to play games :D I don't regret what I had to go through either.
Oh, wow! I did the exact same thing! I remember thinking why some files would just "run" from the command-line and why others wouldn't! I remember renaming a .TXT file to .COM or .EXE and also wondering why it wouldn't run!
Just saw your line about ISM - I was in ISM until 8th and I still remember they had those classes in the computer lab by the canteen :) I moved to ISG after 8th because my dad got a job in Ghala.
Hello! Haha, yes I remember the computer store in Al-Harthy complex where you could get games; all pirated of course. I remember I used to go there with friends in high school! Definitely good times...
It was more or a relative assessment of difficulty than absolute; I was comparing it to what it takes to play a game these days. Back then you had to do more legwork. It wasn't objectively that difficult though.
(https://ghost.org/docs/api/v2/migration/)