- 0 Posts
- 154 Comments
So true. I mostly live in the embedded world but have had to write GUIs from time to time, mostly to connect and send commands to some sort of embedded device.
I always start with a cli version for testing and then write the GUI. A quick wrapper around the comms library and I’m done.
But there are so many annoying fiddly little details in the GUI to deal with that it usually takes as long just to write the GUI as it does the entire rest of the code. Layout, menus, tooltips, icon choices, dealing with screen sizes, DPI, resizing windows, responsive data, etc.
Edit: A simple example that I’ve dealt with many times is reading and writing config data. For the CLI version it’s typically two commands:
‘tool read_cfg’ reads from the device and prints the config to stout
‘tool write_cfg’ reads a config from stdin and sends to the device.
Add a ‘-f’ option to use a file instead of stout for people that don’t remember how to use redirects. Add a couple of documentation sentences to the help command. If there are any issues, print them to stderr and bail. If the user wants to edit the config they can use whatever $EDITOR they prefer.
The same functionality in a GUI means that you have to first implement an editor for values. In my case that was generally a bunch of nested key/value pairs so I could probably find a widget that would work. And then understand how it handles being resized, gets styled, uses tooltips, etc. Of course there would need to be some code to get the data into and out of that widget which would probably need massaging. Then I need to let the user know if there are local edits. And then there is the fact that the data is now in three places, on a local disc, on the device, and in the editor and I need to communicate with the user that there is a difference between loading and saving from disc vs the device. Do I give a warning that loading from once place will overwrite anything they’ve changed in the editor? How do I make the four load/save buttons have obvious icons? And how to handle errors? An annoying pop up? Partially load the data? Something else? So many little things that have to be designed, implemented, and tested.
Oh I agree, I’m not saying that PDF is some sort of document format perfection. But it is a fully open one with a spec that fits in 250 pages, as opposed to docx’s 7500(!!) page spec with undocumented binary blobs mixed in.
I see you too are a person of culture.
Are fine, but not 100% compatible with all Office files and very heavyweight for viewing a document.
The problem is that Office file formats are an “open” standard but not a real open standard. PDF is.
Edit: Hell, not even all Office files are openable in all modern versions of Office. I have an Excel file I have to use once a quarter that will only open in locally installed versions of Office, not Office365. I keep a VM with Windows on it just for this one file.
What if I don’t want to spend several hundred dollars per year to use a proprietary program that doesn’t run on my computer just to look at some documents?
BartyDeCanter@lemmy.sdf.orgto
Technology@lemmy.world•The AI boom is so huge it’s causing shortages everywhere else The $700 billion AI spending spree has few precedents. Good luck finding an electrician or a reasonably priced smartphone.English
4·4 days agoThis is called Dutch Disease and most often happens with natural resources, but also with natural stupidity.
BartyDeCanter@lemmy.sdf.orgto
Programmer Humor@programming.dev•Fast-paced and exciting environment
15·4 days agoThe state of office desks has been continuously getting worse my entire career.
The very first place I interviewed had small private offices with a door for everyone. They weren’t any bigger than a decent sized cubicle but were real separate rooms and most of them had exterior windows. I didn’t get that job though.
My first desk at my first engineering job was in a cubicle with real six foot tall walls, a window with a nice view, big L desk, shelves, filing cabinets, etc.
Then I got the same setup, but in a fabric cube. Honestly, not really a downgrade. I had that setup three times, and the only difference was how good the view was.
Then the same but no windows.
Then a smaller cube with a simple 6 foot desk and a single cabinet.
Then a line of 6 foot wide desks with privacy screens on three sides.
Then privacy screen on left and right only.
Then no screens.
Then four foot desks.
My current office is four foot desks that are hotdesked for most people. But we are also completely remote if you want, so I use my nice desk that I built at home 90% of the time.
BartyDeCanter@lemmy.sdf.orgto
xkcd@lemmy.world•xkcd #3204: Dinosaurs And Non-DinosaursEnglish
11·6 days agoIf you take the tree of life showing the evolutionary branch, you won’t be able to pick off a branch that includes all of the things you would think of as “fish” but excludes all of the things you think of as “not fish”.
The reason for that is that all land animals with a four limb body plan, including reptiles, mammals, and
birdsdinosaurs evolved from a family of fish called tetrapods. But there are still tetrapods in the ocean that you would think of as “fish”, and I don’t mean whales.Hank Green has a much more entertaining and complete discussion at https://youtu.be/-C3lR3pczjo
BartyDeCanter@lemmy.sdf.orgto
xkcd@lemmy.world•xkcd #3204: Dinosaurs And Non-DinosaursEnglish
13·7 days agoAnd almost all of these are fishes.
BartyDeCanter@lemmy.sdf.orgto
Canada@lemmy.ca•'Canada, better the 28th EU member than the 51st US state'
2·7 days agoI joined a Canada based company in the last year. Every time we chat abooot non-work stuff I find yet another reason to be envious of them.
In my case, I use several different types of machines: Personal Linux desktop, personal low end Linux laptop, remote servers where I have sudo, work Mac, shared remote work servers where I don’t have sudo. I want my setup to be basically the same everywhere so that my muscle memory works, but there are some things that also need to be a bit different for each. Hence, a dot files manager that lets me run one command to keep my environment consistent in all those different targets. I use chezmoi + git for it nowadays.
BartyDeCanter@lemmy.sdf.orgtoMicroblog Memes@lemmy.world•gmail is the signal of the richEnglish
51·7 days agoI’ve been hearing that, but only from random comments here and there. Is there an authoritative article somewhere?
BartyDeCanter@lemmy.sdf.orgtoMicroblog Memes@lemmy.world•Anyone find this? I'm old so don'tEnglish
1·7 days agoYou mean meta-up, right?
BartyDeCanter@lemmy.sdf.orgto
Free and Open Source Software@beehaw.org•Notepad++ hijacked by state-sponsored hackers
2·9 days agoThis is it exactly. When I was using Npp, Windows didn’t have anything resembling a package manager. Does it even really have one now?
BartyDeCanter@lemmy.sdf.orgto
Science Memes@mander.xyz•Why I gave up electronics clubEnglish
8·9 days agoAre you implying that there are IC designers who aren’t lunatics?
BartyDeCanter@lemmy.sdf.orgto
Science Memes@mander.xyz•Why I gave up electronics clubEnglish
33·9 days agoThat depends, do you want high or a low side switch? There are valid reasons for either depending on what you’re doing.
BartyDeCanter@lemmy.sdf.orgto
Free and Open Source Software@beehaw.org•Notepad++ hijacked by state-sponsored hackers
8·10 days agoFuck. I haven’t used Npp in a long time, but that’s awful. Glad they were able to get it fixed and their transparency is to be highly commended. But damn does it make me worry about other projects. Npp isn’t exactly obscure, but it’s also not exactly a massive target either.
BartyDeCanter@lemmy.sdf.orgto
Ask Lemmy@lemmy.world•Is your city building a ton of banks and gas stations?
1·10 days agoHmm, nope. A bunch of bank branches got remodeled after a merger and a local gas station is being torn down and replaced, but nothing new.



That is the exact opposite of my experience. Of all the coworkers and friends I’ve ever had who worked in cybersecurity, one was a bootlicker, while all of the rest were at least three of transfem, furry, weeb, and anarchist.
Edit: Ok, one of the transfem furry anarchists was a bootlicker, but only in the kink scene, not her politics.