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

Writing an efficient garbage collector in a garbage collected language is actually very funny to me. Neat project!

It's a relative to self-hosting. If a language can be compiled in itself the compiler also becomes one of the first tests of language compatibility. Similarly, if you can write low-level pieces like a garbage collector in the the higher-level language itself you can maybe save transitions to and from lower level code and help prove the language is useful in lower level scenarios. It's maybe backwards to expectations but a lot of .NET improvements over the years has just been moving low level code from C++ to a low level subset of C# to avoid thread stack transitions and/or gift the JIT and AOT compilers with more tools to inline low level code. There have been experimental GCs in the .NET Runtime written in C# for the exact same reason. There likely will be again.


> October 7th happened.

This is a weird thing to say to me. You're saying that keeping sanctions on Iran is important to prevent another October 7 because Iran was funding Hamas? Okay, but then wouldn't it be better to put sanctions on Israel, since they're the aggressive, colonizing, occupying force?


1. Not just funding, but arming and training. 2. On the edge of whataboutism, but definitely victim-blaming regardless of your position on Israel. 3. Sanctions on Israel won't stop Iran from attempting to wipe Israel off the map. It'll only help. 4. Looking at global politics through the lens of black/white, either/or is fucking crazy and stupid.

2. Its not whataboutism, it's addressing the issue (The motivations and ability of Hamas to attack Israel) from a different angle (maybe instead of stopping attacks on Israel in a very roundabout way by sanctioning Iran so they have less ability to arm and train any Palestinian resistance, we reduce the motivation for Hamas/Palestinians to fight Israel by putting pressure on Israel to stop their occupation/apartheid of Palestine? Bonus, it's the right thing to do)

3. Consider that Israel is also interested in wiping most of its neighbors off the map (and has, in the past 2 years, already attacked 5 of its neighbors, often with disproportionate force and brutality), and unlike Iran has far more military might and international support to do so? If we want to reduce violence in the middle east, let's look at the nation most prone to dishing it out, and most able to defend itself from it.

4. When did I look at anything through a black and white lens? I didn't say one or the other, I said my method would be more fruitful (and just)


I used to think like you. There is some deeply human in seeking basic justice that even small children have strong reactions even for the minor perceived injustices, let alone for serious stuff.

However when your survival is at stake (and the survival of your own kind and culture) people often stop giving a damn about who was right and who was wrong and they just try to defend themselves.

Many people understand this when the people defending themselves are Palestinians, and somehow are able to forgive senseless violence that they do, all because "they are in the right".

But somehow they cannot imagine that Israeli Jews are living for a long time in a genuine existential threat. Many people just think that all those Jews who live in Israel should just go back where they came from. That's obviously impossible since many fled countries where they didn't feel safe.

It's hard to understand the determination to fight for having just a normal life. We can't understand this because most people in the world have a "nation" a "fatherland" a place where they don't get butchered just because they belong to a given race or speak with an accent or have a long nose.

The situation is not symmetrical at all. Arabs can live in Israel. Arab citizens are not discriminated, there are Arab doctors, Arab justices, Arab members of the parlament. 20% of the Israeli citizens are Arab Muslims.

Israel is the multicultural democratic state that everybody claims to want Palestine to be. Jews need Israel to exist because they need a state that will protect them and not be at the whims of whatever populist government will turn their neighbors against (as it happened many times in many places, not only in Germany)

And yes, Israel did do many crimes directly and indirectly and has mistreated Palestinians in many cases.

But you have to put things in context. Arabs never accepted the Palestinian state and fought with several wars. Which they lost.

These kind of stuff happened many times in history, even recent history. Many borders were redrawen even in Europe and people were displaced. None of that is a good thing for people who suffered it

But Arabs did something that nobody else did for quite a long time: they engaged in a holy war, using suicide bombings and having an utter disregard for their own lives and the lives of their own children, all in the name of martyrdom. This ideology is very hard to fight. Japanese lost and surrendered, Germans lost and surrendered. Palestinian lost and kept blowing up people and making their own women and children dangerous. This increased the tension and created the condition for security checks and a kind of apartheid.

But this can be solved, if only Arabs stopped demanding the destruction of Israel. Of course, Israel cannot accept laying down their arms and letting them be butchered.

There is truth in the quote: if Palestinians laid down their arms there will be peace, if Israelis laid down their arms there would be genocide.

This seems like a crazy statement but this happens every single time Israel lowers their guard.

The only reason Israeli Jews are not dead is because they are efficient at defending themselves.

They are constantly bombed but they blow the rockets out of the air. They have shelters.

That's why there are so few dead Jews. Not for lack of trying on the Arab side.

---

So what is the right thing to do in this case?

Saying "Israel shouldn't have been created in 48 so they are and they always been colonizers so now they just have to go away"?

How can this be reasonable solution? We're talking about millions of people who are born there for a few generations now.


What part of the previous comment do you think is so ridiculous?

At my work we use MSBuild and vcpkg. What would a transition from that to XMake be like?

Then you are already using XMake (albeit a different one than OP), it's the original codename for MSBuild, still present in the code: https://github.com/dotnet/msbuild/blob/main/src/MSBuild/XMak... :)

Your phrasing could confuse readers: MSBuild happened to historically have XMake as a codename but is entirely unrelated to the build system known as XMake.

Clarified my comment a bit, thanks

As far as I am aware, there no integrations available with Visual Studio, and not sure about C++20 modules and import std support.

It can generate a Visual Studio project, then use the xmake CLI to integrate and compile the project, and supports debugging and IntelliSense.

https://xmake.io/guide/extensions/builtin-plugins.html#gener...

C++ Modules examples:

https://xmake.io/examples/cpp/cxx-modules.html

https://github.com/xmake-io/xmake/tree/dev/tests/projects/c%...


Thanks for the information.

A few weeks ago I decided to test C++ modules, but I had a hard time to figure out how to make them accepted by CMake. After a few days of struggle with `set(CMAKE_EXPERIMENTAL_CXX_IMPORT_STD "d0edc3af-4c50-42ea-a356-e2862fe7a444")` (it was so hard to find the right UUID that worked with my version) and errors on `import std;`, I decided to give XMake a chance.

It took just a couple of minutes to have a working example that fully supported C++ modules and `import std`:

    set_languages("c++23")

    add_rules("mode.debug", "mode.release")

    target("mytest")
        set_kind("static")
        add_files("src/*.cpp")
        add_files("src/*.cppm", {public = true})
        set_policy("build.c++.modules", true)

> not sure about C++20 modules and import std support

XMake supports both.


I tried to make this shift, but managed to somehow brick Linux Mint, so now I'm back on Windows for now...

I was already not very impressed when I attempted to okay a video file, and VLC told me I didn't have the right codec installed, and I had to run a shell command to get the codec... I have to open a shell to watch a common video file?

But then while attempting to install some packages to install Steam (which I also needed shell commands for...), I updated some kernel package, as instructed, rebooted my machine, and now Mint just sits there doing nothing right after I get through the bootloader. Can't seem to run any commands to recover either.

Bricking Mint is annoying, but I was much more astonished that I saw so many people hold up Mint as this beacon of user friendly Linux distros, but to do even the most basic things, I had to start running commands on the shell. That is NOT user friendly. I'll probably try again soon, but I'm pretty disappointed in my first experience.


No such thing as brick when you have a “live drive” available. Reinstall and be up again in a half hour.

The codec issues are caused by the companies that make them, not a free operating system. Next time download an open codec movie or install from the “store” GUI.


You're slightly missing the point. Ultimately, it doesn't really matter to me, the end user, whose fault it is that my OS doesn't have codecs.

The problem is that when doing an extremely basic operation that works on every system I've used before, it doesn't work, and the most readily available advice on how to resolve the issue tells me to run commands. Regardless of the reasons why it is that way, it just simply isn't user friendly.


Everyone has to balance how much pain they get on Windows from the restarts, slowness, updates, etc versus how much pain they get from occasionally having to run some command in terminal window. I get your points about there being rough edges - the good thing is that Linux is a very good system for fixing Linux issues. Everything is tailored for that :)

Learning the basics of linux can be very powerful and now with AIs you can get essentially anything done just by asking the AI to give you the right commands. Linux is friendlier to be fixed by AI suggestions, which I think will actually be the big difference this year.

And to be fair, I'm not a fan of Linux Mint. I much more prefer Debian or Fedora with clean GNOME.


There are tradeoffs in life, not perfection. Bondage vs. convenience, your choice.

Having to install codecs once every few years is a tiny inconvenience compared to the dystopia offered elsewhere. I also run commands on Win and Mac all the time to fix things. For example Windows wastes tens of gigabytes of space unless you run a couple of inscrutable commands to free it.


Let me be clear, I am making only one very specific argument: Linux Mint is not as user friendly as people say. I'm not putting any blame on anyone for it not being user friendly, I am not saying that Mint must be a perfect OS replacement, I'm not saying that it makes Mint a bad OS, etc.. I'm only saying that it's not that user friendly, despite what many people say.

Yes, and I’m saying none of them are, though occasionally it’s luck of the draw. The genius bar exists for a reason, and not only for broken hardware. If you paid for a Linux expert to help it would be similarly easy.

I can echo problems with Mint.

Currently using https://getaurora.dev which is basically fedora + kde but curated by people that actually care. So codecs are preinstalled, and other sensible defaults out of the box which makes sense as its in the same family as bazzite (without the gaming focus).


I might actually check that out, that sounds right up my alley

I think the steam thing was solved some years ago after being featured on LTT.

It was that small in 2020, it's more in the 5-10 range these days


> Rather than implicitly importing a library when the variable is first used, why don't you just explicitly do it?

I think it's on you to explain why that's a better approach for everyone's use cases instead of this language feature


The author is talking about owning a domain and how having that domain gives you ownership over your data... But I can't but think that, at least in the US, domain names are rented from private Internet service providers. There is no ownership involved. One way or another, we are still paying a company.

The assumption of the article is that ISPs are stable and net neutral enough that one would not worry about the ISP going under or seeking some personal vendetta against you and booting your domain. A separate entity may no longer be hosting our data, but a private entity is the gatekeeper of whether anyone is able to see your data.

All that to say, if we want true ownership of domains, ISPs need to be a nationalized, democratized service.


While I agree with the sentiment, I think it confuses ISPs with registrars. There are still many ISPs that do that service as well, it's less common than it used to be.

It is quite common for national TLDs (like .de, .jp or .cn) to be managed by not-for-profit entities, under contract with their respective governments... which might also not be great wrt censorship.

There is also the general issue of equal access, where shorter, more memorable domains get more expensive and hodling domain names is only disincentivized for people without enough funds. I would very much like to see an alternative system to domain names, probably something more in the web of trust space.


>The author is talking about owning a domain and how having that domain gives you ownership over your data

I've actually tried to separate the two in the article although it might be subtle (because I didn't want to make it confusing).

Owning a domain means you own your handle. Not data. In atproto, a domain is just a handle — you can swap it out without breaking links. (This relies on a centralized auditable repository which is currently being moved out of Bluesky as a separate independent entity. If you don't want to rely on that, yes, you'd have to tie your identity to the domain.)

Owning "data" is not related to owning the domain per se. It has to do with the fact that you can point your identity at a different physical server over time without breaking links. So your hosting doesn't have any real leverage over you. That's what I mean by meaningful ownership.

I've sort of conflated domains and persistent identity in the article to simplify the picture a bit. Your identity is not tied to a domain, but a domain serves as a bidirectionally verified user-friendly alias for it. If you lose control over the domain, you can tie a different one to the same identity later. This doesn't break links between records or functionality.


There are alternatives to DNS, like GNS (GNU Name System): https://www.gnunet.org/en/gns.html


Or, at the risk of saying the unpopular thing, Ethereum Name Service? (ENS) This sort of thing is pretty much exactly what ENS is for.


Opennic too, they even allow you to host your own tld.

https://opennic.org/

It's getting harder to change DNS settings on Windows, even systemd makes it a PITA to update DNS entries.


The difficulty with the GNS is getting the public keys that enable the decentralisation. Key signing parties seem to have their limits.

There’s a bunch of alternative DNS roots out there, that are similarly hierarchical, but really interesting: https://en.wikipedia.org/wiki/Alternative_DNS_root#Implement...


The most safe way to accomplish what you want is using postal pigeons, made stealthy with black spray paint.

All jokes aside, an educated guess on what to trust (or not) is necessary. Otherwise you wind up on a slippery slope that goes in circles and always results in 'we need more laws'.

Long way to say that I think 'owning' a domain name and publishing on there is way better than the silos we're accustomed to nowadays. The open web never stopped working as intended, the genie is out of the bottle for 30+ years yet, make use of it if you want.


Easy. Trust cryptography. I generate a private key and sign everything as me. This takes out all the BS. Of course you cant age verify and anonymous accounts and spam become easy. But that is your trade-off. Nostr allows relays to filter out shit they dont like. So you can have your 4chan but also your more moderated sites too.


I think the article's argument is more about relative control than absolute sovereignty


Governments can and do censor domains. A theoretically censorship-proof system is impossible; even communication over bluetooth or radio can be shut down by signal jamming and physical persecution.

Also, you technically "own" your data on any social network. If you put a public key in your bio and archive every post, you can move to another network. Then use friends and close followers to broadcast your new location; those who care will probably find you without much effort, but if not, Open Social doesn't solve this problem either.

However, I still think Open Social is an improvement. Most social networks are really bad these days: manipulated engagement-driven algorithms, locked-down data accessible via poor UI, toxic community, and inconsistently-applied unspoken rules. These issues all have workarounds, and can still happen on Open Social (BlueSky's community is toxic, I don't know if its algorithm is gamed or its global moderation is reasonable). But it certainly makes them harder to form and easier to avoid:

- If everyone's data is available raw via API, it's easier to create your own algorithm and frontend (or realistically, use someone else's which is better designed and more suited to you personally than what a generic social media company would make)

- With all data available, it's more likely people will develop better algorithms to filter out toxicity and discover interesting posts. At minimum, it's more acceptable and easier to create whitelisted groups, where one person maintains an "algorithm" that simply selects posts they (and others who are granted invites) have determined are not trolls.

- If data access and ban lists are separate, the same network can have multiple ban-lists, so being banned isn't "all or nothing". You can choose a ban-list with rules you agree with and continue to see posts that most others would prefer banned. If no ban list is dominant, there's a good chance the rules that the ban-lists share are reasonable; you can worry less about being banned inconsistently or for a widely-considered unfair reason (e.g. upsetting a specific moderator), because in those cases you'll only be banned from one list.

- If having a public key and archive of your data is the default, and your followers' frontends automatically recognize the key and find your new domain/hub (e.g. if someone links it to the old hub), it's easier to move. If BlueSky shuts down tomorrow, some clients can just be updated to point to another domain with all the data and continue working as if nothing changed. Whereas if Reddit shuts down, in theory one can develop a clone from scratch and populate it with the archived data, but users would have to re-register and it would be a huge mess (+ legal issues).


There are clearnet websites for flat earthers, anti-vaxxers, cults, hacker groups, classified document leakers, nazi groups and terrorist organisations. Finding a registrar that lets you say what you want is a solved problem.


Currently most people publish stuff on big platforms so governments, activists and billionaires will go after these platforms to influence or control what's being talked about. I worry that if we never had big platforms, or we moved past them, all of the focus would be on going after registrars and hosts instead. It's not a bulletproof system unfortunately


I was hoping to get some commentary about the project and what lessons you learned from it. You wrote an OS in 1000 lines of Zig, but... So what? What should I take away from this? Are you posting this to encourage people to use the OS, or learn from the project? How was Zig helpful or a hindrance for this? Why limit to 1000 lines? Why did you post this?


this is not usable at all, its just to show people that OSes are not mysterious things, at a bare bones level quite simple


You might want to look at the author's comment here (https://news.ycombinator.com/item?id=45290591) posted at about the same time as the link itself, which largely answers these questions.


This seems harsh to the point of being untrue...


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

Search: