eupolicy.social is one of the many independent Mastodon servers you can use to participate in the fediverse.
This Mastodon server is a friendly and respectful discussion space for people working in areas related to EU policy. When you request to create an account, please tell us something about you.

Server stats:

202
active users

#smalltech

0 posts0 participants0 posts today
Dr Pen<p>Nice to read this. Ive always called myself an Internet Gardener, sowing the seeds of individual and group digital presence, providing easy, simple solutions to web needs.</p><p><a href="https://mastodon.social/tags/SmallWeb" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>SmallWeb</span></a> <a href="https://mastodon.social/tags/smolweb" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>smolweb</span></a> <a href="https://mastodon.social/tags/smalltech" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>smalltech</span></a> <a href="https://mastodon.social/tags/internet" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>internet</span></a> <a href="https://mastodon.social/tags/ourinternet" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>ourinternet</span></a> </p><p><a href="https://newpublic.substack.com/p/the-handmade-internet-is-making-a" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">newpublic.substack.com/p/the-h</span><span class="invisible">andmade-internet-is-making-a</span></a></p>
penworks<p>Sunday morning ...</p><p>Let's play I remember when:</p><p>Adobe did not own Macromedia<br>We built sites with ACE html and Netscape<br>Flash was cool and had sites like the legendary 2Advanced<br>Technorati kept us in touch<br>RSS was a very popular thing<br>We all had our own site or blog<br>Internet providers gave us free webspace when we signed up<br>Email addresses on rocketmail and mangamail<br>Photoshop was v3 and everyone's copy was hooky<br>All the PCs were built by your mate down the road<br>Warez was a secret to be shared by everyone<br>Rocketboom was always a thing to look forward to<br>Homestar runner same<br>And Radio Epiphany<br>Ninjai and Broken Saints</p><p>Ninjai trailer on Newgrounds (embedded Ruffle)<br><a href="https://www.newgrounds.com/portal/view/19933" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://www.</span><span class="ellipsis">newgrounds.com/portal/view/199</span><span class="invisible">33</span></a></p><p>Broken Saints homepage (need Ruffle to watch the Flash series, which is the best version) <a href="http://www.brokensaints.com/" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">http://www.</span><span class="">brokensaints.com/</span><span class="invisible"></span></a></p><p>(to be updated)</p><p><a href="https://mementomori.social/tags/Internet" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Internet</span></a> <a href="https://mementomori.social/tags/technology" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>technology</span></a> <a href="https://mementomori.social/tags/online" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>online</span></a> <a href="https://mementomori.social/tags/internetculture" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>internetculture</span></a> <a href="https://mementomori.social/tags/smalltech" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>smalltech</span></a> <a href="https://mementomori.social/tags/smolweb" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>smolweb</span></a></p>
Aral Balkan<p>I haven’t added an example of how you implement migrations with Kitten’s¹ built-in JSDB database² yet but here’s one that I just used when renaming a field (property) in a table (JavaScript object) from “account” to “data” that illustrates the general granular approach you should take within persisted instances of JavaScript classes.</p><p>This is, of course, an advanced use case of the built-in JavaScript database that all Kitten apps have.</p><p>Kitten is simple for simple use cases. So check out the Persistence tutorial, for example, to see how easy it is to get started with JSDB in Kitten:</p><p><a href="https://kitten.small-web.org/tutorials/persistence/" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">kitten.small-web.org/tutorials</span><span class="invisible">/persistence/</span></a></p><p>And see the Database App Modules tutorial for a more advanced usage where you persist instances of JavaScript classes and have full type safety:</p><p><a href="https://kitten.small-web.org/tutorials/database-app-modules/" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">kitten.small-web.org/tutorials</span><span class="invisible">/database-app-modules/</span></a></p><p>¹ <a href="https://kitten.small-web.org" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="">kitten.small-web.org</span><span class="invisible"></span></a><br>² <a href="https://codeberg.org/small-tech/jsdb" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="">codeberg.org/small-tech/jsdb</span><span class="invisible"></span></a></p><p><a href="https://mastodon.ar.al/tags/Kitten" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Kitten</span></a> <a href="https://mastodon.ar.al/tags/SmallWeb" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>SmallWeb</span></a> <a href="https://mastodon.ar.al/tags/SmallTech" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>SmallTech</span></a> <a href="https://mastodon.ar.al/tags/web" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>web</span></a> <a href="https://mastodon.ar.al/tags/dev" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>dev</span></a> <a href="https://mastodon.ar.al/tags/persistence" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>persistence</span></a> <a href="https://mastodon.ar.al/tags/JavaScript" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>JavaScript</span></a> <a href="https://mastodon.ar.al/tags/database" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>database</span></a> <a href="https://mastodon.ar.al/tags/JavaScriptDatabase" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>JavaScriptDatabase</span></a> <a href="https://mastodon.ar.al/tags/authoring" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>authoring</span></a> <a href="https://mastodon.ar.al/tags/migrations" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>migrations</span></a></p>
Aral Balkan<p>It’s not fair to compare a state-of-the-art-AI-assisted proprietary tool from a trillion-dollar corporation with a hand-coded free and open tool from a small not-for-profit cooperative.</p><p>(The latter works.)</p><p><a href="https://github.com/orgs/community/discussions/170758#discussioncomment-14233260" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">github.com/orgs/community/disc</span><span class="invisible">ussions/170758#discussioncomment-14233260</span></a></p><p><a href="https://mastodon.ar.al/tags/BigTech" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>BigTech</span></a> <a href="https://mastodon.ar.al/tags/AI" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>AI</span></a> <a href="https://mastodon.ar.al/tags/bullshit" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>bullshit</span></a> <a href="https://mastodon.ar.al/tags/GitHub" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>GitHub</span></a> <a href="https://mastodon.ar.al/tags/SmallTech" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>SmallTech</span></a> <a href="https://mastodon.ar.al/tags/craft" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>craft</span></a> <a href="https://mastodon.ar.al/tags/Codeberg" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Codeberg</span></a> <a href="https://mastodon.ar.al/tags/Forgejo" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Forgejo</span></a></p>
Dr Pen<p>A video of what Ive been building for a small RSS network of feeds (about 30), categorised and tagged for easy, tidy and calm browsing of sources without socmed noise (or RSS reader deluge). the jOYND concept has other sections, this is the networks section. Im using Grav for the framework, and big thanks to ongoing work from Ole Vik who is the developer of the Twigfeeds Grav plugin.</p><p>(Clip should play in a browser 🙂)</p><p><a href="https://mastodon.social/tags/grav" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>grav</span></a> <a href="https://mastodon.social/tags/rss" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>rss</span></a> <a href="https://mastodon.social/tags/feeds" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>feeds</span></a> <a href="https://mastodon.social/tags/selfhosting" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>selfhosting</span></a> <a href="https://mastodon.social/tags/smalltech" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>smalltech</span></a> <a href="https://mastodon.social/tags/academia" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>academia</span></a></p><p><a href="https://files.penworks.net/vids/joynd_networks_rss_demo.mp4" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">files.penworks.net/vids/joynd_</span><span class="invisible">networks_rss_demo.mp4</span></a></p>
Aral Balkan<p>🎶 One of these things is not like the other…🎶</p><p>Can you spot the difference kids?</p><p><a href="https://defuse.ixd.ie" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="">defuse.ixd.ie</span><span class="invisible"></span></a></p><p><a href="https://mastodon.ar.al/tags/SmallWeb" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>SmallWeb</span></a> <a href="https://mastodon.ar.al/tags/SmallTech" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>SmallTech</span></a> <a href="https://mastodon.ar.al/tags/BigWeb" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>BigWeb</span></a> <a href="https://mastodon.ar.al/tags/BigTech" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>BigTech</span></a> <a href="https://mastodon.ar.al/tags/LinkedIn" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>LinkedIn</span></a> <a href="https://mastodon.ar.al/tags/PersonalWebSite" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>PersonalWebSite</span></a></p>
Aral Balkan<p>I’m speaking at Defuse – Design For Use – at The Sugar Club in Dublin on November 10th at 7PM.</p><p>The theme is “Reclaiming Design: Taking Back Purpose in an Automated Age” and my talk’s titled “Think small.”</p><p>It’s first come, first served, so mark your calendars and show up early (and find me and say hi if you do!) :)</p><p><a href="https://defuse.ixd.ie" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="">defuse.ixd.ie</span><span class="invisible"></span></a></p><p><a href="https://mastodon.ar.al/tags/ThinkSmall" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>ThinkSmall</span></a> <a href="https://mastodon.ar.al/tags/DefuseDublin" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>DefuseDublin</span></a> <a href="https://mastodon.ar.al/tags/IXDA" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>IXDA</span></a> <a href="https://mastodon.ar.al/tags/IXDADublin" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>IXDADublin</span></a> <a href="https://mastodon.ar.al/tags/SmallTech" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>SmallTech</span></a> <a href="https://mastodon.ar.al/tags/SmallWeb" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>SmallWeb</span></a> <a href="https://mastodon.ar.al/tags/events" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>events</span></a> <a href="https://mastodon.ar.al/tags/Dublin" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Dublin</span></a> <a href="https://mastodon.ar.al/tags/Ireland" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Ireland</span></a> <a href="https://mastodon.ar.al/tags/tech" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>tech</span></a> <a href="https://mastodon.ar.al/tags/design" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>design</span></a> <a href="https://mastodon.ar.al/tags/ethics" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>ethics</span></a></p>
Aral Balkan<p>Coming soon (likely this afternoon, I’m writing tests and docs and updating examples as we speak)… </p><p>This is the sort of thing you’ll be able to do with Markdown pages. Just pop any arbitrary JavaScript you want in the new script block in the front matter and then import and use components as well as plain old JavaScript tagged template variable interpolation (not shown in this example) inside your Markdown.</p><p>The screen has all the code (sans the end of the last line of CSS and the closing tags for the &lt;style&gt; and &lt;div&gt; in the Reactions component, which I couldn’t make fit without reducing the font size) for the example you see in the browser with functional buttons that persist their state to Kitten’s built-in default database.</p><p>When I say all the code, I mean all the code. There is no scaffolding. Those two files are the only two files in the project.</p><p><a href="https://kitten.small-web.org" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="">kitten.small-web.org</span><span class="invisible"></span></a></p><p><a href="https://mastodon.ar.al/tags/Kitten" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Kitten</span></a> <a href="https://mastodon.ar.al/tags/SmallWeb" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>SmallWeb</span></a> <a href="https://mastodon.ar.al/tags/SmallTech" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>SmallTech</span></a> <a href="https://mastodon.ar.al/tags/HTML" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>HTML</span></a> <a href="https://mastodon.ar.al/tags/CSS" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>CSS</span></a> <a href="https://mastodon.ar.al/tags/JavaScript" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>JavaScript</span></a> <a href="https://mastodon.ar.al/tags/JS" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>JS</span></a> <a href="https://mastodon.ar.al/tags/Markdown" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Markdown</span></a> <a href="https://mastodon.ar.al/tags/web" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>web</span></a> <a href="https://mastodon.ar.al/tags/dev" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>dev</span></a> <a href="https://mastodon.ar.al/tags/comingSoon" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>comingSoon</span></a></p>
Aral Balkan<p>Rewriting the Windows section of Kitten’s installation instructions.</p><p>Update: it’s live now.</p><p><a href="https://kitten.small-web.org/" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="">kitten.small-web.org/</span><span class="invisible"></span></a></p><p><a href="https://mastodon.ar.al/tags/Kitten" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Kitten</span></a> <a href="https://mastodon.ar.al/tags/SmallWeb" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>SmallWeb</span></a> <a href="https://mastodon.ar.al/tags/SmallTech" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>SmallTech</span></a> <a href="https://mastodon.ar.al/tags/web" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>web</span></a> <a href="https://mastodon.ar.al/tags/dev" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>dev</span></a> <a href="https://mastodon.ar.al/tags/HTML" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>HTML</span></a> <a href="https://mastodon.ar.al/tags/CSS" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>CSS</span></a> <a href="https://mastodon.ar.al/tags/JavaScript" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>JavaScript</span></a> <a href="https://mastodon.ar.al/tags/NodeJS" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>NodeJS</span></a> <a href="https://mastodon.ar.al/tags/FOSS" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>FOSS</span></a> <a href="https://mastodon.ar.al/tags/tech" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>tech</span></a> <a href="https://mastodon.ar.al/tags/Windows" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Windows</span></a> <a href="https://mastodon.ar.al/tags/Microsoft" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Microsoft</span></a> <a href="https://mastodon.ar.al/tags/israel" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>israel</span></a> <a href="https://mastodon.ar.al/tags/genocide" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>genocide</span></a> <a href="https://mastodon.ar.al/tags/ethnicCleansing" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>ethnicCleansing</span></a> <a href="https://mastodon.ar.al/tags/apartheid" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>apartheid</span></a> <a href="https://mastodon.ar.al/tags/settlerColonialism" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>settlerColonialism</span></a> <a href="https://mastodon.ar.al/tags/Palestine" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Palestine</span></a> <a href="https://mastodon.ar.al/tags/Gaza" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Gaza</span></a> <a href="https://mastodon.ar.al/tags/WestBank" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>WestBank</span></a> <a href="https://mastodon.ar.al/tags/StopIsrael" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>StopIsrael</span></a> <a href="https://mastodon.ar.al/tags/StopTheGenocide" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>StopTheGenocide</span></a> <a href="https://mastodon.ar.al/tags/BoycottDivestmentSanctions" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>BoycottDivestmentSanctions</span></a> <a href="https://mastodon.ar.al/tags/BDS" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>BDS</span></a> <a href="https://mastodon.ar.al/tags/FreePalestine" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>FreePalestine</span></a></p>
Aral Balkan<p>Bloody hell, finally, I think I’m done with the Markdown support rewrite in Kitten.</p><p>The Markdown rule for interpreting four spaces as code fences has been the biggest pain in my neck during this whole ordeal but, bitching aside, it means the parser is now more accurate and thus stronger for it.</p><p>If all goes well, expect a Monday release :)</p><p><a href="https://kitten.small-web.org" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="">kitten.small-web.org</span><span class="invisible"></span></a></p><p>:kitten:💕</p><p><a href="https://mastodon.ar.al/tags/Kitten" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Kitten</span></a> <a href="https://mastodon.ar.al/tags/SmallWeb" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>SmallWeb</span></a> <a href="https://mastodon.ar.al/tags/SmallTech" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>SmallTech</span></a> <a href="https://mastodon.ar.al/tags/web" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>web</span></a> <a href="https://mastodon.ar.al/tags/dev" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>dev</span></a> <a href="https://mastodon.ar.al/tags/Markdown" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Markdown</span></a> <a href="https://mastodon.ar.al/tags/HTML" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>HTML</span></a> <a href="https://mastodon.ar.al/tags/CSS" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>CSS</span></a> <a href="https://mastodon.ar.al/tags/JavaScript" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>JavaScript</span></a> <a href="https://mastodon.ar.al/tags/NodeJS" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>NodeJS</span></a></p>
Aral Balkan<p>The new integrated Markdown parser I’ve been implementing in Kitten has been kicking my ass for the past few weeks but I think I finally have it fully working and seamlessly so. Expect a new release this/next week that brings the parsing of Markdown pages (.page.md files) in your apps up to the standard of the recently-improved runtime Markdown parsing in Kitten HTML tagged-template strings (within `&lt;markdown&gt;…&lt;/markdown&gt;` blocks).</p><p>The coolest thing is I was able to implement this without introducing any new syntax. In fact, I was able to simplify things so that you can now add arbitrary JavaScript to your Markdown pages within a multi-line script block in the YAML front matter (`script: |`) and use JavaScript string interpolation syntax in your Markdown (and, of course, Kitten components and conditionals, which, themselves, rely on string interpolation).</p><p>The only place where you have to deviate from standard Markdown in your Markdown pages is if you have JavaScript string interpolations or Kitten components/conditionals in code fences within your Markdown. In that case, you’ll have to escape them (e.g., `&lt;\${Component} /&gt;`, `\&lt;if \${something}&gt;something\&lt;/if&gt;`, etc.). And, to be fair, the person most impacted by this is likely me as the Kitten documentation at <a href="https://kitten.small-web.org" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="">kitten.small-web.org</span><span class="invisible"></span></a> is written in Kitten so I had a lot of escaping to do. But for any other use case, it means that things should just work and work exactly as they do in JavaScript pages (page.js files).</p><p>Anyway, so this is going to be a breaking change so I thought I’d give you (the three of you playing with Kitten right now?) a heads up. Of course, I’ll be updating the documentation to reflect all this.</p><p>(Remember, Kitten is in pre-release and it’s the framework I’m building/using to create Catalyst – the Small Web hosting solution – and Yarn – a small web – peer to peer – personal site app. So Kitten isn’t the means, not the end. And, at least until the Version 1 API freeze, things can and will break. That said, there’s nothing stopping you from playing with it now and, to be fair, at this point, such breaking changes should become rarer and rarer).</p><p>:kitten:💕</p><p><a href="https://mastodon.ar.al/tags/Kitten" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Kitten</span></a> <a href="https://mastodon.ar.al/tags/SmallWeb" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>SmallWeb</span></a> <a href="https://mastodon.ar.al/tags/SmallTech" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>SmallTech</span></a> <a href="https://mastodon.ar.al/tags/web" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>web</span></a> <a href="https://mastodon.ar.al/tags/dev" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>dev</span></a> <a href="https://mastodon.ar.al/tags/Markdown" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Markdown</span></a> <a href="https://mastodon.ar.al/tags/JavaScript" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>JavaScript</span></a> <a href="https://mastodon.ar.al/tags/HTML" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>HTML</span></a> <a href="https://mastodon.ar.al/tags/CSS" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>CSS</span></a> <a href="https://mastodon.ar.al/tags/JavaScript" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>JavaScript</span></a> <a href="https://mastodon.ar.al/tags/NodeJS" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>NodeJS</span></a></p>
Aral Balkan<p>Ah, and also, forgot to mention this change:</p><p>Improved:</p><p>• Debugging your Kitten app is now easier when you run it using `INSPECT=true kitten …` as the Node runtime is launched using the `--inspect-brk` tag instead of the `--inspect` tag. This means that execution will wait for your debugger (e.g., Chromium’s DevTools at `chrome://inspect`, etc.) to connect before starting the server. This makes it possible to hit breakpoints that might previously have been impossible to reach as they occured before you had a chance to run the debugger.</p><p>Full change log:<br><a href="https://codeberg.org/kitten/app/src/branch/main/CHANGELOG.md#2025-08-12" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">codeberg.org/kitten/app/src/br</span><span class="invisible">anch/main/CHANGELOG.md#2025-08-12</span></a></p><p><a href="https://mastodon.ar.al/tags/Kitten" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Kitten</span></a> <a href="https://mastodon.ar.al/tags/SmallWeb" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>SmallWeb</span></a> <a href="https://mastodon.ar.al/tags/SmallTech" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>SmallTech</span></a> <a href="https://mastodon.ar.al/tags/NodeJS" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>NodeJS</span></a> <a href="https://mastodon.ar.al/tags/debugger" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>debugger</span></a> <a href="https://mastodon.ar.al/tags/debugging" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>debugging</span></a> <a href="https://mastodon.ar.al/tags/web" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>web</span></a> <a href="https://mastodon.ar.al/tags/dev" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>dev</span></a> <a href="https://mastodon.ar.al/tags/JavaScript" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>JavaScript</span></a></p>

