Recent submissions

Comment · 11 months ago
Yup, but I still have graphics start on a tty ;) I just don't have a login because I use an ephemeral OS (custom alpine base) with runit. It's like windows 95 all over again, you start the computer and that's it, use it. Highly recommended, no passwords just yubikeys
Comment · 1 year ago
Maybe not attacks but... "Congratulations you've won 100M+ climate refugees!"
Comment · 1 year ago
It looks cool. Two quick things: - the pricing page is an unstyled 404 right now - the docs subdomain requires javascript to display at all which is fine I guess but odd because the examples are viewable without javascript enabled

Otherwise really interesting, thanks for sharing!

Comment · 1 year ago
Think about how far they've come if you get them to have these "misconceived" ideas!

They would understand code and data are in the same place, that all flow control effectively boils down to a jump, and they have a _more_ accurate picture of the inside of a machine than anyone starting out with Python or JavaScript could hope for.

Having spent 25 years to get to assembler, I wish I'd started it sooner. It's truly a lovely way to look at the machine. I'll definitely be teaching my kids how to program in assembly first (probably x86-16 using DOS as a program launcher)

Comment · 1 year ago
__attribute__(packed) structs with an enum at the front indicating their type. The receivers use a switch to figure out which sub-message to interpret the strict as...

It isn't pretty and you better be able to control the rollout of both sides because backwards compatibility will not be a thing. But I'll take it over a giant pile of code generation in many circumstances

Comment · 1 year ago
That's amazing! Thanks for the tip!
Comment · 1 year ago
I guess I'm the odd duck with a switch that has never been online. It sounds like the switch2 isn't for me.

Sad but I don't want another device that wants to be more than it is, I basically want an updated version of my gameboy from the 90s and that's it. No downloads, no network, no social, just a game you can quietly play anywhere when you have a bit of time, no nonsense

Comment · 1 year ago
Yup,people are really good about it in my experience too. I just stand off to the side of the camera, and say "no biometrics please". They take a minute to check my documents and it's done. Try it.

I trust the TSA agents brain to not get hacked in the next 24 hours, a database run by them, not so much.

Comment · 1 year ago
>> Can you imagine an intelligent process in such a place, as static representation of data in ram?

> Yes. You can’t? This is not > really a convincing argument.

Fair, I believe it's called begging the question. But for some context is that people of many recent technological ages have talked about the brain like a piece of technology -- e.g. like a printing press, a radio, a TV.

I think we've found what we've wanted to find (a hardware-software dichotomy in the brain) and then occasionally get surprised when things aren't all that clearly separated. So with that in mind, I personally without any particularly good evidence to the contrary am not of the belief that your brain can be represented as a static state. Pribram's holonomic mind theory comes to mind as a possible way brain state could have trouble being represented in RAM.( https://en.m.wikipedia.org/wiki/Holonomic_brain_theory)

> ...you are looking at implementation details and feeling a disconnect between that and the possibility of inteligence. Do you feel the same ridiculousnes about a meatblob doing things and appearing inteligent?

If I was a biologist I might. My grandfather was a microbiologist and scoffed at my atheism. But with a computer at least the details are understandable and knowable being created by people. We haven't cracked the consciousness of a fruit fly despite having a map of it's brain.

>> a computer couldn't spontaneously pick to go down a path that wasn't defined for it.

> Can you?

Love it. I re-read Fight Club recently, it's a reasonable question. The worries of determinism versus free will still loom large in this sort of world view. We get a kind of "god in the gaps" type problem with free will being reduced down to the spaces where you don't have an explanation.

Comment · 1 year ago
I think it is this, it's been a couple of weeks: nasm -f bin -o foobar.com foobar.asm

Top of the file you'll need this offset for DOS (or 7c00 for an MBR) to adjust your pointers with based on where the program gets loaded:

[bits 16] [offset 100]

I bet you can use more than 64kb of memory, I set ES to A000 and write to video memory in mode 13. So I imagine if you have a data source -- know your (LBA) block offsets (MBR style) or use a DOS interrupt to load a file -- you can still stomp on some memory outside of the given 64k and set your DS register there.

I haven't done it yet but if I wanted to load a .wad file or something that's the line I'd follow ;)

Comment · 1 year ago
I don't know if it's been much used but it is known and works. I was doing this early on in my x86-16 assembler experiments but ended up using DOS as a program launcher for an easier emulator to use than qemu (dosbox-staging).

The big limits if you don't want to get into disk IO, is 512 bytes or less since you're basically running your program as a master boot record. To get more you'll need to load some LBAs from disk which yes there is an interrupt for and osdev has even better stuff.

Other than that, the difference between a .com file (usual limit 64kb single segment) and an MBR style bootable program is pretty minimal

Comment · 1 year ago
Today I learned (!) What?! A .com file can have a full 64k for every segment! Amazing! All of my little experiments are .com files and I dread having to go to .exe at any point so this is great news.

The only question I have though is... How? I see DOS initialize all of the segment registers to the same address. Is this something DOS specific like special bits in _start or something? Or something I do myself?

I guess I could imagine my one mega .asm file that includes all my resources and then in _start I just set my segment registers to "further down in the file" using labels. But yeah, I'm a newb at this but love the simplicity of graphics programming like this, tips very much appreciated :)

Comment · 1 year ago
Mmmm well my meatsuit can't easily make my own heart quiver the wrong way and kill me. Computers can treat data as code and code as data all pretty easily. It's core to several languages (like lisp). As such making illegal instructions or violating the straightjacket of a system such an "intelligence" would operate in is likely. If you could make an intelligent process, what would it think of an operating system kernel (the thing you have to ask for everything, io memory, etc)? Does the "intelligent" process fear for itself when it's going to get descheduled? What is the bitpattern for fear? Can you imagine an intelligent process in such a place, as static representation of data in ram? To get write something down you call out to a library and maybe the CPU switches out to a brk system call to map more virtual memory? It all sounds frankly ridiculous. I think AGI proponents fundamentally misunderstand how a computer works and are engaging in magical thinking and taking the market for a ride.

I think it's less about the randomness and more about that all the functionality of a computer is defined up front, in software, in training, in hardware. Sure you can add randomness and pick between two paths randomly but a computer couldn't spontaneously pick to go down a path that wasn't defined for it.

Comment · 1 year ago
It's not about the random numbers it's about the tree of possibilities having to be defined up front (in software or hardware). That all inputs should be defined and mapped to some output and that this process is predictable and reproducible.

This makes computers incredibly good at what people are not good at -- predictably doing math correctly, following a procedure, etc.

But because all of the possibilities of the computer had to be written up as circuitry or software beforehand, it's variability of outputs is constrained to what we put into it in the first place (whether that's a seed for randomness or model weights).

You can get random numbers and feed it into the computer but we call that "fuzzing" which is a search for crashes indicating unhandled input cases and possible bugs or security issues.

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton