Just a Southern Saskatchewan retiree looking for a place to keep up with stuff.

  • 0 Posts
  • 10 Comments
Joined 1 year ago
cake
Cake day: June 12th, 2023

help-circle
  • I think he’s missed a potential benefit of AI.

    He seems to be speaking mostly of greenfield development, the creation of something that has never been done before. My experience was always in the field of “computerizing” existing manual processes.

    I agree with him regarding the difficulty of gathering requirements and creating specifications that can be turned into code. My experience working as a solo programmer for tiny businesses (max 20 employees) was that very few people can actually articulate what they want and most of those that can don’t actually know what they want. The tiny number of people left miss all the hacks that are already baked into their existing processes to deal with gaps, inconsistencies, and mutually contradictory rules. This must be even worse in greenfield development.

    That is not saying anything negative. If it were any other way, then they would have had success hiring their nephew to do the work. :)

    Where I think AI could useful during that phase of work is in helping detect those gaps, inconsistencies, and contradictory rules. This would clearly not be the AI that spits out a database schema or a bit of Python code, but would nonetheless be AI.

    We have AI systems that are quite good at summarizing the written word and other AI systems that are quite good at logical analysis of properly structured statements. It strikes me that it should be possible to turn the customers’ system descriptions into something that can be checked for gaps, inconsistencies, and contradictions. Working iteratively, alone at the start, then with expert assistance, to develop something that can be passed on to the development team.

    The earlier the flaws can be discovered and the more frequently that the customer is doing the discovery, the easier those flaws are to address. The most successful and most enjoyable of all my projects were those where I was being hired explicitly to help root out all those flaws in the semi-computerized system they had already constructed (often enough by a nephew!).

    I’m not talking about waterfall development, where everything is written in stone before coding starts. Sticking with water flow metaphors, I’m talking about a design and development flow that has fewer eddies, fewer sets of dangerous rapids, and less backtracking to find a different channel.



  • Yeah, I’m not a fan of the form of capitalism that’s about selling what they want us to buy instead of what we want to buy, but it seems to be working for pretty much every company out there.

    I guess we missed our window of opportunity with Netflix. We moved to the middle of nowhere with no internet or cell service 12 years ago. We’ve had Starlink for nearly 2 years and are just starting to run out of stuff available for free on our Roku. It’s been a couple of decades since I played with, um, other options, but I somehow doubt it’s become more difficult. :)




  • Sort of. I think of the Unix philosophy as being like Lego. Here’s a box of goodies, go crazy. Even Ikea still requires user assembly.

    Most end users just can’t do much with the first and often even get tripped up by the second. What we need is something in between that a programmer can use to quickly throw something together to user requirements.

    Actually, that’s much like what I was doing with Microsoft Access and Visual Basic decades ago. I probably would never have survived in an actual software development shop, but I was kept very busy by a bunch of small businesses that loved the quick turnaround and manageable costs.


  • That’s just the way things work when humans self-organize. There is the appearance of structure at the beginning, because there just aren’t that many people with shared interests. Then as people are unsuccessful in finding the community they’d like (assuming they even looked!) more are created. Then more people come in and mill about and browse and get overwhelmed by the search for a needle in a haystack, so they create more.

    Eventually, some communities reach a critical mass and a bunch of small ones fade away into near irrelevance or disappear completely.

    As far as I know, the only way to put the brakes on community over-proliferation (if that’s even a real thing!) is to add a bit of friction to the creation process. Many kinds of friction devolve into centralization and gatekeeping, so they tend to be avoided in projects like this.

    The only kind of friction that I can see working and gaining acceptance would be some kind of “have you tried these communities?” auto-search during the creation process. Simply asking people to search first is unproductive for two reasons. First, people are notoriously bad at imagining that someone else might have thought of something first, especially when they are only person they know with that particular interest. (I’ve only met a dozen other programmers in 43 years. In my entire life (66) I’ve not met a single person with even a passing interest in boatbuilding, let alone an actual boatbuilder, etc). Second, even if they consider that someone else thought of it first, people are notoriously bad at searching.



  • We’ve been watching an old TV series called “One Step Beyond.” I actually like the Alcoa ad that runs ahead of the program. It’s written specifically for the program and runs as an introduction. They use “One Step Beyond” as a phrase highlighting their ability to innovate and in contrast to the “One Step Beyond” our normal existence as portrayed by the upcoming episode.

    I know I’ll tire of it eventually, but for now I’m enjoying it much the same way I enjoy listening to a piece of music multiple times or rereading a good book.