Archive for the ‘Webtechnology’ Category

No Comments

Open source coding using your Raspberry Pi as a CoPilot/AI assistant in ZED

Sunday, February 2nd, 2025

In this blog, we’ll delve into the benefits of using AI in the open source coding-app Zed and explore how it can help to write better and faster code with the assistance of a Raspberry Pi.

For AI we don’t use ollama, but we run Llamafile on the Raspberry Pi.

Llamafile is created by, to make LLMs much more accessible to both developers and end users. Also it’s often faster than Ollama, and had a more performant server. That’s important running a LLM on a rather low-end Raspberry Pi 5.

So ssh into you’re Pi5 and startup Llamafile:

dev/llamafile/Llama-3.2-1B-Instruct.Q6_K.llamafile --server --v2 -l 0.0.0.0

To make ZED use your Pi, add this to your settings file CTRL+,:

The important thing is to set the name to openai, and add a api_url in which you set your local endpoint.That way it will use the openai API on a local endpoint instead of the cloud.

“language_models”: {
“openai”: {
“api_url”: “http://raspberrypi.local:8080/v1”
}
},
“assistant”: {
“version”: “2”,
“provider”: “openai”,
“type”: “openai”,
“default_model”: {
“provider”: “openai”,
“model”: “rpi”
}
}

For the rest just add a bogus key in the Assistant configuration for ZED openai, and you’re ready to go.

Llama-3.2 is running fine on a Raspberry Pi 5, it’s a good tradeoff between quality and speed for lower-end hardware. You could also try Qwencoder2.5, that is a bit slower though.

Just run another Llamafile on your Pi, there is no need to reconfigure the settings in ZED. That’s is the fun and easy of this solution.

No Comments

Yes, Google did it, they went REALLY UGLY with forcing JavaScript

Sunday, January 26th, 2025

About 10 years ago, we warned about the danger that the internet will become a privacy unfriendly place, due to bad behavior of Big Tech.

We more or less predicted that time, that Javascript would become required.

https://dev.webonomic.nl/breaking-the-bad-internet
https://dev.webonomic.nl/breaking-the-bad-pushing-a-worse-internet-part-ii

And now in 2025, 10 years later, Google just did that.

So when you visit an URL you get zilch info, a blank page, you need to give Google a permission to execute unknown code on your computer to see any content. That is of course breaking the internet. What is the use of an url when there is no content?

https://www.google.com/search?hl=en&q=why%20is%20Javascript%20required

<noscript><style>table,div,span,p{display:none}</style>
 <meta content="0;url=/httpservice/retry/enablejs?sei=xXXX_XXXxx" http-equiv="refresh">
 <div style="display:block">Please click <a href="/httpservice/retry/enablejs?sei=xXXX_XXXxx">here</a> if you are not redirected within a few seconds.</div>
</noscript>

 

Yes there is a collection of scripts, but that is no information.

Please read our older posts:

Everybody that is surprised by the latest developments of Trump 2.0, Twitter/X and Facebook dropping any form of self-control/fact-checking on the news nonsense they publish or the lies they spread, it has never been the goal of Social Media firms to spread or publish info, the real goal is to collect (personal) data.

So lowering the amount of info is not what they want, the want to spread more info, because then they can sell more adds, and the more controversial the info is the more response you get etc. The more adds you can sell.

So why the big investment in AI?

Create more info ->  spread more info/nonsense -> sell more adds -> collect more data.

Remember what we wrote 10 years ago:

What social media buttons really mean, is: please share your social network, tell us the names of all your friends and please share your online presence with us.

A “JavaScript wall” is an extreme version of a “cookie wall.”

Scripting can form an integral part of an application. Web browsers that do not support scripting, or that have scripting disabled, might be unable to fully convey the author’s intent.

So when the Internet guidelines clearly state:

If it is not possible to make the page usable without scripts, provide a text equivalent with the NOSCRIPT element, or use a server-side script instead of a client-side script, or provide an alternative accessible page as per checkpoint 11.4.

https://www.w3.org/TR/WAI-WEBCONTENT/#gl-new-technologies

https://www.w3.org/TR/WAI-WEBCONTENT/#tech-alt-pages

Google had a usable page without Javascript, they just killed it. All because gathering user info is more important then serving info. Think about that.

No Comments

Open source coding with Ollama as Copilot

Tuesday, September 24th, 2024

Among the many tools available to developers today, support from AI as a coding assistant is a nice must-have.

Zed is a Rust-written modern open source code editor designed for collaborative editing and multiplayer teamwork. It works fine as a stand-alone editor with git support.

Ollama offers easy and privacy-friendly local driven LLM support. Get up and running with large language models on your own machine.

Zed does offer AI integration with ChatGPT or Claude, but it can also connect to your local Ollama install.

To try this out, just add this to the settings-file in Zed CTRL + ,:

 

"assistant": {
"version": "1",
"provider": {
"default_model": {
"name": "qwen2.5-coder",
"display_name": "codeqwen",
"max_tokens": 2048,
"keep_alive": -1
},
"name": "ollama",
// Recommended setting to allow for model startup
"low_speed_timeout_in_seconds": 30
}
}

Open a new assistant tab and you can change context of the assistant to your tab content, and let the AI assistant annotate your script:

/tab
Annotate the JS file

And can LLM’s create graphics? Of course they can.

How to create images with a Large Language Model (LLM)

SVG!

SVG is an xml based format that can be understood by humans and machines, so when a coding assistant can write code, it can also write SVG. 😉

Does it create sensible graphics? Not really.

I asked qwen2.5-coder  in Zed:

Create a SVG file that shows a chair.

Does this look like a chair?

 

Another attempt:

Does it really look like a chair? What does it look like. Let me know in the comments!

No Comments

Configuring Tmux for better handling

Tuesday, August 6th, 2024

Tmux is a terminal multiplexer that enables the concurrent execution of multiple terminal programs within a single terminal session.

This feature significantly enhances productivity by allowing users to monitor various logs, debug programs, settings, and network traffic simultaneously.

For further information on Tmux’s capabilities and benefits, please refer to the documentation.

While Tmux offers a range of customizable settings, some default configurations may require adjustment.

Specifically, the default keyboard shortcut for the Command Prefix, CTRL+B, may be inconvenient for users who prefer to use one hand.

To address this, I recommend modifying the shortcut to CTRL+Q.

Additionally, Tmux’s scrolling functionality can be improved. I already mapped the CapsLk key to a CTRL key in Ubuntu/Gnome.

Scrolling is also not that trivial. So we gonna add mouse/trackpad scrolling. That’s a nice alternative to the keyboard way: Command Prefix + } followed by one of the cursor keys.

Edit .tmux.conf and put the following in:

unbind C-b
set-option -g prefix C-q
set-option -g mouse That's all for now.
No Comments

How to fix the no header and footer showing in Woocommerce and WordPress 2024 child themes

Saturday, August 3rd, 2024

Not really a surprise, we saw it coming for several years, and it’s not necessarily a bad thing lowering technology barriers for WordPress users, but in practice what is the gain of multiple inline CSS rules, instead of one properly made external CSS sheet.

Similarly, fixing the wrongly collapsing navigation menu on mobile is just a matter of adjusting a number in a media query, but there is no fucking way to do that in the UI.

What’s the gain of writing myriads of JavaScript rules to be able to change a CSS variable, which you could do by simply changing a variable in the CSS file. It’s a loss for the developers and a gain for the noobs, the marketeers and the trackers. It’s like taking your car the drive to your postbox to empty it.

But it’s an efficiency loss for the web in general. Pushing and forcing JavaScript for these things is simply wrong.

Anyhow when you develop a new site with the new 2024 theme, you can get far by clicking and dragging your mouse, but I can assure you, when you do that a couple of times and tried out several themes, headers, layout and patterns, there comes a moment headers and footers are lost or different on the WooCommerce pages.

Why and how you should fixed this with the UI/ Visual Editor, is quite obscure, but using the code editor, it’s a matter of fixing the first and last row in a WooCommerce page:

Do a site edit and not a page edit on a Woocommerce page and enable the code editor in the right top settings and change this

<!-- wp:template-part {"slug":"header","theme":"twentytwentyfour"} /--> to

<!-- wp:template-part {"slug":"header","theme":"<your_theme_name>"} /-->

Vice versa for the footer.

I don’t know why the checkout page in WooCommerce has a different header the the other shop pages, (and no footer by default) but simply change this

<!-- wp:template-part {"slug":"checkout-header","theme":"woocommerce/woocommerce","tagName":"header"} /-->

to

<!-- wp:template-part {"slug":"header","theme":"<your_theme_name>"} /-->

No Comments

Fixing No Audio on Kodi 21 Flatpak on Ubuntu 22.04 LTS

Wednesday, April 17th, 2024

Somehow my new Flatpak Kodi 21 install stopped outputting any sound after an update.

As it seems the Flatpak update is now by default outputting only PipeWire sound, (or with higher priority than before) and that doesn’t work on Ubuntu 22.04 LTS

To fix it, simply run Kodi with --audio-backend=pulseaudio:

 flatpak run tv.kodi.Kodi --audio-backend=pulseaudio

That’s all. Sound is working again on Ubuntu 22.04.

I guess this will be fixed on another Kodi Flatpak update.

See the issue here:

https://github.com/xbmc/xbmc/issues/25006