Do it. DO IT
- 3 Posts
- 24 Comments
kamstrup@programming.devto
Programming@programming.dev•A Month of Chat-Oriented Programming - CheckEagle
1·18 days agoThat depends on what you count as a “test”. In some langs/frameworks it is a lot, indeed.
kamstrup@programming.devto
Programming@programming.dev•A Month of Chat-Oriented Programming - CheckEagle
5·22 days agoYeah. Totally agree on this. I spend maybe 3-4h a day reviewing code, and these are my thoughts…
The LLM generated tests I see are generally of very low quality. Perfectly fitting the bill of looking like a test, but not actually being a good test.
They often don’t test the precise expected value. As an overly simplistic example: They rarely check 2+2==4. But just assert 2+2>0, or often just that 2+2 doesn’t cause an error.
The tests often contain mountains of redundancy. Again, an oversimplified example: They have a test for 2+2, and another for 2+3.
There is never any attempt to make the tests nice to read for humans. It is always just heaps of boilerplate code. No helpers introduced, or affordances to simplify test setup.
Coupling the proclivity for boilerplate together with subtly redundant tests makes for some very poor programming. Worse than I’d expect from a junior, tbh.
And 1500 tests… That is not necessarily a lot! If that is the output of 1 month of pumping out code, I would say bare minimum
9 times out of 10, this “vibe draft” sends people down a terrible path that they would have never ventured had there been an adult in the room. I swear I review so much code that sets off in the wrong direction because of this, and I am sick of it.
kamstrup@programming.devto
Linux@programming.dev•GNOME Moves On: What the End of the X11 Session Means
1·6 months agoX11 is “complete” in the sense that we have followed it to the end of the road. X11 has a series of well documented fundamental problems that does not make it suitable for a modern OS. I will not belabor them here (except to note that security in particulat in X11, is exceptionally weak for modern standars). These issues are unfixable because they are built into core assumptions and behaviours of all legacy apps.
At some point there has to be a switch. There simply is not manpower to maintain 2 separate windowing systems. I am sure we would all want there to be an army of devs working on these things on maintain the 2 stacks. But that is not the timeline we live in. The number of devs working on these things is very low.
Was it too early? I don’t know. There will never be 1-1 feature parity with 30 years of legacy apps. I honestly believe that fixing things like a11y are gonna be much more tenable with only a single windowing system.
kamstrup@programming.devto
Linux@programming.dev•GNOME Moves On: What the End of the X11 Session Means
25·6 months agoFor someone who has not used Gnome in 14+ years you sure seem to know a lot about it…
X11 has effectively already been deprecated for years, seeing little to no development on it. No one should be surprised.
And still, there are SEVERAL Long Term Support distros out there that will support X11 for the coming years. Please stop pretending that stuff will start breaking. It will not.
kamstrup@programming.devto
iiiiiiitttttttttttt@programming.dev•Its ok, skype was killed off anyway.
15·8 months agoAt least we still have Skype (new), Skype for Enterprise, and Windows Skype
kamstrup@programming.devto
Demeta@programming.dev•Meta whistleblower Sarah Wynn-Williams says company targeted ads at teens based on their ‘emotional state’
4·9 months agoTargeting vulnerable people based on metadata with any form of commercial intent, is morally and ethically highly questionable! A vulnerable person is by definition extremely susceptible to exploitation. Assuming that companies are gonna act out of philanthropy and goodness of their hearts seems a bit naiive.
kamstrup@programming.devto
Programming@programming.dev•How Good at Math Does a Programmer Need to Be?
5·1 year agoBeing comfortable with basic back-of-the-envelope math can be a huge benefit. (Full disclosure: i am a math major who is now a programmer)
Over my career I have several examples of projects that have saved weeks worth of dev time because someone could predict the result with some basic calculations. I also have several examples where I have shown people some basic math showing that their idea is never gonna work, they don’t listen and do it anyway, and I see them 1 month later and the project failed in the way i predicted.
A popular (and wise) saying is that “Weeks of work can save you hours of meetings”. I think the same is true for basic math. “Weeks of coding can save you minutes of calculation”.
You can definitely be a successful programmer career without great math skills. Math is a tool that can help you be more effective.
kamstrup@programming.devto
Programming@programming.dev•Is there a way to hide dependabot commits in the history of a repo?
6·1 year agoMust include CHANGELOG…
The changelog:
- misc fixes
- pls work
- fixe a typo
kamstrup@programming.devto
Golang@programming.dev•Comparing memory usage between node.js object and go map[string]interface{}
2·1 year agoInteresting observation! The most simple explanation would be that it is memory claimed by the Go runtime during parsing of the incoming bson from Mongo. You can try calling runtime.GC() 3 times after ingest and see if it changes your memory. Go does not free memory to the OS immediately, but this should do it.
2 other options, a bit more speculative:
Go maps have been known to have a bit of overhead in particular for small maps. Even when calling make() with the correct capacity. That doesn’t fit well with the memory profile you posted well, as I didn’t see any map container memory in there…
More probable might be that map keys are duplicated. So if you have 100 maps with the key “hello” you have 100 copies of the string “hello” in memory. Ideally all 100 maps qould share the same string instance. This often happens when parsing data from an incoming stream. You can either try to manually dedup the stringa, see if the mongo driver has the option, or use the new ‘unique’ package in Go 1.23
kamstrup@programming.devto
Programmer Humor@programming.dev•It's not like I just change things for the sake of change
4·1 year agoThere is a dangerously large population of devs and managers that look at themselves, unironically, as the gigachads pumping out ui “upgrades”
Many of these fail to realize how disruptive it is. UI change is like API breakage for the brain.
I have lost track of how many times I’ve tried to help an elderly family member with an app after some pointless, trivial, ui change. Only ending with them entirely giving up on using the app after the “upgrade” because the cognitive overhead of the change is beyond the skill that can fairly be expected for them 💔
kamstrup@programming.devto
Golang@programming.dev•Putting Go's Context package into context
5·2 years agoThe context package is such a big mistake. But at this point we just have to live with it and accept our fate because it’s used everywhere
It adds boilerplate everywhere, is easily misused, can cause resource leaks, has highly ambiguous conotations for methods that take a ctx: Does the function do IO? Is it cancellable? What transactional semantics are there if you cancel the context during method execution.
Almost all devs just blindly throw it around without thinking about these things
And dont get me startet on all the ctx.Value() calls that traverse a linked list
kamstrup@programming.devto
Programming@programming.dev•What is the best way to store data for exceptional cases among nested objects in arrays in JSON?
1·2 years agoDepending on your needs you can also break it into a columnar format with some standard compression on top. This allows you to search individual fields without looking at the rest.
It also compress exceptionally well, and “rare” fields will be null in most records, so run length encoding will compress them to near zero
See fx parquet
kamstrup@programming.devto
C Programming Language@programming.dev•What are some popular applications that use C?
2·2 years agoPostgres and MySQL/mariadb are all primarily written in C.
Contrary to what other posters here claim, most programmet languages are not written in C, but are self hosted. Ie. written using themselves. This usually involves a small bootstrapping component written in C or something similar, but that is a minor part of a whole
kamstrup@programming.devto
Programming@programming.dev•What's the biggest change you would like to see in computing/tech?
26·2 years agoThat we stop fawning over tech CEOs



Many moons ago I did a project at uni where we implemented elliptic curve cryptography in Java and released it as open source. Unsurprisingly, we had no idea what we were doing. Some years later I get a random mail from someone using it on some embedded system…
I don’t want to know, and I fear that ist is paramount that I maintain plausible deniability 😂♥️🙏