stevecrox

@stevecrox@kbin.run
1 Post – 40 Comments
Joined 6 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

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.

3 more...

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

1 more...

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.

MBin is a fork by a group who tried to push into KBin but couldn't. There seems to be at least 4 active committers and stuff gets merged.

You will see a number of the KBin instances moved over https://fedidb.org/software/mbin

12 more...

I wish a company would build 4.5"-5.5" and 5.5"-6.5" flagship phones, put as many features that make sense in each.

Then when you release a new flagship the last flagship devices become your 'mid range' and you drop the price accordingly, with your mid range dropping to budget the year after.

When Nokia had 15 different phones out at a time it made sense because they would be wildly different (size, shape, button layout, etc...).

These days everyone wants as large a screen as possible on a device that is comfortable to hold, we really don't need 15 different models with slightly different screen ratios.

Lays is called Walkers in the UK and the Sensations brand is still sold.

Here there are in my local supermarket. Personally I prefer the Sensation Thai Sweet Chilli nuts, they are the perfect thing while you wait for food to cook on the BBQ.

1 more...

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

8 more...

The team/organisations knowledge is a huge factor but its easy to fall into a trap where no matter what the problem is the solution is X language.

If I have an organisation that knows C# and we need to build a Web Application. I would suggest we need to learn Node.js and Typescript and not invest in a solution that turns C# into web pages.

So I know thats a joke but...

With Java 11's inclusion of 'var' I have successfully copied JavaScript code into Java without needing to change anything.

I judge the direction Java is going in

You do, but considering the scales they process data I suspect Google would be better building Go tooling (or whatever the dominate internal language is).

A few years back I was trying to teach some graduates the importance of looking at a programming language ecosystem and selecting it based on that.

One of my comparison projects was Apache OpenNLP/Camel vs Flask/Spacy.

Spacy is the go to for NLP, I expected it to be either quicker to develop, easier to use, better results or just less resources.

I assigned Grads with Java experience Spacy and Python experience OpenNLP.

The OpenNLP guys were done first, they raved about being able to stream data into the model and how much simplier it made life.

When compared with the same corpus (Books, Team emails, corporate sharepoint, dev docs, etc..) OpenNLP would complete on 4GiB of RAM in less than a second on 0.5vCPU. Spacy needed 12GiB and was taking ~2 seconds with 2vCPU. They identified the same results...

Me and a few others ended up spending a day reading the python and trying to optimise it, clearly the juniors had done something daft, they had not.

It rather undermined my point.

2 more...

Society is complex, visting a country is different from living there an extended period of time and even then even small geographical distances can result in huge changes in culture.

For example if you started in London and travelled the M4 to Bristol and carried on through Newport and then Cardiff. You would find dramatic differences in housing costs, religiousness, sports played (e.g. football to rugby), views on public transport, job market, jobs people work, education level, favourite drinks, marriage, etc..

You could spend 3 months basing yourself in any one of those locations and derive completely different views on what is wrong with the UK.

Which is why the OP brushed this off as nonsense. It also isn't uncommon for Americans to go somewhere and suggest it would be miles better if it was exactly like the USA, which is why you get the ad hominem.

It would be like a British Tourist suggesting they don't drink enough larger or accusing themof being savages for putting salt in tea

You can't fix a people problem with process.

For example I've worked in DevSecOps for 10+ years, whenever consulting my first step is to implement a CI that picks up Pull Requests, builds them and runs a code analysis tools (e.g. pep8, spotbugs, eslint, etc..) and have the CI comment the Pull Request. The idea is to get an understanding of the projects technical debt and stop things getting worse and ensure the solution 'just works'.

Teams with huge amounts of technical debt will find a way to disable it when your not looking. They will develop all kinds of reasons and in reality the technical debt was created because of cultural issues in the team.

So I've learnt its important if you spot a team doing that, the solution isn't locking it down the solution so they can't disable it or more process. But forcing out the technical leader and sitting with the team and working out why each one is fighting the tool and not seeing them as an asset and teaching them to be better.

3 more...

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.

Plex has been baking in features like that to help you see what is on other streaming channels, etc..

Personally the whole point of Plex for me was it was a container for my existing DVD/Blu Ray collection, while Plex has added some really cool features. Increasingly they keep resetting the dashboard to try and force engagement with new features, it feels a bit user hostile and I've been switching to Jellyfin (same idea but entirely open source and self hosted).

From a discovery perspective, personally I've found good content tends to create its own word of mouth style buzz.

For example at the moment you can't go near twitter, reddit, work, BBC News, etc.. without someone talking about 'Mr Bates vs The Post Office'. Recently the risa community kept mentioning Babylon 5 so I picked up all 5 seasons for £20 and watched it through. Similarly the Risa community really seems to love Star Trek prodigy so I'll probably give that a go at some point.

You could probably stay on the magic roundabout until you ran out of fuel.

But I doubt you could go all the way around a mini roundabout .

The UK Highway Code is focussed on good behaviour when using one. There doesn't seem to be a rule.

I thought server side anti cheat was the most effective. Since it can't be modified by clients and tracks clients for impossible behaviour.

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.

It was a mixture of factors.

Data was to be dumped into a S3 bucket (minio), this created an event and anouther team had built an orchestrator which would do a couple of things but eventually supply an endpoint a reference to a plain/txt file for analysis.

