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.

hanrahan , in Anyone here use assembly?
@hanrahan@slrpnk.net avatar

Not since the 1980s on a Commodore 64.

SYS64738

biggerbogboy , in Might as well have been written by an alien

this was me while writing my website for my screen and media course, I come back a week later and try to interpret these ancient runes inscribed on my IDE, had to stare at it for like half an hour to finally get what I made.

abcd , in Anyone here use assembly?

IMHO assembly isn’t hard. When you gain enough experience you start to see „visual patterns“ in your code. For example jumping over some lines often equals to a if/else statement or jumping back is often a loop etc. Then you are able to skim code without the necessity to read each line.

The most difficult part is to keep track of the big picture because it is so verbose. Otherwise it’s a handful or two of instructions you use 90+% of the time.

I needed it often in the past in the PLC world but it is dying out slowly. Nonetheless, when I encounter 30+ year old software I’m happy to be able to get along. And your experience transitions to other architectures like changing from one higher language to another.

Nonetheless, if I’m able to choose, I’ll take Go. Please and thank you 😊

wewbull ,

The most difficult part is to keep track of the big picture because it is so verbose. Otherwise it’s a handful or two of instructions you use 90+% of the time.

It’s a long time since I wrote any assembly in anger, but I don’t remember this being an issue. Back then Id be writing 2D and 3D graphics demos. Reasonably complex things, but the challenge was always getting it fast enought to keep the frame rate up, not code structure.

As you say, I think you just establish patterns to decompose the problem.

vampira , in Might as well have been written by an alien

If I get off my computer for an hour and come back I’m already unable to recognize my code lol

mrpalmer16 , in Anyone here use assembly?

Ha! I teach assembly and use this one every year to lighten the mood before midterms.

AllOutOfBubbleGum , in Anyone here use assembly?

I was pretty into x86 asm in my teens. Nasm was my go to. Anyone else ever play with MenuetOS?

HStone32 , in Anyone here use assembly?

Not exactly accurate, I think. Even machine language is bound by the CPU’s architecture. You can’t do anything in machine language that wasn’t specifically provided for by the CPU architects.

It would be more accurate to say it’s like creating a new universe using all the same laws of physics, thermodynamics, cosmology, ethics, etc as our existing universe.

UNY0N ,

I don’t think accuracy was the goal, it is a joke not a dissertation. It’s more about how it feels to try a language like assembly after working with higher-level languages.

MyNameIsRichard , in Anyone here use assembly?
@MyNameIsRichard@lemmy.ml avatar

Only on the VIC20 and Atari STe. On the VIC20 you had to write the assembler, manually convert it to machine code and enter that into the computer. There was a cartridge with an assembler, debugger and an extra 3.5Kb memory for it but I never got one.

stanka ,

Vic 20 was my first. I watched my dad struggle with and eventually give up on assembly. Something-something and the microbots. I was fearful of it until I took Assembly at Uni. That 2nd/3rd year class was where the final puzzle piece of how computers work fell in place for me.

My first job was writing assembly tests for a DSP hardware design team. Fell in love. Never looked back.

Cethin , in Anyone here use assembly?

Anyone who thinks OP asking about Assembly with this meme should play the game Turing Complete. It’s great. You have to design a computer all the way from the most basic logic gates (I think you only get a NAND gate to start), designing an ALU and CPU, creating your own machine language, and writing your own programs in the language you designed, and it’s all simulated the whole time. Machine language is pretty advanced as far as things go.

Cavemanfreak ,

We got to do something simular in uni. We modeled the CPU in VHDL and had to set up our own language, then we were to program a game for it. One of the most fun and interesting courses we got to do!

bleistift2 ,

From your description this sounds more like a job in IBM’s R&D department than a game

Cethin ,

All the best games sound like jobs when you describe them.

desktop_user ,

factorio, satisfactory, oxygen not included, RimWorld, Stellaris, dwarf fortress, gregtech new horizons…

Carighan , in Principal Skinner on Immutable Distros
@Carighan@lemmy.world avatar

Are we back in time 30 years when resettable systems were a new thing and controversial?

demesisx OP ,
@demesisx@infosec.pub avatar

Perhaps! I’m a big fan of immutable distros. This meme was inspired by being called an asshole for agreeing with another commment, calling it a skill issue when this one commenter flat out refused to acknowledge ANY of the positive aspects of them.

stingpie ,

