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

help-circle
  • I’d actually argue Python stops people learning how to solve problems.

    I love teaching juniors and have done so for 10 years but I’ve noticed in the last 4-5 years since Python became the popular choice at universities Graduates aren’t learning anything about Static Types, Memory Management, Object Oriented Programming, Data Encapsulation, Composition, Service Oriented Architecture, etc…

    I used to expect most graduates to have a mixed grounding in those concepts and would find excuses for them to work on a small UI projects. I would do this as it gets them used to solving a small problem and UI’s give instant feedback. As Python became dominate university teaching language the graduates aren’t spending their time learning Typescript, Angular, HTML, etc… but instead getting overwhelmed by the concept of types.

    Those concepts I want them to learn were created to help make solving problems easier and each has their strengths and weaknesses but most graduates are coming through only knowing how to lay out a small amount of procedural logic using Python and really struggling to move beyond that.


  • 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


  • 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.


  • 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.


  • It isn’t a good move.

    A domain name can cost as little as £10, similarly most email services cost ~£5-£15 per person per month. Its normally pretty easy to link a domain to an email provider and doesn’t cost anything other than time.

    If a company can’t be bothered to implement the most basic online branding people will make their assumptions and some will filter your company out because of it. With the cost to implement so low (e.g. £160 per year), even the loss/gain of a single customer would justify it.




  • I learnt the term Tankie from Lemmy.

    It comes from the 1950’s when a section of the ‘left’ who believed the Soviet Union was inherently good found themselves defending the Soviet invasion and forced annexation of Hungary. The soviets lead the invasion with Tanks, hence ‘Tankie’.

    This support happened due to the simplistic belief that communism was inherently good, capitalism was bad and so the actions of a Communist country (like the Soviet Union) could never be bad if taken against a capitalist country is inherently good.

    With the effective collapse of communist countries ‘tankies’ has switched to the people on the left that view western society as evil and any country which attempts to destroy or subvert western countries.

    This typically manifests in a ‘tankie’ defending any action/supporting any view taken by China, Iran, Russia or North Korea and typically and typically amplifying anti USA rhetoric.

    For example a Tankie will argue the Russian invasion and attempted genocide of Ukraine is justified and the USA is ‘evil’ for helping Ukraine defend itself.


  • 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