Show newer

@FrailLeaf @LordMordred @bwk Large codebase without documentation is not sustainable so i don't think that this scenario exists in the wild and even if it was it's still time efficient to footprint.. i would say 100K Lines taking <1 hour

@FrailLeaf @LordMordred @bwk

The practice of figuring out how the software works and why.

My way of doing it is by adding "WTF" comment tags all over the code as comments to things that i do not understand and then commenting out random codeblocks and changing them to see how it affects the outcome to write docs.

e.g.

fn main() {
println!("Hello, world!");
}

fn main() {
// WTF(Krey): what is this supposed to do?
println!("Hello, world!");
}

fn main() {
// WTF(Krey): what is this supposed to do?
println!("Hello, worldSSSSssss!");
}

Oh this block is the one that prints in the console!

fn main() {
// Outputs 'Hello, world!' in the console
println!("Hello, world!");
}

@FrailLeaf @LordMordred @bwk Like footprinting is generally time efficient so what's the issue?

How the fuck do you print with steel nozzle?!
I am about to develop a PTSD from having a print failures after 10 min of printing on that crap :angery:

@FrailLeaf @LordMordred @bwk

> How does a person working a job, writing absolutely horrible code change the industry?

The gross majority of people working on open-source projects write a horrible code it's by design done this way.

So again the important thing is abstracting and documenting the code preferably writing down what you are doing, how and why

@FrailLeaf @LordMordred @bwk like they can always change an industry.. So what's your point?

@FrailLeaf @LordMordred @bwk to follow-up like last time i checked in finland they let criminals convicted of murder to work on open-source projects and there are pedophiles and nazis contributing to Linux development etc..

@FrailLeaf @LordMordred @bwk literally everyone.. There are not hard restrictions on who can be hired to work on an open-source projects.

@bwk @FrailLeaf @LordMordred i redrafted it to fix a typo.. you shouldn't get a notification twice when i do that though

@FrailLeaf @LordMordred @bwk

> This is about the OP saying "I tried programming but I gave up" post that is clearly not asking for help, but some along the lines of "i didn't like movie X" , you make them like the movie.

People usually abandon learning programming as the learning curve to some programming languages is too steep for them to climb.. Usually if they get help from a developer who knows the language then they can learn within hours more than they ever did alone.
So such encouragements are viewed as ethical in computer science if you are willing to invest the time to teach them.

> Also not everyone can make a living writing FOSS projects. Especially if you are not in the first world.

Lol who told you that? People living in a 3rd world country getting hired to work on a FLOSS projects is very common from my experience.. Mostly because they are qualified to do the job and are more economical to hire.

@bwk @FrailLeaf @LordMordred

Seems that the most efficient way to find a free software job is by contributing to free software projects and doing a good job at it e.g. i contribute to free software on semi-regular bases and i get job offers pretty much multiple times a week.

The other way that i saw is people asking in free software oriented communities e.g. libreplanet mailing lists.

Lot of employers are also interested in hiring people for apprenticeship as in general those are much easier to work with then senior developer and they cost less e.g. i taught a rustlang to a student and he started contributing to rustlang projects and got fulltime hired to work on rustlang for it.

but again the most efficient way to get hired by e.g. prusa to work on a prusa-slicer is by submitting quality contributions to prusa-slicer and prusa will most likely want to hire you after that.

---

Also consider working as a contractor as those usually earn money more efficiently through addressing bug bounties (e.g. github.com/go-gitea/gitea/issu i abandoned the work as it would need too much work for my usecase) and getting hired to fix problems.

@FrailLeaf @LordMordred @bwk Good programming practices are not important in open-source development.

The documentation and making the code understandable by the next guy is as if your abstracting and the overall design of the solution is good then it will get used.

The code which follows best practices and is amazing or whatever without sufficient documentation is generally not appealing at least to me to contribute to, but you can always do "footprinting" meaning tagging the code with tags to things that you don't understand and then commenting codeblocks out and changing them to figure out what they do to write a documentation.

Real life example being the work done by edolstra on Nix package manager being used to create GNU Guix.

> but getting there often requires to work in places where they want things to be done and dont care if you do it sloppily.

yes proprietary development is that way and as long as it gets government funding to compensate for the long-term economical damages at the cost of tax payers that this development does then it will be still used (US).

> Shit workplaces and improper env setups are the reason.

none gives a damn about workplace on free software development..

You don't like the developer? -> Fork it

Real life example being slic3r being forked in prusa slicer. (github.com/slic3r/Slic3r/issue)

about improper env setups i agree that those are annoying but i am not aware of a case where this was ever a problem, but you can always define a NixOS/GNU Guix and/or docker bootstrapping which is what i do when i work on something.

> You cannot expect people in here to be industrious & skillful

I don't expect them to be experienced i even welcome people that never coded in their life in my projects e.g. recently teached programming to a 12yo who used a project to which i contributed to and who found a minor bug that they were able to fix.

I support the court of arbitration for sport in letting the 15-year old Kamila Valieva participate in the Beijing Olympics as it seems that she was drugged without her knowledge and consent.

There is also a possibility of the test being false-positive which i understood is yet to be investigated.

@bwk @FrailLeaf @LordMordred No idea what is that supposed to mean

for software engineering of a solution on an open-source projects the process is:
1. Abstract what you want to do and why (probably what google meant.. the term used in the computer science is "abstracting")
2. File a tracking and discuss the design with other developers
3. assign a developer to work on the issue or work on it yourself
4. work on implementation. This depends on the project e.g. sometimes it makes sense to first write the test before the code
5. Submit the solution for QA and discuss the design
5.1. In case the QA does not include it and the solution is projected to have such compatibility: Run it docker, VM, etc.. to ensure that it's cross-compatible
6. Make changes if any requested through collective research
7. Once approved make/polish tests and documentation
8. Merge

This is very watered-down and generic as it depends on the project and programming language used.

@bwk @FrailLeaf @LordMordred

> have you actually been hired to work on free software full time?

Yes i have 14 years of experience with Free Software and Open-Source development.

> Everyone I know personally gets paid to work on proprietary software.

Find people that work on open-source then :p Proprietary in general pays less and is more infuriating

> Besides, when I have had to use free software on the job their tests have all been broken and poorly documented.

Free Software is statistically more robust and secure so either you were using a solution that did not yet reached Gold or your system is hugged up.

Documentation agree that not everyone makes it as understandable as it should thus why i prefer rust that generates the docs from the code.
But there is lot of people who are not good at programming, but they are improving the documentation for that reason.

@bwk @FrailLeaf @LordMordred that's bullshit majority of programming jobs require documentation and even tests assuming that they hire you to work on an open-source projects

none really gives a damn on proprietary development i agree with that.

@bwk @FrailLeaf @LordMordred

I already addressed the environment namely using reproducible environments e.g. Gitpod, GNU Guix, Rustup.rs etc..

What is even a design pattern?

You coordinate with team through the code namely:
1. Using tags
2. in-code documentation
3. Discussing your design in merge request

> it gets really easy to write sloppy code that you have to reinterpret 3 months from now.

Bad code ain't a problem as long as it's documented, but good practices should be followed.

Show older
Qoto Mastodon

QOTO: Question Others to Teach Ourselves
An inclusive, Academic Freedom, instance
All cultures welcome.
Hate speech and harassment strictly forbidden.