Spyke
lemmy.zip

People say "RTFM" then you get to the manual and it's this

136
lemmy.world

That is spot on. Usually you would expect the manual to be hit and miss when it comes to troubleshooting but Microsoft is consistently miss, skipping the important parts and details.

49
9bananasreply
feddit.org

Microsofts documentation is also increasingly just outright wrong:

if you spend enough time looking up things about their newer products like M365, defender, or azure, especially when it comes to scripting related to those, there's a ton of simply outdated info on the official docs that makes it really difficult to figure out why your setup isn't doing what it's supposed to.

from changed variable names, to missing functions, to unexplained buttons, etc., etc.

the newer docs are straight up trash!

you're better off searching around for forum posts or whatever, than using the official docs...

22
nogooduserreply
lemmy.world

Microsofts documentation is also increasingly just outright _wrong_:

There used to be a spot on joke about Microsoft documentation taking the piss out of the fact that it was always 100% accurate but at the same time pretty useless. That joke hasn’t been relevant for a while.

It’s so frustrating trying to find out how to do something in one of the admin centres for M365 and you find a Microsoft document with exactly what you need in it only to find out that the UI has changed and the steps don’t work now. Did they move it? Did they remove it? Who knows?

6

our admins are regularly straight up fighting against this bs!

"where the fuck has this fucked off to now?? it was right here last month?!"

so glad I'm not doing MS administration...

4
eodurreply
piefed.social

If you are used to documentation like MS's, then AI responses probably look more reasonable and useful. If AI results look better than your own docs you should feel really bad.

5

this is the part that's really frustrating:

i sometimes feel forced to use chatGPT (duck.ai) to simply search for Microsoft things, because search engines only return SEO garbage with the exact same content spammed across like a million "tech tips for beginners" sites...and the docs, as established, are pretty useless...

keep in mind: i fucking hats "AI".

making me use it makes me not have anything to do with whatever you're selling.

it's getting progressively more impossible to simply use MS products, because the information you need to use them is so hidden away!

combine those two things and ta-da: that's why all my stuff at home is running linux now.

4

Amazon is no better. Go look up the correct parameter format required to set a compliance lock on an object in S3 via the API. Now try it yourself. Surprise!

3

you’re better off searching around for forum posts or whatever, than using the official docs

Yep, that's why I started the Lemmy .NET MAUI Community - try and reassemble the collective experts who got scattered when Microsoft shutdown the old Xamarin forum - they had been invaluable when I was trying to learn Xamarin from the Microsoft resources.

2

Basically Hello World using the win32 API. I believe I first encountered this before college, and it took actually professional dev experience to really understand it.

3

Link 1: Pencil selection guide Link 2: Ovals vs. circles Link 3: Wings Link 4: Bird feet

2
RaivoKullireply
sopuli.xyz

Another problem is that people skim to the "most important bits" without knowing they're skipping something important. Then some of those people complain how the manual is shit.

I guess it could be shit if it is way too verbose though.

7

Exactly what I was thinking. Like needing to understand a huge preamble just to do the Very Simple Thing. I just want to move on, not marry this Linux command.

1
Redkey
programming.dev

How about that worst of both worlds, the tutorial where the author starts out writing as if their audience only barely knows what a computer is, gets fed up partway through, and vomits out the rest in a more obtuse and less complete form than they would've otherwise?

  1. Turn on your computer. Make sure you turn on the "PC" (the big box part) as well as the "monitor" (TV-like part).

  2. Once your computer is ready and you can see the desktop, open your web browser. This might be called "Chrome", "Safari", "Edge", or something else. It's the same program you open to use "the Google".

  3. In the little bar near the top of the window where you can write things, type "https://www.someboguswebsite.corn/download/getbogus.html" and press the Enter key.

  4. Download the software and unarchive it to a new directory in your borklaving software with the appropriate naming convention.

  5. Edit the init file to match your frooping setup.

  6. If you're using Fnerp then you might need to switch off autoglomping. Other suites need other settings.

  7. Use the thing. You know, the thing that makes the stuff work right. Whatever.

Congratulations! You're ready to go!

123

Sounds like typical Microsoft documentation to me. Explains in great detail what .NET is, where you can download it from, then jumps straight to the advanced topic they're covering without any of the intermediate knowledge covered or even linked to (but perhaps referred to only vaguely in passing as an acronym, again with no link, this time no link to what "TLA" is actually short for, so you're searching for it is fruitless as well).

73
Thunderwolfreply
lemmy.world

I think TLA means "Three Letter Acronym" in some circles. So like, DBA would be a TLA meaning "database administrator" for example. Didn't read the article to get the context though, so not sure if it fits

11

Yes, TLA is a three letter acronym. A four letter acronym, on the other hand, is an ETLA, or β€œEnhanced Three Letter Acronym”. For advanced cases, you can get an EETLA (or XETLA) for Expanded/Extended Enhanced Three Letter Acronym.

Just so you know.

16
sh.itjust.works

At least once in their life, every tech person should be forced to teach someone like my mum how to use a piece of technology.

That will very quickly change your perspective on what counts as user friendly.

80
fahfahfahfahreply
lemmy.billiam.net

Pretty sure every tech person at some point or another has had to do exactly that. And not just their mom, but their dad, and their extended family, and their parent’s friends who have a random problem, etc

71
Mouselemmingreply
sh.itjust.works

And why? Because none of them can read the fucking manual! And you'll say they don't try, but many of them have tried. Once. And all they learned was that it wouldn't do them any good.

17
Ilovethebombreply
sh.itjust.works

Because the manual often doesn't cover what they're trying to do, or finding reliable information online is it's own struggle.

12

In my case it's usually "can you help me undo what my cat did?" Treading the keyboard with 4 paws enables her to work wonders it would usually take 2 NCIS agents typing on the same keyboard to accomplish.

14
Yakyreply
slrpnk.net

I taught basic computer literacy. I am a software developer. It's tough to reframe my own knowledge so drastically, but the new perspective also makes me question why so many things are wrong with current tech (particularly UI/UX).

25
Ilovethebombreply
sh.itjust.works

Oh definitely, there's so many products we use that are far more complicated than they have any need to be.

Vehicles and appliances are two examples that come to mind.

15
Yakyreply

My peeve is products made "easy" to use, in a way that makes explaining them extremely difficult. Two top examples are:

URL bar in browsers which doubles as a search bar. Good luck explaining why if you type in an exact existing address, you will get there, but otherwise (typo, extra space), you will end up on Google.

Apple's iMessage. Your message will be sent to your contact using one of three protocols: SMS/MMS, iMessage or RCS. This is almost entirely opaque, and I even had to explain to a tech-savvy person why videos they send me look like blobs.

3

I think the issue is that you need to understand who your users actually are. Documentation for a library intended to be used by a reasonably competent software engineer is going to have different requirements vs documentation for a cli utility aimed at Arch btw Linux users vs documentation for a program to help Grandma organize family photos.

If you throw a terminal command at Grandma she's going to panic and call her grandchild. If you put instructions for extracting a tarball in your library docs the programmer is going to get bored and skip ahead.

6
piefed.social

I love the shit out of this. I can relate SO HARD to everything she wrote. It's like most people don't understand how to communicate with regular normal human beings

49

They have even forgotten one of the most basic grammar rules - always fully spell out an acronym the first time you use it. Looking at you MicroSoft (MS). No, I don't know what TLA* is, and now this document is completely useless to anyone who doesn't know what TLA is, especially since you've also not linked to any resources about TLA

  • Three Letter Acronym
32
sh.itjust.works

Is... is it not standard to say "Three Letter Acronym (TLA)" the first time? What kind of monster?

16

As a software developer with 10+ years in .Net. I don't even bother with Microsoft documentation anymore, it's often wrong or outdated and skips chunks that even senior devs need.

6
feddit.org

I envy some people's ability to come up with nonsense words.

48
Konstantreply
lemmy.world

Sternocleidomastoid, oh wait, that's a word. Dang it.

1

This reminds me of the "WHY IS THERE CODE??? MAKE A FUCKING .EXE FILE AND GIVE IT TO ME" post that blew up a while back

