HNHacker News
TopNewBestAskShowJobs

oso2k

1,283 karma · joined July 5, 2012

lpsantil on github Solutions Architect, OpenShift/Kubernetes/Container Storage/Container-native Virtualization, Red Hat
submissionscomments
oso2k··on Ask HN: Is anyone using SimH or QEMU with an old architecture/OS in production?
This place wouldn’t happen to be in Pasadena would it?
oso2k··on LibJS JavaScript Engine
True. Looks to be a little tightly coupled to the OS for the moment.
oso2k··on LibJS JavaScript Engine
This would be a better link: https://github.com/SerenityOS/serenity/tree/master/Userland/...

OP links to a not quite informative web site.

oso2k··on From lightweight to featherweight: MicroK8s memory optimisation (2021)
I hear ya...but when 6 years old servers were configured with 1TB of RAM...

shrugs

oso2k··on Ask HN: Codebases with great, easy to read code?
Almost anything from suckless.org.

Here's a windows manager (dwm) and it's docs and build system in 13 files and just around 3000 lines of code.

https://git.suckless.org/dwm/files.html

And sbase, a sort of "busybox-like" set of common *NIX base utils written to be small and portable. Some of the commands are just a few dozen lines.

https://git.suckless.org/sbase/files.html

oso2k··on TUIs
Maybe script(1) would helpful to you? [0]

[0] https://linux.die.net/man/1/script

oso2k··on TUIs
I do that often myself. If you've written the command before, there's also vi mode for bash history, OR, even bash-completion package for some OSes that can give arguments for simpler commands. However, I see a couple minor limitations.

1. You're limited to binaries and executable scripts in your $PATH

2. Many commands do not have bash-completion support.

vi mode for bash, bash-completion are both innovations trying to tackle this optimization of workflow. I see tools like dmenu and slmenu as better ways to give richer UI and create/reuse workflows. GP's request for `allows fuzzy search of program names, tags and a short description` is highly doable in dmenu/slmenu if not already done [0]. Not so much with bash, vi mode for bash, bash-completion.

[0] https://tools.suckless.org/dmenu/scripts/

oso2k··on TUIs
dmenu is great for a graphical environment. At the prompt, I've found some success with slmenu [0]. It's a dmenu clone for the command line. It works well enough that a dmenu script for a todo app works with very little changes [1]. As a launcher there's many dmenu example scripts to start from. Youtube has videos to get you started as well [2].

[0] https://github.com/lpsantil/slmenu

[1] https://github.com/lpsantil/slmenu-todo

[2] https://youtu.be/SlJto75auCA

oso2k··on Microsoft GW-Basic Interpreter Source Code
For those interested in building this repo, TKChia has a repo with changes for building the repo with MASM 5.1A or JWASM.

https://github.com/tkchia/GW-BASIC

oso2k··on The Life of MS-DOS
There’s a couple attempts at running 64-bit in DOS. It usually has no benefits for old code and very little new 64-bit is being written and there are no libraries for common compilers.

https://github.com/Baron-von-Riedesel/Dos64-stub

https://www.bttr-software.de/forum/board_entry.php?id=15853

oso2k··on The Life of MS-DOS
gcc-ia16 and OpenWatcom are both modern compilers that generate as good a set of code as any compiler ever did for Pentium and older processors. But using a higher level language like C means there’s more than one compiler that can compile your DOS. That’s a reason to be hopeful if you’re a DOS developer.
oso2k··on How FreeDOS Grew Up and Became a Modern DOS (2021)
I have a lot of respect for Walter Bright. And I agree, he's typically not boastful without good evidence. Walter is also very accomplished. However, DigitalMars compilers on DOS haven't been popular in a very long time. And if there are some good tricks or some sort of advantage to using them for building and maintaining DOS apps and FreeDOS, then there would be a few people interested in exploring & understanding that.
oso2k··on How FreeDOS Grew Up and Became a Modern DOS (2021)
TK Chia and others have been working on adding DOS C/C++ compiler-isms to GCC as well as improving the the codegen to make it more hospitable for DOS apps. So far, the FreeDOS kernel compilable by gcc-ia16.

https://github.com/tkchia/gcc-ia16

oso2k··on How FreeDOS Grew Up and Became a Modern DOS (2021)
Deming said...“In God we trust; all others must bring data”.

