ecmascript_news, to javascript avatar
ecmascript_news, to javascript avatar
leanpub, to devops avatar

Learn Kubernetes & Docker - .NET Core, Java, Node.JS, PHP or Python by Arnaud Weil is free with a Leanpub Reader membership! Or you can buy it for $11.99!

aral, (edited ) to SmallWeb avatar

:kitten: Say hello to the new Kitten web site! 🎉

Like Kitten itself, it’s a baby but will be evolving quickly as they approach API version 1 together.



PS. Of course it’s written in Kitten itself. It doesn’t do anything fancy but here’s the source code if you’re interested:

oskardudycz, to programming avatar

Are you building applications in ? Are you tired of maintaining your homebrew solutions? I'm planning to add storage to (plus other features like telemetry etc.). Getting sponsorship would help me to prioritise that effort. As I built a few cases like that I think that it should be cheaper in the longer term to outsource that to me, rather than maintain it on your own 🙂


aral, to markdown avatar

🎉 New Kitten feature: Markdown pages

You can now create files and use front matter to specify a layout template as well as any other props you want to pass to your layout.

(I’m working on the Kitten web site with docs, etc., so I thought I’d bite the bullet and add this feature this morning to make my life easier. Should make it easier to make this sort of site with Kitten in the future for everyone.)

:kitten: 💕

stefan, to genart avatar

Over the weekend I've updated my award-winning (no joke!) Creative Bots @glitchdotcom starter project to focus on Mastodon bots.

Visit for some inspiration, and then give it a try!

aral, (edited ) to programming avatar

w00t! 🎉 now has a shiny new…

kitten shell

…command you can use to connect to your Kitten daemon in production to debug it, etc.

Also, I don’t know if I missed something simple but I had a hard time handling Node’s preview completions over a socket connection. Couldn’t find any docs. Managed to fix it by implementing a control channel to communicate the remote client’s terminal size. Wrote it up here, in case it helps anyone else:


kubikpixel, to javascript German avatar

Es scheint so, als müsste ich mich bei der TypeScript Entwicklung auf @deno_land konzentrieren. Sicherlich, noch mit JSR genutzt, mittlerweile ein Ersatz für @nodejs professionell.

»Deno 1.44 lernt den Umgang mit privaten npm-Registries:
Das Minor Release kann mit privaten npm-Registries sowie gRPC-Verbindungen umgehen und erhöht nochmals die Kompatibilität mit Node.js.«


#javascript #typescript #denojs #nodejs #webdev #jsr #grpc #dev #npm

aral, to programming avatar

I do love that buffer.subarray() returns a – checks notes – Buffer instance, not an array, in Node.js. 👀

#namingThingsIsHard #NodeJS #Buffer #Array #dev

voxpelli, to programming avatar
aral, to SmallWeb avatar

So Kitten’s build process (i.e., the time it takes to build Kitten itself) takes ~0.7 seconds on my ~1 year old desktop (Ryzen 7 5700G 3.8Ghz) vs ~1.4 seconds on my ~3-year-old Starlabs LabTop (renamed to the Starbook thanks to a suggestion by yours truly but sadly, not quickly enough).

So, in summary, it’s bloody fast for something that results in a ~9MB bundle.

(And that’s all thanks to esbuild.)

#Kitten #SmallWeb #build #performance #web #dev #esbuild #NodeJS #JS

aral, (edited ) avatar

Note that when you’re working with Kitten, your apps do not have a build process.

You write HTML, CSS, JavaScript and, optionally, extend using first-class support for htmx and alpine.js as well as Kitten’s own Streaming HTML workflow¹. There’s also no scaffolding or generating a project with hundreds of files or anything. You just write the code for your app.


aral, (edited ) to SmallWeb avatar

A little detail in the latest :

I find deprecation warnings hit the sweet spot between jarring enough to be annoying and not informative enough to be useful.

So, in Kitten, the first time you hit a deprecation warning, you get a message telling you there are deprecation warnings.

If you care, you can open the interactive shell and view the kitten.deprecationWarnings list, which will show you full details including the stack trace.


khalidabuhakmeh, to blazor avatar

I'm back to playing with #Blazor and #HTMX with the @egil Htmxor library. The Counter sample is nice and clear.

He has something exciting here for the #aspnetcore and #dotnet audience.

Check it out!

THe counter sample running in a browser with a current count of 12

aral, avatar
aral, to SmallWeb avatar

:kitten: 💕

New Kitten update!

Mostly housekeeping:

• Runtime is now Node 22 (22.1.0 as 22.2.0 has a bug that can crash on deprecation warnings). This might be a breaking change for your code (e.g., import…assert is now import…with, etc.) Remember, Kitten is pre-release/not API-versioned yet.

• Applied all semver-compatible dependency version upgrades.

• Fixed tests & coverage. Tests are still woefully inadequate but will improve.

leanpub, to devops avatar

Learn Kubernetes & Docker - .NET Core, Java, Node.JS, PHP or Python by Arnaud Weil is free with a Leanpub Reader membership! Or you can buy it for $11.99!

gjergjiramku, to programming avatar

The reason I dislike node/npm

Just cloned three year old project and build fails. Just three years.

