@neilccbrown.bsky.social

Senior Research Fellow in Computing/Programming Education at King's College London, UK. Research and development of novice programming tools, including BlueJ, Greenfoot and Strype.

Nice to experience different train systems... UK trains: we've cancelled the train you booked due to emergency engineering works but we won't notify you so you have a nice surprise. Swiss trains: we've changed the platform your train goes from six times today, and we've emailed you each time.

BlueJ 6.0.0 has now been released, with support for developing in Kotlin. You can use any combination of Java, Kotlin and Stride in BlueJ projects, thanks to features added by JetBrains. Available here: bluej.org

Available countries to pick from in an ACM dropdown: "England UK", "Gt Britain", "No Ireland", "Scotland UK", "United Kingdom" and "Wales UK" Interesting set.

The key to the neural networks that underlie LLMs is to have layers of processing. For example, I'm using ChatGPT to fix the incorrect code Claude gave me after I asked it to improve the incorrect code ChatGPT gave me.

Two ways to read this. One is “she lost on every substantive claim, completely failed in her attempts to ban trans staff from the workplace, and won mild procedural victories against her employers handling of her case”. The other way is, I guess, “point one is longer so it must be more important”

Bild

Finnish train options living up to the extra personal space stereotype: options include paying extra for single seat or paying extra to keep the seat beside you empty.

Screenshot of options to pay for empty seat next to you or single seat.

New blog post about a new paper on the consistency of grading programming assignments. We looked at this under-researched area, finding poor inter-grader consistency and poor self-consistency. More details here: academiccomputing.wordpress.com/2025/09/03/c... and in the paper linked within.

Consistency of grading programming assignments

When students write programming assignments, we generally want to grade them with a number or letter grade. This may be for homework/coursework or for controlled assessments such as exams. Anyone w…

academiccomputing.wordpress.com

Trying to get hold of an iron at the hotel and have twice been told "I've put a ticket in our system for it", which of course is software developer speak for "good luck with that, I ain't doing it".

They never seem to think to ask the next question... Without remembering any knowledge how do you know what question to ask AI? How can you sense check it? What are you "thinking critically" about? We went through all this already with Google.

Tom Richmond@tom-richmond.com · last yr.

Apparently Tyler Cowen is a well-known economist and commentator. Perhaps he should stick to economics rather than exposing his profound ignorance by saying stuff like 'remembering things and achieving well is irrelevant thanks to AI'. www.businessinsider.com/ai-reveals-h...

Wasted half a day trying to track down one of those "this is impossible" bugs only to find a directory with test-foo.ts and (stale) test-foo.js in it, which was the cause of the whole trouble. The stale set were the tests that were failing.

Does anyone know of a tool that can take a list of references as input and produce a subset of those references that don't appear to correspond to a published work in any digital library? Detecting reference hallucinations is becoming an important tool for peer review...

I’ve been thinking a lot about what it means to be an AI literate postgraduate student. I put together some thoughts in a blog post: csed.phd/2025/05/17/a.... It's not a how-to guide, more like a reflection on what it means to use generative AI tools critically, responsibly, and with curiosity.

AI literacy for postgraduate researchers

The rise of artificial intelligence powered tools is influencing research work across many disciplines. But with these new tools come new responsibilities. For PhD students navigating the shifting …

csed.phd

Using AI to debug syntax escaping issues in generated Python and interestingly it sees a backslash where there is none because of the way I'm escaping invalid tokens that looks like classic backslashes unicode escapes.

AI chat log that says:

But in your case, the problematic part is at the very end:

... not (___strype_invalid_u00fcu0040u0042u005c)

🚫 The Issue: \ at the End

The last part of the identifier ends in:

\u005c

Which is the Unicode escape for the backslash character (\).

So you're effectively writing:

not (___strype_invalid_ü@B\)

But a Python identifier cannot contain a literal backslash — neither in source code nor via a Unicode escape. That makes this token invalid.