describing my teaching methodology, re: Long-ish, Teaching programming, not code shaming. Non-intuitiveness of Git and PR workflows.
@jonny What I tend to do when teaching programming and related things, is to have 'guided self-exploration'.
I make it very clear upfront that there is no penalty for getting things wrong, and that they *will* sometimes get things wrong and that's completely okay, and that's an intentional part of how I teach, and that I will be there to help them out whenever they get stuck.
Then I do usually 1-2 hour sessions at a time, deciding together on a small task (in a real project they want to do, not a sample/demo project!) that lets them practice some aspect of programming or project maintenance, and we go through it together.
Crucially I don't tell them *how* to do it; I give them a pointer on how to reason towards the answer, but don't provide the answer itself, and instead encourage them to 'reason out loud' and try things out (emphasizing that if something goes wrong, I will help them undo it, so they should feel free to try things even if unsure), and constantly ask them questions on "okay, and what would you do next?", incrementally narrowing down the scope of the question until the answer occurs to them.
The idea behind this is that you're always there as a 'support net' for them to fall back on, but they do as much of the "reasoning towards an answer" process as possible by themselves - and this helps them very quickly learn to identify the "meta-process" of working *towards* an answer based on incomplete information and missing background knowledge.
(For this to work, it's important that they work on a project/goal of their own invention - because that means that they already intrinsically know what the end goal is with all of its detail and nuance, and so you only need to teach and communicate the "how to get there" parts, not the "what are you supposed to be doing" parts.)
This approach often takes a bit for students to get into, as it *feels* hard initially and so being supportive is very important, but I've had universally positive feedback to it in the end. It usually only takes 2-3 sessions before they start getting the vast majority of "what to do next" answers right, even on topics they've never worked with before, and usually before they feel confident about their answers.
Interestingly, this has also worked very well with students who self-reported serious learning disabilities, and who had run into walls with everything else.
Long-ish, Teaching programming, not code shaming. Non-intuitiveness of Git and PR workflows.
Ok so I did a live code review with my masters student im teaching last week, made changes in a branch in multiple commits, opened a PR so they could read through and digest later, so far so normal.
During lab meeting they said "I got some good feedback from jonny, and ill be working through that, but there are like 15 commits so it might take me a bit" which made me go ??? a little but shrugged it off. I was trying to model committing often with each change having a descriptive commit message, but the PR was relatively small and this is not a live/public project, so I figured they would just merge it to main and keep working on it there. We're still working our way up to a stable main/work on feature branches git flow.
It appears as if they thought they had to go through and manually re-apply the changes I had made in each commit in order, not rebasing or cherry picking, but copy and pasting code in their editor. The idea of merging was new to them, as was the entire PR interface. I had made a guide for code review a few months ago with lots of annotated screenshots and etc., but there were enough strange terms that they couldnt really parse it - what the purpose was, what the start point of work done on a branch and end point of merging meant.
Always a reminder that you need to go back further than you think when teaching. I dont know how to balance allowing for self-exploration with scaffolding well, and teaching git is harder than teaching programming sometimes because it's "invisible" and happens between the code, but the code is something you can look at and see.
Thanks to a donation from Clonelocker, the #LG LG535 on TELUS has been dumped!
This is firmware version CX535V13, the last known firmware released for the LG535.
As usual, the firmware dump and corresponding pinout is available on the Dumbphone Repo.
@porkroll (At least it's only allocating within a memory-mapped file and not system memory in general)
@porkroll It's not exactly voluntary :P Unfortunately it's more or less necessary to have a reasonably performant SHM implementation...
@frith01 Just to confirm, you have (direct or indirect) personal experience with not having reliable internet connectivity available?
We've just woken to an empty house after having a friend visit for 2 weeks and I'd love to know if a word exists in any language for the contradicting feelings of:
"Extreme relief to have your space back so you can be a feral gruntle beast again and missing someone intensely and wishing they'd stayed longer."
@gsuberland@chaos.social @tsrberry @baldur Also, related to the 'user surveys' point - it's surprisingly helpful to just enter your project name into a search engine every once in a while, and read every blog post, Reddit thread, and rant you come across. Those tend to be *full* of things that never made it into 'properly filed' issues, and give a good impression of the general atmosphere around your project, because people tend to speak more freely and directly.
Of course that does mean that you should refrain from responding to them unless you are absolutely 100% certain that you can do so non-confrontationally, because seeking out confrontation with people talking in their own spaces is (deservedly) a very quick trip to the trash pile. Better to just take notes and work on fixing their complaints in the background.
(Bonus points: you can do this one as an 'unaffiliated' contributor with no formal power within the project. Whereas a proper user survey, although it can have better coverage, tends to require speaking formally for the project.)
Gnomes use treasure maps as currency, as none of them want to walk long distances with bags of heavy coins.
Humans who use these maps to hunt down the treasure are always disappointed, as they lift the treasure-chest's lid, and find it's full of maps. This is because, as covered earlier, gnomes use treasure maps as currency, as none of them want to walk long distances with bags of heavy coins.
@gsuberland@chaos.social @tsrberry @baldur One thing I'd want to add to that is that if it's not feasible to find experienced designers (funding reasons, community politics, whatever reason), it *is* possible to just learn how to do this stuff yourself on-the-fly as a maintainer, but it makes the "be humble" part all the more important, and to make that work, you *need* to have an attitude of "if a user complains about something, that means there's a bug, even if it's not where the user thinks it is" (eg. it might sometimes be a documentation issue instead of a UX issue, but as long as people complain, there's *a* bug somewhere).
@gsuberland@chaos.social @baldur Don't know that it's worth much, but if it helps: I agree on all of this, and it has been frustrating me for over a decade.
(And I've experienced the same active resistance to changing that culture, too...)
#AskFedi: If you are (sometimes) without a reliable internet connection on at least one of your devices, or know someone who is: if you could describe your ideal way of installing new software, and it would magically exist overnight, what would it be?
I'm particularly interested in perspectives from the Global South, although if you fit the definition above for some other reason, you can also respond! And if you only have internet on some devices or locations (eg. on phone but not on laptop), I'd like to hear your thoughts too.
(If you have not met any of this definition in the last, say, 10 years, then please do not reply - boosting for reach is appreciated, though!)
In the process of moving to @joepie91. This account will stay active for the foreseeable future! But please also follow the other one.
Technical debt collector and general hype-hater. Early 30s, non-binary, ND, poly, relationship anarchist, generally queer.
- No alt text (request) = no boost.
- Boosts OK for all boostable posts.
- DMs are open.
- Flirting welcome, but be explicit if you want something out of it!
- The devil doesn't need an advocate; no combative arguing in my mentions.
Sometimes horny on main (behind CW), very much into kink (bondage, freeuse, CNC, and other stuff), and believe it or not, very much a submissive bottom :p
My spoons are limited, so I may not always have the energy to respond to messages.
Strong views about abolishing oppression, hierarchy, agency, and self-governance - but I also trust people by default and give them room to grow, unless they give me reason not to. That all also applies to technology and how it's built.