stevecrox

@stevecrox@kbin.social
14 Post – 87 Comments
Joined 1 years ago

The linux kernel is very old school in how it is run and originally a big part of the DevSecOps movement was removing a lot of manual overhead.

Moving on to something like Gitea (codeberg) would give you a better diff view and is quicker/easier than posting a patch to a mailing list.

The branching model of the kernel is something people write up on paper that looks great (much like Gitflow) but is really time consuming to manage. Moving to feature branch workflow and creating a release branches as part of the release process allows a ton of things to be automated and simplified.

Similarly file systems aren't really device specific, so you could build system tests for them for benchmarking and standard use cases.

Setting up a CI to perform smoke testing and linting, is fairly standard.

Its really easy to setup a CI to trigger when a new branch/pr is created/updated, this means review becomes reduced to checking business logic which makes reviews really quick and easy.

Similarly moving on to a decent issue tracker, Jira's support for Epic's/stories/tasks/capabilities and its linking ability is a huge simplifier for long term planning.

You can do things like define OKR's and then attach Epics to them and Stories/tasks to epics which lets you track progress to goals.

You can use issues the way the linux community currently uses mailing lists.

Combined with a Kanban board for tracking, progress of tickets. You remove a ton of pain.

Although open source issue trackers are missing the key productivity enablers of Jira, which makes these improvements hard to realise.

The issue is people, the linux kernel maintainers have been working one way for decades. Getting them to adopt new tools will be heavily resisted, same with changing how they work.

Its like everyone outside, knows a breaking the ABI definition from the sub system implementation would create a far more stable ABI which would solve a bunch of issues and allow change when needed, except no one in the kernel will entertain the idea.

6 more...

I am currently teaching python and JavaScript devs Typescript. Everytime they hit a problem they switch to any

Sigh

9 more...

Reading the article that isn't the goal.

They are working on controlling access to the wider internet. The goal is to push people off of western services on to ones they control. This is so they can control the information their citizens see

They wouldn't stop Russian bot farms or hacking.

Tactic developed by Wagnar.

The create a plan with fixed waypoints for a squad to run. They plan for 5-8 squads to run the route at set intervals.

The idea is each squad exposes the Ukrainian position so the next squad knows where to attack. By sending so many squads in a short space of time the Ukrainian position is overwhelmed.

Wagner would plan to have the first 4-7 squads made up of convict units with minimal training, with a trained well equipped squad operating as a reserve. The idea being as soon as a Ukrainian position looked to be close to failure the reserve is dispatched.

Fundamentally everyone apart from the well trained reserve exists to soak up bullets and explosives. They are "meat".

The Russian army had "well" trained battalions, as those battalions are attrited it would shrink them down to maintain effectiveness.

With Wagner's success they backfilled the battalions with convict and mobilisation soliders. Those soliders are used following the tactic above with the original remnants of the battalion representing the well trained reserve.

This is how Russia solved their inability to train new soliders

If your goal is to advertise the fediverse You should have used 'kbin'.

People can go directly to "lemmy.ml" but the site might disappear due to Mali re-establishing ownership of .ml domains, also its run by a tankie which will upset some people.

"Lemmy" provides 10 google sponsored results and then 'join-lemmy', the join-lemmy website has you 'join a server' and then presents you lots of options.

During the first Mastodon surge one of their issues is people felt overwhelmed by the options and it hurt Mastodon adoption, so a single website does make a lot of sense. Personally I would suggest lemmy.world its a general instance and the admins aren't linked to any extremist views, but you said that would be too long.

If you put 'kbin' into search the top result is kbin.social, that makes it seems like a reddit alternate. It keeps user choice limited and brings them into the fediverse. That means people aren't confronted with the complexity of the fediverse immediately and can learn and understand it at their own pace.

So if your goal is to advertise the fediverse I would push kbin, if your goal is to specifically get people to use a Lemmy based website I don't think you have a good option

11 more...

Tesla actually market it as a positive.

Car manufacturers have to setup different manufacturing lines to provide different feature levels. Tesla argue this makes them more expensive. Tesla cars have all features installed, just disabled and the optional extra packages are cheaper compared to their rivals as a result.

To be honest there is a certain logic, if you've ever been in a Ford Focus LX (bottom range) its pretty clear they had to spend quite a bit of money on more basic systems. I honestly thought each LX was sold at a loss

10 more...

Years ago there was no way to share IDE settings between developers.

You ended up with some developers choosing a tab width of 2 spaces, some choosing 4 spaces and as there was no linting enforcement some people using 2-4 spaces depending on their IDE settings.

This resulted in an unreadable mess as stuff was idented to all sorts of random levels.

It doesn't matter if you use tabs or spaces as long as only one type is consistently used within a project.

Spaces tends to win because inevitably there are times you need to use spaces and so its difficult to ensure a project only uses tabs for identation.

IDE's support converting tabs into spaces based on tab width and code formatting will ensure correct indentation. You can now have centralised IDE settings so everyone gets the same setup.

Honestly 99% of people don't care about formatting (they only care when consistency isn't enforced and code is hard to read), there is always one person who wants a 60 charracter line width or only tabs or double new lined parathensis. Who then sucks up huge amounts of the team time arguing their thing is a must while they code in emacs, unlike the rest of the team using an actual ide.

3 more...

I avoid any company that requires a software test before the interview.

I worked for a company that introduced them after I joined, I collected evidence all of the companies top performers wouldn't have joined since we all had multiple offers and having to do the test would put people off applying. The scores from it didn't correlate with interview results so it was being ignored by everyone. Still took 2 years to get rid of it.

The best place used STAR (Situation Task Action Result) based interviews. The goal was to ask questions until you got 2 stars.

I thought these were great because it was more varied and conversational but there was a comparable consistency accross interviewers.

You would inevitably get references to past work and you switch to asking a few questions about that. Since it was around a situation you would get more complete technical explanations (e.g. on that project I wrote an X and Y was really challenging because of Z).

I loved asking "Tell me about something your really proud off". Even a nervous junior would start opening up after that question.

After an hour interview you would end up with enough information you could compare them against the company gradings (junior, senior, etc..).

This was important because it changed the attitude of the interview. It wasn't a case of if the candidate would be a good senior dev for project X, but an assessment of the candidate. If they came out as a lead and we had a lead role, lets offer them that.

If its for work I would suggest picking a "stable" distribution like Debian, Kubuntu or OpenSuse.

A lot of people recommend Arch or Fedora but the focus of those is getting the very latest releases, which increases your chance of stuff breaking.

A lot of people will suggest niche distributions, those can be great for specific needs but generally you will always find Debian/Ubuntu/RHEL support for commercial apps.

I would also suggest looking at the KDE Desktop, many distributions default to Gnome but it is unique in how it works, KDE (or XFCE) will provide a desktop similar to Windows 11.

Lastly I would suggest looking at Crossover Linux by Codeweavers.

Linux has something called WINE, its an attempt to implement the Windows 95 - 11 API's so windows applications can run on linux.

WINE is how the Steam Deck/Linux is able to play Windows games. Valve embedded it into Steam and called it "Proton".

WINE is primarily developed by Codeweavers and they provide the Crossover application that makes setting up and running a Windows application really easy.

People will mention Lutris but that has a far higher learning curve.

There is an application database so you can see in advance if your applications would work: https://appdb.winehq.org/

6 more...

You've just moved the packaging problem from distributions to app developers.

The reason you have issues is historically app developers weren't interested in packaging their application so distributions would figure it out.

If app developers want to package deb, rpm, etc.. packages it would also solve the problem.

2 more...

This could be achieved within the UI and seems like a good idea.

Each kbin/lemmy instance decides to follow magazines/communities from others through activity pub and stores it locally for the instance.

Having the UI retrieve all local posts with the same magazine/community name (e.g. m/star_trek@kbin.social c/star_trek@lemmy.world). Wouldn't be hugely difficult, I believe Kbin uses postgres database as the local store. The community/instance should be columns you can search for, it would be a small SQL change.

