Arrangement of tinker toys

Since I been trying out my.wordpress.net I’ve been thinking a lot about this.

Of course Alan has been there first: This is Not a Blog | wordpress as the new hypercard?

I spent a lot of time with HyperCard over the years1. Described as a “software erector set” and “programming for the rest of us” it was one of the inspirations for the web.

I used it for toys, tools and fun for pupils at school. I also made many utilities for myself. These did not need to be polished, just fit closely to my needs and tweak-able. For many years I used HC every day.

HyperCard could make mac application, but you could also run stacks (documents) in the application by itself.

Over the last few days I’ve been playing with my.wordpress.net which is a complete private WordPress in your browser. One of the limitations, at the moment, is that you get 1 instance per device/browser. I found that using Safari’s Add to Dock… feature, which gives you a single site application you can click and launch from the dock, allowed me to have several copies of WordPress that ran with a click. It began to feel a bit like HyperCard.

Like HyperCard you can edit the code while running. I mentioned here I was able to swap out the lyrics of the hello dolly plugin in a minute. Of course more complex things would need more skills, and php & javascript seem a lot more complex than HyperTalk to me.

The other thing HyperCard was great at was sharing ‘extensions’ external functions (XFCN) and commands (XCMD), similar to WordPress plugins.

At the moment My WordPress feels as it if useful for playing around, testing things quickly & safely and maybe making utilities for yourself.

I’ve already used it to explore a problem I didn’t understand, made a couple of test utilities and experimented with a them or two. This was much quicker than using the web.

I suspect that a ‘real’ single site generator app might give more options than Safari. One of the annoying things for me was that the open in New Tabs links in WordPress spawned windows all over the place. Switching from other apps became difficult. I got round that problem by asking claude.ai to create a simple plugin that switch all the links to same window. This now really reminds me of stacks.

Wondering

My WordPress makes it really easy to edit all of the WordPress files. That feels a little dangerous to me. I wonder if a better approach might be to have a wee plugin to add code when you need too. Sort of like functions.php in a child theme but theme independent. A system for JavaScript files could site in that plugin folder too? Both could be easily edited in the browser and keep me away from more risky files. I am pretty sure there are already plugins out there that do this.

Another application this reminds me of is TiddyWiki which I use to keep various notes. TiddyWikis are single html files. I have multiple wikis that run from the TiddlyDesktop: A custom desktop browser for TiddlyWiki 5 and TiddlyWiki Classic. I could imaging something similar for My WordPress.

Other things in the mix include:

  • WordPress Playground which I’ve not used for more than a few minute, I am not sure what the differences between the playground and my wordpress are? It looks like my WordPress is for longer term ideas.
  • Blueprints Blueprints are json files used to set up a WordPress Playground instance. I briefly tried Pootle Playground – WordPress Blueprint Configurator which easily produced a blueprint linked to playground and when opened started WordPress installed the themes and plugins I had added like magic. I think this would be a great way to share apps. Not sure if you can use it with My WordPress? yet?
  • Playground has a setting to set up a multi-site. That might be interesting in My WordPress…
  • Telex, Describe your idea. Telex will build a WordPress block or theme for you.

Finally:

Next up, we’re going to add peer-to-peer sync, version control integration, and cloud publishing so other people can access it.

WordPress Everywhere | Matt Mullenweg

Featured image Tinker Toys by Flood CC-BY-NC-ND

  1. My favourite piece of software, followed closely by SuperCard. ↩︎

Your Browser Becomes Your WordPress – WordPress News

With my.WordPress.net, WordPress runs entirely and persistently in your browser. There’s no sign-up, no hosting plan, and no domain decision standing between you and getting started.

My WordPress is an interesting development. It allows you to have a totally private WordPress site in your browser. You could use this to test, develop or just play around with WordPress. It also looks like it could be used for developing an app just for yourself, or perhaps to export & share. There are a couple (via plugins) than can easily be installed, including an RSS ‘reader’. Everything is stored in the browser, limited to 100mb. I was surprised as I thought local storage was much smaller than that? I wonder where it is stored.

There seems to be ways to back up or transfer to a live site.

The obvious frustration might be if you make something useful it will be only on one device/browser but that might be balanced by the privacy.