So you made a meme about how your opponent is completely irrational and you are a paragon of logic and reason, and then proceeded to declare yourself the winner?

demesisx OP ,
@demesisx@infosec.pub avatar

I really didn’t declare myself the winner. IMO, I won’t have to when the software will do that when this way of working usurps container-style development as the de-facto standard.

As an actual old man who was able to adapt, I simply pointed out that OP sounds like an old man, unable to acknowledge an obvious trend where immutable systems are clearly gaining popularity and are seen by many as the correct way to provision a mission-critical system.

HakFoo ,

I suspect the tooling isn’t quite there yet for desktop use cases.

If I were to try to replicate my current desktop in an immutable model, it would involve a lot of manual labour in scripting or checkpointing every time I installed or configured something, to save a few hours of labour in 2 years time when I get a new drive or do a full install.

The case is easier for defined workload servers and dev environments that are regularly spun up fresh.

demesisx OP ,
@demesisx@infosec.pub avatar

to try to replicate my current desktop in an immutable model, it would involve a lot of manual labour in scripting or checkpointing every time I installed or configured something, to save a few hours of labour in 2 years time when I get a new drive or do a full install.

If you have only one system, you might find the benefits not to be worth the bikeshedding effort.

However, I suspect that you’d be surprised with how easy it can be using home-manager. I have literally nothing that I need to do to a newly compiled NixOS system from my config because EVERYTHING is declared and provided inside of that config.

If you don’t mind, can you give me an example of something in your config that you think is impossible or difficult to port to the Nix style? I’d be happy to attempt to Nixify it to prove my point. I’ve pretty much figured out how to do everything in the Nix way.

and I don’t mind if I end up being incredibly wrong on this point and promise to be intellectually honest about it if I am indeed wrong. It just sounds like a fun exercise for me.

HakFoo , (edited )

I guess the assumption is more that for me, a fresh install is often about decluttering as much as anything-- the five Wayland compositors, three music players, and six pseudo-IDEs I tried and didn’t like don’t need to follow me to the next build.

In a conventional install, that just means “don’t check the checkbox in the installer next time”. In a Nix-style system, this is a conscious process of actively deciding to remove things from the stored configuration, no?

I suppose the closest I’ve gotten was recently migrating my setup from a desktop to a new laptop. Mostly copying over some config from my home directory, but even then, I wanted enough different stuff-- removing tools I don’t use on the laptop, adding things like battery monitoring and Wi-Fi control-- that it involved some reconfiguration.

demesisx OP ,
@demesisx@infosec.pub avatar

I’d actually argue the opposite in regards to clutter. If I switch to a new config without the software I don’t want anymore, that software goes away entirely when I do a garbage collect and there’s nothing left over like there might be in ‘’~/.config’’ on a non-immutable system.

IMO, the actual realization of Dolstra’s dream is flakes and home manager. They allow you to boil your whole config down to a git repo where you can track changes and rollback the lock file if needed.

I find it nice to open my config in an IDE and search by string inside of my config where I can comment out whatever I don’t need. Laziness also makes that pretty convenient too. Nix will only attempt to interpret what is accessible in code. If I comment out an import, that whole part of the config seamlessly shuts off. It’s quite elegant.

I’m even more envious of the atomicity of GUIX but IMO, it’s a little too much building the world from scratch for a newb like me.

PeriodicallyPedantic ,

Congratulations, you’ve learned how memes are created!

herrvogel ,

What skill? This is not a fucking game lmao. I don’t use an immutable distro because I have better things to do with my time than to try and climb a steep learning curve using some very questionable documentation. I can acknowledge the benefits, but I also acknowledge it’s gonna take me time to get there. And I judge that the time investment is not worth it.

demesisx OP ,
@demesisx@infosec.pub avatar

Clearly, it’s not a skill issue with you but with the dude that inspired this, my assessment was that he was flat out unwilling to learn and flat out unwilling to acknowledge that there er clearly some benefits to this way. Seems like you already grasp it but don’t feel like committing the time. I respect that much more than the blind dismissal that inspired my meme. ✌️

kbal ,
@kbal@fedia.io avatar

Not really. Now they're old and controversial.

evatronic ,

RFC 1925(11) —

(11) Every old idea will be proposed again with a different name and a different presentation, regardless of whether it works.

datatracker.ietf.org/doc/html/rfc1925

ikidd , in Principal Skinner on Immutable Distros
@ikidd@lemmy.world avatar

