WTF Bites



  • @pie_flavor said in WTF Bites:

    @Rhywden Imagine a school-wide Discord server. Or Slack if you've got that self-hosting boner.

    It's not a boner but it makes a number of things easier. Slack is way too expensive for us, however. Don't forget, we'd need 1700+ users. And it would only need to be low-volume anyway - Slack would be a bit of an overkill.



  • @Rhywden said in WTF Bites:

    Slack is way too expensive for us, however

    Did you try Mattermost?



  • @TimeBandit Yeah, no LDAP / no SSO. Also, no detailed permission policies. That would make it a downgrade.



  • @Rhywden said in WTF Bites:

    no LDAP / no SSO

    no detailed permission policies

    🤷🏻♂



  • @TimeBandit Not in the free tier - the E10 is 39€ per user per year.


  • Discourse touched me in a no-no place

    @Rhywden said in WTF Bites:

    And then there's XMPP.

    That's a… complicated… protocol. The core messaging layer is based on XML streaming, which is a rather weird concept to begin with, and the bits and pieces required to allow service discovery require some pretty odd DNS configs. OK, once you overcome the shock of what is going on with XML, it seems quite reasonable… until you look at how XMPP standards are promulgated and you end up wondering whether the people involved have got any brain cells left after ingesting that many weird mushrooms.

    All of this before you consider the hot garbage that is the actual service implementations, or the bizarre dumpster fires that are most XMPP clients.

    [EDIT] OTOH, it can be bridged to Slack you have a reasonably open way of getting data out of that particular vampire squid (including the ability to keep infinite logs on your own hardware). It's definitely not all bad.


  • Notification Spam Recipient

    @Rhywden said in WTF Bites:

    I'm not sure why uploading files is such a horrendous problem compared to photos.

    You haven't done much file management on iOS, have you?



  • @dkf Yes, the clients were also not quite what I consider "production ready".



  • WTF of my day: So I had been using a framework (Meteor) which allows me to do everything in one package, using Cordova I could even deal with iOS and Android with merely one codebase.

    However, due to the nature of the beast (I should've suspected as much), something went wrong - basically, the browser side worked just fine, the Android part didn't register any calls to the server (which, for example, prevented something as unimportant as users logging in) and Hot Code Push didn't work as well which made a complete restart neccessary every time I changed client-side code ... and the iOS version simply exploded.

    Currently pivoting to something more sane. Am considering either Flutter (based on Dart) which would mean two codebases. Or going completely native (i.e. Swift, Kotlin and Javascript) but that would be three codebases. FML.


  • Discourse touched me in a no-no place

    @Rhywden said in WTF Bites:

    Yes, the clients were also not quite what I consider "production ready".

    There are some fairly good XMPP clients, but they're locked to particular application areas. OTOH, XMPP itself is actually well suited to things like being a service fabric where you're frequently communicating with the same back end service. But I've yet to see a spec out for it that was clearly written, and obviously written by someone not off their head on something illegal in quite a few jurisdictions…


  • BINNED

    @Rhywden said in WTF Bites:

    3d79bca1-5212-41f5-aeac-4e42048a3880-image.png

    This is an excerpt from a chat between me and my superior - to the right are my messages.

    Without the context your choice of emoji after “should I still come over” would make me think you want to date your superior. Actually, even with context I’m not sure. 😜


  • BINNED

    @Rhywden said in WTF Bites:

    you cannot see anyone else without joining their "federation",

    “Remain Klingon!”
    https://youtu.be/MvwxO0S7HdM

    @Rhywden said in WTF Bites:

    @TimeBandit Yeah, no LDAP / no SSO.

    I login to our Mattermost server with my gitlab login. Not sure if that counts as “SSO”.


  • Considered Harmful

    @Tsaukpaetra said in WTF Bites:

    Status: Bobby3 is all alone and feeling left out. But for some reason Jenkins doesn't want to let him play....

    Jenkins is quite right. Hypatia can't handle more than a nightly foursome, anything more just leads to loch contention.


  • Considered Harmful

    @Rhywden said in WTF Bites:

    And then there's XMPP. Well, the first server I installed (Prosody) told me that it was running but did not let anyone connect to it. Ports were open, SSL configured correctly, the logs said: "Okay! Everything is fine!" but the clients said: "Nay."

    :wtf:
    Tried telnet and/or openssl?

    Which is where I found one of those XMPP clients to be a massive PITA. Because if you get something wrong (or the server is unreachable or something) you'll be presented with an obnoxious error message. Repeated in 3 second intervals (at least non-blocking, but seriously!) ad infinitum.

    I know of a single sane XMPP client for Android and that's Conversations. That one is actually quite cool. iOS, no clue. On the desktop I use Gajim which I think is multiplatform because Python.

    Okay, scratch that one, on to EJabberd. Installed fine, the clients were also able to connect. Soooo. Where are the users? Yeah, turns out that you have to fill your contact list manually or something. Though there may be a way to allow contact queries. But I wasn't able to make heads or tails out of their configuration scheme for the access rights.

    Yeah, EJabberd can be a PITA. We changed from EJabberd to Prosody at work a year ago, that's running just fine though.

    So I may be forced to implement our own chat solution.

    :doing_it_wrong:
    Nah, seriously. If you want to make it a web app, that's not particularly fast or easy on the battery anyway. Maybe have a look at DeltaChat before you try. It uses SMTP and push IMAP as a protocol, which isn't particularly fast but if you have a central mail server for the school and a semi convenient way of administering email addresses anyway, maybe that would work and not even incur too long delays because the mail is all in one place anyway.



  • @LaoC said in WTF Bites:

    @Rhywden said in WTF Bites:

    And then there's XMPP. Well, the first server I installed (Prosody) told me that it was running but did not let anyone connect to it. Ports were open, SSL configured correctly, the logs said: "Okay! Everything is fine!" but the clients said: "Nay."

    :wtf:
    Tried telnet and/or openssl?

    Yes, that worked. Hooray for user friendly error messages which don't reveal anything to the admin.

    Which is where I found one of those XMPP clients to be a massive PITA. Because if you get something wrong (or the server is unreachable or something) you'll be presented with an obnoxious error message. Repeated in 3 second intervals (at least non-blocking, but seriously!) ad infinitum.

    I know of a single sane XMPP client for Android and that's Conversations. That one is actually quite cool. iOS, no clue. On the desktop I use Gajim which I think is multiplatform because Python.

    Yeah, but our pupils have a lot of iPhones. And the clients on that platform...

    Okay, scratch that one, on to EJabberd. Installed fine, the clients were also able to connect. Soooo. Where are the users? Yeah, turns out that you have to fill your contact list manually or something. Though there may be a way to allow contact queries. But I wasn't able to make heads or tails out of their configuration scheme for the access rights.

    Yeah, EJabberd can be a PITA. We changed from EJabberd to Prosody at work a year ago, that's running just fine though.

    So I may be forced to implement our own chat solution.

    :doing_it_wrong:
    Nah, seriously. If you want to make it a web app, that's not particularly fast or easy on the battery anyway. Maybe have a look at DeltaChat before you try. It uses SMTP and push IMAP as a protocol, which isn't particularly fast but if you have a central mail server for the school and a semi convenient way of administering email addresses anyway, maybe that would work and not even incur too long delays because the mail is all in one place anyway.

    I'm halfway there already. The thing is that our LDAP defines groups (i.e. classes and courses) and I'll simply do a 1:1 mapping of those. This means that the whole user creation / group creation / administrating part in that particular area can be avoided.



    • I use Thunderbird as my email client (no, not the :wtf:)
    • I have other programs that send email for me via that (no, not the :wtf:)
    • TB prompts with the message on sending (no, not the :wtf:)
    • I updated to v60.5.2 (automatically) (no, not the :wtf:, well, on 2nd thought...)
    • The other program sends an email - no prompt, email sent :wtf:.
      Hey, nice security hole you just opened there TB. Now anything can send an email and I won't know (except the copy left in my sent email folder)
    • Reinstall v60.5.2 via the full downloaded installer. Sending email via mapi once again works as expected.

    I'm now going back to each machine and manually reinstalling. Thx TB!



  • @Rhywden said in WTF Bites:

    WTF of my day: So I had been using a framework (Meteor) which allows me to do everything in one package, using Cordova I could even deal with iOS and Android with merely one codebase.

    However, due to the nature of the beast (I should've suspected as much), something went wrong - basically, the browser side worked just fine, the Android part didn't register any calls to the server (which, for example, prevented something as unimportant as users logging in) and Hot Code Push didn't work as well which made a complete restart neccessary every time I changed client-side code ... and the iOS version simply exploded.

    I would suggest you try this product. I don't have experience with this new version, or the requirements you have, but RAD Studio advertises it can do what you want.

    Embarcadero® RAD Studio XE2 [...] build data-rich, visually engaging applications for Windows, Mac, mobile, .NET, PHP and the Web. [...] across multiple desktop, mobile, Web, and database platforms


    Currently pivoting to something more sane. Am considering either Flutter (based on Dart) which would mean two codebases. Or going completely native (i.e. Swift, Kotlin and Javascript) but that would be three codebases. FML.

    Haha, native Javascript 😂 That always cranks me up. Even though I would argue the same for Swift and Kotlin: I wouldn't call them native (even tough they have better performance). But maybe I'm just unaware of the definition of "native".


  • Java Dev

    @dcon You sure it didn't fail to connect to thunderbird and decide to send direct instead?



  • @Flips Well, I meant it more as a "1st class citizen" and not "something plonked on top of something else maintained by 3rd parties".

    Also: Delphi? Plus, they want 2,628€ for their IDE. Hard pass. Plus², that does not even include "Build database apps with client/server connectivity" - that would be 4,171€!



  • @PleegWat said in WTF Bites:

    @dcon You sure it didn't fail to connect to thunderbird and decide to send direct instead?

    Yes. Because the message was in my sent folder. And I've never given the originating program my email credentials. And after re-installing, the show-the-email-and-make-the-user-hit-send behavior was back.


  • area_can

    e21c69c4-904b-4940-a22a-f58e30ba828c-image.png



  • @Rhywden
    Well.. I like the Pascal Language. But they support a lot more I've seen.

    Btw I think 5000 dollar is rather cheap, as a good piece of software can be sold for lots more. Or even saves lots of money spend on salaries.


  • :belt_onion:

    @Flips said in WTF Bites:

    @Rhywden
    Well.. I like the Pascal Language. But they support a lot more I've seen.

    Btw I think 5000 dollar is rather cheap, as a good piece of software can be sold for lots more. Or even saves lots of money spend on salaries.

    But it's a really bad piece of software, as far as I can tell. None of their demos look remotely nice to use or well designed, and frankly you can produce a better end product with the free cross-platform tools already out there. Having never used it, I can't speak to ease of development and production, but I'm not particularly impressed

    EDIT: OK, click through to the actual IDE page and you can see a better demo that actually looks reasonably usable-ish. Except that it still violates the design guidelines of the Android build at the very least, and I don't think iOS apps are supposed to have hamburger menus like that. UWP I'm not up on, but it doesn't feel particularly native there either.

    IOW - nothing about this framework seems particularly impressive, or better than the "Pretend I'm native but I'm actually a website" style cross-platform Cordova gets you.


  • :belt_onion:

    @sloosecannon Now I'm irritated, because these types of apps are shitty and annoying so

    2b65e8a9-45a2-4986-ac3f-a1435351a847-image.png

    1. [Design] Navbar does not follow standard Material Design patterns (even though it's clearly attempting to - it looks vaguely Material). It shouldn't be centered, and the status bar should be themed to match the application.
      4f3c38e1-4878-4c9a-95d7-3cf440b4ccd3-image.png

    2. [Design] Text fields do not remotely match Material Design guidelines (nor previous incarnations such as Holo)
      20b6d4a5-3d5b-4a2e-86b2-63a4b54e88d0-image.png

    3. [Design] Login button also does not even remotely match the guidelines, nor does it match previous versions.
      8f668982-0850-4b6e-980b-8092313d8cb1-image.png

    4. [Usability/Design] What the fuck does this button do. Also, fails to match button design guidelines (see 3. above)

    In short, this demo app is a perfect example of the kind of shit-grade app that companies love to churn out that frustrate people used to the design and usability patterns of the platform. It's just as bad as the people that love to go design-crazy with WPF/WinForms apps and maul them into something not even recognizable as built with the same framework. This is all guessing, now, but this app is probably guilty of the following, too, given what we know already:

    • Using Android 2.3 style AlertDialogs, rather than 4.0+ or 5.0+ styled ones (appearing entirely out of place in the platform) - cross platform frameworks don't tend to use up to date target platforms
    • Failing to make use of the newer Notification API, let alone Notification Channels - again, targeting older versions
    • Minor bugs and quirks - such as not having the Enter/Submit/Next key on the on-screen keyboard hooked up properly for text boxes - usually requires Work ™ and we all know how lazy developers are. This is supported and usually hooked up automagically in native apps.

    Now, this kind of crappy app can be easily made in most any of the cross-platform frameworks, but there are options that give you more compatibility for little to no development cost. Also, I'd expect something I'm paying north of $5000 for to be a little better than the free competition.

    And if someone's so inclined to point out issues with the other versions of the demo app...
    c6af4408-7ee4-4fde-b01a-21f1010a7fec-image.png


  • Banned

    @bb36e said in WTF Bites:

    e21c69c4-904b-4940-a22a-f58e30ba828c-image.png

    You can, but your family can decide to make another one.



  • @dkf said in WTF Bites:

    That's a… complicated… protocol. The core messaging layer is based on XML streaming, which is a rather weird concept to begin with, and the bits and pieces required to allow service discovery require some pretty odd DNS configs. OK, once you overcome the shock of what is going on with XML, it seems quite reasonable… until you look at how XMPP standards are promulgated and you end up wondering whether the people involved have got any brain cells left after ingesting that many weird mushrooms.

    Back when I still used XMPP somewhat regularly, I worked at a company where all internet access had to go through a HTTP proxy. Fortunately there were some options where the server listened on port 443, so I could tunnel through with CONNECT. However the proxy, as HTTP proxies often do, tended to drop the connection now and then and whenever that happened, XMPP lost the message, because it has no protocol-level acknowledge and the sender simply considered their work done when they handed the message down to write even if the connection subsequently errored. The result was utterly useless.

    It's been some time. I think there is an extension that adds acknowledge. I doubt most clients and servers implement it though and without it the protocol is still just as useless.

    Also XMPP can't synchronise clients that were not connected when the message was sent, which Skype always did and the new chat applications generally do as well. Kinda useless without history on all clients these days.


  • Discourse touched me in a no-no place

    @Bulb said in WTF Bites:

    Also XMPP can't synchronise clients that were not connected when the message was sent, which Skype always did and the new chat applications generally do as well. Kinda useless without history on all clients these days.

    IIRC, there's an extension that adds a history service that your client can just query to get what it missed. But that might've been a local addition…



  • @Rhywden said in WTF Bites:

    Also: Delphi? Plus, they want 2,628€ for their IDE. Hard pass. Plus², that does not even include "Build database apps with client/server connectivity" - that would be 4,171€!

    Delphi isn't that bad (after all, MS did hire their lead architect to create C#), but the price is insane given the competition in that sector.



  • @Zerosquare said in WTF Bites:

    @Rhywden said in WTF Bites:

    Also: Delphi? Plus, they want 2,628€ for their IDE. Hard pass. Plus², that does not even include "Build database apps with client/server connectivity" - that would be 4,171€!

    Delphi isn't that bad (after all, MS did hire their lead architect to create C#), but the price is insane given the competition in that sector.

    Especially if you consider that a license for Visual Studio Professional is $499.


  • I survived the hour long Uno hand

    @bb36e
    Why would you waste space that could be better dedicated to pepperonis?


  • Trolleybus Mechanic

            Select Case HasCoupon
                Case True
                    // True Stuff
                Case False
                    // False Stuff
            End Select
    

    The best part about it is that within those Case statements, there's If...Else decisions.



  • @Lorne-Kates said in WTF Bites:

            Select Case HasCoupon
                Case True
                    // True Stuff
                Case False
                    // False Stuff
            End Select
    

    The best part about it is that within those Case statements, there's If...Else decisions.

    It's called future-proofing, sheesh. You never know when you'll need to add another value there, and you wouldn't want to have to rewrite your if, now would you?


    Filed under: Case FILE_NOT_FOUND


  • Considered Harmful

    @Zerosquare said in WTF Bites:

    Delphi isn't that bad (after all, MS did hire their lead architect to create C#), but the price is insane given the competition in that sector.

    "Isn't that bad" having the meaning of stagnated at the turn of the millennia, not coincidentally when said hiring was taking place.

    It was not bad. It's fairly easy to pick up, it doesn't cripple your mind, while remaining accessible (to a point), it thus serves well to its original purpose of being suitable for teaching programming. Now, one can still write good and reasonably performant programs in it, but the pricing removes any reason to try. Most of the useful things it had (except for the x64 compiler) it had back when Borland was still more than a name.

    I'd expect the only clients they have at this point is a handful of fanatics, hobbyists (see: pirates; I don't think the Community release made big waves in that regard) and a number of enterprises maintaining large legacy cabbages (with missing bits somewhere on the FTP named "legacycomp.zip") desperately avoiding rewrites (given the state of programming these days that would not be entirely unreasonable). Certainly for Embarberdero at this stage it doesn't make sense to develop the product anymore, just spew some managerati bingo and write fat checks for themselves. To complete the picture, there's a bunch of pirates (formerly including me); the convoluted home-rolled DRM (that obviously fails) is a :wtf: in and of itself.

    And I wonder if "" is still not a valid integer value, IYKWIM.


  • Considered Harmful

    @Gąska said in WTF Bites:

    You can, but your family can decide to make another one.

    Can't you haunt them then as a ghost from time to time? I keep telling I will if they bury me under a cross, for example. I think it's important that they believe I actually could provided they believe the cross part.


  • Banned

    @Applied-Mediocrity said in WTF Bites:

    @Gąska said in WTF Bites:

    You can, but your family can decide to make another one.

    Can't you haunt them then as a ghost from time to time?

    Not in 21st century. They'll get excited, not scared.


  • Notification Spam Recipient

    @Gąska said in WTF Bites:

    @Applied-Mediocrity said in WTF Bites:

    @Gąska said in WTF Bites:

    You can, but your family can decide to make another one.

    Can't you haunt them then as a ghost from time to time?

    Not in 21st century. They'll get excited, not scared.

    :giggity:



  • @Gąska said in WTF Bites:

    You can, but your family can decide to make another one.

    <emoji/>*
    * He was a dork. We loved him.




  • Considered Harmful

    @Tsaukpaetra
    I don't know whether to admire your ability of finding :giggity: pretty much everywhere or to remain confused by it IMBNH.



  • @Applied-Mediocrity said in WTF Bites:

    large legacy cabbages

    How large does a cabbage need to be to have a legacy?


  • Considered Harmful

    @HardwareGeek
    My god, it's so large, heavy and green, I love it!


  • Notification Spam Recipient

    Status: In Unreal Engine, if you change anything about your window layout (i.e. position of the window on screen, how wide the panels are, etc), it is considered that your content must now be invalid, and that it must be recooked.

    Yes, apparently, changing the position of a window might cause asset information to magically change. Somehow.
    4bbaee72-d23f-45c4-9dc0-6e9313b2d15f-image.png

    :wtf:

    hich is

    :Edit: NodeBB swallowed my post somehow so you only get this draft I guess. :mlp_shrug:



  • @Tsaukpaetra said in WTF Bites:

    :Edit: NodeBB swallowed my post somehow so you only get this draft I guess.

    What happened, did you resize your window or something?


  • Notification Spam Recipient

    @hungrier said in WTF Bites:

    @Tsaukpaetra said in WTF Bites:

    :Edit: NodeBB swallowed my post somehow so you only get this draft I guess.

    What happened, did you resize your window or something?

    No, somehow Windows thought I was holding down the Ctrl button, and when I went to go correct the w it closed my primary window of 31 tabs (lovely). I Ctrl+Shift+Tabed to get it back, which did have the rest of my post, but upon submitting it posted what you see here instead.


  • 🚽 Regular

    @Applied-Mediocrity said in WTF Bites:

    @Tsaukpaetra
    I don't know whether to admire your ability of finding :giggity: pretty much everywhere or to remain confused by it IMBNH.

    @Applied-Mediocrity said in WTF Bites:

    @HardwareGeek
    My god, it's so large, heavy and green, I love it!

    :frystare:



  • This is something I've never seen before, YouTube video embeds are broken everywhere, even on YouTube...

    a263a6e8-1de9-484d-89ed-144f1cb941b9-image.png

    63263eaf-2e93-4072-80bf-b167fa4fc312-image.png


  • BINNED

    @HardwareGeek said in WTF Bites:

    @Applied-Mediocrity said in WTF Bites:

    large legacy cabbages

    How large does a cabbage need to be to have a legacy?

    This picture was taken just before it ate him and took over his flower shop.



  • What is the point of abbreviating most identifiers by one vowel? E.g. Cntroller, Hndle


  • Dupa

    @Tsaukpaetra said in WTF Bites:

    @Rhywden said in WTF Bites:

    I'm not sure why uploading files is such a horrendous problem compared to photos.

    You haven't done much file management on iOS, have you?

    Well, it's not supposed to be bad:

    @Rhywden, maybe that client actually allowed for sharing files, just through the "share file" feature. This would make sense. This is actually the exact way I'd expect this to work on iOS.



  • @kt_ Naw, tried that as well. Wasn't able to find the app under the list of targets for file sharing.


Log in to reply