13/11/2018

Git: hoe haal ik of zie ik remote branch?

Filed under: — cybrarian @ 1:16 pm

(in de reeks Git…)

Zien
Online (in de web interface) zie ik de branches:

  • master
  • test
  • issue1

Maar lokaal zie ik alleen mijn eigen master (sic!):

git branch -l
* master

Ook na een git fetch blijft dat zo.

Git fetch heeft een standaardgedrag of volgt instellingen, maar je kan meer specifiek git fetch origin doen:

~/Git/TrypoPrj/TrypoPrj> git fetch origin
~/Git/TrypoPrj/TrypoPrj> git branch -l
* master

Bovendien moet je eigenlijk –list gebruiken (-l dient om een reflog aan te maken), en toont git branch –list enkel de lokale branches. Maar

git branch -r

origin/HEAD -> origin/master
origin/feat-01
origin/master
origin/test

toont de remote, of wil je alles:

git branch -a

* master
remotes/origin/HEAD -> origin/master
remotes/origin/feat-01
remotes/origin/master
remotes/origin/test

met extra info als laatste commit message:

git branch -v -a

* master 8ab6216 [ahead 1] remove .directory from tracked files
remotes/origin/HEAD -> origin/master
remotes/origin/feat01 2bbd368 Complete changes.txt with done work
remotes/origin/master de381ad Resolve merge conflict by combine and reorder lines in changes.txt

Afhalen
Als je een branch van remote wil halen kan je die opgeven

git fetch origin branch-naam
Daarna logischerwijze merge in je eigen (bv master) en commit:

git merge origin/branch-naam
git commit ...

Git ingore negeert opgegeven bestand niet

Filed under: — cybrarian @ 10:47 am

(in de reeks Git…)

Hoewel ik .settings heb toegevoegd tot gitignore, blijft het af en toe opduiken als gewijzigd bestand, klaar om mee te committen. Ik begrijp niet of het komt door merge met andere medewerkers die misschien een andere instelling hebben (hoewel ik dacht dat die lokaal was).

Oorzaak is bv dat het bestand oorspronkelijk niet in gitignore zat, en er pas later is aan toegevoeg, toen het al getracked werd. En .gitignore werkt alleen voor “untracked” files (voor nieuwe bestanden dus).

Er is een extraatje nodig (how to make git forget..):

git update-index --assume-unchanged

git update-index --assume-unchanged .settings

Je krijgt geen feedback na dit commando.

28/10/2018

KMail backup: waar zit de mail?

Filed under: — cybrarian @ 4:25 pm

(KMail KDE OpenSUSE 42.3)

Mail als bestanden
De mail is in mijn huidige OpenSUSE Leap 42.3 terug te vinden in de map local-mail, die in de directory staat die is ingesteld in KMail (bv ~/.local/share/).
Daar zie je de mappen die je aangemaakt hebt in je mail programma als directories staan.

Onderverdeling mappen
De sub-mappen in je mail programma vind je niet allemaal terug; enkel de bovenste laag vind je als map met dezelfde naam terug in die directory. Zet de zichtbaarheid van verborgen bestanden aan (alt .) om de verwijzing naar de submappen te vinden.

Backup
Voor de backup gebruik ik RSYNC naar een gemounte harde schijf:
rsync -a ~/.local/share/local-mail/ mountedDisk/local-mail

9/9/2018

Teamviewer gebruiken

Filed under: — cybrarian @ 11:07 pm

Na installatie van Teamviewer op openSUSE Leap 42.3 komt het programma voor in het Kde menu onder systeem of hulpmiddelen? Nee, onder “Internet”.

Bij het starten geeft het een aantal gegevens die je kan gebruiken om een koppeling te maken met een andere computer.

user id

password

Op de “andere computer” start je ook het programma.

De id invullen, het wachtwoord invullen…

(Eerste keer blijft hij altijd het wachtwoord vragen, alsof het fout is. In beide richtingen trouwens, als ik omgekeerd probeer ook dus. Ik moet afsluiten wegens tijdgebrek en beslis morgen verder te proberen).

Volgende dag lukt het wel: open het programma op beide computers, neem de nummer van de ene mee, alsook het wachtwoord; en je krijgt het scherm te zien.

De verbinding is niet razendsnel; je moet echt wel rekening houden met de vertraging bij bv het typen van een tekst, het verplaatsen vergroten/kleinen van vensters, enz.

Maar het werkt dus wel, je kan op afstand iemand helpen.

Teamviewer installeren

Filed under: — cybrarian @ 10:23 pm

Teamviewer op openSuse Leap 42.3

1. download 32 of 64 bit versie? Suse 64bit. (kies “Save File” (Bewaren) in de browser)
www.teamviewer.com/nl/download/linux/

2. ga naar de download map (klik op download pijl rechtsboven in Firefox, kies “open containing folder”)
Open een terminal (rechtsklik actions, open terminal here) en installeer met de commandolijn:

sudo zypper install teamviewer-suse_13.2.13582.x86_64.rpm

Loading repository data…
Reading installed packages…
Resolving package dependencies…

The following NEW package is going to be installed:
teamviewer-suse

1 new package to install.
Overall download size: 12.2 MiB. Already cached: 0 B. After the operation, additional
59.3 MiB will be used.
Continue? [y/n/…? shows all options] (y):

y

Retrieving package teamviewer-suse-13.2.13582-0.x86_64
(1/1), 12.2 MiB ( 59.3 MiB unpacked)
teamviewer-suse_13.2.13582.x86_64.rpm:
Header V4 RSA/SHA1 Signature, key ID 0c1289c0: NOKEY
V4 RSA/SHA1 Signature, key ID 0c1289c0: NOKEY

teamviewer-suse-13.2.13582-0.x86_64 (Plain RPM files cache): Signature verification failed [4-Signatures public key is not available]
Abort, retry, ignore? [a/r/i] (a):

Er wordt een vraag gesteld over signing; blijkbaar deden ze dat nooit, de packages signen voor Linux, dus ik ignore de waarschuwing met i.

i

Checking for file conflicts: ……………………………………………..[done]
(1/1) Installing: teamviewer-suse-13.2.13582-0.x86_64 ……………………….[done]
Additional rpm output:
warning: /var/cache/zypper/RPMS/teamviewer-suse_13.2.13582.x86_64.rpm: Header V4 RSA/SHA1 Signature, key ID 0c1289c0: NOKEY
gtk-update-icon-cache: Cache file created successfully.

3. Start de daemon (kan al gestart zijn door de installatie)
Check eerst of hij al loopt, zo ja, geen probleem.

systemctl status teamviewerd

systemctl status teamviewerd
● teamviewerd.service – TeamViewer remote control daemon
Loaded: loaded (/etc/systemd/system/teamviewerd.service; enabled; vendor preset: disabled)
Active: active (running) since Sun 2018-09-09 23:22:12 CEST; 3min 9s ago
Process: 5628 ExecStart=/opt/teamviewer/tv_bin/teamviewerd -d (code=exited, status=0/SUCCESS)
Main PID: 5633 (teamviewerd)
Tasks: 16 (limit: 512)
CGroup: /system.slice/teamviewerd.service
└─5633 /opt/teamviewer/tv_bin/teamviewerd -d

Sep 09 23:22:12 TCM-S4VCR72 systemd[1]: Starting TeamViewer remote control daemon…
Sep 09 23:22:12 TCM-S4VCR72 systemd[1]: teamviewerd.service: PID file /var/run/team…ry
Sep 09 23:22:12 TCM-S4VCR72 systemd[1]: Started TeamViewer remote control daemon.
Hint: Some lines were ellipsized, use -l to show in full.

Zo nee, start hem manueel.
sudo systemctl start teamviewerd

4. Voeg toe aan de opstartfase als je dat wil.

sudo systemctl enable teamviewered

Het desktopprogramma is opgenomen in het menu Internet als Teamviewer 13.

Geraadpleegde bron: www.linuxbabe.com

Zie verder: Wacht om te zien of het werkt … Teamviewer gebruiken op Linux

3/9/2018

Docker hierarchie enz

Filed under: — cybrarian @ 1:09 pm

Hierarchie

concept:

Stack
Services
Container

container directory/files:

directory/dockerfile
directory/app.py
directory/requirements.txt