Probably a skill issue but how can I make sure that projects can withstand time a bit better?

joelanman, to webdev avatar

Got a Playwright question - in my tests I'm clicking a button which in the backend sends an email. I tried to use Jest to mock that function in the backend so it doesn't send an email, but that doesn't seem to work. Should it?

I could check for NODE_ENV in the backend and not send an email, but I'd like access to the email contents in my playwright test, but without actually sending an email.

Am I thinking about this all wrong?

aral, to SmallWeb avatar

So! Many! Kittens!

(Going to record a demo of the new interactive shell – REPL to some – and multi-page Settings this afternoon, just planning it out now.)

Oh and is that me creating and calling web routes interactively in the REPL on a live server? Why yes, yes it is.


#Kitten #SmallWeb #web #dev #HTML #CSS #JavaScript #NodeJS

aral, to SmallWeb avatar

:kitten: Kitten’s interactive shell (REPL) now saves session history scoped to your app so it will still be there when you next serve the same app.

I think I’m done with the REPL feature now.

Going to take a little break, step away from the computer, and make a plan for the next week of work on Kitten and Domain¹.


aral, to SmallWeb avatar

Small update on Kitten’s new interactive shell (REPL). You can now access Kitten’s router via:

Also updated the section in the tutorial to fix typos in some of the code examples and use the new router key path:


virtulis, to programming avatar

Funsies: node-gyp is broken on latest kernel.

Likely some other libuv stuff as well. In case you're experiencing more weirdness than usual, consider a downgrade :blobcatthumbsup:​

aral, to SmallWeb avatar

:kitten: 🎉

Kitten now has a lovely new multi-page Settings screen and… drumroll… a new 🐢 interactive shell (REPL) for you to play with the running state of your Small Web site/app/place and debug your app, inspect/manipulate its database, etc.

I plan on recording demos of each of them tomorrow but you can play with them now.

And here’s a little tutorial to get you started with the shell:


#Kitten #SmallWeb #SmallTech #NodeJS #REPL #JavaScript #HTML #CSS #web #dev

Screenshot of Kitten running in terminal: 🌍 Domain https://localhost 📂 Source /var/home/aral/Projects/kitten/app/examples/file-uploads 💾 Databases /var/home/aral/.local/share/ 🐢 To launch an interactive shell, press the [s] key. Server is running and listening for connections… s 🐢 Launching interactive shell ctrl-d to exit; .help for assistance A good place to start is to run the .ls command to see the keys of the global kitten object: » 💡.ls is an alias for Object.keys(kitten) [ 'version', 'domain', 'port', 'app', 'databaseDirectory', 'projectIdentifier', 'deploy', 'WebSocket', 'html', 'libraries', 'page', 'events', 'css', 'js', 'markdown', 'md', 'safelyAddHtml', 'sanitise', 'uploadsDirectory', '_db', 'uploads', 'package', 'db' ] 🐱 💬 kitten.db.images[0] Proxy [ { path: '/uploads/1a6c2612-057d-435b-83c7-7157b4add982/', altText: 'Screenshot of Draw Together sketch that reads Free Gaza!' }, { get: [Function: bound getHandler], set: [Function: bound setHandler], defineProperty: [Function: bound definePropertyHandler], deleteProperty: [Function: bound deletePropertyHandler] } ] 🐱 💬

joe, to ai

LLaVA (Large Language-and-Vision Assistant) was updated to version 1.6 in February. I figured it was time to look at how to use it to describe an image in Node.js. LLaVA 1.6 is an advanced vision-language model created for multi-modal tasks, seamlessly integrating visual and textual data. Last month, we looked at how to use the official Ollama JavaScript Library. We are going to use the same library, today.

Basic CLI Example

Let’s start with a CLI app. For this example, I am using my remote Ollama server but if you don’t have one of those, you will want to install Ollama locally and replace const ollama = new Ollama({ host: '' }); with const ollama = new Ollama({ host: 'http://localhost:11434' });.

To run it, first run npm i ollama and make sure that you have "type": "module" in your package.json. You can run it from the terminal by running node app.js <image filename>. Let’s take a look at the result.

Its ability to describe an image is pretty awesome.

Basic Web Service

So, what if we wanted to run it as a web service? Running Ollama locally is cool and all but it’s cooler if we can integrate it into an app. If you npm install express to install Express, you can run this as a web service.

The web service takes posts to http://localhost:4040/describe-image with a binary body that contains the image that you are trying to get a description of. It then returns a JSON object containing the description.

Have any questions, comments, etc? Feel free to drop a comment, below.

  • All
  • Subscribed
  • Moderated
  • Favorites
  • JUstTest
  • mdbf
  • everett
  • osvaldo12
  • magazineikmin
  • thenastyranch
  • rosin
  • normalnudes
  • Youngstown
  • Durango
  • slotface
  • ngwrru68w68
  • kavyap
  • DreamBathrooms
  • tester
  • InstantRegret
  • ethstaker
  • GTA5RPClips
  • tacticalgear
  • Leos
  • anitta
  • modclub
  • khanakhh
  • cubers
  • cisconetworking
  • provamag3
  • megavids
  • lostlight
  • All magazines