Hacker Newsnew | past | comments | ask | show | jobs | submit | isr's commentslogin

Hmm, you've got the gift-giving (it is the season, after all) backwards. We all saw Gianni Infantino stand by the desk, while HE gave a gift (a tasteful gold trophy, not a grubby little envelope) to the aforementioned representative of the oppressive regime.

To, in your words, whitewash that country's human rights abuses ...


You think FIFA gives away playoff spots for free?

There are many which could fit your description. Tiny core, puppy linux varients (voidpup, with the void pkg manager, is pretty nice), etc.

However, I think the nicest put together ones are fatdog64 & porteus.

fatdog64 is built from scratch (basically, "Beyond Linux From Scratch"), but uses a lot of slackware tooling & ethos, so its quite compatible with slack pkgs & slackbuilds. If you dive deeper, its actually got a lovely cohesive design, behind the minimalistic gui which IMHO does it a huge disservice.

Eg: it has scripts to run containerised or UML'ised versions of itself, from within itself. Down to optionally having a nested X session with full gui.

Porteus (or the more bleeding edge Porteux variant) has more conventional look & feel out of the box.

Both Fatdog & Porteus(x) have much more flexible initrd systems than tiny core/puppy, where you can copy configs in from a static location (rather like alpine's overlay tarball), or bind mount stuff in. Critically, this is all before the main rootfs goes live, so you can affect how various disks & services are handled on a machine-by-machine basis, if needed.

(plus they're not restricted to the root-only approach which puppy needlessly adheres to religiously)

Plus, these were the original IMMUTABLE distro's, long before that was adopted by some distro-giants.

In other words, with a little thought, you have TONS of flexibility. Including the scenario you mentioned.

To get a flavour, have a quick look over

- [the fatdog faq](https://distro.ibiblio.org/fatdog/web/faqs/faq.html)

- [this old blog post] (https://www.lightofdawn.org/wiki/wiki.cgi/FatdogIsVersatile)

PS: to install either, it can be as simple as setting up a bootloader (which IMHO ought to be a distro agnostic task anyway), and copying over ... 2 files (by default, fatdog shoves its main rootfs squashfs module INSIDE the initrd). With porteus, you will have a fully setup xfce, cinnamon or gnome (yes) setup with ... 4 files.


Edit: Puppy Linux does seem to boot to ram! Huzzah. Interesting thread that goes over some behaviors available: https://oldforum.puppylinux.com/viewtopic.php?t=36508

The unique problem here is that while many of these are designed to run nicely from USB drive, I don't get the impression that many will let you remove the USB drive after boot.

FatDog talks about running from a RAM layer, which is cool. But I believe even this is still a RW layer atop the underlying root which needs to remain mounted.


Nope, puppy (all variants), fatdog, and porteus (all variants, including porteux & nemesis - which is arch based) can all boot in a mode where you can unplug/unmount the storage device from which it booted.

(as can tiny core, alpine, etc)


Look, we can all acknowledge that there were, and are, many Americans who wish for this to be true. But at no point in America's history did that "many" ever constitute a majority. Or even close to it.

Which is why, from its very inception, the US has employed mass genocide at home, invasions & regime changes in the America's, then post-slavery apartheid at home, with invasions & regime changes in the rest of the world.

That's not anti-American rhetoric. That's just historical fact.

So, commingled with those facts, where does "law, love & fair play" come in. If you're honest, THAT was the propaganda. And the above realities, that was the truth.

The America of today IS the America it has always been. Its just that the propaganda mask can't be reattached with more duct tape. America started by geniciding non-whites at home, and rounding up & dragging non-whites TO America, in chains.

Now it's genociding non-whites abroad (primarily the Middle East), and rounding up & dragging non-whites FROM America, in chains.

When you focus on the common threads throughout American history, and strip away the fluff, you realise ... that's the real America (which still has the largest slave labour force in the world, through indentured workforces via its prison system).


I'm not even sure it was never a majority. I'm not even sure it's not a majority now. It's more that the system is not set up to be good, even if the majority wants it to be.


If Israel improved its conduct by a factor of 1000, then maybe it could be considered "a war mongering nation".

Instead, it's going down in history as a relatively-short-lived (<100 years) exercise in savagery.


So far Iran looks like the aggressive nation (who also funded Hamas and all acts of terror in the middle east instead of investing in drinking water infrastructure) thats going down, with the love of god, after 50 years since its revolution. Israel seems more resilient at the moment, only responding to savagery from Gazans. Remember October 7th and the hostages that could've ended it so much time ago


What do you mean by "could have ended it"? Hamas wanted to make a deal to release the hostages since October 10th in return for Israel releasing the 5,200 Palestinian prisoners. The entire point of the hostages was to exchange them. Israel is the one that didn't want to make a deal. That's why there were so many protests within Israel to "return the hostages". Those protests weren't about continuing the war, they were about pushing Netanyahu to end it and make a deal


This sort of sober analysis is what makes posts on this topic so edifying. /s


Just off the top of my head:

- these boats are not in American waters. They are in their own, or neighbouring countries waters, and are being attacked by vessels whose home waters are 1000s of km's away

- they are not being interdicted (which is illegal kidnapping anyway, see above). They are just being killed. Plain and simple.

To put your argument back to you. Latin American countries who are combating narcotics trading armed paramilitarys, who are mostly getting their arms from US supply chains. So, for example, Mexico is entitled to go into US waters, and "interdict" American-owned boats with US citizens on board? Without any kind of warrant from even the Mexican courts, much less US courts?

Or, scratch that. Mexico just sinks them.

Should be ok, right?


Your worldview is built on top of the assumptions of liberalism: international law, sovereignty determined by institutions like the UN, etc.

The people who support this are not liberals when it comes to international affairs, even if they might be (but often are not) liberals at home. They know that they're violating international law. But they don't care because they do not value international law as it is currently constructed. They see it as an unjust imposition, made up by a bunch of lawyers and diplomats, that prevents them from securing their own interests.


The trouble for these people is that politics has not been openly this way since the cold war because the position is untenable. A group that gets its power by pushing the doomsday clock is ultimately dependent on some counter force putting seconds back.


I understand what you're saying. But, I don't have any "liberal assumptions". The Gaza Holocaust has demonstrated that there really is no such thing as international law, because there's no enforcement against certain parties, because they are deemed too powerful to touch (US empire, essentially).

Note, that's not the world I like to see. It's just the world we have.

But pointing out the outright hypocrisy of certain parties actions, vis a vis international law, natural law, or even "what if we flipped the tables?", is always worthwhile (I hope). Even if it's just shouting into the wind


> Gaza Holocaust

There was only one Holocaust, the Shoah. Even if the Gaza events qualified as a genocide, a label that can be applied to many such events throughout time and place, that is still not a Holocaust.


Well if you're going to argue with words, there was one Holocaust but many holocausts:

> Extensive destruction of a group of animals or (especially) people; a large-scale massacre or slaughter.

However it's discussed if "Holocaust" is a good term to describe the Shoah:

> This use of the term has been criticised because it appears to imply that there was a voluntary religious purpose behind the Nazi actions

https://en.wiktionary.org/wiki/holocaust


I mean it's not nearly comparable to the Holocaust either in means or scale or intent or cause or any other dimension, and I reject these rhetorical games that try to get something labelled a certain way to achieve a persuasion outcome.


Well stated.


It’s a frequently met claim right now that the USA killing foreigners that its president deems adversaries on their boats is something unprecedented and beyond the pale, lacking necessary authorization like criminal charges and trials or declaration of war. But one of the very first foreign actions the USA did as a nascent country, still very high on all the eighteenth-century concepts of rights that inspired the American Revolution and Constitution, was send a naval force to kill a bunch of Barbary pirates with charges filed, no trial, and no formal declaration of war by Congress.


Well, we're all aware that the term "gunboat diplomacy" has been in use for centuries.

The Barbary Wars was an interesting case of how multiple naval forces were engaging in piracy etc against each other. Barbary vessels in the Med. British against US shipping (that, and press ganging sailors, was one of the public reason for the 1812 war). And, funnily enough, American privateers doing exactly the same thing to the British colonial shipping in the Caribbean (piracy plus press ganging)

In this current scenario, the only real connection would be that the US are the pirates.


Well, to continue that timeline. "Big Tech" freezes their version to the last gpl'ed version, and each commences their own (non-trivial effort) to make their own version (assuming the last gpl'ed version was not feature-complete for all their future uses).

And of course, they won't share with each other. So another driver would be fear of a slight competitive disadvantage vs other-big-tech-monstrosity having a better version.

Now, in this scenario, some tech CEO, somewhere has this brilliant bright spark.

"Hey, instead of dumping all these manhours & resources into DIYing it, with no guarantee that we still won't be left behind - why don't we just throw 100k at the original oss project. We'll milk the publicity, and ... we won't have to do the work, and ... my competitors won't be able to use it"

I quite like this scenario.


Imagine Google paying only 100k to ffmpeg though. That's like a single 3-month top-SWE pay at Google.


That's one thing which ruby unfortunately did not adopt from Smalltalk. In Smalltalk (at least, in the dialects I'm familiar with), the "method categories" metadata is used to signal that we're adding new methods (or overwriting existing ones) to classes that are outside the scope of this package (ie: classes you didn't create as part of your app).

That way, it's easy to trace, forwards (from package to all the methods it introduces) & backwards (from method to package), who introduced a method, where, and why.

Other than that, I think a lot of this aversion to "ruby magic" is a bit overblown. The ability to cleanly remold any part of the system with minimal friction, to suit the app you're building right now - that's a KEY part of what makes it special.

Its like all these polemics warning wannabe lispers away from using macros. Lisp, Smalltalk, and ruby, all give you very powerful shotguns to express your creative ideas. If you can't stop blowing your own foot off, then pick a different language with a different paradigm.


> That's one thing which ruby unfortunately did not adopt from Smalltalk. In Smalltalk (at least, in the dialects I'm familiar with), the "method categories" metadata is used to signal that we're adding new methods (or overwriting existing ones) to classes that are outside the scope of this package (ie: classes you didn't create as part of your app).

