• 2 Posts
  • 37 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





  • stevecrox@kbin.runtolinuxmemes@lemmy.worldDistro's depicted as vehicles
    link
    fedilink
    arrow-up
    7
    arrow-down
    1
    ·
    edit-2
    3 months ago

    Nah Linux Mint is a Kia Ceed.

    Ubuntu is a Ford Focus, they successfully stole the volvo estate market (Debian). The car was fun, good value and very practical. It was everywhere. Then Ford started increasing the size, weight, price, etc… killing the point of the Focus.

    So along comes Kia trying to make a competitor in the Ceed.

    In theory the Ceed is a great car, its super cheap, lots of cabin space, nippy, the inside has every modern convenance, but…

    • It plays engine noises via speakers that aren’t aligned with what you are doing
    • The boot space is rubbish, so 5 people can happily travel in the car you barely fit a suitcase in it
    • There is an steering sensitivity button that stays on at 70 MPH with no indication on the display
    • A Vauxhall Nova just out accelerated you

    Your left wondering why anyone is bothering with hot hatchbacks these days as you climb into your volvo


  • stevecrox@kbin.runtolinuxmemes@lemmy.worldDistro's depicted as vehicles
    link
    fedilink
    arrow-up
    113
    arrow-down
    5
    ·
    edit-2
    3 months ago

    Debian would be a Volvo Estate, its the boring practical family choice, the owner is soneone boring like an architect or a financial advisor.

    Arch is a Vauxhall Nova, second hand battered owned almost exclusively by teenage lads who spend a lot of time/money modifying it (e.g. lowering so it can’t go over speed bumps, adding a massive exhaust to sound good but destroys engine power).

    Fedora is something slightly larger/more expensive like a Ford Focus/VW Golf/Vauxhall Astra owned by slightly older lads. The owners spend their time adding lighting kits and the largest sound systems money can buy.

    Slackware is clearly a Subaru Impreza, at one point the best World Rally Car but hasn’t been a contender for a while. Almost all are owned by rally fans who spend fantastic amounts of time tinkering with the car to get set it up an ultimate rally car. None of the owners race cars.

    OpenSuse is a Nissan Cube, its insanely practical. It should be the modern boring family choice, but it manages to ve too quirky for your architect while not practical enough for van drivers.

    I don’t know the other distros well enough.

    I run Debian btw


  • 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



  • stevecrox@kbin.runtoToday I Learned@lemmy.world...
    link
    fedilink
    arrow-up
    3
    arrow-down
    4
    ·
    4 months ago

    I wouldn’t get massively excited.

    Python is a scripting language, its shines when you want to write a stand alone file which takes an input and performs a task. Scripting languages are great to learn as a first language and so python is wonderful for non developers.

    The issue you hit is the build management solutions for Python are kind of broken and these help support and encourage good development practice so a lot of Python projects end up a collection of scripts rather than a mature project. You can have good projects but…

    In raw benchmarks Java has 90% of the performance of C/C++, but in reality Java is more performant because developers get bogged down in memory management on C/C++ and they get more time to optomise in Java as a result. I’m not sure where Rust will come out to be honest.

    Python benchmarks at 50% the performance of Java, in reality I’ve found code ends up slightly worse because Python is procedural, library support and streaming is poorly supported.

    Take library support, Spring really rose to prominese because of ‘hibernate’ which was a way to abstract talking to different databases through objects, you could switch from PostgreSQL to Oracle through config. Spring data has dumbed this down so I define a plain old Java object and Spring will generate everything I need.

    Python expects you to hand craft SQL statements and every database extends SQL slightly differently, so i need to write SQL for every operation and manage/own it. So the win in being able to quickly read/write to a database (since you don’t have to learn anything about Spring) is quickly ruined because of the all the boilerplate and error handling you now have to write.


  • stevecrox@kbin.runtoToday I Learned@lemmy.world...
    link
    fedilink
    arrow-up
    20
    arrow-down
    2
    ·
    4 months ago

    Every programming languages has communities built around them.

    Its becoming clear Rust solves a lot of C/C++ type problems and the embedded communities are definitely shifting over.

    Apache is the primary community for Java, a quick look at their project list shows it’s entirely web servers, data engineering and clustered projects for distributed computing.

    Personally if you asked me to solve this problem I would use Spring Boot with various Spring libraries for talking to the caddy, user control, etc… Looking at the project, its exactly what they have done


  • See its the opposite in Linux land.

    AMD open sourced their drivers so everything just works, while Nvidia drivers have to be built against your system and Nvidia refused to supply proper desktop drivers for years (EGLStreams vs GBM).

    The downside of AMD’s approach is it has to trickle down which depending on what distribution you use can take weeks to a year and it normally takes a couple iterations to get everything working nicely. Which basically expect the 6800 XT to work brilliantly but the 7300 to be flakey for a bit.

    My favourite bit is I owned a few Athlon 5300 APU and 5 years after they were released AMD were still adding performance improvements to them.


  • stevecrox@kbin.runtoRust@programming.devMeta: How can we grow this community?
    link
    fedilink
    arrow-up
    56
    arrow-down
    2
    ·
    edit-2
    4 months ago

    I believe this post would be better if it was rewritten in Rust it would allow more efficent. memory usage compared to; the dynamically typed English language which doesn’t have the borrower checker. while allows you to detect when resources are no longer used unlike English’s poorly performing ‘grammar checking’ tools

    But seriously there has to be content to engage with and people who respond to the content. I’ve noticed this community has someone posting really high quality updates but the community appears to be that person.

    Posting blogs, or asking questions, etc… would be a good way to engage.


  • 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


  • You seem to be intentionally missing the point, but to reiterate…

    You shower before entering a pool to wash the dirt from your body off (your cleaning yourself).

    The more of your body covered the less effective that shower is.

    Ideally everyone would be naked in the shower, but there are probably outfits which increasingly render the shower less and less effective (e.g. speedos are better than shorts, etc .).

    It would not surprise me if a Burkina covered so much that the cleaning shower is rendered pointless


  • The shower before a pool is to ensure people aren’t entering the pool coated in dirt (e.g. sweat, hair, dead skin, etc…).

    The chemicals in a pool are designed to bind to that dirt and kill any bacteria introduced.

    There is a limit to the chemicals you can add to a pool (before it hurts humans) and once the amount has activated you need to drain the pool and refill it.

    Swimming pools hold crazy amounts of water which is also really expensive to heat up, so pools want to do that as little as possible.

    Clothing interfers with cleaning your body, so people entering near fully clothed (e.g. like a Burkina) will likely introduce more dirt into the pool.

    That translates into increased costs for swimming pools or pools which maintain the old schedule and just operate unsafely.

    This is all based on owning a hot tub and learning how to maintain it.

    Hopefully this also explains why it doesn’t matter people enter the sea fully clothed




  • 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



  • Technical Leads are not rational beings and lots of software is developed from an emotional stand point.

    Engineering is trade offs, every technical decision you make has a pro/con.

    What you should do is write out the core requirements/constraints.Then you weigh the choices to select the option that best meets it.

    What actually happens is someone really likes X framework, Y programming language or Z methodology and so decides the solution and then looks for reasons to justify it.

    Currently the obvious tell is if they pitch Rust. I am not saying Rust is bad, but you’ll notice they will extoll the memory safety or performance and forget about the actual requirements of the project.


  • Docker swarm was an idea worse than kubernetes, that came out after kubernetes, that isn’t really supported by anyone.

    Kubernetes has the concept of a storage layer, you create a volume and can then mount the volume into the docker image. The volume is then accessible to the docker image regardless of where it is running.

    There is also a difference between a volume for a deployment and a statefulset, since one is supposed to hold the application state and one is supposed to be transient.