• 1 Post
  • 19 Comments
Joined 6 months ago
cake
Cake day: January 3rd, 2024

help-circle
  • QT is a cross platform UI development framework, its goal is to look native to the platform it operates on. This video by a linux maintainer from 2014 explains its benefits over GTK, its a fun video and I don’t think the issues have really changed.

    Most GTK advocates will argue QT is developed by Trolltech and isn’t GPL licensed so could go closed source! This argument seems to ignore open source projects use the Open Source releases of QT and if Trolltech did close source then the last open source would be maintained (much like GTK).

    Personally I would avoid Flutter on the grounds its a Google owned library and Google have the attention span of a toddler.

    Not helping that assessment is Google let go of the Fuschia team (which Flutter was being developed for) and seems to have let go a lot of Flutter developers.

    Personally I hate web frontends as local applications. They integrate poorly on the desktop and often the JS engine has weird memory leaks



  • You are far worse than the people you are claiming to act against.

    Lots of people can feel something is a problem and struggle to articulate it. So you have to take people on a case by case basis.

    OP talks about how they feel diverse characters are shoe horned in or badly written. Ask them to provide an example.

    When they can’t, then call them out. They are a bigot and deserve scorn.

    If they can provide an example, help them understand the issue and use appropriate language.

    Calling someone out who genuinely feels there is a problem doesn’t stop them feeling there is a problem. These people will go looking for some who acknowledges their feelings.

    Which is how you make a bigot



  • Immutable distributions won’t solve the problem.

    You have 3 types of testing unit (descrete part of code), integration (how a software piece works with others) and system testing (e.g. the software running in its environment). Modern software development has build chains to simplify testing all 3 levels.

    Debian’s change freeze effectively puts a known state of software through system testing. The downside its effecitvely ‘free play’ testing of the software so it requires a big pool of users and a lot of time to be effective. This means software in debian can use releases up to 3 years old.

    Something like Fedora relies on the test packs built into the open source software, the issue here is testing in open source world is really variable in quality. So somethinng like Fedora can pull down broken code that passes its tests and compiles.

    The immutable concept is about testing a core set of utilities so you can run the containers of software on top. You haven’t stopped the code in the containers being released with bugs or breaking changes you’ve just given yourself a means to back out of it. It’s a band aid to the actual problem.

    The solution is to look at core parts of the software stack and look to improve the test infrastructure, phoronix manages to run the latest Kernel’s on various types of hardware for benchmarking, why hasn’t the Linux foundation set up a computing hall to compile and run system level testing for staged changes?

    Similarly website’s are largely developed with all 3 levels of testing, using things like Jest/Mocha/etc… for Unit/Integration testing and Robots/Cypress/Selenium/Storybook/etc… for system testing. While GTK and KDE apps all have unit/integration tests where are the system level test frameworks?

    All this is kinda boring while ‘containers!’ is exciting new technology




  • stevecrox@kbin.runtoFediverse@lemmy.worldWhat's going on with kbin.social?
    link
    fedilink
    arrow-up
    62
    arrow-down
    1
    ·
    edit-2
    5 months ago

    The developer behind KBin seems to have issues delegating/accepting contributors.

    If you look at the pull requests, most have been unreviewed for months and he tends to regularly push his branches once complete and just merge them in.

    That behaviour drove the MBin fork, where 4-5 people were really keen to contribute but were frustrated.

    To some extent that would be ok, its his project and if he doesn’t want to encourage contributions that is his decision but…

    KBin.social has gotten to the size where it really should have multiple admins (or a paid full time person). Which it doesn’t have.

    The developer has also told us he has gone through a divorce, moved into his own place, gotten a full time job and now had surgery.

    Thats a lot for any normal person and he is going through that while trying to wear 2 hats (dev & ops) each of which would consume most of your free time.

    Personally I moved to kbin.run which is run by one of the MBin devs



  • Firstly it was just a bit of fun but from memory…

    Twitter was listed as having 2 data centers and a couple dozen satellite offices.

    I forgot the data center estimate, but most of those satelites were tiny. Google gave me the floor area for a couple and they were for 20-60 people (assuming a desk consumes 6m2 and dividing the office area by that).

    Assuming an IT department of 20 for such an office is rediculous but I was trying to overestimate.


  • The Silicon Valley companies massively over hired.

    Using twitter as an example, they used to publicly disclose every site and their entire tech stack.

    I have to write proposals and estimates and when Elon decided to axe half the company of 8000 I was curious…

    I assigned the biggest functional team I could (e.g. just create units of 10 and plan for 2 teams to compete on everything). I assumed a full 20 person IT department at every site, etc… Then I added 20% to my total and then 20% again for management.

    I came up with an organisation of ~1200, Twitter was at 8000.

    I had excluded content moderators and ad sellers because I had no experience in estimating that but it gives a idea of the problem.

    I think the idea was to deny competition people but in reality that kind of staff bloat will hurt the big companies






  • I actually researched my list, most the technologies were used internally for years and either publically released after better public alternatives had been adopted or it seems buzz reached me years after Google’s first release. So I am wrong.

    Between 2012-2015 I used to consult on Apache Ivy projects (ideally moving them to Maven and purging the insanity people had written). As a result I would get called in when projects had dependency issues.

    The biggest culprits were Guava/GSon, projects would often choose to use them (because Google) and then would discover a bug that had been fixed in a later patch release (e.g. they used 2.2.1 and 2.2.2 had the fix). However the reason they used 2.2.1 was because a library they needed did. Bumping up the version usually caused things to break.

    The standard solution was to ask’why’ they needed Guava/GSon and everytime you would find they are usually some function found in one of the Apache Commons libraries. So I would pull down the commons library rewrite the bit (often they worked identically)

    Fun side note in 2016-2017 I got called to consult on a lot of Gradle projects to fix the same kind of convoluted bespoke things people did with Apache Ivy. Ivy knew the Gradle ‘feautres’ were a massive headache in 2012 and told you to use Maven for those reasons. Ce La vie.

    We tried using Protobuf in 2008 and it was worse than the Apache Axis for JSON conversion (which feels too harsh to say), similarly I had been using AMQP or Kafka for years and tried gRPC when it was released (google say 2016 but I am sure we tried in 2014) and it was worse in every metric I still don’t understand why it exists.

    I was using Vaadin in 2011 and honestly thought GWT was released in 2012. I had to use it in 2014 and the workflow, compile time and look of GWT is just worse than Vaadin.


  • The FAANG companies have an internal kind of elitisim that would make staff less effective.

    If you look at any Google Java library, GWT, GSon, Guava, Gradle, Protobuf, etc… there was a commonly used open source library that existed years before that covered 90% of the functionality.

    The Google staff just don’t think to look outside Google (after if Google hasn’t solved it no chance outsiders have) and so wrote something entirely from scratch.

    Then normally within 6 months the open source library has added the killer new feature. The Google library only persists because people hold FAANG as great “Its by Google so it must be good!” Yet it normally has serious issues/limitations.

    The Google libraries that actually suceeded weren’t owned by Google (E.g. Yahoo wrote Hadoop, Kubernetes got spun away from Google control, etc…).


  • I wouldn’t use “certified” in this context.

    Limiting support of software to specific software configurations makes sense.

    Its stuff like Debian might be using Python 3.8 Ubuntu Python 3.9, OpenSuse Python 3.9, etc… Your application might use a Python 3.9 requiring library and act odd on 3.8 but fine on 3.7, etc… so only supporting X distributions let you make the test/QA process sane.

    This is also why Docker/Flatpack exist since you can define all of this.

    However the normal mix is RHEL/Suse/Ubuntu because those target businesses and your target market will most likely be running one.


  • I suspect they mean around packaging.

    I honestly believe Red Hat has a policy that everything should pull in Gnome. I have had headless RHEL installs and half the CLI tools require Gnome Keyring (even if they don’t deal with secrets or store any). Back in RHEL 7, Kate the KDE based Text Editor pulled in a bunch of GTK dependencies somehow.

    Certification is really someone paid to go through a process and so its designed so they pass.

    Think about the people you know who are Agile/Cloud/whatever certified and how all it means is they have learnt the basic examples.

    Its no different when a business gets certified.

    The only reason people care is because they can point to the cert if it all goes wrong


  • stevecrox@kbin.runtoLinux@lemmy.mlI'm so frustrated rn.
    link
    fedilink
    arrow-up
    1
    ·
    edit-2
    6 months ago

    Debian isn’t old == stable, its tested == stable.

    Debian has an effective Rolling distribution through testing than can get ahead of Arch.

    At some point they freeze the software versions in testing and look for Release Critical and Major bugs. Once they have shaken everything and submitted fixes where possible. It then becomes stable.

    The idea is people have tested a set baseline of software and there are no known major bugs.

    For the 4-5 releases Debian has released every 2 years (Similar to Ubuntu LTS). Debian tends to align its release with LTS Kernel and Mesa releases so there have been times the latest stable is running newer versions than Ubuntu and the newest software crown switches between Ubuntu LTS and Debian each year.

    For some the priority to run software that won’t have major bugs, that is what Debian, Ubuntu LTS and RHEL offer.


  • I switched my computer illiterate family members to reduce the effort of helping them and they didn’t notice.

    As a helper…

    There are distributions focussed on the latest and greatest (Arch, Fedora, etc…) and ones aiming for stability (Debian, Ubuntu, etc…). Think of them as groups with different views.

    So Linux Mint is Ubuntu but it has the latest Cinnamon desktop. Ubuntu is Debian but focused on fixed releases and adds ‘snaps’ and includes “non-free” by default.

    People have different views on how the desktop should work. The two big desktops are Gnome and KDE.

    Gnome is like Marmite. Its works completely different to any other desktop and people either love it or loathe it. Its often the distribution default.

    With Windows 10/11 I think Microsoft were trying to steal some of KDE’s best features. By default it looks very much like a Windows desktop but lots of people mod it to look/act like macos. Some people struggle with the options it provides.

    Then there are lots of other desktops, for example Cinnamon takes Gnome and turns it into a normal desktop.

    Personally I would suggest Kubuntu as your first attempt. This is a fairly decent install guide.

    Ubuntu tries to minimise the choices you need to make and the 6 month update cycle keeps it fairly stable.

    Kubuntu is Ubuntu it just makes KDE the default instead of Gnome.