https://copypastatext.com/i-am-new-to-github-and-i-have-lots-to-say/

And both boil down to

  • guides can be prioritized more in some projects and it might be in the best interest of the creators to do that

  • different guides are written for different audiences, sometimes a guide isn't meant for the average person

44
Yaky
slrpnk.net

Me, a (mostly) backend developer, reading a Medium post on how to make your computer display a div using Awesome New Web Framework (TM)

33
felbanereply
lemmy.world

Every front-end guide, despite modern HTML/CSS3/ES6+ being completely viable for building an entire web application without dependencies: "first, install npm and npx and npy and npppp2 and then run 'npz create-huge-boilerplate-folder'. Now go edit arbitrarily_named_file.yaml to add requirements a, b, and banana. Now you can edit path/to/hidden/entrypoint.jsx to return 'Hello, World!' and then run 'npz bloated-dev-http-server' and navigate to http://127.0.0.1:9001/index to view it! Simple!"

8

I hear that. I was refactoring a codebase and they used a special library for tooltips. There are two tool tips on the entire site and the library uses its own perverse syntax.

I've never got into modern JS frameworks because they seem to be utterly insane. If you need all that to build a site, you need to work on your fundamentals.

4

β€œfirst, install npm and npx and npy and npppp2 and then run β€˜npz create-huge-boilerplate-folder’. Now go edit arbitrarily_named_file.yaml to add requirements a, b, and banana. Now you can edit path/to/hidden/entrypoint.jsx to return β€˜Hello, World!’ and then run β€˜npz bloated-dev-http-server’ and navigate to http://127.0.0.1:9001/index to view it! Simple!”

Yep, Microsoft doco is like that too

3

I swear centering in css is intentionally left as a Lovecraftian mess simply so front end devs can feel superior

4
lemmy.nowsci.com

Controversial, but: Skill issue.

I do a lot of FOSS work. I dont write docs for everyone most of the timr. I write docs for those already educated on most of the items. This still applies, and is accessible to anyone:

If you don't know the word, look it up in the dictionary.

I don't want to downplay frustrations, I know those are real, but most people writing these things aren't paid.

Note: If a Dev complains their idea isn't adopted and the docs suck, that's another story.

Edit: And the article seems to be by a career writer, so it makes sense from their perspective, but some more expansive thinking on their part about how a developer isn't staffed to do their job, too, would be helpful.

29
Flamekebabreply
piefed.social

On the flipside I've encountered docs that expect the reader to already understand the functionality in order to be able to use the docs. They seem to exist solely as a reminder to those who already know.

There's a reason I don't bother running my own mailservers anymore!

13
BCsvenreply

Yeah, I use a software that had amazing documentation when they had a publishing company division. When the publisher was gone the documentation is at most a glorified of glossary.

Help on Feature XYZ: Feature XYZ allows you to use FeatureXYZ

3

Oh man, this I do hate. If you have terminology in your app, that is not a standard, please, please define it.

3

I found this website/article by accident on neocities, it's about a tutorial Git. Though it's a bit bare-bones I respect the effort.

Would be nice to see what all of you think. Considering this is a thread on tutorials. I hope this kid succeeds in life.

1
lemmy.world

Docs aren't for everybody sometimes stuff is just complex and requires prior understanding. I guess that's where more people can help FOSS projects, by writing more accessible docs and pre packaging stuff so it can be used by less technical people or someone who's just starting out.

12

Agreed, maybe this writer could step in and volunteer their time instead of writing satire complaining about it.

2
feddit.org

How many dictionary lookups deep are people reasonably expected to go? Depending on the reader, there's just some level of complexity that isn't accessible any more. Add to that the diversity of mental models and approaches people take and a semantic structure intuitive to you just won't work for someone else, no matter what words you use. Don't get me wrong, you can't cater to everyone and I'm not sure you should if you could.

I understand that your target audience are typically people already familiar with or at least invested in the subject matter, in which case leaning on a presumed funamental understanding and a willingness to fill gaps is sensible. You don't want to bloat your docs by repeating things your most relevant readers already know.

In doing so, you "sacrifice" the accessibility for less versed people. In a perfect world, we wouldn't have to choose and everyone would get an explanation suitable to their own level of understanding and background. Alas, our world imposes limits on our knowledge, abilities, time and energy. Readers and writers alike should be aware of those limits, both in themselves and in each other.

I feel like "Skill issue" understates the complexity of the combinatorics the diversity of human minds produces. It's a human issue that might never be perfectly solvable. Your solution is good and appropriate, and that has to be enough.

My point is merely that we should be aware of the downsides of our choices and make that tradeoff consciously.

1
fmstratreply
lemmy.nowsci.com

I think you're spot on, and this is the reason I put "controversial" in front of it. I just felt like if we rewrote the blog post as a "What a writer who's never learned to program's code looks like to a developer" it would make no sense, so why should we accept it in it's current form?

2

I think you're spot on, and this is the reason I put "controversial" in front of it.

And I just can't resist a good invitation for some discussion. Thank you for providing it!

1
r4venwreply
sh.itjust.works

I'm sorry to tell you, friend, that your article does this too. You don't explain what XAML is, for instance. Certain sentences almost read like the satire you posted: "how to do in C# code the things which are currently done in XAML (such as binding)". You also tell the reader to "edit the relevant line" which doesn't help a total beginner.

The fact of the matter is that writing for the lowest common denominator takes an incredible amount of time and writing skill. Most of us don't have one, some don't have both.

If you keep practicing technical writing, I'm sure you'll get there eventually. Just keep in mind that most people do not want to be technical writers

6

I’m sorry to tell you, friend, that your article does this too

Nope.

You don’t explain what XAML is, for instance