> That way, it's easy to trace, forwards (from package to all the methods it introduces) & backwards (from method to package), who introduced a method, where, and why.

Doesn't Method#source_location in Ruby provide a mechanism for this?

Though, in modern (>3.x) Ruby, its probably better to avoid monkey-patching unless you need to override behavior exposed to consumers that aren't opting in, and just use Refinements that consumers can opt-in to using.


> If you can't stop blowing your own foot off…

I can. It is, of course, those who worked on the project before me, that expressed their all-too-human over-confidence in their own abilities and judgement.

And then we would spend-a-weekend to rip-out the changes they'd made to Smalltalk system classes, that conflicted with the version upgrade.

(Something about the narcissism of small differences.)


Ok then. This, while bad, is not even in the top 50 of evil deeds the FBI is CURRENTLY doing ...


i’m not entirely sure what you’re implying here.

i could absolutely be wrong since your post was kinda vague, so forgive me if i’m wrong, but are you implying we shouldn’t attempt mitigation of bad things because other bad things are happening elsewhere?


If you read the chain of posts I directly responded to, then there's nothing vague about what I said. Here, I'll help you out:

That chain was in response to:

    >> We can not allow the FBI to work for Evil here

    > Historically speaking I can't see this as even being in the top 100 evil things the FBI has done.

    Perhaps, but we can't change the past: we can only fight against what is happening in the present to try to get a better future.
