5/7/2017

OOP: Object Oriented Programming (object geöriënteerd programmeren)

Filed under: — cybrarian @ 11:22 am

Ik houd verder in het artikel de afkorting OOP aan, want is “ogp” en wat een lelijke vertaling – misschien beter “pmo”; “programmeren met objecten”?)

Basisprincipes van OOP:

  • encapsulation: insluiting
  • inheritance: overerving
  • polymorphism : polymorfie

Encapsulation (insluiting)
Een stukprogramma vormt een module die niet helemaal afgesloten is van de buitenwereld, maar wel enkel op een beperkte en voorgedefinieerde manier met de buitenwereld communiceert, via een “interface”. De binnenkant is de “implementation”, en die bepaalt hoe het stukje code intern zijn werk doet. Door de definitie van de interface kan de binnenkant aangepast binnen de grenzen van de interface (zonder de interface te veranderen), waardoor het stukje code gewoon blijft werken in de programma’s die het gebruiken. Het veranderen van de interface heeft grote gevolgen, dat moet dus vermeden worden: dit vereist goed nadenken over de interface.

Inheritance
Overerving kan dienen voor:

  • hergebruiken implementatie: code automatisch beschikbaar maar kies kritisch!
  • specialisatie: uitbreiding enkel het verschil bijprogrammeren, bv extra dimensie z-coördinaat, of herdefiniëren
  • typevervanging

Belangrijke voorwaarde: als je overerving gebruikt, test altijd of de betekenis klopt met child is een parent (bv kind is een mens, auto is een voertuig enz).

De klasse-hiërarchie moet relatief ondiep en dus overzichtelijk blijven!
Algemene dingen moeten naar abstracte basisklassen.

Tijdens het opbouwen van de klassenhiërarchie zullen klassen regelmatig herschreven moeten worden, dat is een goed moment om herhalen van code te vermijden.

Polymorphism
(…)


OOP woordenlijst
:

Abstraction
Accessor
Child (child class)
Class
Constructor
Definition
Encapsulation
Generalisation (itt specialisation)
Implementation
Inheritance
Initialisation
Initiation
Interface
Method
Object
Overriding (vervanging methode)
Parent (parent class)
Polymorphism
Private
Protected
Public
Refactoring (herschrijven van klassen)
Responsability (in het object door afsluiten implementatie)
Root (root class)
Specialisation
Subclass

29/6/2017

Git voorbeeld: gitlab

Filed under: — cybrarian @ 3:31 pm

Samenwerken of verdeeld werken

Een van de online diensten die git aanbieden is gitlab.com

Ik heb die gebruikt als voorbeeld bij mijn git artikel.

Registratie
Je maakt een account aan met een naam, wachtwoord en e-mail adres. Op dat laatste krijg je dan een bevestigingsmail met een link.
Je kan een icoontje voor jezelf kiezen (“avatar”) zoals in veel online diensten, of het wordt herkend als je geregistreerd hebt bij een centraal register van avatars.
Je kan je ssh key (het publieke deel) in de user settings invoegen.

Project
Gitlab laat op dit moment toe om een account aan te maken en je project in te stellen als:

  • publiek open source project
  • privé project

Het privé project belet je niet om toch met anderen samen te werken (*).
Voor het project heb je Settings: “General-Members-Integrations-Repository-Pipelines-Pages-Audit Events”; kies “Members”, “Select members to invite”. Rol en vervaldatum kunnen ingesteld worden.

(*) Ergens zag ik aangeraden om daarvoor een “group” te gebruiken.
Je kan trouwens ook een “group” invite doen om te delen.

Groep
Daarvoor maak je een groep aan (menu “+”, new group), die je een naam naar keuze geeft; ik hou hem vrij algemeen omdat het gemakkelijk is om veel projecten te delen met 1 groep.

Daarna ga je de leden voor de groep kiezen. Zelf ben je al lid doordat je de groep gemaakt hebt. Je kan een andere account opzoeken in de bestaande gitlab accounts, en lid maken van de groep. Je kan zoeken op naam, e-mail adres. Je kan de duur instellen van het lidmaatschap, en het niveau (Guest, Reporter, Developer, Master, Owner); Owner ben je zelf.

De andere partij krijgt dan een mail met “Access to the NewGroupName group was granted”. Hij kan met een klik weer uit de groep stappen.

Die andere account kan natuurlijk ook een andere account van jezelf zijn, waarbij je bv thuis een andere account gebruikt dan op het werk.

Groepsproject
Het is de bedoeling dan een nieuw project te maken binnen die groep. Je kan een bestaand project aan die groep toevoegen / overzetten van persoonlijk project naar groepsproject; je gaat het importeren als het ware, maar dat houdt in dat de naam van het project (url) verandert, en dat kan onverwachte problemen geven wordt opgemerkt door gitlab. Je kan natuurlijk ook gewoon een nieuw project maken en daar de bestaande code van het moment in invoeren.

Rechten
De volgende stap is dan de toegangsniveau’s instellen. Hier bepaal je de fijnere betekenis van bv Developer; maar ze hebben al een ingevulde standaardbetekenis volgens deze tabel: (Permissions).
Rondkijken kan iedereen, labels toekennen bijna iedereen, en de Master kan een project maken in de groep.

8/6/2017

“Pro Git”-boek ook in Nederlandstalige versie

Filed under: — cybrarian @ 3:47 pm

Het boek is origineel in het Engels uitgegeven, en is in tweede versie te vinden op https://git-scm.com/book/en/v2
Geschreven door Scott Chacon en Ben Straub en uitgegeven bij Apress.
Ze kozen voor de “Creative Commons Attribution Non Commercial Share Alike 3.0 license”, waardoor het ook vertaald kan worden.
Een papieren versie bestaat ook en is waarschijnlijk te vinden via Amazon.com.

De Nederlandstalige versie (is gebaseerd op de eerste versie) en bevat:

6/6/2017

git

Filed under: — cybrarian @ 2:04 pm

Git is het broncode-beheersysteem dat opgestart werd door Linus Torvalds, en nu door/voor honderdduizenden projecten gebruikt wordt. Het maakt samenwerken aan broncode en aftakken plus terug samenvoegen mogelijk. Het is een client-server systeem, waarbij het serverdeel ook gebruikt kan worden van een hoster die het als online dienst aanbiedt, zoals github, gitlab, sourceforge…

ClientSecureConceptTerminologieCommando’sVragenLinks – ..gebruik..
Images: “Pro Git book” by Scott Chacon en Ben Straub, Creative Commons SA licentie


Client
git is het commando op de commandolijn, dat je kan zoeken in je software repository voor installatie (in bv OpenSUSE zoek je in Yast naar “git”, dat zal de nodige software-onderdelen afhalen, een 15-tal).
De server (deamon) moet je apart installeren, maar die heb je niet nodig als je een externe dienst gebruikt.

Secure
Voor de communicatie van git heb je een publiek/private sleutel nodig; als je die nog niet hebt, in de terminal:
ssh-keygen -t rsa -C "mijnemail@mijndomein.tld" -b 4096
Resultaat in ~/.ssh/id_rsa.pub
Als je een online dienst gebruikt als gitlab, krijg/maak je een combinatie e-mail (of username) en wachtwoord. Daarmee moet je in de online instellingen je public key invoeren.
Per e-mail krijg je een bevestiging (en ook zichtbaar in de online dienst).

Concept

  • git bewaart een soort “snapshot” van een projectdirectory, waarin het een file bewaart als die veranderd is, anders een ‘link’ naar de bestaande file (in vorige snapshot)
  • git werkt zo veel mogelijk lokaal. Je hebt zelf, lokaal, een “werkdirectory”, een “staging area” en een “repository” (git directory)
  • je haalt het/een project naar je werkdirectory met clone (of “checkout”)
  • lokaal is een gewijzigde file “changed”, “staged” of “comitted”
  • het gebruikt je username en e-mail adres naast de ssh keys
  • om te vermijden dat allerlei lokale tijdelijke bestanden (van bv tekstverwerker) in je repository terechtkomen, kan je een “.gitignore” bestand gebruiken (vb).

Terminologie:

“Untracked” files: bv maak test.txt = nieuw bestand vastgesteld. (niet “in” git)
“Tracked”: bestand wordt opgevolgd door git (“index”). Na bv git add test.txt – staat dan als “new file” in status.
“Unmodified” files: bestanden die in opvolging staan (1e added) maar niet veranderd zijn sindsdien (lokaal, door jezelf).
“Modified”: bestanden in opvolging (tracked) en waar je aan gewerkt hebt. Ze zijn nog niet “staged”, dat doe je met “git add”.
“Staged” : changes to be committed; bestand in opvolging dat veranderd is én klaar staat om met een commit opgenomen te worden in de repository.
“Staging” area: waar Git de wijzigingen volgt. Op te volgen bestanden moeten in de staging area terechtkomen met git add. Deze wordt later gesynchroniseerd naar je lokale repository, die later naar de online kan geduwd worden.
“Comitted”: bestanden die staged zijn finaal in je lokale repo* opnemen met commit en commit messages, “Description” tekst die later ook zichtbaar wordt voor deze commit.
*(er is nog niet gesynchroniseerd met de online repo).
(https://git-scm.com/book/en/v2/Git-Basics-Recording-Changes-to-the-Repository)

Commando’s

git config --global user.name "mijn naam"
git config --global user.email mijnemail@mijndomein.tld
git config --list

Deze configuraties worden met –global eenmalig gedaan; je kan ze zonder global uitvoeren voor een project met afwijkende gegevens.
Je kan op dezelfde manier je editor en diff tool instellen.
Bekijk de instellingen met (de laaste lijn) –list. (antwoord leeg=geen instellingen)

git init = start gebruik git; creatie van ~/.git/ directory in de projectdir waar je bent

git clone git://gitserver.org/iemandsdirectory/eenproject.git = haalt een bestaand project af en maakt een werkdirectory klaar.

git status = overzicht toestand, bv nieuwe bestanden enz
git status -s = korte samenvatting toestand, met afkortingen als M, MM, A, ??
git add test.txt = toevoegen aan staging (of nieuw bestand opvolgen- in “tracked”)
git rm --cached test.txt = unstage test.txt;
git add '*.txt' = als wildcards gebruikt worden: aanhalingstekens
git
git commit -m "beschrijving van de inhoud of wijziging" = toevoegen aan repository van alles wat in staging staat; anders filenaam opgeven
git commit test.txt = commit alleen deze file
git commit -a = gaat zelf de nodig add en remove (rm) doen
git commit -a -m 'grote lijn van wijziging' = combinatie -a en -m

git log = geeft in volgorde al de laatste handelingen

git remote add korteNaam git@gitlab.com/userdirectory/repository.git = aanmaken van repository op de gitruimte ; standaard branch is ‘master’
git remote add korteNaam https://domain.tld/userdirectory/repository.git = versie met https in plaats van git of ssh.

git push -u korteNaam master = alles naar online

git pull korteNaam master = alles terug binnenhalen om te werken.

git diff = verschillen zien tussen working directory en staging
git diff HEAD = verschillen zien tov laatste commit, meest recente=’HEAD’
git diff --staged = verschillen zien eigen staged tov laatste online pull
git diff --cached = ” ” ”

git reset = verwijder laatste staged (maar file blijft wel tracked)
git checkout -- unwantedfile.txt = (spatie laten)

git branch branchname_voor_mij = maak nieuwe branch
git checkout branchename_voor_mij = overschakelen naar branch

git rm '*.txt' = verwijderen van de files + wijz. klaarzetten in staging

Ik wil …

– controleren welke (exluded/uit te sluiten) bestanden mee in git zitten:

git ls-files (alleen bestanden)
git ls-files --stage (meer detail: [tag] mode object stage file)

– fout opgezette lokale repo wissen en opnieuw beginnen: rm -rf .git

(hier zit alles in). Check je .gitignore file in de project directory (waar .git stond), met git init wordt die overschreven?
rm -rf .git
git ls-files
fatal: Not a git repository (or any parent up to mount point /home)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set)

– weten of mijn lokale repo bij is met online: git status

git status
# On branch master
# Your branch is ahead of ‘nieuws/master’ by 1 commit.
# (use “git push” to publish your local commits)
#
# Untracked files:
# (use “git add …” to include in what will be committed)
#
# ProjectToTrack/.settings
nothing added to commit but untracked files present (use “git add” to track)

– mijn versie naar boven naar online duwen git push

git push –all
Counting objects: 9, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (4/4), done.
Writing objects: 100% (5/5), 521 bytes | 0 bytes/s, done.
Total 5 (delta 1), reused 0 (delta 0)
To git@gitlab.com:/mat.abc/Test.git
9512a28..a72f459 master -> master

– de laatste online versie afhalen git pull test master

git pull test master
Pass a valid window to KWallet::Wallet::openWallet().
Pass a valid window to KWallet::Wallet::openWallet().
remote: Counting objects: 5, done.
remote: Compressing objects: 100% (4/4), done.
remote: Total 5 (delta 1), reused 0 (delta 0)
Unpacking objects: 100% (5/5), done.
From https://gitlab.com/mat.ara/Test
* branch master -> FETCH_HEAD
9512a28..a72f459 master -> test/master
Updating 9512a28..a72f459
Fast-forward
ProjectToTrack/.src/FMain.form | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)