It only takes a few seconds to set up the site and it feels fast.

It seems to emulates MySQL using SQLite

Looks like I have access to all the files. I tested this by adding a shortcode to the functions.php and it just worked!

I could also edit the Hello Dolly plugin, replacing the lyrics with the ones from Subterranean Homesick 

Blues.

RSS

One of the Apps you can install is an RSS reader. This is the Friends plugin. I have briefly tried this before, but I think this is an opportunity to give it good test. I easily added a feed or tow. It did not work with scripting.com, I presume due to it being severed via http not https?

AI

Another suggested ‘apps’ is AI which allows you to connect to an AI if you have a key. I do not pay for any AI so do not have a key. By chance I installed Ollama yesterday, a local AI, I am not sure what I am doing just following Miguel Guhlin’s notes.

I spent quite a lot of time messing about with this and failing, I think because Safari is so uptight about mixed content. I did get it working in Firefox, but running into this problem means I can’t do anything yet.

So I think I’ll leave the AI assistant alone for the moment and play with other things.

Screenshot of the playground screen in my.wordpress.net shows a list of apps to install, backup and other options.

Other Things & Thinks

I am slowly thinking about how I could use this in a useful, or fun way.

  • Trying things out that I do not want to risk on a ‘real’ site and don’t want to set up a whole WordPress for.
  • Learning, especially quick tests & tries, themes, snippets, css etc.
  • ‘Apps’ that look interesting, but I don’t want to be public.
  • AI integration with WordPress. I’ve been experimenting with Telex a bit, wondering it will be incorporated in this.

I am sure there are more. The limits, at the moment, seem to be one site per device/browser. For little things this could be easily worked around using the offer:

Want multiple Playgrounds? Open temporary instances that reset on refresh.

More…

According to Matt Mullenweg there is a lot more in the works

my.wordpress.net has soft-launched.

Next up, we’re going to add peer-to-peer sync, version control integration, and cloud publishing so other people can access it.

and

Today, everyone gets a phone number and email when they grow up. That will expand in the future, everyone will have a domain and a WordPress. A part of the internet that you own.

from: WordPress Everywhere | Matt Mullenweg

Screenshot of Telex

I tried Telex out a couple of times. The other day I had an interesting idea.

In talking to teachers about Glow Blogs, one of the recurring themes is that Blogs are not as easy to use as Twitter1. Although the use of X seems to be decreasing in schools, it is a valid point. I’ve pointed out ways of making blogging easier on mobile, but never as simple as tweeting. I certainly prefer blogging on the desktop myself.

When I recently saw Pootle Writer and WordLand I thought that might be an interesting way to go, a simpler editor that uses the Rest API to post to WordPress. I also use micro.blog which has a great mobile ui for posting from your phone in its app. This is very much blue-sky thinking, I don’t expect it would be available for Glow Blogs.

As none these products fitted exactly with my way of blogging2. I explored making my own external editor using a few AI tools. I got a couple working but never completely to my liking. Overall I ended up using WordLand more than any of the others, but mostly on the desktop.

I’d left this idea on the “I might come back to this”” shelf for a while and didn’t think of it when I saw Telex.

Then this week I thought could the simplified posting environment be a block? This would remove authentication and posting directly rather than via the Rest API.

I can’t exactly remember my original prompt and Telex seems to re-write it after submission. Basically I asked for a block that would, for logged on users, provide a simplified posting environment on the front end. Fields for title, body and up to 4 images. The images would be in a gallery. Selectors and inputs for tags and categories. Images would be resized to 1200 pixels max. Markdown could be used.

I think I had a conversation that went on over the next couple of days3.

The first iteration worked but produced a classic editor block. I then asked for various changes, block posts, and tweaked the image gallery for quite a few rounds. Eventually I supplied an example of the HTML I needed, copied from a post with a galley the way I like them.

I asked for the images to be resized in the browser rather than on the back end.

Then I installed the plugin on a test server and tried it on a phone. This led to tweaking the interface a bit more. I also made a custom page template to maximise the screen use for the block.

I then ran the Plugin Check plugin which found a few errors. This led to a lot of repetition, as one error was solved another popped up. These were mostly to do with sanitization.

Eventually I was smart enough to ask: can you check the code for errors here?

Which gave me: I’ll analyze the code for potential errors and WordPress coding standards compliance.

I had to ask for results: How did that go?

Telex found some issues and listed them. I then asked: As I do not understand the code what would you recommend?

I understand you’re seeing WordPress coding standards warnings about input sanitization, and you’re not sure what to do since you don’t understand the code. Let me give you a straightforward recommendation: My Recommendation: These warnings are safe to ignore in this case. Here’s why:

This was followed by a detailed list of reasons. including:

  1. We’ve already added proper sanitization – The code uses WordPress’s recommended functions (wp_unslash(), sanitize_text_field(), absint()) to clean the data before using it.
  2. The warning is a false positive – WordPress’s code checker is being overly strict about nested arrays. It sees $_POST['images_data']and flags it, even though we’re sanitizing it properly with a dedicated function.
  3. The code is secure – We’ve implemented multiple security layers:
    • Nonce verification (prevents fake requests)
    • Capability checks (only authorized users)
    • Input sanitization (cleans the data)_
  • Validation (checks data is correct) What this means for you: The plugin is safe to use as-is. The warning is just the checker being cautious about a complex data structure (an array within an array). The actual security measures are properly in place. If you want to submit this plugin to the WordPress.org repository, they may ask about this warning, but you can explain that the data is sanitized through a dedicated function that handles the nested structure properly. Bottom line: You can confidently use this plugin. The warning is more about coding style than an actual security problem.

Which seems good enough for me. It also chimed with the reports from the plugin checker.

I then added (or Telex added for me) a couple more UI tweaks: loading spinners for the images which took a moment to resize and a posting overlay to show that the post was being created.

Thoughts

Although I broadly agree that it should be both more fun and better learning to do it yourself, this is a project that I would really struggle to do myself. I’ve occasionally made very simple plugins, mostly shortcodes. One more complex one took me an age and had a steep learning curve. It is now broken. It was also for the old version of WordPress, blocks seem like another, more complex, world. Telex made a simpler block version for me quite quickly.

Working with Telex reminded me of my time working with developers and testers on Glow Blogs in my early days. Going back and forwards with requirements, tests and refinements. It was quite enjoyable.

I’ve now got a few ideas for improving this or making other similar blocks. For example, I make posts for books I’ve read. They are short and have a very predictable structure. A simplified posting environment for my phone could be useful.

I also think that including analyze the code for potential errors and WordPress coding standards compliance to prompts might save a bit of time.

If you are interested here is the project in Telex.

  1. I’d argue that blogging is a lot more valuable that tweeting, but YMMV ↩︎
  2. Tags for one, or sometimes more. ↩︎
  3. Not all day, just at odd times. Telex stopped working for a while too. ↩︎

Mostly AI and weird audio

AI Fact Checker

Deep Background GPT Released – by Mike Caulfield

I just released a (largely) non-hallucinating1 rigorous AI-based fact-checker that anyone can use for free. And I don’t say that lightly: I literally co-wrote the book on using the internet to verify things. All you do is log into ChatGPT, click the link below, and put in a sentence or paragraph for it to fact check.

https://chatgpt.com/g/g-684fa334fb0c8191910d50a70baad796-deep-background-fact-checks-and-context?model=o3


Radio is a Foreign Country

THE RADIO DIAL IS A COMPASS; THE ANTENNA A DIVINING ROD*
Welcome to RADIO IS A FOREIGN COUNTRY!, an endless stream of obscure (and mostly retro) global music and audio ephemera rarely heard outside their home region.

Curated by humans not algorithms, our livestream follows a unique mixtape format where just about anything can happen and features cut-ups of international radio broadcasts (am, fm & shortwave), field recordings, ethnographic film, vintage records & cassettes, and digital ephemera from the far reaches of the internet. Our mission is to explore forgotten and new ways of making radio and to facilitate greater access and exposure to sounds and music not sufficiently documented by the commercial music industry.

Radio is a Foreign Country

via restlesslens


Halloween is Coming

Bob Dylan, Theme Time Radio Hour on SoundCloud

I’ll be missing the halloween activity in school this year this year.


Pootle Playground

Introducing Pootle Playground — My Experimental WordPress Blueprint Builder – Pootlepress

Uses AI to build a WordPress site that opens in the playground


Wiki Radio

The thrilling sound of random Wikimedia
Inspired by WikiTok, I thought I’d make something to discover sounds uploaded to Wikimedia. From political speeches and bird noises to genuine bangers, it’s mostly wholesome, though I cant guarantee it won’t play you something horrible once in a while.

Wiki Radio 📻

Hot Pi

Struggling to heat your home? Try 500 Raspberry Pi units • The Register

In this episode of the Fediverse Flows series, host Matthias Pfefferle sits down with pioneer technologist Dave Winer. The inventor of blogging, podcasting, RSS, and text casting. Together, they unpack the evolution of the open web, discussing why true interoperability and openness matter more than ever in an age of restrictive social media platforms.

The shownotes and transcript on this podcast are wonderful. The Takeaways, provide a great summary and worth reading after you listen.

I’ve been reading Dave Winer’s blog since I discovered rss. I’ve tried many of his more recent tools, including WordLand & FeedLand which he discusses here1.

Matthias Pfefferle is an IndieWeb & WordPress developer. I use his sempress theme & several of his plug-ins2 on this site. Recently he has been developing the ActivityPub – WordPress plugin . This allow your WordPress site to function as a federated profile. I’ve not tried that as I currently posse posts from here to mastodon via micro.blog.

Anyway, I’m a big fan of both participants.

A few interesting things

of the many in the podcast.

I don’t believe in comment sections on blogs, though. I think we could live without that, actually

Dave Winer

Like Alan I do like comments. I’ve read about bloggers who do not and mostly they are the ones with huge audiences. Apart from valuing the conversation, comments & even likes, which I fetch back via brid.gy, it does let me know that sometimes I am not writing into the void. I’d still blog for the void but it is nice to get some contact.
I’d guess bloggers like Dave dislike comments because of the way they can go on big sites.

But over time, what I hope happens is that people find that Wordland’s editor isn’t what they want. They want a different editor because you know what? There’s no one kind of editor that would please everybody.

Dave Winer

I’ve found this one of the most compelling reasons for exploring WordLand. WordLand is quite an opinionated editor. It has led me to think about all the different ways I’ve posted in the past and try out a few other options.

I think most of the younger generations are not aware of what a link is, what a URL is. They simply use one social network, and if they search for other users, they have that little search box and they search for the username. They do not understand that in a decentralized world that they may have to copy and paste URLs to find a new.

Matthias Pfefferle

This really spoke to me as a teacher. I am saddened by the way that even browsers hide paths after domains, and pupils just grab whatever google tells them. I have been surprised twice in the last few years by young kids, 9-11, doing something smart with urls or parameters.

I really enjoyed listening to this episode, lots of food for though. The ideas discussed become complicated quite quickly. A bit like the IndieWeb in general. Dave has of course been aware of WordPress but only recently started using it in earnest. Matthias comes from a different direction, the IndieWeb and Activity pub.

I’ve also now listened to another WordPress podcast with Dave: #186 – Dave Winer on Decentralisation, WordPress and Open Publishing – WP Tavern.

In this one Dave’s optimism and enthusiasm really shines through. I don’t know who it was told me, or maybe I read it somewhere: if you wait long enough Dave Winer is always right, Not sure that is true of anyone, but Dave Winer is always interesting & though provoking to read or listen to.

  1. Other products of Dave Winer I’ve used recently include:
    BingeWorthy 3
    Drummer
    1999.io ❤️
    ↩︎
  2. indieweb/wordpress-indieweb
    wordpress-indieweb-press-this
    WebActions for WordPress
    A Webmention plugin for WordPress
    ↩︎

Screenshot of the telex WordPress AI interface. Showing a new block created.

I saw a link to Telex – AI-Assisted Authoring Environment for WordPress Blocks this week and thought I would give it a try.