Sagan said..."extraordinary claims require extraordinary evidence".

oso2k··on Myths about FreeBSD
Yeah....sadly WiFi driver development fell behind in *BSD about 8 or 10 years ago. It made firewalls like pfSense and SmallWall less useful if you wanted an all-in-one network solution. You had to start to moving WiFi to APs from various vendors. It's ok when you have a small foot print with few walls (apartment or townhouse or condo). But a larger home, backyard/outdoor space, or garage/network closet spaces might need extra APs or relocation of AP(s). I do otherwise love pfSense and SmallWall despite what my $DAYJOB is. 10GbE NIC is really great too in *BSDs.
oso2k··on NASM Assembly Language Tutorials
NASM follows Intel style though it deviated from MASM and TASM for certain things. I think you meant GAS & AT&T style.

https://en.wikipedia.org/wiki/X86_assembly_language#Syntax

oso2k··on MicroWeb DOS web browser – for 8088 systems
Also, you want a fast FPU to do openssl work [0]. A standard 8088/8086 without an FPU is going to need an FPU emulator which is a slow process. You essentially have to throw an illegal instruction exception each time you want to execute FPU code. Then catch the exception and then emulate the 8087 in software. All this takes dozen to thousands of clock cycles on a 4.77MHz CPU depending on the FP instruction. Spending thousands of cycles per FP instruction while interrupts were disabled was costly on machines before 486s. They simply didn’t have the speed to make FPU emulation standard. Many commercial compilers for C/C++, Pascal, Fortran, and BASIC had FPU emulators as does MicroWeb’s choice of OpenWatcom.

According to this benchmark, a low end 486/25MHz was over 1000x faster than a 286/6MHz with software FPU. The Pentium 10x faster still. [1]

[0] https://www.linksysinfo.org/index.php?threads/using-fpu-emul...

[1] https://www.fourmilab.ch/fbench/fbench.html

oso2k··on PortableGL: An implementation of OpenGL 3.x-ish in clean C
Fabrice Bellard released an OpenGL 1.x/2.x software renderer 20 years ago [0]. There seems to others who have taken to updating it more recently [1][2]. It is direct mode or immediate mode but this is how we used to do graphics more than 15 years ago. Might help others to read this if you're interested.

[0] https://bellard.org/TinyGL/

[1] https://github.com/C-Chads/tinygl

[2] https://github.com/ska80/tinygl

oso2k··on Ask HN: Paid ROS Tutoring?
What is ROS in this context?
oso2k··on The Dreamcast Legacy
I think OP’s sentiment was right. I vividly recall seeing at Christmas time at a Toys R Us dozens and dozens of Saturn boxes next to handful of Dreamcast boxes, next to 2 N64 boxes. And I remember talking to the cashier and them complaining that they couldn’t sell Saturn and Dreamcast. They expected Sega to go out of business soon. They also remarked that the Dreamcast was being artificially held back to make seem as big a seller as the N64.
oso2k··on How to write a simple JIT compiler
Another great set of JIT introductions are

A Basic Just-In-Time Compiler https://nullprogram.com/blog/2015/03/19/

A JIT Compiler Skirmish with SELinux https://nullprogram.com/blog/2018/11/15/

oso2k··on Adventures of putting 16 GB RAM in a motherboard that doesn’t support it (2019)
I use my 2011 Mac Mini with 16GB. Been running it that way nearly since the day I bought it. It’s on its 3rd HD, a 120GB SSD. Wikipedia article mentioned it would work with 16GB so I upgraded it as soon as I could.
oso2k··on Backblaze restore for Personal Backup is awful
You know what, I had Backblaze tell me that I had a drive missing on Friday that had been disconnected for 14 days. My external USB drive failed to startup up correctly after a power outage. However, I had 3 or 4 notices from Backblaze in that time of successfully completed back ups. I think the default is to warn after not successfully backing up for 5 days. I set that to 2 instead. Some of the checks seem disconnected from each other.

I’ve also had issues with downloading my 2TB of data the Backblaze has. Takes about 3 or 4 days, if you’re successful. With retries and failures, wall time was about a week. And I have a 1G/1G internet connection. And doing the work to break it into 500GB chunks sucks.

I’d like to back up more of my files but I worry I would not be able to get it back.