Woordenlijst

dockerfile : definiëert de container

Python

Docker lijkt sterk gebruik te maken van Python (zie ook installatie)

6/5/2018

OCR (gebruiken)

Filed under: — cybrarian @ 8:57 pm

Uitdaging: een beeld opnemen (foto) met een aangesloten camera, en de tekst die erop voorkomt beschikbaar krijgen voor een ander programma.

Bestaat er OCR software voor Linux? Blijkbaar wel:
https://unix.stackexchange.com/questions/377359/how-to-use-ocr-from-the-command-line-in-linux

install tesseract-ocr

and can be used with

tesseract input.png out.txt

Tesseract
In de openSUSE softwarebeheerder is – naast gocr en ocrad – tesseract prominent aanwezig met paketten als:

tesseract-ocr
tesseract-ocr-devel
tesseract-ocr-traneddata-dutch
tesseract-ocr-traneddata-english
tesseract-ocr-traneddata-french
tesseract-ocr-traneddata-german
tesseract-ocr-traneddata-…
(tientallen talen)
libtesseract3

(met als vendor openSUSE)

Installatie
Bij installatie van tesseract-ocr wordt mee geselecteerd:

libtesseract3
liblept4
tesseract-ocr-traneddata-english

Met Frans, Nederlands en Duits erbij wordt er 26 Mb gedownload en 109 Mb geïnstalleerd.

Test

Ik maak twee screenshots van een gebied op het scherm (van een website); één zwarte achtergrond met witte tekst, één met witte achtergrond en zwarte tekst.

tesseract WitOpZwart.png WitOpZwart.txt

maakt een bestand WitOpZwart.txt.txt

(dus blijkbaar zet hij er zelf nog eens de extentie txt achter)

Dat gedrag klopt niet met bovenstaand citaat uit een website, maar wel met de beschrijving van gebruik van tesseract zelf:

tesseract beeldbestandsnaam uitvoerbasis

beeldbestandsnaam is dan WitOpZwart.png
en uitvoerbasis is WitOpZwart want de .txt zet tesseract zelf.

Dit png bestand is maar 5 k groot, en de omzetting gebeurt zowat onmiddellijk.

Een zwaardere test: een scan van een t-shirt met daarop een tekst:

GeelOpDonkergroen, 600 dpi, 5100 x 7000 pixels, 64 Mb

GeelWitOpZwart, 600 dpi, (ongeveer hetzelfde)

Hier duurt het een beetje langer maar is het resultaat onbruikbaar.
Het bestand verkleinen en rechtzetten helpt een beetje, ik begrijp de tekens omdat ze in de buurt komen van het beeld, maar ze leveren niets bruikbaars op als tekst.

Op een beeld waarbij een streep loopt die onderbroken wordt door tekst is tesseract zo lang bezig dat ik het programma onderbreek.

Ope een heel erg verkleinde versie van de scan zegt tesseract dat het blad leeg is.

Nog
(nog) niet geprobeerd: foto ipv scan of screenshot.
(nog) niet geprobeerd: parameters meegeven over bv orientatie, taal enz.

Resultaat
Het beste resultaat wordt dus behaald met een zwart op witte achtergrond mooi recht uitgesneden screenshot. Alles wat minder perfect is geeft problemen.

26/2/2018

Te grote pijl in KDE

Filed under: — cybrarian @ 12:23 am

Door het zoeken naar een goede instelling voor mijn twee beeldschermen, werd ik opgezadeld met een veel te grote muiscursor (het pijltje werd een pijl).

  • KDE menu, “Configure Desktop” icoon (horizontale schuifregelaars, standaard in KDE menu)
  • Look And Feel, Cursor theme
  • onderaan rechts de grootte: bv van 48 naar 24.

Ok!

23/2/2018

Netwerkdoosjes (voor RJ-45 stekkers)

Filed under: — cybrarian @ 9:46 am

