29/6/2026

KDE Network manager vanop de commandline

Filed under: — cybrarian @ 11:59 am

KDE’s programma voor wifi/netwerkverbindingen “Networkmanager” heeft ook een commandline tegenhanger zie ik net:

nmcli

nmcli --help
sudo nmcli radio wifi on
nmcli device wifi list
sudo nmcli device wifi connect "GEWENSTE_SSID" password "wifi-wachtwoord"

Signal op Sailfish: bestand bewaard, waar?

Filed under: — cybrarian @ 9:23 am

Als je in een conversatie een foto aanklikt en in het optiemenu “Opslaan” kiest, waar moet je die dan gaan zoeken nadien?

Hoofdscherm, Instellingen, Data en opslag: hier zie ik nergens een keuze voor de locatie van de opslag.

Via het bestandssysteem vind ik wel bestanden terug die ik vroeger opgeslagen heb, pdf’s, .txt bestanden, .. in de map

/home/nemo/android_storage/Download/Signal/

Als ik nu een foto bewaar zie ik die daar niet.

Foto’s vind ik terug in


/home/nemo/android_storage/Pictures/signal-2022-datum-tijd.jpg
/home/nemo/android_storage/Pictures/signal-2023-datum-tijd.jpg

en

/home/nemo/android_storage/Pictures/Signal/signal-2025-datum-tijd.jpg
/home/nemo/android_storage/Pictures/Signal/signal-2026-datum-tijd.jpg

Hier vind ik de meest recent bewaarde foto terug, het lijkt of Signal in de loop der tijd* veranderd is van locatie.

* meer bepaald augustus 2025

12/6/2026

Lazarus’ nuttig voorbeeld

Filed under: — cybrarian @ 1:42 pm

Zie ook Lazarus op Linux, Lazarus gebruik en Lazarus’ nuttig voorbeeld

Ik zag een voorbeeld over barcodes maken, meer bepaald Quick Response (QR) Codes:
http://lazplanet.gitlab.io/2021/12/generate-qr-codes.html .
Dat lijkt me nuttig als het gekoppeld kan worden aan een database. (Voordien heb ik het voorbeeld van een knop op een Form gemaakt, en .. nog geen andere).
Dit is tevens een voorbeeld van het gebruiken van een (externe) library in Lazarus; hier LazBarcodes.
– waarvan je de code moet afhalen van sourceforge in de vorm van een .zip bestand.
– ze uitpakken en gebruiken in Lazarus.

Dat kan op twee manieren:
– (systemwide) opnemen als een component in de Lazarus toolbar (+Lazarus terug compileren).
– in je project directory opnemen (deze manier had ik eerst geprobeerd, maar leverde me wat probleempjes op – in Lazarus 2.2.6)

1. Opnemen in Lazarus
Deze manier heb ik dat op een andere computer geprobeerd met een recenter systeem (OpenSUSE Tumbleweed) met Lazarus 4.6, met meer succes.
Hiervoor heb ik de uitleg op die site niet gevolg, maar gewoon op gevoel (*) gewerkt: Ik heb bij het menu “Package” gekozen voor “Online Package Manager”. Die gaat open en haalt online een lijst met 217 packages af die beschikbaar zijn. Daartussen (te vinden door een paar letters in de zoekfunctie bovenaan te geven) staat toevallig ook hetgeen ik nodig heb: lazbarcodes (+_runtimeonly) in versie 2.0.4.0.
Aangevinkt, bevestigd met knop “Install”, en beide paketten werden afgehaald en geïnstalleerd (waarbij ook met afhankelijkeheden gecompileerd), waarna aangeboden wordt Lazarus te hercompileren om het er in op te nemen.

Do you want to rebuild Lazarus with profile: Normal IDE?

Er flitsen een paar honderd lijnen output voorbij en Lazarus herstart, en er is een tabblad bijgekomen “Laz Barcodes” met de barcode-toolbuttons.
*) gevoel ook opgebouwd door het geknoei met de andere methode, en met wat ik daarvoor al rondgelezen en geprobeerd had.

Dan kan je de barcode uit de toolbar kiezen en op de form zetten, en de rest van de code toevoegen, “Run” en inderdaad, er wordt een QR code gemaakt op basis van iets wat je in het tekstvak typt.

2. in project opnemen
* maak een nieuw project, bewaar het in een nieuwe directory (bewaar ook de Unit?)
* in die nieuwe directory (staat nu unit1.pas/frm, GenerateQR.lps/lpr/lpi/ico en een backup directory, maak een “libs” directory bij.
Daarin pak je de download uit (wordt bv “lazarus-cc-svn-r10029-components-lazbarcodes”), en je geeft die een eenvoudigere naam, bv lazbarcodes.
Dan zo je nu dus een README.txt file moeten kunnen vinden in iets als /home/myuser/dev/LazarusFps/GenerateQR/libs/README.txt.

In je project:
– Project, Project Options (interessant scherm met o.a. het icoon van het project)
– verder: Compiler options, Paths, Other Unit Files.
Vul daar in (of kies): libs/lazbarcodes/src en “ok”.

Het project, de code

Dan in code view onder “uses”, zet ubarcodes.

Onder var een variabele toevoegen voor de TBarcodeQR component-object:

var

QR: TBarcodeQR;

En in de form komt iets als:

procedure TForm1.FormCreate(Sender: TObject);
begin
  try
    QR := TBarcodeQR.Create(nil);
    with QR do begin
      Parent := Form1;
      Top := 0;
      Left := 0;
      SetBounds(0, 40, 300, 300);
      Text := Memo1.Text;
      Show;
    end;
  finally
  end;
end;

Via dubbelklik op form en
Events – OnDestroy in de object inspector:

procedure TForm1.FormDestroy(Sender: TObject);
begin
  if QR <> nil then QR.Free;
end;

Maak een TMemo op deform en zet tekst in de eigenschap Lines “Type anything here to generate a QR Code…“ en dubbelklik om de code toe te voegen:

procedure TForm1.Edit1Change(Sender: TObject);
begin
  QR.Text := Memo1.Text;
end;

En dan komt het moment (*) van de beloning;
– “Run”, en een venster met QR code op het scherm.
– * of niet. Op een ander toestel met een oudere versie 2.2.6
komt er een foutmelding in een tabblad “ubarcodes” op uses …, zint, udrawers;

ubarcodes.pas(9,3)Fatal:Cannot find zint used by ubarcodes

Zie ook Lazarus op Linux, Lazarus gebruik en Lazarus’ nuttig voorbeeld

Pogingen om het (op deze manier) op te lossen zijn voorlopig niet gelukt. Ik richt me dus op de recentere versie.
(meer…)

9/6/2026

Naam van ip adres

Filed under: — cybrarian @ 10:45 am

Ik heb het ip-adres van een computer op het netwerk/internet, en wil de naam ervan (hostname).

Eenvoudigste is “host”

host 176.62.173.233

233.173.62.176.in-addr.arpa domain name pointer linweb111.webhosting.be

Maar dat zal niet altijd resultaat geven.

Een andere manier: nmblookup

nmblookup -A 192.168.1.122

Reactie is dan bv:

Looking up status of 192.168.1.222
WAPVISITORS <00> – B
MAC Address = 23-30-49-03-25-AB

of

Looking up status of 192.168.1.122
No reply from 192.168.1.122

No reply betekent niet dat die er niet is, alleen dat hij niet antwoordt. Vgl:

ping 192.168.1.122

PING 192.168.1.122 (192.168.1.122) 56(84) bytes of data.
64 bytes from 192.168.1.229: icmp_seq=1 ttl=64 time=0.588 ms
64 bytes from 192.168.1.229: icmp_seq=2 ttl=64 time=0.581 ms
64 bytes from 192.168.1.229: icmp_seq=3 ttl=64 time=0.601 ms

Er is dus wel een toestel met dat ip-address dat antwoordt op ping.

Verder graven

dig -x 192.168.1.122

Op internet krijg je dan niet altijd de naam van bv een webserver, maar bv van de hoster:

dig -x 176.62.173.233

; ANSWER SECTION:
233.173.62.176.in-addr.arpa. 4754 IN PTR linweb111.webhosting.be.

28/5/2026

Eigen kluis met KDE/Plasma Vault

Filed under: — cybrarian @ 10:49 am

Snel versleuteld opslaan
Ik moet tijdelijk iets opslaan op een niet onmiddellijk leesbare manier, versleuteld met een wachtwoord dus.

Als Kde-gebruiker ga ik in Dolphin naar de directory waar ik dat wil doen, en klik rechts om te kijken of er een optie is om bv “make encrypted folder” of “create new encrypted file” of zo, maar dat is er niet.

De tool die daarvoor bestaat is Plasma Vault.

Installeren
Installeren langs de commandolijn of softwarebeheer (hier in OpenSUSE):

Zoek “Vault”

plasma-vault – Plasma applet and services for creating encrypted vaults
Plasma Vault is a plasmoid for creating and managing encrypted vaults

plasma-vault-backend-encfs – Necessary packages for plasma-vault to support encfs vaults
This package pulls in dependencies for the plasma-vault encfs backend.

plasma-vault-lang – Translations for package plasma-vault
Provides translations for the “plasma-vault” package.

Verder wordt nog iets met encfs (userspace encrypted file system) afgehaald, en libtinyxml2-8 (xml parser).

De applicatie verschijnt niet, ik verwachtte een icoon in de statusbalk… even kijken bij Plasma:
In de plasma desktop, toevoegen widget, daar kan ik die wel kiezen, en komt de kluis op de desktop als widget.
De widget kan je groter of kleiner maken, maar configureren van de hele widget doet verder niets (zoom-uit functie zou handig zijn om de inhoud kleiner te maken en dus meer items zichtbaar).

Op die desktop widget kan je
– een nieuwe kluis aanmaken
– een bestaande kluis “openen” (wachtwoord nodig); opent in nieuw dolphin (bestandsbeheerder) venster
– een geopende kluis “sluiten”
Je ziet een lijst met iconen en namen van je kluizen, bv

[] Tokens (icoon gesloten) Ontgrendelen en openen + …
[] Keys (icoon open) Kluis afsluiten + …

Je hebt achteraan een dropdown lijst die op standaard keuze staat, en waarin je bv nog configureren kan kiezen.

Voor het maken van een nieuwe kluis moet je een lege map opgeven, of aanvaarden wat Vault voorstelt op basis van de naam die je gaf.

bv: “Een nieuwe kluis aanmaken”, kluisnaam: TestKluis, wachtwoord ******, Aankoppelpunt: /home/copyleft/Vaults/TestKluis (of je kan in je bestandbeheer een mapje kiezen dat bestaat, moet wel leeg zijn!)
Dan krijg je een scherm met de mogelijkheid om:
– de applet enkel te tonen in bepaalde aktiviteiten (in Plasma), zodat het niet stoort op het scherm als het niet relevant is.
– bovendien kan je ook nog aanvinken om offline te gaan op het moment dat je deze kluis opent (netwerk/wifi en bluetooth worden dan uitgeschakeld).

Bij het configureren kan je (als de kluis gesloten is) in verschillende tabbladen:
– Algemeen: de naam veranderen (los van de mapnaam), het aankoppelpunt wijzigen
– Geavanceerd: instellen aktiviteiten, offline (zie boven)
– Verwijderen: je moet de hele naam intikken als bevestiging want het is onherstelbaar.

Als de kluis “open” is kan je in het bestandsbeheer gewoon in de map werken, bv bestanden in zetten, openen met kate, …
Als de kluis “gesloten” is, ziet de map er nog uit als een map, maar lijkt leeg* als je er op klikt.
(*) Opgelet: als je iets in die “lege map” zet, wordt daardoor verhinderd dat de Vault geopend wordt, foutmelding:
Openen is mislukt. De map voor aankoppelen is niet leeg, openen van de kluis wordt geweigerd.

Plaats van bestanden
Waar zitten de bestanden? Kan je bewaren op het netwerk (nextcloud bv), en vanaf elders openen? Met een CLI interface bv?

– De versleutelde bestanden zitten in ~/.local/share/plasma-vault/GitLabAccess.enc, samen met een xml bestand.
– Dus zelfs als je de kluis aanmaakt op de standaard lokatie ~/Vaults (bv ~/Vaults/TestDefault) is dat enkel de plaats waar KDE ze voor jou weergeeft, de eigenlijke opslag is in de hidden directory.
– het lijkt alsof de bestanden uit de Vault naar de uitgepakte directory worden gekopieerd bij openen en weer verwijderd bij sluiten.
– Ook als de gebruiker van op afstand inlogt met ssh kan hij de geopende kluis inkijken.

Externe opslag
– Aangezien je de locatie kan kiezen, kan het een externe drive, netwerk .. zijn, maar dat kan problemen geven ivm bereikbaarheid ervan.
NextCloud
– Als de locatie niet ~/Vaults/TestDefault is, maar Nextcloud/Shared/All/TestDefault, zal de inhoud alleen zichtbaar zijn als de kluis geopend werd, anders blijft iedereen een lege map zien. M.a.w.: als de kluis geopend wordt, is de inhoud zichtbaar voor andere gebruikers met toegang tot die Nextcloud share!
Gevolgen:
– Door de Nextcloud backups en “version history” kunnen de bestanden ingekeken worden ook nadat de kluis gesloten is!
– Een andere Nextcloud gebruiker kan iets in de “lege map” zetten waardoor de Vault niet geopend kan worden.

Commandolijn (CLI)
De documentatie zegt:

You can interact with the Plasma Vault service directly using D-Bus commands.
You’ll need the absolute path to the .enc vault folder (usually located in ~/.local/share/plasma-vault/).
Open/Mount a vault:qdbus org.kde.kded6 /modules/plasmavault org.kde.plasmavault.openVault “/path/to/your/vault.enc”
Close/Unmount a vault:qdbus org.kde.kded6 /modules/plasmavault org.kde.plasmavault.closeVault “/path/to/your/vault.enc”

Of direct
De onderliggende encryption engine direct gebruiken (zonder KDE/Vault):

“use the command-line tools for the specific backend your vault was created with”
Mount: cryfs ~/.local/share/plasma-vault/vaultname.enc/ ~/mount/point
Unmount: fusermount -u ~/mount/point
Mount: gocryptfs ~/.local/share/plasma-vault/vaultname.enc/ ~/mount/point
Unmount: fusermount -u ~/mount/point

27/5/2026

Gitlab van wachtwoord naar personal access token

Filed under: — cybrarian @ 10:07 am

Wachtwoord-toegang afgeschaft
Het gebruik van een gewoon wachtwoord voor git pull, git push enz is eind april afgeschaft door GitLab.
Met als gevolg dat je
– niet meer met je wachtwoord kan inloggen
– een foutmelding krijgt bij je commando’s, bv:

git push
remote: HTTP Basic: Access denied. If a password was provided for Git authentication, the password was incorrect or you're required to use a token instead of a password. If a token was provided, it was either incorrect, expired, or improperly scoped. See https://gitlab.com/help/topics/git/troubleshooting_git.md#error-on-git-fetch-http-basic-access-denied
fatal: Authentication failed for 'https://gitlab.com/mijnproject/mijnproject.git

Je hebt nu een token nodig in plaats van het wachtwoord.

Een token maken
Het token maak je online op de GitLab website, en daar is intussen 2FA verplicht, dus houd je e-mail al in de buurt (tenzij je een andere 2FA methode had ingesteld).
In het webplatform van GitLab inloggen met naam en (nog wel) het wachtwoord, dan verification code uit de mail ingeven.
In je instellingen (rechtsboven onder icoon/avatar) een token bijmaken.
Preferences / access / personal access tokens
Je ziet daar een overzicht van de toestand van je tokens: Active, Expiring, Revoked en Expired tokens.

Kies “generate token” en volg de aanwijzingen op het scherm; je moet alvast invullen:
– token name
– description
– vervaldatum (maximal tot 2027-05-27)
– select scopes (bv write_repository, api)
Bevestig, dan krijg je:

Your new token has been created
Token details

en daaronder een lijn met 62 tekens (hoofd/kleine letters, cijfers en leestekens)

Die moet je kopieren van de site en ergens veilig opslaan; dat is de nieuwe vervanging voor het wachtwoord bij git bewerkingen.

In het overzicht staat nu:

Active tokens
1

Ik kan geen nieuw wachtwoord ingeven
Als ik git commando’s ingeef moet ik het wachtwoord niet ingeven, en ook geen login.
– in de config file zie ik de standaardgegevens voor git gebruik
– git config –list toont ook de standaard gebruiker.

Als je in een “Konsole” terminal in een KDE-omgeving werkt, kan het zijn dat je wachtwoorbeheerder van KDE je wachtwoord bijhield. Daar kan je het wachtwoord veranderen; plak de gegenereerde tekstlijn (token) in de plaats van het wachtwoord.

Het kan zelfs dat daar een andere login staat dan in de .gitconfig file.

Meer tokens
Je kan op toestellen waar je alleen code moet afhalen een ander token gebruiken, waarbij je alleen lees-rechten instelt bij scope van het token, bij het aanmaken.
Daardoor is het wachtwoord van je account niet nodig op die plaats, wat veiliger is.

18/5/2026

Lazarus gebruik [in bewerking]

Filed under: — cybrarian @ 11:35 pm

En een beetje vergelijken met Gambas ook …

Zie ook Lazarus op Linux, Lazarus gebruik en Lazarus’ nuttig voorbeeld

Ik begrijp dat bij een Lazarus project onderscheid gemaakt wordt tussen de Lazarus code (voor de GUI) en de Freepascal code: LCL = Lazarus Class Library, FCL = Free Pascal Library)

Ik probeer een paar dingen uit op mijn vers geïnstalleerde Lazarus/fpc (bv generate qr codes)

Het scherm is onderverdeeld en je vindt bovenaan menu’s en knoppenbalken, daaronder de Form (editor), Eigenschappen van objecten: “Object Inspector” met zowel de Properties (eigenschappen) als de Events (gebeurtenissen).

Dit zijn aparte vensters (*) die verplaatst kunnen worden (zo’n beetje als in Gambas1). Dus opgelet als je de IDE op een andere desktop wil zetten: alles meenemen!

(*) naargelang je keuze bij de eerste keer opstarten. Je kan kiezen om alles onder een hoofdvenster te hebben, of aparte “ronddrijvende” vensters.
Bij de “hoofdvenster” keuze staat de object inspector links (met Components en daaronder Properties/Events), en heb je rechts een vlak met tabbladen: Messages, Watches, Search Results, Assembler en Breakpoints.

Door een onbedoelde klik (waarbij ik dus niet zag wat ik deed) ben ik trouwens het tabbblad Watches al kwijt. Ik zoek gevoelsmatig bbij “View” naar het weergeven van Watches, en ik kan het daar inderdaad kiezen, waarna het een apart los venstertje wordt. Links staat de titel in een balk met de tekst kwart gedraaid zodat die van onder naar boven leest en in de richting van de balk zit. Ik merk dat je die balk kan vastnemen en ergens naartoe kan trekken. Waar je hem loslaat komt het “Watches” venster dan vast terecht. Na een paar andere locaties krijg ik het terug in het rijtje van Messages enz, maar dan wel achteraan.

Bestanden:
.lpi Lazarus Project Information (xml) met info over libraries, units..
.lpr master source file met pascal code.
.lfm lazarus form (met gegevens zoals gemaakt in Object inspector)
.lrs gegenereerde resource file.
.pas de code van bv een form
ppas.bat wordt vermeld als tijdelijk bestand (script), gemaakt (en terug verwijderd) door de compiler
– De “executable” heeft geen uitgang en wordt gewoon in de projectdirectory gemaakt (maar je kan dat instellen).

De IDE maakt automatisch een Unit1 aan, dat is een broncodebestand dat bij je form Form1 hoort, en de code van die form krijgt (bv dubbelklik op form brengt je in de broncode van Unit1.
Als je bepaalde berekeningen andere code apart wil houden kan je die in een andere Unit steken. Je moet wel aangeven dat die gebruikt moet worden door de naam in te vullen in “Uses …” in de code.

Dankzij de “Package manager” kan je extra functionaliteit installeren in Lazarus (zie vb QR-codes).

Wat ik fijn vind aan Lazarus / (free)pascal
– de duidelijke toewijzing door := in plaats van de = die ook in een test gebruikt wordt
– bij het plaatsen van een element op een form geeft die een blauw uitlijn-lijntje aan zodat je gemakkelijk de elementen mooi onder/naast elkaar kan zetten.
– De tooltip help bij de code schuift duidelijk op in de lijst van parameters, zodat je goed ziet aan welke parameter je bent, door zwarte achtergrond, witte tekst en bold wit voor huidige. (in Gambas is het onderlijd geloof ik).
– De “case” structuur is heerlijk eenvoudig:

case x of 
  'a', 'b', 'c'
else
  WriteLn ('not in abc')
end;

(In gambas zit er een “select” voor)
IDE: je kan een onderdeel van het scherm dat een bepaalde functie heeft in zijn linkse, verticale titel-balk vastpakken en het daarmee helemaal ergens anders naartoe slepen. Het tabblad Watches kan ook een gebied over de hele breedte worden net boven de tabbladen, enz

Waar ik aan moet wennen
– De “begin” lijn in methodes/procedures vind ik nu (na Gambas) een beetje overbodig, maar wel een typische Pascal eigenschap.
– aanhalingstekens worden niet aanvaard, dus niet “letterlijk” maar ‘letterlijk’.
– elke code-lijn moet eindigen met een ; (ipv niets in gambas, wat soms minder duidelijk leest als de instructie over meer lijnen loopt)
– je moet in de broncode opgeven welke libraries gebruikt (met uses SysUtil, db,..) tov Gambas waar je dat in de IDE opgeeft bij het project.
– gedefinieerde variabele is niet onmiddellijk in tooltip hulp beschikbaar (lijkt me).
– try / finally / end; (geen ; na finally) de finally wordt ook uitgevoerd ingeval van een fout in het try gedeelte van de code. Finally wordt ook uitgevoerd bij normaal verloop (geen fout) en zelfs bij een exit tussen de try en finally code.
(Gambas: Try / If Error.. maar Finally bestaat ook als altijd uit te voeren en Catch als uit te voeren bij fout).

Wat ik raar vind

* Lazarus: kopie van project
– iets heel eenvoudigs als een project van naam veranderen/bewaren met een andere naam is omslachtig in Lazarus.
In Gambas geef je gewoon de projectmap een andere naam, en klaar. Of save as en bewaar het met de nieuwe naam.
Bv: mijn “TweedeLazarus” project wil ik omnoemen naar “MijnQRcode”. Ik vindt een paar beschrijvingen, de ene zegt Project, save as .. , maar dan moet je zelf in dat project nog allerlei namen gaan veranderen. De andere beschrijving zegt om File, Save as te gebruiken, maar ook dan moet je manueel allerlei andere dingen ook hernoemen.

Ik probeer 3 manieren uit:

1) ik kopieer de map van het project “TweedeLazarus” naar “MijnQRcode1”.
– in de map zitten dan een aantal bestanden met de vroegere naam: TweedeLazarus (de executable, die wil ik hier al helemaal niet). Het programma compileert en werkt, dus die namen spelen toch niet zo’n rol; behalve misschien in onderlinge referenties.
In Gambas hebben die generieke namen, bv Main (main module), FMain (main Form), … zodat die altijd “juist” blijven. De context is toch altijd de project map waar ze in zitten, en die heeft de project name. Het enige wat je moet veranderen is de project description naargelang wat je daar gezet hebt.
2) Ik probeer Project, Save As .. maar dan geeft Lazarus aan een .lpi bestand te gaan bewaren, niet een nieuwe projectmap te maken. Als ik dan op die plaats maar zelf Create New Folder doe, en daarin bewaar, komen daar: MijnQRcode2.res, MijnQRcode2.lps, MijnQRcode2.lpr, MijnQRcode2.lpi, MijnQRcode2.ico. Vergelijk met originele map, die heeft nog een map “backup” en “lib”, unit1.pas, unit1.frm, die komen dus niet “mee”.
(Als ik geen nieuwe map had aangemaakt maar in de bestaande had bewaard, was het dicht bij een rename geweest denk ik..

3) (todo): File, Save As .. staat klaar om unit.pas te bewaren, in de eigen projectmap, wat waarschijnlijk alleen zin heeft als je een unit2 wil maken waarin je veel van unit1 wil overnemen. Ik neem aan dat ik hier ook naar die andere directory kan gaan waar ik voorheen voor mijn project Save as gedaan heb..Als ik een project
Ik krijg de vraag "The new unit is not yet in the unit search path. Add directory /home/myuser/dev/LazarusFPs/MijnQRcode3/ ?"
Als ik bevestig is de volgende vraag:”The unit Unit1 is used by other files. Update references automatically?” en dan de uitgebreide keuze: “No to all”, “Yes to all”, “No”, “Yes”. Moeilijk als je niet begrijpt wat die vraag betekent… Ik kies No to all omdat ik geen risico wil lopen met mijn origineel project waarvan ik begonnen ben. Nadien bevat MijnQRcode3: mapje backup, unit1.frm, unit1.pas