For the Java devs they had to [modify the example camel docs.](https://camel.apache.org/manual/rest-dsl.html) and use the built in jackson library to convert the incoming object to a class. This used the default AWS S3 api to create a stream handle which fed into the OpenNLP docs. .

The Python project first hit a wall in setting up Flask. They followed the instructions and it didn't work from setup tools. The Java team had just created a new maven project from the Intelij but the same approach didn't work for the Python team using pycharm. It lost them a couple days, I helped them overcome it.

Then they hit a wall with Boto3, the team expected to stream data but Boto3 only supports downloading, there was also a complexity issue the AWS SDK in Java waa about 20 lines to setup and a single line to call, it was about 50 lines in Python. On the positive side I got to explain what all the config meant in S3.

This caused the team anouther few days of delay because the team knew I used a 350MiB Samsung TV guide to test the robustness and had to go learn about Docker volume mounting and they thought they needed a stateful kubernetes service and I had to explain why that was wrong.

Basically Python threw up a lot of additional complexity and the docs weren't as helpful as they could have been.

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

2 more...

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

1 more...

DevSecOps is all about process, I simplified my answer.

At a high level in software there will always be a review phase, where code needs to be built and pass tests (as a minimum). With Git being used by every organisation I have been involved in you will find the organisation/team will claim to follow a variation of 'Feature branch Workflow' with review happening at a specific point (Pull Request).

For the last ~10 years every organisation/team I've worked in/with has claimed to use a CI to verify the source code as part of that review phase.

In most dysfunctional teams that review phase will be broken, the fastest win is to bring in the CI. Static analysis tools are also impartial in how they review and useful in teaching people how to review.

I don't say your project must build with no warnings, I say you project must build and I'll have the CI point out where you have added warnings as part of review. When people complain I'll point to their teams Ways of Working or an organisations Software Development Plan (or in one case a System Engineering Management Plan).

The sort of team that then chooses to disable this will do so because the leadership are undermining it (normally a team lead turns it off or tells them to just ignore it). There seem to be a few common reasons as to why team leads will do this but it isn't something you can rationally debate with. The only solution I've found is to sideline the problem, change team culture and identify a leader within the team and hand it over to them.

Your talking about teams which are failing due to the environment, those normally understand what is wrong and the best approach is to be a good scrum master (e.g. run retro sessions, identify issues and work to resolve the environment problems with them).

Every big UK company I have worked for doesn't own its building. They will typically agree to rent a building for 5-20 years at a fixed rate (longer times if its being purpose built for them) .

So I would expect this is paying out the rest of the rental agreements for a building to escape the building lease.

It is to do with financial reporting and the way asset and operational costs are reported.

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

If you have the freedom try Typescript.

The tsx files are almost identical to jsx except for the need to define the field types your ingesting.

While thats a little extra work, it allows Visual Studio Code to perform deeper analysis and provide much more helpful contextual hints.

I grew to love JSX and tried TSX out of interest and you couldn't convince to go back to pure JS

Pirate Trainer & Uru: Ages Beyond Myst

I remember trying Pirate Trainer in a Nvidia game booth when VR was new. It was incredible, years later I get a VR headset and its the free game. I don't understand how no one has improved upon it.

Uru was the first puzzle game I thought struck a good balance between physical and mental puzzles. They were set at a level that felt challenging but not impossible and laid out so you alternated really nicely. Myst Online actually went backwards in this

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 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 splash screen (boot screen instead of text)used to get me. It provided by an application called 'Plymouth'.

You used to need to install it and configure grub, however I think if you go into 'System Settings' and type 'Splash' KDE has an option to install and choose the screen

You realise Debian is the base distribution?

Ubuntu takes 6 monthly cuts from Debian Testing, adds some in house stuff puts them through QA and performs a release.

Linux Mint is produced by Cinnamon devs, similar to KDE Neon. They take the last Ubuntu LTS, remove many of the in house additions, add the latest Cinnamon desktop and release.

Cinnamon got upstreamed into Debian to make the process easier.

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.

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

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.

Uhh how?

The rate of new features/changes is far higher, uptime went through a bumpy transition but is back to normal. From an engineering perspective it supports my point.

Twitters issues are Elon scaring away advertisers/annoying governments/content creators through his hard line on free speech allowing an explosion in hate speech.

My expectation is whatever the solution it needs to dockerise and be really easy to deploy via docker compose or Kubernetes so people can quickly and easily set up their own.

The front end is effectively static files so I would probably choose Apache or Express (whichever gives me a smaller docker image)..

For the backend I would choose Java for Spring Boot. An Alpine image with OpenJDK and the app is tiny. Spring has a library for every kind of interface making them trivial to implement but the main reason is hibernate.

Hibernate (now Spring Data) was the first library for being able to switch out databases without having to change code (its all config). A lot of mastodon instances struggle with the resource requirements of elastic search so letting small instances use something like postgres would seem ideal.

I have noticed Go/Rust still expect you to write or manage a lot of stuff Spring gives away for free. Python is ok if your backend is really tiny but there is a lot of boilerplate in how Python libraries work so complex projects get hard to manage and I assume interacting with the fediverse will add complexity.

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

2 more...

I think they are saying most attempts at diversity come from middle aged white guys and just end up being poorly done and so detract from the game/story.

Similar to how 00's electronic companies just painted it pink to appeal to women or why South Park added Token.

So arguing for more diversity within the companies themselves

4 more...

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.

2 more...

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

5 more...