• 0 Posts
  • 27 Comments
Joined 8 months ago
cake
Cake day: February 5th, 2025

help-circle
  • There’s a corp solution called “CyberArk” that’s intended for storing passwords and other secrets and providing an audit trail for every access, as well as access controls, etc. It’s nothing like a solution for personal data storage, but those core concepts would be great.

    1. Your stored data is under access control.
    2. Configuration of access to this data (write, read, and access frequency) is controlled by you.
    3. Access grants to others are time limited (although, maximum time may be 10 years or more.)
    4. Every data access is configured to be logged by default.
    5. Access to important data can be configured to require real-time authorization by the owner.
    6. Full change history is logged by default and thereby all changes can be reversed.
    7. Only the owner can choose to delete change history.
    8. Only the owner can choose to delete logs.

    The trick is getting Meta, Alphabet, X, banks, retailers, libraries and the rest to agree to use this API for storage of your data. The next (impossible) trick is enforcing their secure deletion of copies of your data in a timely fashion after they have accessed it.




  • I work in a “tight” industry where we check ALL our code. By contrast, a lot of places I have visited - including some you would think are fairly important like medical office management and gas pump card reader software makers - are not tight, not tight at all. It’s a matter of moving the needle, improving a bad situation. You’ll never achieve “perfect” on any dynamic non-trivial system, but if you can move closer to it for little or no cost?

    Of course, when I interviewed with that office management software company, they turned me down - probably because they like their culture the way it is and they were afraid I’d change things with my history of working places for at least 2.5 years, sometimes up to 12, and making sure the code is right before it ships instead of giving their sales reps that “hands on, oooh I see why you don’t like that, I’ll have our people fix that right away - just for you” support culture.



  • bullshit tests that pretend to be tests but are essentially “if true == true then pass” is significantly worse than no test at all.

    Sure. But, unsupervised developers who: write the code, write their own tests, change companies every 18 months, are even more likely to pull BS like that than AI is.

    You can actually get some test validity oversight out of AI review of the requirements and tests, not perfect, but better than self-supervised new hires.


  • I’m mixed on unit tests - there are some things the developer will know (white box) about edge cases etc. that others likely wouldn’t, and they should definitely have input on those tests. On the other hand, independence of review is a very important aspect of “harnessing the power of the team.” If you’ve got one guy who gathers the requirements, implements the code, writes the tests, and declares the requirements fulfilled, that better be one outstandingly brilliant guy with all the time on his hands he needs to do the jobs right. If you’re trying to leverage the talents of 20 people to make a better product, having them all be solo-virtuoso actors working independently alongside each other is more likely to create conflict, chaos, duplication, and massive holes of missed opportunities and unforeseen problems in the project.


  • but unit tests should 100% be the responsibility of the dev making the change.

    True enough

    A bad test is worse than no test

    Also agree, if your org has trimmed to the point that you’re just making tests to say you have tests, with no review as to their efficacy, they will be getting what they deserve soon enough.

    If a company is going to rely heavily on AI for anything I’d expect a significant traditional human employee backstop to the AI until it has a track record. Not “buckle up, we’re gonna try somethin’” track record, more like two or three full business cycles before starting to divest of the human capital that built the business to where it is today. Though, if your business is on the ropes and likely to tank anyway… why not try something new?

    Was a story about IBM letting thousands of workers go, replacing them with AI… then hiring even more workers in other areas with the money saved from the AI retooling. Apparently they let a bunch of HR and other admin staff go and beefed up on sales and product development. There are some jobs that you want more predictable algorithms in than potentially biased people, and HR seems like an area that could have a lot of that.




  • Ideally, there are requirements before anything, and some TDD types argue that the tests should come before the code as well.

    Ideally, the customer is well represented during requirements development - ideally, not by the code developer.

    Ideally, the code developer is not the same person that develops the unit tests.

    Ideally, someone other than the test developer reviews the tests to assure that the tests do in-fact provide requirements coverage.

    Ideally, the modules that come together to make the system function have similarly tight requirements and unit-tests and reviews, and the whole thing runs CI/CD to notify developers of any regressions/bugs within minutes of code check in.

    In reality, some portion of that process (often, most of it) is short-cut for one or many reasons. Replacing the missing bits with AI is better than not having them at all.






  • In the beginning there were manufacturer’s manuals, spec sheets, etc.

    Then there were magazines, like Byte, InfoWorld, Compute! that showed you a bit more than just the specs

    Then there were books, including the X for Dummies series that purported to teach you theory and practice

    Then there was Google / Stack Overflow and friends

    Somewhere along there, where depends a lot on your age, there were school / University courses

    Now we have “AI mode”

    Each step along that road has offered a significant speedup, connecting ideas to theory to practice.

    I agree, all the “magic bullet” AI hype is far overblown. However, with AI something I new I can do is, interactively, develop a specification and a program. Throw out the code several times while the spec gets refined, re-implemented, tried in different languages with different libraries. It’s still only good for “small” projects, but less than a year ago “small” meant less than 1000 lines of code. These days I’m seeing 300 lines of specification turn into 1500-3000 lines of code and have it running successfully within half a day.

    I don’t know if we’re going to face a Kurzweilian singularity where these things start improving themselves at exponential rates, or if we’ll hit another 30 year plateau like neural nets did back in the 1990s… As things are, Claude helps me make small projects several times faster than I could ever do with Google and Stack Overflow. And you can build significant systems out of cooperating small projects.



  • a very judgmental take

    This is a very judgement based situation. Schools I attended in the 1970s left single adults alone with kids in all kinds of situations that make this kind of abuse possible. Changing how they operate, making less private spaces available for abuse on school campuses to occur in, placing less trust in the individuals and relying on larger groups to ensure that behavioral norms are followed… all those are things that should have been happening 50 years ago, but apparently didn’t in this small town. Maybe now they will, or maybe they’ll just bury their heads in the sand until the next case comes along and slaps them with another tax hike.