Even if that wasn't an option, there is a means to get all of the magazines/communities from the kbin UI and retrieve all posts for a specific magazine/community. So you could do it entirely in a web client.

The combined view wouldn't change how you comment on specific posts. The issue is where do you post and what view would take dominance (e.g. if a magazine had themed itself).

The solution here would be to default to the local instance if it exists or the instance providing the most posts/comments. Perhaps with a drop downso users can choose.

5 more...

So reading twitter...

It seems much of the "Ammunition shortage" Prigozhin was loudly complaining about was stock pilling. Similarly much of Wagnar was pulled out of Ukraine to rebuild.

There have been suggestions Prigozhin was planning to launch an attack on Sunday but the Russian MoD attacked a Wagner site forcing him to launch a day early.

One tweet suggested Wagner soliders had been calling family all day (e.g. before a big operation).

Seizing Rostok Von Don was a clever initial play, since its a major logistics hub. This allowed him to arm his troops and provides a base if the coup fails.

It seems the South Military District gave up without a fight, with soliders surrendering.

Prigozhin has sent a shock force to Moscow, its bypassing major cities and trying to get there ASAP. There is a belief senior Kremlin officials will abandon ship.

Various helicopters are attacking the shock force but it seems Wagner are using air defence. Various MI-8, KA-52 and a ll-s2 have been shown destroyed.

The Tik Tok bigrade are trying to attack Rostok, considering they aren't "true Russians" and were used as barrier troops, this doesn't seem to be going down well. They are also stripping Donetsk of defenders to do this.

SpaceX have funded it privately. It apparently started operating at a profit this year.

12 more...

One of the reasons for the #DevOps movement is developers see building and packaging as #notmyjob.

The task would historically fall on the most junior member of the team, who would make a pigs ear out of it due to complete lack of experience.

This is compounded by the issue that most C/C++ build systems don't really include dependency management.

Linux distributions have all tried to work out those dependency trees but they came up with slightly different solutions. This is why there are a few "root" distributions everything branches from.

That means developers have to learn about a few root distributions to design a deb/rpm/aur package systems to base their release around.

That is a considerable amount of learning in a subject most aren't interested in.

The real question is why don't package maintainers upstream a packaging solution?

3 more...

I am actually arguing for a stable ABI.

The few times I have had to compile out of tree drivers for the linux kernel its usually failed because the ABI has changed.

Each time I have looked into it, I found code churn, e.g. changing an enum to a char (or the other way) or messing with the parameter order.

If I was empire of the world, the linux kernel would be built using conan.io, with device trees pulling down drivers as dependencies.

The Linux ABI Headers would move out into their own seperately managed project. Which is released and managed at its own rate. Subsystem maintainers would have to raise pull requests to change the ABI and changing a parameter from enum to char because you prefer chars wouldn't be good enough.