You know the article is about how to write a page and NOT use XAML, right?? πŸ˜‚ If you don't know what it is then you don't need to (hence why I point out that it isn't pre-requisite knowledge). If you do know what it is then that's probably what brought you to my page to begin with - stop using it! πŸ˜‚

Certain sentences almost read like the satire you posted:

Now read the links provided in the pre-requisite knowledge. You're the second person who thinks people learn things by reading the first paragraph only.

You also tell the reader to β€œedit the relevant line” which doesn’t help a total beginner

Now read the links in the pre-requisite knowledge, clone the repo, follow the instructions up to that point in the article, and guess which line you're on! πŸ˜‚

I’m sure you’ll get there eventually

It's there already, if you had just bothered reading it all and following the instructions, instead of just criticising without even trying it

Just keep in mind that most people do not want to be technical writers

Probably because of people like you who criticise them without even trying to follow the directions to begin with. I'm guessing you also submit issues which say "It doesn't work. Please fix"

-4
r4venwreply
sh.itjust.works

I don't want to make this a "gotcha", but you say no xaml knowledge needed but then talk about it and have the reader touch them (mostly delete). You say you usually delete this xaml file but I don't need to do that. Why? What do I gain or lose? I thought I didn't need to know xaml?

I read your entire tutorial. I've been in the industry for a while. I found it hard to read but mostly due to the sentence structure. I suppose if english isn't your first language (it isn't mine), that might explain it. I can give you more comprehensive feedback, if you'd like.

I know hearing constructive criticism is hard, but it is part of the learning process.

6

I don’t want to make this a β€œgotcha”, but you say no xaml knowledge needed but then talk about it and have the reader touch them (mostly delete).

I only have them delete the XAML files. You don't need to know anything about what's inside a file to delete it πŸ˜‚ Also, I only talk about the benefits of getting rid of them, which also doesn't require any knowledge of XAML.

You say you usually delete this xaml file but I don’t need to do that. Why?

No I don't! I say disabling implicit usings is optional, and do explain why I do it, then delete the XAML files. You seem to have conflated 2 successive paragraphs.

I thought I didn’t need to know xaml?

You don't. They're never used anywhere in the whole thing. We only delete the XAML files, then replace them with C#.

I read your entire tutorial.

Not very carefully apparently.

-1
tylerreply
programming.dev

I’m sorry dude, but the other person is completely correct. You don’t explain a lot of things and then you use them as a basis for knowledge in the tutorial. For example Git and GitHub are both prerequisites that you don’t mention. Knowledge of layout is also a prereq. You don’t explain what binding is. There’s a ton of typos. You missed putting certain things in code blocks. You should every once in a while show the full class or file so the reader knows what they missed. There’s a lot that could be improved here.

Nobody is telling you off for this. You didn’t do anything wrong. Writing tutorials, even bad ones or mediocre ones is really appreciated. It’s hard to write a tutorial. It’s really hard to write a really good tutorial. Every tutorial I write I try to get feedback from colleagues to see what I could have done better, what isn’t clear. There’s always something.

3

I’m sorry dude, but the other person is completely correct

No they're not.

You don’t explain a lot of things

You mean all the things that have links to resources about them in the pre-requisite knowledge section? πŸ˜‚

For example Git and GitHub are both prerequisites that you don’t mention

Now go read through the links in the pre-requisite section. Also, they're not pre-requisites - it isn't necessary to know how to use them, given cloning the repo is optional - hence not listed as pre-requisites. See how that works?

Knowledge of layout is also a prereq

No it isn't. I specifically cover exactly that. I see you didn't read it.

You don’t explain what binding is.

Yes I do! πŸ˜‚ As do the links in the pre-requisite knowledge. Again showing you didn't read it

There’s a ton of typos.

says person not identifying any

You missed putting certain things in code blocks

You ever tried doing that on dev.to? Guess what? There's no tutorials for it! πŸ˜‚ (the thing they said to do doesn't work)

You should every once in a while show the full class or file so the reader knows what they missed

It's done at the beginning. Also there's the repo. Again showing you didn't read it.

There’s a lot that could be improved here.

says person with made-up criticisms from not having actually read through it.

It’s hard to write a tutorial.

No it isn't. Assume the reader knows nothing.

-1
tylerreply
programming.dev

You mean all the things that have links to resources about them in the pre-requisite knowledge section? πŸ˜‚

no, I mean the things I listed... Like Git, GitHub, and the rest


Now go read through the links in the pre-requisite section.

... I did. They're literally links to download Visual Studio (nothing about git, github, views, literally anything besides downloading), a link to download .NET (same deal here), and a link to C# (once again, zero mention of git, github, etc.)

I think you must have started to add those in and forgot because there is absolutely no mention of them in your links.


Also, they’re not pre-requisites - it isn’t necessary to know how to use them, giving cloning the repo is optional - hence not listed as pre-requisites. See how that works?

From your article:

I have made the first commit at this point. 
The repo is at https://github.com/SmartmanApps/CSharpUI. 
This is preserved in the Master branch - all changes will be made in different branches 
so that you can swap between them to compare 
(though referring to the repo is optional - all the information you need is in this blog post).

you mention commits. Knowing wtf you are talking about is a prerequisite to literally understanding the words you are typing. If it doesn't matter then don't mention it. You mention repo. That requires knowing wtf a repository is. If it doesn't matter don't mention it. State "The code is at this link", not "the repo is here, this is preserved in the Master [sic] branch" (which is one of your typos by the way). You then discuss swapping between branches. All of this requires understanding git. To anyone that knows nothing about programming your words are completely nonsense here. To any reader that sees your words "though referring to the repo is optional - all the information you need is in this blog post" they will think "then why did this author mention it?"


Knowledge of layout is also a prereq

No it isn’t. I specifically cover exactly that. I see you didn’t read it.

.... yes it is dude. You literally didn't cover it. The first mention of layouts is when you say

For those not familiar with this, normally a layout recalculation is done each time you 
add an element to the UI, but the batch begin and commit says that we are going to 
make a bunch of changes, and don't do any recalculations until we are done adding elements

which is nonsense to someone that doesn't know anything about layouts. You then proceed to say

Define our elements: Well, we get to cheat a bit here, since we're recreating an 
existing UI - we can just read through MainPage.xaml and see what's there.:-) 
The ScrollView and VerticalStackLayout are used to position the other elements 
on the screen, so that'll go in our "Assemble GUI" section - everything else are views. 

We can't cheat and read through MainPage.xaml, you literally just had us delete it! Not only that but you said we don't need to click on the link to the code and you said everything would be provided in the article! All of which are false at this point. Then you state "The ScrollView and VerticalStackLayout ... everything else are views.". WTF are ScrollView and VerticalStackLayout and views???? This requires prerequisite knowledge of how layouts work. This is not in any of the prerequisite links. It is not explained in the article.

So not only do we need to actually be performing the actions in the article alongside you (meaning we can't just read the tutorial to find the information we need), you're forcing users to do the coding, and then you're actually telling the users to use something you've had them delete! AND you expect them to know what views, layouts, and reflowing are.

1

Like Git, GitHub

Not sure how many times I need to tell that that it isn't a pre-requisite.

… I did.

No you didn't. I just added screenshots in my other reply pointing out all the links that you didn't click on.

you mention commits.

for those who are taking the option of following the repo.

Knowing wtf you are talking about is a prerequisite to literally understanding the words you are typing

You think people would be following along in the repo if they didn't know what a repo was?? πŸ˜‚

To anyone that knows nothing about programming your words are completely nonsense here

Why would "anyone that knows nothing about programming" be reading a blog about how to write a MAUI page in C# instead of XAML? πŸ˜‚ And, again, this is covered by the links in the pre-requisites, the whole point to begin with.

they will think β€œthen why did this author mention it?”

Because it's optional

The first mention of layouts is when you

...go read the information at the pre-requisite links.

which is nonsense to someone that doesn’t know anything about layouts

And why would "someone that doesn’t know anything about layouts" be reading a blog about layouts in MAUI? πŸ˜‚

you literally just had us delete it!

I also covered the process for (re)creating the whole project at the beginning, for those who didn't have the common sense to read through what what was going to happen after we delete it, or they can click on the first version in the repo, and these are Windows developers, so it's probably still in the recycle bin, so yes, they most definitely can.

you said we don’t need to click on the link to the code

That's right.

you said everything would be provided in the article!

Yep, including links to pre-requisites.

All of which are false at this point

Nope, none of which are false.

WTF are ScrollView and VerticalStackLayout

Covered by links in the pre-requisites and subsequent directions on what to do.

This requires prerequisite knowledge of how layouts work.

Covered at the pre-requisite links.

This is not in any of the prerequisite links

I already proved you didn't look at any of the links there, like...

(meaning we can’t just read the tutorial to find the information we need

You can if you're already familiar with everything in the pre-requisites.

you’re forcing users to do the coding

How am I forcing them? They can just read it all if they want. Also, you know that's why they are reading the blog in the first place, right? πŸ˜‚

0
tylerreply
programming.dev

continued...

You don’t explain what binding is.

Yes I do! πŸ˜‚ As do the links in the pre-requisite knowledge. Again showing you didn’t read it

no you literally don't and no, once again you seem to have maybe saved a draft somewhere that you are seeing prerequisite links that are not present in the published article. This is what we see

The first link is a download link. The second link is a download link. The third link is a link to a single tutorial titled "Introduction to C#" and is made up of 6 sub-tutorials titled:

  • Hello world and text
  • Numbers in C#
  • Tuples and types
  • Branches and loops
  • List collections
  • Pattern matching

Not a single one of these tutorials mentions views, bindings, layouts, git, or even github. Do you really need me to go paste all of the text from those pages here into a comment so you can see for yourself? I really don't want to do that. You can go search yourself since you think your tutorial is so perfect, you shouldn't have any difficulty proving me wrong.


There’s a ton of typos.

says person not identifying any

I was trying to avoid writing a lengthy reply explaining every minute thing you've done wrong since that's reductive and honestly rude. On top of that, I make plenty of mistakes myself so pointing out your grammar and typos is even worse. You've forced my hand though, here are some of your typos.

  • most commonly this either needs to be combined with the first sentence or needs to be capitalized
  • (or Colors.cs if you must πŸ˜‚) should be (or Colors.cs, if you must πŸ˜‚)
  • And ditto for Background, but set to whatever colour you want for the background. e.g. #FF000000 for black. should be And ditto for Background, but set to whatever colour you want for the background, e.g. #FF000000 for black.
  • despite how it may appear, should be Despite how it may appear,
  • Don't forge also that should be Don't forget also that
  • batchbegin(); batchcommit(); should be BatchBegin(); BatchCommit();
  • what's there.:-) should be what's there. :-)
  • So, now we just need to add our 2 properties. -> So now we just need to add our 2 properties.
  • where you have to change you code -> where you have to change your code
  • you also switch between colour and color numerous times.

there's more, but honestly this is incredibly tiring. You don't need to admit anything. Just stop arguing about having a perfect tutorial. Nobody writes perfect tutorials. Claiming that you have is honestly ridiculous, especially when you've missed so much.


You missed putting certain things in code blocks

You ever tried doing that on dev.to? Guess what? There’s no tutorials for it! πŸ˜‚ (the thing they said to do doesn’t work)

no, but I also would never choose to do a tutorial on dev.to. Just because you chose to write a blog somewhere that makes your communication less effective doesn't mean you aren't responsible for your communication being less effective.


You should every once in a while show the full class or file so the reader knows what they missed

It’s done at the beginning. Also there’s the repo. Again showing you didn’t read it.

this is very tiring. You never once show the full file in the article. In this comment you made here on Lemmy you have reaffirmed that you do not need to know or use Github to complete your tutorial so stating that you need to leave your article to see the full code is the exact opposite of what your tutorial has stated. I did read your tutorial, which is why I know you said those things.


There’s a lot that could be improved here.

says person with made-up criticisms from not having actually read through it.

It’s hard to write a tutorial.

No it isn’t. Assume the reader knows nothing.

I'm very sorry you have to hear these criticisms in this way, but your tutorial is severely lacking. If a staff software engineer has trouble following your tutorial from the very beginning then there are things that can be improved. I stated those things nicely in my first comment and then you lashed out stating that I didn't read your tutorial, even though I did. This comment here is the last I'm going to make on the subject. Your tutorial needs work. I've given you some things you can work on and you can either believe me (and the other comments from other users) or you can believe yourself and continue writing tutorials like this one.

1

You have the patience of a saint for doing this. OP's condescending attitude became too offputting for me to bother giving more detailed feedback

2

no you literally don’t

Yes I literally do. "gives us a consistent look throughout the app, and in fact a consistent look across all our platforms (because we are now replacing the default colours with our own colours)", etc.

The first link is a download link.

It's a download page. Scroll down past the download link.

The second link is a download link

Ditto...

The third link is a link to a single tutorial titled β€œIntroduction to C#”

Ditto

git, or even github

Still not a pre-requisite

Do you really need me to go paste all of the text from those pages here into a comment so you can see for yourself?

I just pasted screenshots showing where you can go deeper as needed on the actual pre-requisites.

this either needs to be combined with the first sentence or needs to be capitalized

It's a reserved keyword, always in lower-case.

you also switch between colour and color numerous times

color is a reserved keyword, colour is correct English (since I'm not American).

there’s more

And several that you've referred to already are in fact not typo's.

Just stop arguing about having a perfect tutorial

I never said that Mr. Strawman. I gave it as an example of how to cater to all levels of reader. i.e. pre-requisite links, etc.

Claiming that you have is honestly ridiculous

And you claiming that I did is ridiculous.

I also would never choose to do a tutorial on dev.to.

It's there because that's where some of the MAUI team post blogs themselves - all in one place. - but good on you for criticising me without even asking why it's there.

You never once show the full file in the article

Again, yes I do, at the beginning

so stating that you need to leave your article to see the full code is the exact opposite of what your tutorial has stated

No it isn't. I stated that was optional at the beginning.

your tutorial is severely lacking

says person picking on typo's (some of which aren't) and didn't explore any of the pages linked to in the pre-requisites. I guess you expect me to re-invent the wheel in the latter case...

continue writing tutorials like this one

that have links to pre-requisites, which is the whole point to begin with, but sure, pick on some typo's (some of which aren't) because you can't refute the actual point... πŸ™„

0
fmstratreply
lemmy.nowsci.com

Others are debating the point about the doc itself, so I won't go there, but just because you enjoyed doing it, doesn't mean others do, or have the time.

I happen to write really detailed documentation, because I like to, I like the formality of it. However, as I stated in my other comment my complaint is about the assumptions made in the blog post. Specifically:

I just felt like if we rewrote the blog post as a β€œWhat a writer who’s never learned to program’s code looks like to a developer” it would make no sense, so why should we accept it in it’s current form?

1

Others are debating the point about the doc itself

Most of those others have shown they only read the first paragraph (which is literally the introduction, not the start of the tutorial itself).

just because you enjoyed doing it, doesn’t mean others do, or have the time

I never implied otherwise. I simply used it to show it only takes a few minutes to include pre-requisites for the thing you are writing, compete with links to relevant resources. Microsoft documentation never does either of those things, and those people are paid to write it. Then they ignore your issues that you raise. I forget his name now, but I remember one guy there who did this all the time - would just close your issue and not update the document. I remember one time James Montemagno fixed up an issue I raised, but this other guy, never. I just gave up on raising issues. I'm surprised his name isn't burnt into my memory with PTSD πŸ˜‚

0
sh.itjust.works

My God y'all can't just let a joke be a joke if there's an option for you to be correct instead, LMAO

Edit: I just scrolled through all the comments and saw that the large majority of the replies here are very long, multi-paragraph comments. Y'all ok? Did this post touch a nerve with some of you? LMFAO

24
lemmynsfw.com

I think the blogger is more technical than they let on:

  • understands how to write footnotes
  • structures lists correctly
  • runs their own blog with custom domain name.

I've known programmers struggle with markdown.

24
zalgotextreply
sh.itjust.works

Well that's because markdown is for documentation, and we all know programmers don't know how to write documentation.

26

Documentation goes in the commit message.

That way you know when it was correct, because the next commit immediately makes it stale.

1

You can be pretty technical/capable and still write that article (especially if you have technical expertise outside programming). I have never felt so seen.

I worked my way up from arduino -> RasPi -> Debian -> Self hosting quite a few things. I'm very much a hobbyist/novice, but I'm used to learning. It is so hard to read some documentation and understand what something even does sometimes. This goes double for incredibly useful tools for monitoring/implementing other tools. Like I swear I read the kubernetes descriptions 30x before I realized what in the hell it actually does, and now I'm probably about to break my entire home network with it because I think it's cool as hell.

Also, to your comment specifically: I can get sensors on PCBs I personally made collecting data, throwing it through my own MQTT broker, hosting a dashboard etc, all at a remote site across state lines. I have no idea wtf markdown is. I use yaml for HA stuff with the ESPs, but I don't know why markdown is a thing and it's not just python.

And I am 1000% sure there is a very good reason for 98% of this. But yes I found this article hilarious. In my personal circle of hell all nouns end in "-ly".

4
faerbitreply
sh.itjust.works

understands how to write footnotes

x

The footnotes link to the list instead of the actual footnotes. I was quite confused.

2

Looks like a case of broken web browser or doesn't understand footnotes. πŸ€”

1

I like her "written by a human" badge. Never saw one before. Gotta say I was wondering, which probably lends to her point.

21

The issue here is that the author of that post, and potentially the fictional author of the thing being lampooned, are not drawing a distinction between a tutorial (or an explanation) and a how-to.

https://diataxis.fr/

Either you want to get a task done, or you want to spend a lot longer learning how to work that out for yourself.

(Many tutorials will include small set of how-to-like instructions because emulating the actions of a master will improve one's vocabulary of what can be done as well as how it is achieved.)

21
lemmy.dbzer0.com

The more advanced the level of knowledge on something the more foundation knowledge somebody has to have to even begin to understand things at that level.

It would be pretty insane to in a tutorial for something at a higher level of expertise, include all the foundational knowledge to get to that level of expertise so that an absolute beginner can understand what's going on.

Imagine if you were trying to explain something Mathematical that required using Integrals and you started by "There this symbol, '1' which represents a single item, and if you bring another single item, this is calling addition - for which we use the symbol '+' and the count of entities when you have one single entity and 'added' another single entity is represented by the symbol '2'. There is also the concept of equality, which means two matematical things represent the same and for which the symbol we use is '=' - writting this with Mathematical symbols, '1 + 1 = 2'" and built the explanation up from there all the way to Integrals before you could even start to explain what you wanted to explain in the first place.

That said, people can put it in "recipe" format - a set of steps to be blindly followed without understanding - but even there you have some minimal foundational knowlegde required - consider a cooking recipe: have you ever seen any that explains how does one weight ingredients or what is "boiling" or "baking"?

So even IT "recipes" especially designed so that those with a much lower level of expertise than the one required to actually understand what's going on have some foundational knowledge required to actually execute the steps of the recipe.

Last but not least I get the impression that most people who go to the trouble of writting about how to do something prefere to do explanations rather than recipes, because there's some enjoyment in teaching about something to others, which you get when you explain it but seldom from merely providing a list of steps for others to blindly follow without understanding.

So, if one wants to do something way above the level of expertise one has, look for "recipe" style things rather than explanations - the foundational expertise required to execute recipes is way lower than the one required to undertand explanations - and expect that there are fewer recipes out there than explanations. Further, if you don't understand what's in a recipe then your expertise is below even the base level of that recipe (for example, if somebody writes "enter so and so in the command prompt" and you have no fucking clue what a "command prompt" is, you don't meet the base requirements to even blindly follow the recipe), so either seek recipes with an even lower base level or try and learn those base elements.

Further, don't even try and understand the recipe if your expertise level is well below what you're trying to achieve: sorry but you're not going to get IT's "Integrals" stuff if your expertise is at the level of understanding "multiplication".

19

"That said, people can put it in "recipe" format - a set of steps to be blindly followed without understanding - but even there you have some minimal foundational knowlegde required"

Something that's quite interesting is that apparently one of the core components of how Latin and Greek used to be taught in fancy public schools (especially in like, Isaac Newton's era) was that students would be made to copy out sections from classical literature (such as the Odyssey). Obviously this would be happening alongside lessons involving basic grammar, but I've seen some scholars suggest that this kind of blind repetition was a key component to the language learning, and that it may even be useful for learning languages in a modern context.

5

It would be pretty insane to in a tutorial for something at a higher level of expertise, include all the foundational knowledge to get to that level of expertise

You don't need to include it all. You just need to mention it as pre-requisite knowledge, and link to resources about it for those who don't have that knowledge. See Creating MAUI UI's in C#

I get the impression that most people who go to the trouble of writting about how to do something prefere to do explanations rather than recipes

Good documentation includes both. i.e. step-by-step guide, with explanations. See above.

so either seek recipes with an even lower base level

All documentation should cater to all levels. See above.

4
Aceticonreply
lemmy.dbzer0.com

For "all documentation" to "cater to all levels" it would have to explain to people "how do you use a keyboard" and everything from there upwards, because there are people at that level hence it's part of "all levels".

I mean the your own example of good documentation starts with an intro of "goals" saying:

"Visual Studio (VS) does not (currently) provide a blank .NET Multi-platform Application User Interface (MAUI) template which is in C# only. In this post we shall cover how to modify your new MAUI solution to get rid of the XAML, as well as cover how to do in C# code the things which are currently done in XAML (such as binding). We shall also briefly touch on some of the advantages of doing this."

For 99% of people almost all that is about as understandable as Greek (expect for Greek people, for whom it's about as understandable as Chinese).

I mean, how many people out there in the whole World (non-IT people as illustrated in the actual article linked by the OP) do you think know what the hell is "Visual Studio", ".Net", "Multi-platform Application User Interface", "template", "C#", "XAML", "binding" (in this context).

I mean, if IT knowledge was a scale of 1 to 10 with 10 the greatest, you're basically thinking it's "catering to all levels" when an explanation for something that is level 8 knowledge (advanced programming) has a baseline required level of 7 (programming). I mean, throw this at somebody that "knows how to use Excel" which is maybe level 4 and they'll be totally lost, much less somebody who only knows how to check their e-mail using a browser without even properly understanding the concept of "browser (like my father) which is maybe level 2 (he can actually use a mouse and keyboard, otherwise I would've said level 1).

I think you're so way beyond the average person in your expertise in this domain that you don't even begin to suspect just how little of our domain the average person knows compared to an mere programmer.

6

it would have to explain to people β€œhow do you use a keyboard”

No it wouldn't. You just link to resources about pre-requisite knowledge.

and everything from there upwards

Nope. Exact same thing applies to all pre-requisite knowledge.

For 99% of people almost all that is about as understandable as Greek

Now scroll down to the pre-requisite knowledge which has links to things explaining ALL of that.

how many people out there in the whole World (non-IT people as illustrated in the actual article linked by the OP) do you think know what the hell is β€œVisual Studio”, β€œ.Net”, β€œMulti-platform Application User Interface”, β€œtemplate”, β€œC#”, β€œXAML”, β€œbinding” (in this context)

Exact same number as there is people capable of clicking on the provided links about them in the pre-requisite knowledge section.

which is maybe level 4 and they’ll be totally lost,

...until they read the links in the pre-requisite knowledge, and then they will understand all of it.

I think you’re so way beyond the average person in your expertise in this domain

says person who didn't even scroll past the introductory paragraph! πŸ˜‚ You think people try to learn things by reading only the introductory paragraph?? πŸ˜‚

you don’t even begin to suspect just how little of our domain the average person knows compared to an mere programmer

And yet, weirdly, if you keep reading you'll find it caters to people who know nothing about it πŸ˜‚

-2
lemmy.blahaj.zone

Cool but nobody's about to link to prerequisite information like typing on a keyboard. Same for math, a book focusing on integration isn't going to say "read this book for the basics of addition btw".

And why should one even cater to that? If a person is interested enough they can just.. look up the things they don't understand, that's not exactly hard

3

Cool but nobody’s about to link to prerequisite information like typing on a keyboard.

they say to someone who does indeed link to all pre-requisite knowledge. πŸ˜‚ You know some Tech people do indeed recommend doing a touch-typing course, right?

Same for math, a book focusing on integration isn’t going to say β€œread this book for the basics of addition btw”

I'm a Maths teacher. You'll find that Maths textbooks do indeed run through any pre-requisites for the topic. e.g. "We discussed back in Chapter 2...".

And why should one even cater to that?

Because it's useless to a large chunk of your audience if you don't.

If a person is interested enough they can just… look up the things they don’t understand,

No they just can't, not when no information at all has been given on what this is so that you have something to search for. See Microsoft doco where they use TLA's, don't tell you what the TLA is short for, don't link to any information about the TLA, and searching for "TLA" (since they've not told you what TLA is short for) fails to bring up any information about this thing they are talking about. Now the tutorial is completely useless to you because you have no idea what they're talking about and can't find anything about what they're talking about. "Draw the rest of the owl"

that’s not exactly hard

It's very hard when you have no search keywords at all to work with.

2

No, you're not supposed to follow years of computer science courses in a university. A good tutotial will provide all prerequisite knowledge for you. Including high school.

1
lmmarsanoreply
lemmynsfw.com

I think your tutorial depends too much on your editor UI. It reminds me of those tutorials (often written by Microsoft) where the IDE has changed enough to break the tutorial. This made the tutorial completely useless, because none of them would explain what I actually needed: the magic thing their IDE did in terms of essentials (text files, basic commands), so I could reproduce the effect.

This is different in the unix world, which favors tool-agnostic approaches in terms of text files & basic commands. Even as tooling & technology changes, I can usually look up the meaning of the text & those commands to update them.

That's the most important I think: not the answer itself, but where the answer comes from, so I can go back there when I need to.

4

I think your tutorial depends too much on your editor UI

You mean the UI which is specified in the pre-requisites, that UI? πŸ˜‚ It's not a bug, it's a feature - no bloat from going through everything twice (once for VS, once for VS Code). That's why it's in the pre-requisites.

It reminds me of those tutorials (often written by Microsoft) where the IDE has changed enough to break the tutorial.

You know I needed to write this because Microsoft hasn't written a tutorial for this topic, at all, right? That does remind me though, MAUI have changed the parameters for Grids - I better check that part of my tutorial is still valid.

1
lmmarsanoreply
lemmynsfw.com

It’s not a bug, it’s a feature

It's a bad one: if I'm unable to get that version of your IDE, the tutorial becomes useless. If it had stuck to programming essentials like the source code & configuration files, then it'd have enduring value as the reader could understand without unnecessary concealment of basic information dependent on an IDE.

no bloat from going through everything twice (once for VS, once for VS Code)

Not implied: the tutorial would properly focus on the programming without IDE complications as it shows the files generated & dependencies linked. (eg, "I did this in my IDE: here's what it did".) The reader could in principle use any text editor. It's not an IDE tutorial.

Microsoft hasn’t written a tutorial for this topic, at all, right?

And you made another Microsoft-grade tutorial: that's not a compliment.

1

if I’m unable to get that version of your IDE, the tutorial becomes useless.

No it doesn't. Clicking on the link gives you the latest version, which obviously is above the minimum version.

without unnecessary concealment of basic information dependent on an IDE

Haven't concealed anything - it's there in the pre-requisites

β€œI did this in my IDE: here’s what it did”

I have many screenshots showing exactly that.

The reader could in principle use any text editor

No they can't. Several times I cover the Intellisense options which make it easy. This isn't available in a text editor, hence the pre-requisite of using Visual Studio if you want to follow this blog.

It’s not an IDE tutorial

It's not meant to be. It covers what you need to know to do what I have done in the blog.

And you made another Microsoft-grade tutorial

Nope! They don't include pre-requisites at all, never mind links to them, never mind step-by-step processes with screenshots, etc.

1
BCsvenreply
lemmy.ca

I Prefer a playbook to a recipe card. The playbook should spell out the goal and the 'why's of the steps. Because if the process throws an error due to upgraded code etc, then you can be stuck at step one with no path forward. With some playbook annotation you at least know expected out come and why you are running a command etc.

When I have gone to docker hub I always view multiple images and see what their writeup is like. Some just assume you 100% know all dockers subtleties, some have a one liner, but there will be a helpfull soul who spells out what steps to do, and what the best options to set etc. Like a mini tutorial.

I find the mini tutorial to be widely beneficial, because it removes the blackbox nature, and gives new onboarding users a chance to grasp the concepts docker works with.

It's like the difference between going to a mechanic that has you sit by the coffee machine in the office while they change your brakes and they come back and say "I swapped the new pads in", vs them pulling up a chair in the shop and explaining the process "here I'm wirebrushing the back of the wheel and the hub, to make sure when it goes back on there is no corrosion debris stopping a parallel fit..now I'm applying high temp grease so that the hub and wheel don't sieze together from corrosion and make next removal easy"

The info is probably useless to a seasoned mechanic that had a broken hand so had somebody else do their brake work, but highly useful to the next gen of person that can absorb it and know whats and whys.

3

It’s like the difference between going to a mechanic that has you sit by the coffee machine in the office ...

Good example. I just wanted to add that the place I go to for tyres, if there's some kind of issue (like with balance or alignment), sometimes they even take me into the workshop (where customers are usually not allowed) to show me what the issue is.

2
Aceticonreply
lemmy.dbzer0.com

Yeah, that's much better.

Personally I detest not understanding what's going on when following a guide to do something, so I really dislike recipe style.

That said, I mentioned recipes because recipes meant to be blindly followed are the style of guide which has the lowest possible "required expertise level" of all.

I supposed a playbook properly done (i.e. a dumbed down set by step "do this" guide but with side annotations which are clearly optional reading, explaining what's going on for those who have the higher expertise levels needed to understand them) can have as low a "required expertise level" as just a plain recipe whilst being a much nicer option because people who know a bit more can get more from it that they could from just a dumbed down recipe.

That said, it has to be structured so that it's really clear that those "explanation bits" are optional reading for the curious which have the knowhow to understand them, otherwise it risks scaring less skilled people who would actually be able to successfully do the taks by blindly following the step-by-step recipe part of it.

2
BCsvenreply

That said, it has to be structured so that it's really clear that those "explanation bits" are optional reading for the curious which have the knowhow to understand them

Yep, totally. This past year I spent a lot of time setting up an LMS with content.
I included sections that were tips, good to know, for awareness, etc.

Maybe only 1 out of every 20 users might expand the section, but if they do then there is a clear explanation of why this particular thing functions this way and how to make it work in alternate usecases. Images and explanation, before and after, etc.

3
lemmy.world

Is "prerequisite knowledge" a foreign concept to people these days? When I started writing extensions for Blender, I had to do a lot of legwork to understand the bpy module, and even more fucking legwork to understand Python itself, all that on top of the general knowledge of programming and algorithms from high school.

RTFM means that you should use the available resources to learn. There's a whole internet full of them. There are no shortcuts to understanding, and you can't expect every task-oriented guide to explain how to write a main().

17
Epherareply
lemmy.ml

I mean, as it says at the end, this blog post is in good fun. It most definitely expresses frustration, but it also recognizes that perfect is the enemy of good, and that you already put in more effort than one can expect by writing a tutorial to begin with.

I guess, my main takeaway is that you really don't need to bother writing up your life story. It will fly over the head of your readers, for sure. (Although a bit of context may still be important.)
And you should probably spend a few more words, describing the actual steps, no matter how obvious those may seem to you.

19
RunJunreply
lemmy.dbzer0.com

There’s amazing and terrible manuals everywhere. One of the key things is defining target audience. From there you define experience and knowledge.

If a manual is intended to be for a broad audience interacting with something new, then you use the lowest level reading level that still makes your point. From there you work on flow because there’s a 1000 ways to skin a cat.

If LEGO manuals were only written step by step instructions, at a college reading level, then they miss a key demographic. Yet, people would still walk around like β€œThat’s a perfectly cromulent instruction manual!” Technically they would be correct but it misses the point.

13

Is β€œprerequisite knowledge” a foreign concept to people these days?

Apparently so.

RTFM means that you should use the available resources to learn

Except the manuals are written like this, and don't cover pre-requisite knowledge at all - don't even link to it!

There’s a whole internet full of them

Microsoft doco "now add TLA to it", don't say what TLA is, don't link to what TLA is, searching for TLA doesn't tell you what it is. There most certainly is a whole internet full of blogs about "TLA", but I don't even have any keywords, and can't find any of the "TLA" that Microsoft is talking about. The documentation is literally useless to anyone who doesn't already know what "TLA" is.

There are no shortcuts to understanding

There are no shortcuts to writing good documentation

you can’t expect every task-oriented guide to explain how to write a main().

But you can certainly expect them to link to resources about pre-requisite knowledge, like I did in Creating MAUI UI's in C#.

1
sh.itjust.works

Reminds me of one of my favourite Xkcd.
Although I guess we are more in this one, really.

I'm really impressed by people who can write stuff that makes kinda sense, while being complete gibberish. Very funny and y'all need to remember where you are.

17

as of right now the second xkcd you linked is in an identical format to the newest xkcd. Not relevant to the post, just think it's cool

6
programming.dev

Imagine a chemistry lab tutorial aimed at 9th grade students getting "as a non-chemist, this reads as gibberish" comments from first graders. Nobody would blame the tutorial authors.

People need to start putting in the effort. There is no such thing as learning for free.

16
Alleroreply
lemmy.today

If it's an instruction to a dishwasher liquid, you better write it for first-graders.

Sure, if you write a documentation to some developer tools, use developer language.

But if it's something you expect regular folk to use, think of how much more people could use it if they wouldn't need to learn something entirely out of their field of expertise to use it.

You can make dishwashing liquid kit that would require extensive knowledge in organic chemistry to use. It would be cheap and darn simple to develop. You could release it today! You just...shouldn't.

Remember people have their lives, and shouldn't be forced to comprehend everything around them at a professional level. Many developers seem to forget about it A LOT somehow, shifting it to the user and saying "I'm done here", sitting in the bubble of experts and treating users like stupid rats who can't simply get a computer science degree to use their computer. As a food technologist, I recently developed a premix for home-baking of phenylalanine-free pastry, and 70% of the work was making it idiot-proof. It is true for any field, yet it is important. People can't learn everything every time they need something, and it's not their fault.

9
jetreply
hackertalks.com

RTFM is a form of self help that really should return to the modern zeitgeist

9

For people to RTFM, you need clear and concise manuals for different groups of users.

It's no use addressing most IT-related manuals without prerequisite knowledge and practical experience.

3
lemmy.zip

I haven't read the article but from the title and header alone, it already reminded me my experience of hosting Lemmy with 0 experience with self hosting. I learned how to start a docker and host a very basic stuff according to docker tutorial, no issue, but as i venture into hosting Lemmy where people keep saying "it's very easy!", i keep failing to do so because the tutorial itself written with a lot of jargon and also missing step (i remember running into a part where the tutorial asked me to just fill in necessary stuff. Which necessary stuff???), i eventually given up. Not sure if they rewrite it recently but i can't be bother with these anymore.

The point here i assume is sometime dev with tons of experience expect people to know what they know, and then written stuff in heavy jargon for the basic tutorial. It's a curse of knowledge.

4

β€œit’s very easy!”

A lot of experienced people say that, and it isn't to a beginner. The infamous example in Maths circles is "the proof is left as an exercise for the reader". In other words, "I couldn't be bothered writing this because I'm assuming you already know how to do it".

It’s a curse of knowledge

Yep, the people who write the Microsoft documentation assume that the readers know everything they already know.

0

Imagine a chemistry lab tutorial aimed at 9th grade students getting β€œas a non-chemist, this reads as gibberish” comments from first graders. Nobody would blame the tutorial authors

I tutor Maths. I have a Year 12 student who has forgotten things they were taught in Year 8, and the teacher has done no revision of it in class. Now guess why this student needs a tutor πŸ˜‚

People need to start putting in the effort.

The people writing the documentation, yes. They need to say what the prerequisite knowledge is, and include links to it for those who don't know it (or remember it). Only takes a few minutes to do that. See Creating MAUI UI's in C#

1
lemmy.dbzer0.com

Yeah, documentation isn't as good as it could be, and it would increase the accessibility of software if it was better.

15
meliaescreply
lemmy.world

The amount of time and skill it takes to write excellent and accessible documentation is just not reasonable for most developers, unless you have dedicated technical writers or it's a personal project without true deadlines.

14

So what? It may arguably be not a developer's fault, but it is everyone's problem, given the growing dystopian alternatives to an accessible distributed software ecosystem. A problem can be acknowledged without admitting blame. Happy cake day btw.

2

You sure that's a tutorial and not the "about" page of half of github, where you have no fucking clue what the project is about?

15

I fucking HATE it when the fisterfunk will not talk to the shamrock portal or even send beep-boops back to the Snarfus!

14

As a developer, that is also how I read tutorials written by other developers.

12

How I, a developer read most developer blogs too. No shame in admitting that I lack knowledge, except my anxiety don't cut me such slack.

11

So basically Swift on macOS, except this made much more sense. πŸ‘

10
feddit.org

I like how some sentences contain phrases that actually make sense:

Despite the jaggle of the chromus, it’s really multi-purpose.

Also me, writing a lot in bash, can totally relate to this:
[[]][[]][[]][[]]][[]()()()()()()()()(){{}{}{}|{}{|}{}{|}{ ////////////////!! !!!! !! //// !!!
Except there should be backslashes, single and double quotes in it too.
Here's a real world example of getting the value of an array member, with a counter:
x="${array[$((i+=2))]}"

kleptomitrons

I want some of those please.

9
feddit.org

Those would not typically be part of a software tutorial, also they are not part of the shell's language.

2
404reply

True. However they are part of the symbol gibberish category.

1
lemmy.world

Yes, you are not wrong here.

What I regularly have to deal with is about as bad. Big project, and every upgrade replaces one key element. They have never heard of backwards compatibility. If they don't like a subset in their system, they replace it. Complete with different API calls, structures, and calling conventions. And they may document parts of it three versions later. If at all. Some documentation is basic Doxygen - just list the function parameters, and that's it. I've seen cases where the documentation of the rather critical parameter "flags" was just the word "flags". I've seen cases where the return value was documented only as "status". Not even with a notion whether 0==success and 0!=failure or vice versa.

And no, it is not a closed application. They have an "extension" folder for user-supplied extensions. The problem: If it is not a core extension that has been updated with the main project, the first thing after an upgrade is finding out where your formerly working extension critical to your project now fails, because they just happened to think that the call interface for the boogaloo object need a complete overhaul. Maybe it needed an overhaul, but then at least keep the older interface alive for at least a few versions after documenting the new interface and marking the old one as deprecated.

9

I’ve seen cases where the documentation of the rather critical parameter β€œflags” was just the word β€œflags”.

In Microsoft documentation it would just say "FLGs", with no explanation of what FLG is, nor any links to resources about FLGs. you either already know what it is or you now can't continue any further with the documentation (because a search for FLG also fails to find what it is). Throughout their documentation it is heavily assumed you are a long-time Microsoft programmer and already know all of this. i.e. it is completely unwelcoming to Microsoft beginners (and even some who aren't beginners)

3

If you don't understand the "problem" part in the "what problem does this tool fix?" Then you probably don't need that tool. You should probably try the program they mentioned that didn't fix their specific problem. Since that program probably has way more users and a more entry-level documentation.

6
lemmy.dbzer0.com

When it comes to documentation, at least for myself when I'm learning new things, I like to look at it like a recipe book.

The book shouldn't contain just the ingredients and what the final product looks like. It needs to be more in depth than that. It needs to contain the ingredients that go into it, how much of those ingredients, the time to cook, what consistency to look for, prep time, etc.

There are plenty of people out there who have never cooked before, and a recipe book/instructions on how to cook a favorite dish is the perfect way to share your love of the craft and the dish that you made. Then, with your recipe as a guideline, people could change it to suit their tastes, and so on and so on.

That's just how I look at it. I wish I could interpret developer instructions and write up a more user friendly documentation for them. I would love to be able to give back to the community in some more meaningful way than just barely knowing what the developer is providing and using it and making a mess of it my first few tries until I learn from my mistakes.

5
Evotechreply
lemmy.world

These days I pretty much just give the code to the LLM and it spits out documentation

Is it prefect? No. But it takes me literally 10 minutes and it's 90% there

In being slightly facetious here, I do spend some time on it to make it appropriate. But it sure does a good job imo

4

This is one of those things where I'm actually okay with AI use. I understand a lot of the FOSS community devs don't have a lot of time for such matters, so if this gets it at the very least 90% there, I would consider it a win! (human review being a big bonus, of course!) :-]

5
lemmy.world

I structure my tutorial docs (I write a lot of them for work) like the O’Reilly cookbook series for this reason.

The problem you’re trying to solve is at the top. Next comes a list of prerequisites for the instructions. Then clear, step-by-step instructions with no more than one command or action for each one, highlighting anything that’s different depending on environment.

Then at the bottom I’ll sometimes add a discussion of why each command does what it does, and finally a list of resources for whatever programs or systems the instructions are about.

4
lemmy.dbzer0.com

Thank you for that. I'm sure the people who read it and got a grasp of what they are trying to accomplish greatly appreciate your going out of the way like that. :-]

2

Usually it’s to help a customer create a proof of concept going so we can make a sale so it’s not entirely a selfless act.

Plus it keeps me from sitting on hours-long calls trying to walk them through ambiguous instructions.

2

TBF, if your step by steps instructions works, it doesn't matter how complicated the command is.

5
merc
sh.itjust.works

If it's all gobbledygook to you, then you weren't the target audience.

Most developers are writing for developers who have approximately the same skill level and knowledge. The vast majority of tutorials out there are definitely not aimed at beginners. They're aimed at peers who know most of the same stuff, but want to broaden their horizons a little.

Now, if it were 95% easy to follow, and then there was one step that was only a few words long and made no sense at all, that would be the typical badly written tutorial. There are way too many tutorials that have a "rest of the owl" problem at some stage. I was trying to figure out how to do something today and I must have skimmed through 30 tutorials aimed at people roughly my skill level before I finally found one that explained the missing bit. That missing bit turned out to be pretty easy, but almost every thing I read just assumed people knew how to do that part, and focused in on all the wrong things.

As for actual tutorials for beginners, the biggest problem isn't that they're badly written. The biggest problem is that they don't exist. But, to be fair, they're actually really hard to write. Explaining things requires that you really understand them well. But, when you understand them well, it can be hard to put yourself in the shoes of someone who knows so little they don't even know what questions to ask. Most computerey things are complicated enough that by the time you feel confident enough to write a tutorial, you've forgotten what it was like to be a beginner.

4
Kushanreply
lemmy.world

Most developers are writing for developers who have approximately the same skill level and knowledge

I think you're correct about this, but I also think that's part of the problem.

On the one hand you can have technical tutorials for technical people, but to your point assuming the audience has the same skill level and knowledge is actually a mistake - no two people share the same same life, so while it's reasonable to assume a certain level of knowledge, you still need to consider that there may be gaps - small gaps but gaps all the same and that it's worth being explicit about things to avoid ambiguity. A common pitfall I see in a lot of tutorials or guides is not being explicit about file paths ("just add this to the config folder" - which folder? Where?), or not correctly steering the user towards the relevant documentation about configuration values while still expecting them to insert some config file specific to their system, stuff like that.

The other end of the spectrum - the beginner, to your point might not be the target audience but a lot of people don't realise that those folks exist. The absolute classic example I see of this is Linux for the Everyman - Lemmy is very big on promoting Linux and moving folks away from Windows/MacOS but there's a bit of a disconnect because a lot of tutorials exist that base level of knowledge that a complete beginner doesn't have. So they're both not the target audience but expected to learn that stuff - and of course it doesn't work and they stick to what they do know.

All this is to say, writing tutorials is a skill in itself and part of that skill is knowing who your target audience really is and knowing where your knowledge is his experience from working at something for so long or a basic level of understanding you expect a user to have.

5
fmstratreply
lemmy.nowsci.com

The article is by what appears to be a career writer who implies that developers should be doing their job, too. Not to mention this is mostly in unpaid FOSS. The author's method is tone deaf.

As for your response, while factually true, to your example: Lemmy users don't care that you use Linux. Lemmy users care that you're the type of person who will educate yourself enough to learn Linux.

Growth through learning, and part of that learning is figuring out the holes and filling them in. Heck, once Lemmy gets past that stage, we (and all those who took the plunge) will probably all move on to somewhere else.

2

β€œjust add this to the config folder” - which folder? Where?

This is one of the biggest problems with Microsoft documentation (and maybe other ecosystems too). Doesn't include any "using" statements in the snippet, leading to copying the code not working, because you don't know what DLL this is using. They talk about 2 lines, and show you 2 lines, but the 2 lines don't work without 1 or 2 other lines which they have left out. Happens every single time

not correctly steering the user towards the relevant documentation about configuration values

Microsoft documentation never links to anything else at all. If you don't know how to do this thing they're talking about, well now you have to go find a Youtube by some Indian programmer about it

there’s a bit of a disconnect because a lot of tutorials exist that base level of knowledge that a complete beginner doesn’t have

Yep. The man pages are so not user-friendly. I have always said that Unix is very powerful, but not the least bit user-friendly. Welcome to low adoption.

2

If it’s all gobbledygook to you, then you weren’t the target audience.

Beginner's are the target audience for tutorials. Many tutorials are written in gobbledygook. See Microsoft documentation, which would've instead said GDG, and assumed you knew what GDG was.

Most developers are writing for developers who have approximately the same skill level and knowledge

If they had the same skill level and knowledge then they wouldn't need a tutorial to begin with.

The vast majority of tutorials out there are definitely not aimed at beginners

And that's precisely the problem with the vast majority of tutorials.

Now, if it were 95% easy to follow, and then there was one step that was only a few words long and made no sense at all, that would be the typical badly written tutorial

Microsoft: Now all you have to do is add in a GDG

I must have skimmed through 30 tutorials aimed at people roughly my skill level before I finally found one that explained the missing bit

Now imagine reading Mircosoft documentation and not being able to find anything which explains what GDG is. Classic "rest of Owl".

they’re actually really hard to write

No they're not. You include what the pre-requisite knowlege is, along with links to resources about the pre-requisite knowledge. See Creating MAUI UI's in C#

2
mercreply
sh.itjust.works

Beginner's are the target audience for tutorials.

No, most of the time they're not. And you don't need to warn me that an "s" is coming.

If they had the same skill level and knowledge then they wouldn't need a tutorial to begin with.

Note that I said "approximately", not the identical level of skill and knowledge. It's written by a fooblorts developer who uses migwed and ghai and is now looking to connect suwdo with ugfest. If you're also a fooblorts developer who wants to connect suwdo with ugfest but you have no experience with that particular thing, then the tutorial is for you. It's not for someone who has never used any of those technologies and doesn't understand anything about them.

No they're not

Ah, I can see you never write tutorials, nevermind then. You have no idea what you're talking about.

1

And you don’t need to warn me that an β€œs” is coming.

No idea what you're talking about.

you have no experience with that particular thing

In other words, you are a beginner with that particular thing.

It’s not for someone who has never used any of those technologies

It might be if that is what they are needing to learn. Reading tutorials is usually needs-driven. Think inheriting legacy code

doesn’t understand anything about them

You know that's what tutorials are for in the first place, right?

Ah, I can see you never write tutorials,

Ah, I can see you've never written any good tutorials

You have no idea what you’re talking about

Says someone who just said someone with no experience at something is somehow not a beginner with it πŸ˜‚

1
mercreply
sh.itjust.works

No idea what you're talking about.

Beginners. It's a plural, there's no need for the apostrophe.

In other words, you are a beginner with that particular thing.

There's a difference between "a beginner" and "someone who is very experienced but hasn't done X". The post was about a "non-developer", not a "developer who understands and uses 90% of the same tech stack, but is looking to do something new related to it".

It might be if that is what they are needing to learn.

If it were aimed at true beginners it would be written completely differently. A university teacher preparing a lecture about shakespeare doesn't write the same lecture if their audience is a bunch of 5 year olds.

You know that's what tutorials are for in the first place, right?

You know that's not true, right?

0

there’s no need for the apostrophe

Ok, I fixed the typo.

There’s a difference between β€œa beginner” and β€œsomeone who is very experienced but hasn’t done X”.

If they haven't done X then they are a beginner at doing X - no difference - this is in fact the target audience for many tutorials. The other things which aren't covered in the tutorial you put in the pre-requisites.

not a β€œdeveloper who understands and uses 90% of the same tech stack, but is looking to do something new related to it”

and yet, a lot of tutorials written for developers who have used 90% of it are written just as badly, hence the huge upvotes.

If it were aimed at true beginners it would be written completely differently

That's the point! Many tutorials need to be written completely differently! πŸ˜‚ For starters all of the ones at Microsoft.

A university teacher preparing a lecture about shakespeare doesn’t write the same lecture if their audience is a bunch of 5 year olds

That's because the course has pre-requisites that you must have passed before you can enrol in that course - if you don't, then you have to go study those things before you'll be allowed to enrol - and they are explicitly spelt out in the guide to enrolling, hence the professor can write the lecture safe in the knowledge that all students in his class have completed all of the necessary pre-requisites.

You know that’s not true, right?

I know it's absolutely true. Even my threads on Maths are written with the assumption that the reader doesn't know all of the background knowledge (in fact are written quite intentionally for those who are being bullied by gaslighters, and they lack the proof to debunk them).

1

I'm going to steal some of these words and use them in my future projects, and no one can stop me from doing that

4

I really enjoy this writing style. It reminds me of what it was like reading Dave Barry’s Sort Of History of the United States when I was a kid.

3

To be honest I skimmed just of this, but the way my phone screen resolution caused line breaks I got to see the words "sususudododo baby" and that alone made me giggle.

2

And that’s what led me to argyling the pintafore with the quagmire instead of the hoobastank!

Tank vs. quagmire, who wins?

2

I think people (I foremost) should train the skills to skip tutorials/articles that are %80 not understandable (to the particular reader in question, not generally) rather than obsessing over them.

2

Unironically, sounds simple. Unless there's cmake in there, I always have some sort of trouble with that piece of garbage.

1

I feel that way about pretty much anything these days. The sheer volume of options and the complexity of everything is simply exhausting. Even finding food for my cat is overwhelming.

1