So in that context, there's nothing "vague" about my somewhat tongue-in-cheek response. Neither, you'll find, is there any attempt by me to say that one SHOULDNT stop the FBI from doing anything bad.

The pushback, by other chap & me, is about quantifying this particular misdeed as "evil", showing a remarkable lack of acknowledgement about the many, many, many other things the FBI has done (from its inception as a personal blackmailing operation by Hoover against US politicians - ring any bells?) and is doing, which are far, far worse than this "bad thing".


List not fifty, but just ten of those, I'd like to know.


If you're in public denial about the FBI not being the righteous force for "peace, justice & the american way (whatever the heck that is)", despite the copious publically available evidence & reporting (by independent journalists) to the contrary, then ... no, you really don't want to know.

(all this, over what was mostly a tongue in cheek response anyway ...)


I think neither "righteous" nor "evil" are appropriate words in this context. It's a real-world institution with the expected biases, missteps of authority, episodes of getting embroiled in political machination, etc. Demonizing it is just as naive as idealizing it. And there's probably much more of the former than the latter today, when a lot of unearned, easy cynicism is either unconsciously performative, or even worse, the outcome of a caricatural conspirative worldview.


Except that's not really what happened. You're ignoring the range of in-image tools which kept track if who did what, where. From versioning of individual methods, to full blown distributed version control systems, which predated git.

Not to sound harsh or gatekeep, but folks who keep repeating the canard that "The Smalltalk image resulted from the developer just banging on the system", mostly never used smalltalk in the first place.

Give the original smalltalk devs some credit for knowing how to track code development over time.


No, I haven't ignored those tools. They were all stop-gaps that worked in a "meh" way to various degrees. Smalltalk was always optimized to one guy banging away on their solution. Add a second developer and things got much hairier, and more so as you kept adding them.


Hmm, well I don't know exactly when Monticello was first developed, but it was certainly in heavy use by the early 2000s. How is that "meh" when compared to ... cvs & subversion?

I don't know much about the systems used in commercial smalltalks of the 90s, but I'm sure they weren't "meh" either (others more knowledgeable than me about them can chime in).

