Show newer

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.

#Git #Teaching

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?

Just writing a memory allocator in JS, for Wayland reasons

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."

Serieuze vraag: zijn er hier mensen met kennis over de politiek van Cyprus? Het gaat me specifiek om de opdeling in twee delen (Cyprus vs. TRNC) en de huidige relatie daartussen. RT = fijn. Tips waar dit soort informatie te vinden is: ook welkom.

@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.

is there any game that has a "you have to make the room look nice" mechanic that isn't defeated by just spamming the most expensive (or most whatever) object

@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).

personal 

I change my mind on things carefully and deliberately, after ensuring I understand the reasoning well enough, specifically to avoid falling into reactionary traps - but I think this just looks like stubbornness from the outside?

@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...)

: 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? :boost_requested:

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!)

went on steam to see how expensive an indie game was now that i have a desktop and remembered no everything is way too expensive now because rich fucks vpnd into the country i live in too many times so they could buy games for cheaper

Server transport part 3 :

#3 shrink it

Status : offline, taken apart for transport

And this is how you minimize downtime.

My matrix in online again btw.

Show older
Pixietown

Small server part of the pixie.town infrastructure. Registration is closed.