• 2 Posts
  • 25 Comments
Joined 9 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 from 2014 explains its benefits over GTK.

    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 Fuschia developers.

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





  • 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




  • The developer behind KBin seems to have issues handing over control/delegating.

    If you look at the pull requests, most have been waiting for considerable time and he tends to regularly drop big changes which don’t seem to go through the process.

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

    To some extent that would be ok, but KBin.social has gotten to the size where it really should have multiple admins (or a paid full time person).

    Compounding all this is the fact the dev has recently gone through a divorce, been forced to get a full time job and has recently had surgery.

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


  • No it doesn’t, it actually makes my point.

    My estimate was based was an estimate for how many people you would need for a twitter company.

    Twitter had 8000 employees, it will have procedures and approaches assuming all those people exist.

    For example

    The first step when DevSecOps consulting is to document the processes a team is following. Then you can automate those processes.

    Inevitably there will be a step that is very laborious (typically produce a report/metrics). You start asking if it can be adjusted and no one seems to own it.

    Eventually you realise the step was for someone who has since left the company or a role that was removed several reorganizations ago.

    Firing half your workforce is going to create those sorts of problems everywhere, all at once. The fact everything largely kept working despite that supports my argument.


  • 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


  • It does but for the 90’s/00’s a computer typically meant Windows.

    The ops staff would all be ‘Microsoft Certified Engineers’, the project managers had heard of Microsoft FuD about open source and every graduate would have been taught programming via Visual Studio.

    Then you have regulatory hurdles, for example in 2010 I was working on an ‘embedded’ platform on a first generation Intel Atom platform. Due to power constraints I suggested we use Linux. It worked brilliantly.

    Government regulations required anti virus from an approved list and an OS that had been accredited by a specific body.

    The only accredited OS’s were Windows and the approved Anti Viruses only supported Windows. Which is how I got to spend 3 months learning how to cut XP embedded down to nothing.


  • Personally I would just refer to them as the LGBT community.

    Most of the extra letters and terms are highly specific labels or nuances most people would struggle to understand.

    For example someone has spent 20 minutes explaining why they are pansexual and not bisexual. I still can’t see a difference but if that is the label they want, then they are pansexual.

    The key thing to remember is the LGBT community isn’t a monolith. The group exists because they are/were being opressed for their sexual identity.

    You will also get people who have made the group focus their core identity. They will often be loudest but not always representative of the group.


  • 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, even the loss/gain of a single customer would justify it.



  • Wine attempts to translate Windows calls into Linux, its developed by Codeweavers whose focus is/was application compatibility.

    Valve took Wine and modify it to best support games, the result is called Proton. For example:

    Someone built a library to convert DirectX 9-11 calls and turn them into Vulkan ones, it was written in C++ and is called DxVK.

    Wine has strict rules on only C code and their directx library handles odd behaviour from old CAD applications.

    Valve doesn’t care about that, they care that the Wine DirectX library is slow and buggy and DxVK isn’t. So they pull out Wines and use DxVK.

    There are lots of smaller changes, these are ‘Proton Fixes’, sometimes Proton Fixes are passed on to Wine. Sometimes they can’t but discussion happens and a Wine fix is developed.


  • Wine attempts to translate Windows calls into Linux, its developed by Codeweavers whose focus is/was application compatibility.

    Valve took Wine and modify it to best support games, the result is called Proton. For example:

    Someone built a library to convert DirectX 9-11 calls and turn them into Vulkan ones, it was written in C++ and is called DxVK.

    Wine has strict rules on only C code and their directx library handles odd behaviour from old CAD applications.

    Valve doesn’t care about that, they care that the Wine DirectX library is slow and buggy and DxVK isn’t. So they pull out Wines and use DxVK.

    There are lots of smaller changes, these are ‘Proton Fixes’, sometimes Proton Fixes are passed on to Wine. Sometimes they can’t but discussion happens and a Wine fix is developed.