Sunday, October 21, 2018
There's this thing that software developers seem to do: they seem to invent all sorts of alternative ways of doing the same thing, and those things all come together to make getting anything actually achievably done well-nigh impossible. Or at least really depressingly tricky and laborious and painful and error-prone and slow.
For example, all the different ways there are to build a Java/JVM based project. Makefiles, Ant, Maven, Ivy, Leiningen, Gradle, Eclipse, Intellij, NetBeans, et. al. (Or, say, all the ways to try to build a JavaScript thing using modules.)
The fundamental epic fail of it all is that pretty much none of these things support a layer of meta abstraction and introspection that would let us actually debug them. These systems commit a cardinal sin of programming ux: being only a write-forward system with no closing of the loop via debugger tools. I have no way to know what thing I need to adjust in order to get my build to work. If you search around for people trying to solve similar problems, you will see a ton of trial-and-error crap. ("It worked on my machine." "I don't know what I did, but suddenly it started working." "Try uninstalling and reinstalling." etc.)
The fact that this kind of development environment doesn't seem to make anybody bat an eyelash and wonder, "is there a better way?" makes me so utterly steam-coming-out-of-my-ears hopping mad - and depressed.
For example, all the different ways there are to build a Java/JVM based project. Makefiles, Ant, Maven, Ivy, Leiningen, Gradle, Eclipse, Intellij, NetBeans, et. al. (Or, say, all the ways to try to build a JavaScript thing using modules.)
The fundamental epic fail of it all is that pretty much none of these things support a layer of meta abstraction and introspection that would let us actually debug them. These systems commit a cardinal sin of programming ux: being only a write-forward system with no closing of the loop via debugger tools. I have no way to know what thing I need to adjust in order to get my build to work. If you search around for people trying to solve similar problems, you will see a ton of trial-and-error crap. ("It worked on my machine." "I don't know what I did, but suddenly it started working." "Try uninstalling and reinstalling." etc.)
The fact that this kind of development environment doesn't seem to make anybody bat an eyelash and wonder, "is there a better way?" makes me so utterly steam-coming-out-of-my-ears hopping mad - and depressed.
Monday, July 16, 2018
Being a software developer is clearly a sign of being either a masochist, or a sadist. There are no other reasonable conclusions.
Oh, wait. Unless you are an apologist. In which case I sorta atheistically still hope you've got a nice warm circle of hell waiting for you.
Oh, wait. Unless you are an apologist. In which case I sorta atheistically still hope you've got a nice warm circle of hell waiting for you.
Monday, June 25, 2018
JavaScript so-called modules are the worst thing I've ever seen, because the resolution strategies are all really horribly bad ux, and because people continue to multiply the insanity seemingly every 6 months with some new slightly different approach to it all (systemjs vs. node vs. amd vs. etc.; webpack vs. babel vs. etc.) and then enough people seem to get on board with each insane little thing so that we end up with a nightmare of half-assed explanations about any given one, lots of hand waving, and me just getting nowhere. All I bloody wanted to do was spend 15 minutes actually writing code that freaking did something, but instead I am still dead in the water because of this utter insanity. Dust off and nuke the place from orbit, it's the only way to be sure!
Modules and namespaces and all that stuff in Typescript is a complete train wreck. I guess the JavaScript ecosystem is like 80% to blame for it, but Typescript does nothing that I can see to actually sanitize it so that there's any concise, good, rhyme or reason to it all. What a crock of junk the entire JavaScript ecosystem is. You can't put lipstick on a crock of poo and get anything other than poo wearing lipstick. I am hitting some weird compiler thing where adding imports breaks some code that was working fine. Looking in the Typescript issues shows at least a zillion things that are apparently wrong, or at least confusing, about the whole thing. Like: oh my freakin' g*d.
Thursday, June 21, 2018
I guess I have never once used an online job (either as employer or employee) search site that wasn't a prime example of just about everything that is wrong with technology. (Probably Craigslist comes the closest to being minimally broken, but it suffers from not having as much posted on it?) It just seems all mind-bogglingly hilariously train-wreck-esque, in a comedic ouroboros technology-will-eat-itself kind of insanity. An insanity of technical emperor types with no actual clothing on. "I know! I'll start a startup to solve the problem of matching candidates with jobs!" Now you have, like, seven problems.
Sunday, June 17, 2018
Saturday, June 16, 2018
I know why we can't have nice things: Because "PC" architecture has led to small, slow, narrow buses, in theory compensated for by ever larger cached memories. What a crock of crap. Console architectures are so much more sane. Why should I have to fork out 2x the $$$ and waste 2x+ the electrons to shuffle things from main CPU RAM to GPU RAM (and sometimes back again)? It freaking kills me that drawing a freaking line is freaking rocket science now. Let alone if you want to draw a lot of them, and animate them.
you cannot escape from, or paper over, or gild, the crap. the crap is crap, and you are doomed. what a freaking nightmare.
Friday, June 15, 2018
The thing in google where I click on something to read the hit and then hit the back button because it didn't have what i wanted and then google decides to refresh the bloody page and insert 'related' stuff so that my next click isn't on the next item down that was originally there but ends up being a click on some 'related' thing to the thing i didn't like... yeah, that's obviously patentable. "Pissing Off Users With Really Stupid UI So-Called Features."
I understand that PLT (programming language theory) is hard, that syntax is hard, that making a programming language that doesn't suck is truly really hard.
but.
but, I find it depressing that so many languages seem to be designed to make things I think are important and wish were easy, really hard.
To wit, so far it looks to me like Typescript (a) doesn't have mixins or delegation, and (b) requires the use of 'this' all the time. So I end up with "this.hasa.field" type verbosity all over the place. I guess I could reduce it by making lots of property accessor wrappers on "this" to turn it into "this.hfield" or something, but all in all I shake my fist at the sky and at Hejlsberg.
(no, I am not smart enough to make a good language. just whiny enough to point out that everything kind of sucks.)
(The same sort of thing happens to me in Java whenever I try to do anything other than vanilla missionary position type Java class based OO inheritance crap. Maybe it has gotten somehow less stick-in-the-eye horrible over time, does Java have polymorphic 'this' now or something like that, so that even just trying to write Factories instead of using new() actually isn't a living hell?)
but.
but, I find it depressing that so many languages seem to be designed to make things I think are important and wish were easy, really hard.
To wit, so far it looks to me like Typescript (a) doesn't have mixins or delegation, and (b) requires the use of 'this' all the time. So I end up with "this.hasa.field" type verbosity all over the place. I guess I could reduce it by making lots of property accessor wrappers on "this" to turn it into "this.hfield" or something, but all in all I shake my fist at the sky and at Hejlsberg.
(no, I am not smart enough to make a good language. just whiny enough to point out that everything kind of sucks.)
(The same sort of thing happens to me in Java whenever I try to do anything other than vanilla missionary position type Java class based OO inheritance crap. Maybe it has gotten somehow less stick-in-the-eye horrible over time, does Java have polymorphic 'this' now or something like that, so that even just trying to write Factories instead of using new() actually isn't a living hell?)
How to utterly destroy any interest I have in your, seemingly otherwise kinda cool, programming language: require 'this' everywhere.
It drives me nuts when programming languages have More Than One Way To Do It for things that should by now be kinda I wish I'd hope freaking standard, freaking figured out.
To wit, mixins in Typescript. I mean, ff'ss, a supposedly 'modern' language that utterly fails to have either mixins or has-a-delegation?
Oh my freakin' god and I really hate it when people are either just ignorant, or clueless, or just have no good taste what-so-ever, and run around claiming, "oh sure Typescript has had mixins since 2.2" which if you ask me is watery bull excrement.
(Or see just about anything in JavaScript. Or anything that uses a macro in Haxe. Or any language that doesn't have a 'newtype' equivalent. Or enums. Or first order lambdas. Or any number of things that should be bloody de rigeur by now. Yes, PLT is really hard, I know, I know.)
To wit, mixins in Typescript. I mean, ff'ss, a supposedly 'modern' language that utterly fails to have either mixins or has-a-delegation?
Oh my freakin' god and I really hate it when people are either just ignorant, or clueless, or just have no good taste what-so-ever, and run around claiming, "oh sure Typescript has had mixins since 2.2" which if you ask me is watery bull excrement.
(Or see just about anything in JavaScript. Or anything that uses a macro in Haxe. Or any language that doesn't have a 'newtype' equivalent. Or enums. Or first order lambdas. Or any number of things that should be bloody de rigeur by now. Yes, PLT is really hard, I know, I know.)
Thursday, June 14, 2018
Sunday, June 10, 2018
Most programming is still ad-hoc. Even if somebody has an "architecture" for a project, chances are there's still a zillion things that aren't remotely statically checked.
What can/not be? depends on many things of course, but I wish there were a table, chart, venn diagram, whitepaper, or something that listed the ideas of what bugs can be statically checked. What if Maslov wrote about the hierarchy of needs of good computer systems? What if we start with non-turing completeness and see what we can assure, and then see what options we have if we start to 'fall back' into the turing mud pit.
What can/not be? depends on many things of course, but I wish there were a table, chart, venn diagram, whitepaper, or something that listed the ideas of what bugs can be statically checked. What if Maslov wrote about the hierarchy of needs of good computer systems? What if we start with non-turing completeness and see what we can assure, and then see what options we have if we start to 'fall back' into the turing mud pit.
Things I'd hope for; things that tend to be buggy:
+ order of operations.
+ type mismatches.
+ null.
+ over/under flow.
+ collection bounds checking.
+ concurrency: races, deadlock, livelock, determinacy.
+ performance.
+ security.
+ extensibility, eg algebraic compositional properties.
+ support for aspect oriented, cross-cutting concerns.
+ end-to-end data models.
+ versioning of any/everything.
+ cross-platform-ness.
+ reusability, or at least fuzzy logic copy-paste code detection.
Saturday, May 26, 2018
It isn't only that everything sucks. It is also that the interaction of everything massively sucks even more - if only because there's not one single neck to wring in those cases.
(For example, any recent car infotainment system, from what I have read.)
A small example: Ubuntu 14.04 desktop, running 2 Firefox profiles thus 2 windows, and I am trying to switch windows. Sometimes when I go into the 'expose' mode for those 2 windows and click on the one I want (the other one, that doesn't show up when Alt-Tabbing, at least not w/out a long pause on the Firefox entry in the Alt-Tab list) then it doesn't actually work and I end up on the same window again. Who is to blame? Firefox? Ubuntu? Both?
(For example, any recent car infotainment system, from what I have read.)
A small example: Ubuntu 14.04 desktop, running 2 Firefox profiles thus 2 windows, and I am trying to switch windows. Sometimes when I go into the 'expose' mode for those 2 windows and click on the one I want (the other one, that doesn't show up when Alt-Tabbing, at least not w/out a long pause on the Firefox entry in the Alt-Tab list) then it doesn't actually work and I end up on the same window again. Who is to blame? Firefox? Ubuntu? Both?
hm. I wish Firefox had a default global zoom level / page scale setting. Sure, I have some little sympathy for how complex it can all get, but still it seems like a little bit of a ux train wreck here.
Friday, May 25, 2018
Saturday, May 12, 2018
I have worked both with and on various purportedly "cross-platform" systems, and it is pretty much a complete lie to claim that there is such a thing - at least when it comes to good interactive apps. It isn't so much that it is trying to fit a round pet into a square hole, more that it is trying to fix an n-dimensional pristine design into a 40 foot tall block of swiss cheese excrement. From start to finish it is a freaking joke. A complete, obvious, bare-faced, indefensible, pathetic, blatant, embarrassing, silly, resounding fart of a joke. Package managers, programming languages, ecosystems, bugs: all just a freaking i-cry-myself-to-sleep type of a joke.
(Be sure to check back in with me once I've won my $250mm off of Safeway's Monopoly game and I've thus got the resources to 'put up' by actually solving this giant problem in studly gordian knot style!)
(Be sure to check back in with me once I've won my $250mm off of Safeway's Monopoly game and I've thus got the resources to 'put up' by actually solving this giant problem in studly gordian knot style!)
Over the years I've tried many a thing: Phonegap/Cordova, Haxe, Unity, Appcelerator Titanium, React-Native, Weex, Fable, Scala.js, et. al. and for each and every one of them the only time I actually feel really, really good using them is when I say, "eff this noise" and "cd ..; rm -rf test". Because they are all just horrible, horrible lies and damnation.
If you want to see where abstraction kills, just look at any of the hoops and hurdles and land mines and just outright insane things one has to do in order to get any software system set up. The complexity of supporting things is a complete indictment of the whole industry. But, it is all we've got.
Wednesday, May 9, 2018
Sunday, May 6, 2018
https://www.amazon.com/Microsoft-Software-Windows-System-Builder/product-reviews/B00ZSI7Y3U
nothing suspicious about amazon being any kind of technology competitor to microsoft, nah. i don't understand why msft hasn't sued amazon to hell and back if these reviews are accurate.
of course, anything that is locked down like windows os purchasing or steam or itunes movies or old yahoo music or any number of things, anything that is locked down will inevitably be a complete ux nightmare train wreck of hell, screwing the regular user who just wanted to buy it and use it. whereas the pirates are circumventing all that anyway. at least when i experience some horrible train wreck ux disaster with open source stuff i likely am not suffering the double insult and stress of having already forked out $100 for it.
nothing suspicious about amazon being any kind of technology competitor to microsoft, nah. i don't understand why msft hasn't sued amazon to hell and back if these reviews are accurate.
of course, anything that is locked down like windows os purchasing or steam or itunes movies or old yahoo music or any number of things, anything that is locked down will inevitably be a complete ux nightmare train wreck of hell, screwing the regular user who just wanted to buy it and use it. whereas the pirates are circumventing all that anyway. at least when i experience some horrible train wreck ux disaster with open source stuff i likely am not suffering the double insult and stress of having already forked out $100 for it.
Hah. DLNA is such a perfect example of technology being used for evil capitalist centralized overcomplicated purposes. What a complete train wreck. And then I go and try stuff like PLEX and it is a fuster cluck of epic proportions with the UX from hell and the upsell upsell upsell modal dialogs in the face.
Basically the world of technology follows Sturgeon's Law recursively: 90% of everything is crap, and then 90% of the remaining 10% is also crap, and then 90% of the 10% of the 10% is crap...
(It is really very super extremely depressing to me when I actually think about it or emote about it. I mean, the friendly aliens aren't going to make contact with us when this is how we run a planet. "Dood," they say to each other, "Did you see that iOS app CompanyX put out? What a tub! And how about that media server protocol? Ha ha ha I laughed so hard I just pissed my seven legs! I mean who are the marketing geniuses who came up with that one?!")
Basically the world of technology follows Sturgeon's Law recursively: 90% of everything is crap, and then 90% of the remaining 10% is also crap, and then 90% of the 10% of the 10% is crap...
(It is really very super extremely depressing to me when I actually think about it or emote about it. I mean, the friendly aliens aren't going to make contact with us when this is how we run a planet. "Dood," they say to each other, "Did you see that iOS app CompanyX put out? What a tub! And how about that media server protocol? Ha ha ha I laughed so hard I just pissed my seven legs! I mean who are the marketing geniuses who came up with that one?!")
Wednesday, April 18, 2018
The last few times I've called <a certain place> to reset my password (because their own https password reset page fails security checks in both firefox and chromium), I've gotten the same person (who is actually very patient, helpful, and competent). Do they really have only one single person handling all the telephone password reset requests?
Pretty funny (not) when the password reset form tells you that you have to have certain things in your password, but then when I type in a password that actually does not meet one of the criteria, it (a) dynamically updates to show that it things I have in fact met it, and (b) takes the password update just fine.
I think overall I probably do not like all the tracking and data collection that has been going on for ever, and which has recently been more in the news. (Of course the irony is that every since we've all had cell phones we've been tracked, but nobody really freaks out about it. So much cluelessness end to end.) But we've become inured to it I guess, even after doubleclick debacles and facebook effups.
However, one place I definitely don't want to see any trackers is on my health care provider's web sites. What the hell, people?! What the hell. Yeah, I so truly really want "brightcove" and "crazyegg" trackers, yeah!
However, one place I definitely don't want to see any trackers is on my health care provider's web sites. What the hell, people?! What the hell. Yeah, I so truly really want "brightcove" and "crazyegg" trackers, yeah!
Sunday, April 15, 2018
Saturday, April 14, 2018
Sunday, April 8, 2018
Linux often really sucks from an end user grandma I just want to do stuff UX perspective. If anything ever goes wrong (and it will, and it will be for no readily apparent reason) then you are pretty much utterly screwed because if you try to e.g. look at something akin to /var/log/syslog it will be full of warnings and errors about zillions of things that may or may not actually be relevant. (I mean, yes, I do grok the utter impossibility of having a kernel + extras that actually works across all the different hardware configurations out in the wild, so the fact that anything works anywhere ever at all is a freaking miracle!!!) But, ahem, the whole debugging process is just not useful.
I suspect anything Nvidia does with Linux is just really to make it so that people give up on linux and then move back to Windows. https://bbs.archlinux.org/viewtopic.php?id=225695 ... but of course having used Windows stuff and been through driver hell there as well, it isn't like I'd really expect everything to Just Work there either.
Saturday, April 7, 2018
Friday, March 30, 2018
Nothing makes me want to go on a cursing streak like when the Southwest Airlines web site requires JavaScript, and is setup to make sure it redirects me to a different "you need javascript" page so fast that I can't use the NoScript UI to do the temporary enabling thing.
Just one F-U after another, *that's* the Web.
Just one F-U after another, *that's* the Web.
Monday, March 19, 2018
Healthcare in the USA is a boondoggle. I mean it was bad before there was customer facing technology involved, but how we have the additional fuster cluck of all the web and mobile so-called "user interfaces" and "user experiences" that they come up with. Just a complete train wreck of horrible stuff like, say, out of date SSL certificates. And tracking cookies, invasive analytics, generally evil overkill use of JavaScript. Probably each and every possible sin of the wider computing world, only this time happily married with our personal health data.
Sunday, March 18, 2018
Saturday, March 17, 2018
Sunday, March 11, 2018
So right about now (funk soul brother) I am utterly, utterly loathing Google Photos. How can - oh, man, I just shouldn't get started on it. It is pointless. "How can anybody make something so utterly unusable, broken, and horrible?" Well, that's apparently a dumb question to ask, because they already have. Like, it says I uploaded 30 images, but only 13 of them appear, and it doesn't say anything about say deduplication being the cause, and reports only 1 upload failed, and I can see images on my local machine that obviously aren't showing up in the cloud, etc., and of course there's nothing I can do, no UI that can help me address this or even know WTF at all.
There's a lot of things I strongly detest about a lot of user interfaces I see day to day. One thing is when stuff moves around due to loading, or events. Because inevitably they move when I am just about to try to tap/click on them, and then either nothing happens, or something entirely different happens.
(I think Google design seems to be especially rife with this kind of blatant asinine dumb stupid in your face badness, both on the web and on Android. But of course the web mostly sucks that way too - people don't even seem to be able to set the width and height properties on their images so when the load the whole page shuffles around.)
(I think Google design seems to be especially rife with this kind of blatant asinine dumb stupid in your face badness, both on the web and on Android. But of course the web mostly sucks that way too - people don't even seem to be able to set the width and height properties on their images so when the load the whole page shuffles around.)
Wow. Every four letter word in the book applies to this one.
https://www.quora.com/Can-I-view-Google-Photos-as-a-list
https://www.quora.com/Can-I-view-Google-Photos-as-a-list
Friday, March 9, 2018
Thursday, March 8, 2018
Technology is a four letter word. (Especially if, like me, you want to morally support / are too cheap to use anything other than Linux at home.) Like the fact that the Brother all-in-one I have apparently can print photos from a usb stick, but cannot print, oh I dunno, freaking PDFs from it?!?!?!?!
It is sort of interesting to me that the old school companies manage to hold on to their positions probably due to their war chest of money and connections, because their web sites sure as heck make me think they should just die tomorrow. Giant retirement/investment corps that I have my money with, and like maybe I want to do a rollover from and old 401k - like, I want to actually give them more money - and their web site is unhelpful useless clueless hateful crap. Just crap. There's not even a search text entry field at all that I can see, not even one that is just pointing to Google. So I have to... go to Google and search there to find... pages on the financial institution's web site about how to do the rollover?!?!?!!?! Of course the top hit for them turns out to be a page full of hot air that ends up just saying I should call a person, rather than just giving me the 2 or 3 pieces of information I'd need to get a check cut right away. Oh. My. Gawd. The word "support" is not on my account web page, either. Like, shouldn't they have 24/7 online tech support, given how much money they are likely making off of us?
Tuesday, February 27, 2018
Having been a part-time contributor to one of the world's worst backup tools, I can appreciate what goes into making one that doesn't actually suck. It is fundamentally a hard problem because the state space is inherently a nightmare: You have to try to support umpteen different SKUs of software and hardware. For an ideal product: you have to support the fact that linux file names have no encoding at all, they are just bytes; You have to keep it affordable vs. the competition; You have to deal with idiot users; You have to support versions of the OS that even the manufacturer doesn't support any more (ahem Apple jerks); You have to deal with things like the app jailing on mobile devices; You have to deal with the fact that while you are examining the data, it is liable to be modified; You have to test your restore feature; You have to document things; You probably have to have some REST APIs; You have to consider encryption; You have to consider de-duplification; Etc. ad nauseum ever and always, amen, world with out end, amen.
So I really do appreciate the technical details that go into such a venture.
But (and there's always a But, Virginia) no matter how good your tech is, if your customer support sucks then I believe all is for naught. Case in point: as much as I wanted to like iDrive, they completely and utterly failed when it came to, you know, actually working. At all. For the machines I actually have. You know, the real world scenarios of real users with real data they really want to back up, and right now.
The level of customer support failure was pretty epic. Things like, "If you have additional questions or information regarding the issue, please reply to this email" but then it turns out that their email originated from <noreply@ticket.idrive.com> ha ha I see what you did there.
Of course when I go and research the alternatives, they all suck dirty donkey cohones in other painfully obvious ways. Which always brings me full circle back to wishing I had the balls and money and brains to create yet another startup for doing backups - because I have the feature set in mind, nicely fleshed out -- a service that didn't actually suck, as if it isn't a universal truth woven into the very fabric of space-time that such a thing is by definition impossible and cannot ever actually exist.
So I really do appreciate the technical details that go into such a venture.
But (and there's always a But, Virginia) no matter how good your tech is, if your customer support sucks then I believe all is for naught. Case in point: as much as I wanted to like iDrive, they completely and utterly failed when it came to, you know, actually working. At all. For the machines I actually have. You know, the real world scenarios of real users with real data they really want to back up, and right now.
The level of customer support failure was pretty epic. Things like, "If you have additional questions or information regarding the issue, please reply to this email" but then it turns out that their email originated from <noreply@ticket.idrive.com> ha ha I see what you did there.
Of course when I go and research the alternatives, they all suck dirty donkey cohones in other painfully obvious ways. Which always brings me full circle back to wishing I had the balls and money and brains to create yet another startup for doing backups - because I have the feature set in mind, nicely fleshed out -- a service that didn't actually suck, as if it isn't a universal truth woven into the very fabric of space-time that such a thing is by definition impossible and cannot ever actually exist.
Sunday, February 25, 2018
I think probably the more something is a walled garden, the more it is like rubbing sand paper in my eyeballs when it doesn't work well. Pretty much anything on the PS3, PS4, Xbox 360, Xbox One, 3DS, (and, really, iOS and Android - we won't even "go there" wrt MS Win Phone) etc. is a torrential sewage spewing train wreck when it comes to usability. Just horrible, horrible crap out of the box. Literally out of the box: the Xbox One setup is a freaking nightmare of brain dead usability hell. Or, maybe, I guess, it really is just me and I am on the wrong planet.
It is also super cool when all the "answers" and "help" about a given issue are themselves insufficiently precise and accurate. So there's all sorts of people writing about the same problem, and then sometimes saying, "[SOLVED]" or whatever, but then their solution actually isn't clear enough for another sucker (i.e. me) to get any further with the bloody situation. Until I divine from said "answers" what the real problem really actually is, for real. (And given the amount of answers already appearing in the search results, me trying to correct it by blogging the real answer isn't going to amount to a hill of bits.)
Unfortunately, a fair amount of software development is just trying to guess what asinine solution there is to the current asinine problem one is facing. Rather than actually spending what little time we have on this earth actually working on what we are trying to get set up to work on. Like, when a supposedly all-in-one magic build tool never says anything anywhere about the fact that it has to be run in the current directory. Or, like, when there are troublesome glyphs in a path. Or, like, when you have to do a clean build, or else. Or, like, when there's just a really deep seated bug in the code and you have to patch it. Or, like, a cross-platform tool that is brittle with respect to line endings. Or, ..., you name it. Puke. Epic failure on the part of the humans.
It boggles my mind that things as, I should hope, "simple" or at least "well researched" as freaking open-file type dialog UX's are often still super utter excrementally poopy. For example, Linux GUIs are very often super barfy in that respect in my experience. IntelliJ's GUI is also - I just re-rediscovered - a big pile of dookie as well. It seems to let me ctrl-click to select more than one file to include, but then... it actually only included the first one in the set when all was said and done. With no real feedback on that other than that I had to manually personally notice that only the first one was added. So, like, that's just great. Yeah.
It bugs me that people have pretty much given up, eschewed, dropped most responsibility for having docs and code and instructions that don't suck by just kicking everything off to either github issues or, even worse, stackoverflow (react-native is a particularly egregious poster child in that regard). At the very least I wish apps (e.g., say, IntelliJ) would have a feature built in that finds relevant S.O. answers to wtf just went wrong that automatically shows those in some useful friendly way, rather than me having to constantly freaking be switching around trying to just make any sort of progress at all. Like getting IntelliJ to make an actual JAR file.
There's some sort of jumping the shark that happens with user interfaces, that drives me nuts. Case in point: the UX of history and bookmarks in all major browsers seems to have gone to hell in the last 5 to 10 years. Pretty much these days whenever I go try to find something I was literally just reading, just closed, it doesn't appear in the list and I have to hunt around for it. What the hell? And then similarly with bookmarks, now there are like at least 3 different 'places' in Firefox I can accidentally save a bookmark so that I can never find it again (Bookmarks Menu, Bookmarks Toolbar, Other Bookmarks).
It is not happy cute durable turtles all the way down, it is olestra-leaky abstractions from hell. Whenever I think I want to do some kind of project that works with Java libraries, I day dream that oh I'll use Scala because even thought I don't like a lot of the jumped-the-shark syntax, I do like the idea of at least having a repl and static type checking - and then I am told I have to use either Intellij or sbt, and no matter which one I try it is a living hell of opaque broken crap from hell.
If for some techno-apologist b.s. reason you don't believe the computing experience is a lot crappier than it should be:
x@z:~/Dev/scbk$ java --version
Unrecognized option: --version
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
x@z:~/Dev/scbk$ java -version
java version "1.8.0_151"
Java(TM) SE Runtime Environment (build 1.8.0_151-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.151-b12, mixed mode)
x@z:~/Dev/scbk$ java --version
Unrecognized option: --version
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
x@z:~/Dev/scbk$ java -version
java version "1.8.0_151"
Java(TM) SE Runtime Environment (build 1.8.0_151-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.151-b12, mixed mode)
It continually explodes my mind with frustration that the UI thread ever can be blocked. Like browsers pretty much locking up or at least turning to hateful molasses when some javascript goes nuts. Or god knows whatever else. Of course, Firefox has kind of been going down hill itself recently. Like how I just clicked on a file to save, and the dialog box comes up with "open" or "save" radio buttons, and then a checkbox for "always do this" and the "save" button is preselected and I cannot actually click on anything else other than the OK or Cancel buttons. Clicking on "always" does not actually turn it on. And of course it is some random thing where I would probably have a hard time reproducing it, and there's no indications in the UI itself as to why there might I dunno maybe be an overt reason for it, however stupid. There's just all too often no way to distinguish any more between crappy slow junk that make the UX suck, vs. stuff that is like written by crazy people to work however it works on purpose, no matter how broken stupid wrong broken that UX is when I get to use it. Computers really do suck these days, and they suck hard.
Saturday, February 24, 2018
Ugh. AFAICT there will never be an organization that successfully ties the knot among Product, Development, and Support. They will always have large organizational, structural gulfs keeping them from actually knowing wtf. So whenever I contact Support I know it will, most likely, be a slow arduous process...
Re-reading Tao Te Ching, I have a few different translations, some more hippy-dippy than others. There's so much more opportunity for homonym puns in languages like Chinese than in English. We can have double-entendres and innuendo and backhanded compliments, but the compactness of potential double-meanings just isn't there.
Wednesday, February 7, 2018
If there's one thing I really really really hate about software projects, it is the lies. The purposeful lies. The lies of self deception. The lies of omission. Lies of laziness. Lies of ineptitude. It particularly burns my sphincters that open source projects do it.
Purposeful lies: e.g. When commercial folks (cough cough oracle) do pre-selling.
Lies of self-deception: e.g. When people working on the project sweep bugs under the carpet with either inattention or an explicit won't-fix in the hopes that the no-clothing thing isn't really a problem (ahem react-native).
Lies of omission: e.g. Things that say (cough cough Hydrogen / Jupyter) oh yeah sure we support <all these languages>! But then you go and look at what the actual integrations support and most of them are half-arsed crap that e.g. doesn't even support history. This category of lying is a bedfellow of the previous category.
Lies of laziness: e.g. When the docs are (ahem Elm) out of date, when the tutorial sample code is out of date.
Lies of ineptitude: e.g. When people are too ignorant or thick-headed about User eXperience that they can't admit that oh look this (ha ha Clojure) exception stack trace stuff (back in the day) on any simple error is actually a blatant steaming pile of poo ux.
Purposeful lies: e.g. When commercial folks (cough cough oracle) do pre-selling.
Lies of self-deception: e.g. When people working on the project sweep bugs under the carpet with either inattention or an explicit won't-fix in the hopes that the no-clothing thing isn't really a problem (ahem react-native).
Lies of omission: e.g. Things that say (cough cough Hydrogen / Jupyter) oh yeah sure we support <all these languages>! But then you go and look at what the actual integrations support and most of them are half-arsed crap that e.g. doesn't even support history. This category of lying is a bedfellow of the previous category.
Lies of laziness: e.g. When the docs are (ahem Elm) out of date, when the tutorial sample code is out of date.
Lies of ineptitude: e.g. When people are too ignorant or thick-headed about User eXperience that they can't admit that oh look this (ha ha Clojure) exception stack trace stuff (back in the day) on any simple error is actually a blatant steaming pile of poo ux.
Saturday, February 3, 2018
It is weird to me that web sites go down the drain of having pop up ads, pop over ads, modal ads, animated ads, every kind of freaking ad set up between me and the content on their web site that I wanted to, maybe, you know, read. My current policy is that since most of the time I can get the info elsewhere (e.g. basic stuff about programming languages) then I immediately close that tab and move on to some other search result. So it just seems utterly self defeating to me for them to spiral into that particular usability hell. I guess it is like email based spam: you hope there's enough suckers in the world for you to earn a living off of them?
Saturday, January 6, 2018
The thing is, your little screw up or bug or bad ux is not just some drop in the ocean that nobody will notice; that will have no real effect. Nor is it some instantly forgettable trivial nothing. Rather it is more like the proverbial last straw on the camel's back; the last papercut in a death by a thousand papercuts.
I don't understand why apparently 99.9% of all software projects and tools fail to do an even remotely passably usefully acceptable job when it comes to things like documentation and version checking. Basic, basic stuff. Have the people working on all those projects never ever been frustrated, annoyed, stymied, blocked, broken, diverted, derailed, confused, confabulated, confusababbled, or just basically pissed right the heck off by other tools they've ever used? Have they never thought to themselves, "Gosh, this is so bad, it makes me think that when I have to write my own README.md I will kind of make sure it doesn't suck and, like, actually tries to give enough specific details that a newb can get through ok? Oh and maybe I'll even make my tools smart enough to know/warn/assert/require/assist about versioning?" Do you seriously wonder why all the alien races in the universe have put up a giant DO NOT CONCTACT, HERE BE STUPID beacon around our solar system?
Always funny to come across some other set of poor dumb schmucks who are being arbitrarily screwed in the same way by utterly bad stupid wrong broken hateful evil bad UX.
Monday, January 1, 2018
Firefox 57.0.3 64 bit on Ubuntu 16.04 LTS 64 bit has apparently made a new year's resolution to be a crashy pile of poo. It also is great that when I restart it and it says it can restore tabs that it opens a whole new window so I end up with extra useless Firefox windows lying around for no good reason, especially since older versions didn't do this crap.
Subscribe to:
Posts (Atom)