I went through a NixOS phase, and for a user that isn’t trying to maintain a dev environment, it’s a bloody lot of hassle.

I’m all behind immutable distros even though I don’t particularly have the need for them, but declaritive OSs are kinda niche.

Prunebutt , (edited )

They’re the bee’s knees if you have a homelab, though.

ikidd ,
@ikidd@lemmy.world avatar

Maybe homelab stuff that you mess with a lot and need to revert or stand up a multitude? I tried it for self-hosted apps and frankly a docker host is way easier. JB guys were pushing it for Nextcloud and it was a nightmare compared to the Docker AIO. I guess you could stand it up as a docker host OS, but I just use Debian, it’s pretty much bulletproof and again, less hassle.

Prunebutt ,

I recently switched to nixos, because my ACME image was failing all of a sudden and I didn’t know enough what was going on under the hood to fix it.

It was a steep learning curve, but the infrastructure as code approach just works too well for me, since I just forget too much what I did three years ago, when doing things imperatively.

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

for a user that isn’t trying to maintain a dev environment, it’s a bloody lot of hassle

I agree but I prefer it to things like ansible for sure. I’m also happy to never have to run 400 apt install commands in a specific order lest I have to start again from scratch on a new system.

Another place I swear by it is in the declaration of drives. I used to have to use a bash script on boot that would update fstab every time I booted (I mount an NFS volume in my LAN as if it were native to my machine) then unmount it on shutdown. With nix, I haven’t had to invent solutions for that weird quirk (and any other quirks) since day one because I simply declared it like so:


<span style="color:#323232;">{
</span><span style="color:#323232;">  config,
</span><span style="color:#323232;">  lib,
</span><span style="color:#323232;">  pkgs,
</span><span style="color:#323232;">  inputs,
</span><span style="color:#323232;">  ...
</span><span style="color:#323232;">}: {
</span><span style="color:#323232;">  fileSystems."/boot" = {
</span><span style="color:#323232;">    device = "/dev/disk/by-uuid/bort";
</span><span style="color:#323232;">    fsType = "vfat";
</span><span style="color:#323232;">  };
</span><span style="color:#323232;">
</span><span style="color:#323232;">  fileSystems."/" = {
</span><span style="color:#323232;">    device = "/dev/disk/by-uuid/lisa";
</span><span style="color:#323232;">    fsType = "ext4";
</span><span style="color:#323232;">  };
</span><span style="color:#323232;">
</span><span style="color:#323232;">  swapDevices = [
</span><span style="color:#323232;">    {device = "/dev/disk/by-uuid/homer";}
</span><span style="color:#323232;">  ];
</span><span style="color:#323232;">
</span><span style="color:#323232;">  fileSystems."/home/mrskinner/video" = {
</span><span style="color:#323232;">    device = "192.168.8.130:/volume/video";
</span><span style="color:#323232;">    options = ["x-systemd.automount" "noauto"];
</span><span style="color:#323232;">    fsType = "nfs";
</span><span style="color:#323232;">  };
</span><span style="color:#323232;">
</span><span style="color:#323232;">  fileSystems."/home/mrskinner/Programming" = {
</span><span style="color:#323232;">    device = "192.168.8.130:/volume/Programming";
</span><span style="color:#323232;">    options = ["x-systemd.automount" "noauto"];
</span><span style="color:#323232;">    fsType = "nfs";
</span><span style="color:#323232;">  };
</span><span style="color:#323232;">
</span><span style="color:#323232;">  fileSystems."/home/mrskinner/music" = {
</span><span style="color:#323232;">    device = "192.168.8.130:/volume/music";
</span><span style="color:#323232;">    options = ["x-systemd.automount" "noauto"];
</span><span style="color:#323232;">    fsType = "nfs";
</span><span style="color:#323232;">  };
</span><span style="color:#323232;">}
</span>

IMO, where they really shine is in the context of declarative dev environments where the dependencies can be locked in place FOREVER if needed. I even use Nix to build OCI/Docker containers with their definitions declared right inside of my dev flake for situations where I have to work with people who hate the Nix way.

ikidd ,
@ikidd@lemmy.world avatar

No end of interesting shit you can do in Nix, at one point I had zfs and ipfs entries in one of my configs. I got away from it all before flakes started to get popular.

I tried it as a docker host; the declarative formatting drove me around the bend. I get a fair bit of disaster proofing on my docker host with git and webhooks, besides using Proxmox/ZFS to host it all and back it up.

