1 |
DENIED
|
ROLE_USER
|
null |
|
Show voter details
|
2 |
DENIED
|
moderate
|
App\Entity\EntryComment {#1365
+user: Proxies\__CG__\App\Entity\User {#1879 …}
+entry: App\Entity\Entry {#1805 …}
+magazine: App\Entity\Magazine {#311
+icon: Proxies\__CG__\App\Entity\Image {#292 …}
+name: "linuxmemes@lemmy.world"
+title: "linuxmemes"
+description: """
Hint: `:q!`\n
\n
---\n
\n
Sister communities:* [LemmyMemes](https://lemmy.world/c/memes@lemmy.world): Memes * [LemmyShitpost](https://lemmy.world/c/lemmyshitpost): Anything and everything goes. * [RISA](https://startrek.website/c/risa): Star Trek memes and shitposts\n
\n
---\n
\n
Community rules (click to expand) :::spoiler 1. Follow the site-wide rules\n
\n
- Instance-wide TOS: [legal.lemmy.world/tos/](https://legal.lemmy.world/tos/)\n
- Lemmy code of conduct: [join-lemmy.org/docs/code_of_conduct.html](https://join-lemmy.org/docs/code_of_conduct.html)::: :::spoiler 2. Be civil\n
- Understand the difference between a joke and an insult.\n
- Do not harrass or attack members of the community *for any reason*.\n
- Leave remarks of “peasantry” to the PCMR community. If you dislike an OS/service/application, attack the *thing* you dislike, not the individuals who use it. Some people may not have a choice.\n
- Bigotry will not be tolerated.\n
- These rules are somewhat loosened when the subject is a public figure. Still, do not attack their person or incite harrassment. :::\n
\n
3. Post Linux-related content- Including Unix and BSD. - Non-Linux content is acceptable as long as it makes a reference to Linux. For example, the poorly made mockery of `sudo` in Windows. - No porn. Even if you watch it on a Linux machine.\n
\n
:::spoiler 4. No recent reposts\n
\n
- Everybody uses Arch btw, can’t quit Vim, and wants to interject for a moment. You can stop now. :::\n
\n
---\n
\n
Please report posts and comments that break these rules!
"""
+rules: null
+subscriptionsCount: 1
+entryCount: 420
+entryCommentCount: 13249
+postCount: 1
+postCommentCount: 0
+isAdult: false
+customCss: null
+lastActive: DateTime @1729578682 {#319
date: 2024-10-22 08:31:22.0 +02:00
}
+markedForDeletionAt: null
+tags: null
+moderators: Doctrine\ORM\PersistentCollection {#283 …}
+ownershipRequests: Doctrine\ORM\PersistentCollection {#279 …}
+moderatorRequests: Doctrine\ORM\PersistentCollection {#268 …}
+entries: Doctrine\ORM\PersistentCollection {#226 …}
+posts: Doctrine\ORM\PersistentCollection {#184 …}
+subscriptions: Doctrine\ORM\PersistentCollection {#246 …}
+bans: Doctrine\ORM\PersistentCollection {#163 …}
+reports: Doctrine\ORM\PersistentCollection {#149 …}
+badges: Doctrine\ORM\PersistentCollection {#127 …}
+logs: Doctrine\ORM\PersistentCollection {#117 …}
+awards: Doctrine\ORM\PersistentCollection {#106 …}
+categories: Doctrine\ORM\PersistentCollection {#93 …}
-id: 83
+apId: "linuxmemes@lemmy.world"
+apProfileId: "https://lemmy.world/c/linuxmemes"
+apPublicUrl: "https://lemmy.world/c/linuxmemes"
+apFollowersUrl: "https://lemmy.world/c/linuxmemes/followers"
+apInboxUrl: "https://lemmy.world/inbox"
+apDomain: "lemmy.world"
+apPreferredUsername: "linuxmemes"
+apDiscoverable: true
+apManuallyApprovesFollowers: null
+privateKey: null
+publicKey: null
+apFetchedAt: DateTime @1729459896 {#320
date: 2024-10-20 23:31:36.0 +02:00
}
+apDeletedAt: null
+apTimeoutAt: null
+visibility: "visible "
+createdAt: DateTimeImmutable @1699095615 {#314
date: 2023-11-04 12:00:15.0 +01:00
}
}
+image: null
+parent: Proxies\__CG__\App\Entity\EntryComment {#2451 …}
+root: Proxies\__CG__\App\Entity\EntryComment {#2356 …}
+body: """
> isn’t there a way for Linux users to automatically install every missing dependency for a program?\n
\n
Great question! There is. What you’re describing is a package manager. Overall, they are a great idea. It means devs can create smaller “dynamically linked” executables that rely on libraries installed by the package manager. The w*ndows equivalent of this is using DLL’s. Another advantage is that urgent security updates can be propagated much faster, since you don’t have to wait for each app that uses a vulnerable library to update it on their own. Also, dynamically linked executables can help save on ram usage. With statically linked executables, everyone brings their own versions of some library, all off them off by a few minor revisions (which all have to be loaded into ram separately), whereas a bunch of dynamically linked executables can all pointed to the same version (only needs to be loaded once), which is what package maintainers often do. Finally, package managers eradicate the need for apps to include their own auto-updaters, which benefits both developers and users.\n
\n
This model goes wrong when software depends on an outdated library. Even if the package maintainers still provide support for that outdated version, often it’s difficult to install two wildly different versions of a library at the same time. And apart from libraries, there are other things that a program can depend on, such as executables and daemons (aka background processes aka services), old versions of which are often even more difficult to get running along with their modern counterparts.\n
\n
So when you say that the “W*ndows way kind of looks superior here”, you are right about the specific edge case of running legacy apps. It just happens that the Linux crowd has historically decided that the other benefits of package managers outweigh this disadvantage.\n
\n
There *are* tools for developers to bundle dependencies. Statically linked binaries, “portable” apps, AppImage, and so on… It’s just that package managers are so widespread (because of the aforementioned benefits), few developers bother with these. The general attitude is “if you want a statically linked executable, go compile it yourself”. And by the time it’s time to make an “archiveable” version of an app because it’s abandoned… nobody bothers, because it’s, well, abandoned.\n
\n
However, as disk capacity and ram size steadily increase, people are starting to question whether the benefits of traditional package managers really outweigh the added maintenance cost. This, combined with the recent development of a linux kernel feature called “namespaces”, has spawned various new containerization tools. The ones I am familiar with are Docker (more suited for developer tools and web services), and Flatpak (more suitable for end-user desktop apps). I personally use both (flatpak as a user, and docker as both a user and a developer), and it makes my life a whole lot easier.\n
\n
As for what makes it easier for *users* to get old apps working (which is what you’re asking), well… that’s sort of what we are discussing in this thread. Again, these tools aren’t very widespread, because there is rarely a practical reason for running legacy programs, other than archivism or nostalgia. More often than not, modern and maintained alternatives are available. And when their *is* a practical reason, it is often in the context of development tools, where the user is probably skilled enough to just Dockerize the legacy program themselves (I did this a couple times at a job I used to have).
"""
+lang: "en"
+isAdult: false
+favouriteCount: 6
+score: 0
+lastActive: DateTime @1706128685 {#1602
date: 2024-01-24 21:38:05.0 +01:00
}
+ip: null
+tags: null
+mentions: [
"@renzev@lemmy.world"
"@IndustryStandard@lemmy.world"
]
+children: Doctrine\ORM\PersistentCollection {#2466 …}
+nested: Doctrine\ORM\PersistentCollection {#2288 …}
+votes: Doctrine\ORM\PersistentCollection {#2446 …}
+reports: Doctrine\ORM\PersistentCollection {#2439 …}
+favourites: Doctrine\ORM\PersistentCollection {#2489 …}
+notifications: Doctrine\ORM\PersistentCollection {#60 …}
-id: 337573
-bodyTs: "'abandon':381,388 'ad':413 'advantag':65 'aforement':341 'aka':244,247 'along':261 'also':97 'altern':548 'anoth':64 'apart':226 'app':85,171,291,324,377,460,498 'appimag':325 'archiv':373,538 'aren':521 'ask':505 'attitud':350 'auto':177 'auto-updat':176 'automat':10 'avail':550 'background':245 'benefit':180,305,342,405 'binari':322 'bother':345,383 'bring':112 'bunch':139 'bundl':318 'call':427 'capac':392 'case':287 'combin':417 'compil':360 'container':433 'context':563 'cost':415 'counterpart':265 'coupl':585 'creat':40 'crowd':298 'daemon':243 'decid':301 'depend':14,191,237,319 'describ':25 'desktop':459 'dev':38 'develop':182,316,344,421,446,477,565 'differ':216 'difficult':211,257 'disadvantag':311 'discuss':514 'disk':391 'dll':62 'docker':442,470,576 'dynam':42,98,141 'easier':486,492 'edg':286 'end':457 'end-us':456 'enough':573 'equival':57 'erad':167 'even':196,255 'everi':12 'everyon':111 'execut':44,100,110,143,241,358 'familiar':439 'faster':75 'featur':426 'final':164 'flatpak':452,465 'general':349 'get':259,496 'go':359 'goe':187 'great':18,34 'happen':294 'help':102 'histor':300 'howev':389 'idea':35 'includ':173 'increas':397 'instal':11,49,213 'isn':1 'job':589 'kernel':425 'kind':275 'legaci':290,534,578 'librari':48,90,118,195,220,228 'life':482 'link':43,99,109,142,321,357 'linux':7,297,424 'load':133,155 'look':277 'lot':485 'maintain':161,200,547 'mainten':414 'make':371,480,490 'manag':29,53,166,308,334,409 'mean':37 'minor':126 'miss':13 'model':186 'modern':264,545 'much':74 'namespac':428 'ndow':56,273 'need':152,169 'new':432 'nobodi':382 'nostalgia':540 'often':162,208,254,542,560 'old':249,497 'one':436 'outdat':194,206 'outweigh':309,411 'overal':30 'packag':28,52,160,165,199,307,333,408 'peopl':398 'person':462 'point':146 'portabl':323 'practic':530,556 'probabl':571 'process':246 'program':17,235,535,579 'propag':73 'provid':202 'question':19,402 'ram':105,135,394 'rare':528 're':24,504 'realli':410 'reason':531,557 'recent':420 'reli':46 'revis':127 'right':282 'run':260,289,533 'save':103 'say':269 'secur':69 'separ':136 'servic':248,450 'sinc':76 'size':395 'skill':572 'smaller':41 'softwar':190 'sort':509 'spawn':430 'specif':285 'start':400 'static':108,320,356 'steadili':396 'still':201 'suit':444 'suitabl':454 'superior':278 'support':203 'thing':232 'thread':517 'time':224,366,369,586 'tool':314,434,447,520,566 'tradit':407 'two':214 'updat':70,92,178 'urgent':68 'usag':106 'use':61,87,463,591 'user':8,184,458,468,474,494,569 'various':431 'version':115,150,207,217,250,374 'vulner':89 'w':55,272 'wait':82 'want':354 'way':5,274 'web':449 'well':387,506 'wherea':137 'whether':403 'whole':484 'widespread':337,524 'wild':215 'work':499 'wrong':188"
+ranking: 0
+commentCount: 0
+upVotes: 0
+downVotes: 0
+visibility: "visible "
+apId: "https://lemmy.world/comment/6980174"
+editedAt: null
+createdAt: DateTimeImmutable @1706128685 {#1941
date: 2024-01-24 21:38:05.0 +01:00
}
} |
|
Show voter details
|
3 |
DENIED
|
edit
|
App\Entity\EntryComment {#1365
+user: Proxies\__CG__\App\Entity\User {#1879 …}
+entry: App\Entity\Entry {#1805 …}
+magazine: App\Entity\Magazine {#311
+icon: Proxies\__CG__\App\Entity\Image {#292 …}
+name: "linuxmemes@lemmy.world"
+title: "linuxmemes"
+description: """
Hint: `:q!`\n
\n
---\n
\n
Sister communities:* [LemmyMemes](https://lemmy.world/c/memes@lemmy.world): Memes * [LemmyShitpost](https://lemmy.world/c/lemmyshitpost): Anything and everything goes. * [RISA](https://startrek.website/c/risa): Star Trek memes and shitposts\n
\n
---\n
\n
Community rules (click to expand) :::spoiler 1. Follow the site-wide rules\n
\n
- Instance-wide TOS: [legal.lemmy.world/tos/](https://legal.lemmy.world/tos/)\n
- Lemmy code of conduct: [join-lemmy.org/docs/code_of_conduct.html](https://join-lemmy.org/docs/code_of_conduct.html)::: :::spoiler 2. Be civil\n
- Understand the difference between a joke and an insult.\n
- Do not harrass or attack members of the community *for any reason*.\n
- Leave remarks of “peasantry” to the PCMR community. If you dislike an OS/service/application, attack the *thing* you dislike, not the individuals who use it. Some people may not have a choice.\n
- Bigotry will not be tolerated.\n
- These rules are somewhat loosened when the subject is a public figure. Still, do not attack their person or incite harrassment. :::\n
\n
3. Post Linux-related content- Including Unix and BSD. - Non-Linux content is acceptable as long as it makes a reference to Linux. For example, the poorly made mockery of `sudo` in Windows. - No porn. Even if you watch it on a Linux machine.\n
\n
:::spoiler 4. No recent reposts\n
\n
- Everybody uses Arch btw, can’t quit Vim, and wants to interject for a moment. You can stop now. :::\n
\n
---\n
\n
Please report posts and comments that break these rules!
"""
+rules: null
+subscriptionsCount: 1
+entryCount: 420
+entryCommentCount: 13249
+postCount: 1
+postCommentCount: 0
+isAdult: false
+customCss: null
+lastActive: DateTime @1729578682 {#319
date: 2024-10-22 08:31:22.0 +02:00
}
+markedForDeletionAt: null
+tags: null
+moderators: Doctrine\ORM\PersistentCollection {#283 …}
+ownershipRequests: Doctrine\ORM\PersistentCollection {#279 …}
+moderatorRequests: Doctrine\ORM\PersistentCollection {#268 …}
+entries: Doctrine\ORM\PersistentCollection {#226 …}
+posts: Doctrine\ORM\PersistentCollection {#184 …}
+subscriptions: Doctrine\ORM\PersistentCollection {#246 …}
+bans: Doctrine\ORM\PersistentCollection {#163 …}
+reports: Doctrine\ORM\PersistentCollection {#149 …}
+badges: Doctrine\ORM\PersistentCollection {#127 …}
+logs: Doctrine\ORM\PersistentCollection {#117 …}
+awards: Doctrine\ORM\PersistentCollection {#106 …}
+categories: Doctrine\ORM\PersistentCollection {#93 …}
-id: 83
+apId: "linuxmemes@lemmy.world"
+apProfileId: "https://lemmy.world/c/linuxmemes"
+apPublicUrl: "https://lemmy.world/c/linuxmemes"
+apFollowersUrl: "https://lemmy.world/c/linuxmemes/followers"
+apInboxUrl: "https://lemmy.world/inbox"
+apDomain: "lemmy.world"
+apPreferredUsername: "linuxmemes"
+apDiscoverable: true
+apManuallyApprovesFollowers: null
+privateKey: null
+publicKey: null
+apFetchedAt: DateTime @1729459896 {#320
date: 2024-10-20 23:31:36.0 +02:00
}
+apDeletedAt: null
+apTimeoutAt: null
+visibility: "visible "
+createdAt: DateTimeImmutable @1699095615 {#314
date: 2023-11-04 12:00:15.0 +01:00
}
}
+image: null
+parent: Proxies\__CG__\App\Entity\EntryComment {#2451 …}
+root: Proxies\__CG__\App\Entity\EntryComment {#2356 …}
+body: """
> isn’t there a way for Linux users to automatically install every missing dependency for a program?\n
\n
Great question! There is. What you’re describing is a package manager. Overall, they are a great idea. It means devs can create smaller “dynamically linked” executables that rely on libraries installed by the package manager. The w*ndows equivalent of this is using DLL’s. Another advantage is that urgent security updates can be propagated much faster, since you don’t have to wait for each app that uses a vulnerable library to update it on their own. Also, dynamically linked executables can help save on ram usage. With statically linked executables, everyone brings their own versions of some library, all off them off by a few minor revisions (which all have to be loaded into ram separately), whereas a bunch of dynamically linked executables can all pointed to the same version (only needs to be loaded once), which is what package maintainers often do. Finally, package managers eradicate the need for apps to include their own auto-updaters, which benefits both developers and users.\n
\n
This model goes wrong when software depends on an outdated library. Even if the package maintainers still provide support for that outdated version, often it’s difficult to install two wildly different versions of a library at the same time. And apart from libraries, there are other things that a program can depend on, such as executables and daemons (aka background processes aka services), old versions of which are often even more difficult to get running along with their modern counterparts.\n
\n
So when you say that the “W*ndows way kind of looks superior here”, you are right about the specific edge case of running legacy apps. It just happens that the Linux crowd has historically decided that the other benefits of package managers outweigh this disadvantage.\n
\n
There *are* tools for developers to bundle dependencies. Statically linked binaries, “portable” apps, AppImage, and so on… It’s just that package managers are so widespread (because of the aforementioned benefits), few developers bother with these. The general attitude is “if you want a statically linked executable, go compile it yourself”. And by the time it’s time to make an “archiveable” version of an app because it’s abandoned… nobody bothers, because it’s, well, abandoned.\n
\n
However, as disk capacity and ram size steadily increase, people are starting to question whether the benefits of traditional package managers really outweigh the added maintenance cost. This, combined with the recent development of a linux kernel feature called “namespaces”, has spawned various new containerization tools. The ones I am familiar with are Docker (more suited for developer tools and web services), and Flatpak (more suitable for end-user desktop apps). I personally use both (flatpak as a user, and docker as both a user and a developer), and it makes my life a whole lot easier.\n
\n
As for what makes it easier for *users* to get old apps working (which is what you’re asking), well… that’s sort of what we are discussing in this thread. Again, these tools aren’t very widespread, because there is rarely a practical reason for running legacy programs, other than archivism or nostalgia. More often than not, modern and maintained alternatives are available. And when their *is* a practical reason, it is often in the context of development tools, where the user is probably skilled enough to just Dockerize the legacy program themselves (I did this a couple times at a job I used to have).
"""
+lang: "en"
+isAdult: false
+favouriteCount: 6
+score: 0
+lastActive: DateTime @1706128685 {#1602
date: 2024-01-24 21:38:05.0 +01:00
}
+ip: null
+tags: null
+mentions: [
"@renzev@lemmy.world"
"@IndustryStandard@lemmy.world"
]
+children: Doctrine\ORM\PersistentCollection {#2466 …}
+nested: Doctrine\ORM\PersistentCollection {#2288 …}
+votes: Doctrine\ORM\PersistentCollection {#2446 …}
+reports: Doctrine\ORM\PersistentCollection {#2439 …}
+favourites: Doctrine\ORM\PersistentCollection {#2489 …}
+notifications: Doctrine\ORM\PersistentCollection {#60 …}
-id: 337573
-bodyTs: "'abandon':381,388 'ad':413 'advantag':65 'aforement':341 'aka':244,247 'along':261 'also':97 'altern':548 'anoth':64 'apart':226 'app':85,171,291,324,377,460,498 'appimag':325 'archiv':373,538 'aren':521 'ask':505 'attitud':350 'auto':177 'auto-updat':176 'automat':10 'avail':550 'background':245 'benefit':180,305,342,405 'binari':322 'bother':345,383 'bring':112 'bunch':139 'bundl':318 'call':427 'capac':392 'case':287 'combin':417 'compil':360 'container':433 'context':563 'cost':415 'counterpart':265 'coupl':585 'creat':40 'crowd':298 'daemon':243 'decid':301 'depend':14,191,237,319 'describ':25 'desktop':459 'dev':38 'develop':182,316,344,421,446,477,565 'differ':216 'difficult':211,257 'disadvantag':311 'discuss':514 'disk':391 'dll':62 'docker':442,470,576 'dynam':42,98,141 'easier':486,492 'edg':286 'end':457 'end-us':456 'enough':573 'equival':57 'erad':167 'even':196,255 'everi':12 'everyon':111 'execut':44,100,110,143,241,358 'familiar':439 'faster':75 'featur':426 'final':164 'flatpak':452,465 'general':349 'get':259,496 'go':359 'goe':187 'great':18,34 'happen':294 'help':102 'histor':300 'howev':389 'idea':35 'includ':173 'increas':397 'instal':11,49,213 'isn':1 'job':589 'kernel':425 'kind':275 'legaci':290,534,578 'librari':48,90,118,195,220,228 'life':482 'link':43,99,109,142,321,357 'linux':7,297,424 'load':133,155 'look':277 'lot':485 'maintain':161,200,547 'mainten':414 'make':371,480,490 'manag':29,53,166,308,334,409 'mean':37 'minor':126 'miss':13 'model':186 'modern':264,545 'much':74 'namespac':428 'ndow':56,273 'need':152,169 'new':432 'nobodi':382 'nostalgia':540 'often':162,208,254,542,560 'old':249,497 'one':436 'outdat':194,206 'outweigh':309,411 'overal':30 'packag':28,52,160,165,199,307,333,408 'peopl':398 'person':462 'point':146 'portabl':323 'practic':530,556 'probabl':571 'process':246 'program':17,235,535,579 'propag':73 'provid':202 'question':19,402 'ram':105,135,394 'rare':528 're':24,504 'realli':410 'reason':531,557 'recent':420 'reli':46 'revis':127 'right':282 'run':260,289,533 'save':103 'say':269 'secur':69 'separ':136 'servic':248,450 'sinc':76 'size':395 'skill':572 'smaller':41 'softwar':190 'sort':509 'spawn':430 'specif':285 'start':400 'static':108,320,356 'steadili':396 'still':201 'suit':444 'suitabl':454 'superior':278 'support':203 'thing':232 'thread':517 'time':224,366,369,586 'tool':314,434,447,520,566 'tradit':407 'two':214 'updat':70,92,178 'urgent':68 'usag':106 'use':61,87,463,591 'user':8,184,458,468,474,494,569 'various':431 'version':115,150,207,217,250,374 'vulner':89 'w':55,272 'wait':82 'want':354 'way':5,274 'web':449 'well':387,506 'wherea':137 'whether':403 'whole':484 'widespread':337,524 'wild':215 'work':499 'wrong':188"
+ranking: 0
+commentCount: 0
+upVotes: 0
+downVotes: 0
+visibility: "visible "
+apId: "https://lemmy.world/comment/6980174"
+editedAt: null
+createdAt: DateTimeImmutable @1706128685 {#1941
date: 2024-01-24 21:38:05.0 +01:00
}
} |
|
Show voter details
|
4 |
DENIED
|
moderate
|
App\Entity\EntryComment {#1365
+user: Proxies\__CG__\App\Entity\User {#1879 …}
+entry: App\Entity\Entry {#1805 …}
+magazine: App\Entity\Magazine {#311
+icon: Proxies\__CG__\App\Entity\Image {#292 …}
+name: "linuxmemes@lemmy.world"
+title: "linuxmemes"
+description: """
Hint: `:q!`\n
\n
---\n
\n
Sister communities:* [LemmyMemes](https://lemmy.world/c/memes@lemmy.world): Memes * [LemmyShitpost](https://lemmy.world/c/lemmyshitpost): Anything and everything goes. * [RISA](https://startrek.website/c/risa): Star Trek memes and shitposts\n
\n
---\n
\n
Community rules (click to expand) :::spoiler 1. Follow the site-wide rules\n
\n
- Instance-wide TOS: [legal.lemmy.world/tos/](https://legal.lemmy.world/tos/)\n
- Lemmy code of conduct: [join-lemmy.org/docs/code_of_conduct.html](https://join-lemmy.org/docs/code_of_conduct.html)::: :::spoiler 2. Be civil\n
- Understand the difference between a joke and an insult.\n
- Do not harrass or attack members of the community *for any reason*.\n
- Leave remarks of “peasantry” to the PCMR community. If you dislike an OS/service/application, attack the *thing* you dislike, not the individuals who use it. Some people may not have a choice.\n
- Bigotry will not be tolerated.\n
- These rules are somewhat loosened when the subject is a public figure. Still, do not attack their person or incite harrassment. :::\n
\n
3. Post Linux-related content- Including Unix and BSD. - Non-Linux content is acceptable as long as it makes a reference to Linux. For example, the poorly made mockery of `sudo` in Windows. - No porn. Even if you watch it on a Linux machine.\n
\n
:::spoiler 4. No recent reposts\n
\n
- Everybody uses Arch btw, can’t quit Vim, and wants to interject for a moment. You can stop now. :::\n
\n
---\n
\n
Please report posts and comments that break these rules!
"""
+rules: null
+subscriptionsCount: 1
+entryCount: 420
+entryCommentCount: 13249
+postCount: 1
+postCommentCount: 0
+isAdult: false
+customCss: null
+lastActive: DateTime @1729578682 {#319
date: 2024-10-22 08:31:22.0 +02:00
}
+markedForDeletionAt: null
+tags: null
+moderators: Doctrine\ORM\PersistentCollection {#283 …}
+ownershipRequests: Doctrine\ORM\PersistentCollection {#279 …}
+moderatorRequests: Doctrine\ORM\PersistentCollection {#268 …}
+entries: Doctrine\ORM\PersistentCollection {#226 …}
+posts: Doctrine\ORM\PersistentCollection {#184 …}
+subscriptions: Doctrine\ORM\PersistentCollection {#246 …}
+bans: Doctrine\ORM\PersistentCollection {#163 …}
+reports: Doctrine\ORM\PersistentCollection {#149 …}
+badges: Doctrine\ORM\PersistentCollection {#127 …}
+logs: Doctrine\ORM\PersistentCollection {#117 …}
+awards: Doctrine\ORM\PersistentCollection {#106 …}
+categories: Doctrine\ORM\PersistentCollection {#93 …}
-id: 83
+apId: "linuxmemes@lemmy.world"
+apProfileId: "https://lemmy.world/c/linuxmemes"
+apPublicUrl: "https://lemmy.world/c/linuxmemes"
+apFollowersUrl: "https://lemmy.world/c/linuxmemes/followers"
+apInboxUrl: "https://lemmy.world/inbox"
+apDomain: "lemmy.world"
+apPreferredUsername: "linuxmemes"
+apDiscoverable: true
+apManuallyApprovesFollowers: null
+privateKey: null
+publicKey: null
+apFetchedAt: DateTime @1729459896 {#320
date: 2024-10-20 23:31:36.0 +02:00
}
+apDeletedAt: null
+apTimeoutAt: null
+visibility: "visible "
+createdAt: DateTimeImmutable @1699095615 {#314
date: 2023-11-04 12:00:15.0 +01:00
}
}
+image: null
+parent: Proxies\__CG__\App\Entity\EntryComment {#2451 …}
+root: Proxies\__CG__\App\Entity\EntryComment {#2356 …}
+body: """
> isn’t there a way for Linux users to automatically install every missing dependency for a program?\n
\n
Great question! There is. What you’re describing is a package manager. Overall, they are a great idea. It means devs can create smaller “dynamically linked” executables that rely on libraries installed by the package manager. The w*ndows equivalent of this is using DLL’s. Another advantage is that urgent security updates can be propagated much faster, since you don’t have to wait for each app that uses a vulnerable library to update it on their own. Also, dynamically linked executables can help save on ram usage. With statically linked executables, everyone brings their own versions of some library, all off them off by a few minor revisions (which all have to be loaded into ram separately), whereas a bunch of dynamically linked executables can all pointed to the same version (only needs to be loaded once), which is what package maintainers often do. Finally, package managers eradicate the need for apps to include their own auto-updaters, which benefits both developers and users.\n
\n
This model goes wrong when software depends on an outdated library. Even if the package maintainers still provide support for that outdated version, often it’s difficult to install two wildly different versions of a library at the same time. And apart from libraries, there are other things that a program can depend on, such as executables and daemons (aka background processes aka services), old versions of which are often even more difficult to get running along with their modern counterparts.\n
\n
So when you say that the “W*ndows way kind of looks superior here”, you are right about the specific edge case of running legacy apps. It just happens that the Linux crowd has historically decided that the other benefits of package managers outweigh this disadvantage.\n
\n
There *are* tools for developers to bundle dependencies. Statically linked binaries, “portable” apps, AppImage, and so on… It’s just that package managers are so widespread (because of the aforementioned benefits), few developers bother with these. The general attitude is “if you want a statically linked executable, go compile it yourself”. And by the time it’s time to make an “archiveable” version of an app because it’s abandoned… nobody bothers, because it’s, well, abandoned.\n
\n
However, as disk capacity and ram size steadily increase, people are starting to question whether the benefits of traditional package managers really outweigh the added maintenance cost. This, combined with the recent development of a linux kernel feature called “namespaces”, has spawned various new containerization tools. The ones I am familiar with are Docker (more suited for developer tools and web services), and Flatpak (more suitable for end-user desktop apps). I personally use both (flatpak as a user, and docker as both a user and a developer), and it makes my life a whole lot easier.\n
\n
As for what makes it easier for *users* to get old apps working (which is what you’re asking), well… that’s sort of what we are discussing in this thread. Again, these tools aren’t very widespread, because there is rarely a practical reason for running legacy programs, other than archivism or nostalgia. More often than not, modern and maintained alternatives are available. And when their *is* a practical reason, it is often in the context of development tools, where the user is probably skilled enough to just Dockerize the legacy program themselves (I did this a couple times at a job I used to have).
"""
+lang: "en"
+isAdult: false
+favouriteCount: 6
+score: 0
+lastActive: DateTime @1706128685 {#1602
date: 2024-01-24 21:38:05.0 +01:00
}
+ip: null
+tags: null
+mentions: [
"@renzev@lemmy.world"
"@IndustryStandard@lemmy.world"
]
+children: Doctrine\ORM\PersistentCollection {#2466 …}
+nested: Doctrine\ORM\PersistentCollection {#2288 …}
+votes: Doctrine\ORM\PersistentCollection {#2446 …}
+reports: Doctrine\ORM\PersistentCollection {#2439 …}
+favourites: Doctrine\ORM\PersistentCollection {#2489 …}
+notifications: Doctrine\ORM\PersistentCollection {#60 …}
-id: 337573
-bodyTs: "'abandon':381,388 'ad':413 'advantag':65 'aforement':341 'aka':244,247 'along':261 'also':97 'altern':548 'anoth':64 'apart':226 'app':85,171,291,324,377,460,498 'appimag':325 'archiv':373,538 'aren':521 'ask':505 'attitud':350 'auto':177 'auto-updat':176 'automat':10 'avail':550 'background':245 'benefit':180,305,342,405 'binari':322 'bother':345,383 'bring':112 'bunch':139 'bundl':318 'call':427 'capac':392 'case':287 'combin':417 'compil':360 'container':433 'context':563 'cost':415 'counterpart':265 'coupl':585 'creat':40 'crowd':298 'daemon':243 'decid':301 'depend':14,191,237,319 'describ':25 'desktop':459 'dev':38 'develop':182,316,344,421,446,477,565 'differ':216 'difficult':211,257 'disadvantag':311 'discuss':514 'disk':391 'dll':62 'docker':442,470,576 'dynam':42,98,141 'easier':486,492 'edg':286 'end':457 'end-us':456 'enough':573 'equival':57 'erad':167 'even':196,255 'everi':12 'everyon':111 'execut':44,100,110,143,241,358 'familiar':439 'faster':75 'featur':426 'final':164 'flatpak':452,465 'general':349 'get':259,496 'go':359 'goe':187 'great':18,34 'happen':294 'help':102 'histor':300 'howev':389 'idea':35 'includ':173 'increas':397 'instal':11,49,213 'isn':1 'job':589 'kernel':425 'kind':275 'legaci':290,534,578 'librari':48,90,118,195,220,228 'life':482 'link':43,99,109,142,321,357 'linux':7,297,424 'load':133,155 'look':277 'lot':485 'maintain':161,200,547 'mainten':414 'make':371,480,490 'manag':29,53,166,308,334,409 'mean':37 'minor':126 'miss':13 'model':186 'modern':264,545 'much':74 'namespac':428 'ndow':56,273 'need':152,169 'new':432 'nobodi':382 'nostalgia':540 'often':162,208,254,542,560 'old':249,497 'one':436 'outdat':194,206 'outweigh':309,411 'overal':30 'packag':28,52,160,165,199,307,333,408 'peopl':398 'person':462 'point':146 'portabl':323 'practic':530,556 'probabl':571 'process':246 'program':17,235,535,579 'propag':73 'provid':202 'question':19,402 'ram':105,135,394 'rare':528 're':24,504 'realli':410 'reason':531,557 'recent':420 'reli':46 'revis':127 'right':282 'run':260,289,533 'save':103 'say':269 'secur':69 'separ':136 'servic':248,450 'sinc':76 'size':395 'skill':572 'smaller':41 'softwar':190 'sort':509 'spawn':430 'specif':285 'start':400 'static':108,320,356 'steadili':396 'still':201 'suit':444 'suitabl':454 'superior':278 'support':203 'thing':232 'thread':517 'time':224,366,369,586 'tool':314,434,447,520,566 'tradit':407 'two':214 'updat':70,92,178 'urgent':68 'usag':106 'use':61,87,463,591 'user':8,184,458,468,474,494,569 'various':431 'version':115,150,207,217,250,374 'vulner':89 'w':55,272 'wait':82 'want':354 'way':5,274 'web':449 'well':387,506 'wherea':137 'whether':403 'whole':484 'widespread':337,524 'wild':215 'work':499 'wrong':188"
+ranking: 0
+commentCount: 0
+upVotes: 0
+downVotes: 0
+visibility: "visible "
+apId: "https://lemmy.world/comment/6980174"
+editedAt: null
+createdAt: DateTimeImmutable @1706128685 {#1941
date: 2024-01-24 21:38:05.0 +01:00
}
} |
|
Show voter details
|
5 |
DENIED
|
edit
|
App\Entity\Magazine {#311
+icon: Proxies\__CG__\App\Entity\Image {#292 …}
+name: "linuxmemes@lemmy.world"
+title: "linuxmemes"
+description: """
Hint: `:q!`\n
\n
---\n
\n
Sister communities:* [LemmyMemes](https://lemmy.world/c/memes@lemmy.world): Memes * [LemmyShitpost](https://lemmy.world/c/lemmyshitpost): Anything and everything goes. * [RISA](https://startrek.website/c/risa): Star Trek memes and shitposts\n
\n
---\n
\n
Community rules (click to expand) :::spoiler 1. Follow the site-wide rules\n
\n
- Instance-wide TOS: [legal.lemmy.world/tos/](https://legal.lemmy.world/tos/)\n
- Lemmy code of conduct: [join-lemmy.org/docs/code_of_conduct.html](https://join-lemmy.org/docs/code_of_conduct.html)::: :::spoiler 2. Be civil\n
- Understand the difference between a joke and an insult.\n
- Do not harrass or attack members of the community *for any reason*.\n
- Leave remarks of “peasantry” to the PCMR community. If you dislike an OS/service/application, attack the *thing* you dislike, not the individuals who use it. Some people may not have a choice.\n
- Bigotry will not be tolerated.\n
- These rules are somewhat loosened when the subject is a public figure. Still, do not attack their person or incite harrassment. :::\n
\n
3. Post Linux-related content- Including Unix and BSD. - Non-Linux content is acceptable as long as it makes a reference to Linux. For example, the poorly made mockery of `sudo` in Windows. - No porn. Even if you watch it on a Linux machine.\n
\n
:::spoiler 4. No recent reposts\n
\n
- Everybody uses Arch btw, can’t quit Vim, and wants to interject for a moment. You can stop now. :::\n
\n
---\n
\n
Please report posts and comments that break these rules!
"""
+rules: null
+subscriptionsCount: 1
+entryCount: 420
+entryCommentCount: 13249
+postCount: 1
+postCommentCount: 0
+isAdult: false
+customCss: null
+lastActive: DateTime @1729578682 {#319
date: 2024-10-22 08:31:22.0 +02:00
}
+markedForDeletionAt: null
+tags: null
+moderators: Doctrine\ORM\PersistentCollection {#283 …}
+ownershipRequests: Doctrine\ORM\PersistentCollection {#279 …}
+moderatorRequests: Doctrine\ORM\PersistentCollection {#268 …}
+entries: Doctrine\ORM\PersistentCollection {#226 …}
+posts: Doctrine\ORM\PersistentCollection {#184 …}
+subscriptions: Doctrine\ORM\PersistentCollection {#246 …}
+bans: Doctrine\ORM\PersistentCollection {#163 …}
+reports: Doctrine\ORM\PersistentCollection {#149 …}
+badges: Doctrine\ORM\PersistentCollection {#127 …}
+logs: Doctrine\ORM\PersistentCollection {#117 …}
+awards: Doctrine\ORM\PersistentCollection {#106 …}
+categories: Doctrine\ORM\PersistentCollection {#93 …}
-id: 83
+apId: "linuxmemes@lemmy.world"
+apProfileId: "https://lemmy.world/c/linuxmemes"
+apPublicUrl: "https://lemmy.world/c/linuxmemes"
+apFollowersUrl: "https://lemmy.world/c/linuxmemes/followers"
+apInboxUrl: "https://lemmy.world/inbox"
+apDomain: "lemmy.world"
+apPreferredUsername: "linuxmemes"
+apDiscoverable: true
+apManuallyApprovesFollowers: null
+privateKey: null
+publicKey: null
+apFetchedAt: DateTime @1729459896 {#320
date: 2024-10-20 23:31:36.0 +02:00
}
+apDeletedAt: null
+apTimeoutAt: null
+visibility: "visible "
+createdAt: DateTimeImmutable @1699095615 {#314
date: 2023-11-04 12:00:15.0 +01:00
}
} |
|
Show voter details
|