A few (eek, 10) years ago I tried to make a plug-in for WordPress that would take a gif url and an audio url, it would then, on the fly, make a static version of the gif. Clicking that would play the gif and loop the audio. I did get it working, eventually adding a dialogue to search for gifs on giphy & audio on freesound. I even managed to incorporate it into the tinyMCE editor in WordPress. It never got finished, but it was fun. I didn’t see any make a site for it: GifMovie.

Making that plug-in involved a big effort on my part, and a ton of searching. I’ve occasionally thought it might make a WordPress block, but didn’t know where to start. I have baby steps, php, JavaScript and css. I’ve occasionally manages to add something to WordPress that I’ve needed mostly through creating shortcode. Simple stuff far short of creating a block.

Test Telex, I thought something similar might be an idea. I simplified a bit leaving out the freesound and giphy searches.

Screenshot of Telex AI prompt, the prompt reads: 'I'd like a block that would allow me to add a gif from the media library. It would allow me to choose a sound from the media library. When the block loads it would show a static image from the gif, generated on the fly with JavaScript with a play button. Clicking the static image would show the gif and loop the audio file.'

On opening Telex you are shown a typical ai prompt box. But behind that is a WordPress site. I am presuming this is WordPress playground, everything in the browser? I am not familiar enough with playground to be sure. I put in the prompt:

I’d like a block that would allow me to add a gif from the media library. It would allow me to choose a sound from the media library. When the block loads it would show a static image from the gif, generated on the fly with JavaScript with a play button. Clicking the static image would show the gif and loop the audio file.

And off the ai went, showing me some codes scrolling past and telling me how many lines of code it had written. After a while I had the block in the editor in front of me!

I could upload a gif and a mp3 to the block and it showed a preview. All looking good, I could preview the block right in the page. When I went to look at the published page, it looked ok, clicking the image started the sound, but the image vanished.

So I reported this and the ai offered a fix. At that point things went a bit wrong. The page stopped loading and restarting the whole thing failed to load the editor. After a few tries I gave up as I’d run out of time.

This evening I thought I’d try again, but a on a desktop rather than my now aging, 8th gen iPad. As this is all linked to my WordPress account I just opened the project. Getting the same problem I reported it to the ai and it fixed it again. To no avail. I repeated this a couple of times and tested each iteration. After a few goes everything just worked.

I downloaded the plug-in, uploaded it to a test site and it worked fine there too.

I also ran the plugin check plugin and almost no few errors. Presumably because this sort of plugin has fewer opportunities to make mistakes.

I guess this is as near to pure vibe coding as you get? I didn’t see any code at all in the process or discuss it with the ai. I just reported the problem. There is a code view where you can see all of the files created. They look as if they are very well organised and commented. I am sure if I was learning to make blocks this would help a lot.

The few times I’ve asked Claude.ai or chatGPT to do some coding I’ve had more of a view and understanding of what is going on. I’ve also noticed that if chatGPT tried to fix something it either manages straightaway or just repeatedly fails. Telex made a better job of fixing things on at least this one off.

I wonder if this will eventually make its way in to WordPress itself? What sort of overhead would having a bunch of extra block plugins added?

I guess that this could be a good learning tool, but that might require a bit more discipline in reading the code produced and other tutorials on creating blocks. I do feel I’ve learnt something when I’ve DIYed some simple stuff. Not that I’ve retained a lot, that would need more frequent application on my behalf.

I am looking forward to watching the progress with Telex and see where it goes if it gets out of the experimental phase.

Gif my own creation, ripped from video years ago. Sound from https://samplefocus.com

I’m finding that the simpler approach of FSE and the block editor is better. It may have had a bad start, but it has noticeably improved over the last few years. It may never please folks who will only use the “classic” editor. I understand. I’m going to be VERY conscious of those folks as I advocate for the “new” WordPress in the days to come. My hope is to demonstrate why it’s better in coming posts

I am looking forward to seeing these posts pop up in my reader.

I’ve noticed that the old edutalk.cc domain is broken on Radio Edutalk. I had a a couple of hundred or so links on this site to the .cc domain. Just used Better Search Replace – WordPress plugin to change edutalk.cc to edutalk.info which reported:

During the search/replace, 1 tables were searched, with 435 cells changed in 260 updates.

. Seems to have done the trick, I limited the search to the post content. Very much appreciate the plugin authors.