817
top 50 comments
sorted by: hot top controversial new old
[-] mexicancartel@lemmy.dbzer0.com 162 points 10 months ago

Open source ≠ Source availiable

Example of non open source programs with source code https://en.m.wikipedia.org/wiki/List_of_proprietary_source-available_software

[-] lauha@lemmy.one 84 points 10 months ago

Open source ≠ free software

[-] KairuByte@lemmy.dbzer0.com 33 points 10 months ago

Open source inherently means you can compile the code locally, for free. You can’t necessarily redistribute it, depending on the license, but I’m not aware of a “you can compile this source for testing and code changes only but if you use it as your actual copy you are infringing” license.

I am very much open to correction here.

[-] ono@lemmy.ca 36 points 10 months ago* (last edited 10 months ago)

Open source inherently means you can compile the code locally,

Open Source means more than that. It is defined here:

https://opensource.org/osd/

If you use the phrase "open source" for things that don't meet those criteria, then without some clarifying context, you are misleading people.

for free.

Free Software is not the same as "software for free". It, too, has a specific meaning, defined here:

https://www.gnu.org/philosophy/free-sw.html

When the person to whom you replied wrote "free software", they were not using it in some casual sense to mean free-of-charge.

[-] too_high_for_this@sh.itjust.works 12 points 10 months ago

Free as in free speech, not as in free beer

[-] whyNotSquirrel@sh.itjust.works 11 points 10 months ago

Where are all those free beer I always hear about?!

[-] MostlyBlindGamer@rblind.com 13 points 10 months ago

Have you tried installing homebrew?

load more comments (2 replies)
load more comments (1 replies)
[-] grue@lemmy.ml 10 points 10 months ago* (last edited 10 months ago)

According to the Open Source Initiative (the folks who control whether things can be officially certified as "open source"), it basically is the same thing as Free Software. In fact, their definition was copied and pasted from the Debian Free Software guidelines.

load more comments (3 replies)
[-] cacheson@kbin.social 107 points 10 months ago

In this thread: Programmers disassembling the joke to try and figure out why it's funny.

[-] ono@lemmy.ca 75 points 10 months ago

Cute. It would be funnier if it was correct.

[-] Thorry84@feddit.nl 67 points 10 months ago

For people interested in the difference between decompiled machine code and source code I would recommend looking at the Mario 64 Decomp project. They are attempting to turn a Mario 64 rom into source code and then back into that same rom. It's really hard and they've been working on it for a long time. It's come a long way but still isn't done.

https://github.com/n64decomp/sm64

load more comments (2 replies)
[-] SpaceNoodle@lemmy.world 46 points 10 months ago

No, it is wrong. Machine code is not source code.

[-] olorin99@artemis.camp 16 points 10 months ago

And even if you had the source code it may not necessarily qualify as open source.

load more comments (28 replies)
[-] just_ducky_in_NH@lemmy.world 29 points 10 months ago

Okay, boomer here, be gentle.

So back in the ‘70s I dabbled in programming (now called “coding”, I hear). I only did higher-level languages like Fortran, Cobol, IBM Basic, but a friend had a job (at age 13!) programming in assembler. Is assembler now called assembly, or are they different?

[-] fidodo@lemm.ee 33 points 10 months ago

It's still called programming, coding is the same thing. Assembler more commonly refers to the utility program that converts the assembly code to machine code while assembly refers to the code itself, but the term assembler code is also valid. It's uncommon to simply call the code assembler because it would be easily confused with the utility program.

[-] Almamu@lemmy.world 22 points 10 months ago

Yep, some call it assembly, others call it assembler

[-] lugal@sopuli.xyz 17 points 10 months ago

(at age 13!)

c/suddenlyfactorial

[-] bamboo@lemmy.blahaj.zone 7 points 10 months ago

Easier to say than "at age 6227020800"

[-] Thwompthwomp@lemmy.world 9 points 10 months ago

I thought that the assembler is a specific program that translates mnemonics into the corresponding machine code. Perhaps in early computing this was done by hand so a person was the assembler (and worked in assembler), but now that is handled by software (and supports various macros). So programming in assembly would generate a stream of text that must be assembled by an assembler. (Although I have heard people refer to programming in assembler as well, just not often.)

[-] lhamil64@programming.dev 9 points 10 months ago