Each subsystem would be its own "project" and with a logical repository structure (e.g. intel and amd gpu drivers don't share code so why would they be in the same repo?) And built against the appropriate ABI version with each repository released at its own rate.

Unsupported drivers would then be forked into their own repositories. This simplifies depreciation since its external to the supported drivers and doesn't need to be refactored or maintained. If distributions can build them and want to include the driver they can.

Linus job would be to maintain the core kernel, device trees and ABI projects and provide a bill of materials for a selection of linux kernel/abi/drivers version which are supported.

Lastly since every driver is a descrete buildable component, it would make it far easier for distributions to check if the driver is compatible (e.g. change a dependency version and build) with the kernel ABI they are using and provide new drivers with the build.

None of this will ever happen. C/C++ developers loath dependency management and people can ve stringly attached to mono repos for some reason.

This is why Java rocks with ETL, the language is built to access files via input/output streams.

It means you don't need to download a local copy of a file, you can drop it into a data lake (S3, HDFS, etc..) and pass around a URI reference.

Considering the size of Large Language Models I really am surprised at how poor streaming is handled within Python.

1 more...

Engineering is tradeoffs.

A command shell is focused on file operations and starting/stopping applications. So it makes it easy to do those things.

You can use scripting languages (e.g. Node.js/Python) to do everything bash does but they are for general purpose computing and so what and how you perform a task becomes more complicated.

This is why its important to know multiple languages, since each one will make specific tasks easier and a community forms around them as a result.

If I want to mess with the file system/configuration I will use Bash, if I want to build a website I will use Typescript, if I want to train a machine learning model I will use Python, if I am data engineering I will use Java, etc .

Nice out of date dependencies with those lovely security vulnerabilities!

I wish, just British.

£ is The Pound to British people, so telling people to press pound for # when you mean hash would be deeply confusing.

It would be like deciding § is now the called the Euro and then telling countries that use € they are weird/young.

4 more...

There is a standard for sharing tweet style information and for threaded type information between websites.

You have software which implements the tweet standard (Mastodon), the threaded standard (lemmy) and both (KBin).

You'll notice some communities will be community@kbin.social or community@kbin.cafe, etc.. this indicates they are not local to the website your using and those addresses are KBin instances, its just your website has a copy of the information.

KBin is newer than Lemmy, it has a fairly simple responsive design that works well on mobile. Lemmy has a REST api so its easier to build mobile applications, a lot of people seem to expect/need to access websites via mobile applications.

The key difference is Lemmy is developed by Tankies, they think China's genocide of Ughurs is justified and they administer lemmy.ml.

£ is a symbol for currency (Great British Pound or "pound")
lb is a non SI symbol for weight (pound or 0.454kg)

# is a hash

Systems need ways to recognise tags, prefixing them with a symbol is helpful for computers. Using # as the prefix makes it a hashtag #technicallycorrect

6 more...

Its a really immature and niave response from Kev. Information is power, he's chosen to operate without knowledge for internet points.

Meta think there is potential to enlarge their market and make money, Kev's response won't impact their business making decisions.

Kev should have gone to the meeting to understand what Meta are planning. That would help him figure out how to deal with Meta entering the space.

I don't expect he could shape their approach but knowing they want to do X, Y or Z might make certain features/fixes a priority so it doesn't impact everyone else

11 more...

Maven has a high learning curve, but once learned it is incredibly simple to use.

That high bar is created by the tool configuration. You can change and hack everything, but you have to understand how Maven works to do so. This generally blocks people from doing really stupid things, because you have to learn how maven works to successfully modify it and in doing so you learn why you shouldn't.

This is the exact weakness of Gradle, the barrier for modification is far lower and the tool is far less rigid. So you get lots of people who are still learning implement all sorts of weird and terrible practice.

The end result is I can usually dust off someone elses old maven project and it will build immediately using "mvn clean install", about half the gradle projects I have been brought in on won't without reverse engineering effort because they have things hard coded all over them. A not small percentage are so mangled they can't be built without the dev who wrote it's machine.

Also you really shouldn't be tinkering with your build pipelines that much. Initial constraints determine the initial solution, then periodically you review them to improve. DevSecOps exists to speed development and ease support it isn't a goal in of itself

3 more...

If you signup to social media it will pester you for your email contacts, location and hobbies/interests.

Building a signup wizard to use that information to select a instance would seemto be the best approach.

The contacts would let you know what instance most of your friends are located (e.g. look up email addresses).

Topic specific instance, can provide a hobby/interests selection section.

Lastly the location would let you choose a country specific general instance.

It would help push decentralisation but instead of providing choice your asking questions the user is used to being asked.

3 more...

The best theory I have seen is the Biden administration is trying to 'manage' the conflict. A belief they can dictate levels of aid to determine a geo politically satisfactory outcome.

Concerns around unmanaged escalation made sense but the UK has been pretty focussed on methodically moving up the escalation ladder to demonstrate Russia won't resort to nuclear strikes (Brimstone, Challenger 2 tanks, setting up the F16 coalition, Storm Shadow, etc..).

The USA expects China to be the next conflict zone, that is a naval/air situation where ATACM's can't be used. Suffering a shortage of ATACM's in the near term isn't really an issue especially if you've already put in place contracts to address the gap.

SpaceX are launching 26-52 satellites at a time and have sustained 3 launches a week for most of the year.

The satellites are in a Low Earth Orbit, without constant thrust, atmospheric drag will force them to re enter earths atmosphere within a few months. This means they aren't adding to junk in space.

Unlike Nasa, ULA, Arriannespace, RoscosMos, etc.. SpaceX have always performed 2nd Stage Deorbit burns, so they aren't adding to Space junk by launching either.

The Low Earth Orbit is to ensure low latency and the need for constant thrust means the satellites have a short life expectancy by design. That is why SpaceX fought to keep the satellites as cheap as possible (e.g. $250k)

First stage booster reuse and fairing reuse means the majority of the launch cost is the second stage ($15 million).

The whole lot is privately funded

4 more...

The other person was just wrong.

Large scale Hydrogen generation isn't generated in a fossil free way, Hydrogen can be generated is a green way but the infrastructure isn't there to support SLS.

Hydrogen is high ISP (miles per gallon) by rubbish thrust (engine torque).

This means SLS only works with Solid Rocket Boosters, these are highly toxic and release green house contributing material into the upper atmosphere. I suspect you would find Falcon 9/Starship are less polluting as a result.

Lastly the person implies SLS could be fueled by space sources (e.g. the moon).

SLS is a 2.5 stage rocket, the boosters are ditched in Earths Atmosphere and the first stage ditched at the edge of space. The current second stage doesn't quite make low earth orbit.

So someone would have to mine materials on the moon and ship them back. This would be far more expensive than producing hydrogen on Earth.

Hydrogen on the moon makes sense if your in lunar orbit, not from Earth.

Basically Epic like every other publisher has created their own launcher/store.

They aren't trying to compete on features and instead using profits from their franchise to buy market share (e.g. buying store exclusives).

The tone and strategy often comes off as aggressive and hostile.

For example Valve was concerned Microsoft were going to leverage their store to kill Steam. Valve has invested alot in adding windows operability to Linux and ensuring Linux is a good gaming platform. To them this is the hedge against agressive Microsoft business practices.

The Epic CEO thinks Windows is the only operating system and actively prevents Linux support and revoked Linux support from properties they bought.

As a linux user, Valve will keep getting my money and I literally can't give it to Epic because they don't want it.

1 more...

Thats two hundred years and would cover the end of Plantagenet reign and the Tudor era.

Henry VIII reign happened during that period, at the beginning of your time period everyone would be catholic and at the end Queen Mary of Scotts was executed because the idea of a Catholic on the throne was unthinkable.

The UK is littered with castles and estates, normally they focus on specific historic events which happened at that location.

A project manager has responsibility for delivery of a project but they typically lack domain specific knowledge. As a result they can't directly deliver something, merely ask subject matter experts for advice and facilitate a team to deliver.

Most PM's cope with the stress of this position poorly.

This cartoon is an example of micro management (a common coping mechanisim), the manager has involved themselves in the low level decisions because that gives a sense of control. If a technical team then tell them its a bad decison the team are effectively attacking their coping mechanisim.

The solution isn't to tell them their technical idea is terrible, when you've fallen down this rabbit hole you have to treat the PM as a stakeholder. They are someone you have to manage, so a common solution is to give them confidence there is a path to delivery, a way to track and understand it.

3 more...

Do not mix tabs and spaces.

Its impossible to automate checking that tabs were only used for indentation and spacing for precise alignment. So you then take on a burden of manually checking

You end up with the issue where someone didn't realise and space idented or anouther person used tabs for precise alignment and people forget to check the whitespace characters in review and it ends up going inconsistent and becoming a huge pile of technical debt to fix.

Use only one, you can automate enforcement and ensure the code renders consistency.

If you read the reports...

Normally JPL outsource their Mars mission hardware to Lockheed Martin. For some reason they have decided to do Mars Sample Return in house. The reports argue JPL hasn't built the necessary in house experience and should have worked with LM.

Secondly JPL is suffering a staff shortage which is affecting other projects and the Mars Sample Return is making the problem worse.

Lastly if an organisation stops performing an action it "forgets" how to do it. You can rebuild the capability but it takes time.

A team arbitrary declaring they are experts and suddenly decideding they will do it is one that will have to relearn skills/knowledge on a big expensive high profile project. The project will either fail (and be declared a success) or masses of money will be spent to compensate for the teams learning.

Either situation is not ideal

It's explained in the article

They basically made it law so the only regulation was "informed consent", with informed consent you can launch private missions.

Government and private bodies were supposed to come together to come up with sensible rules. No one has done that.

So once the law passes nothing will really change, except government bodies will be required to figure out a framework to qualify private launches

Most businesses IT departments I have worked for mandate a Linux distribution with a big support contract to deploy anything. The Windows System Admins think it will block adoption.

The businesses quickly realised that CentOS worked as a RHEL stand in and all developers can use that.

The logic of CentOS was it was identical to production and so minimised deployment issues but everything deploys in docker now.

As long as I have a Linux based docker host (cause the windows one has weirdness), I don't care what that host is, or how it is configured.

This now reflects in developer environment, I will write guides for Debian (because Snaps), devs can run whatever they want. I specify Ubuntu LTS for production since you can get a support contract for it.

Maybe I am old but I don't understand the NEED for a mobile application.

The kbin website works well on desktop and mobile web browsers with no render issues. The lemmy mobile apps all seem to be "alpha" quality.

Why is a buggy app better thana working website?

I choose an application or website based on which one works best. For example I browse Amazon via the web browser on the phone since the mobile application takes 2-5 seconds to load.

I think its a self burn.

Person has never been in a relationship and so has no ex to photograph

During the pandemic I had some unoccupied python graduates I wanted to teach data engineering to.

Initially I had them implement REST wrappers around Apache OpenNLP and SpaCy and then compare the results of random data sets (project Gutenberg, sharepoint, etc..).

I ended up stealing a grad data scientist because we couldn't find a difference (while there was a difference in confidence, the actual matches were identical).

SpaCy required 1vCPU and 12GiB of RAM to produce the same result as OpenNLP that was running on 0.5 vCPU and 4.5 GiB of RAM.

2 grads were assigned a Spring Boot/Camel/OpenNLP stack and 2 a Spacy/Flask application. It took both groups 4 weeks to get a working result.

The team slowly acquired lockdown staff so I introduced Minio/RabbitMQ/Nifi/Hadoop/Express/React and then different file types (not raw UTF-8, but what about doc, pdf, etc..) for NLP pipelines. They built a fairly complex NLP processing system with a data exploration UI.

I figured I had a group to help me figure out Python best approach in the space, but Python limitations just lead to stuff like needing a Kubernetes volume to host data.

Conversely none of the data scientists we acquired were willing to code in anything but Python.

I tried arguing in my company of the time there was a huge unsolved bit of market there (e.g. MLOP's)

Alas unless you can show profit on the first customer no business would invest. Which is why I am trying to start a business.

I love this.

If I were a billionaire I would have a warehouse of computer rigs, constantly being tested looking for regressions and bugs.

Then again I would hire an army of people to ensure a vulkan driver exists for all hatdware and rewrite KDE so it used Vulkan and not GBM.

So perhaps there is a good reason I am not a billionaire

I understand all of those words but not the sentence.

I know there are differences in sound replication quality, but the difference between high end and cheap kit has eroded over the last 10 years.

Its like comparing 720p to 1080p, sure there is a difference and 1080p is better, but not 10 times the cost improvement. 4k is having the same issues selling itself atm.

Thinking of Apple kit as Jewelry makes so much sense.

I have a pair of £40 Bluetooth earbuds and recently asked a group of co-workers why they owned Airpods.

They all admitted the sound quality was worse but it has a nifty find my airpod function. Which put me off buying Airpods.

Thinking of them as £200 earrings explains alot. The reason you buy them isn't for a practical purpose but to be seen in them or look pretty (which is entirely subjective).

2 more...