HN user

halfer53

533 karma
Posts2
Comments35
View on HN

hypothetically if the board faced enormous pressure from the public/investor and decided to reverse their decision, is this theoretically possible?

of course its highly unlikely that board would do that, but I'm just asking if this is theoretically possible?

It's certainly plausible

It's currently using wcc to compile the kernel https://github.com/wandwramp/wcc. We can swap it with gcc for sure, but require bit of work, especially the output format and backend.

Winix assumes the output file is in srec format https://en.wikipedia.org/wiki/SREC_(file_format), so we would need to tweak gcc to support this header format and add backend support for WRAMP architecture.

ELF is quite complicated, if I have to do this, I probably just copy some codes from linux.

Linus is a genius, I don't think I could ever reach his level

Yeah it was a side gig for me, I did spend major of my days for the duration of 2 months last year to work on this.

In fact, I paused on the development of this project for 1-2 year.

But most of the time, it's just 1-2 hour per week side projects on average.

Wow, I didn't know WAND had a github page. I'll get my fork merged with the main repo in that case.

The custom fork basically adds a extra button "Quick Load", since the srec file can be quite large to transfer through serial port to load, so I just implemented extra button to read srec file directly into memory.

Depends on the audience

I did struggle to explain the significance of this project when I was applying for graduate roles, especially to HR people who only look for keywards in CV.

But there are people who appreciate my work.

I got my internship at AWS because my interviewer who had technical background was very impressed with my work, hence the reason I got hired.

Sometimes you just have to find the right audience.

OP here, Yeha I did study in Waikato.

NZ is a very small market compared to the rest of the world, so there is a lot less opportunities here in NZ in terms of number of startups and number of tech firms. The salary is also lower compared to other developed countries. Any software engineer in NZ can easily get a 30-50% salary raise by going to Australia. A lot of talents ran away from NZ because of this.

There are still some exiting companies, for instance, Serko whom I am currently working for is expanding into the international market to seize the post-pandemic opportunities. But overall it's bit stagnant compared to other OECD countries.

That's a very smart way of debugging concurrency. I did a lot of logging as well when I was doing debugging concurrency. Overtime once you got familar with the projects, I started to develope instincts on how everything fits together. That's when reading code line by line, making educated gusses start to become viable way of debugging concurrency.

But for complex projects, reading code or relying on instincts may not work alone as brain power run out of capacity. That's why logging helps a lot

Thanks. The OS is roughly 90% compliant with POSIX.1, but there's still a lot of work to make it fully compliant. That would probably be my next goal. This is a hobby project, I will probably spend 1-4 horus every other week to work on this. I am working on optimising memory usage of the file system which is almost completed in a separate branch.

I agree, X86 is too complex with its legacy hardware and obscure instructions and environments. It might not be a good starting place to develope hobby projects.

The OS is running in a customised RISV hardware in MIPS for educational purposes, you can read more here https://dl.acm.org/doi/pdf/10.1145/1275462.1275470 The simulator https://github.com/halfer53/rexsimulator

The BIOS has already been written for the serial ports, etc. So it is quite easy for me to interact with the devices in the OS.

The hardest part is debugging concurrency and weird scheduling bug. It's hard to debug because I can't reproduce it, which is quite frustrating. Over time, I found that making educated guesses, or running the code in my brain, it a lot more efficient than debugging every line of the code.

I agree, a simple string from the error doesn't help debugging at all. This happens a lot in production environment, in which developers are too lazy to write any useful debugging information, all we got left is a simple "get_foo() returns error" in the log, it doesn't help with the debugging at all !!!