I hear people say "program in assembler" but IMO that's wrong. I'd say you write the code in "assembly language" (or better yet, the actual architecture you're using like "x86 assembly") but you "assemble" it with an "assembler". Kind of like how you could write a program in the "C language" and "compile" it with a "compiler"

load more comments (2 replies)
load more comments (1 replies)
[-] NounsAndWords@lemmy.world 25 points 10 months ago

It just occurred to me that AI in the nearish future will probably/almost certainly be able to do this.

[-] Psythik@lemm.ee 36 points 10 months ago

I can't wait for AI to make a PC port of every console game ever so that we can finally stop using emulators.

[-] amki@feddit.de 8 points 10 months ago

This won't happen in our lifetime. Not only because this is more complex than rambling vaguely correlated human speech while hallucinating half the time.

load more comments (15 replies)
[-] perviouslyiner@lemm.ee 10 points 10 months ago* (last edited 10 months ago)

It was a staple of Asimov's books that while trying to predict decisions of the robot brain, nobody in that world ever understood how they fundamentally worked.

He said that while the first few generations were programmed by humans, everything since that was programmed by the previous generation of programs.

This leads us to Asimov's world in which nobody is even remotely capable of creating programs that violate the assumptions built into the first iteration of these systems - are we at that point now?

[-] amki@feddit.de 9 points 10 months ago

No. Programs cannot reprogram themselves in a useful way and are very very far from it.

load more comments (5 replies)
load more comments (1 replies)
load more comments (1 replies)
[-] southernwolf@pawb.social 23 points 10 months ago

It's honestly remarkable how few people in the comments here seem to get the joke.

Never stop dissecting things, y'all.

[-] stevedidWHAT@lemmy.world 6 points 10 months ago

As above so below, the microscopic and the macroscopic

[-] oldfart@lemm.ee 18 points 10 months ago

IDA Pro (a disassembler) is closed source but came with a license that allowed disassembly and binary modification. Unfortunately, that's no longer the case.

load more comments (2 replies)
[-] kamen@lemmy.world 18 points 10 months ago

Joke aside, that's kind of like claiming that any web frontend is open source because you can access the built, minified and often obfuscated source of it.

load more comments (1 replies)
[-] menzel@feddit.de 14 points 10 months ago

What about server site executed code?

[-] stevedidWHAT@lemmy.world 7 points 10 months ago

You moved the goal post! No fair!

load more comments (1 replies)
[-] over_clox@lemmy.world 13 points 10 months ago

If you wanna skip a few inconvenient instructions in X86 assembly, throw a few No Operation instructions in the right places.

NOP = 0x90

load more comments (6 replies)
[-] nfsu2@feddit.cl 13 points 10 months ago

I feel old watching this meme template

load more comments (1 replies)
[-] doom_and_gloom@lemmy.ml 9 points 10 months ago

OS - obfuscated source

[-] Kolanaki@yiffit.net 7 points 10 months ago* (last edited 10 months ago)

I've wondered: Can you go deeper than assembly and code in straight binary, or does it even really matter because you'd be writing the assembly in binary anyway or what? In probably a less stupid way of putting it: Can you go deeper than assembly in terms of talking to the hardware and possibly just flip the transistors manually?

Even simpler: How do you one up someone who codes in assembly? Can you?

[-] ylph@lemmy.world 16 points 10 months ago* (last edited 10 months ago)

The first computer I used was a PDP-8 clone, which was a very primitive machine by today's standards - it only had 4k words of RAM (hand-made magnetic core memory !) - you could actually do simple programming tasks (such as short sequences of code to load software from paper tape) by entering machine code directly into memory by flipping mechanical switches on the front panel of the machine for individual bits (for data and memory addresses)

You could also write assembly code on paper, and then convert it into machine code by hand, and manually punch the resulting code sequence onto paper tape to then load into the machine (we had a manual paper punching device for this purpose)

Even with only 4k words of RAM, there were actually multiple assemblers and even compilers and interpreters available for the PDP-8 (FOCAL, FORTRAN, PASCAL, BASIC) - we only had a teletype interface (that printed output on paper), no monitor/terminal, so editing code on the machine itself was challenging, although there was a line editor which you could use, generally to enter programs you wrote on paper beforehand.

Writing assembly code is not actually the same as writing straight machine code - assemblers actually do provide a very useful layer of abstraction, such as function calls, symbolic addressing, variables, etc. - instead of having to always specify memory locations, you could use names to refer to jump points/loops, variables, functions, etc. - the assembler would then convert those into specific addresses as needed, so a small change of code or data structures wouldn't require huge manual process of recalculating all the memory locations as a result, it's all done automatically by the assembler.

So yeah, writing assembly code is still a lot easier than writing direct machine code - even when assembling by hand, you would generally start with assembly code, and just do the extra work that an assembler would do, but by hand.

[-] CaptainBuckleroy@lemm.ee 14 points 10 months ago

Yes, you can code in machine code. I did it as part of my CS Degree. In our textbook was the manual for the particular ARM processor we coded for, that had every processor-specific command. We did that for a few of the early projects in the course, then moved onto Assembly, then C.

load more comments (3 replies)
[-] doggle@lemmy.dbzer0.com 11 points 10 months ago

Assembly effectively is coding in binary. Been a long time since I've looked at it, but you'd basically just be recreating the basic assembly commands anyway.

I guess you could try flipping individual transistors with a magnet or an electron gun or something if you really want to make things difficult.

If you actually want to one-up assembly coders, then you can try designing your own processor on breadboard and writing your own machine code. Not a lot of easy ways to get into that, but there's a couple of turbo dorks on YouTube. Or you could just try reading the RISC-V specification.

But even then, you're following in someone else's tracks. I've never seen someone try silicon micro-lithography in the home lab, so there's an idea. Or you could always try to beat the big corps to the punch on quantum computing.

[-] gerryflap@feddit.nl 8 points 10 months ago

You can code in binary, but the only thing you'd be doing is frustrating yourself. We did it in the first week of computer science at the university. Assembly is basically just a human readable form of those instructions. Instead of some opcode in binary you can at least write "add", which makes it easier to see what's going on. The binary machine code is not some totally other language than what is written in the assembly code, so writing in binary doesn't really provide any more control or benefit as far as I'm aware.

load more comments (8 replies)
load more comments
view more: next ›
this post was submitted on 26 Aug 2023
817 points (91.5% liked)

Programmer Humor

18388 readers
489 users here now

Welcome to Programmer Humor!

This is a place where you can post jokes, memes, humor, etc. related to programming!

For sharing awful code theres also Programming Horror.

Rules

founded 1 year ago
MODERATORS