oso2k··on 80386DX ISA single board microcomputer
Yes, 386 and 486. MIPS CPUs are more common.
oso2k··on 80386DX ISA single board microcomputer
386, 486 embedded chips were widely produced as SOCs but they’re embedded in places you probably wouldn’t look for them. Which is why they’re SOCs. :) 586 and semi 686 compatibles are still available in certain quantities.

Today, a Pi0W could emulate anything up to a low end 486, Pi0-2W/CM3 could do about 486DX-100/low end Pentium.

https://en.m.wikipedia.org/wiki/List_of_former_IA-32_compati...

https://m.youtube.com/watch?v=8fSdLKx5HlU

https://m.youtube.com/watch?v=6cXdWMOl8QE&t=241s

oso2k··on 80386DX ISA single board microcomputer
ISA boards (main, backplane and/or add-on) are relatively simple to design and interface. Not having to worry about north bridge and south bridge chips, PnP, PCI, AGP, VLB, EISA, MCA, etc. makes designs simpler. Many of the period correct sound card chips, VGA chips, Ethernet chips, serial and parallel chips are still available to design around.

https://github.com/skiselev/isa8_backplane

oso2k··on 80386DX ISA single board microcomputer
But you could do a bit more. Here’s a DOS golf game that did.

https://m.youtube.com/watch?v=hMPb1UlSRpY

oso2k··on Ask HN: Who's not sucky to work for?
Do your research. There’s tons of “Best places to work” lists out there. Glassdoor and LinkedIn. Probe your network of friends, acquaintances, friends of friends.

I work for Red Hat in Presales. Formerly of Red Hat Consulting for 4.5 years. I’ve been here over 5 years now. Love the place. I’ve only ever worked on our Kubernetes distribution, OpenShift and related products. Great mission. Great work to do. Great people to work with. Good Managers. We’re always hiring.

I also worked at NASA/JPL at the start of my career. Worked on the Mars Rovers, satellite network simulations and then enterprise software. Also great work to do. Great mission. Great people to work with. Good management. Pay was always behind industry. But hard to complain when closing down a project can sometimes mean creating an archive for submission to the National Archives.

oso2k··on The history of Unix's confusing set of low-level ways to allocate memory (2018)
Not quite true. DOS programs were not automatically given all memory. DOS programs needed to allocate various memories (Conventional, EMS, XMS memory) via API specific to each type. DOS programs running under Windows 95 and later were presented with a DPMI compatible API if they so choose to use. DPMI DOS Extenders were intended to provide DOS compatibility for 16-bit and 32-bit Protected Mode applications. Memory allocation was just one service type they provided. Some also provided virtual memory or Win32 API emulation.

https://fd.lod.bz/rbil/interrup/dos_kernel/2148.html#sect-29...

https://fd.lod.bz/rbil/interrup/memory/2f4310.html#sect-4815

https://fd.lod.bz/rbil/interrup/memory/673f_cx5145.html#sect...

https://en.wikipedia.org/wiki/DOS_extender#DOS_extenders

https://en.m.wikipedia.org/wiki/CWSDPMI

https://www.japheth.de/HX.html

oso2k··on Raspberry Pi 4 achieves Vulkan 1.1 conformance, gets GPU performance boost
The reason you feel RPi4B aren’t performing is because it’s running software written using 2010s and 2020s software standards, languages and runtimes.

Before 2000, many many commercial games and software were written using “classical” C/C++ and had any performance critical areas written in assembly language. People would actually profile their apps and optimize their code and loops. Most any language that had large runtimes or included a garbage collector was not considered an option. Only the most complex, data oriented or GUI oriented parts of the code would be written in high level language. A good example of this mixed language code base is the Allegro 4.x Game Programming Library for DOS, Linux, and Windows.

Going back further into the 80s and 90s, many many commercial games and software were written in all assembly language. Look at the old MS DOS code bases on GitHub for a reference.

All that to say that modern software does a ton things in periphery that old software considered superfluous. We know some of it makes easier to write software, or that the software is more secure, or that it can take advantage of the features of the hardware old machines didn’t have. However, that is still extra code that needs run, often in (event) loops which multiples the amount of time dedicated to that code.

Look at codegolf or other minimal code challenges to see what could be accomplished with a different programming process.

← PreviousPage 6 of 19Next →