

Hey buddy some of us jork it to the mDNS RFC every single day
Hey buddy some of us jork it to the mDNS RFC every single day
I’m not entirely sure what you mean tbh. Like if something changes in a library you linked against? I guess you would have to rebuild it but you would have to rebuild a shared library too and place it into the system. Actually, you don’t necessarily have to rebuild anything, you can actually just relink it if you still have object files around (like OpenBSD does this to relink the kernel into a random order on every boot), just swap in a different object file for what you changed
Okay let’s say I am writing MyReallyCoolLibrary V1. I have a myReallyCoolFunction()
. You want to use myReallyCoolFunction
in your code. Regardless if your system works on API or ABI symbols, what a symbol is is a universal address for a specific functionality. So when my library is compiled it makes a S_myReallyCoolFunction
, and when your app is compiled it makes a call S_myReallyCoolFunction
and this symbol needs to be resolved from somewhere.
So static linking is when you compile the app with S_myReallyCoolFunction
inside of it so when it sees call S_myReallyCoolFunction
it finds the S_myReallyCoolFunction
in the app data. Dynamic linking is when it finds call S_myReallyCoolFunction
in a library that’s a file on your machine. Plan9 uses static linking.
So let’s talk about this what it means for “code portability”. Let’s say I make an MyReallyCoolLibrary V1 and I have to change a few things, here are alternate universes that can happen:
myReallyCoolFunction
myReallyCoolFunction
but I do not change its behavior, I simply refactor the code to be more readable.myReallyCoolFunction
and I change its behavior.myReallyCoolFunction
and change it’s interface.myReallyCoolFunction
.So let’s compute what this should mean for encoding a Symbol in this case.
myReallyCoolFunction
from V2 can stay declared as S_myReallyCoolFunction
myReallyCoolFunction
from V2 can stay declared as S_myReallyCoolFunction
myReallyCoolFunction
from V2 has to be declared as S_myReallyCoolFunctionNew
myReallyCoolFunction
from V2 has to be declared as S_myReallyCoolFunctionNew
S_myReallyCoolFunction
Now these are the practical consequences for your code:
So now to make code truly portable I must now remove the app refactor pieces. I have 2 ways of doing that.
With #1 you have the problem everyone complains about today.
With #2 you essentially carry forward all work ever done. Every mistake, every refactor, every public API that’s ever been written and it’s behaviors must be frozen in amber and reshipped in the next version.
There is no magic here, it’s a simple but difficult to manage diagram.
Plan 9 is a carefully tuned system ofc and I obviously have the Plan 9 brainworms but like…
I agree that Plan 9 is really cool, but in practice Linux is the height of active development OS complexity that our society is able to build right now. Windows in comparison is ossifying, and OSX is much simpler.
I’ve never written any programs that were subject to such strict verification tbh. I had to look up what “DSL” means lol, Wikipedia says “definitive software library”.
DSL in this case means Domain Specific Language
I rly think it’s not such a problem most of the time, code changes all the time and people update it, as they should imo,
But here’s the problem with this statement, it unravels your definition of “code portability”. The whole point of “code portability” is that I don’t have to update my code. So I’m kind-of confused about what we’re arguing if it’s not Flatpak style portability, it’s not code portability, what are we specifically talking about?
And that formal verification can only get you as far as verifying there are no bugs but it can’t force you to write good systems or specifications and can’t help you if there are things like cosmic rays striking your processor ofc hehe
The formal verification can only reify the fact that you need something called Foo and I can provide it. The more formal it is the more accurate we can make the description of what Foo is and the more accurately I can provide something that matches that. But I can’t make it so that your Foo is actually a Bar because you meant a Bar but you didn’t know you needed a Bar. We can match shapes to holes but we cannot imbue the shapes or the holes with meaning and match on that. We can only match geometrically, that is to say (discrete) mathematically.
I agreee, this isn’t just a technological problem to me but also a social one. Like ideally I would love to see way more money or resources for computer systems research and state-sponsored computer systems. Tbh I feel like most of the reason ppl focus so much on unchanging software, ABIs, APIs, instruction sets, operating systems, etc is cuz capitalists use them to make products and them never changing and just being updated forever is labor reducing lol. When software is designed badly or the world has changed and software no longer suits the world we live in (many such cases), we (the community of computer-touchers lol) should be able to change it. Ofc there will be a transition process for anything and this is quite vague but yeh
I generally agree with this sentiment but I think the capitalist thing defeating better computing standards, tooling, and functionality is the commodity form. The commodity form and its practical uses don’t care about our nerd shit. The commodity form barely cares to fulfill the functional need it’s reified form (e.g. an apple) provides. That is to say, the commodity form doesn’t care if you make Shitty Apples or Good Apples as long as you can sell Apples. That applies to software, and as software grows more complex, capitalism tends to produce shitty software simply because the purpose of the commodity form is to facilitate trade not to be correct/reliable/be of any quality.
You just link against the symbols you use though :/ Lemme go statically link some GTK thing I have lying around and see what the binary size is cuz the entire GTK/GLib/GNOME thing is one of the worst examples of massive overcomplication on modern Unix lol
If you link against symbols you are not creating something portable. In order for it to be portable the lib cannot ever change symbols. That’s a constraint you can practically only work with if you have low code movement and you control the whole system. (see below for another way but it’s more complex rather than less complex).
Also I’m not a brother :|
My bad. I apologize. I am being inconsiderate in my haste to reply.
It was less complex cuz they made it that way though, we can too. FlatPaks are like the worst example too cuz they’re like dynamically linked things that bring along all the libraries they need to use anyway (unless they started keeping track of those?) so you get the worst of both static and dynamic linking. I just don’t use them lol
But there’s no other realistic way.
You mean portable like being able to copy binaries between systems? Cuz back in the 90s you would usually just build whatever it was from source if it wasn’t in your OS or buy a CD or smth from a vendor for your specific setup. Portable to me just means like that programs can be be built from source and run on other operating systems and isn’t too closely attached to wherever it was first created. Being able to copy binaries between systems isn’t something worth pursuing imo (breaking userspace is actually cool and good :3, that stable ABI shit has meant Linux keeps around so much ancient legacy code or gets stuck with badddd APIs for the rest of time or until someone writes some awful emulation layer lol)
That’s a completely different usage of “portable” and is basically a non-problem in the modern era, as long as and see my response to the symbols point, you are within the same-ish compatibility time frame.
It’s entirely impossible to do this over a distributed ecosystem over the long term. You need symbol migrations so that if I compile code from 1995 it can upgrade to the correct representation in modern symbols. I’ve built such dependency management systems for making evergreen data in DSLs. Mistakes, deprecation, and essentially everything you have ever written has to be permanent, it’s not a simple way to program. It can only be realized in tightly and directly controlled environments like Plan 9 or if you’re the architect of an org.
Dependency management is an organization problem that is complex, temporal, and intricate. You cannot “technology” your way out of the need to manage the essential complexity here.
I agree about static linking but… 100mb of code is absolutely massive, do Rust binaries actually get that large?? Idk how you do that even, must be wild amounts of automatically generated object oriented shit lol
My brother in Christ if you have to put every lib in the stack into a GUI executable you’re gonna have 100mb of libs regardless of what system you’re using.
Also Plan 9 did without dynamic linking in the 90s. They actually found their approach was smaller in a lot of cases over having dynamic libraries around: https://groups.google.com/g/comp.os.plan9/c/0H3pPRIgw58/m/J3NhLtgRRsYJ
Plan 9 was a centrally managed system without the speed of development of a modern OS. Yes they did it better because it was less complex to manage. Plan 9 doesn’t have to cope with the fact that the FlatPak for your app needs lib features that don’t come with your distro.
Also wdym by this? Ppl have been writing portable programs for Unix since before we even had POSIX
It was literally not practical to have every app be portable because of space constraints.
Nobody at google knows the ics format anymore they’re all setting this up thru gcal LMAO
Because portability has only been practical for the majority of applications since 2005ish.
You’re not having a system where every executable has 100mb of OS libs statically linked to them in the 90’s be fuckin for real.
You complain a lot about static linking in rust and it’s the only way to actually achieve portability.
As many have said lathe is like 9 ish year old meme at this point.
Also if she posted on here Alice would have been banned for one of her many poster moments, between necrophilia and the I’m gonna become a cop shit.
Also I have experience with the fact that TF production is a huge shit show. They put out a call several times on a company I’ve literally worked for and never followed up. At least when True Anon scraps an idea they put out a call for they don’t just ignore you.
Did you make that board? If so I like what you did with it.
Hooray the “Master/Slave” “black list/white list” style technical writing drama has finally hit the toy sector.
Brace the Hypocrite Belden. Oh you can go play with the in Rojava and be like
I’m the only one that’s actually killed pedophiles. But if I want to
you’re all like “unsubscribe from my podcast”.
Also very funny you accuse me of being a debate pervert when you are exhibiting that exact behavior and that is the reason I commented.
I respectfully started a conversation and stated my opinion in no way did I try to fight FunkyStuff or merthyr1831 and in fact I apologized to merthyr1831 if it came off that way based on me replying to what was clearly a joke.
I actually work with…
Yeah after dealing with my annoying corporate job I also don’t want to deal with computers, but it’s not a reason to complain that people have found durable elegant solutions to running their own services on their free time.
This just smacks of jealousy. Someone has to write the yaml, if it’s not you it’s gonna be the people you’re paying $X/mo to also steal your data/call the cops on you after they find IP finger prints/etc.
I wasn’t trying to dress you down, and I’m sorry if it came off that way.
I was merely using the memery to explain how the OP tweet is completely wrong, because even within the context of Marxism there are Marxists who read the scantest of theory and are like ‘WHAT DO YOU MEAN GLOBALLY I’M THE BAD GUY?’. This usually comes out when Conservatives point to the fact that the American poor are economically way richer than global poor. Which is correct and is merely a rephrasing of imperial capitalism. So upon seeing these arguments they usually dismiss them in an illogical way because the only thing they learned from Socialism in one country vs International Socialism is ‘Trotsky bad’.
This reads as pro CIA.
It doesn’t matter if there are minorities driving imperial machinery over minorities in the third world. In fact if the CIA was filled with only white men who couldn’t gather intelligence and were bumbling morons, it would be a net positive for the world.
We’re no longer in the Dulles Era. We’ve traded both Dulles brothers, Hoover, and Pappy Bush types for Brett McGurk, John Bolton and Adrien Zenz types. Let them shoot themselves in the foot.
Competent imperial managers are overall worse than incompetent ones. Take the W.
JDPON Don has done more in a month to destroy the empire than leftists have been trying to do since WW2.
exonym
China
Don’t you mean Zhongguo Renmin Gongheguo.
Why don’t you just come out and accuse me of whatever it is instead of trying to beat around the bush?
Is my communication style bad? Sorry I’m literally autistic.
Am I not fitting in? See above.
Am I an evil lib seeking to spread anti-China sentiment?
What is it?
It’s complete debate pervert behavior to engage with a theory effort post by fixating on a technical label.
I’m using a common term not the technical term because if I use technical terms people don’t understand what the fuck I’m saying. They might as well be called the FJKOSJAFAIFO if everyone calls them that. This isn’t an academic paper. Also it’s practically an exonym vs endonym issue. You should also berate me for calling it China and not Zhongguo or it’s full endonymic name of Zhongguo Renmin Gongheguo.
it will have to be imposed on them from the outside.
I think historically this has been proven out to be the opposite after all the USSR fell.
The only real hope that this is a way is that the CCP:
I have doubts about the practicality and reality of each of these steps. Even if you believe that steps 1 and 2 are going to happen. Step 3 is the most tenuous of all. China is very much a mind your own business country. They CCP does not and will not care that the people of the imperial core are suffering. It’s not their problem.
I think the real problem for Marxists is they get too stuck on the “scientific” parts, and assume that means “determinism”. This leads them to advocate ripping off previous playbooks (What Is To Be Done posting) wholesale rather than understand what from each previous playbook would work for their specific situation. You cannot build even a nascent state capitalist state that is attempting to build socialism let alone communism through a set of replicable steps. When in reality Marx describes the interaction purely through base and superstructure. There is no “if this then that” of building communism, you have to move these structures into alignment and continually reinforce base and superstructure in the direction of communist development. What works in one society may not work in a different one, (See Sino Soviet Split) what works in one society in the past may never work again in the same society in the future.
It’s a similar reason why typically our capitalist societies cannot make good software. Not only is there simply not a “single way”, but most people have their own experiences from the negative problems they have suffered building software for previous companies. These experiences may reinforce practices that seem to be helpful, but were only helpful in the context of the previous company.
Meanwhile China has done great things for its people, but it has put itself into the same position as those in the imperial core. There are contradictions in the Chinese economy. In order for China to make good on socialism by 2050, it essentially needs to kill its guided capitalist prosperity engine. This is going to make a lot of people uneasy and upset and many of them are also people who are in the CCP. Chinese development has also made it become a treatler country in many respects, I think American Communists don’t recognize that. I think in practice we’re all just doing a prisoners dilemma with each other and ultimately ourselves.
A huge example of the difference between China and the USSR right now is food. The USSR had always been a seasonal agriculture country, because having Western style supermarkets that are both price stable and more-or-less unaffected by seasonal availability is based on a network of global trade that requires extraction by its very nature. If you cannot produce food half the year, and the people that can produce food the other half of the year are equals, you can maintain price stability of food through trade. But the reality is that the Global South where this stability is based in, are not equals. So the way price stability is maintained is through deprivation, extraction and manipulation of global markets. In a socialist global system we’re back at third worldism, you have to convince people who have it good to sacrifice for those that don’t in a place they’ve never been, for reasons that are extremely difficult to articulate. China is a rich country now and in this way has created this problem for itself and historically benevolent internationalism hasn’t really been a cultural tendency. Culturally and politically to China trade is trade, no more no less.
No offense, but I think fetishizing movements in the imperial periphery is a way to absolve responsibility from people in the imperial core. Communism tells liberals they need to do more, Third Worldism tells Communists they need to do more. It’s not a hierarchy based on who has to deal with the most suffering, it’s a hierarchy of who gains more benefit from the current state of the world and therefore who has more responsibility and power to fix it. You are simply shoveling the responsibility to those who comparatively the hardest battles.
Hamas can’t save us. That idea is the idea of Red Dawn – the same silly fantasy that libs have about the poorest taking their things – but for potential allies of the invading communist movement, rather than its enemies. It’s Communist Big Mommy
Yeah too bad gns implements rate limiting and bad actor protection by essentially mimicking butt coin and requiring proof of work.
Trust is not a technologically solvable problem. This includes current DNS systems because ownership is effectively a proof of stake.