Conclusie: Als ik een kopie van een project wil dan
– kopieer ik de hele project map vanuit bestandbeheer naar een andere naam. Als je “run” kiest zie je in het lopende programma geen verschil (Form heet gewoon Form1), maar de naam van het gecompileerde bestand is de oude naam, maar je kan die dan hernoemen nadien.
– Dus misschien handiger: Project, Save As, en dan aanvullen met de ontbrekende bestanden, misschien met File, Save As..

* FreePascal:
Hoewel pascal een van de eerste programmeertalen was die ik leerde, vind ik sommige dingen ondertussen een beetje eigenaardig…
– de if ... then (else) voelt inconsequent door ontbrekend einde, of tenminste zonder “end” of “endif”, maar eindigt wel met een ;
– de end. op het einde lijkt me overbodig, de vanzelfsprekende eof is ook wel goed.. (zoals bij Gambas).

Zie ook Lazarus op Linux, Lazarus gebruik en Lazarus’ nuttig voorbeeld

Lazarus op Linux

Filed under: — cybrarian @ 2:29 pm

Programmeren voor de Linux desktop (of CLI) met tools onder GPL vrije-software-licenties kan op veel manieren; een universeel/platformoverschrijdende is de combinatie Free Pascal + Lazarus, (de gemakkelijkste is waarschijnlijk Gambas).
– Free Pascal is de programmeertaal (afgekort: fpc).
– Lazarus is de programmeeromgeving (IDE, trouwens zelf geschreven in fpc)
Zie ook Lazarus op Linux, Lazarus gebruik en Lazarus’ nuttig voorbeeld

Geschiedenis
– pascal was een veelgebruikte programmeertaal in het onderwijs ten tijde van de tekst-schermen.
– er waren pogingen om een vrije visuele programmeeromgeving te maken die Pascal gebruikte, zoals het Megido project dat rond 1998 verder wilde bouwen op de SpeedSoft Sibyl IDE en Free Pascal, en die gecombineerd en als OS/FS naar Linux wou brengen. Wat uiteindelijk niet gerealiseerd werd en het project viel uiteen in 1999.
– de behoefte aan een visuele programmeertaal voor Linux werd in 1999 ingevuld door de eerste versie van Gambas, dat in plaats van Pascal een basic-achtige taal gebruikte, en waarvan de IDE ook gewoon Gambas heette (en die ook in Gambas geschreven is).
– Ongeveer op dat moment werd het Lazarus project gestart, dat de ambitie had om een “Delphi voor Linux” te maken, de visuele componenten kregen vorm in 2001, en de eerste beta-versie van Lazarus verscheen in 2003.
– In 2005 was Gambas aan versie 1.0.
– In 2008 verscheen Gambas2, een volledig herwerkte versie die overschakelde van vlottende vensters naar een inclusief venster, en een volledig vernieuwde vorm had, maar het was ook duidelijk dat Gambas niet de ambitie had om cross-platform te worden.
– in 2012 kwam van Lazarus de offiële versie 1.0 uit.
– Momenteel is 4.6 de laatste versie, uitgekomen in februari 2026.

Lazarus
– de gegevens over een Lazarus project wordt bewaard in een “.lpi” bestand.
– het bevat bestandsverwijzingen, compiler instellingen, enz.
– een project bewaren biedt aan “unit1.pas” te bewaren in de gekozen map.
– het project heet standaard waarschijnlijk “Project1”, en je zal dan allerlei bestanden terugvinden met die naam; Project1.lpi, Project1.lpr, Project1.lps, Project1.res, Project1.ico, Unit1.lfm, Unit1.pas, en er is ook een Backup map aangemaakt.
– als je daarna bv op die Unit1.pas klikt, gaat je project terug open in Lazarus.
www.lazarus-ide.org
– code-voorbeelden: https://www.streetinfo.lu/computing/lazarus/lazarus_gui.html
– Basis uitleg: Hello World en meer op wiki.freepascal.org

