8 karma · joined November 30, 2019
https://www.andrew-nguyen.com
And this is how many times we're allowed to use the dereference operator: one time
I can see what you meant, but I initially thought this was trying to say that a pointer declared with a single asterisk could only be dereferenced once and never dereferenced again afterwards (as if there was a "one-time-use only" property to pointers). In the same vein, the "super_pointer" example could be misinterpreted like "Oh, so if I want a pointer that will let me dereference it on 5 different occasions, then I'll need to declare it with 5 asterisks?" I think a better way would be to replace the "how many times we're allowed to use the dereference operator" explanation and start with explaining the idea of a double pointer
int **doublePtr
in depth first. With a solid understanding of a double pointer (an address that points to a memory location that contains an address that points to another memory location), making the mental jump to understand int *****super_pointer
should be easier.Also, I think low addresses aren't used for various reasons, but I believe the kernel is stored in the top, high-address region of the address space. Otherwise, I think this is a really solid explanation of pointers!
I'm not very familiar with the HFT industry, but the skills that they require (C++, computer architecture, OS, networking, & performance) are ones that I'm interested in and would love to deepen my experience with. Are there companies on the west coast (more specifically southern California) where one could develop this experience?
- [1]: I took a Coin Pusher arcade game and put together some electronics and software to make it playable through a Twitch stream. I thought it'd be fun to make and an interesting idea (especially with people being stuck at home), but it hasn't really gained much traction. It's currently a functional "MVP", but I haven't gotten any players so I can't figure out how to iterate and improve it. I built it using NodeJS, C++, a Raspberry Pi, an Arduino, a 3D printer, and an assortment of electronic components.
- [2]: Rebuilt my personal website. I've been hoping to write more (mostly for my own sake). One of the things that was mentally impeding me from writing was being afraid of being incorrect. I like to learn, but I think I'm a slow learner and don't always get things right the first time around. However, I tend to usually figure it out. I think writing could help me through that process (and potentially other people that are learning as well), so I think it'll be easier if I approach my writing with that perspective. I built it using GatsbyJS and its hosted with Netlify.
[1]: https://www.twitch.tv/coinarcadelive [2]: https://www.andrew-nguyen.com