☆ Yσɠƚԋσʂ ☆

  • 2.2K Posts
  • 2.92K Comments
Joined 6 years ago
cake
Cake day: January 18th, 2020

help-circle











  • The situation in occupied Korea is a perfect case study of how late stage capitalism literally consumes its own future. The so-called economic miracle is built on a foundation that’s cracking wide open.

    Let’s start with the economy. While everyone sees global brands like Samsung and Hyundai, the reality is a brutal, two-tiered system completely dominated by chaebol conglomerates. They suck up all the talent and capital, leaving everyone else to fight for scraps in a world of insecure, low-wage gig work. This is why you have a generation of the most educated young people in the country’s history drowning in debt and unable to find stable jobs. They call it Hell Joseon for a reason. The system demands you run this insane rat race from birth, only to find there’s no cheese at the end.

    This leads directly to the collapsing birth rate which is a rational, collective strike against a system that makes having children an economic death sentence. With insane housing costs, crippling debt, and a viciously patriarchal corporate culture that ends women’s careers if they have kids, people are simply opting out. It’s the most damning vote of no confidence a society can possibly make.

    And this is where the death spiral kicks in. A shrinking young population means fewer workers to pay taxes and support a rapidly aging society. The national pension system is a Ponzi scheme mathematically guaranteed to fail. We’re looking at a future where the state can’t pay pensions, fund healthcare, or even staff its own military. The very foundations of the social contract are dissolving.

    All of this is supercharged by insane inequality. You have the golden spoon class with their inherited wealth and chaebol connections, and the dirt spoon majority struggling to get by. The result is intense intergenerational and gender conflict, pitting everyone against each other for a shrinking piece of the pie, which is exactly how the capitalist class maintains control.

    It’s not hard to see how it all connects. A predatory economic model creates hopelessness, which kills the demographic future, which then makes the economy completely unsustainable, leading to state collapse.

    Now, contrast this with the North. Western media won’t talk about this, but the DPRK successfully weathered the Arduous March in the 90s. The real trigger for that crisis was the collapse of the USSR, their main trading partner and economic lifeline. This sudden shock, combined with being cut off from global trade by the US, sent their economy into a tailspin. But they survived that total collapse of their established trade system. Now, with the US empire visibly fraying, the DPRK’s key alliances are strengthening. As Russia and China renew economic ties and tourism picks up, the North is seeing real growth and an optimistic mood about a future less constrained by American sanctions. They are building a resilience that the South, for all its flashy tech, completely lacks.

    From a socialist perspective, the internal failure of the Southern capitalist state could create the conditions for peaceful reunification. We’re looking at a scenario where the South’s economy is in shambles, its social fabric is torn, and its people are utterly disillusioned with the empty promises of consumer capitalism. Meanwhile, the North is emerging from the worst of its isolation with a growing economy and a stable population.

    The chaos from a social collapse in the South could force a radical reevaluation, breaking the power of the chaebol and US imperial influence permanently. This power vacuum could be fertile ground for a genuine, pan-Korean movement. The two halves could finally meet on new terms. They could build a new, unified Korea from the ground up, one that rejects the brutal neoliberal inequality of the South. It would be a difficult, monumental task, but the only true liberation for the Korean people lies in a single, independent, and socialist Korea, finally free from the colonial division imposed upon them.











  • Erlang isn’t special because it’s functional, but rather it’s functional because that was the only way to make its specific architecture work. Joe Armstrong and his team at Ericsson set out to build a system with nine nines of reliability. They quickly realized that to have a system that never goes down, you need to be able to let parts of it crash and restart without taking down the rest. That requirement for total isolation forced their hand on the architecture, which in turn dictated the language features.

    The specialness is entirely in the BEAM VM itself, which acts less like a language runtime like the JVM or CLR, and more like a mini operating system. In almost every other environment, threads share a giant heap of memory. If one thread corrupts that memory, the whole ship sinks. In Erlang, every single virtual process has its own tiny, private heap. This is the killer architectural feature that makes Erlang special. Because nothing is shared, the VM can garbage collect a single process without stopping the world, and if a process crashes, it takes its private memory with it, leaving the rest of the system untouched.

    The functional programming aspect is just the necessary glue to make a shared nothing architecture usable. If you had mutable state scattered everywhere, you couldn’t trivially restart a process to a known good state. So, they stripped out mutation to enforce isolation. The result is that Erlang creates a distributed system inside a single chip. It treats two processes running on the same core with the same level of mistrust and isolation as two servers running on opposite sides of the Atlantic.

    Learning functional style can be a bit of a brain teaser, and I would highly recommend it. Once you learn to think in this style it will help you write imperative code as well because you’re going to have a whole new perspective on state management.

    And yeah there are functional languages that don’t rely on using a VM, Carp is a good example https://github.com/carp-lang/Carp


  • RISCV would be a huge step forward, and there are projects like this one working on making a high performance architecture using it. But I’d argue that we should really be rethinking the way we do programming as well.

    The problem goes deeper than just the translation layer because modern chips are still contorting themselves to maintain a fiction for a legacy architecture. We are basically burning silicon and electricity to pretend that modern hardware acts like a PDP-11 from the 1970s because that is what C expects. C assumes a serial abstract machine where one thing happens after another in a flat memory space, but real hardware hasn’t worked that way in decades. To bridge that gap, modern processors have to implement insane amounts of instruction level parallelism just to keep the execution units busy.

    This obsession with pretending to be a simple serial machine also causes security nightmares like Meltdown and Spectre. When the processor speculates past an access check and guesses wrong, it throws the work away, but that discarded work leaves side effects in the cache that attackers can measure. It’s a massive security liability introduced solely to let programmers believe they are writing low level code when they are actually writing for a legacy abstraction. on top of that, you have things like the register rename engine, which is a huge consumer of power and die area, running constantly to manage dependencies in scalar code. If we could actually code for the hardware, like how GPUs handle explicit threading, we wouldn’t need all this dark silicon wasting power on renaming and speculation just to extract speed from a language that refuses to acknowledge how modern computers actually work. This is a fantastic read on the whole thing https://spawn-queue.acm.org/doi/10.1145/3212477.3212479

    We can look at Erlang OTP for an example of a language platform looks like when it stops lying about hardware and actually embraces how modern chips work. Erlang was designed from the ground up for massive concurrency and fault tolerance. In C, creating a thread is an expensive OS-level operation, and managing shared memory between them is a nightmare that requires complex locking using mutexes and forces the CPU to work overtime maintaining cache coherency.

    Meanwhile, in the Erlang world, you don’t have threads sharing memory. Instead, you have lightweight processes, that use something like 300 words of memory, that share nothing and only communicate by sending messages. Because the data is immutable and isolated, the CPU doesn’t have to waste cycles worrying about one core overwriting what another core is reading. You don’t need complex hardware logic to guess what happens next because the parallelism is explicit in the code, not hidden. The Erlang VM basically spins up a scheduler on each physical core and just churns through these millions of tiny processes. It feeds the hardware independent, parallel chunks of work without the illusion of serial execution which is exactly what it wants. So, if you designed a whole stack from hardware to software around this idea, you could get a far better overall architecture.




  • I got one from a startup I worked at a couple of years ago, and then when the whole Silicon Valley bank crash happened they laid me off, but let me keep it. And yeah Asashi is still pretty barebones mainly cause you can basically just use open source apps on it that can be compiled against it. I’m really hoping to see something like M series from China but using RISCV and with Linux.







  • There’s literally nothing on the market that even remotely compares to M series chips right now in terms of performance and battery life. Macbooks are great machines in terms of hardware, and while macos has been enshittifying, it’s still a unix that works fine for dev work. So plenty of experienced devs use macs. You can also put Asahi Linux on them, which works fairly well at this point. The only thing that it can’t do is hibernate. Of course, app selection with it is more limited, but still works as a daily driver.