stevecrox

joined 10 months ago
[–] stevecrox@kbin.run 24 points 5 months ago* (last edited 5 months ago) (1 children)

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

 

I have been building several react components as libraries to use as part of a bigger idea.

While writing up documentation I realised the examples I provided were Stories I had created for Storybook to test the look of the components.

The storybook MDX documentation seems to provide a nice way to document your stories.

But I am hitting an issue, ideally I would like the Storybook Sidebar/view to be embedded into my page layout (for consistency) or failing that themed to use the same colours/icons/etc..

The documentation seems out of date with Storybook 8 using a different structure and while I have tried to populate a ThemeVar object it seems several of the fields need specific unspecified input.

Has anyone done anything like this before and how well did it work for you?

[–] stevecrox@kbin.run 2 points 6 months ago (1 children)

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.

[–] stevecrox@kbin.run 5 points 6 months ago* (last edited 6 months ago) (3 children)

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.

[–] stevecrox@kbin.run 1 points 6 months ago* (last edited 6 months ago)

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.

 

I have been waiting on Star Trek Lower Decks Season 4 to be released on Blu Ray for months, does anyone know where I can buy it?

Amazon listed it last year and it turns out that was in error and searching lists the release as April 16th and yet I can't find it in any where.

I am in the UK

 

Science minister Andrew Griffith took the seemingly unusual approach of trying to woo voters as his party flatlines in the polls on around 20 per cent

[–] stevecrox@kbin.run 3 points 7 months ago

I would argue this is good journalism, you have a noted economic expert that the SNP tried to hire and is pro independence give his opinion on the SNP independence plans from an economic perspective.

He thinks they are pretty disastrous.

 

Labour has pledged more than £8bn into energy company if it wins UK General Election as Sir Keir Starmer tries to "get Putin's boot of our throat." | ITV News Wales

 

Mark Blyth, en economist who has advised the Scottish government, tore apart the economic case for Scottish independence

 

Mega-rich Tory Chancellor Jeremy Hunt was accused of being out of touch after he claimed that £100,000-a-year was a measly salary for his constituents

[–] stevecrox@kbin.run 7 points 8 months ago* (last edited 8 months ago) (1 children)

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.

 

I find Maven sites look incredibly dated and I couldn't find a nice way to integrate other auto documentation tools such as MKDocs.

So I've written a series of Apache Velocity templates which integrate Bootstrap, I've tried to respect Bootstrap components and the layout/structure of Apache projects (you'll find various configurations under 'layouts').

You can apply various bootstrap themes to it to improve it dramatically.

[–] stevecrox@kbin.run 1 points 8 months ago

Java's niche is middleware and 'big data', so choosing it for a Lemmy drop in replacement an excellent choice.

Programming goes through various fads where a particular language is everyones favourite for a while (see the plethora of this is X tool .. rewritten in Rust!).

You've had Scala, Node.JS, Go, Python and now Rust try to supplant Java in its middleware role. Each one has tried to highlight reasons why Java is bad to justify the switch.

[–] stevecrox@kbin.run 40 points 8 months ago* (last edited 8 months ago) (1 children)

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.

[–] stevecrox@kbin.run 24 points 9 months ago* (last edited 9 months ago) (1 children)

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.

[–] stevecrox@kbin.run 4 points 9 months ago (1 children)

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.

[–] stevecrox@kbin.run 5 points 9 months ago* (last edited 9 months ago) (4 children)

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.

[–] stevecrox@kbin.run 1 points 9 months ago (1 children)

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

view more: next ›