• 1 Post
  • 15 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.runtoToday I Learned@lemmy.world...
    link
    fedilink
    arrow-up
    4
    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.


  • 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


  • There will always be someone who is beating you in a metric (buying houses, having kids, promotions, pay, relationships, etc…) fixating on it will drive you mad.

    Instead you should compare your current status against where you were and appreciate how you are moving forward

    As for age

    During university my best mate was 27 who dropped out of his final year, grabbed a random job, then went to college to get a BTEC so they could start the degree.

    It was similar in my graduate intake, we had a 26 year old who had been a brickie for 5 years before getting a comp sci degree.

    The first person I line managed was a junior 15 years older than me, who had a completely different career stream. They had the house, kids, had managed big teams, etc… honestly I learnt tons from them.






  • Can you elaborate…

    I have looked after a few instances of Active Directory and basic user management involved multiple steps through GUI’s clearly written at different times (you would go from a Windows 8 to Windows 95 to Windows XP styled windows, etc…)

    I much prefer FreeIPA, if I wanted to modify a user account it was two button clicks. Adding a group and bulk applying was the work of moments. You can setup replicas and for a couple hundred users it uses no resources.

    The only advantage I could see related to Exchange Integration as it makes it really easy to setup Sharepoint, Skype & Email.

    Sharepoint never gets setup properly and you find people switching to alternatives like Confluence, Github/Gitlab Pages or Media Wiki. So that isn’t an advantage.

    Everybody loathes Skype and your asked to setup an alternative (Mattermost, Slack, Zoom, etc…). I am not sure how integrated Teams is.

    Which really only leaves Email and I just can see the one off pain of setting up Dovecot as worth the ongoing usability pain of AD’s user control.



  • The person is correct in this isn’t a Linux problem, but relates to your experience.

    Windows worked by giving everyone full permissions and opening every port. While Microsoft has tried to roll that back the administration effort goes into restricting access.

    Linux works on the opposite principle, you have to learn how to grant access to users and expose ports.

    You would have to learn this mental switch no matter what Linux task your trying to learn

    Dockers guide to setting up a headless docker is copy/paste. You can install Docker Desktop on Linux and the effort is identical to windows. The only missing step is

    sudo usermod -aG docker $user

    To ensure your user can access the docker host as a local user.