Zie ook : RJ-45 stekkers op netwerkkabel zetten (http://linuxuser.copyleft.be/liglog/?p=6454)

Verwerf:

  • – Netwerkkabel CAT6 (of CAT5e)
  • – Netwerkdoosjes CAT6 (of CAT5e) Standaard B, dit bepaalt de kleurcode (*)
  • – “Crimptool”: speciaal gereedschap om de draden in de klemmen te drukken en overblijvend stuk af te snijden, en met hulpstukken als haakje om draden terug uit te trekken. (lukt misschien ook wel met combinatie van fijne schroevendraaiers en platte/kniptang)
  • – Kniptang, nijptang, schroevendraaier, ..

Omdat je niet altijd op voorhand kan zien of je wel doosjes koopt met de juiste kleurcodes, kan je ook opgezadeld geraken met een kleurcode “A”; dan met je in gedachten omzetten:

                 
                 
 

A standaard

       

B standaard (pin nrs)

   
                 
                 

1

       

1

     
             

2

       

2

     
             

3

       

3

     
             

4

       

4

     
             

5

       

5

     
             

6

       

6

     
             

7

       

7

     
             

8

       

8

     
             
                 
                 
Op de aansluitklemmetjes hoeft die volgorde van 1 – 8 niet te kloppen (niet netjes in die volgorde naast elkaar te liggen – dat wordt immers bepaald door de scherpe pinnen die door de draad heen gaan bij het dichtnijpen, en het signaal doorgeven naar de contactplaatjes voor de stekker). Dikwijls moet je de draden wat herschikken. Ze zitten per draadpaar opgedraaid in de kabel; draai net zover af als je nodig hebt voor de bevestiging; hetzelfde voor de mantel die er rond kan zitten; het is electro-magnetische bescherming. Verwijder genoeg om er voor te zorgen dat hij geen vals contact kan maken.
Als je aan één kant de doos klaarhebt, zou je de draad kunnen uitmeten aan de andere kant (als je hem nog niet door de muren zou hebben getrokken). Je kan daarvoor een “breadboard” gebruiken (wit roostertje met contacpunten die binnenin banen vormen zodat je er een andere draad op kan aansluiten op dezelfde rij). Steek de kabeleindes in het breadbord en meet met een multimeter, eventueel met behulp van andere draadjes die afgestript zijn.
Anders kan je een speciale netwerktester gebruiken die uit twee delen bestaat: een zendertje dat een signaal op de pinnen van de netwerkkabel zet, en een ontvanger die je meeneemt naar de andere kant, en die op een rij leds de signalen toont. De zender loopt pinnen 1 tot en met 8 af en in die volgorde moet het zichtbaar zijn op het uiteinde; zoniet is er iets fout: verkeerde volgorde van de draden op de aansluitklemmen of slecht contact op één of meer van de draden.

5/2/2018

Desktopinstellingen om zeep; geen bruikbaar beeld na login

Filed under: — cybrarian @ 10:01 am

Twee schermen aangesloten, en geprobeerd om het scherm een kwart te draaien; de instellingen in KDE voor beide schermen gewijzigd naar kwart gedraaid, en toepassen geklikt… (OpenSUSE 42.2, KDE)

Foutje dus
Resultaat is een puzzel van een scherm, opgebouwd uit afwisselende streepjes desktop. Na herstarten van de grafische (ctlr-alt-backspace) blijft het scherm zwart op het ronddraaiende cirkeltje na, dat trouwens ook in twee gesplists ergens verkeerd staat. Ik geraak niet meer terug normaal ingelogd, ook niet met de kde-failsafe opstartkeuze bij inlogscherm.

Waar zitten de instellingen?
In de gebruikersdirectory ~/.local/share/kscreen
Daar zie je een aantal bestanden met onuitspreekbare namen die uit cijfers en letters bestaan, blijkbaar random of zo.
Kijk naar de datum, vergelijk de bestanden. Ik zag één bestand van vandaag (dat dus de wijziging bevat). Ik bekeek ook het meest recente voorgaande bestand; de inhoud is gewone tekst waarin de instellingen bewaard staan, gegroepeerd met [] en {} tekens, telkens een sleutel en een waarde, bv “enabled”: true.

Ik kon mijn toestand zelfs herstellen door de orientatie van 2 naar 1 te zetten!
upd 25/2; 1 is dus horizontaal, 2 is fysieke scherm kwart gedraaid met klok mee, 8 naar de andere kant (kwart tegenklok).

Ik probeer nu met kleinere stappen, waartussen ik telkens uitlog en terug inlog om het effect te bevestigen.
– De beeldschermen hebben een verschillende resolutie (helaas). Ik zet eerst de resolutie van 1920×1080 naar 1680×1050 voor DVI-1.
– het linkse beeldscherm kantelen. Met geen stokken krijg ik (resolutie aanpassend) een van beide schermen zinnig gekanteld; telkens blokjespatroon na “Apply” (zorg dat instellingen venster op het andere scherm staat, zodat je terug kan.
– de rendermachine compositor verzet van openGL 2 naar 3 en uiteindelijk naar XRender..? Nu kan ik de rechtse op lage resolutie al kantelen. Uit en inloggen en de resolutie verhogen lijkt te lukken op “Apply” niveau; ook na uit/inloggen nog ok.

– Linkse op volle resolutie 1920×1080: ok na apply. Na uit/inloggen heb ik een belachelijk grote pijl, maar de schermen staan allebei portrait!

Even schrikken als na een logout even terug de blokjes opduiken, maar dan schakelt er iets en komt het beeld goed, met een belachelijk in de hoogte uitgerokken lamp als achtergrond. Tijdens het opstarten krijg je wel een redelijk in verhouding lampt te zien die dan een stuk naast het scherm valt.

8/1/2018

Afdrukken met Ricoh printer Aficio SP 3510DN

Filed under: — cybrarian @ 9:43 am

Geen driver in distro
Voor deze desktop laserprinter van 2011 vond ik geen exacte vermelding bij de beschikbare Ricoh drivers in mijn (OpenSUSE) installatie.

Volgens een ubuntu forum:
– Kan je printen met de driver van Ricoh Aficio SP 4310N PS
– is het een “generische postscript printer”, dus kan een algemene postscript driver werken.

(bron: https://ubuntuforums.org/showthread.php?t=2138787)

4310N-driver: ja en nee
Het printen werkt inderdaad .. 1 keer. Daarna komt er allemaal onzin uit de printer (letters verspreid over een regel en over het hele blad).
Als de printer afgezet wordt kan je weer zonder probleem een print maken.
Soms lukt het om een paar prints na elkaar te maken, maar het is me voorlopig onduidelijk wanneer/waarom.

Ricoh driver Aficio-SP3510DN

Later stootte ik op een vermelding op een ricoh site, onder “unix” drivers:

http://support.ricoh.com/bb/html/dr_ut_e/re1/model/sp35/sp35.htm

Release notes

Supported UNIX Platforms

[Sun Solaris]

2.6, 7, 8, 9, 10
[HP-UX]

10.x, 11.x, 11iv2, 11iv3
[Red Hat Linux]

6.x, 7.x, 8.x, 9.x, Enterprise V4, V5, V6
[SCO Open Server]

5.0.6, 5.0.7, 6.0
[IBM AIX]

V4.3, 5L V5.1, V5.2, V5.3, V6.1, V7.1

Version 32.0.0

Initial release

ps: Linux Enterprise is ondertussen aan v.7, staat niet vermeld.

Verder bij download krijg je nog informatie:

Note: Device option feature enables use of optional equipment such as finisher and paper trays.

System Requirements

TCP/IP Network
Supported UNIX platform
Internal NIB (Network Interface Board)

Supported File Format

PS
PCL (Device Option feature is not supported)
ASCII Text

De download is een “.tar.gz” ingepakt formaat, en bevat een RICOH map met een heleboel files:

copyleft@linuxbox:~/bin/drivers/RICOH> ls -lFA
total 260
-rw-r--r-- 1 copyleft users 7567 Jan 3 2012 Aficio-SP3500N.pcl
-rw-r--r-- 1 copyleft users 5043 Jan 3 2012 Aficio-SP3500N.ps
-rw-r--r-- 1 copyleft users 7683 Jan 3 2012 Aficio-SP3510DN.pcl
-rw-r--r-- 1 copyleft users 5148 Jan 3 2012 Aficio-SP3510DN.ps
-rw-r--r-- 1 copyleft users 4514 Jan 3 2012 aix_head
-rw-r--r-- 1 copyleft users 9600 Jan 3 2012 aix_tail
-rw-r--r-- 1 copyleft users 3287 Jan 3 2012 EULA
-rw-r--r-- 1 copyleft users 4703 Jan 3 2012 hp_head
-rw-r--r-- 1 copyleft users 10916 Jan 3 2012 hp_tail
-rw-r--r-- 1 copyleft users 3962 Jan 3 2012 lnx_head
-rw-r--r-- 1 copyleft users 9705 Jan 3 2012 lnx_tail
-rwxr-xr-x 1 copyleft users 6858 Jan 3 2012 rpconfig*
drwxr-xr-x 2 copyleft users 68 Jan 3 2012 SampleFiles/
-rw-r--r-- 1 copyleft users 4036 Jan 3 2012 sco_head
-rw-r--r-- 1 copyleft users 9807 Jan 3 2012 sco_tail
-rw-r--r-- 1 copyleft users 34764 Jan 31 2012 sol_SP3500N
-rw-r--r-- 1 copyleft users 2045 Jan 3 2012 SP3500N.1
-rw-r--r-- 1 copyleft users 1659 Jan 3 2012 SP3500N.1.Z
-rw-r--r-- 1 copyleft users 4362 Jan 3 2012 sun_head
-rw-r--r-- 1 copyleft users 10430 Jan 3 2012 sun_tail
-rwxr-xr-x 1 copyleft users 9954 Jan 3 2012 uninstall*
-rwxr-xr-x 1 copyleft users 30818 Jan 3 2012 unix_installer*
-rw-r--r-- 1 copyleft users 32945 Jan 31 2012 UserManual

Not my CUPS of tea…

Een blik in de UserManual leert ons:

Deze driver is NIET voor CUPS gemaakt, maar voor het LPRng printsysteem, waarvoor je moet omschakelen als je standaard CUPS geïnstalleerd hebt staan.

CUPS will need to be disabled, and if not already on your system
LPRng printing software package will need to be installed.

Generiek PCL6

Ergens in de online manual:

… Contains procedures for installing the printer drivers (PCL6 and PostScript 3) …

bron: http://support.ricoh.com/bb_v1oi/pub_e/oi_view/0001044/0001044326/view/op_guide/int/0002.htm

Daarom in CUPS de generieke PCL-6 driver gekozen:

Queu: RICOH_Aficio_SP_3510DN
Driver: Generic PCL 6/PCL XL LF Printer - CUPS+Gutenprint v5.2.10 (grayscale, 2-sided printing)

Test print: OK! Maar helaas tweede print daarna weer onzin.

20/9/2017

KMail verzonden komt niet aan

Filed under: — cybrarian @ 10:11 am

Bij het melden van een fout ivm het vesturen van e-mail over een proximus verbinding, werd me detail-informatie gevraagd over de verzonden mail.
Die kon ik in de headers van de outbox van kmail niet vinden, ook niet met “All headers” aangezet in de opties.

KMail gebruikt een hulpmiddel voor het verzenden van de mail, nl Akonadi. Daar ten rade dus, maar Akonadi komt als applicatie niet voor in je desktop menu.

Open een terminal of ga via menu naar “run command” en tik:
akonadiconsole

Het programma Akonadi Console laat toe om “Enable debugger” aan te vinken. Als je dan een mail verstuurd kan je allerlei details zien.

Er zijn volgende tabbladen:

Agents – Browser – Debugger – Raw Socket – DB Browser – DB Console – Job Tracker – Resources Scheduler – Notification Monitor – Item Search

De Debugger heeft/krijgt nog sub-tabbladen als akonadi_maildir_resource_0

Je ziet er dingen als:

855 UID FETCH 43299 FULLPAYLOAD CACHEONLY ANCESTORS INF EXTERNALPAYLOAD (UID REMOTEID REMOTEREVISION COLLECTIONID FLAGS SIZE) 
* 43299 FETCH (UID 43299 REV 1 REMOTEID ... 

Hopelijk helpt dat voort.

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

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 (of df -H):

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

Een mooi overzicht krijg je met lsblk (een ls van de block devices); die wordt zelfs als een boomstructuur weergegeven.

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

Powered by WordPress