• 0 Posts
  • 12 Comments
Joined 2 years ago
cake
Cake day: June 16th, 2023

help-circle




  • Like I get and appreciate the CLI and for networking, that’s pretty much all I’m using anyway, but I am shocked that enterprise networking doesn’t even bother to do any GUI. Once upon a time Mellanox Onyx bothered to do a GUI and I could see some people light up, finally an enterprise switch that would let them do some stuff from a GUI. Then nVidia bought them and Cumulus and ditched their GUI.

    There’s this kind of weird “turn in your geek card” culture about rejecting GUIs, but there’s a good amount of the market that want at least the option, even if they frankly are a bit ashamed to admit it. You definitely have to move beyond GUI if you want your tasks to scale, but not every engagement witih the technology needs to scale.


  • While you don’t need to memorize button locations and menus, the frustration is that it takes longer, and memorizing those details slightly mitigates. It’s torture helping someone do something while they hunt for the UI element they need to get to the next level of hierarchy. They will do it, in time, but it just feels like an eternity.

    The main issue in GUI versus CLI is that GUI narrows the available options at a time. This is great, for special purpose usage. But if you have complex stuff to do, a CLI can provide more instant access to a huge chunk of capabilities, and provide a framework for connecting capabilities together as well as a starting point for making repeatable content, or for communicating in a forum how to fix something. Just run command “X” instead of a series of screenshots navigating to the bowels of a GUI to do some obscure thing.

    Of course UI people have generally recognized the power and usefulness of text based input to drive actions and any vaguely powerful GUI has to have some “CLI-ness” to it.


  • I suppose the point is that the way people interact with GUIs actually resembles how they interact with CLIs. They type from memory instead of hunting through a nested hierarchy to get where they were going. There was a time when Desktop UIs considered text input to be almost a sin against ease of use, an overcorrection for trying to be “better” than CLI. So you were made to try to remember which category was deignated to hold an application that you were looking for, or else click through a search dialog that only found filenames, and did so slowly.

    Now a lot of GUIs incorporate more textual considerations. The ‘enter text to launch’ is one example, and a lot of advanced applications now have a “What do you want to do?” text prompt. The only UI for LLMs is CLI, really. One difference is GUI text entry tends to be a bit “fuzzier” compared to a traditional CLI interface which is pretty specific and unforgiving.


  • In a pretty high end high tech company, there’s still lots of people who see a terminal and think “ha hah, they are still stuck in old mainframe stuff like you used to see in the movies”.

    My team determined long ago that we have to have two user experiences for our team to be taken seriously.

    A GUI to mostly convince our own managers that it’s serious stuff. Also to convince clients who have execs make the purchasing decisions without consulting the people that will actually use it.

    An API, mostly to appease people who say they want API, occasionally used.

    A CLI to wrap that API, which is what 99% of the customers use 95% of the time (this target demographic is niche.

    Admittedly, there’s a couple of GUI elements we created that are handy compared to what we can do from CLI, from visualizations to a quicker UI to iterate on some domain specific data. But most of the “get stuff done” is just so much more straightforward to do in CLI.


  • For the scope of WebEx and Zoom, it’s… fine… mostly. I mean I hate that I can’t really full screen a remote screen share, so it could be better, but broadly speaking, video, audio, and screen sharing is fine. Not coincidentally, this is pretty much the only standalone stuff Teams bothered to uniquely implement, most everything else is built upon sharepoint…

    It starts getting annoying for chat platform. You want to scroll back, it’s going to be painfully slow. You participate in cross-company conversations, oh boy you get to deal with the worst implementation of instancing to keep your activity segregated I have seen. Broadly speaking it just scales poorly at managing the sorts of conversations you have at a larger company. If your conversations are largely “forget it after a few hours”, you may be fine.

    Then you get into what these platforms have been doing for ages, Lotus Notes and Sharepoint suggesting companies build workflows on top of their platform. Now the real pain and suffering begins.


  • Hell, put any two people on a “knowledge” task and even if both were capable, there’s going to be a person that pretty much does the work and another that largely just sits there. Unless the task has a clear delineation, but management almost never assigns a two person team a task that’s actually delineated enough for the two person team to competently work.

    If the people earnestly try, they’ll just be slower as they step on each other, stall on coordination, and so on.


  • I assume there’s a large amount of people who do nothing but write pretty boilerplate projects that have already been done a thousand times, maybe with some very milquetoast variations like branding or styling. Like a web form doing one to one manipulations of some database from user input.

    And/or a large number of people who think they need to be seen as “with it” and claim success because they see everyone else claim success. This is super common with any hype phase, where there’s a desperate need for people to claim affinity with the “hot thing”.


  • And because a friend insisted that it writes code just fine.

    It’s so weird, I feel like I’m being gaslit from all over the place. People talking about “vibe coding” to generate thousands of lines of code without ever having to actually read any of it and swearing it can work fine.

    I’ve repeatedly given LLMs a shot and always the experience is very similar. If I don’t know how to do it, neither does it, but it will spit out code confidently, hallucinating function names or REST urls as needed to fit the narrative that would have been convenient. If I can’t spot the logic issue with some code that isn’t acting correct, it will also fail to generate useful text that would describe the problem.

    If the query is within reach of copy/paste of the top stack overflow answer, then it can generate the code. The nature of LLM integration with IDEs makes the workflow easier to pull in than stack overflow answers, but you need to be vigilant as it’s impossible to tell a viable result from junk, as both are presented with equal confidence and certainty. It can also do a better job of spotting issues within things like key values that are strings with typo than traditional code analysis, and by extension errors in less structured languages like Javascript and Python (where ‘everything is a hash/dictionary’ design prevails).

    So far I can’t say I’ve seen improvements, I see how it could be seen as valuable, but the resulting babysitting carries a cost that has been more annoying than the theoretical time saves. Maybe for more boilerplate tasks, but generally speaking those are highly wrapped by libraries already, and when I have to create significant volume of code, it’s because there’s no library and if there’s no library, it’s niche enough that the LLMs can’t generate either.

    I think the most credible time save was a report of refreshing an old codebase that used a lot of deprecated function and changing most of the calls to the new method without explicit human intervention. Better than tools like ‘2to3’ for python, but still not magical either.