Ppl of Mastodon. Please help educate the normies about independent, small tech and self hosting. Not only fancy stuff like docker/VS etc and home servers, but cheap shared webspace online, small CMS, wikis, favourite federated or OS apps, (mine are Masto, Lemmy, Grav, Jekyll, Ghost and others). Introduce them to what is actually out here. Try not to expect total purity! They want to be free, not join a cult 😎😇

Very pleased to now have the toolkit list working, with some technical and design work to still do. Creating custom posts to hold tool data means I can control how the user chooses to open an app. I'll do a blog post on this bc its useful for others working in Grav. Images show the populated list, an app opened within jOYND, a file open from local storage. I'm using page front matter yaml and a blueprint to create custom form fields.

🥳 New Kitten release!

Markdown and general renderer fixes.

Fixed:

• Nested Markdown sections rendering bug.

• Detection of components in Markdown where the opening tag spans multiple lines.

• Support for returning a component as a top-level object in a page.

• Slots in Markdown now work as they should (make sure you add them as block-level items, so with a leading and trailing empty line)

Enjoy!

:kitten: 💕

kitten.small-web.org

kitten.small-web.orgKitten: Home

🥳 New Kitten Release

To GNU tar or not to GNU tar?

• Installing Kitten on Linux should no longer display a screenful of gibberish from the tar command.