image-centric development is seductive (I'm guilty). But the main issue isn't "we don't know what code got put where, and by whom". There were sophisticated tools available almost from the get go for that.

Its more a problem of dependencies not being pruned, because someone, somewhere wants to use it. So lots of stuff remained in the "blessed" image (I'm only referring to squeak here) which really ought not to have been in the standard distribution. And because it was there, some other unrelated project further down the line used a class here, a class there.

So when you later realise it needed to be pruned, it wasn't that easy.

But nevertheless, it was still done. Witness cuis.

In other words, it was a cultural problem, not a tooling problem. It's not that squeak had too few ways of persisting & distributing code - it had too many.

IMHO, the main problem was never the image, or lack of tools. It was lack of modularisation. All classes existed in the same global namespace. A clean implementation of modules early on would have been nice.


1988 "An Overview of Modular Smalltalk"

https://dl.acm.org/doi/pdf/10.1145/62084.62095


Interesting. Shows how aware they were of these 2025 criticisms, way back in the 80s (which shows how much of an oversimplification these criticisms are of the real situation).

You probably already know about this, but in case you didn't, there is 1 project which adds modules to cuis Smalltalk:

http://haver.klix.ch/index.html


Digitalk’s Team/V unobtrusively introduced a non-reflective syntax and versioned source code using RCS. Team/V could forward and backwards migrate versions of Smalltalk “modules” within an running virtual image.

https://wirfs-brock.com/allen/posts/914


A Smalltalk with all reflexivity removed just sounds pointless, no?


The point would have been different.


Adding to what you said. Squeak was a clean open source reimplementation (by the devs who did the original Smalltalk-80), so it's real history starts from there (ie: the 90s, not the 70s)

One thing to keep in mind is that smalltalks all have the same ability to save & load code to & from disk, just as any other programming environment. But, they also have the option of just using the image to persist, and iterate on that.

Squeak overdid that aspect of it, such that over time, it became hard to prune older side projects & and it just became increasingly bloated. Both Pharo & Cuis forked from squeak at about the same time.

Pharo images are fully bootstrapped from a seed.

Cuis is not quite there yet, but cuis from its inception went on a ruthless simplification drive (the number of classes in the system was reduced by about 500% !), so that it's base is effectively a "seed", and the rest of a cuis image is built up by importing projects (from disk & git) on demand.

But yeah, curating a set of images over time is remarkably enticing & friction free. Even in cuis, I find I have to force myself to keep flushing changes to my own packages.

Its not that the tools to use files are limited. In cuis, they're not. You can work on multiple different things WITHIN THE SAME IMAGE (changes to some builtins, a couple of your own projects, etc), and the system will keep track of what belongs where. So a couple of mouse clucks will fileout the relevant code to the relevant changesets & packages.

And yet - just banging on the same image is just ... fun, easy, enticing.


> Squeak was a clean open source reimplementation

Small correction: they actually cloned/converted the Apple Smalltalk image, so those bits remained. The VM was created from scratch by writing it in Slang, a Smalltalk dialect that was essentially equivalent to BCPL and could be translated to C.

https://dl.acm.org/doi/10.1145/263698.263754


The VM in Slang had been previously published as part of the "blue book" (now that is what I call open source!) some 14 years before, and as the paper you linked to mentioned, Mario Wolczko at the University of Manchester had typed it in so it was available in machine readable form.

They did drop the object memory part completely and designed a new one from scratch.

Previously people had manually translated the VM from Slang to Pascal or C (I did so myself in 1986) but for this project they wrote a tool for that (in Smalltalk, of course).

Here is another copy of the "Back to the Future" paper:

http://www.mirandabanda.org/files/Papers/BttF.html


I didn't know that. So they didn't bootstrap an image from scratch, when they created the new VM?


No, they used a tool (SystemTracer) running inside the original Smalltalk that enumerated all the objects in the running image and serialized them in a new image format into a new image file. Every time the image file format changed, it was transformed like this. Smalltalk is very close to a biological system.


That's how I understand what they wrote.

"Produce a new image:

  - Design a new Object Memory and image file format.

  - Alter the ST-80 System Tracer to write an image in the new format.

  - Eliminate uses of Mac Toolbox calls to restore Smalltalk- portability.

  - Write a new file system with a simple, portable interface."

https://dl.acm.org/doi/10.1145/263698.263754

Hmm...I wonder if Dan used the PDF writer I wrote for him to produce that version of the paper...


Thanks for the info. Hmm, it's kind of cool to think there might be a few classes in today's fully-accelerated-vector-graphics-morphic cuis system that were first keyed into the system on an Alto in the 70s :-)


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: