Hear me out, a distributed dating app, so that everything happens without needing a server.
Assume 1gb of free storage per device, distribute gzipped text-only profiles such that any given profile is constantly “on the network” (i.e. distributed via someone elses device if youre no longer connected, idk like distribute to 20 random devices, and then redistribute if the number of active devices drops below 5?), but have images hosted from your device so theyre only available if your device is currently connected. Have everyone set a “home location point” to avoid distributing via a device thats across an ocean or something.
Basically, by using the app you’re contributing processing power to run the network. Idk ive never done or looked at anything like that before, but it sounded cool in my head. Plus text only profiles take so little space, you could store a lot of them in 1gb, especially if theyre like gzipped tarballs or something similar.
Messages could be peer to peer. If someone messages you or likes you or matches with you, it forwards that info to your device or stores it on one or more devices in order to forward it once youre back on the network.
Goal is to remove any profit motive from the app, so users instead of paying money pay with device processing power.
Ok random thought over now. Ive never done distributed systems before so its probably a pipe dream or something impractical.
Its not windows or NASM but this site has some 64 bit linux examples using gnu assembler (the gnu userland default assembler). You could probably find some examples for windows with nasm if you look around.
example code from the site
# ---------------------------------------------------------------------------------------- # Writes "Hello, World" to the console using only system calls. Runs on 64-bit Linux only. # To assemble and run: # # gcc -c hello.s && ld hello.o && ./a.out # # or # # gcc -nostdlib hello.s && ./a.out # ---------------------------------------------------------------------------------------- .global _start .text _start: # write(1, message, 13) mov $1, %rax # system call 1 is write mov $1, %rdi # file handle 1 is stdout mov $message, %rsi # address of string to output mov $13, %rdx # number of bytes syscall # invoke operating system to do the write # exit(0) mov $60, %rax # system call 60 is exit xor %rdi, %rdi # we want return code 0 syscall # invoke operating system to exit message: .ascii "Hello, world\n"