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

One thing that I've seen implemented to prevent that is to have the pay bands for level N and N+1 overlap. So in the time that you're doing "next level" work, you're expecting to be at the top of your current pay band, and then the promotion doesn't automatically give you a big pay raise, but it unlocks a pay band that you can go up in.

This works if performing at the top of your current level equates to performing at the bottom of the next level. That said, there's a problem where sometimes a "promotion" is really a new role, meaning to perform at the next level, you have to kind of not perform well at the current level.


Shameless plug, but I wrote some blog posts because I had a lot of the same questions. In my case, I wanted to learn the WebGL APIs, so I wrote two posts:

* https://avikdas.com/2020/07/08/barebones-webgl-in-75-lines-o...

* https://avikdas.com/2020/07/21/barebones-3d-rendering-with-w...

I still go back to them myself to refresh my memory. It's funny that I called this a lot of boilerplate, but Vulkan is known to have even more.

This won't answer all your questions, but maybe it'll answer some of them.


Thanks, this helps. Do VBOs map 1:1 to meshes? Is there some point where I'm looping though meshes and sending every mesh to a VBO?


I was thinking the same thing. Usually, you'd want to write the new code to a page that you mark as read and write, then switch that page to read and execute. This becomes tricky if the code that's doing the modifying is in the same page as the code being modified.


To expand on this: the "unit" here represents the number of possible values that can be returned.

The confusion is probably because "empty" can mean two things:

- What's inside the returned value. That may be why the parent suggested empty for the unit type. But that's now what "unit" means in the common parlance.

- How many possible values can be returned. Never returning means the function has zero possible return values.


The Birth and Death of Javascript. One of my favorites! https://www.destroyallsoftware.com/talks/the-birth-and-death...


Thanks, that was it!


I recommend reading the previous 3 parts too, plus I'm looking forward to the next parts. I love that it goes into details and very clearly explains the problems and solutions, at least if you're familiar with C and know some things about compiler implementations.


A while ago, I created an interactive explanation of the different parts of a minimal ELF file: https://scratchpad.avikdas.com/elf-explanation/elf-explanati...

I wrote this page for my own compiler that I'm working on, but I think it would be a good complement to this article. Note that the page is not that great on mobile, the extra real estate on desktop really helps.


I started on two resources on different topics. One day, I want you invest a good amount of time into building them out.

https://cstheory.avikdas.com/

https://nesdev.avikdas.com/


Writing an ELF file by hand is something I did recently: https://github.com/avik-das/garlic/blob/master/recursive/elf...

To explain the format to myself and others, I also created an interactive visualization for the bytes in the file. It helps me to click on a byte, see an explanation for it and see related bytes elsewhere in the file highlighted. https://scratchpad.avikdas.com/elf-explanation/elf-explanati...


I’ve had such fun making interactive educational visualisations like this. My life’s work is going into an interactive simulation of the USB protocol. Unfortunately I’m yet to bang it out over a weekend.


Wow. Cool! I’m a CS teacher and definitely going to use this. Thanks for your work! (Anyone aware of a Windows or Mac equivalent?)


Thank you! My passion is teaching, and I created interactive visualizations for a CS theory class I taught: https://cstheory.avikdas.com/

If you're interested in collaborating for your classes, reach out to avik at avikdas dot com


That's an awesome interactive page! Did you write it by hand, or did you use some sort of generator/tool?


I wrote it all by hand :)

Lately, I've been using Svelte for interactive visualizations (see my post on using a tool called Astro with Svelte: https://avikdas.com/2023/12/30/interactive-demos-using-astro... ). But this one is all hand-written JS!


You and your web site are huge inspirations for me.


Thank you! That means a lot to me


I agree it’s very nice. I’d also like to know how it was done.

Also if you click two bytes that are in the same caption group one after another then it bugs out.


Thanks for the feedback. I replied in a sibling comment about how I made it.

For the bug, feel free to email me at avik at avikdas dot com if you'd like. The behavior I verified just now (for me) is that if you click one byte to highlight it, then clicking any other byte in the same group will remove the highlighting.


Wow! Very nice work. This is super educational resource. Again nice work.


All things considered, the GBA is a pretty powerful machine. Running an ARM processor is helpful too, as high-level language compilers that output high-quality ARM code are common. It's for this reason the GBA is one of my favorite machines, since it hits that sweet spot between simplicity and power.

It's the Gameboy and the NES, running a Z80-style and a 6502-style processor respectively, that typically need more hand-holding from manually written assembly code. It's not just the processor but the lack of hardware features (such as lacking multiple background layers, the relatively low number of sprites that can be on screen at a time, etc.) that result in squeezing out extra performance to overcome these limitations in creative ways. Compare that to the minesweeper game just rendering all the board cells as sprites!


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

Search: