Hacker Newsnew | past | comments | ask | show | jobs | submit | peter_d_sherman's commentslogin


Related (book):

"High-Speed Serial I/O Made Simple: A Designers’ Guide, with FPGA Applications" (2005):

https://www.xilinx.com/publications/archives/books/serialio....


Note that this book is about using the hard SerDes IPs included in Xilinx FPGAs, while the top source link is about designing your own SerDes.


Looks to be plenty of general high-level serdes ideas and theory in that xilinx pdf. But it is 20 years old (in addition to FPGA being some years behind state of the art).


Thank you. Any other recommendations?


The following is well-written / well-stated:

>"Goals are for Games. Constraints are for Worlds.

A goal is a win condition. Constraints are the rules of the game. But not all games are worth playing. And some of the most powerful forms of progress emerge from people who stopped trying to win and started building new game boards entirely.

[...]

Richard Feynman didn’t get his Nobel Prize by pursuing "win a Nobel Prize" as a goal. He played with problems, often placing arbitrary limits on himself: what if we assume this system has no dissipation? What if we ignore spin?

He looked for elegance within boundaries, not outcomes.

His freedom came from self-imposed structure."


>"This debugger is divided into two parts: the debugger (written entirely in assembly and running on the hardware being debugged) and the bridge, written in C and running on [a second PC running] Linux.

The debugger is the injectable code, written in 16-bit real-mode, and can be placed within the BIOS ROM or any other real-mode code. When executed, it sets up the appropriate interrupt handlers, puts the processor in single-step mode, and waits for commands on the serial port.

[...]

BREAD can also debug arbitrary code in real-mode, such as bootable code or DOS programs too."

There's a brilliant idea here, beyond just BIOS debugging -- that idea is that you don't run (don't need to run!) an entire debugger with all of its code, lookup tables, complexity and GUI dependencies on one PC (where running such code has a greater chance to interfere with the program being debugged -- this is especially true in non-multitasking, non-multiuser, pre-OS, pre-Protected Mode boot environments), you run them on a second PC, and you only run the absolute minimum amount of code on the debugged PC, only enough to send the smallest amount of binary information to the debugger on the second PC, where it can perform all of the necessary processing (lookup assembly instructions, convert them from binary to human readable, display them on its GUI, allow mouse movements, etc., etc.)

Which has applications beyond mere BIOS debugging, which the author points out.

Anyway, to the author -- well done!


This is a very interesting OS design:

>"1.1 High level overview

Barrelfish is “multikernel” operating system [3]: it consists of a small kernel running on each core (one kernel per core), and while rest of the OS is structured as a distributed system of single-core processes atop these kernels. Kernels share no memory, even on a machine with cache-coherent shared RAM, and the rest of the OS does not use shared memory except for transferring messages and data between cores, and booting other cores."


You might also find these interesting:

- Akaros, an OS for manycore systems: http://akaros.org/news.html

- VMThreads, an interesting paper on scheduling challenges, related to Akaros: https://iwp9.org/11iwp9proceedings.pdf


2021 Usenix talk by Barrelfish researcher, "It's Time for Operating Systems to Rediscover Hardware", 90 comments, https://news.ycombinator.com/item?id=28374523


Was I the only one confused by this? It wasn't just me right? I love when I see things like this. "The cool thing about our kernel is that you cannot share memory! It's super secure. Except for, you know, ..." then list nearly everything. What were they trying to provide/gain with this proposal?


One of the best articles on tiny Forth interpreters that I've seen on HN for a long time, with many excellent links for further study!



Designing a custom datatype (which turns out to be based on balanced ternary trees!) to implement optimized FFT evaluation -- absolutely brilliant, IMHO!

Related:

https://news.ycombinator.com/item?id=38969053


Install the Nix Package Manager -- on Alpine Linux?

Apparently possible!

If so, then someone would get the ("Small. Simple. Secure.")-ness (lightweightedness) of Alpine Linux (https://www.alpinelinux.org/) -- coupled with the 120,000+ packages of the NixOS Package Repository (https://search.nixos.org/packages) ...

What's not to love about that pairing?

(Yeah, there might be a few tech issues -- but even if there are, then it's not as if they couldn't be worked out in the future...)

Now if only we could add the OpenBSD (https://www.openbsd.org/) kernel to that mix...

Related:

https://bedrocklinux.org/

https://suckless.org/

https://github.com/nix-community/NixNG

https://github.com/vvaltchev/tilck

https://pkgs.org/


I think it's a great idea!

Even if other people/groups are doing something like this, either now and/or in the future, I don't think there ever would be or could be enough software tools which act as the intermediary between different AI's and perform different value-added functions relative to the AI's so interacted with.

The original author has named a few of these ideas so far, i.e., "The system compares their outputs and synthesizes them", "The feedback loop learns not only from right/wrong outputs, but from what kind of disagreements lead to deeper truth", etc., etc. -- but there are (or should!) exist many many more!

Point is, if there is value to be created in creating software abstractions on top of other software abstractions (for example, container orchestration software, which acts as a software abstraction on top of other software abstractions, i.e., containers A.K.A. "virtual(ized) machines"/"virtual software environments") -- then there's value to be created in creating software abstractions on top of multiple different AI's!

To the original author: I think you've got a good set of ideas going on, and I wish you much success with your ideas and software, both now and in the future!

(Now, I must temper all that I say (in the new age/era of AI) with a generalized reminder to all of the creators/implementors of AI, of Joel Spolsky's excellent essay on "Leaky Abstractions" -- https://www.joelonsoftware.com/2002/11/11/the-law-of-leaky-a... -- but I'd also like to temper that idea with the idea that all software is based on abstraction, and software abstractions can add a lot value (Microsoft Word anyone?) while leaking (failing to do what the user wants) very little, or potentially not at all... so there's a fine line between too much and too little abstraction, relative to what users may desire from their software and AI's...)

Anyway, generally speaking, I think it would be great to have some software which performs different value added tasks -- with multiple AI's!


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: