There have been multiple accounts created with the sole purpose of posting advertisement posts or replies containing unsolicited advertising.

Accounts which solely post advertisements, or persistently post them may be terminated.

programmerhumor

This magazine is from a federated server and may be incomplete. Browse more on the original instance.

netvor , in Came back to learn you have job security
@netvor@lemmy.world avatar

Can’t help but think of a “senior dev” “explaining” (hing: brain-dumping) some bizarre reasoning why his unusable untested undocumented untyped API uses floats for item counts or something, and expecting the “junior dev” to just nod and keep that in their mind and adapt to it.

(Instead of making every possible excuse not to work with that API and instead doing something else where they can make some progress without going insane.)

lugal , in Principal Skinner on Immutable Distros

No, it’s the AI enthusiasts that are wrong.

Valmond , in Principal Skinner on Immutable Distros

Okay so now I have heard of those immutable OS kind of regularly, but what is it and why is it so much better?

Thank you!

ruse8145 ,

As far as I can tell it separates the base os from user changes which could break things by forcing you to use containers by annoying you to death any time you’re trying to permanently install a package.

It’s fine but it seems better for servers than users.

PotatoesFall ,

Basically the idea is to separate your system packages and your applications.

The system packages are installed and updated “atomically” i.e. in transactions. If a transaction fails, results in a broken system, or you just don’t like it, you can rollback anytime.

Applications on the other hand are usually installed in a containerized form. Basically, flatpak. You should avoid installing applications through the system package manager.

CLI apps is where it all gets interesting, and usually people use distrobox, docker/podman or toolbx to run stuff in containers. Although the universal blue project comes with brew prepackaged for when you want CLI apps installed system-wide without juggling containers.

The benefit is that your OS and your apps are separate. No dependencies breaking or conflicting. And if something does break, well just roll back.

demesisx OP , (edited )
@demesisx@infosec.pub avatar

I think some of these replies have perhaps missed the powerful idea that made me fall in love with Eelco Dolstra’s idea. Here’s what won me over.

For example: THE main feature is that you could have a different version of say Python (for the sake of this example) installed for each dependency in your system. Let’s say you had Brave working with one version of Python and another piece of software needed a previous version of Python. In an FHS style system, this would be challenging and you’d have to manually patch things to make sure the dependencies didn’t step on eachother. When you updated, your patches would likely have to be changed as well. So, system administration and updating can really break things.

In a Nix store where things can be content-addressed and linked by symlinks to their specific dependencies, they would just work alongside each other due to their unique, hash based folder locations. Each folder in the Nix store is named based on the sha256 hash of that piece of software’s ENTIRE dependency graph, which has powerful implications.

Because of this hash, they’re effectively hermetically sealed from each other and cannot step on each other. The software in the Nix store talks to eachother through symlimks that were made upon compilation of the system.

This is the very definition of Nix and taken far enough to define a whole OS is SUPER powerful concept.

DAMunzy , in Principal Skinner on Immutable Distros

I’m testing out Immutable Gentoo right now. 😜

carbonOS looks nice. Might have to try that out.

muntedcrocodile , in Principal Skinner on Immutable Distros
@muntedcrocodile@lemm.ee avatar

I’m suprised I havnt seen people using nix for docker images more.

demesisx OP ,
@demesisx@infosec.pub avatar

It’s still fairly challenging and the documentation is probably, at best, dogshit (if I may be so blunt) at the moment.

OCI is probably a more worthy goal anyway, IMO. And it is unsurprisingly much more well-supported.

muntedcrocodile ,
@muntedcrocodile@lemm.ee avatar

Huh seems cool if i had the bandwidth and time I’d convert my things over but i really couldn’t be bothered tbh.

ssm , (edited ) in Principal Skinner on Immutable Distros
@ssm@lemmy.sdf.org avatar

Shoving your entire system config into a couple DSL files is elegant? Sorry, I’ll stick to OpenBSD’s ports system and periodic rsync backups, that give me all the same benefits without the mountain of XY problems. Gentoo would also like a word, but they’re too busy recompiling all of llvm with one build flag changed to give input. Hope you never have to use anything other nix, since you’ve spent all your time learing to configure an abstraction layer instead of interfacing with the real underlying tooling.

Hexarei ,
@Hexarei@programming.dev avatar

I’m not familiar with ports, does it provide an easy way to install packages of a particular version? Is it OpenBSD only, or just a system of installing things?

