@[email protected] I needed a website recently that had a whole two pages, and I nearly fired up a static site generator before I stopped myself and just... wrote HTML? It was nice. Kind of relaxing. No build cycle, super simple CSS.
Is this "news"? Not really - it isn't even the first time I've thought about this. I suppose I'm mostly posting because I do feel like it's actually quite hard to spot the issue of familiarity versus difficulty for anyone who isn't involved in training/teaching, so I wanted to share...
This post has been on my mind a lot in the last couple of weeks.
I'm tutoring a new student who has decided to take a computer science foundation to decide whether he wants to consider starting a full degree course, and it is being a delightful, challenging, and bizarre experience because he's never tried programming. At all. No Scratch, no after school Python, nothing - nobody in his circle of acquintances had the background to get him started and it had become this semi-mythical challenge in his mind to get started.
For example, he reached out because he started reading the course material and then came to me saying "I understand the ideas, and it sounds fascinating... but where am I suppose to type the Python?"
Aside: with all due respect to Python as a good starter language, installing Python as your introduction to programming is... not ideal.
I've only been teaching him for a few weeks, but it has immediately solidified one aspect of the quoted post: we confuse 'hard' and 'unfamiliar' way too much. For him, the fact that dividing by zero must be an error is intuitive because he has the maths to understand why - while I can spend a long time trying to explain "why can't it just be zero?" to younger students. He struggled for most of an hour to write a "for" loop to print the odd numbers up to "N", but then sent me a message shortly after the session to say "so why do we have for loops, it seems obvious a while loop could always be used instead".
I... don't have good answers to some of the questions this raises around how to teach and train people, especially as I look at teaching groups of students and having been roped into helping support some teachers teaching whole classes of students. The moment you step outside the bounds of "the shared curriculum so far", or have a student from outside the system, or account for neurodiversity, or somebody has done a related hobby. With an individual you can start from the familiar (in this case maths foundations and, oddly, some useful psychology analogies), but with a group that isn't going to work.
Well done Google. You've managed to change your previously pretty good spam filtering on my email recently and it now marks genuine security updates from checks notes Google as spam, as well as notices from an explicitly trusted bank email address.
Oof. New internet provider confirmed in advance that they could action a request for a public IP address same day. They just failed to mention that the request couldn't be made until the old provider 'confirmed successful transfer of the line' - a process that they're allowed to take up to five days on.
Entirely not coincidentally, most of my websites have been offline for 5 days including this one.
Take that bureaucracy! I'm officially not a criminal once more!
...to avoid misunderstandings, it was the official bit I needed to renew, not the 'not a criminal' bit. I should probably mention that bit.
@[email protected] Yes! As someone who's given programming instruction to people with a wide range of experience there's certain topics I can point at that people consider "advanced" which I can trivially teach to ten year olds (recursion, anyone?) while there are others which are considered trivial by "trained" programmers that actually require a wealth of background knowledge they've forgotten they ever learned - like doing almost anything involving a network.
On a rather closely related note, you can now see all of my upcoming courses for the summer and the Autumn term on my ThinkersMeetup page: thinkersmeetup.com/scholars/...
So, Wix (website building app) allows you to have courses, and courses can have members of staff assigned to scheduled sessions, and then the query API will return you course details including a staffMemberIds field so you can show who's involved in teaching a course on your webpage.
...except that said field is populated with all the staff members assigned to repeating scheduled sessions, and only to them. Obviously, if you only teach one session of a course, or the course only has one session you're not really teaching anything.
Hopefully this public service announcement will allow me to pay forward some of the three-ish hours I just spent tearing my hair out before I found this nugget in the docs, where it is just stated as if it is a completely sane and normal piece of behaviour for an API. The workaround? Make the single session a repeating session that finishes repeating before it's second scheduled date. That makes you a real teacher on the course.
I'm going to be running a week long, online, introduction to #GameDev at the beginning of August using #Godot for 12-16 year olds. Details below!
The Arcade Games of the Future
Games don't need to be complicated to be fun to play, and back when computers had less resources to work with game designers had to lean hard into that truth by creating games that focused on just one thing: good game play.
Learn from the old masters of game design as we use basic techniques to create replicas of the old classics, using the modern game engine Godot to build games in the style of space invaders, breakout, and classic side scrolling platformers. But we won't stop there: unlike the original creators of those games, we aren't limited to the capabilities of the earliest computers, so we can start adding our own unique twists and visual wow factor to the games once the basics are working.
You will need a computer that can run Godot to take part in the course, but don't worry - you don't need a super powerful gaming computer to run it. You don't need previous experience of coding to take part, but we will be writing actual code for a full game engine, so you will need to be comfortable doing some typing. It would also be helpful to have a good understanding of how 2D coordinates work (i. e. using x, y pairs to position things). If you have taken my 2D art assets course or otherwise know how to make sprites, there will also be the opportunity to customise the look of your own versions of each game - but starter art will be provided to let us get going quickly.
How many games can you make in a five day course? Why not join us for a week and find out.
The Arcade Games of the Future will run 3rd-7th August at 16:00 UK time, and each session will last for one hour. You'll get the most out of the course if you carry on pushing the games forward in between sessions and come to the next session with any questions or stumbling blocks you hit, but there's no 'homework' as such.
@[email protected] I would, genuinely, consider paying for a service that semi-accurately pointed me to places where I could buy things I want to buy without having to trawl all the options. I just can't imagine a pitch for such a service that I could actually trust at the moment.
@[email protected] The shear amount of engineering cleverness that has gone into underhand ways of tracking what you buy/download would be less annoying if they then used it to target ads with better logic than "they bought thing x, they must what 27 more copies with different names" ...
@[email protected] @[email protected] The cat bus from Totoro has friction too, you know
@[email protected] Ah, watching teacher spouses blossom during the summer having hatched from the armoured shell of school time...
@[email protected] That's just mean. Nearly as mean as offering to help someone learn Diplomacy.
Been a while since I've needed to look, so does anyone have suggestions for good DB deployment management tools? I want to say migration, but apparently these days that mostly gets results for switching DB tech, while I'm talking about the migrations you check with your source code during normal dev.
I've started with Sqitch ( github.com/sqitchers/sqitch ) for now just to avoid a research rabbit hole, but I'm curious what people like. #Database #CI
"The project" being Typst, not ox-typst which is obviously just a personal daily driver someone is being kind enough to share, as opposed to an organization with funding etc.
I know I'm a heathen who should have learned latex properly years ago, but it always felt it was just a bit too awkward to put the time into properly.
After my son started playing with it as a potential way of taking uni notes I've started having a look at Typst as an alternative (via github.com/jmpunkt/ox-typst obviously - I'm not going to give up org syntax for the basics like some kind of barbarian) and finding it pleasingly more straight forward.
I suppose this is my slightly reluctant post to check if I'm missing any big issues with the project given that checking that kind of thing is a depressing part of life these days.
@[email protected] I get this sometimes as an ADHD feature (worse when I'm tired) but I've always experienced it (unpredictably) throughout my life. Maybe worth looking into other factors if it has suddenly started. For me it extends to pin numbers I've used for years on occasion as well.