• 0 Posts
  • 36 Comments
Joined 1 month ago
cake
Cake day: August 30th, 2025

help-circle

  • There are a couple of things I do agree with in regards to the comments in code. They aren’t meant as a replacement for documentation. Documentation is still required to explain more abstract overview kind of stuff, known limitations etc. If your class has 3 pages of text in comments at the top, that would probably be better off in the documentation. When working with large teams there are often people who need to understand what the code can and can’t do, how edge cases are handled etc. but can’t read actual code. By writing proper documentation, a lot of questions can be avoided and often help coders as well with a better understanding of the system. Writing doc blocks in a matter that can be extracted into a documentation helps a lot as well, but I feel that does provide an easy way out to not write actual documentation. Of course depending on the situation this might not matter or one might not care, it’s something that comes up more when working in large teams.

    Just like writing code, writing proper comments is a bit of an art. I’ve very often seen developers be way too verbose, commenting almost every line with the literal thing the next line does. Anyone who can read the code can see what it does. What we can’t see is why it does this or why it doesn’t do it in some other obvious way. This is something you see a lot with AI generated code, probably because a lot of their training was done on tutorials where every line was explained so people learning can follow along.

    This also ties in with keeping comments updated and accurate when changing code. If the comment and the code doesn’t match with each other, which one is true? I’ve in the past worked on legacy codebases where the comments were almost always traps. The code didn’t match the comments at all, sometimes obviously so, most times only very subtle. We were always guessing was the implementation meant to be the comment and the difference just a mistake? The codebase was riddled with bugs, so it’s likely. Or was the code changed at a later point on purpose and the comments neglected?

    Luckily these days we have good tools in regards to source control, with things like feature branches, pull requests with tools that allow for discussion and annotation. That way at least usually the origin of a change is traceable. And code review can be applied before the change is merged, so mistakes like neglecting comments can be caught.

    Now I don’t agree with the principle of no comments at all. Just because a tool has some issues and limitations doesn’t mean it gets banned from our toolbox. But writing actual useful comments is very hard and can be just as hard as writing good code. Comments also aren’t a cheat card for writing bad code, the code needs to stand on its own and be enhanced by the comments.

    It’s one of those things we’ve been arguing about over my entire 40 year career. I don’t think there is a right way. Whatever is best depends on the person, the team, the system etc. And like with many things, there are people who are good and people who suck. That’s just the way the cookie crumbles.




  • Yes, I work with people who have worked directly with the people at JetBrains. From what I know they are very friendly very western people. I can’t imagine them being involved with Russia in any way.

    I can also find zero sources online about this. The closest is Russia using security vulnerabilities in JetBrains software, as they do with all software. Security vulnerabilities that were handled appropriately by JetBrains.

    There is however a very public statement from JetBrains about Russia and Ukraine stating they’ve pulled out of Russia. They got their people out and stopped anything they did there. Including work on a new campus they already put money into.

    Long story short, JetBrains are good people creating useful tools. That dude made the whole thing up for unknown reasons.



  • I was there Gandalf, three thousand year ago when we invented write cache and the strength of men failed. After that we needed to ask the computer for permission to turn it off, instead of just killing it like we are supposed to.

    Although I was old enough to have had spinning rust hard drives that didn’t park their heads automatically when losing power. You would have to issue a park command manually to get the drive to park the heads. That way when the computer was sitting there powered off, the heads would be secure and not at risk of damaging themselves or the platter when the power resumed and the disk spun up again. The risk was minimal, but with prices the way they were back then, we always took care to park the heads. And when auto parking was a thing, it was such muscle memory, it took a long time to unlearn.








  • Thorry@feddit.orgtoTechnology@programming.dev*Permanently Deleted*
    link
    fedilink
    English
    arrow-up
    13
    arrow-down
    1
    ·
    edit-2
    17 days ago

    No the big difference is the use of critical thinking. When using a calculator, it doesn’t tell you what to do. You have to know what you are doing and tell it what you want it to do. Then it does the thing and you get the answer.

    That’s why we still teach children to do calculations without the use of a calculator. That way they can understand exactly how it all works and can in principle do all of the work themselves. Later we get to more complicated math, and whilst it would be possible to do all of the calculations ourselves, this would take precious time away from learning the new stuff. So we use calculators and tell the students to show their work. It doesn’t matter what the answer is that pops out in the end, it matters the student understood the underlying principle and applied it correctly.

    I once had full marks on a question in middle school where halfway through the calculation I did 7+3=11 and went on with that. So my end result was completely different from what it should be. But because all of my steps were correct, I used the correct formulas in the right way and showed I understood the fundamentals, I still got full marks (and a red marking saying 7+3 is in fact 10 with a smiley when I got the paper back). The numbers and calculation doesn’t matter, what matters is the understanding.

    With these modern “AI” systems, the understanding is completely skipped. You ask it the question, it pops out the answer. And it will show the work (sometimes unprompted, sometimes prompted), but the user probably doesn’t understand that work. Even when shown repeated examples of a working out and the user would take their time to read them and understand them, I would wager they can’t reproduce it themselves. Actually doing the work is very important for creating an understanding of the underlying principles.

    And these systems don’t have any real limitations to what questions can be asked. So if the magic box has all the answers, what is the motivation to learn anything for yourself. It’s not like they are suddenly going to do the work themselves, that’s what the magic box is for. Until the box messes up and there is nobody who understood what it did what it did or how to fix it.

    With coding there is a secondary issue. Reading code, understanding code and writing code are fully separate things. Reading code is one of the hardest things there is. Not only do you need to have a good grasp of the language/system used, a good understanding of the architecture and specifics of the application is also required. To then understand the written code, one needs to work out intent. A mental model needs to be created of what the author intended to do, why certain decisions were made. And what strengths and weaknesses are. Something very subtle, even a single character difference can be very important in the code. It could mean the difference between code with a security vulnerability and one without. Writing code is whole other ballgame, then you need to know all those things, but also have a mental model of how the code you want to write should work. I’ve had a career in software for 30 years and we still struggle with writing good code and teaching new developers just as much as when I first started. The tools have changed, the world has changed, but it’s still very hard.

    When one is actively developing software (which involves a hell of a lot more than writing code), we tend to switch a lot between reading code, understanding code and writing code. Nobody works in a vacuum and even if we are the only ones writing code, we all have experienced that moment where we had no idea what we wrote on Friday when reading it back on Monday. Or that roller coaster of how does this work, does this even work, this won’t ever work, how has this worked, I’ve seen it working just now. By practicing these skills, we keep our brains engaged, we keep the critical thinking up and keep improving. By skipping steps, we turn our brains into mush and actually lose the skills.

    One might say, well it’s just the writing of the code we skip, we still need to think what the code should do. But that’s not really how these new tools work, you give it a high level task and all the low level stuff gets skipped. Sure it might save you from typing (although the prompt still needs to be typed up, plus all the follow ups), but the actual typing of the code is a very small part in my experience. People who think being a coder is just typing code all day, don’t really know what they are talking about. Sure a lot of typing needs to be done, but often it isn’t all code and a lot of non-typing work needs to be done as well.

    And I feel even the typing of the code is an important part of the process. Think about writing a shopping list for yourself, often one only thinks about what to put on it, as we are writing it. Writing helps the brain to articulate concepts in concrete stuff.

    Not even touching all the other issues with using AI or using AI to code, it will turn developers into mush brain zombies. Coding is more like running than it is like riding a bicycle, humans get very bad at it unless practiced constantly.


  • Thorry@feddit.orgtoScience Memes@mander.xyzShh
    link
    fedilink
    English
    arrow-up
    41
    ·
    17 days ago

    I’ve seen the same or even worse. Pallets of stuff would be received, all wrapped up tight in an ungodly amount of plastic. The pallet would be unwrapped, plastic discarded and the contents scanned to confirm the correct items and number of items were present on the pallet. After each item was scanned and it’s serial number recorded, someone would go to validate the items. When validated and found to be correct, the items were again stacked on a pallet and wrapped by another ungodly amount of plastic. The terrible thing was, as I was outside of the distribution chain, I had a view on the bigger picture. Items would often go through several of these places, each doing the exact same. The amounts of plastic each item consumed in the process was huge. But it was necessary, errors were found often, so the steps needed to be done. And the pallets could often get wet, nobody would accept soggy cardboard, so it needed to be wrapped.

    The issue is plastic is basically free and extremely good at what it does. A more permanent solution like encasing the goods in some other material, like wood or metal would be more expensive and do a worse job. It’s similar to asbestos, where the solution is so good, nothing else can compete. It took a mighty effort and strict laws to mostly abandon asbestos. I fear humanity has lost its will to live and won’t have it in us to ban single-use plastic.

    Some places did use metal trollies instead of pallets, but the pallets were never really a problem. They were almost always made from sustainable woods, be re-used often, till they just about fell apart. After which they were sent out for recycling, either back into a refurbished pallet, or a stamped recycled wood pallet or other recycled wood product.




  • The tapping with your hands seems like a really cool tech tho. If they would just stop cramming so much AI crap into everything and try to make a decent product it could actually be good.

    The use case they show is terrible tho, you don’t want to be rude by texting when talking to somebody? So they made a secret texting tool? You are still being fucking rude, the other person just won’t notice? And that’s better somehow? And it’s super obvious as well, so it won’t even work.

    I also hate the thought of glasses that record all the time being a thing. Imagine everyone wearing those. It would be a privacy nightmare.

    Sometimes I think it would be cool to have something like a 360 camera so when I see interesting stuff whilst riding my bike, I can share it with other people. Instead of telling about it, it not sounding interesting at all and I go like yeah you needed to be there. Just today I was cycling in between a couple of farms and I saw something really weird in one of the fields. As I drove by I figured out what it was, it was a huge German Shepard dog laying on its back, paws in the air. Just chilling, being goofy, minding its own business. I laughed and it heard me, so it quickly sat upright and pretended to be a cool proud boi. Nice try my man, I saw you being a goofball!

    But not even a cute dog is worth giving up all of our privacy even further, livestreaming everything to Meta of all companies.

    We also very much do not need heads up displays. People already have their phones glued to their faces while walking, cycling and driving. No need to make it permanent with something as stupid as heads up displays.

    Fuck Meta, fuck Zuck, what a bunch of assholes


  • But the kicker is: the vehicle can be bought by any company. You can just start a business that doesn’t do anything, get a car in that business’s name for a reduced fee, and drive it whenever you want.

    This isn’t completely true.

    First of all, company needs to pay for the vehicle, so one would have to put the money into the company. This comes with consequences for tax purposes and one obviously needs to have the money ready. A lot of cars are bought on a loan, this won’t work in this setup. Same with trading in the previous vehicle, that won’t work unless the company was the owner of that vehicle as well (and companies usually get terrible trade in prices). Then there’s the issue where the car can’t be used for personal trips, only for trips related to the company. There needs to be an administration and trips need to be convincingly for the company. The owner can opt to use the vehicle for private trips if he wants to, but then needs to pay the taxes, just like anyone driving a car they got from work. A company that doesn’t do anything also can’t exist. At the least there needs to be an administration and taxes. This will have costs attached. It’s also required for the company to pay the primary employee (owner) for the work he puts in, this is mandatory. There are ways to postpone these payments, but at some point they need to get done. A completely empty company that does nothing is usually a vehicle for tax evasion, so it will face frequent inspection.

    Now there are workarounds with grades of legality, but overal it isn’t worth it just to prevent the tax on a new car.

    The reason for the license plates is the way these are imported. They use the Individual Vehicle Approval (IVA) loophole to import the cars. That way they don’t have to comply with normal regulations. It’s a terrible loophole that needs to be closed off asap.

    We also need a max emissions, max size, max weight and max noise restrictions on all cars. It’s getting terrible out there. Especially some of those new huge Range Rovers are terrible, those are actual tanks and people inside are so cut off from the rest of the world they don’t even notice how much they are speeding and how reckless they are driving.