Enkele vragen blijven nog:

  • worden er bestanden bijgemaakt door git in de specifieke subdirectories van een project, of alleen in de onzichtbare .git directory op hoogste niveau?
  • wat is beste methode: directories opnemen en files excluden, of specifieren welke wildcard-files moeten opgenomen worden?
    Bv voor gambas: ./*.txt; ./src/*.class; ./src/*.form
  • Wat met .png, .jpg, enz. Apart opslaan omdat ze binary zijn?
  • moet een projectdir dezelfde naam hebben op de verschillende locaties? (De dir waarin je git init doet waarschijnlijk niet, en de rest haal je mee binnen zeker?)
  • Hoe werken vanop verschillende computers (als dezelfde ‘gebruiker’ (zelfde e-mail adres); ssh keys kopieren of meer keys maken?

Links
Een paar links voor zolang ze geldig zijn:

Nederlandstalig! https://git-scm.com/book/nl/v1/Aan-de-slag
https://git-scm.com/book/en/v1/Getting-Started-First-Time-Git-Setup
https://help.github.com/articles/se-up-git/
https://try.github.io/levels/1/challenges/1

(meer…)

4/6/2017

Sonic Pi

Filed under: — cybrarian @ 10:13 pm

Sonic Pi is een programmeeromgeving (IDE) voor muziek. Je kan er muziek in programmeren en eventueel tegelijk uitvoeren.
Ze is ontwikkeld voor Pixel op de Raspberry Pi, Pixel draait nu ook op gewone pc hardware.

Een klein geheugensteuntje bij gebruik:

Concept, programmeer-strukturen, eigenaardigheden, ...

Programmeerstrukturen (ga eerst naar concept)

1. Lineair

play 50  # speel deze toon


play 50
play 60 # en speel deze toon (tegelijk!!)

play 50
sleep 1
play 60  # begin deze toon na 1 wachttijd 

2. Loop

n.times do
  play x
  sleep y
end

live_loop :myname do
  play x
  sleep y
end

Deze blijft doorlopen tot je zelf manueel stopt of hij crasht, en wordt gebruikt bij het live performen.

3. Choose

r = [0.125, 0.25, 1].choose
play n, release: r

4. tick


notes= (ring :E4, :Fs4, :B4)
live_loop :slow do
  play notes.tick
  sleep 0.3
end

5. shuffle
(schud een lijst dooreen?)

6. one_in

one_in(2) geeft TRUE of FALSE met probability 2

Concept, programmeer-strukturen, eigenaardigheden, ...

Concepten

1. Code

Een tekstverwerkervenster waarin je “sonic pi” code schrijft om de muziek te definiëren.
Als je op “run” drukt, wordt de huidige editor-code uitgevoerd.
Er zijn verschillende tab-bladen, die “buffer” genoemd worden. Je kan elke buffer van eigen code voorzien, en iedere buffer wordt apart opgestart. Je kan een buffer niet stoppen, je kan enkel de hele uitvoering stoppen.

2. ring

ringnaam = (ring :e3, :e3, :r, :g3, :r, :r, :r, :a3)
melodie van opeenvolgende noten en rusten, op te roepen met optionele parameters:
play ringnaam.tick, release: 0.25, cutoff: 80

3. random

Random (altijd dezelfde) waarde vragen met:
print rand
Dat is de eerste van 441.000 random getallen die gegenereerd werden bij het starten.

rand = random
rrand = random uit een reeks
rrand_i = random geheel getal uit een reeks
one_in = geeft true of false met een gegeven probabiliteit
dice = waarde van 1 tot 6
choose = kiest random waarde uit een lijst

Om een muziekuitvoering voorspelbaar te houden is de random geen echte random, maar een op voorhand bepaalde reeks van waarden. Je kan naar een startpunt in die reeks springen met
use_random_seed 3
gebruik
play rrand_i(50, 95)
mycofreq = rrand(30, 100)
play n, cutoff: mycofreq

sample: drum_bass_hard, rate: r, amp: rand

4. geluiden

Emulaties bekende synths:
use_synth :tb303 / :prophet

use_synth :blade / :hoover / :piano /

Synthetiseren
use_synth :fm / :dsaw / :supersaw / :pulse / : subpulse

Parameters bv:
note, amp, pan, a d s r, a d s_level env_curve, cutoff
vibrato_rate, vibrato_depth, vibrato_delay, vibrato_onset
detune, divisor, depth, vel, hard, stereo_width, …

5. filter fx

with_fx :bitcrusher do play 50 end

with_fx :compressor do play 50 end

with_fx :echo do play 50 end

with_fx :flanger do play 50 end

with_fx :krush do play 50 end

with_fx :lpf do play 50 end (low pass filter)

with_fx :pan do play 50 end (pan -1..0..+1)

with_fx :slicer do play 50 end (phase in-out)

with_fx :panslicer do play 50 end (stereoverschuiving, phase 0.25 …)

with_fx :reverb do play 50 end

with_fx :wobble do play 50 end (modulate rlpf, rhpf filters)

6. samples

sample: ambi_choir / bd_haus / bd_tek / loop_industrial / ..

parameters:
start, finish, norm, window_size, pich_dis, time_dis
amp, pan, rate, res, cutoff,
attack, decay, sustain, release, a d s_level
env_curve, cutoff_env_curve, cutoff_min
cutoff_a d s r_level

Concept, programmeer-strukturen, eigenaardigheden, ...

Eigenaardigheden
of (voor mij) onbeantwoorde vragen

1. Buffer af?
je kan een buffer aktiveren door alt-R, maar je kan een buffer NIET UITSCHAKELEN. Dan moet je in de code iets doen (uitcommenten, de code wegknippen, enz) en dan terug alt-R in die buffer om hem in de volgende loop te doen zwijgen.

2. …

Concept, programmeer-strukturen, eigenaardigheden, ...

8/5/2017

HardInfo (maar niet in KDE5?)

Filed under: — cybrarian @ 9:11 am

HardInfo
is een gereedschap om je informatie over je computer te geven, waaronder een inschatting van de (relatieve) snelheid.
De meeste van die andere informatie krijg je ook in KDE’s infocenter (KInfoCenter), maar niet de snelheidstest.

In HardInfo zit een rubriek Benchmarks.
Daaronder: CPU Blowfish, CPU CryptoHash, CPU Fibonnacci, CPU N-Queens, FPU FFT, FPU Raytracing.

Je opent die rubriek Benchmarks, en kiest er één uit, bv CPU Blowfish; er begint een korte test.
Dan krijg je op het scherm het resultaat in de vorm van een strokendiagram met cijfers en vergelijking met een Intel en een PowerPC referentiesysteem.

Oeps
Maar helaas kan je in KDE niet lezen wat de cijfers zijn in de grafiek, enkel de onderste (referentie toestel) kan je lezen omdat die buiten de balk valt.
– versie KDE 5, bv opensuse Leap 42.2.:

KDE Frameworks 5.26.0
Qt 5.6.1 (built against 5.6.1)

In Tumbleweed is het wel ok:

KDE Frameworks 5.33.0
Qt 5.7.1 (built against 5.7.1)

Als je op hetzefde systeem een andere desktop draait, bv xfce, kan je de cijfers op de grafiek wel lezen.

Rapport
De KDE gebruiker kan de cijfers toch krijgen door een rapport te maken in Hardinfo (Desktop/hardinfo_report.html bv); dat rapport opent dan in de browser.

CPU Blowfish
This Machine 1998 MHz 5.712
Intel(R) Celeron(R) M processor 1.50GHz (null) 26.1876862
PowerPC 740/750 (280.00MHz) (null) 172.816713

Terminal
Of op de commandolijn; op een terminal hardinfo tikken geeft je ook het hele verslag (is wel even bezig dan en alles scrolt voorbij).

Er bestaat soms nogal wat verschil tussen op het eerste zicht dezelfde toestellen:
This Machine (A xw4600) 1998 MHz min 5.712
This Machine (H xw4600) 1998 MHz min 3.073



Alternatief: BogoMIPS?

Op Linux systemen was het aantal BogoMIPS populair, af te lezen in de terminal met het commando lscpu

latitude:/home/copyleft # lscpu

BogoMIPS: 5053.87

Maar opgelet, dit is een uitvinding van Linus voor intern gebruik in de opstartprocedure van de Linux kernel, en dient hoegenaamd NIET als benchmark!

Cijfers
Enkele vb, gesorteerd op stijgende BogoMIPS, met tussen haakjes de Hardinfo benchmark (CPU Blowfish):

  • F D-Latt - x86_64 4cpu Core i5 2520M @ 2.50 GHz max 4988.92 BogoMIPS (3.870)
  • L E6400 - x86_64 2cpu core2Duo P8700 @ 2.53GHz max 5053.87 BogoMIPS (?)
  • H Ebook - x86_64 4cpu Core i5 M540 @ 2.53 GHz max 5053.87 BogoMIPS (4.871)
  • H xw4600 - x86_64 4cpu Core2Quad Q9550 @ 2.83 GHz max 5666.28 BogoMIPS (3.073)
  • H DOpt380 - x86_64 2cpu core2Duo E7500 @ 2.93 GHz max 5852.59 BogoMIPS (6.01)

opnieuw gesorteerd volgens benchmark van trager naar sneller (blowfish):

  • T HPCpq.. - Celeron ?cpu core2Duo E4400 @ 2.00 GHz max = 3989.91 BogoMIPS (10.258)
  • L E6400 - x86_64 2cpu core2Duo P8700 @ 2.53GHz max = 5053.87 BogoMIPS (? N.A. )
  • H DOpt380 - x86_64 2cpu core2Duo E7500 @ 2.93 GHz max = 5852.59 BogoMIPS (6.01)
  • P xw4600 - x86_64 2cpu Core2Duo E8400 - 3.0 GHz @ 1.998GHz = 6000.47 BogoMIPS (5.846)
  • B xw4600 - x86_64 2cpu Core2Duo E8400 @ 3.0 GHz max = 6000.47 BogoMIPS (5.752)
  • W HPCpq7900 - x86_64 2cpu Core2Duo E8500 - 3.16 GHz @ 1.998GHz 6317.23 = BogoMIPS (5.49)
  • H Ebook - x86_64 4cpu Core i5 M540 @ 2.53 GHz max = 5053.87 BogoMIPS (4.871)
  • F D-Latt - x86_64 4cpu Core i5 2520M @ 2.50 GHz max = 4988.92 BogoMIPS (3.870)
  • H xw4600 - x86_64 4cpu Core2Quad Q9550 @ 2.83 GHz max = 5666.28 BogoMIPS (3.073)

Andere conclusies!

Andere cpu-benchmarks op internet vertellen dan weer heel andere dingen:

L E6400 x86_64 2cpu core2Duo P8700 @ 2.53GHz = 1638
H Optip x86_64 2cpu core2Duo E7500 @ 2.93 GHz = 1879
H Ebook x86_64 4cpu Core i5 M540 @ 2.53 GHz = 2448
F D-Latt x86_64 4cpu Core i5 2520M @ 2.50 GHz = 3565
H xw4600 x86_64 4cpu Core2Quad Q9550 @ 2.83 GHz = 4010

15/3/2017

compgen

Filed under: — cybrarian @ 11:21 am

Ik ontdek een enorm handig commando, dat veel meer een ingebouwde tool in de bash shell blijkt te zijn:

compgen

Je kan er allerlei lijsten mee maken, bv van alle commando’s die je kan gebruiken op je server/pc.

Maar waar het mij best uitkwam is bij het snel checken of een gebruiker in het systeem is aangemaakt na installatie van een server (database):

compgen -u

at
avahi
avahi-autoipd
bin
daemon
dnsmasq
ftp
games
kdm
lp
mail
man
messagebus
mysql
news
nobody
nscd
ntp
polkitd
postfix
pulse
root
rtkit
scard
sshd
statd
svn
tftp
usbmux
uucp
wwwrun
cybrarian
pesign
postgres

Dat lijst eenvoudig alle namen op, zonder al de details die je zou krijgen met

cat /etc/passwd

at:x:25:25:Batch jobs daemon:/var/spool/atjobs:/bin/bash                                                                                    
avahi:x:497:496:User for Avahi:/var/run/avahi-daemon:/bin/false                                                                             
avahi-autoipd:x:486:483:User for Avahi IPv4LL:/var/lib/avahi-autoipd:/bin/false                                                             
bin:x:1:1:bin:/bin:/bin/bash                                                                                                                
daemon:x:2:2:Daemon:/sbin:/bin/bash                                                                                                         
dnsmasq:x:494:65534:dnsmasq:/var/lib/empty:/bin/false                                                                                       
ftp:x:40:49:FTP account:/srv/ftp:/bin/bash                                                                                                  
games:x:12:100:Games account:/var/games:/bin/bash                                                                                           
kdm:x:488:486:KDM Display Manager daemon:/var/lib/kdm:/bin/false                                                                            
lp:x:4:7:Printing daemon:/var/spool/lpd:/bin/bash                                                                                           
mail:x:8:12:Mailer daemon:/var/spool/clientmqueue:/bin/false                                                                                
man:x:13:62:Manual pages viewer:/var/cache/man:/bin/bash                                                                                    
messagebus:x:499:499:User for D-Bus:/var/run/dbus:/bin/false                                                                                
mysql:x:60:493:MySQL database admin:/var/lib/mysql:/bin/false                                                                               
news:x:9:13:News system:/etc/news:/bin/bash                                                                                                 
nobody:x:65534:65533:nobody:/var/lib/nobody:/bin/bash                                                                                       
nscd:x:487:484:User for nscd:/var/run/nscd:/sbin/nologin
ntp:x:74:492:NTP daemon:/var/lib/ntp:/bin/false
polkitd:x:492:491:User for polkitd:/var/lib/polkit:/sbin/nologin
postfix:x:51:51:Postfix Daemon:/var/spool/postfix:/bin/false
pulse:x:490:489:PulseAudio daemon:/var/lib/pulseaudio:/sbin/nologin
root:x:0:0:root:/root:/bin/bash
rtkit:x:491:490:RealtimeKit:/proc:/bin/false
scard:x:489:487:Smart Card Reader:/var/run/pcscd:/usr/sbin/nologin
sshd:x:496:495:SSH daemon:/var/lib/sshd:/bin/false
statd:x:493:65534:NFS statd daemon:/var/lib/nfs:/sbin/nologin
svn:x:485:482:user for Apache Subversion svnserve:/srv/svn:/sbin/nologin
tftp:x:495:494:TFTP account:/srv/tftpboot:/bin/false
usbmux:x:498:65534:usbmuxd daemon:/var/lib/usbmuxd:/sbin/nologin
uucp:x:10:14:Unix-to-Unix CoPy system:/etc/uucp:/bin/bash
wwwrun:x:30:8:WWW daemon apache:/var/lib/wwwrun:/bin/false
cybrarian:x:1001:100:cybrarian:/home/cybr:/bin/bash
pesign:x:484:477:PE-COFF signing daemon:/var/lib/pesign:/bin/false
postgres:x:26:26:PostgreSQL Server:/var/lib/pgsql:/bin/bash

24/2/2017

Test: rest van bootable usb-stick gebruiken?

Filed under: — cybrarian @ 3:06 pm

Ik heb een 8 GB usb-stick gebruikt om een 4 Gb DVD startbaar (bootable) op over te zetten.

Een “4G” stick heeft blijkbaar net te weinig ruimte beschikbaar voor een distro:
dd if=/dev/sr0 of=/dev/sdb bs=4M
dd: error writing ‘/dev/sdb’: No space left on device
974+0 records in
973+0 records out
4083351552 bytes (4.1 GB) copied, 660.856 s, 6.2 MB/s

Kan ik bij een 8 G stick de overblijvend ongeveer 4 Gigabyte nog gebruiken? Bv als opslag, als gewone usb-stick?

In Yast, partition komt de disk tevoorschijn met twee partities:
/dev/sdb1:
Device:
Device: /dev/sdb1
Size: 3.69 MB
Encrypted: No
Device Path: pci-0000:00:1d.7-usb-0:3:1.0-scsi-0:0:0:0-part1
Device ID 1: scsi-1ALCOR_ALCOR-part1
Device ID 2: usb-__6387_14122919002627-0:0-part1
FS ID: 0xEF EFI (FAT-12/16)
File System:
File System: FAT
Mount Point:
Label:

dit vermoed ik dat de install-dvd bevat.

/dev/sdb2:

Device:
Device: /dev/sdb2
Size: 4.08 GB
Encrypted: No
Device Path: pci-0000:00:1d.7-usb-0:3:1.0-scsi-0:0:0:0-part2
Device ID 1: scsi-1ALCOR_ALCOR-part2
Device ID 2: usb-__6387_14122919002627-0:0-part2
FS ID: 0x17 Hidden HPFS/NTFS
File System:
File System:
Mount Point:
Label:

‘0x17 hidden HPFS/NTFS’ of eigenlijk geen File system?
Blijkbaar wordt dat gebruikt voor een lege partitie?

Yast nog steeds, selecteer /dev/sdb2, edit.
Format partition. Hmm, als wat? Ext4 proberen..
En ‘Do not mount partition’ natuurlijk.

Yast te bevestigen:

Changes to partitioning:
Format partition /dev/sdb2 (4.08 GB) with ext4
No changes to storage settings.

..setting type to 83
..formatting with ext4
Ready.

Daarna wordt de usb-stick zichtbaar als
openSUSE-Leap-42.2-DVD-s86_64028
Dat is de distributie die ik erop gekopieerd heb, dat is de naam voor de stick geworden toen waarschijnlijk.
In bestandsbeheer: Een mapje lost+found, en 3.7 van 3.9 Gig vrij.

En nu proberen of ik er nog mee kan installeren…

Nee dus. isolinux.bin missing or corrupt.

Bij nader inzien was de overschreven partitie natuurlijk die installatie-partitie, nl 4Gb.

De sdb1 is de bootpartitie geweest.

Ik doe alles over, en probeer nu een partitie bij te maken op de overige ruimte.
Selecteren op sdb algemeen, dan zie je de vrije ruimte.
Add, partition, primary of extended?
Primary, maximum size: 3.19 GB.

Formatting options: Ext4.
Mounting options: do not mount.

Yast bevestigen:

Changes to partitioning:
Create volume /dev/sdb3 (3.19 GB)
No changes to storage settings.

Yast meldt:

Creating volume /dev/sdb3
Formatting with Ext4

Daarna op de commandolijn:

fdisk-l
(...)
Disk /dev/sdb: 7811 MB, 7811891200 bytes, 15257600 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x135a2181

Device Boot Start End Blocks Id System
/dev/sdb1 4084 11643 3780 ef EFI (FAT-12/16/32)
/dev/sdb2 * 11644 8562687 4275522 17 Hidden HPFS/NTFS
/dev/sdb3 8562688 15253504 3345408+ 83 Linux

Ik probeer nu te starten met de installatie-distributie.

Conclusie:

  • Nu kan de usb-stick gebruikt worden als installatiemedium.
  • Als usb-stick is er nog 2.9 GB beschikbaar, en is er een mapje “lost+found” zichtbaar.

23/2/2017

DVD naar usb-stick (commandolijn)

Filed under: — cybrarian @ 12:52 pm

Een variant op ISO naar usb-stick:

Stel dat je een distributie op DVD hebt, die je meermaals wil installeren. Installeren vanaf usb-stick gaat sneller dan van DVD (en niet alle toestellen hebben een dvd-lezer), dus je wil die dvd naar een usb-stick. Kies er één die groot genoeg is; hoewel een dvd als 4 GB wordt beschouwd, is een usb-stick van 4 GB meestal net te klein; je hebt dus een grotere nodig (meestal 8 GB, waarvan dus veel ruimte onbenut blijft…).

Voor de meeste commando’s heb je root rechten nodig (gebruik sudo of su).

Steek de dvd in de drive, bevestig de vraag om te mounten als je in een desktop werkt (anders moet je hem manueel mounten), en tik in de console bv df:

df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda3 40348016 13839944 24435448 37% /
devtmpfs 1988952 16 1988936 1% /dev
tmpfs 2002792 22488 1980304 2% /dev/shm
tmpfs 2002792 10376 1992416 1% /run
tmpfs 2002792 0 2002792 0% /sys/fs/cgroup
tmpfs 2002792 10376 1992416 1% /var/run
tmpfs 2002792 10376 1992416 1% /var/lock
/dev/mapper/cr_home 62597060 48987992 10406204 83% /home
/dev/sr0 4280458 4280458 0 100% /run/media/thisuser/openSUSE-Leap-42.2-DVD-x86_64028

Je ziet hier de openSUSE DVD in /dev/sr0.

Sluit de usb-stick aan. Check waar die te vinden is met fdisk -l

# fdisk -l

Disk /dev/sda: 160.0 GB, 160041885696 bytes, 312581808 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x000dc1a4

Device Boot Start End Blocks Id System
/dev/sda1 2048 94576701 47287327 83 Linux
/dev/sda2 304293886 312580095 4143105 5 Extended
/dev/sda3 * 94578688 176828415 41124864 83 Linux
/dev/sda4 176828416 304291839 63731712 83 Linux
/dev/sda5 304293888 312580095 4143104 82 Linux swap / Solaris

Partition table entries are not in disk order

Disk /dev/mapper/cr_home: 65.3 GB, 65259175936 bytes, 127459328 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk /dev/sdb: 7811 MB, 7811891200 bytes, 15257600 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0xeb45409b

Device Boot Start End Blocks Id System
/dev/sdb1 2968 15257599 7627316 b W95 FAT32

Het commando voor kopieren is ook hier dd:

titude:/home/cybr # dd if=/dev/sr0 of=/dev/sdb bs=4M
1045+1 records in
1045+1 records out
4384096256 bytes (4.4 GB) copied, 673.048 s, 6.5 MB/s

Als je terug fdisk -l vraagt zie je de drive erbij staan:

Device Boot Start End Blocks Id System
/dev/sdb1 4084 11643 3780 ef EFI (FAT-12/16/32)
/dev/sdb2 * 11644 8562687 4275522 17 Hidden HPFS/NTFS

Ok! (o.v.; de stick boot, maar ik heb er nog niet echt mee geïnstalleerd)

Nb: als je niet /dev/sr0 als bron gebruikt, maar de plaats waar die gemount is, krijg je een foutmelding, en je ziet dat er niets gekopieerd is:

dd if=/run/media/cybr/openSUSE-Leap-42.2-DVD-x86_64028 of=/dev/sdb bs=4M
dd: error reading ‘/run/media/cybr/openSUSE-Leap-42.2-DVD-x86_64028’: Is a directory
0+0 records in
0+0 records out
0 bytes (0 B) copied, 0.000154 s, 0.0 kB/s

7/2/2017

Netwerk adressen met ipcalc

Filed under: — pinguim @ 10:13 am

ipcalc is een handig hulpmiddel op de commandolijn om uitleg te krijgen over ip-adressen in netwerken.

Afhalen via je packet manager/softwarebeheertool; zoek naar ipcalc (bv sudo zypper install ipcalc op Suse of sudo apt-get install ipcalc op debian)

De tool gebruikt kleur om de uitleg over de delen van de netwerkadressen te verduidelijken.
(hieronder nu niet zichtbaar, maar bv: ip-adres blauw, binaire weergave adres oranje, netmask rood, class violet..)

Je hoeft geen root te zijn om ipcalc te starten:

ipcalc
Usage: ipcalc [options]

[[/]] [NETMASK]

ipcalc takes an IP address and netmask and calculates the resulting broadcast,
network, Cisco wildcard mask, and host range. By giving a second netmask, you
can design sub- and supernetworks. It is also intended to be a teaching tool
and presents the results as easy-to-understand binary values.

-n –nocolor Don’t display ANSI color codes.
-b –nobinary Suppress the bitwise output.
-c –class Just print bit-count-mask of given address.
-h –html Display results as HTML (not finished in this version).
-v –version Print Version.
-s –split n1 n2 n3
Split into networks of size n1, n2, n3.
-r –range Deaggregate address range.
–help Longer help text.

Examples:

ipcalc 192.168.0.1/24
ipcalc 192.168.0.1/255.255.128.0
ipcalc 192.168.0.1 255.255.128.0 255.255.192.0
ipcalc 192.168.0.1 0.0.63.255

ipcalc deaggregate address range

ipcalc

/ –s a b c
split network to subnets
where a b c fits in.

! New HTML support not yet finished.

ipcalc 0.41
wim@wimbox:~> ipcalc 192.168.1.0
Address: 192.168.1.0 11000000.10101000.00000001. 00000000
Netmask: 255.255.255.0 = 24 11111111.11111111.11111111. 00000000
Wildcard: 0.0.0.255 00000000.00000000.00000000. 11111111
=>
Network: 192.168.1.0/24 11000000.10101000.00000001. 00000000
HostMin: 192.168.1.1 11000000.10101000.00000001. 00000001
HostMax: 192.168.1.254 11000000.10101000.00000001. 11111110
Broadcast: 192.168.1.255 11000000.10101000.00000001. 11111111
Hosts/Net: 254 Class C, Private Internet

Met een switch zelfs html output (met beetje andere kleuren):

ipcalc 192.168.2.200 -h
(html output hieronder geplakt zodat je het effect ziet, niet de code)


Address:     192.168.2.200         11000000.10101000.00000010. 11001000
Netmask: 255.255.255.0 = 24 11111111.11111111.11111111. 00000000
Wildcard: 0.0.0.255 00000000.00000000.00000000. 11111111
=>
Network:     192.168.2.0/24        11000000.10101000.00000010. 00000000
HostMin: 192.168.2.1 11000000.10101000.00000010. 00000001
HostMax: 192.168.2.254 11000000.10101000.00000010. 11111110
Broadcast: 192.168.2.255 11000000.10101000.00000010. 11111111
Hosts/Net: 254 Class C, Private Internet

27/1/2017

Firefox bevriest de desktop

Filed under: — cybrarian @ 3:25 pm

Dit verschijnsel is me al enkele keren overkomen, met verschillende configuratie/versies; momenteel opensuse 13.1/Firefox 49.0.2 :

  • Website met link om iets te downloaden. Downloaden.
  • Ga naar het download icoon rechtsboven naast de zoekbalk, klik erop (ziet eruit als pijl naar beneden).
  • Je krijgt je (laatste) download te zien, met icoon, naam van bestand, en ernaast een klein mapje. Icoon is een doos als het een gecomprimmeerd bestand is, bv een zip of tar.gz bestand. Als je op het mapje klikt, opent bestandsbeheer op de plaats waar die download staat.
  • Als je (per vergissing meestal bij mij) op het bestand zelf klikt, krijg je misschien de opmerking dat er geen programma bekend is om dat bestand mee open te doen. Er wordt gevraagd of je een programma wil installeren voor dit bestand, ik klik op nee of cancel omdat ik me vergist had en enkel naar die download map wil.
  • Dat is het moment waarop je desktop lijkt te bevriezen. Inderdaad, de desktop, niet enkel Firefox. Je kan geen alt-tab meer doen, en geen andere programma’s selecteren of openen.

De boosdoener: kmozillahelper

Kort: open een terminal en tik:
killall kmozillahelper.

Lang: kijk naar de processen, bv met
ps -AH
Daar zal je ergens kmozillahelper zien staan. Als je die eruitwipt komt je desktop weer los. Je krijgt een ander venstertje (dat misschien verborgen zat onder iets?), je kan annuleren, en je kan voortwerken.


Ref.:
https://forums.opensuse.org/showthread.php/437676-kmozilla-helper-crashes-firefox

18/1/2017

ISO naar usb-stick (commandolijn)

Filed under: — cybrarian @ 12:03 pm

Downloaden van een Linux distributie om die te installeren van CD/DVD/usb-stick komt in verschillende blog-posts voor, dus hier even samengevat.
(upd: rechtstreeks van dvd naar usb-stick zie hier)

1. Download de ISO, die “zelfstartend” moet zijn.

2. Voorzie een usb-stick die groot genoeg is. Een gewone openSUSE distro is bv 4.1 GB, 4.3 GB groot.
Sluit hem aan en check welk “device” het is op je Linux desktop:

  • Open een terminal, wordt root (su root) of gebruik sudo voor de commando’s.
  • fdisk -l
  • Zoek in de uitvoer naar iets wat je usb-stick zou kunnen zijn, hier bv sdc:

    Schijf /dev/sdc: 3,6 GiB, 3880452096 bytes, 7579008 sectoren
    Eenheid: sectoren van 1 * 512 = 512 bytes
    Sectorgrootte (logisch/fysiek): 512 bytes / 512 bytes
    In-/uitvoergrootte (minimaal/optimaal): 512 bytes / 512 bytes
    Schijflabeltype: dos
    Schijf-ID: 0x085daae5

    Device Boot Start End Sectors Size Id Type
    /dev/sdc1 8064 7579007 7570944 3,6G b W95 FAT32

Je moet dus de ISO schrijven naar /dev/sdc.
De usb-stick mag niet gemount zijn!

  • commandolijn:
    dd if=/home/copyleft/Downloads/ISO/openSUSE-Leap-42.2-DVD-x86_64.iso of=/dev/sdc bs=4M
  • Reactie is zoiets als:

    1045+1 records gelezen
    1045+1 records geschreven
    4384096256 bytes (4,4 GB) gekopieerd, 1076,82 s, 4,1 MB/s

Nadien checken; fdisk -l resultaat: (uitsnede)

Device Boot Start End Sectors Size Id Type
/dev/sdc1 4084 11643 7560 3,7M ef EFI (FAT-12/16/32)
/dev/sdc2 * 11644 8562687 8551044 4,1G 17 Hidden HPFS/NTFS

28/11/2016

Solderen

Filed under: — pinguim @ 10:22 am

Bij al die (open source hardware) microcontroller experimenteerbordjes moet je soms solderen als je project het breadboard verlaat.
Ik heb bij een soldeerbout gemerkt dat de stift van de soldeerbout zelf ook zowat kan wegbranden of wegsmelten bij (waarschijnlijk verkeerd) gebruik.
Ik noteer hier even (voor mezelf) wat ik zelf gevonden heb uit documentatie en online.

Nodig:
Soldeerbout, soldeerbouthouder (spiraalvormige houder waar de soldeerbout ingezet wordt als hij warm is), soldeerkussen (om overtollige soldeer af te vegen), en soldeer.

Gebruik, onderhoud:
– soldeerbout van 25 W is te weinig (temperatuur zakt te snel bij contact), 100 W is te veel (voor electronica).
– Het sponsje dat dikwijls bij de soldeerset zit, moet je vochtig maken.
– punt reinigen staat zeker 10 keer in mijn boekje, en ook alvorens hem uit te schakelen terug “vertinnen” na reiniging/gebruik.

Temperatuur:
In de gebruiksaanwijzing van mijn soldeerbout (instelbare 48W 150-450°), blijkt dat loodvrije soldeer iets hogere temperatuur nodig heeft.

  • Smeltpunt loodvrij: 220°
  • normale werking: 300-360°
  • productiedoeleinden (?): 360-410°

Als je loodhoudende moet (de-)solderen zou je dus al met lagere temperaturen toekomen, bv 270-320°.

7/11/2016

Arduino IDE, gebruik

Filed under: — cybrarian @ 11:46 am

(Zie ook Arduino IDE installatie, en Arduino (IDE) Hallo wereld)

Java
Arduino IDE is een java programma, en het heeft niet het gevoel van een gewoon programma op de Linux desktop. Je kan onverwachte problemen ondervinden als er iets mis is met de java omgeving waarin het draait. Maar het voordeel ervan is dat je gemakkelijk kan omschakelen tussen je Linux desktop en een Mac bv om aan een project (samen) te werken.

De bestanden bevinden zich bv (openSUSE) in :
/usr/share/arduino-1.0.6/
/usr/share/arduino-1.0.6/lib/
/usr/share/arduino-1.0.6/libraries/
/usr/share/arduino-1.0.6/hardware/
/usr/share/arduino-1.0.6/tools/
/usr/share/arduino-1.0.6/reference/
/usr/share/arduino-1.0.6/examples/

In lib zit het arduino_icon.ico, en version.txt met het versienr bv 1.0.6.
In referenc/img/ zit het logo.png logo

De reference/ map bevat een locale versie in html van de documentatie
file:///usr/share/arduino-1.0.6/reference/index.html

Een paar submappen verraden verschillende types en uitbreidingen:
/usr/share/arduino-1.0.6/hardware/arduino/cores/arduino
/usr/share/arduino-1.0.6/hardware/arduino/firmwares/wifishield

en
/usr/share/arduino-1.0.6/hardware/arduino/variants/(leonardo, mega, micro)
/usr/share/arduino-1.0.6/hardware/arduino/variants/(ethernet, robot-motor, robot-control)

Home
Je instellingen worden opgeslagen in de (verborgen) map .arduino in je home directory:
~/.arduino/preferences.txt
(voorbeeld aan het einde van dit artikel)

De Arduino map in je home directory, kan de eigen projectenbevatten, en die worden ook bereikbaar onder het menu Sketchbook, My Sketches.

Crash
De IDE (1.x) durft al eens ten onder gaan of zich onbetrouwbaar gedragen. Echt vervelend is dat het dikwijls gebeurt dat de IDE crasht bij het “uploaden” van een sketch naar de Arduino, zeker als je de sketch dan nog niet bewaard had. Of ik weet ook niet wat er gebeurt als je een document meer dan 1 keer opent.
Zo kan je eindigen met een programma dat gecompileerd in de Arduino zit, en waarvan je zelf de broncode kwijt bent omdat de omgeving crashte. De broncode terug downloaden van de Arduino naar je computer gaat niet. Die code wordt op je computer gecompileerd, en die uitvoerbare versie wordt aan de Arduino afgeleverd, niet de broncode.
Problemen voorkomen: Elke keer bewaren met een lichtjes ander versienummer.

Redding
Bij het compileren worden een heleboel bestand aangemaakt in een tijdelijke map, op Linux in /tmp.
Je kan daar gaan kijken naar mapjes met een naam als:

build7894629993842646725.tmp

Daarin kan je allerlei bestanden vinden die te maken hebben met het proces van broncode naar uitvoerbaar Arduino-programma. En de eerste stap bestaat uit de broncode van je project, die je vindt onder de extentie .cpp (C++), dus bv :
Webserver001.cpp
Die kan je naar je home directory kopiëren, en daar openen in write, Kate, of je broncode-editor.
Je zal merken dat er een lijn is bijgekomen bovenaan in de broncode, iets als;
#line 1 "Webserver001.ino"
en ik vond ook nog ergens iets als:
#line 8
Die kan je er gewoon uithalen.

Uitbreiden
Je kan extra bibliotheken bij-installeren, en extra apparaten aanmaken waaruit je kan kiezen bij de keuze van het “bord”.

Vervolg: de inhoud van het preferences bestand…
– – –
(meer…)

16/9/2016

Externe (usb)-disk formatteren

Filed under: — cybrarian @ 3:23 pm

Wat is het juiste/beste/geschikte bestandssysteem om een externe harde schijf te formatteren?

  • ext2: max bestandsgrootte 16 GB, max volume 32 TB, ouder systeem
  • ext3: max bestandsgrootte 16 GB, max volume 32 TB
  • ext4: max bestandsgrootte 1 exbibyte (EB), max volume 16 TibaByte, standaard op Linux
  • reiserfs3/4: journaling fs, vroeger gebruikt in bv Suse Linux
  • Btrfs: B-Tree File System, eigenschappen uit reiserfs, nieuwer
  • NTFS: compatibiliteit met Windows, FAT 32/16 : compatibiliteit met oudere systemen, maximum bestandsgrootte 4 Gb, max volume 8 TB

15/9/2016

Partitie maken in KDE

Filed under: — cybrarian @ 2:38 pm

In OpenSUSE kan je op de desktop een harde schijf formatteren en partities maken vanuit Yast (Yast, System, Partitioner). Je kan er daar geen label aan toekennen.
Maar er bestaat ook een “partition manager” voor KDE, die standaard niet mee geïnstalleerd wordt. Installeren vanuit software beheer (Yast2).

Na installatie vind je hem als:
/usr/bin/partitionmanager
partitionmanager
Je moet het root wachtwoord geven als je hem start.

Daarna kan je een partitie een label geven, en bv partities herschikken, verwijderen, kleiner maken enz.
Een partitie verkleinen, bv van 1.36 TB naar 927 GB duurt wel even.
De Totale tijd wordt weergegeven, en ook twee voortgangsbalken, één voor totale tijd, en één voor “Shrink partition ..”

Je kan het “details” venster openklappen maar dat geeft niet meer informatie dan

Shrink partition ‘/dev/sdb1’ from 1.36 TiB to 927.48 GiB
Job: Check file system on partition ‘/dev/sdb1’
Command: e2fsck -f -y -v /dev/sdb1
Pass 1: Checking inodes, blocks, and sizes

Er is geen voortgang op de tweede voortgangsbalk of schatting van de tijd voor dat onderdeel “checken van de inodes” (duurde een 15-tal minuten).

Als er geen andere data op de disk staat, kan je de partities beter opnieuw maken (eerst verwijderen dus) lijkt me.

Het vervolg:

Shrink partition ‘/dev/sdb1’ from 1.36 TiB to 927.48 GiB
Job: Check file system on partition ‘/dev/sdb1’
Command: e2fsck -f -y -v /dev/sdb1
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information

11 inodes used (0.00%, out of 91611136)
0 non-contiguous files (0.0%)
0 non-contiguous directories (0.0%)
# of inodes with ind/dind/tind blocks: 0/0/0
5767543 blocks used (1.57%, out of 366414336)
0 bad blocks
1 large file

0 regular files
2 directories
0 character device files
0 block device files
0 fifos
0 links
0 symbolic links (0 fast symbolic links)
0 sockets
————
2 files
Check file system on partition ‘/dev/sdb1’: Success

Job: Resize file system on partition ‘/dev/sdb1’ to 1,945,069,568 sectors
Resizing file system from 2,931,314,688 to 1,945,069,568 sectors.

Command: resize2fs /dev/sdb1 1945069568s

(meer…)

4/9/2016

Fedora

Filed under: — cybrarian @ 12:12 am

Fedora Workstation installeert vlot van deze DVD. Bij het starten wordt automatisch het Belgisch toetsenbord en de taal NL voorgesteld. Ik weet niet waar hij het vandaan haalt, maar daar slaagt een gebruiksvriendelijke distro als “opensuse” al jaren niet in.

25/8/2016

Mappenstructuur en organisatie van Linuxuser desktop (KDE)

Filed under: — cybrarian @ 11:27 am

(dit is een uitbreiding van het ondertussen verouderde artikel Documentenmap organiseren, 2006 )

Gebruikersmappen

De ~ of “home” directory of map van een gebruiker “Linuxuser” vanuit het systeem gezien:

/home/linuxuser

In die map zitten de gewone document en andere gebruiksmappen:

/home/linuxuser/Documents
/home/linuxuser/Downloads –> browser instellen om hier te bewaren.
/home/linuxuser/Music
/home/linuxuser/Pictures –> programma dat je gebruikt met camera instellen (of manueel)
/home/linuxuser/Videos

en enkele specialere:

/home/linuxuser/Desktop
–> in geval van 1 desktop vind je hier alles wat daarop staat
/home/linuxuser/Public –> voor bepaalde toepassingen (delen bestanden)
/home/linuxuser/public_html –> voor bepaalde toepassingen (eigen webserver)
/home/linuxuser/Templates –> sjabloonbestanden om van te vertrekken voor eigen werk
/home/linuxsuer/bin –> waar gebruikerscripts in komen (bv netwerkverbinding starten)

Uitbreidingen
mijn favoriete uitbreiding(en):

* Schermafbeeldingen

/home/linuxuser/Screenshots –> vaste plaats om je screenshots te bewaren

* Attachments

/home/linuxuser/AttachOut –> om bestanden klaar te zetten voor e-mail attachments

* Netwerkverbindingen

/home/linuxuser/Network –> vaste plaats om je netwerkdrives te mounten. Daar moet een mapje komen per drive die je wil mounten.
Stel dat je een drive met als naam de letter “u” hebt op een smb share op een server:

/home/linuxuser/Network/u

En je kan een extra map maken voor bestanden die naar het netwerk moeten als je op een laptop werkt:

/home/linuxuser/Network/offline

In /home/linuxuser/Network/u mag je geen bestanden zetten, want eens de netwerkdrive gemount is, zijn die onzichtbaar (niet weg – je ziet ze terug na unmounten).

Het enige nuttige om in /home/linuxuser/Network/u te zetten is (een link naar) het script om de netwerkverbinding te maken. Dat heb je immers alleen nodig als de verbinding er nog niet is, daarna mag die onzichtbaar zijn.

* Instellingen

Allerlei eigen instellingen en commentaren over de inrichting van je desktop systeem

/home/linuxuser/myConfig

eventueel in de “onzichtbare” versie:

/home/linuxuser/.myConfig

* Programmeren

Programmeer-projecten krijgen best hun eigen map, naargelang de programmeeromgeving die je gebruikt. Bv voor Gambas, met verschillende versies:

/home/linuxuser/SystemPrograms/Gb2Projects
/home/linuxuser/SystemPrograms/Gb3Projects

Er is de code van het project, er is de “package” of .tar.gz download/upload en de uitvoerbare programma’s …

/home/linuxuser/SystemPrograms/Gb3Projects –> project/source code
/home/linuxuser/SystemPrograms/Gb3Sources –> .tar.gz up/downloads
/home/linuxuser/SystemPrograms/Gb3Run –> gecompileerde uitvoerbare versie

Bij een gebruiker kan bv alleen de laatste directory voorkomen:
/home/linuxuser/SystemPrograms/Gb3Run –> gecompileerde uitvoerbare versie

* Meer Desktops
Die ietswat “poweruser” gebruikt in KDE natuurlijk meer desktops.
De links/iconen die op die desktops staan, moeten natuurlijk ook ergens bewaard worden in je bestandssysteem. Je kan de MyConfig directory daarvoor uitbreiden:

/home/linuxuser/myConfig/Desktop1 –> links etc van desktop 1
/home/linuxuser/myConfig/Desktop2 –> links etc van desktop 2

Bv: 1 om op te werken, een tweede om snel even iets anders te doen:

  • Desktop 1
  • Desktop 2

Georganiseerd:
Je kan de desktops een eigen naam geven:

  • Desktop 1 –> Bestanden
  • –> + Widget mapweergave home of Documents..

  • Desktop 2 –> Mail
  • –> Link mailprogramma, mapweergave attachments

  • Desktop 3 –> Surfen
  • –> link Firefox, link Firefox Private Browsing

  • Desktop 4 –> Werk

Zelfs 6 tot 8 desktops kunnen handig zijn:

  • 1.File
  • 2.Mail
  • 3.Con
  • –> console; hier heb ik 4 console vensters openstaan

  • 4.Edit
  • –> bewerken van spreadsheets, teksten, …

  • 5.Hack
  • –> programmeeromgeving

  • 6.Web
  • –> browser(s) altijd open, private browsing link.

Je ziet dat je snel een extra desktop bij kan maken, bv als op je werk een tijdsregistratie gebruikt wordt/je zelf je tijd registreert om te factureren, of een (intern) CRM pakket:

  • 7.Time
  • –> widgets (wereld)klok(ken), link tijdsregistratie

  • 8.CRM
  • –> SAP, …

Links op de desktop

Nuttige links naar:
– KInfoCenter geeft informatie over je systeem (andere versie van het vroeger “my computer”)
– Dolphin (en/of Konqueror)
– Calc en Writer
– Mozilla Firefox en Mozilla Firefox Private Browsing
– eigen uitvoerbare programma’s en/of scripts

Vergeet de gebruiker niet
Als je nog meer onderscheid moet maken in gebruik en je komt er niet uit met desktops, kan je je afvragen of je niet twee verschillende gebruiks-scenario’s hebt, bv

  • werkplek: specifiek gebruik door 1 bepaalde gebruiker – algemeen gebruik door meer/andere mensen
  • laptop werk – prive

Het is dan misschien handiger om een aparte “user” login te maken voor de werknemer en de prive-persoon, of voor een desktop : de naam van de gebruiker, en een algemene login (naam van het werk).

21/8/2016

Screensaver wachtwoord user/sessie (scherm vergrendelen)

Filed under: — cybrarian @ 11:21 pm

Een geheimzinnig probleem duikt op: een Linux desktop, geïnstalleerd met OpenSuse Leap, lijkt onbetrouwbaar gedrag te vertonen: Hoewel alle schermbeveiliging (screen saver / power management) en stroombeheer aangepast is om de “screensaver” te vermijden, duikt die nog altijd op na 5 minuten.

Kijk goed … screen lock!

Dit gedrag wordt echter niet veroorzaakt door de “screensaver”. Wel door “screen lock”, het op slot zetten van je scherm als je even weg bent, om te vermijden dat derden erop werken. Dit heeft dus niets met stroom besparen of de levensduur van het scherm verlengen. En het zit dan ook in een andere instelling (anders dan vroeger leren we uit):

We recently changed the position. Now it’s in “Desktop Behavior”, it used to be in “Display and Monitor”
(https://forum.kde.org/viewtopic.php?f=289&t=125371 ook schermafbeeldingen)

SchermVergrendeling
Dus: Instellingen KDE “System Settings”, “Desktop behaviour”, “Screen lock”.
Daar kan je de tijd instellen, of het afzetten (vroegere versie tijd op 0).

NL-talig systeem :

KDE menu: Instellingen, Systeeminstellingen, Gedrag van Werkruimte, scherm vergrendelen.
Uitvinken.
Bij sluiten “Toepassen” kiezen.

28/7/2016

Pinguino!

Filed under: — cybrarian @ 7:58 pm

Linux tijdschrift Italië
Rome, juli 2016

Een tijdschriftenkios ik het station. Uit het aanbod van Linux tijdschriften één voorbeeld: Linux Magazine Agusto 2016 met inbegrepen DVD met Fedora 24, verkocht voor 6 euro.
Het beslaat 100 blz als voor een achterkaft meegeteld worden. Daarvan zijn 16 hele bladen reklame, 15 als je een blad voor de aankondiging van het septembernummer met abonnementsformulier er niet bijtelt. De 15 % reklame is niet storend omdat ze telkens uit een heel blad of twee naast elkaar gelegen bladen bestaat, en dus nooit de artikels doorkruist.
Net zoals veel magazines spelen ze dus vals met de datum, want het is maar iets voorbij half juli bij aankoop.

Inhoudelijk valt één artikel in de rubriek hardware op doordat het niets met Linux te maken lijkt te hebben; een vergelijkende test van 4 zoom-camera’s gespreid over liefst 8 bladzijden. Ik heb schuin door de tekst gekeken, en zag nergens een verwijzing naar het gebruik van die camera in combinatie met een Linux desktop computer of bijhorende programma’s.

Een ander artikel, ook in de rubriek hardware, gaat over het controleren van een webcam via je smartphone, en lijkt me ook weinig of niets met Linux te maken te hebben.

Tips en Tricks gaan gelukkig wel over Linux; DNS server, e-mail en scripting, enz.

De cover story loopt over 12 bladzijden en gaat over Linux op je tablet.
Er wordt beschreven hoe je root kan krijgen op je tablet, m.a.w. volledige controle kan krijgen over je tablet, als eerste stap naar de installatie van bv Ubuntu Touch. Er wordt gewezen op het maken van een backup. Dan is er informatie over de bootloader en de installatie van Ubuntu touch zelf. Verder configuratie en gebruik, en combinatie met de cloud als opslagruimte.

De gaming rubriek beslaat drie bladzijden. Het gaat over een gaming site waar je blijkbaar een Windows computer moet hebben om te registreren. Daarna kan je je blijkbaar wel behelpen met een Steam Client voor Linux.

Verder een uitgebreide “Android corner” van 8 blz. en de artikels gaan allemaal over apps uit de play store.

Een ander groot artikel is een browservergelijking; waarbij ze Firefox, Chrome, Opera en Vivaldi naast elkaar zetten.

Andere onderwerpen:
– een whatsapp bot voor de raspberry pi
– een foto bewerken met GIMP
– videobewerking maken met Kdenlive
– videodriver problemen oplossen (Ubuntu)
– Singularity over virtualisatie en containers
– OpenVPN om via het internet op een computer te werken
– cursus streaming audio server (met Vortexbox)
– processen en threads, coreutils
– een artikel over een bug in het versleutelde bestandssysteem eCryptfs in Linux.
– wat te doen als een van je accounts gekaapt is (ook niet echt over Linux dus).

Arduino wordt 1 keer vermeld in de gadgets rubriek, met de nieuwe naam van de starterkit, die nu Genuino heet; niets over projecten met of programmeren voor Arduino.

Vermelde distributies: Mint, PCLinux OS, Ubuntu, Fedora, Parrot Security OS, Vortexbox,… en ik kan er nog gemist hebben.

Eén echt belangrijk Italiaans woord heb ik bijgeleerd: Pinguino!

Powered by WordPress