html handleiding
Nederlandstalige html- en css-handleiding:http://www.handleidinghtml.nl/ met html en css:
Html:
en CSS:
Nederlandstalige html- en css-handleiding:http://www.handleidinghtml.nl/ met html en css:
Html:
en CSS:
Bestaande Nagios op een RH9:
Documentatie online op nagios.sourceforge.net/docs/2_0
Het hoofdconfiguratiebestand is nagios.cfg en staat in /usr/local/nagmin-x.x.0
wijst naar de configuratiebestanden in /etc/nagios, waaronder ook weer een nagios.cfg
Host.cfg veranderd:
host met adres x naar y veranderd.
oud configuratiebestand bewaard als Host.cfg_backup
Configuratie getest met nagios -v nagios.cfg
Die test loopt zelf de hierarchie van de configuratiebestanden af: ok
(alleen warnings van hosts zonder gedefinieerde services)
nagios herstart met
/sbin/service nagios restart
stop .. start .. meldingen: ok.
Een computer geraakt op een dag niet meer op internet. Waarom?
(de vreemdste oorzaak die ik zelf ooit tegenkwam)
Opstelling: laptop en 3 andere computers aangesloten op 10 mbit hub, waar ook een wireless access relay opzit.
De verbing “uplink” loopt naar een andere verdieping, waar een centrale 10/100 mbit switch staat. De andere poorten zijn gevuld met computers, sommigen verbonden naar een hub, en er hangt ook een netwerkprinter op de switch.
De switch heeft een verbinding naar een NAS/DNS server, die op zijn beurt aan een adsl modem hangt.
Checks die ik deed:
Ik begrijp niet hoe een poort op een switch een ip-adres kan “onthouden” of blokkeren, één dat bovendien niet in de gebruikte range zit.
Ik herinner me wel dat even voordien een mogelijk defecte switch is geprobeerd als vervanging van de hub, maar omdat die niet werkte (uplink niet herkend) werd de hub teruggezet.
Tapes: 5 genummerd 1 - 5
Een tape blijft een bepaalde tijd geldig voor schrijven. (beschrijfbaar)
Daarna wordt de tape gesloten voor schrijven. ()
Na verloop van bepaalde tijd wordt hij terug vrijgegeven voor schrijven ()
Bij overslaan van een backup (feestdag, vakantie etc) is niet de juiste tape geladen op het moment dat een nieuwe backup wordt gestart. Daarna loopt het hele systeem in de soep; het blijft wachten op het invoeren van die ene juiste tape.
Oplossing: tapes veel sneller laten verlopen?
Eigenlijk zou niet zozeer het aantal dagen tov de backup datum moeten meespelen, maar wel de evaluatie welke tape de meest recente backup bevat (die mag niet overschreven worden).
Applications, system, synaptic package manager laat toe om software bij te installeren. Daarmee kan echter het Linutop systeem “beschadigd” worden. Bv Amarok aankruisen levert een hele hoop “dependencies” op die mee ge¨installeerd worden. Daarna startte ik de Linutop terug op en kreeg een “Xubuntu” systeem met een foutmelding op de login; en mijn scherm werd niet meer juist herkend waardoor het daaropvolgende login scherm niet paste.
Zie elders voor het herstellen van een systeem (bv originele key insteken en download naar 2e key).
In een vorig artikel beschreef ik hoe een backup te maken van de linutop usb-stick die het systeem+software bevat. Maar het kan ook mis gaan; misschien heb je de oorspronkelijke usb-stick te veel gewijzigd, of is er een “hardware” probleem met de usb-stick. Door onbetrouwbare en niet-werkende backups, gemaakt vanop de systeem-usb-stick, kwam ik tot een alternatieve procedure.
Nieuwe “Systeem usb-stick” maken
Met weinig moeite kan je een nieuwe systeem-usb-stick maken. De procedure (die hier beschreven wordt), toont hoe je een eenvoudig programmaatje (newkey.sh) kan downloaden, dat zorgt voor een nieuwe usb-stick, gemaakt met het model van de website van linutop zelf. “newkey.sh” zorgt eigenlijk voor het starten van het hele proces; eerst wordt het echte programma gedownload, lusm-web , dat de gegevens voor de nieuwe usb-stick van een server op het internet afhaalt, en naar de nieuwe usb-stick overbrengt.
Als er een onderbreking is van de webverbinding, kan het proces terug opgestart worden met dat programma.
lusm-web moet draaien als root, dus starten met sudo lusm-web
Log: (more…)
Voor apparaten als Treo 650, 680, en Palm Centro die een volledig toetsenbord hebben is de verleiding groot om ermee in te loggen op je Linux servers. Daarvoor heb je een ssh nodig, en die bestaat; op de Deense Mochasoft site vind je een telnet/ssh client (rechtreekse download link naar de applicatie is prc):
Mocha Telnet for Palm OS | 4.2 | 5.0 (*) | ptelnet4.zip | telnet.prc | 46k | ssh-2 support |
Eventueel downloaden op een pc en overzetten met sync software of de SD card.
Je kan de software uittesten en je wordt met een boodschap er telkens bij het starten van het programma en bij het verbinden met een server aan herinnerd dat het de bedoeling is er 25 dollar voor te betalen.
Je kan een aantal hosts opgeven, er zijn keycombinations voorgedefinieerd (helaas ontbreekt de tab daar, wat juist heel makkelijk zou zijn voor key-completion bij het ingeven van command line commando’s *), je kan macro’s maken, enz.
* Tab kan toch: neem ESC op de snelkeys onderaan het scherm, dan menu/Edit/keyboard **, daar het tab symbool, en de done knop. Dikwijls is dat toch nog sneller dan typen, je kan ook underscores nemen daar, en misschien kan je er wel een macro voor maken.
** wat ook weer sneller kan met menu-k
Een backup maken van de usb-stick met het systeem leek me een van de eerste opdrachten. Een bijgevoegd readme.txt bestand vertelt dat je daarvoor volgende commando’s hebt:
Als een usb-stick (1 Gb in mijn geval) aanwezig is krijg je:
Linutop tools - lusm
lusm stands for Linutop USB Stick Maker
It will regenerate a fresh USB key based
on the one you’re using.You are about to erase the contents of your USB stick.
Please type “yes” if you really want to continue:
Als geen extra usb-stick aanwezig is, wordt erom gevraagd:
No USB stick found. Please plug it in and restart the script.
Na “yes” :
1+0 records in
1+0 records out
512 bytes (512 B) copied, 0.131575 seconds, 3.9 kB/s
Removing the existing partitions (if any) on /dev/sdb…
Creating the partition(s) on /dev/sdb…
umount: /tmp/usb//dev/sdb: not mounted
Copying the system on the /dev/sdb USB stick…
Making the /dev/sdb USB stick bootable…
system on /dev/sdb is ready, now checking md5sums…
md5sum: /cdrom/photo/linutop_cafe1680×1050.jpg: No such file or directory
md5sum: /tmp/usb//dev/sdb/photo/linutop_cafe1680×1050.jpg: No such file or directory
The md5sums of the copied files have been verified
and match those of your current system.
Your new system is ready.
… heb je een kopie van je systeem. Een test-boot is aangewezen; normaal word je verwelkomd door het configuratiescherm, waar je bv taal en toetsenbord kan instellen.
Heb je dingen veranderd aan de software, en wil je - zonder backup - het toestel terug in zijn begintoestand brengen, kan dat door te starten met de “Esc” toets ingedrukt. Dan tik je “restore” en … weg zijn je instellingen en je documenten.
Linutop = klein computertje in een aluminium behuizing (4usb, 1 netw, 1 mic in, 1 headph out, 1 vga, 1 power in), geleverd met een adapter en verder enkel een usb-stick van 1 Gigabyte. De verpakking is helemaal van gevouwen karton, en bevat geen kunststof of polywitteschuimkorrelvormen.Systeem start vrij snel op van de usb-key, waarbij die rood oplicht. Als gelijktijdig een andere 1 Gb usb-key aanwezig is start het systeem niet op (blijkbaar werden de keys verward); evenmin als er geen usb-stick aanwezig is, dan krijg je dus een bios-informatie-scherm.
De usb-stick (”Silicon Power” staat erop) is onderverdeeld in 600 Mb + 427 Mb; eerste partitie bevat het systeem, tweede is vrij voor documenten.
Linutop systeem 1.2 draait op Xfce 4 Desktop Environment version 4.4.1 (Xfce 4.4).
Ctrl-Alt-F1 brengt me naar een zwart scherm met “Loading, please wait …” (wilde de standaard command prompt melding zien), maar duurt me te lang dus ik schakel terug naar het grafisch scherm met Alt-F7. Alt F2, F3, .. geven een knipperende commandprompt, geen login.
Door de beperkte verwerkingscapaciteit en geheugen (256 Mb) is hier geen OpenOffice.org te verwachten; geen rekenblad dus, evenmin Gimp. Je krijgt wel AbiWord, die boeiende dingen kan als tekst bewaren in het formaat van een Palm handheld computer (pdb). Verder Firefox met Flash, VLC mediaplayer voor geluid en beeld, pdf, fotoviewer, Gaim, enz.
Muziek spelen van een externe harde schijf werkt perfect*; ingeplugd wordt de usb-schijf zichtbaar in de filemanager ( Thunar 0.8), en er kan vanuit VLC player gekozen worden voor bestanden op die schijf. In de playlist kan je ook streaming toevoegen (url plakken in de playlist, via menu), en die wordt gewoon als item in de playlist behandeld, zodat je bv de laatste nieuwsuitzending tussen je oggs in de playlist kan opnemen.
In het system menu zit ook Synaptic packet manager, waarmee je software kan bij-installeren. De configuratiehulp stelt voor om de linutop te starten met filmpjes /foto’s /pdf’s /geluid uit een “startmap”. Als verschillende programma’s gestart worden, wordt het gebruik merkbaar traag; doel van dit apparaat is specialisatie op een bepaalde toepassing, zelfbouw/inbouw enz.
* Update: Perfect blijkt niet helemaal correct. Als je een aantal nummers na elkaar speelt, bv omdat je ze in de playlist hebt staan, krijg je af en toe een hapering, een kleine drop-out. Die is storend genoeg om het apparaat niet in te zetten als permanente audio-player, noch thuis, noch in bv een horeca omgeving. Wat erg spijtig is gezien de eigenschappen van het apparaat. Het is me niet duidelijk wat de beperking van de drop-outs veroorzaakt.
Om etitketten te drukken moeten de klantnamen op een eenduidige manier in de data zitten en niet:
Patrick Janssens
patrick janssens
PATRICK JANSSENS
Het meest leesbare is als ordernamen en klantnamen geschreven worden met een hoofdletter, niet alleen vooraan, maar bij elk woord.
In php is er een functie voor, niet rechtstreeks in MySQL:
newstring = ucwords(string)
Natuurlijk kan je dat niet per definitie overal toepassen, afkortingen zijn meestal volledig in hoofdletters.
bv “Werkmans NV” of “Werkmans nv” zou Werkmans Nv worden.
Wel om een suggestie te doen die editeerbaar is of om in batch een algemene omvorming te doen die manueel wordt nagekeken en verbeterd.
sah = documentheaders
sal = documentlijnen
cus= customers
hoofding en detailijnen zijn type I invoice, D Delivery, O order.
Welke levering van welke klant heeft hoeveel details?
SELECT sah_code, cus_id, count( sah_code )
FROM sah, sal
WHERE sah_type = “D”
AND sah.sah_id = sal.sah_id
GROUP BY sah.sah_code
Welke levering van welke klant heeft veel details, in dalende volgorde?
SELECT sah_code, cus_id, count( sah_code ) AS teller
FROM sah, sal
WHERE sah_type = “D”
AND sah.sah_id = sal.sah_id
GROUP BY sah_code
ORDER BY teller DESC
Welke levering van welke klant heeft meeste details?
SELECT sah_code, cus_id, count( sah_code ) AS teller
FROM sah, sal
WHERE sah_type = “D”
AND sah.sah_id = sal.sah_id
GROUP BY sah_code
ORDER BY teller DESC
LIMIT 0,1
Na de ingebruikname van het nieuwe systeem worden we geconfronteerd met een onverwacht probleem. Er moet in het nieuwe een fout rechtgezet worden die veroorzaakt is door onjuiste ingave. Aangezien de meeste bewerkingen kunnen “teruggedraaid” worden (al is het door manueel de omgekeerde keten van handelingen uit te voeren zoals verwijderen uit factuur - verwijderen uit levering - verwijderen uit of corrigeren in order) lijkt het op het eerste zicht vrij eenvoudig. Tot onderzoek leert dat de fout niet in het huidige / nieuwe systeem gemaakt is , moet dat een fout hersteld moet worden die ontstaan is / gemaakt werd in het oude systeem.
Zelfs als je ervoor zorgt dat alle foute ingaves kunnen rechtgezet worden, ben je nog niet op alles voorzien.
In de pas geïnstalleerde Fedora met allerlei servertoepassingen “Webmin” laten installeren. De interface is in ieder geval al indrukwekkend; een webpagina op http://serverhostname.domain.local:10000/ geeft toegang tot het hele beheer van het systeem met allerlei servers (http, mysql, …), shares, enz.
Onderverdeling: Webmin, System, Servers, Networking, Hardware, Cluster, Other
Er zijn menu-items voorzien voor alles wat Webmin kan; ook als bepaalde serverdiensten niet geïnstalleerd zijn. Daardoor is de interface nogal vol, anderzijds zie je wat er met het pakket kan en blijft de interface hetzelfde als je dingen bij-installeert; je ziet wel wat werkt/niet werkt en het lege menu-item geeft soms informatie over hoe de dienst configureren of starten.
Toetsenbordgebruik is in een aantal gevallen efficienter dan muisgebruik. Daartegenover staat dat voor het gebruik van toetsen een “leercurve” moet overwonnen worden. Het aanleren van welke toets welke functie heeft kost moeite. De minimale set van toetsen met een bijhorende functie zijn de gewone “kleine” letters. En zelfs die minimale set hebben slechts een klein deel van de computergebruikers zich eigen gemaakt tot het punt dat ze een tekst blindelings kunnen invoeren. Toch maken ze zonder probleem gebruik van de “shift” of hoofdlettertoets, die toch een complexere vorm van toetsgebruik is.
De shift toets heeft de speciale functie dat hij de betekenis van een gekende toets verandert. Andere voorbeelden van wijzigingstoetsen zijn Alt en Ctrl, AltGr, en eventueel kunnen die toetsen nog anders reageren als ze links of rechts op je toestenbord voorkomen; eigenlijk heb je dus een linkse shift en een rechtse shift en heb je dus nog meer combinaties.
In het terminal tot en met DOS-tijdperk werden toetsencombinaties veel gebruikt en leidde dat in WordPerfect bv tot een zeer efficiente invoer. Bovendien werd niet alleen de tekst ingevoerd maar werden allerlei andere bewerkingen op die tekst ook vanop het toetsenbord gedaan, in een vloeiende beweging. De standaardinstellingen van die programma’s waren spijtig genoeg niet vriendelijk voor nieuwe gebruikers die geen “training” hadden gevolgd. Omdat de vele combinaties nergens zichtbaar werden voorgesteld en ze die dus ook moeilijk konden vinden of geleidelijk aanleren, wierpen die zich massaal op de nieuw opduikende Grafische gebruiksomgeving (”Graphical User Interface”), die met een muis en menu’s werkte.
Je hoefde niets te weten, je kon rustig rondklikken tot je gevonden had wat je zocht. Niet efficient in gebruik maar je spaarde in het begin de opleidingstijd uit, wat drempelverlagend werkte en meer gebruikers opleverde.
Nochtans hadden de tekstvensterprogramma’s eigenlijk ook menu’s en een muis, en kon je die aanzetten. Maar het was te laat voor hen; de Windowsprogramma’s verdrongen de tekstvensterprogramma’s. De balans sloeg door naar de andere kant. Programmeeromgevingen waren gericht op het aansturen met de muis, en de “command prompt” werd herleid tot “carrot”; het vertikaal pinkende streepje kreeg definitief concurrentie van het “pijltje van de muis”.
Leesvoer:
Artikel http://hci-matters.com/blog/?p=8
Yast, Software management,
Search “Knoda”: knoda, knoda devel
Knoda 8.2-24, (accept)
hk_classes wordt automatisch bij geselecteerd (continue)
insert CD1: OpenSuse DVD (ok)
Install/remove more? (no)
Yast afsluiten.
Menu: Office/Database/Knoda
Driver select dialogue: dbase, mysql, odbc, paradox, postgres, sqlite2, sqlite3: (mysql)
Host: serverhostname , User: applicationname , Password: apllicationpassw
OK!
Knoda is het KDE databank programma (”frontend”); om verbinding te maken met databanken en de gegevens daaruit te gebruiken. Hoort bij de KDE programma’s, www.knoda.org/
Start Knoda op (hier versie 0.7.2 - er zijn al recentere versies bv. 17.12.2006 v 0.8.3).
Driver select dialog
met
mysql
odbc
postgres
sqlite3
Selecteer mysq, druk “Connect”, en vul in:
Host: …
User:
Password:
TCP Port: (3306)
Emulate Boolean (yes)
Nadat de verbinding gemaakt is (bewaar password eventueel), krijg je in de linkse kolom de keuze: Tables, Queries, Forms, Reports.
Al wat je maakt op die vier gebieden kan je ook bewaren voor later gebruik (het wordt niet op de MySQL server bewaard, maar in een bestand op je eigen computer)
Bovenaan heb je een rolluik met de mogelijke databases; er staat er een geselecteerd.
Voor veilig gebruik kan je een read-only account maken op de database, maar het programma lijkt ook de mogelijkheid te hebben om Forms te maken voor input van data.
Initialisaties van variabelen van buiten het programma:
itin.conf
$PHPLIB_DIR = $_server[’DOCUMENT_ROOT’].’phplib’ ;
ini_set( ‘include_path’, ‘:’ . $PHPLIB_DIR . ‘:’ . ini_get(include_path));
include(’template.inc’);
$TEMPLATE_DIR = $_SERVER[’DOCUMENT_ROOT’] . ‘/itin/templates’;
$OUT_TEMPLATE = ‘listing2out.html’;
define(MYGLOBALCONSTANT, waarde);
define(VERSION,’0.2.1′);
Als het niet buiten de document root directory kan staan zeker een .php uitgang geven zodat het niet leesbaar is via een webinterface: itin_config.php (of andere extenties die door php parser gaan)
De template werkt met accolades om plaats voor data aan te geven:
listing2out.html :
…
Serial number: {ITIN_SN}….
Die wordt later in het script een waarde toegekend:
$t->set_var(”ITIN_SN”, $itin_sn);
Tabellen bijgemaakt:
- tabel met presets: Veel herhaalde waarden zoals merk, locatie, enz kunnen bewaard worden om ze aan te bieden in een voorkeuzelijst. De tabel met voorkeuzewaarden heeft behalve een “key” om een groep waarden te selecteren, een veld voor een tekst- en een veld voor een getal-waarde.
%DocumentRoot% gebruiken om geen “fully qualified path” te moeten gebruiken in de app (om zo overzetten makkelijker mogelijk te maken). Voorbeeld directory struktuur:
-phplib
-pear
-framework
- itin (applicatie)
-+- apps
-+-+- class
-+-+- templates
-+-+- images
-+-data
Foutmeldingen niet in code:
- ofwel in een file met de foutmeldingen
- ofwel in een tabel met foutmeldingen.
errormessage
-id : dit is dan ofwel een nummer ofwel de engelse foutmelding verwerkt tot id, bv “err_filenotfound”, “warn_noresults”
-lang: de code voor de taal, bv US, NL, FR. Minimum bv “ENG” of “US” voorzien
-text: de foutmelding zelf in de taal van “lang”
-inputon
-inputby
-updateon
-updateby
In andere voorbeelden wordt gewerkt met een multi-dimensionele array die met een include opgenomen wordt in de php code. In het aparte bestand kunnen vertalingen gemaakt worden:
$ERRORS[’ENG’] [’err_filenotfound’] = “This program could not find the file needed”;
$ERRORS[’ENG’] [’warn_noresults’] = “No results found for these criteria”;
$ERRORS[’NL’] [’err_filenotfound’] = “Het programma kon een bestand niet vinden”;
$ERRORS[’NL’] [’warn_noresults’] = “Het programma vond geen resultaten voor deze opdracht”;
De talen staan dan in deze file, maar zijn hier als php-code zichtbaar. Een fout in de vertaling geeft import van foute code!
Ik wil een inventaris maken van de toestellen, op dit moment alleen in verband met IT.
Bestaat daar vrije software voor? (Free Software of Open Source, of ..)
Heb je die inventaris best op een server op het interne netwerk staan? Bv Php programma met een MySQL database, zodat je ze van overal in het bedrjif met een browser + login kan raadplegen, updaten enz?
Of moet je er juist voor zorgen dat die onafhankelijk is van je IT infrastructuur, zodat je ze kan raadplegen op het moment dat er iets grondig mis gaat (brand, diefstal,…). Op een laptop is handig dan? Maar niet laten stelen. En hoe backupen?
Of toch beter op het web, zodat je er ook vanop een andere locatie aankan? Maar wat gooi je dan te grabbel bij een foutje in de code?
Het was ooit een slashdot vraag, maar daar lijkt het meest gegeven antwoord: “wij maken geen documentatie” …
Eerste idee: twee tabellen;
(omdat er 0, 1 nic’s op apparaten tot 8, 12, 24 op hub/switches kunnen zijn)
Activity Based Costing:
http://www.xs4all.nl/~jan/Publicaties/ABC.htm
ABC versus Direct Cost:
http://www.onderwijsportaal.nl/plot-Persoonlijk/uvt-kaplan1.htm
Historische kost: …
Powered by WordPress