Someone should build a system that scrapes all open source repositories and uses an LLM to generate up to date documentation, and puts it in one big searchable place
If using docstrings/docblocks to generate SDK documentation, adding something like an OPA policy to validate their existence and semantic structure could help with coverage. Then we have the issue of accuracy, and that needs humans or AI to weigh in. I have a feeling test-driven development would make this process smoother.
You could also add git hooks to facilitate accountability / run the policies.
It’s not garbage, it just has some flaws - as does everything. The Spring and Java/JVM ecosystem can be a huge advantage if you know how to use it - which sometimes means diving into library code when docs aren’t sufficient.
To get annoyingly serious on a funny post, the one huge danger of GUIs that I’ve personally witnessed in many of my juniors is that they abstract away the need to understand the tool you’re using.
I regularly use a Git GUI, and I might have to google the rebase command for more complex tasks, but I know how Git works. I know what I can do with rebase, even if I don’t exactly know how to. If you only live in the GUI, you can get far never understanding the system. Until one day, when you fuck up a commit or a push, and you’re totally hosed because there isn’t a pretty button with the exact feature you want in your GUI.
Somehow I’ve made it 7 years without messing up a git command that I couldn’t fix in like 2 seconds. I primarily use vscode’s source controller more featured source controllers like sourcetree feel overly complex and typing out git commands is fine but you spend more time doing that than you would with vscode’s approach. I’m really curious about what you mean by fuck up a commit or push
Try reverting a reverted commit (revert of revert, yes) while other team members are working on a branch which has the first revert. It’s super fun merging after that.
(Or something of that effect, can’t remember the exact details of that fuckup)
Yeah, fuck that. It’s perfectly fine to build a GUI that makes things a bit easier, but make the GUI so that it resembles the fucking workflow. I hate that when I want to automate something thats super easy in the GUI and it takes AGES because there is no equivalent to what I’m doing in the GUI
I hate that when I want to automate something thats super easy in the GUI and it takes AGES because there is no equivalent to what I’m doing in the GUI
My favorite story about docs is when I tried implementing multithreaded Raycast in Unity.
I needed it to hit multiple targets per ray. Should be pretty easy, after all - there is this parameter right in the constructor:
maxHits: The maximum number of Colliders the ray can hit.
And this is how you use it, straight from the docs:
The result for a command at index N in the command buffer will be stored at index N * maxHits in the results buffer.
If maxHits is larger than the actual number of results for the command the result buffer will contain some invalid results which did not hit anything. The first invalid result is identified by the collider being null. The second and later invalid results are not written to by the raycast command so their colliders are not guaranteed to be null. When iterating over the results the loop should stop when the first invalid result is found.
Well, no. It’s not working like that. I was always getting just a single hit, but sometimes, I received two or more hits. After a few days of debugging, I have found a typo in bubblesort, which caused the multiple hits, and I was in fact getting only one hit every time.
Strange, must be a bug then. And then I found it. A bug report from 3 years ago. But it was closed as solved. And the resolution?
I have some news about the issue where RaycastCommand will only return a maximum of 1 hit regardless what you set maxHits to.
According to our developers, each individual raycast in a batch only does a Raycast single in PhysX which will only return the first hit, and not multiple hits if the ray passes through several objects which would require a different raycast function. The documentation simply doesn’t explain this very well.
The docs above are from 2021. Three years after this. The fuck “doesn’t simply explain it very well”? It literally explains it pretty damn well.
But looks like they’ve finally changed the docs for 2022+ at least, it did happen few years ago.
We’ve once received an investor offer from a major studio for our game we are making since college in our free time, but the catch was that they wanted us to implement online multiplayer into a coop-only top-down shooter we’ve been actively making in our free time for the past 4 years at that point.
We ultimately rejected the offer, even though we managed to get a prototype working. MP is such a pain to implement in the first place, and adding it into an almost finished game is near impossible. But, if you ever resume the project you’ve scratched due to unet being awfull, I highly recommend checking out Mirror. It’s free, open-source and has an amazing Discord community - every time I had an issue or needed help with something, there was someone willing to help me there.
Just don’t look directly at it for too long or it’ll cause a buffer overflow in your brain and you’ll start yelling out your private keys instead of saying words.
Was THAT what was on this USB stick the crazy dude at the bar sold me…? Things make so much more … HAIL ENKI, GOD OF -----BEGIN RSA PRIVATE KEY----- Proc-Type: 4,ENCRYPTED DEK-Info: AES-128-CBC,6784434422A3B98781F157CFCEA6FA3D
I also feel like agile methodology, which is becoming more common, works against documentation with the fail fast fail often philosophy. If your feedback loop with your stakeholder is rapid, then changes to the design plan are often and rapid as well, which requires more documentation change overhead, which makes documentation even less appealing.
In fact SAFe Agile emphasizes working software over comprehensive documentation.
Doing that to annoy devs who didn't sanitize their database inputs is like walking along parking lot just to see if anyone has forgotten to lock their car, just to put a post it in the steering wheel.
Nah man, not sanitizing Inputs could pose serious security risks as someone could use this shit to escape and run arbitrary database queries potentially leaking passwords or other info or just wiping it (Afa I have learnt on the internet)
I’ve been playing around with Grafana alot lately so my screens do look closer to the second. Except not such a disordered jumble so it doesn’t have any where near the same wow factor
Right, So I actually did something similar. On some version of windows I noticed that ctrl-backspace was adding another character to the password, instead of deleting it. So I included it in my password. Then I updated to a new version of windows and got locked out since they updated the password backend to where it would actually delete the password instead of a adding the character, so I had no way of typing out my password. Ended up just nuking the computer.
Could have just researched what character was being inserted by the ctrl backspace and then used the keyboard to insert the character from its ascii or unicode code to login and then changed your password before nuking your computer
programmer_humor
Oldest
This magazine is from a federated server and may be incomplete. Browse more on the original instance.