I’ve got no dog in the race as of yet, I’ve bounced off of nixos a few times because of the general lack of consistency from one package to the next in terms of configuration options made available in the Nix language.

Genuinely curious about how it compares. The nix package manager seems fairly promising, even on non-Nix systems, if I could ever convince myself I needed it

ssm , (edited )
@ssm@lemmy.sdf.org avatar

I’m not familiar with ports, does it provide an easy way to install packages of a particular version? Is it OpenBSD only, or just a system of installing things?

OpenBSD’s ports are just a collection of perl scripts and makefiles managed by a VCS (usually CVS though there are mirrors). Due to how recursive CVS works, you can easily update any part of the tree to a different commit/tag.


<span style="color:#323232;">$ cd ${PORTSROOT}/games/stone-soup
</span><span style="color:#323232;">$ cvs up -CPd -D </span><span style="color:#183691;">'some date_spec' </span><span style="font-style:italic;color:#969896;">#or -r some_tag
</span><span style="color:#323232;">$ make install
</span><span style="color:#323232;">$ヽ༼ຈل͜ຈ༽ノ enjoy your old or backported videos games
</span>

very scriptable, should be easy to figure out how to automate this should you need to.

NicolaHaskell ,

all your time learing to configure an abstraction layer instead of interfacing with the real underlying tooling

Bro it’s state machines all the way down and expressions up top

yuf , in Anyone here use assembly?

For a university assignment, I built a compiler for x86; I cheated a bit by relying on LLVM, but it gave me a better understanding of the architecture. I also developed emulators for the NES (Ricoh 2A03) and RISC-V (RV32I) as a hobby. For the latter, I implemented it in FPGA.

LavenderDay3544 , in Anyone here use assembly?

OS and embedded dev here. I use assembly all the time. I’ve even worked on firmware that was entirely in assembly of strict requirements that couldn’t be met in C.

Also even machine code hides a lot about how the underlying machine works so if you really want to do computing from scratch you really do hate to invent the universe because there’s abstractions all the way up the hardware stack just like there is in software.

Moah , in Anyone here use assembly?
@Moah@lemmy.blahaj.zone avatar

I used to make video games entirely in assembly

electricprism , in Principal Skinner on Immutable Distros

You want shit to JustWork? No! /s

TCB13 , in C meme
@TCB13@lemmy.world avatar

Not only C, I’ve had experiences with real time applications in Angular and React pushing like 100 updates a second and it’s really easy to fuck something up that will trigger change detection and subsequent calls to death and create a scenario like that.

jroid8 ,

How often is something is simplified with reactivity? Who though the web needs reactivity? When I go to the steam page of a game there’s no more than one thing which needs to react to my action. When I hover over a game a new div should appear and nothing else needs to react to it. I clearly don’t get it

TCB13 ,
@TCB13@lemmy.world avatar

It depends on the type of application and size. For your typical business app / backoffice with tons of fields on the same page and real time data reactivity makes sense, otherwise it doesn’t.

Epzillon , in Came back to learn you have job security

Just started a new job last week. Ive been in the industry for 3 years so not completely junior but getting in to a new codebase is always rough. Especially when only 1 huge library file is documented, every component is cluttered af and most variables and parameter names are 1 character long.

Doesnt help that functions are 100 lines either when each the parameter names makes the logic incomprehensible.

velox_vulnus , in So that's where the GO logo comes from!

Now explain this for C2 and C3.

FooBarrington ,

ABAP

manucode , in So that's where the GO logo comes from!
@manucode@infosec.pub avatar

<span style="color:#323232;">C
</span><span style="color:#323232;">CC
</span><span style="color:#323232;">CCC
</span><span style="color:#323232;">CCCC
</span><span style="color:#323232;">CCCCC
</span><span style="color:#323232;">CCCCCC
</span><span style="color:#323232;">CCCC C
</span><span style="color:#323232;">    U
</span><span style="color:#323232;">CCCC C-
</span><span style="color:#323232;">    U
</span><span style="color:#323232;">CCCC C=
</span><span style="color:#323232;">    U
</span>

https://infosec.pub/pictrs/image/24bde13a-a35e-460f-b9d0-6d95d2c4216b.png

JackbyDev ,

Cup

embed_me , in C meme
@embed_me@programming.dev avatar

Hey but at least my app binary is 8kb and I can run on all platforms

  • All
  • Subscribed
  • Moderated
  • Favorites
  • [email protected]
  • random
  • lifeLocal
  • goranko
  • All magazines