demesisx OP ,
@demesisx@infosec.pub avatar

nd of interesting shit you can do in Nix, at one point I had zfs and ipfs entries in one of my configs. I got away from it all before flakes started to get popular.

I tried it as a docker host; the declarative formatting drove me around the bend. I get a fair bit of disaster proofing on my docker host with git and webhooks, besides us

I suspect that the whole Docker thing will improve exponentially now that Nix is on the Docker’s radar. I found the OCI implementation to be superior to the actual Docker implementation in Nix…at least for now. I think the way that Docker isolates things to layers is the biggest barrier to them working together seamlessly at the moment…but I think they’ll start to converge technolgically over the coming 10 years to the point where they might work together as a standard someday.

Swedneck ,
@Swedneck@discuss.tchncs.de avatar

i mean, provided that the OS has a proper graphical configurator (like most normie OSes), isn’t being declarative just a straight upgrade? Configure everything once when installing and then you never have to repeat that process again.

ikidd ,
@ikidd@lemmy.world avatar

I think your “proper graphical configurator” is doing some heavy lifting there. Of course, there’s no such thing right now, so you’re dealing with the coding yourself in a pretty oddly designed syntactical language, and the terrible official documentation that is the current state of affairs to do it with.

Other than that, sure, a declaritive and atomic OS would be the way to go.

Swedneck ,
@Swedneck@discuss.tchncs.de avatar

the thing is that distros like fedora and ubuntu have had them for ages

ikidd ,
@ikidd@lemmy.world avatar

I thought you meant for a declarative OS like Nix. Which does not have a GUI configurator, nor does any comparable declarative OS. Isn’t that what we’ve been talking about this entire thread?

LarkinDePark , in Principal Skinner on Immutable Distros

Principal

jungle , in Principal Skinner on Immutable Distros

It seems to me that almost all native English speakers got principal and principle backwards. I’m actually surprised when I see them used correctly (which is not the case here).

demesisx OP ,
@demesisx@infosec.pub avatar

Doh! Ps. Thanks for the correction.

hedgehogging_the_bed ,

As a child in the US I was taught “The Principal is you ‘pal’.” which is not true but helpful when spelling it. Like “dessert” has more ‘s’ than “desert” because it’s something you want more of.

null , in Principal Skinner on Immutable Distros

NixOS is the most boring distro I’ve ever used.

I configured everything across multiple machines and now it just works.

Telorand ,

How, tho?

Seriously, how do you even get started? It’s like the tutorials are all, “This is a basic ‘Hello World’ module/flake. Now, you are a master.” I would love to figure it out, but I need a little more hand holding.

demesisx OP ,
@demesisx@infosec.pub avatar

I HIGHLY recommend forking a nix-config that uses flakes, home-manager, and whatever window manager you prefer. Since Nix is so versatile (and the documentation of flakes and home-manager are BAD), I found it absolutely crucial to reuse a well-architected config and slowly modify it in a VM to sketch out my config until it was stable enough to try on a real machine.

jlow ,

Yeah, I’ve had the same experience multiple times, people have been raving about it but I can’t find a tutorial that is as noob-friendly as I’d need it.

muntedcrocodile ,
@muntedcrocodile@lemm.ee avatar
nullpotential ,
@nullpotential@lemmy.dbzer0.com avatar

Sure I guess if you can manage to get everything to work in the first place which involves following sixteen different guides across twenty-three different websites all of which with conflicting information.

h0bbl3s , in Principal Skinner on Immutable Distros
@h0bbl3s@lemmy.world avatar

My main OS (debian) ssd started throwing Io errors this Friday night and I had to work Saturday, only image I had laying around was Fedora Kinoite. So that’s what I’m running until I order a new drive. I’m getting my wife a new laptop soon and was considered silverblue (she’s a Mac user but very quick with tech in general).

Anyway after using it a few days, I think when I get my new drive I might just go ahead and put Kinoite on it. I’m used to running my dev stuff in containers anyway and toolbox makes it super easy. Rpm-ostree is a breeze (though it takes a minute to build on this ancient USB hdd, I’m replacing my dieing SSD with an nvme so I don’t foresee the ostree builds as being an issue).

I think immutable is absolutely the way forward, especially for less computer literate folks. It will keep them more protected and if they do mess up something the rollback is a breeze.

chunkystyles ,

Why Kinoite over Aurora or Bluefin?

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