Archive for the ‘Webtechnology’ Category

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

No Comments

Fixing the annoying rsync auto-completion bug with path containing spaces

Tuesday, December 5th, 2023

Experimenting with a Raspberry Pi 5, I tried to sync some files from the Pi to my Ubuntu 22.04 Desktop.

Once you have setup ssh-keys with ssh-copy-id, and added an entry to .ssh/config you can easily connect to your pi with

ssh pi

using rsync on the Raspberry Pi

Copying a file or directory can be done with rsync:

rsync pi:pathtofile/file.txt .

Now the file will be copied to your working directory (directory your running the command from)

rsync will magically autocomplete the path in the same way it does for local path by pressing tab.

I have a dir called `new map` on my pi. It contains a space.

When I type `rsync pi:new` and press TAB rsync will auto-complete it to `rsync pi:new\\\ map`

It will double-escape the path.

But executing the command after auto-completion does not work:

rsync pi:new\\\ map .
rsync: [sender] link_stat "/home/pi/new\ map" failed: No such file or directory (2) 
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1865) [Receiver=3.2.7] 
rsync: [Receiver] write error: Broken pipe (32)

Using spaces in maps of file-names is a nasty thing that should be avoided. Sooner or later it will give you troubles.

As it seems newer versions of rsync (> 3.2.4) do NOT require double escaping anymore, but the auto-completion still uses it.

This is clearly a bug:

https://github.com/scop/bash-completion/issues/848

Use the –old-args argument for rsync to fix auto-complete double escaping

The workaround is to use the –old-args argument for rsync

rsync --old-args pi:new\\\ map

Now it is working fine, I suppose this will be fixed in a newer version of rsync.

 

No Comments

Raspberry Pi 5 FAQ

Wednesday, October 4th, 2023

Can the RPI5 suspend to RAM?

Yes, but not yet. Here an RPI engineer states that a future firmware update could implement it. And in the new HAT+ spec for newer HAT+ introduced with the RPI5 that is confirmed. The older HAT was introduced in 2014, so nearly ten years later there is the preliminary HAT+ spec (PDF).

In the spec Chapter 3. Power States:

Raspberry Pi supports the following power states:

  • OFF
    No power connected to the board (the board unplugged).
  • WARM-STANDBY
    The Raspberry Pi is halted/off, but all of the power rails are still enabled. This is the default mode when doing a sudo
    halt or soft power-button-off operation.
  • STANDBY
    The Raspberry Pi has the 5V rail powered — so the power management chip is powered — but no other power
    supplies on the PMIC and board are enabled. You can configure sudo halt or power-button-off using the EEPROM to
    enter this mode instead of WARM-STANDBY.
  • SLEEP
    Some rails are off — notably the CPU core — and Linux is in suspend-to-RAM state. Pressing the power button will
    cause the system to move to the ACTIVE state.
  • ACTIVE
    All rails are up and everything is running, e.g. running desktop Linux.

NOTE: The SLEEP state is not currently supported on Raspberry Pi 5.

So sleep state AKA suspend-to-RAM is coming to the Raspberry Pi 5. Just wait for the future firmware update.

I hope WOL (WakeOnLan) is also coming, rumors (Jeff Geerling) are there, not confirmed yet.

What is the official name of the new RPI 5 device: Raspberry Pi 5 or Raspberry Pi 5 Model B?

That is unclear. 🙂 .

According to mother Lady Raspberry Pi Herself Liz Upton it’s  Raspberry Pi  5

According to father engineer James it does include B in the name: it’s Raspberry Pi 5 Model B

According to the Raspberry Pi 5 itself it’s: Raspberry Pi 5 Model B Rev 1.0

Rev here stands for revision and gives an indication that there has been a small update/patch to the hardware. Of course this name is partly depending of the software/firmware and hardware/revision.

Can I use the same camera cables as for the Raspberry Pi 4?

No, the Raspberry Pi 5 needs another type of cable. Because the connectors are smaller, it uses higher-density pinout variant of the camera cable.

In fact it uses the same cables as a Raspberry Pi Zero (2). So if you have a couple of them, you’re OK.

Does the Raspberry Pi 5 need a new Power Supply?

No, you can run the Raspberry Pi with the trusty Raspberry Pi 4 power supply. It will downstream USB current to 600mA. However, the Raspberry Pi 5 can be more power hungry, and if you really need more power on the USB ports, you better use the new Raspberry Pi 5 power supply. It will more than double the output to 1.6A.

All things considered the new Power Supply is not a bad deal. It will cost you 12 bucks, but it does support PD, and you can even charge your Apple MacBook Pro laptop or your phone.

What about the RPIBOOT mode of the Raspberry Pi 5

If you connect a laptop to the Raspberry Pi 5 USB-C port, so you’re powering the Raspberry Pi5 from your laptop instead of a power supply (yes, that also works on the Raspberry Pi 4), and you press and hold the new power button before connecting the USB-C cable, the Raspberry Pi 5 will boot into USB boot mode; this way the host machine can upload new firmware into the Raspberry Pi 5.

Why does the Raspberry Pi 5 not have an external WiFi Antenna Connector?

Space, and it would be more expensive because you’ll need to cover approval-costs for compliance.

How do I enable USB-boot when I’m using a Raspberry Pi 4 15w power supply instead of the 27w Raspberry Pi 5 power supply?

It will show a warning, stop booting, and you’ll need to press the power button before is continues booting.

Or add this to  `/boot/firmware/config.txt`

usb_max_current_enable=1

See the docs.