181 karma · joined October 24, 2020
I struggle to imagine how people can find the time to consider all of these trivial choices verbally - in my case it all happens almost instantaneously and the whole process is easy to miss. I also don’t see what the monologue adds to the process - just skip this part and make the decision!
That said, I do use an inner voice when writing, preparing what to say to someone, etc. and I feel like I struggle with this way of thinking much more.
In C# I usually use explicit interface implementations. (They're inconvenient to type, but Rider has a macro for it.) When the interface changes or disappears, my code won't compile.
There's code that can be allowed to fail, and furthermore, it will eventually fail due to the sheer amount of this code, the development time constraints, the number of possible game states, etc. I don't care that this code rarely fails under some arcane conditions, because this simply causes some button to stop working, some NPC to stop moving, but the game will remain playable. Even if the player notices the bug, they'll just shrug and keep playing. My aim is to make sure that the game recovers and returns to a healthy state after the level/save is reloaded. (Obviously, I'd like to fix/avoid every single possible bug, but it's impossible in practice. You'll have more luck continuously tracking in your head how dangerous the code you're working on is. Also, you rarely have the luxury of being the only programmer on the team. Bugs will happen.)
The other kind of code is the core game system stuff, the low level stuff, the error handling stuff, the memory stuff, the pointer stuff. You must pay special attention while working on this code, because failures will straight up crash the process or bring the game into an irrecoverably broken state (eg. all objects stop updating, stuck in some menu, the player never respawns...). Bugs like these are also highly prioritized by management. My update loop needs to be shiny.
Such is the reality of working on complex systems (or simple object-oriented programs ;))
(Note that bfloat16 has a different range than float16, so you can't interpret one as the other)
By the way, I have no idea what your point is.
Worth it, though. It's one hell of a laptop.
In the MacBook Pro configurator the equivalent upgrades look like
36GB->64GB RAM: $400
1TB->4TB SSD: $1000
I applied to a large local IT corporation. The person interviewing me (who was a team lead) simply assumed I have the skills necessary for an entry position and we pretty much skipped the technical part of the interview. (I ended up in a fairly fantastic team full of great engineers and coworkers. Turns out the guy who interviewed me was awesome at hiring.)
(A while ago) I tried using LangChain and shortly gave up after not finding any way whatsoever to actually debug what’s going on under the hood (eg. see the actual prompts, LLM queries). It’s pretty ridiculous that this isn’t basic functionality, or at least it isn’t very discoverable.
I cannot imagine spending extended time with a framework without knowing what the internals are doing. I do realize this isn’t achievable on all levels with LLMs, but introducing more black boxes on top of existing ones isn’t solving any problems.
I’m sure there’s a solution somewhere out there - perhaps a crowdsourced website akin to the Google Graveyard[0], or certain fact checking sites, where bad faith decisions could be archived and accumulated until it becomes obvious which companies are simply not worth the trouble of working with.
I also added a snippet for hiding the severely anti-user "Enable chat history" button, in case you also constantly find yourself enabling data collection by accident.
It’s not like they’re likely to change their business model to online advertisement. And assuming the tech actually becomes available, what do you think the future post-singularity post-scarcity society will do? Keep them old-timer heads frozen out of spite?
Either way, it’s a matter of probability. 0.000000001% of survival is a lot more than 0%. By the looks of it there’s a lot of Everett branches out there, too. It seems worth a shot to some people.
I start with a template docker-compose yaml that contains the barebones: network settings, labels for Traefik (eg. Let’s Encrypt config), placeholders for the image/container name, volumes, env variables, etc. I fill this in based on the container I want to setup. Many self-hosted apps provide example docker-compose configurations - I often just merge them with my template by hand. It’s usually just a couple of lines.
I edit the files in vscode (but directly over ssh). Not a huge fan of editing YAML in the terminal.
Then, I execute an aliased command that goes something like this:
docker-compose down ; docker-compose pull && docker-compose up -d && docker-compose logs -f
to see if the container stands up, and tweak if necessary. #SPACE:: Winset, Alwaysontop, , A
(Save to set-always-on-top.ahk, and create a shortcut to the script in %userprofile%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup. Optionally add #NoTrayIcon at the top of the script to get rid of the tray icon.)Microsoft’s going to need to try harder than this to convince me to keep it enabled.
It’s also OK to write libraries.
Some people really want to write mean comments, I guess.