Installatie op .. (meer…)

8/5/2026

Printen vanaf je Jolla/Sailfish phone: SeaPrint

Filed under: — cybrarian @ 12:59 pm

Beschikbaar

Er is in de Jolla store een printprogramma beschikbaar om “over the air” te printen, m.a.w. draadloos naar printers die dat ondersteunen.

Na installatie van de software (klik in de Jolla Store) krijg je de melding:

Optionele afhankelijkheden zijn niet geïnstalleerd!

Om documenten zoals LibreOffice .odt af te drukken, heb je calligraconverter van het calligra pakket nodig…

Vanuit de console kan je dat zo doen:

devel-su
(vraagt root wachtwoord)

pkcon install calligra

(eventueel bevestigen)

Oplossen
Informatie ophalen
Veranderingen testen
Klaar
Installeren
Wachten op authenticatie
Opstarten
Paketten installeren
Paketten aan het downloaden
Paketten installeren
Klaar

Als er iets fout gaat met de “permissions” door Sailfish OS 4.x kan je upgraden naar 4.4 of de instellingen aanpassen:

In
/usr/share/applications/harbour-seaprint.desktop
de paragraaf met “SailJail” uitcommenten.

SeaPrint

SeaPrint is nu aanwezig als app (hier v1.3.3. Als je die start zie je een overzicht van printers die bereikbaar zijn, zelfs als je bv met wifi op een netwerk zit, zie je de printers op het netwerk, bv:

NPIDA66CB
HpLaserJet M402dn
ipps://192.168.1.123

NPIC4540
HP LaserJet Pro M201n-kantoor
ipps://192.168.1.134

Unknown
Konica Minolta bizhub C220
ipp://192.168.1.145

Onder iedere printer staan ook nog eens icoontjes, die denk ik aangeven wat je kan printen, bv pdf, tekst, documenten, beeld.

Bij de printer kan een rode driehoek staan met een uitroepteken die een melding van de printer aangeeft, bv papier op.

Druk op de printer om een keuze te krijgen: “Taken bekijken” en “Details”.
Bij taken staat bv 0 taken.
Bij Details kan je de printergegevens en de status zien. Eveneens kan je de status van de kleurcartridges zien.
(allemaal afhankelijk van het type printer natuurlijk).

https://forum.sailfishos.org/t/seaprint-network-printing-for-sailfishos/796

5/5/2026

Firefox toont site niet: “Beveiligde verbinding mislukt”

Filed under: — cybrarian @ 1:59 pm

Soms krijg ik op een oude computer (met dus oude Firefox) de melding:

Beveiligde verbinding mislukt

Fout tijdens het verbinden met compucat.be.

De pagina die u wilt bekijken kan niet worden weergegeven, omdat de echtheid van de ontvangen gegevens niet kon worden geverifieerd.
Neem contact op met de website-eigenaars om ze over dit probleem te informeren.
Meer info…

Als het aan de browser ligt moet die geupdate worden, maar als ik om één of andere reden toch NU iets wil lezen op die site ….

view-source:http://siteDieNietWerkt.be/

door view-source: voor de url te zetten, of in de pagina met de foutmelding “view source” te kiezen (bv rechtsklik, paginabron bekijken), kan je in broncode verder lezen…

Een probleem met het beveiligingscertificaat zou je wel tegenhouden van in te loggen op zo’n site, maar om die te lezen kan het soms geen kwaad… en software mag mij toch nooit zomaar tegenhouden – zet een grote doodskop-knop met “toch weergeven” bv..

4/5/2026

Cron job niet uitgevoerd?

Filed under: — cybrarian @ 11:57 am

Op een oude server doet een cron job het niet. De taak zit in een bestand diskusetoday.sh, en dat is uitvoerbaar gemaakt. Dit shell script staat in de daily directory van de cron jobs.
/etc/cron.daily

Blijkbaar mag je cron jobs geen extentie geven.
Inderdaad, de meeste cron jobjob scripts in mijn daily hebben geen extentie.
Er is er één met een extentie, maar ik vermoed dat dat een shell script is dat aangeroepen wordt vanuit een cron job.

Ik hernoem zonder “.sh”: diskusetoday

(en nu een dag wachten…)

Een andere voorwaarde: beginnen met “bin bash”: #!/bin/bash

23/4/2026

Weergeven .ps bestand

Filed under: — cybrarian @ 9:25 am

Een oude Leap 15.4 computer wil geen .ps bestand weergeven in preview.

Geen preview

Bij printen, kies bestand in plaats van printer, bewaar: er wordt automatisch een .ps bestand gemaakt, bv print.ps.

Dit bestand wordt in Dolphin weergegeven in de bestandenlijst in icons view mode (in het klein), maar kan niet geopend worden met een gewone preview (ik zou verwachten met okular).

Standaard start Gimp bij dubbelklik om te openen, maar dat geeft een fout, Okular toont allerlei (postscript) codes, Inkscape geeft het wel weer maar doet een import. Gwenview geeft een foutmelding (Loading failed .. cannot display)

Online vind ik een beschrijving van een gelijkaardig probleem bij openSuse 15.2:

"...my client machines have problems displaying PostScript files. I tried various *.ps test files either generated locally or downloaded from the Internet, they all display as blank pages. This problem affects both Okular and Evince."

You need to install “okular-spectre” for PostScript support in the Okular document viewer, it was split from the main package a while ago and is not installed by default.

Dus Yast Software: search “okular” …
Okular en okular-lang zijn geïnstalleerd, spectre niet;

okular-spectre - PostScript support for the Okular document viewer

Document viewing program; supports document in PDF, PS and many other formats. This package contains the plugins required to display PostScript documents and images.

Aanvinken en installeren…

Installed Packages: 3
libvulkan_intel, Mesa-vulkan-device-select, okular-spectre

Ok, werkt nu, preview in Okular.

22/4/2026

mariadb en utf8 foutmelding

Filed under: — cybrarian @ 11:25 am

Op een computer die wat geschiedenis heeft(*) kreeg ik een probleem met een applicatie die een databaseverbinding maakt.

Foutmelding: iets met niet gevonden utf8 in /usr/share/mariadb/charsets/Index.xml

In dat bestand staan een aantal charsets, waaronder utf8mb3.

Om het aan te passen ga ik als root tewerk.

Ik zet bij het stuk van utf8mb3 een extra alias: utf8 (maar met de xml tags dan; er staat al een alias utf-8 trouwens).
Uitgelogd, terug ingelogd, applicatie geprobeerd: werkt niet.

Ik kopieer het deel van utf8mb3, en wijzig de titel naar utf8. Bewaar.

Daarna werkt het.


(*) geschiedenis: OpenSUSE Leap 15.4 geupdate van vorige openSUSE versies.

30/3/2026

shell script invoer hulp

Filed under: — cybrarian @ 2:12 pm

Ik heb een script dat software afhaalt als broncode en compileert tot werkend programma:

./InstallFromNextcloud.sh

Als parameter geef ik de naam van de software in, en het versienummer dat ik wil installeren.

Weet ik dat niet, en laat ik de versie weg, dan toont het script alle versies die beschikbaar zijn.

Als geen parameter is gegeven, bv omdat ik de naam niet van buiten weet, krijg ik alle mogelijkheden te zien:

...
if [ -z "$1" ]
then
  echo "No application name to install. Available in releasedir... "
  echo $releasedir
  ls -lFAh $releasedir
  ...

Maar soms is die lijst te lang, ik wil de eerste letters kunnen geven. Ik pas mijn script aan: als er maar een paar letters zijn ingegeven (hier bv max 3), wordt verondersteld dat dat niet de naam van de af te halen software is, maar enkel de eerste letters, en wordt alles getoond dat daarmee begint.

...
size=${#1}
echo "$size"
echo "Script to install gambas3 app ($1) with version ($2) in $targetdir .." 
cd $targetdir/gb3prj
if (($size < 4))
then
  echo "smaller than 4"
  ls -lFAh $releasedir/$1*
  echo "please enter complete name for ($1)"
  exit 0
fi
...

Dan stopt het script hier; met pijltje naar boven kan ik het vorig commando ophalen en aanvullen met wat ik ondertussen gelezen heb.

18/2/2026

Ip adres tonen op desktop

Filed under: — cybrarian @ 9:40 am

Als je KDE-desktop geblokkeerd geraakt door één of ander programma, is het handig om ergens toch nog je ip-adres te kunnen aflezen. Ik dacht aan een widget, en inderdaad, die bestaan.

  • myipinfo: vond ik niet in de aanwezige, noch in de te installeren widgets op mijn iets verouderd systeem.
  • Simple public ip address: deze toont het verbindingsadres met internet, niet dat van je toestel op het interne netwerk.

Zelf had ik het al manueel met een “plaknotitie”, een plasma voor post-it’s, op mijn desktop gezet, gevuld met de uitvoer van hostname -I.
Er is een widget die de uitvoer van een herhaald uitgevoerd commando op het scherm toont: “opdrachtuitvoer” of Command Output Widget, waar je als commando hostname -I in zet. In principe moet dit maar 1 keer uitgevoerd worden, maar die optie is er niet, je moet de tijd van de frequentie van uitvoeren in milliseconden instellen (1000 * 60 * 60 = 3.600.000 = 1 uur). Ik vraag me nog af wat er gebeurt als je 0 instelt, want dat kan blijkbaar.

8/2/2026

Sailfish app starten vanop commandline

Filed under: — cybrarian @ 6:06 pm

Mijn Notities en Sms app wil niet meer starten, en ik heb al geprobeerde via Instellingen, tools, startscherm herstarten, zonder resultaat.

Als ik op het Notities icoon klik, gaat het symbool wat bouncen, maar de applicatie opent niet en uiteindelijk verdwijnt het symbool.

Ik vond in de lopende processen geen lopende notities of zo, maar ik weet de juiste naam niet.

Op de commandolijn proberen te starten: ook hier vond ik eerst niets als “Notities” “notities”, ook niet “notes” of “Notes”, dus de naam moet anders ineen zitten. En helaas kan je de echte CLI naam niet vinden in bv de instellingen, applicaties informatie.

Wel online gevonden:

jolla-notes
jolla-messages
jolla-contacts
jolla-calendar
jolla-gallery
jolla-calculator

…enz

Vanop de commandline kan ik de weerbarstige apps starten. Als ik die gewoon sluit, kan ik hem nadien ook weer opstarten uit het startscherm. Ok!

16/1/2026

Menu icoon veranderen gaat niet

Filed under: — cybrarian @ 3:03 pm

Bij een applicatie het icoon veranderen gaat niet omdat het geïnstalleerd is als root, en de desktop link en/off menu starter gemaakt zijn door de root user.

“Kon de eigenschappen niet opslaan vanwege onvoldoende schrijfrechten naar:
.local/share/applications/….

Check in .local/share/applications
bv signal starter staat daar als userapp-Firefox-55sdjfsl.desktop met owner root, group root.

Je denkt:
Wijzig naar owner jezelf en groep user bv., maar als het een link is naar een .desktop link gemaakt door root, ga je die wijzigen.

Beter een nieuwe link maken vanuit bv je desktop?

Oude link in preferences menu kan je alleen op niet-tonen zetten.

Flatpak opensuse

Filed under: — cybrarian @ 12:56 pm

Flatpak aanwezig?
flatpak –version

bv: “Flatpak 1.12.8”

Installeren:
sudo zypper in flatpak

Repo’s aanwezig:
flatpak remotes

Name Options
flathub system

(als het antwoord leeg is zijn er geen)

Repo installeren:
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

Note that the directory

‘/root/.local/share/flatpak/exports/share’

is not in the search path set by the XDG_DATA_DIRS environment variable, so
applications installed by Flatpak may not appear on your desktop until the
session is restarted.

Flatpak apps installeren:
flatpak install flathub (applicationid)
vb flatpak install flathub org.mozilla.firefox
vb flatpak install flathub org.signal.Signal

– bevestig “Do you want to install it?”
– bevestig nog eens.
Je krijgt een lijst met af te halen onderdelen.
Een tellertje toont hoever je bent, bv 6/8 packages
Eindigt in:

Installation complete.

Je kan dan starten met

flatpak run (app.id)

– ofwel de keuze uit het menu als die aangevuld is.
Die kan de eigenschap commando hebben:
/usr/bin/flatpak run --branch=stable --arch=x86_64 --command=signal-desktop --file-forwarding org.signal.Signal @@u %U @@

flatpak search (keyword)

Toon geïnstalleerde apps:
flatpak list

Update alle apps:
flatpak update

  • Dat geeft een overzicht van de updates, bv 8 packages (waarvan 1 bekend programma org.signal.Signal, andere waarschijnlijk bijhorende dingen org.freedesktop….)
  • Eindigt met: Updates complete.

De-installeer:
flatpak uninstall (applicationid)

Een applicatie starten met een icoon op de desktop
Stel dat je een flatpak programma start met:
flatpak run org.signal.Signal

Dan kan je op de desktop (KDE) een rechtsklik, new, “link to application” maken, ok, rechtklik op de lege link en daarin invullen:
command to run: flatpak
parameters: run org.signal.Signal
Icoontje kiezen, bewaren.

14/12/2025

Arduino Uno Q over usb

Filed under: — cybrarian @ 3:28 pm

Om de Arduino Q rechstreeks aan te sluiten op je computer via usb, moet je de adb tools geïnstalleerd hebben staan:
– debian/ubuntu: adb (android debug bridge)
– opensuse: android-tools (Android SDK Platform-Tools) installeert android-tools, android-tools-bash-completion, libprotobuf33_2_0, libutf8_range-33_2_0

Dan kan je van remote:

adb pull /path/to/file

bv

adb push main.py /home/arduino/ArduinoApps/mijnproject/

en zelfs de arduinoe van op afstand herstarten:

adb reboot

6/12/2025

Arduino Uno Q: brug tussen de MCU en de MPU

Filed under: — cybrarian @ 2:11 am

MCU en MPU
De Arduino Uno Q heeft een MCU (Micro Controller Unit) en een MPU (Micro Processor Unit), en een manier om programma’s te laten communiceren tussen die twee.
Op de MCU, typisch voor een Arduino Uno, draai je een “sketch” die geschreven is in C.
Op de MPU draai je een volledig besturingssysteem (Debian), waarin een toepassing draait die bv gemaakt is in python, gambas, …
Er kunnen ook andere diensten op draaien als webserver, database, …
Als je met een aparte Raspberry Pi en een Arduino Uno werkt, kan je via een seriële kabel (USB) informatie uitwisselen tussen die twee.
Maar omdat de “Q” de twee aan boord heeft, kan je binnenin communiceren.

The Bridge

In dit (gedubt) filmpje worden de basics uitgelegd op basis van de online Arduino documentatie:
https://www.youtube.com/watch?v=fn05RMz14cQ

In de python code heb je bepaalde variabelen die je wil doorgeven naar de C code. Dat gebeurt via de bridge-aanroepen van een functie, waarbij je een bv een boolean meegeeft
(maar kunnen ook meer variabelen zijn zie sketch Pin Toggle waar set_pin_by_name(String name, bool s) is gedefinieerd)

in main.py:

from arduino.aps_utils import *
import time

led_state - False
  
def loop()
    global led_state
    time.sleep(1)
    led_state = not led_state
    Bridge.call("set_led_state", led_state)
  
App.run(user_loop=loop)

Aan de andere kant moet het “aangepakt” worden in de sketch/C code, met gebruik van de Bridge via include:

#include "Arduino_RouterBridge.h"
 
void setup() {
    pinMode(LED_BUILTIN, OUTPUT);
 
    Bridge.begin();
    Bride.provide("set_led_state", set_ledstate);
}

Router

De “Bridge” is de library. Maar onder de motorkap is het een Linux achtergrondproces dat de dienst uitmaakt: arduino-router heet dat.

Je kan die echt checken op de commandolijn:

systemctl status arduino-router

Dan zie je procesinformatie zoals bij de webserver of database server, en wt info over de laatste aktiviteit.

Je ziet iets als “Accepted monitor connection from=..”, wat een voorgedefinieerd Monitor object is dat als een virtuele Serial Monitor toelaat text via RPC naar de MCU te sturen.

Als je problemen hebt na wat al te zwaar werk met buggy code, kan je hem ook herstarten:

sudo systemctl restart arduino-router

en bij het debuggen kan je gaan kijken in de logs:

journalctl -u arduino-router -f

Het is uitgelegd in de Arduino documentatie:
(ARDUINO DOCS Hardware, UNO Q, Tutorials, UNO Q User Manual).

https://docs.arduino.cc/tutorials/uno-q/user-manual/zoek:
“Bridge – Remote Procedure Call (RPC) Library””

en de code een beetje verder onder “Usage Example”.

Licentie
De Arduino voorbeeldcode gebruikt o.m. de “MPL-2.0”

Mozilla Public License, een licentie op het niveau van bestanden, zodat die apart (her)gebruikt kunnen worden.

Powered by WordPress