You see, macOS, being special, includes BSD tar, not GNU tar, and adds a bunch of Mac-specific metadata and extended header keywords to archives that GNU tar on Linux machines then chokes on and regurgitates onto your screen as warnings.

With this release, Kitten’s packaging script expects GNU tar to be available on macOS and uses that instead of BSD tar.

The latest release of Kitten now installs without any warnings on Linux (at least on my Fedora Silverblue box).

Enjoy!

kitten.small-web.org

kitten.small-web.orgKitten: Home

🎉 New Kitten¹ Release: A little housekeeping 🧹

Today’s release only concerns production servers:

• Kitten no longer counts all *hits* in its stats. You can still see which of your *pages* are most popular, etc., and see stats for missing URLs, etc., as before from either the web interface or the interactive shell, but not every hit is logged. Instead, you can see the latest 25 served routes in Kitten’s Settings (at /🐱/settings/state/requests/ via the web on your server).

- Kitten production servers now carry out an automatic daily maintenance restart at some time between 3AM and 5AM local server time. (“Have you tried turning it off and on again?” as a Service™) This is to allow JSDB² tables a chance to compact themselves (especially important for high traffic/high mutation tables like sessions, so they don’t balloon up to take up all available memory on small VPS instances).

I don’t think anyone but us (Small Technology Foundation³) is running Kitten in production at the moment but, still. If you are playing with Kitten and experimenting with it in production, your servers will update to this latest version in a few hours.

Full details: codeberg.org/kitten/app/src/br

:kitten: 💕

¹ kitten.small-web.org
² codeberg.org/small-tech/jsdb
³ small-tech.org

Codeberg.orgapp/CHANGELOG.md at mainapp - A web development kit that’s small, purrs, and loves you.

The Grav based personal info app I'm working on is progressing steadily. I'm developing ideas for using blueprints and front matter yaml to input data for the toolkit list groups. The RSS plugin category/ tags work is going ok, and we hope to make Bluesky feeds compatible too (Masto feeds already work fine). Front end editable notes have progressed a lot since I last shared any updates so I'm fairly pleased overall. I even did the Manifest 😎

#grav#twig#oyd