commit 97fc149f49e209fd0345199d424afbdf0491402c Author: Matjaz Mesnjak Date: Fri Jan 7 15:32:19 2022 +0100 Initial commit. diff --git a/articles/2013-09-11_000-pozdravljen-svet.gmi b/articles/2013-09-11_000-pozdravljen-svet.gmi new file mode 100644 index 0000000..e4a8941 --- /dev/null +++ b/articles/2013-09-11_000-pozdravljen-svet.gmi @@ -0,0 +1,3 @@ +# Pozdravljen svet! + +Dobrodošli v WordPress. To je vaš prvi prispevek. Uredite ali izbrišite ga, nato začnite blogati! diff --git a/articles/2013-09-11_001-openindiana.gmi b/articles/2013-09-11_001-openindiana.gmi new file mode 100644 index 0000000..78d4fe2 --- /dev/null +++ b/articles/2013-09-11_001-openindiana.gmi @@ -0,0 +1,5 @@ +# OpenIndiana + +Po nekaj tednih od izida sem koncno uspel nadgraditi domači strežnik. Zdaj na njem teče zadnja verzija sistema OpenIndiana. Sveža instalacija je vzela približno pol ure in je tekla brez enega samega problema. Enako tudi import diskov. Cel sistem je bil online v manj kot eni uri. + +Zdaj pa sem ponovno usposobil še spletni strežnik in WordPress. Sicer starih podatkov nisem shranjeval, ker ni bilo česa shraniti … No, od zdaj naprej pa bo nekaj. Vsaj upanje umira zadnje. diff --git a/articles/2013-09-14_000-testna-voznja.gmi b/articles/2013-09-14_000-testna-voznja.gmi new file mode 100644 index 0000000..20d0ede --- /dev/null +++ b/articles/2013-09-14_000-testna-voznja.gmi @@ -0,0 +1,3 @@ +# Testna vožnja + +Za test sem se peljal proti Medvodam. Lepa vožnja, ni bilo veliko prometa. \ No newline at end of file diff --git a/articles/2013-10-01_000-nova-voznja.gmi b/articles/2013-10-01_000-nova-voznja.gmi new file mode 100644 index 0000000..6f0ba91 --- /dev/null +++ b/articles/2013-10-01_000-nova-voznja.gmi @@ -0,0 +1,3 @@ +# Nova vožnja + +Spet sem se malo peljal. Tokrat do dvorca Goričane. \ No newline at end of file diff --git a/articles/2013-10-02_000-se-ena-voznja.gmi b/articles/2013-10-02_000-se-ena-voznja.gmi new file mode 100644 index 0000000..287bc0f --- /dev/null +++ b/articles/2013-10-02_000-se-ena-voznja.gmi @@ -0,0 +1,3 @@ +#Še ena vožnja + +Že druga ta teden. Zdaj je že kar hladno, bo treba razmisliti nakupu kakšne zimske opreme za na kolo 🙂 Drugače pa lepa vožnja, malo prometa. Cilj je bil spet pri dvorcu Goričane. diff --git a/articles/2014-01-06_000-preko-trnja-do-zvezd.gmi b/articles/2014-01-06_000-preko-trnja-do-zvezd.gmi new file mode 100644 index 0000000..71045ad --- /dev/null +++ b/articles/2014-01-06_000-preko-trnja-do-zvezd.gmi @@ -0,0 +1,3 @@ +# Preko trnja do zvezd + +Per aspera ad astra. diff --git a/articles/2014-01-07_000-ce-zelis-mir-se-pripravi-na-vojno.gmi b/articles/2014-01-07_000-ce-zelis-mir-se-pripravi-na-vojno.gmi new file mode 100644 index 0000000..5deefc6 --- /dev/null +++ b/articles/2014-01-07_000-ce-zelis-mir-se-pripravi-na-vojno.gmi @@ -0,0 +1,3 @@ +# Če želiš mir, se pripravi na vojno. + +Si vis pacem, para bellum. diff --git a/articles/2014-01-10_000-ni-kazni-brez-zakona.gmi b/articles/2014-01-10_000-ni-kazni-brez-zakona.gmi new file mode 100644 index 0000000..34ba1c6 --- /dev/null +++ b/articles/2014-01-10_000-ni-kazni-brez-zakona.gmi @@ -0,0 +1,7 @@ +# Ni kaznivega dejanja brez zakona + +Nulla crimen, nulla poena sine lege. Ni kaznivo dejanje, če ni določeno v zakonu. + +Nulla crimen, nulla poena sine lege praevia. Ni kaznivo dejanje, če ni določeno v zakonu še preden je bilo dejanje storjeno. + +Nulla crimen, nulla poena sine lege certa. Ni kaznivo dejanje, če v zakonu ni tako izrecno določeno — prepovedana je uporaba razlage z analogijo. diff --git a/articles/2014-01-10_001-leffe.gmi b/articles/2014-01-10_001-leffe.gmi new file mode 100644 index 0000000..d35ea5a --- /dev/null +++ b/articles/2014-01-10_001-leffe.gmi @@ -0,0 +1,3 @@ +# Leffe + +Leffe Blonde. Belgijsko svetlo pivo. Super okus. Samo .. bi bilo treba najt eno fajn pivnico za belgijska piva … po možnosti v Belgiji! diff --git a/articles/2014-01-11_000-nepoznavanje-prava-skoduje.gmi b/articles/2014-01-11_000-nepoznavanje-prava-skoduje.gmi new file mode 100644 index 0000000..1d5ad94 --- /dev/null +++ b/articles/2014-01-11_000-nepoznavanje-prava-skoduje.gmi @@ -0,0 +1,5 @@ +# Nepoznavanje prava škoduje + +Ignorantia iuris nocet. Nepoznavanje prava škoduje. + +Ignorantia facti non nocet. Nepoznavanje dejstev ne škoduje. diff --git a/articles/2014-01-11_001-poslusajmo-se-drugo-stran.gmi b/articles/2014-01-11_001-poslusajmo-se-drugo-stran.gmi new file mode 100644 index 0000000..5a3600c --- /dev/null +++ b/articles/2014-01-11_001-poslusajmo-se-drugo-stran.gmi @@ -0,0 +1,3 @@ +# Poslušajmo še drugo stran + +Audiatur et altera pars. Poslušajmo še drugo stran. diff --git a/articles/2014-01-13_000-cisti-racuni-dobri-prijatelji.gmi b/articles/2014-01-13_000-cisti-racuni-dobri-prijatelji.gmi new file mode 100644 index 0000000..c66ba6d --- /dev/null +++ b/articles/2014-01-13_000-cisti-racuni-dobri-prijatelji.gmi @@ -0,0 +1,3 @@ +# Čisti računi, dobri prijatelji + +Clara pacta, boni amici. Čisti računi, dobri prijatelji. diff --git a/articles/2014-01-13_001-poslednje-sredstvo-vladarja.gmi b/articles/2014-01-13_001-poslednje-sredstvo-vladarja.gmi new file mode 100644 index 0000000..e444414 --- /dev/null +++ b/articles/2014-01-13_001-poslednje-sredstvo-vladarja.gmi @@ -0,0 +1,6 @@ +# Poslednje sredstvo vladarja + +Ultima ratio regum. Poslednje sredstvo vladarja. + +Napis na topovih v 18. stoletju. Opomnik, da je vojna zadnje sredstvo. +Independent Publisher empowered by WordPress diff --git a/articles/2014-01-14_000-bernard.gmi b/articles/2014-01-14_000-bernard.gmi new file mode 100644 index 0000000..2200c8f --- /dev/null +++ b/articles/2014-01-14_000-bernard.gmi @@ -0,0 +1,3 @@ +# Bernard + +Danes sem poskusil Bernarda. Češko pivo … res dobro. Jantarni ležak. Lepe jantarne barve, okus pa rahlo grenek. Malo bolj kot svetlo pivo, manj kot temno. Bomo še kdaj. diff --git a/articles/2014-01-16_000-nadgradnja-programskih-paketov-v-openindiana.gmi b/articles/2014-01-16_000-nadgradnja-programskih-paketov-v-openindiana.gmi new file mode 100644 index 0000000..79a2f50 --- /dev/null +++ b/articles/2014-01-16_000-nadgradnja-programskih-paketov-v-openindiana.gmi @@ -0,0 +1,19 @@ +# Nadgradnja programskih paketov v OpenIndiana + +Julija je prišla zadnja različica sistema OpenIndiana. V tem času ni bilo veliko posodobitev. Glede na to, da programi niso ravno “cutting edge”, to najbrž pomeni, da so to verzije, ki so se že stabilizirale — večina problemov je že odpravljenih in enostavno ni česa posodobiti … no razen, če bi šli na novo verzijo. + +Posodobitev celotne slike sistema: + +``` +# pkg image-update +``` + +Posodobitev posameznih paketov — brez posodobitve celotne slike: + +``` +# pkg update +``` + +Obema ukazoma lahko dodamo “-nv”. S tem dosežemo, da se izvede le simulacija brez dejanske posodobitve (n) in podrobnejši izpis (v). + +Kot je razvidno iz zgornje slike … trenutno ni nobenih posodobitev. Kar traja že več mesecev. OpenIndiana je glede tega po eni strani kar malo dolgočasna. Po drugi strani pa se z njo ni treba veliko ukvarjati — namestiš in dela. diff --git a/articles/2014-01-16_001-posodobitev-openindiane.gmi b/articles/2014-01-16_001-posodobitev-openindiane.gmi new file mode 100644 index 0000000..444a7e4 --- /dev/null +++ b/articles/2014-01-16_001-posodobitev-openindiane.gmi @@ -0,0 +1,3 @@ +# Posodobitev OpenIndiane + +Kako posodobimo sistem OpenIndiana? Nič lažjega. Kot skrbnik izvedemo ukaz pkg update -nv. Parameter nv pomeni naj ne naredi ničesar (simulacija) in naj izpisuje podrobnosti. Če smo zadovoljni z izpisanim, poženemo ukaz pkg update -v. diff --git a/articles/2014-01-17_000-priznanje-je-kraljica-dokazov.gmi b/articles/2014-01-17_000-priznanje-je-kraljica-dokazov.gmi new file mode 100644 index 0000000..7ee2e75 --- /dev/null +++ b/articles/2014-01-17_000-priznanje-je-kraljica-dokazov.gmi @@ -0,0 +1,3 @@ +# Priznanje je kraljica dokazov + +Confessio est regina probationum. Priznanje je kraljica dokazov. In potem so zaradi te maksime mučili osumljence, dokler niso priznali. Tudi če niso bili krivi. diff --git a/articles/2014-01-17_001-stoti-dan-neprekinjenega-delovanja-streznika.gmi b/articles/2014-01-17_001-stoti-dan-neprekinjenega-delovanja-streznika.gmi new file mode 100644 index 0000000..d33d8ab --- /dev/null +++ b/articles/2014-01-17_001-stoti-dan-neprekinjenega-delovanja-streznika.gmi @@ -0,0 +1,9 @@ +# Stoti dan neprekinjenega delovanja strežnika + +Danes mineva stoti dan od zadnjega ponovnega zagona strežnika. + +``` +Server Load Averages : 0.17, 0.10, 0.09 . Running for last 100 day(s), 18:13 hours +``` + +To samo kaže na to, kako malo se je treba dejansko ukvarjati s škatlo :) diff --git a/articles/2014-01-20_000-nova-verzija-openindiane.gmi b/articles/2014-01-20_000-nova-verzija-openindiane.gmi new file mode 100644 index 0000000..d034899 --- /dev/null +++ b/articles/2014-01-20_000-nova-verzija-openindiane.gmi @@ -0,0 +1,14 @@ +# Nova verzija OpenIndiane + +Nova različica Open Indidane je prišla! Predvčerajšnjim so jo napovedali na Twitterju: + +> OpenIndiana 151a9 is available. Release notes: http://t.co/zNZpx7dlrz This is bugfix release only. +> +> — OpenIndiana (@OpenIndiana) January 18, 2014 + +Danes bo nekaj dela … in uptime bo spet na ničli ;) + +Postopek posodobitve. Releas Notes. + +In vse to se zgodi dan po tem, ko jamram, kako ni nobenih posodobitev … Očitno bo treba več jamrat, ali kaj +:) \ No newline at end of file diff --git a/articles/2014-01-20_001-nadgradnja-openindiane.gmi b/articles/2014-01-20_001-nadgradnja-openindiane.gmi new file mode 100644 index 0000000..1491e86 --- /dev/null +++ b/articles/2014-01-20_001-nadgradnja-openindiane.gmi @@ -0,0 +1,100 @@ +# Nadgradnja OpenIndiane + +Končno je prišla posodobitev OpenIndiane. Posodobitev ni na voljo kot ISO datoteka, ki bi omogočala čisto namestitev, ampak samo kot nadgradnja verzije 151a8. Nova različica je torej 151a9. + +Pa se lotimo … Navodila so tukaj. + +``` +matjaz@openindiana:~# pkg image-update -nv + Packages to install: 2 + Packages to update: 664 + Estimated space available: 214.66 GB +Estimated space to be consumed: 1.83 GB + Create boot environment: Yes + Activate boot environment: Yes +Create backup boot environment: No + Rebuild boot archive: Yes + +Changed packages: +openindiana.org + library/desktop/gdk-pixbuf + None -> 0.5.11,5.11-0.151.1.9:20140117T202422Z + system/library/orc + None -> 0.5.11,5.11-0.151.1.9:20140117T203342Z + SUNWarc + 0.5.11,5.11-0.133:20130721T131614Z -> 0.5.11,5.11-0.133:20140117T205427Z + SUNWbinutils + 2.19,5.11-0.133:20130721T122613Z -> 2.19,5.11-0.133:20140117T202105Z + SUNWcs + 0.5.11,5.11-0.151.1.8:20130721T131648Z -> 0.5.11,5.11-0.151.1.9:20140117T205456Z + SUNWcsd + 0.5.11,5.11-0.151.1.8:20130721T131713Z -> 0.5.11,5.11-0.151.1.9:20140117T205506Z + SUNWhea + 0.5.11,5.11-0.133:20130721T131809Z -> 0.5.11,5.11-0.133:20140117T205556Z + archiver/gnu-tar + 1.23,5.11-0.151.1.8:20130721T122038Z -> 1.23,5.11-0.151.1.9:20140117T201645Z + benchmark/bonnieplus + 1.3.3,5.11-0.151.1.8:20130721T122040Z -> 1.3.3,5.11-0.151.1.9:20140117T201646Z +... +``` + +Preverimo kaj se bo zgodilo s paketki … In naredimo backupe 😉 + +In potem … + +``` +matjaz@openindiana:~# pkg image-update -v +... +DOWNLOAD PKGS FILES XFER (MB) +service/network/ftp 609/666 6362/6912 220.6/249.0 +``` + +… + +``` +DOWNLOAD PKGS FILES XFER (MB) +Completed 666/666 6912/6912 249.0/249.0 + +PHASE ACTIONS +Removal Phase 7950/7950 +Install Phase 8503/8503 +Update Phase 9362/10213 +``` + +… + +``` +PHASE ITEMS +Package State Update Phase 1330/1330 +Package Cache Update Phase 664/664 +Image State Update Phase 2/2 + +``` +… + +``` +A clone of napp-it-mediatomb-addon-0.3 exists and has been updated and activated. +On the next boot the Boot Environment napp-it-mediatomb-addon-0.3-1 will be +mounted on '/'. Reboot when ready to switch to this updated BE. + +--------------------------------------------------------------------------- +NOTE: Please review release notes posted at: + +http://wiki.openindiana.org/oi/Release+Notes +--------------------------------------------------------------------------- +``` + +In to je to … Sledi še ponovni zagon in zadeva bi morala delat 🙂 Še prej pa še zadnji backup baze podatkov … za vsak slučaj. + +``` +matjaz@openindiana:~# reboot +``` + +Po ponovnem zagonu pa … + +``` +matjaz@openindiana:~$ uname -a +SunOS openindiana 5.11 oi_151a9 i86pc i386 i86pc Solaris +``` + +Torej uspeh :) \ No newline at end of file diff --git a/articles/2014-01-20_001-nadgradnja-openindiane.gmiq b/articles/2014-01-20_001-nadgradnja-openindiane.gmiq new file mode 100644 index 0000000..2fd6181 --- /dev/null +++ b/articles/2014-01-20_001-nadgradnja-openindiane.gmiq @@ -0,0 +1,98 @@ +# Nadgradnja OpenIndiane + +Končno je prišla posodobitev OpenIndiane. Posodobitev ni na voljo kot ISO datoteka, ki bi omogočala čisto namestitev, ampak samo kot nadgradnja verzije 151a8. Nova različica je torej 151a9. + +Pa se lotimo … Navodila so tukaj. + +``` +matjaz@openindiana:~# pkg image-update -nv + Packages to install: 2 + Packages to update: 664 + Estimated space available: 214.66 GB +Estimated space to be consumed: 1.83 GB + Create boot environment: Yes + Activate boot environment: Yes +Create backup boot environment: No + Rebuild boot archive: Yes + +Changed packages: +openindiana.org + library/desktop/gdk-pixbuf + None -> 0.5.11,5.11-0.151.1.9:20140117T202422Z + system/library/orc + None -> 0.5.11,5.11-0.151.1.9:20140117T203342Z + SUNWarc + 0.5.11,5.11-0.133:20130721T131614Z -> 0.5.11,5.11-0.133:20140117T205427Z + SUNWbinutils + 2.19,5.11-0.133:20130721T122613Z -> 2.19,5.11-0.133:20140117T202105Z + SUNWcs + 0.5.11,5.11-0.151.1.8:20130721T131648Z -> 0.5.11,5.11-0.151.1.9:20140117T205456Z + SUNWcsd + 0.5.11,5.11-0.151.1.8:20130721T131713Z -> 0.5.11,5.11-0.151.1.9:20140117T205506Z + SUNWhea + 0.5.11,5.11-0.133:20130721T131809Z -> 0.5.11,5.11-0.133:20140117T205556Z + archiver/gnu-tar + 1.23,5.11-0.151.1.8:20130721T122038Z -> 1.23,5.11-0.151.1.9:20140117T201645Z + benchmark/bonnieplus + 1.3.3,5.11-0.151.1.8:20130721T122040Z -> 1.3.3,5.11-0.151.1.9:20140117T201646Z +... +``` + +Preverimo kaj se bo zgodilo s paketki … In naredimo backupe 😉 + +In potem … + +``` +matjaz@openindiana:~# pkg image-update -v +... +DOWNLOAD PKGS FILES XFER (MB) +service/network/ftp 609/666 6362/6912 220.6/249.0 +``` +… + +``` +DOWNLOAD PKGS FILES XFER (MB) +Completed 666/666 6912/6912 249.0/249.0 + +PHASE ACTIONS +Removal Phase 7950/7950 +Install Phase 8503/8503 +Update Phase 9362/10213 +``` + +… + +``` +PHASE ITEMS +Package State Update Phase 1330/1330 +Package Cache Update Phase 664/664 +Image State Update Phase 2/2 +``` +… + +``` +A clone of napp-it-mediatomb-addon-0.3 exists and has been updated and activated. +On the next boot the Boot Environment napp-it-mediatomb-addon-0.3-1 will be +mounted on '/'. Reboot when ready to switch to this updated BE. + +--------------------------------------------------------------------------- +NOTE: Please review release notes posted at: + +http://wiki.openindiana.org/oi/Release+Notes +--------------------------------------------------------------------------- +``` + +In to je to … Sledi še ponovni zagon in zadeva bi morala delat 🙂 Še prej pa še zadnji backup baze podatkov … za vsak slučaj. + +``` +matjaz@openindiana:~# reboot +``` + +Po ponovnem zagonu pa … + +``` +matjaz@openindiana:~$ uname -a +SunOS openindiana 5.11 oi_151a9 i86pc i386 i86pc Solaris +``` + +Torej uspeh :) \ No newline at end of file diff --git a/articles/2014-01-20_001-nadgradnja-openindiane.gmi~ b/articles/2014-01-20_001-nadgradnja-openindiane.gmi~ new file mode 100644 index 0000000..1491e86 --- /dev/null +++ b/articles/2014-01-20_001-nadgradnja-openindiane.gmi~ @@ -0,0 +1,100 @@ +# Nadgradnja OpenIndiane + +Končno je prišla posodobitev OpenIndiane. Posodobitev ni na voljo kot ISO datoteka, ki bi omogočala čisto namestitev, ampak samo kot nadgradnja verzije 151a8. Nova različica je torej 151a9. + +Pa se lotimo … Navodila so tukaj. + +``` +matjaz@openindiana:~# pkg image-update -nv + Packages to install: 2 + Packages to update: 664 + Estimated space available: 214.66 GB +Estimated space to be consumed: 1.83 GB + Create boot environment: Yes + Activate boot environment: Yes +Create backup boot environment: No + Rebuild boot archive: Yes + +Changed packages: +openindiana.org + library/desktop/gdk-pixbuf + None -> 0.5.11,5.11-0.151.1.9:20140117T202422Z + system/library/orc + None -> 0.5.11,5.11-0.151.1.9:20140117T203342Z + SUNWarc + 0.5.11,5.11-0.133:20130721T131614Z -> 0.5.11,5.11-0.133:20140117T205427Z + SUNWbinutils + 2.19,5.11-0.133:20130721T122613Z -> 2.19,5.11-0.133:20140117T202105Z + SUNWcs + 0.5.11,5.11-0.151.1.8:20130721T131648Z -> 0.5.11,5.11-0.151.1.9:20140117T205456Z + SUNWcsd + 0.5.11,5.11-0.151.1.8:20130721T131713Z -> 0.5.11,5.11-0.151.1.9:20140117T205506Z + SUNWhea + 0.5.11,5.11-0.133:20130721T131809Z -> 0.5.11,5.11-0.133:20140117T205556Z + archiver/gnu-tar + 1.23,5.11-0.151.1.8:20130721T122038Z -> 1.23,5.11-0.151.1.9:20140117T201645Z + benchmark/bonnieplus + 1.3.3,5.11-0.151.1.8:20130721T122040Z -> 1.3.3,5.11-0.151.1.9:20140117T201646Z +... +``` + +Preverimo kaj se bo zgodilo s paketki … In naredimo backupe 😉 + +In potem … + +``` +matjaz@openindiana:~# pkg image-update -v +... +DOWNLOAD PKGS FILES XFER (MB) +service/network/ftp 609/666 6362/6912 220.6/249.0 +``` + +… + +``` +DOWNLOAD PKGS FILES XFER (MB) +Completed 666/666 6912/6912 249.0/249.0 + +PHASE ACTIONS +Removal Phase 7950/7950 +Install Phase 8503/8503 +Update Phase 9362/10213 +``` + +… + +``` +PHASE ITEMS +Package State Update Phase 1330/1330 +Package Cache Update Phase 664/664 +Image State Update Phase 2/2 + +``` +… + +``` +A clone of napp-it-mediatomb-addon-0.3 exists and has been updated and activated. +On the next boot the Boot Environment napp-it-mediatomb-addon-0.3-1 will be +mounted on '/'. Reboot when ready to switch to this updated BE. + +--------------------------------------------------------------------------- +NOTE: Please review release notes posted at: + +http://wiki.openindiana.org/oi/Release+Notes +--------------------------------------------------------------------------- +``` + +In to je to … Sledi še ponovni zagon in zadeva bi morala delat 🙂 Še prej pa še zadnji backup baze podatkov … za vsak slučaj. + +``` +matjaz@openindiana:~# reboot +``` + +Po ponovnem zagonu pa … + +``` +matjaz@openindiana:~$ uname -a +SunOS openindiana 5.11 oi_151a9 i86pc i386 i86pc Solaris +``` + +Torej uspeh :) \ No newline at end of file diff --git a/articles/2014-01-24_000-douglas-dc-6b.gmi b/articles/2014-01-24_000-douglas-dc-6b.gmi new file mode 100644 index 0000000..70b0d77 --- /dev/null +++ b/articles/2014-01-24_000-douglas-dc-6b.gmi @@ -0,0 +1,3 @@ +# Douglas DC-6B + +Ena slika iz arhiva. Douglas DC-6B Adrie Airways z registracijo YU-AFF. Na sliki je zvezdnati motor Pratt & Whitney R-2800-CB17, “Double Wasp”, 2.500 KM (1,900 kW) in propeler Hamilton Standard 43E60 “Hydromatic”. \ No newline at end of file diff --git a/articles/2014-01-25_000-s-p-q-r.gmi b/articles/2014-01-25_000-s-p-q-r.gmi new file mode 100644 index 0000000..61a66e0 --- /dev/null +++ b/articles/2014-01-25_000-s-p-q-r.gmi @@ -0,0 +1,3 @@ +# S·P·Q·R + +S·P·Q·R – Senatus Populusque Romanus — Rimski senat in ljudstvo. diff --git a/articles/2014-01-25_001-maribor.gmi b/articles/2014-01-25_001-maribor.gmi new file mode 100644 index 0000000..d07cebf --- /dev/null +++ b/articles/2014-01-25_001-maribor.gmi @@ -0,0 +1,3 @@ +Maribor + +Danes sem bil v Mariboru. Po dveh tednih :) diff --git a/articles/2014-01-31_000-nov-teden-nova-pustolovscina.gmi b/articles/2014-01-31_000-nov-teden-nova-pustolovscina.gmi new file mode 100644 index 0000000..e3f9195 --- /dev/null +++ b/articles/2014-01-31_000-nov-teden-nova-pustolovscina.gmi @@ -0,0 +1,11 @@ +# Nov teden, nova pustolovščina + +Danes po službi sem šel domov, pobral nekaj osnovnih stvari, zdaj pa v Koper. Nič neobičajnega. Če ne bi ravno ta teden nasul kake pol metra snega (give or take). In potem so problemi na avtocesti (sneg, pokvarjeni kamioni, led, drevje …). + +Ok, gremo na vlak. Zjutraj me na spletni strani železnic pričaka obvestilo … Proga proti primorski zaprta. + +Vse kaže, da je moj podvig obsojen na propad. Crash and burn. Pa ravno danes, ko je … Recimo, malo boćj pomembno kot kk drug dan. Pa dobro. Ko si nekaj vtepem v glavo, me res kvecjemu kak tank ustavi. Zima ne. + +No, in kaj se je zgodilo? Namesto vlaka so poslali avtobus. Kul. Ko je prišel, voznik ni vedel, če bo peljal in kam bo peljal. Izkazalo se je, da niti ni pravi. Peljal je v Sežano, jaz grem pa v Koper. Po dodatne tričetrt ure čakanja pride drugi bus. Ok, ta je pravi. Kmalu po tem odpeljemo. + +No, pa smo na poti. Pustolovščina se začenja. Še ena zgodba v nastajanju. diff --git a/articles/2014-02-08_000-ucinkovitost-pravnih-sistemov.gmi b/articles/2014-02-08_000-ucinkovitost-pravnih-sistemov.gmi new file mode 100644 index 0000000..6dbd3d9 --- /dev/null +++ b/articles/2014-02-08_000-ucinkovitost-pravnih-sistemov.gmi @@ -0,0 +1,6 @@ +# Učinkovitost pravnih sistemov + +> Legal systems are not supposed to be efficient. They are designed to ensure that innocent people are not found guilty. If that requires inefficiencies, so be it. +> The Economist + +Ni mišljeno, da bi bili pravni redi učinkoviti. Oblikovani so bili tako, da se zagotovi, da bodo nedolžni oproščeni. Če to zahteva neučinkovitost, naj bo tako. diff --git a/articles/2014-02-09_000-porocilo-eu-o-boju-proti-korupciji-razkriva-tezave-s-korupcijo-v-vsej-evropi.gmi b/articles/2014-02-09_000-porocilo-eu-o-boju-proti-korupciji-razkriva-tezave-s-korupcijo-v-vsej-evropi.gmi new file mode 100644 index 0000000..71dd0de --- /dev/null +++ b/articles/2014-02-09_000-porocilo-eu-o-boju-proti-korupciji-razkriva-tezave-s-korupcijo-v-vsej-evropi.gmi @@ -0,0 +1,3 @@ +# Poročilo EU o boju proti korupciji razkriva težave s korupcijo v vsej Evropi + +=> http://ec.europa.eu/news/justice/140206_sl.htm Poročilo EU o boju proti korupciji razkriva težave s korupcijo v vsej Evropi. diff --git a/articles/2014-02-25_000-prirast-postane-del-glavne-stvari.gmi b/articles/2014-02-25_000-prirast-postane-del-glavne-stvari.gmi new file mode 100644 index 0000000..f8a99c8 --- /dev/null +++ b/articles/2014-02-25_000-prirast-postane-del-glavne-stvari.gmi @@ -0,0 +1,3 @@ +# Prirast postane del glavne stvari + +Accessio cedit principali. Prirast postane del glavne stvari. diff --git a/articles/2014-02-26_000-zaradi-razkrivanja-neonacisticne-mreze-preganjajo-novinarko-dela.gmi b/articles/2014-02-26_000-zaradi-razkrivanja-neonacisticne-mreze-preganjajo-novinarko-dela.gmi new file mode 100644 index 0000000..24c42c9 --- /dev/null +++ b/articles/2014-02-26_000-zaradi-razkrivanja-neonacisticne-mreze-preganjajo-novinarko-dela.gmi @@ -0,0 +1,11 @@ +Zaradi razkrivanja neonacistične mreže preganjajo novinarko Dela + +Zaradi razkrivanja neonacistične mreže preganjajo novinarko Dela + +prek + +=> http://www.delo.si/novice/slovenija/zaradi-razkrivanja-neonacisticne-mreze-preganjajo-novinarko-dela.html Zaradi razkrivanja neonacistične mreže preganjajo novinarko Dela + +in + +=> http://www.delo.si/mnenja/komentarji/nedostojno_1.html Nedostojno. diff --git a/articles/2014-02-26_001-legislation-slovenia-lexadin.gmi b/articles/2014-02-26_001-legislation-slovenia-lexadin.gmi new file mode 100644 index 0000000..9b925b0 --- /dev/null +++ b/articles/2014-02-26_001-legislation-slovenia-lexadin.gmi @@ -0,0 +1,5 @@ +# Legislation Slovenia (Lexadin) + +Slovenska zakonodaja — v angleščini. Uporabno. + +=> http://www.lexadin.nl/wlg/legis/nofr/eur/lxweslv.htm Legislation Slovenia (Lexadin). diff --git a/articles/2014-02-28_000-gradnja-postane-del-zemljisca.gmi b/articles/2014-02-28_000-gradnja-postane-del-zemljisca.gmi new file mode 100644 index 0000000..58139db --- /dev/null +++ b/articles/2014-02-28_000-gradnja-postane-del-zemljisca.gmi @@ -0,0 +1,3 @@ +# Gradnja postane del zemljišča + +Superficies solo cedit. Kar je zgrajeno nad zemljiščem se šteje za del zemljišča. diff --git a/articles/2014-02-28_000-z-malenkostmi-s-sodisce-ne-ukvarja.gmi b/articles/2014-02-28_000-z-malenkostmi-s-sodisce-ne-ukvarja.gmi new file mode 100644 index 0000000..99ec5d3 --- /dev/null +++ b/articles/2014-02-28_000-z-malenkostmi-s-sodisce-ne-ukvarja.gmi @@ -0,0 +1,3 @@ +# Z malenkostmi s sodišče ne ukvarja + +De minimis non curat praetor. Z malenkostmi se sodišče (pretor) ne ukvarja. diff --git a/articles/2014-03-06_000-sodisce-pozna-pravo.gmi b/articles/2014-03-06_000-sodisce-pozna-pravo.gmi new file mode 100644 index 0000000..9277292 --- /dev/null +++ b/articles/2014-03-06_000-sodisce-pozna-pravo.gmi @@ -0,0 +1,3 @@ +# Sodišče pozna pravo + +Iura novit curia. Sodišče pozna pravo [, zato ga ni treba dokazovati]. diff --git a/articles/2014-03-07_000-dogovore-je-treba-spostovati.gmi b/articles/2014-03-07_000-dogovore-je-treba-spostovati.gmi new file mode 100644 index 0000000..3cb1222 --- /dev/null +++ b/articles/2014-03-07_000-dogovore-je-treba-spostovati.gmi @@ -0,0 +1,3 @@ +# Dogovore je treba spoštovati + +Pacta sunt servanda. Dogovore je treba spoštovati. diff --git a/articles/2014-03-20_000-pomald.gmi b/articles/2014-03-20_000-pomald.gmi new file mode 100644 index 0000000..f4b272a --- /dev/null +++ b/articles/2014-03-20_000-pomald.gmi @@ -0,0 +1,4 @@ +Pomlad + +Danes je prvi pomladni dan! Spomladansko enakonočje (equinox) pomeni, da Sonce sije pravokotno na ekvator. Danes se bo to zgodilo ob 17:57 CET (oz. 16:57 UTC). Po današnjem dnevu bo dan daljši od noči. Končno +:) \ No newline at end of file diff --git a/articles/2014-03-20_001-zakonita-korupcija.gmi b/articles/2014-03-20_001-zakonita-korupcija.gmi new file mode 100644 index 0000000..fbee575 --- /dev/null +++ b/articles/2014-03-20_001-zakonita-korupcija.gmi @@ -0,0 +1,3 @@ +Zakonita korupcija + +=> http://www.pedrovicente.org/legal.pdf Članek Daniela Kaufmana. diff --git a/articles/2014-03-24_000-sprehod.gmi b/articles/2014-03-24_000-sprehod.gmi new file mode 100644 index 0000000..55ee422 --- /dev/null +++ b/articles/2014-03-24_000-sprehod.gmi @@ -0,0 +1,3 @@ +# Sprehod + +Prvi malo športno naravnani sprehod letos. Za uvod v sezono. Od tu naprej pa samo hitreje, dlje, … \ No newline at end of file diff --git a/articles/2014-04-12_000-ocistimo-prah-s-kolesa.gmi b/articles/2014-04-12_000-ocistimo-prah-s-kolesa.gmi new file mode 100644 index 0000000..7ed8eb3 --- /dev/null +++ b/articles/2014-04-12_000-ocistimo-prah-s-kolesa.gmi @@ -0,0 +1,6 @@ +# Očistimo prah s kolesa + +Danes sem končno malo očistil prah s kolesa in se zapeljal prvih nekaj kilometrov. Manj kot načrtovano, ampak vseeno fajn. Kolo bo potrebovalo malo TLCja … servis najbrž … za fino nastavljanje prestav, zategovanje zavor itd. + +To je pa še pot(ka). Bi šel še dlje, ampak me je zmotil dež. In te gume v dežju … pač ne +“primejo”. \ No newline at end of file diff --git a/articles/2014-04-23_000-ocistimo-se-prah-s-superg.gmi b/articles/2014-04-23_000-ocistimo-se-prah-s-superg.gmi new file mode 100644 index 0000000..b9a272c --- /dev/null +++ b/articles/2014-04-23_000-ocistimo-se-prah-s-superg.gmi @@ -0,0 +1,16 @@ +# Očistimo prah še s superg + +Tako, pa sem končno prišel do pravega teka. Pet kilometrov, za prvič letos, niti ne slabo. Malo nad pol ure … Naslednjič bo boljše 🙂 + +Tek 5 km: + +[sgpx gpx=”/wp-content/uploads/gpx/20140423_160800.gpx”] + +Vrnitev: + +[sgpx gpx=”/wp-content/uploads/gpx/20140423_164600.gpx”] + +Superge so še vedno iste – Nike Dart 9. Tam do konca drugega kilometra je bilo težko, po tem pa sem se prebil … in je bilo nadaljevanje ok. Proti koncu – zadnji kilometer – je bilo spet težko. Ampak ne zaradi dihanja, zaradi nog. Zmanjkalo je goriva. + +Po vrnitvi domov pa … mala pojedina :) Tuna in malo kruha, pa seveda cedevita +:) \ No newline at end of file diff --git a/articles/2014-11-19_000-geneve.gmi b/articles/2014-11-19_000-geneve.gmi new file mode 100644 index 0000000..264be61 --- /dev/null +++ b/articles/2014-11-19_000-geneve.gmi @@ -0,0 +1,13 @@ +# Genève + +Ženeva po naše. Nova službena pot. Tokrat končno v malo bolj zahodne dele te celine. Ženeva v Švici. Tam je Urad visokega komisarja za človekove pravice. Imeli smo zagovor poročila o izvajanju pakta o ekonomskih, socialnih in kulturnih pravicah, moj del je bil pokrivanje področja korupcije. Nam je šlo kar vredu. + +No, po uspešnem zagovoru smo si še malo ogledali mesto. Ženeva je … draga, ampak lepa. Bi bilo za živet tam. Al pa vsaj it na dopust. Za par dni, ker si kaj več verjetno ne morem privoščit. + +Pot tja in nazaj — letalo. Adria leti do Zuricha, od tam naprej pa Lufthansa do Ženeve. Potovali smo skupaj. Cela skupina je bila na istem letalu. To je kar malo poenostavilo stvari. + +Lac Léman je res lep v tem času. Sicer je malo hladno, tako da ni ravno, da bi se človek šel kopat, smo se pa čez jezero do nasprotne obale zapeljali s čolnom. In po sprehodu šli nazaj peš. + +Malo smo se še sprehodili po mestu, kupili spominke, poslikali … Res je fajn, ko imaš v takšnem lepem mestu kaj prostega časa. + +In potem je sledil polet nazaj domov. Čez Alpe. Zasnežene. No … saj je vendar november. diff --git a/articles/2015-05-09_000-pot-ob-zici.gmi b/articles/2015-05-09_000-pot-ob-zici.gmi new file mode 100644 index 0000000..1486543 --- /dev/null +++ b/articles/2015-05-09_000-pot-ob-zici.gmi @@ -0,0 +1,3 @@ +# Pot ob žici + +Danes sem prvič od kar sem v Ljubljani šel na Pot ob žici!. 35 kilometrov hoje. Na pol umrl kakih trikrat. Naslednje leto grem spet, tokrat za res. Danes mi je zmanjkalo kake pol ure, da bi prišel na cilj pravočasno. Naslednjič mi medalja ne uide. diff --git a/articles/2015-05-27_000-beograd.gmi b/articles/2015-05-27_000-beograd.gmi new file mode 100644 index 0000000..fab9375 --- /dev/null +++ b/articles/2015-05-27_000-beograd.gmi @@ -0,0 +1,7 @@ +# Beograd + +Te dni potujem. Tokrat je na sporedu Beograd! Udeležil sem se konference, na kateri sem predstavil svoje delo – za politike v Beogradu. In kolege. Zadeva je več kot uspela, zanimanja je bilo ogromno. Mislim, da sem imel eno od bolj zanimivih prezentacij. Vse se je dogajalo v stavbi parlamenta, v katerem se vidi tudi sliko slovenske narodne noše. + +No … če delo pustimo malo ob strani, mi je uspelo tudi malo obhoditi Beograd. Našel sem še dva kolega, s katerima smo šli okoli, pa tudi nekaj pojest. Del ogleda smo opravili kar s turističnim avtobusom, ki so ga najeli organizatorji. Res so se potrudili. Gostoljubje je bilo res super. + +Eno večerjo smo imeli v poslanskem klubu. Ta objekt … no, pri nas si ga je težko zamisliti. Namenjen je bil poslancem, da so se tam v prostem času družili, plavali, igrali tenis, kadili cigare … So znali uživat takratni naši politiki. \ No newline at end of file diff --git a/articles/2015-06-03_000-stanovanje.gmi b/articles/2015-06-03_000-stanovanje.gmi new file mode 100644 index 0000000..8b39c64 --- /dev/null +++ b/articles/2015-06-03_000-stanovanje.gmi @@ -0,0 +1,3 @@ +Stanovanje + +No, tako pa zgleda najina rezidenca. To je sicer pisarna. In kabinet, jedilna miza, delovni kotiček … vse v enem. In roža. Tudi roža je tu. Vse, nič ne manjka. diff --git a/articles/2015-06-07_000-bohinj.gmi b/articles/2015-06-07_000-bohinj.gmi new file mode 100644 index 0000000..f86c1b2 --- /dev/null +++ b/articles/2015-06-07_000-bohinj.gmi @@ -0,0 +1,5 @@ +# Bohinj + +Kratek izlet na Bohinj. Vreme je bilo kot naročeno, Bohinj pa kot na razglednici. Malo sva se sprehodila ob jezeru, pod plezalno steno … Pojedla sva super kosilo in že je bil večer, ko je bilo treba nazaj. Ampak ni šlo brez tega, da bi se ustavila še na Bledu! + +In kot rečeno, Bled je bil lep. Nekak se mi zdi, da nama Bled res sede :) Kava, kremšnite, jezero … \ No newline at end of file diff --git a/articles/2015-10-01_000-okrogla-miza-o-supervizorju.gmi b/articles/2015-10-01_000-okrogla-miza-o-supervizorju.gmi new file mode 100644 index 0000000..ffa099e --- /dev/null +++ b/articles/2015-10-01_000-okrogla-miza-o-supervizorju.gmi @@ -0,0 +1,5 @@ +# Okrogla miza o Supervizorju + +Danes je bila okrogla miza na temo Supervizorja. Napolnili smo Kinoteko, prišlo je okoli 100 ljudi. Komentarjev se bom zaradi osebne vpletenosti v projekt vzdržal, je pa tukaj en zanimiv pogled na debato, vključno z video posnetkom okrogle mize. + +=> https://www.dsavic.net/2015/10/01/kako-do-odprte-druzbe-primer-supervizor/ Kako do odprte družbe \ No newline at end of file diff --git a/articles/2015-10-01_000-okrogla-miza-o-supervizorju.gmi~ b/articles/2015-10-01_000-okrogla-miza-o-supervizorju.gmi~ new file mode 100644 index 0000000..79b3891 --- /dev/null +++ b/articles/2015-10-01_000-okrogla-miza-o-supervizorju.gmi~ @@ -0,0 +1,6 @@ +# Okrogla miza o Supervizorju + +Danes je bila okrogla miza na temo Supervizorja. Napolnili smo Kinoteko, prišlo je okoli 100 ljudi. Komentarjev se bom zaradi osebne vpletenosti v projekt vzdržal, je pa tukaj en zanimiv pogled na debato, vključno z video posnetkom okrogle +mize. + +=> https://www.dsavic.net/2015/10/01/kako-do-odprte-druzbe-primer-supervizor/ Kako do odprte družbe \ No newline at end of file diff --git a/articles/2015-10-01_000-smarna-gora.gmi b/articles/2015-10-01_000-smarna-gora.gmi new file mode 100644 index 0000000..3a0932d --- /dev/null +++ b/articles/2015-10-01_000-smarna-gora.gmi @@ -0,0 +1,3 @@ +# Šmarna gora + +Ja … danes smo šli na Šmarno goro. Ni kaj, je hrib. Ni ravno Pohorje, ampak ok, za začetek bo. diff --git a/articles/2015-10-08_000-pogled-iz-nove-pisarne.gmi b/articles/2015-10-08_000-pogled-iz-nove-pisarne.gmi new file mode 100644 index 0000000..f9522e6 --- /dev/null +++ b/articles/2015-10-08_000-pogled-iz-nove-pisarne.gmi @@ -0,0 +1,4 @@ +Pogled iz nove pisarne + +Po premestitvi sem se premestil še v drugo pisarno. Razgled je … na Bežigrad, proti železniški postaji in mestu. No ja, bo že +:) \ No newline at end of file diff --git a/articles/2015-10-09_000-kava.gmi b/articles/2015-10-09_000-kava.gmi new file mode 100644 index 0000000..3272d69 --- /dev/null +++ b/articles/2015-10-09_000-kava.gmi @@ -0,0 +1,3 @@ +# Kava + +No, v bistvu kavovec. Ta je moj drugi. Prvi … ni preživel. Pa je že zgledalo, da bom lahko poskrbel za samooskrbo s kavo. Potem pa je propadel. Enkrat pozabiš zalit, pa je konec 🙁 Upam, da bo s tem kaj boljše! diff --git a/articles/2015-10-20_000-mac-os-x-dve-aplikaciji-v-polnem-zaslonu.gmi b/articles/2015-10-20_000-mac-os-x-dve-aplikaciji-v-polnem-zaslonu.gmi new file mode 100644 index 0000000..1daf936 --- /dev/null +++ b/articles/2015-10-20_000-mac-os-x-dve-aplikaciji-v-polnem-zaslonu.gmi @@ -0,0 +1,4 @@ +# Mac OS X dve aplikaciji v polnem zaslonu + +MacOSX omogoča po novem dve aplikaciji v celozaslonskem načinu. Uporabna funkcija, ki pride prav na velikem zaslonu. Posnetki, kako se to naredi, so na voljo +spodaj: \ No newline at end of file diff --git a/articles/2015-10-21_000-kriminalisticni-muzej.gmi b/articles/2015-10-21_000-kriminalisticni-muzej.gmi new file mode 100644 index 0000000..f74adc6 --- /dev/null +++ b/articles/2015-10-21_000-kriminalisticni-muzej.gmi @@ -0,0 +1,3 @@ +# Kriminalistični muzej + +Danes smo šli v kriminalistični muzej v Tacnu. Deluje v okviru Policijske akademije. Ogled je bil zanimiv, pogovorili smo se o vsem mogočem v zvezi s policijo v preteklosti. Se izplača! \ No newline at end of file diff --git a/articles/2015-10-30_000-nov-kul-lokal-za-pit-belgijsko-pivo.gmi b/articles/2015-10-30_000-nov-kul-lokal-za-pit-belgijsko-pivo.gmi new file mode 100644 index 0000000..8980ff9 --- /dev/null +++ b/articles/2015-10-30_000-nov-kul-lokal-za-pit-belgijsko-pivo.gmi @@ -0,0 +1,5 @@ +# Nov kul lokal za pit belgijsko pivo + +am … je v Belgiji … + +Westmalle Trappist Dubbel. Malo močnejše pivo, ampak res zanimivo. V belgiji je teh 3 deci veliko pivo. Pol litrskega niti ne dobiš. Ta konkreten je bil ravno prav po končanem delu – zvečer v družbi z novimi prijatelji. diff --git a/articles/2015-10-31_000-gent-belgija.gmi b/articles/2015-10-31_000-gent-belgija.gmi new file mode 100644 index 0000000..ac03efc --- /dev/null +++ b/articles/2015-10-31_000-gent-belgija.gmi @@ -0,0 +1,35 @@ +# Gent, Belgija + +Te dni spet malo potujem po Evropi. Tokrat me je službena pot vodila v Belgijo, v Gent. Z Belgijci, Avstrijci, Estonci in Nizozemci sodelujemo v zanimivem projektu s področja integritete in tokrat imamo drugo srečanje mreže. Srečanj poteka med 28. in 30. oktobrom, gosti pa ga Urad za integriteto Flamske vlade. +## Brnik + +No, pa gremo. Karte so kupljene, na Brniku pa smo tudi prišli skozi mejno kontrolo – brez težav! + +Tokrat letim z dvema letaloma – prvo z Brnika do Dunaja in potem z Dunaja do Bruslja. Ker imam e-karto v e-pošti, mi Google to lepo pokaže: + +Z Brnika gremo z Adrio. Standard. Polet je kratek, dobre tričetrt ure za vse skupaj. +## Dunaj + +Na Dunaju pa se začne čakanje. Časa je ravno toliko, da ne morem v mesto, po drugi strani pa je časa več kot dovolj za sedet na letališču. Na srečo imajo res udobne sedeže – mini pisarne. Tukaj lahko napolniš baterijo telefona in računalnika, internet deluje. Lahko pišem blog 😉 + +Ves čas je kar živahno. Za trenutek pa se je vseeno izpraznilo in sem naredil eno sliko skoraj praznega terminala. + +No, z Dunajem smo za nekaj časa opravili. Končno je prišel čas za odhod. Z drugim letalom letimo proti Bruslju. Ta polet je malo daljši, traja skoraj dve uri. Letimo z Austrian Airlines. Nič posebnega, vse mirno. +## Bruselj + +Končno v Belgiji! Čas se že malo izteka. Pot od letališča do vlaka je trajala malo več, kot sem predvideval. Na tesno bo šlo. Do Genta imam še eno uro, potem pa še tam po mestu približno pol ure. Ob štirih bi pa moral biti že v hotelu. Ne bo se izšlo. Ok, bom malo zamudil. Ne bo problema, vse se začne z druženjem ob pijači. Bom ta del preskočil. Z vlakom sem imel malo sreče. Ravno sem ga ujel tik pred odhodom. Sem si kar malo oddahnil. Pot iz Bruslja v Gent je minila kar hitro. Na poti sem malo opazoval okolico. Nič posebnega. Tudi vlak ne prav dosti drugačen od naših. Ok, malo hitrejši je. + +Letališče v Bruslju je pa ogromno. In daleč je treba pešačiti. Za pot nazaj si je treba vzet malo več časa. +## Gent + +No, delo je potekalo super. Sodelujoči na projektu so res pravi strokovnjaki na področju integritete in je pravo veselje spoznavati njihovo prakso. Veliko se lahko naučim od njih. No, pa tudi oni od nas. Na tem področju smo kar napredni, tudi za zahodno Evropo. + +Drugi dan je bilo celo nekaj časa, da smo se z ladjico peljali po kanalih Genta. To je bilo včasih zelo pomembno trgovsko mesto in ima bogato zgodovino. Vse se odraža tudi na arhitekturi. + +Petek je! Zadnji dan smo obiskali tudi sedež Flamske vlade v Gentu. Ni ravno centralni sedež, v vsakem večjem mestu imajo eno stavbo. Vedno v bližini železniške postaje. Stavba je zelo visoka in ponuja lep razgled! + +Po še zadnjih delavnicah je bil čas za odhod. Na poti nazaj sem imel celo družbo del poti. Tudi kolegica iz Estonije je šla na letališče v Bruslju, tako da sva se še malo pogovarjala na vlaku. + +Na letališču sem imel spet nekaj časa. Na srečo sem prišel dovolj zgodaj, da mi ni bilo treba preveč hitet. Še malo pa sem bil spet na poti proti domu! + +Tako se zaključi še ena lepa pot. Res je bilo zanimivo. Toliko novih spoznanj v treh dneh ni bilo že dolgo. In Belgija je tudi lepa, bo treba it še kdaj. \ No newline at end of file diff --git a/articles/2015-10-31_000-gent-belgija.gmi~ b/articles/2015-10-31_000-gent-belgija.gmi~ new file mode 100644 index 0000000..5cc04c4 --- /dev/null +++ b/articles/2015-10-31_000-gent-belgija.gmi~ @@ -0,0 +1,35 @@ +# Gent, Belgija + +Te dni spet malo potujem po Evropi. Tokrat me je službena pot vodila v Belgijo, v Gent. Z Belgijci, Avstrijci, Estonci in Nizozemci sodelujemo v zanimivem projektu s področja integritete in tokrat imamo drugo srečanje mreže. Srečanj poteka med 28. in 30. oktobrom, gosti pa ga Urad za integriteto Flamske vlade. +Brnik + +No, pa gremo. Karte so kupljene, na Brniku pa smo tudi prišli skozi mejno kontrolo – brez težav! + +Tokrat letim z dvema letaloma – prvo z Brnika do Dunaja in potem z Dunaja do Bruslja. Ker imam e-karto v e-pošti, mi Google to lepo pokaže: + +Z Brnika gremo z Adrio. Standard. Polet je kratek, dobre tričetrt ure za vse skupaj. +## Dunaj + +Na Dunaju pa se začne čakanje. Časa je ravno toliko, da ne morem v mesto, po drugi strani pa je časa več kot dovolj za sedet na letališču. Na srečo imajo res udobne sedeže – mini pisarne. Tukaj lahko napolniš baterijo telefona in računalnika, internet deluje. Lahko pišem blog 😉 + +Ves čas je kar živahno. Za trenutek pa se je vseeno izpraznilo in sem naredil eno sliko skoraj praznega terminala. + +No, z Dunajem smo za nekaj časa opravili. Končno je prišel čas za odhod. Z drugim letalom letimo proti Bruslju. Ta polet je malo daljši, traja skoraj dve uri. Letimo z Austrian Airlines. Nič posebnega, vse mirno. +## Bruselj + +Končno v Belgiji! Čas se že malo izteka. Pot od letališča do vlaka je trajala malo več, kot sem predvideval. Na tesno bo šlo. Do Genta imam še eno uro, potem pa še tam po mestu približno pol ure. Ob štirih bi pa moral biti že v hotelu. Ne bo se izšlo. Ok, bom malo zamudil. Ne bo problema, vse se začne z druženjem ob pijači. Bom ta del preskočil. Z vlakom sem imel malo sreče. Ravno sem ga ujel tik pred odhodom. Sem si kar malo oddahnil. Pot iz Bruslja v Gent je minila kar hitro. Na poti sem malo opazoval okolico. Nič posebnega. Tudi vlak ne prav dosti drugačen od naših. Ok, malo hitrejši je. + +Letališče v Bruslju je pa ogromno. In daleč je treba pešačiti. Za pot nazaj si je treba vzet malo več časa. +## Gent + +No, delo je potekalo super. Sodelujoči na projektu so res pravi strokovnjaki na področju integritete in je pravo veselje spoznavati njihovo prakso. Veliko se lahko naučim od njih. No, pa tudi oni od nas. Na tem področju smo kar napredni, tudi za zahodno Evropo. + +Drugi dan je bilo celo nekaj časa, da smo se z ladjico peljali po kanalih Genta. To je bilo včasih zelo pomembno trgovsko mesto in ima bogato zgodovino. Vse se odraža tudi na arhitekturi. + +Petek je! Zadnji dan smo obiskali tudi sedež Flamske vlade v Gentu. Ni ravno centralni sedež, v vsakem večjem mestu imajo eno stavbo. Vedno v bližini železniške postaje. Stavba je zelo visoka in ponuja lep razgled! + +Po še zadnjih delavnicah je bil čas za odhod. Na poti nazaj sem imel celo družbo del poti. Tudi kolegica iz Estonije je šla na letališče v Bruslju, tako da sva se še malo pogovarjala na vlaku. + +Na letališču sem imel spet nekaj časa. Na srečo sem prišel dovolj zgodaj, da mi ni bilo treba preveč hitet. Še malo pa sem bil spet na poti proti domu! + +Tako se zaključi še ena lepa pot. Res je bilo zanimivo. Toliko novih spoznanj v treh dneh ni bilo že dolgo. In Belgija je tudi lepa, bo treba it še kdaj. \ No newline at end of file diff --git a/articles/2015-11-03_000-ljubljana.gmi b/articles/2015-11-03_000-ljubljana.gmi new file mode 100644 index 0000000..a938a44 --- /dev/null +++ b/articles/2015-11-03_000-ljubljana.gmi @@ -0,0 +1,3 @@ +# Ljubljana + +Te dni je res lepo vreme. Po prestavitvi ure na zimski čas je sicer nekaj prej temno, ampak to ne pokvari dejstva, da je ob večerih v Ljubljani v bistvu OK. Vreme je lepo, temperature niso prenizke … je ok. No … ni pa to Maribor, da smo si na jasnem :) diff --git a/articles/2015-11-03_001-back-to-the-future-2.gmi b/articles/2015-11-03_001-back-to-the-future-2.gmi new file mode 100644 index 0000000..9eac13b --- /dev/null +++ b/articles/2015-11-03_001-back-to-the-future-2.gmi @@ -0,0 +1,5 @@ +# Back to the Ftuture 2 + +Sej vem, vsi pišejo o tem, kaj vse iz teh filmov se je uresničilo, ampak res je fascinantno, kako so v 1989 (Back to the Future II) predvideli nekatere stvari, ki so se letos dejansko zgodile. Na primer nov Star Wars film, obsesija s 3d filmi, tablični računalniki, video konference … + +Film je bil res vizionarski. \ No newline at end of file diff --git a/articles/2015-11-03_002-rezidenca.gmi b/articles/2015-11-03_002-rezidenca.gmi new file mode 100644 index 0000000..b78aca3 --- /dev/null +++ b/articles/2015-11-03_002-rezidenca.gmi @@ -0,0 +1,7 @@ +# Rezidenca + +No, to pa je najina rezidenca. To je seveda smo za čez leto, v prostem času gremo raje kam drugam. V bistvu počasi začenjava vse predpisane procedure za menjavo te palače za kaj bolj udobnega (domača trdnjava bi bila super). + +Razlogi? Malo sva naveličana teh prostornih soban v katerih se človek kar izgubi, preveč prostora, nikakor ne moreš dovolj napolnit sobe in posledično ne postane domača. Tudi kuhinjski prostori so preobsežni, delovnih površin je toliko, da morava ves čas samo kuhati, da vsaj približno zgleda, kot da tukaj živiva. + +Ja … ta post lahko uporabite tudi za kalibriranje detektorja sarkazma. Mora na polno piskati \ No newline at end of file diff --git a/articles/2015-11-03_003-razlike-v-zmogljivosti-streznikov-in-laptopov.gmi b/articles/2015-11-03_003-razlike-v-zmogljivosti-streznikov-in-laptopov.gmi new file mode 100644 index 0000000..bde8577 --- /dev/null +++ b/articles/2015-11-03_003-razlike-v-zmogljivosti-streznikov-in-laptopov.gmi @@ -0,0 +1,3 @@ +# Razlike v zmogljivosti strežnikov in laptopov + +Zanimivo, stari Sunfire v20z je še vedno malo zmogljivejši od HP Proliant Microserverja … ampak MacBook Air iz 2011 ju poseka oba. Hkrati. \ No newline at end of file diff --git a/articles/2015-11-04_000-kul-fotka.gmi b/articles/2015-11-04_000-kul-fotka.gmi new file mode 100644 index 0000000..6ae02f7 --- /dev/null +++ b/articles/2015-11-04_000-kul-fotka.gmi @@ -0,0 +1,3 @@ +# Kul fotka + +Včasih mi uspe kakšna res lepa fotografija. Ta je ena izmed teh. Ko sem jo posnel, se mi sploh ni zdela tako posebna, šele, ko sem jo videl na malo večjem zaslonu, sem ugotovil, da je v bistvu res kul. \ No newline at end of file diff --git a/articles/2015-11-05_000-dell-unix.gmi b/articles/2015-11-05_000-dell-unix.gmi new file mode 100644 index 0000000..75cf8c9 --- /dev/null +++ b/articles/2015-11-05_000-dell-unix.gmi @@ -0,0 +1,13 @@ +# Dell UNIX + +En od starih UNIXov … Dell Unix v 2.2. + +Instaliral sem samo konzolni način, namizja ni šlo. Nekateri so ga sicer postavili na noge, meni pa žal ni uspelo. Še. Gre za starejši sistem, ki je bil predviden za delovanje na procesorjih 486. Bil je eden izmed prvih portov UNIX-a na Intel platformo. Hkrati je bil to tudi eden izmed bolj zrelih in boljših portov na to platformo. + +Dell je prodajal računalnike. Na njih je zraven prodajal tudi svojo verzijo operacijskega sistema UNIX. Ta konkreten sistem je iz leta 1992. Sicer pa ima vse kar bi pričakovali od rahlo zastarelega sistema. Med drugim ima sistem vključen tudi prevajalnik jezika C, tako da je mogoče na njem prevesti kakšen program. + +Program je prišel na distribucijskem mediju kaseti. Dell UNIX je veljal za eno od boljših implementacij UNIX na platformi x86. Sun, IBM in celo Bel Labs so ga uporabljali kot referenčni sistem na tej platformi in prosili Dell za pomoč pri izdelavi njihovih sistemov. + +=> http://virtuallyfun.superglobalmegacorp.com/2012/03/20/dell-unix-lives-again/ Več o postopku, kako spraviti sistem v delujoče stanje … tukaj. + +=> http://technologists.com/notes/2008/01/10/a-brief-history-of-dell-unix/ Več o zgodovini sistema lahko preberete tukaj. diff --git a/articles/2015-11-05_000-dell-unix.gmi~ b/articles/2015-11-05_000-dell-unix.gmi~ new file mode 100644 index 0000000..c46bd4b --- /dev/null +++ b/articles/2015-11-05_000-dell-unix.gmi~ @@ -0,0 +1,13 @@ +# Dell UNIX + +En od starih UNIXov … Dell Unix v 2.2. + +Instaliral sem samo konzolni način, namizja ni šlo. Nekateri so ga sicer postavili na noge, meni pa žal ni uspelo. Še. Gre za starejši sistem, ki je bil predviden za delovanje na procesorjih 486. Bil je eden izmed prvih portov UNIX-a na Intel platformo. Hkrati je bil to tudi eden izmed bolj zrelih in boljših portov na to platformo. + +Dell je prodajal računalnike. Na njih je zraven prodajal tudi svojo verzijo operacijskega sistema UNIX. Ta konkreten sistem je iz leta 1992. Sicer pa ima vse kar bi pričakovali od rahlo zastarelega sistema. Med drugim ima sistem vključen tudi prevajalnik jezika C, tako da je mogoče na njem prevesti kakšen program. + +Program je prišel na distribucijskem mediju kaseti. DelUNIX je veljal za eno od boljših implementacij UNIX na platformi x86. Sun, IBM in celo Bel Labs so ga uporabljali kot referenčni sistem na tej platformi in prosili Dell za pomoč pri izdelavi njihovih sistemov. + +=> http://virtuallyfun.superglobalmegacorp.com/2012/03/20/dell-unix-lives-again/ Več o postopku, kako spraviti sistem v delujoče stanje … tukaj. + +=> http://technologists.com/notes/2008/01/10/a-brief-history-of-dell-unix/ Več o zgodovini sistema lahko preberete tukaj. diff --git a/articles/2015-11-05_001-roza.gmi b/articles/2015-11-05_001-roza.gmi new file mode 100644 index 0000000..0b02216 --- /dev/null +++ b/articles/2015-11-05_001-roza.gmi @@ -0,0 +1,19 @@ +# Roža + +Edina roža, ki po kakem letu še dejansko živi v tem stanovanju je ta kavovec. Pa se tudi ta nekam slabo drži. Ko sem ga kupil, je imel okoli 10 rastlin, zdaj so ostale le še tri. Upam, da bo zdržal še nekaj časa. Bi ga pa bilo verjetno treba presadit v bližnji prihodnosti. + +Kavovec. Navodila s spletne strani Spar … tudi slika je od tam in kaže, kako bi moral zdaj zgledat moj … + +RASTLINA TEDNA IN NASVETI ZA GOJENJE + +Kavovec v skodelici (Coffee plant) + +NASVETI ZA GOJENJE: + +TEMPERATURA: Sobna temperatura, okoli 20°C. +PROSTOR: Rastlino postavimo na prostor z delnim soncem. +ZALIVANJE: Redno zalivanje, zemlja se ne sme nikoli izsušiti. +GNOJENJE: 2x mesečno s tekočim gnojilom v času rasti, pozimi samo 1x mesečno. +PRESAJANJE: Glede na velikost rastline, jo je potrebno vsako pomlad presaditi v večji lonček. + +=> https://www.spar.si/sl_SI/aktualno/aktualne-promocije/rastlina-tedna-in-nasveti-za-gojenje0/kavovec-v-skodelici.html Vir diff --git a/articles/2015-11-08_000-special-no-03-buckwheat.gmi b/articles/2015-11-08_000-special-no-03-buckwheat.gmi new file mode 100644 index 0000000..5be4190 --- /dev/null +++ b/articles/2015-11-08_000-special-no-03-buckwheat.gmi @@ -0,0 +1,11 @@ +Special No 03 Buckwheat + +Danes je bil aktiven dan. Malo sva šla okoli, pospravljala doma, v glavnem cel dan zapolnjen. Konec dneva se je prilegel ta … Special No 03 Buckwheat. + +Po okusu je očitno drugačen od običajnega Laškega. Svetli ležak iz ajde. Ajda poskrbi za res zanimiv okus. Pivo je zelo pitno, lahko. + +Vonj je tudi drugačen. Nič kaj podoben običajnemu, bolj cvetličen, bolj sladek. + +Celoten paket je všečen. Zapakiran v to majhno stekleničko, ravno prav za zvečer ob filmu. + +=> http://pivo-man.blogspot.si/2015/09/lasko-special-no-3-buckwheat.html Nekaj več se da prebrati tukaj. diff --git a/articles/2015-11-08_001-poskus-z-netbsd.gmi b/articles/2015-11-08_001-poskus-z-netbsd.gmi new file mode 100644 index 0000000..5b5fee4 --- /dev/null +++ b/articles/2015-11-08_001-poskus-z-netbsd.gmi @@ -0,0 +1,9 @@ +Poskus z NetBSD + +No, pa smo preizkusili NetBSD. Instalacija je bila relativno hitra, sistem je zelo majhen. Po tem pa se začnejo problemi. + +Ni ravno user friendly. Ni ravno enostavno instalirati dodatnih programov. Poskusil sem z osnovnimi stvarmi, Apache, PHP, MySQL … Po nekaj časa sem ugotovil kako to narediš, ampak ni bilo ravno enostavno. Sistem ne pomaga prav veliko. + +Povsem drugačna izkušnja kot s Solarisom ali Linuxom. No … nisem še obupal, bom še poskusil, ampak bo pa treba vložiti nekaj truda. Kar pomeni, da je ravno prav zanimivo za moje ekperimente. + +Uf, BTW, ta modri zaslon ni zaslon smrti, to je samo instalacijski program :) \ No newline at end of file diff --git a/articles/2015-11-09_000-krpan.gmi b/articles/2015-11-09_000-krpan.gmi new file mode 100644 index 0000000..ababb06 --- /dev/null +++ b/articles/2015-11-09_000-krpan.gmi @@ -0,0 +1,7 @@ +Krpan + +Še eno izmed novejših piv iz Laškega – Special Krpan. To je temnejše pivo z res sladkim okusom – skoraj medenim. Prvič je bil zvarjen leta 1985 (najboljše leto – itak). Malo močnejše – 11 %. Barva je lepa bakrena, vonj pa prav tako kot okus – sladek, skoraj meden. Alkohola – kljub temu, da ga je toliko, se skoraj ne občuti. + +Aftertaste je kar grenek, ampak to od malo temnejšega piva tudi pričakujem. Dobro pivo za ob filmu. + +=> http://pivo-man.blogspot.si/2015/10/lasko-special-krpan.html Več lahko spet preberete tukaj. diff --git a/articles/2015-11-11_000-kisla-cesnja.gmi b/articles/2015-11-11_000-kisla-cesnja.gmi new file mode 100644 index 0000000..a8056a4 --- /dev/null +++ b/articles/2015-11-11_000-kisla-cesnja.gmi @@ -0,0 +1,7 @@ +Kisla češnja + +11.11.2015 + +Še eno pivo iz Laškega. Še eno v seriji Special. In tudi to je zanimivo. Malo bolj sladko, Laško Special Sour Cherry and Chestnut. Aromatizirano pivo, ki res lepo sede ob večeru med kakšnim dobrim filmom. Lep konec dneva. + +=> http://pivo-man.blogspot.si/2015/06/lasko-special-no-2-sour-cherry-chestnut.html Več o pivu lahko preberete tukaj. diff --git a/articles/2015-11-13_000-edward-snowden-interview-with-dagens-nyheter-dn-fokus.gmi b/articles/2015-11-13_000-edward-snowden-interview-with-dagens-nyheter-dn-fokus.gmi new file mode 100644 index 0000000..1f1ce8f --- /dev/null +++ b/articles/2015-11-13_000-edward-snowden-interview-with-dagens-nyheter-dn-fokus.gmi @@ -0,0 +1,7 @@ +Edward Snowden interview with Dagens Nyheter – DN Fokus + +> Read Dagens Nyheters @LenaSundstrom and @Lotta_Hardelin interview with Edward Snowden. @dagensnyheter #DNSnowden + +=> http://fokus.dn.se/edward-snowden-english/ Izvor: Edward Snowden interview with Dagens Nyheter – DN Fokus + +=> http://fokus.dn.se/edward-snowden-english/ Preberi članek diff --git a/articles/2015-11-13_001-megla.gmi b/articles/2015-11-13_001-megla.gmi new file mode 100644 index 0000000..a309334 --- /dev/null +++ b/articles/2015-11-13_001-megla.gmi @@ -0,0 +1,7 @@ +# Megla + +danes je en od tistih butastih dni, ko se megla v Ljubljani zadrži cel dan. Cel dan! Šele popoldan se je malo začelo kazati sonce. V takih dnevi, ko ni sonca, tudi vsa ostala motivacija strmo pade. + +Ni nam lahko. Ampak na srečo je danes petek! + +Petek … Petek 13. diff --git a/articles/2015-11-15_000-preobuli-smo-avto.gmi b/articles/2015-11-15_000-preobuli-smo-avto.gmi new file mode 100644 index 0000000..bec0260 --- /dev/null +++ b/articles/2015-11-15_000-preobuli-smo-avto.gmi @@ -0,0 +1,3 @@ +# Preobuli smo avto + +Gor smo spravili nove zimske Continentalke … Stare gume pa so šle direkt v smeti. Stare, razpokane. Niso več uporabne. Spomladi bo še en tak strošek za gume. Bo treba začet šparat. Avto so samo stroški … \ No newline at end of file diff --git a/articles/2015-11-22_000-kako-prikazati-seznam-datotek.gmi b/articles/2015-11-22_000-kako-prikazati-seznam-datotek.gmi new file mode 100644 index 0000000..d979537 --- /dev/null +++ b/articles/2015-11-22_000-kako-prikazati-seznam-datotek.gmi @@ -0,0 +1,15 @@ +# Kako prikazati seznam datotek + +En trik, kako prikazati seznam datotek v direktoriju na sistemu UNIX – brez uporabe ukaza ls. Včasih orodje pač ni na voljo … Sploh v kakšnem starem UNIXU, ki se ni zagnal popolnoma, ali pa instalacija ni popolna. Uporabno orodje pri digitalni arheologiji. + +Najlažje in najhitreje gre tako: + +``` +echo * +``` + +Naslednja možnost, ta prikaže še skrite datoteke: + +``` +echo * .* +``` \ No newline at end of file diff --git a/articles/2015-11-30_000-siska.gmi b/articles/2015-11-30_000-siska.gmi new file mode 100644 index 0000000..873240e --- /dev/null +++ b/articles/2015-11-30_000-siska.gmi @@ -0,0 +1,3 @@ +# Šiška + +Zadnje čase tu okoli razkopavajo. Popravljajo nekaj na vročevodu. Bolj zanimivo kot to kopanje jarkov in polaganje cevi je oprema, ki jo pri tem uporabljajo. Najbolj zanimiv je ta tovornjak z dvigalom. Zgleda kot da bi ga bili bolj veseli v tehničnem muzeju kot pa na gradbišču. \ No newline at end of file diff --git a/articles/2015-11-30_001-novo-zivljenje.gmi b/articles/2015-11-30_001-novo-zivljenje.gmi new file mode 100644 index 0000000..2eb6c10 --- /dev/null +++ b/articles/2015-11-30_001-novo-zivljenje.gmi @@ -0,0 +1,5 @@ +# Novo življenje + +Nove rastline v bistvu. Zadnjič, ko sem šel v trgovino, sem mimogrede kupil še božično žito. In sem ga posejal v domačo njivo – stekleno posodo. + +Zdaj čakamo, da vzklije in zraste. Da vidimo, če bom lahko vsaj za to zadevo poskrbel, ne da mi umre. diff --git a/articles/2015-11-30_001-novo-zivljenje.gmi~ b/articles/2015-11-30_001-novo-zivljenje.gmi~ new file mode 100644 index 0000000..747cec0 --- /dev/null +++ b/articles/2015-11-30_001-novo-zivljenje.gmi~ @@ -0,0 +1,5 @@ +# Novo življenje + +Nove rastline v bistvu. Zadnjič, ko sva šla v trgovino, sva mimogrede kupila še božično žito. In sva ga posejala v domačo njivo – stekleno posodo. + +Zdaj čakamo, da vzklije in zraste. Da vidimo, če bova lahko vsaj za to zadevo poskrbela, ne da nama umre. diff --git a/articles/2015-12-01_000-konec-za-danes.gmi b/articles/2015-12-01_000-konec-za-danes.gmi new file mode 100644 index 0000000..ff77efe --- /dev/null +++ b/articles/2015-12-01_000-konec-za-danes.gmi @@ -0,0 +1,3 @@ +Konec za danes + +Winter is coming. Ko končam z delom je že skoraj tema. Tokrat je sonce naredilo res lepo nebo. Vsaj nekaj, če že toplo ne more bit :) \ No newline at end of file diff --git a/articles/2015-12-03_000-nova-tema.gmi b/articles/2015-12-03_000-nova-tema.gmi new file mode 100644 index 0000000..e6de868 --- /dev/null +++ b/articles/2015-12-03_000-nova-tema.gmi @@ -0,0 +1,5 @@ +# Nova tema + +Ja, spet sem menjal temo. Ta mi je še malo bolj všeč. Zdaj pa res obljubim, da je to zadnja, dovolj igranja. Malo jo bo treba še dodelati, treba bo dodati nove vsebine – predvsem zato, da potisne obstoječe dol, da bo pravilno prikazovala slike. Na starih prispevkih niso pravilne velikosti in potem vse malo podre. V nekaj dneh bi moralo biti vse tip-top. + +Počasi bo. diff --git a/articles/2015-12-03_001-poskus-s-freebsd.gmi b/articles/2015-12-03_001-poskus-s-freebsd.gmi new file mode 100644 index 0000000..3e2c09c --- /dev/null +++ b/articles/2015-12-03_001-poskus-s-freebsd.gmi @@ -0,0 +1,5 @@ +# Poskus s FreeBSD + +Ta teden sem poskusil FreeBSD. In zadeva zgleda deluje. Omogoča ZFS, kar mi je zelo všeč, tudi zrcaljenje diskov sem lahko vključil že pri namestitvi. Instalacije paketov tudi niso neka velika znanost, v bistvu zelo podobno kot na OpenIndiani. Zaenkrat mi je sistem kar všeč. Bistveno je, da v celoti deluje na Sunfire v20z … nekaj kar za Solaris in izpeljanke ne morem reči. + +Še malo testiranja, pa bomo videli, če bi v bližnji prihodnosti migriral kar na FreeBSD. diff --git a/articles/2015-12-03_002-sluzbeni-razgled.gmi b/articles/2015-12-03_002-sluzbeni-razgled.gmi new file mode 100644 index 0000000..ce2bfbf --- /dev/null +++ b/articles/2015-12-03_002-sluzbeni-razgled.gmi @@ -0,0 +1,3 @@ +Službeni razgled + +V poletnih časih, ko je bilo še fajn. Ta fotka je iz 2013, poletje v Ljubljani je dejansko OK ;) \ No newline at end of file diff --git a/articles/2015-12-03_003-bozicno-zito-napreduje.gmi b/articles/2015-12-03_003-bozicno-zito-napreduje.gmi new file mode 100644 index 0000000..d861ca1 --- /dev/null +++ b/articles/2015-12-03_003-bozicno-zito-napreduje.gmi @@ -0,0 +1,5 @@ +Božično žito napreduje + +Žito še ni umrlo. Še raste, zdaj je posoda že skoraj do polovice polna. Upam, da ne bo preraslo posode, potem ga res nimam kam dati. + +Poljedelstvo torej napreduje, ob taki produkciji bomo v pol leta dosegli samooskrbo z žitom! diff --git a/articles/2015-12-06_000-kava.gmi b/articles/2015-12-06_000-kava.gmi new file mode 100644 index 0000000..d3d92e8 --- /dev/null +++ b/articles/2015-12-06_000-kava.gmi @@ -0,0 +1,3 @@ +Kava + +Vsak dan je dan za kavo. Ta je enkrat iz 2014, iz Portoroža … diff --git a/articles/2015-12-06_001-zito-raste.gmi b/articles/2015-12-06_001-zito-raste.gmi new file mode 100644 index 0000000..ca5fecc --- /dev/null +++ b/articles/2015-12-06_001-zito-raste.gmi @@ -0,0 +1,3 @@ +# Žito raste + +Ja, tokrat zgleda, kot da mi bo celo uspelo! Žito še kar raste, nisem ga še pozabil zaliti. diff --git a/articles/2015-12-06_001-zito-raste.gmi~ b/articles/2015-12-06_001-zito-raste.gmi~ new file mode 100644 index 0000000..3c94da2 --- /dev/null +++ b/articles/2015-12-06_001-zito-raste.gmi~ @@ -0,0 +1,3 @@ +Žito raste + +Ja, tokrat zgleda, kot da mi bo celo uspelo! Žito še kar raste, nisem ga še pozabil zaliti. diff --git a/articles/2015-12-06_002-trappistes-rochefort.gmi b/articles/2015-12-06_002-trappistes-rochefort.gmi new file mode 100644 index 0000000..d0442b8 --- /dev/null +++ b/articles/2015-12-06_002-trappistes-rochefort.gmi @@ -0,0 +1,5 @@ +# Trappistes Rochefort + +Še en Belgijec. Temno pivo, ker grenko. 9,5 % alkohola, kar ga naredi kar močnega. Alkohol se okusi, ampak ne preveč. + +Ugotavljam, da so mi belgijska piva všeč :) Bo še treba koga poslat v Belgijo, da prinese kaj piva nazaj. diff --git a/articles/2015-12-06_003-error-404-winter-not-found.gmi b/articles/2015-12-06_003-error-404-winter-not-found.gmi new file mode 100644 index 0000000..0748925 --- /dev/null +++ b/articles/2015-12-06_003-error-404-winter-not-found.gmi @@ -0,0 +1,3 @@ +# Error 404 – Winter not found + +Sredi decembra, zime pa še kar ni. To vreme je res čudno. diff --git a/articles/2015-12-06_003-error-404-winter-not-found.gmi~ b/articles/2015-12-06_003-error-404-winter-not-found.gmi~ new file mode 100644 index 0000000..122f257 --- /dev/null +++ b/articles/2015-12-06_003-error-404-winter-not-found.gmi~ @@ -0,0 +1,3 @@ +Error 404 – Winter not found + +Sredi decembra, zime pa še kar ni. To vreme je res čudno. diff --git a/articles/2015-12-06_004-ironija.gmi b/articles/2015-12-06_004-ironija.gmi new file mode 100644 index 0000000..ea3df20 --- /dev/null +++ b/articles/2015-12-06_004-ironija.gmi @@ -0,0 +1,3 @@ +# Ironija + +Včasih gledam slike za nazaj in opazim kakšno, ki mi je res lepo uspela. No, tukaj je en primer. Predvsem zaradi napisa. V bistvu mi gre napis na živce, ampak recimo da v to sliko pa prav paše. diff --git a/articles/2015-12-13_000-instalacija-wordpressa-na-freebsd.gmi b/articles/2015-12-13_000-instalacija-wordpressa-na-freebsd.gmi new file mode 100644 index 0000000..2a1f7a1 --- /dev/null +++ b/articles/2015-12-13_000-instalacija-wordpressa-na-freebsd.gmi @@ -0,0 +1,606 @@ +# Instalacija WordPressa na FreeBSD + +No, v sklopu igranja s FreeBSD, ko se odločam kateri sistem uporabljati v bodoče, sem namestil FreeBSD in nekaj programov, ki poganjajo WordPress. Pa poglejmo kako je šlo! + +Začnemo z povsem običajno minimalno namestitvijo FreeBSD. In potem nadaljujemo. Prijavimo se kot root, ker bomo zdaj veliko stvari nameščali in nastavljali. se pravi začnemo z ukazom su. Vnesemo geslo in začnemo z namestitvijo. Vnesemo ukaz pkg. Ker še ni nameščen, nam ponudi možnost, da ga namestimo. Potrdimo, pkg se bo namestil. + +## Namestitev osnovnih paketov + +``` +root@turbo:/usr/home/matjaz # pkg +The package management tool is not yet installed on your system. +Do you want to fetch and install it now? [y/N]: y +Bootstrapping pkg from pkg+http://pkg.FreeBSD.org/FreeBSD:10:amd64/quarterly, please wait... +Verifying signature with trusted certificate pkg.freebsd.org.2013102301... done +Installing pkg-1.6.1... +Extracting pkg-1.6.1: 100% +Message from pkg-1.6.1: +If you are upgrading from the old package format, first run: + + # pkg2ng +pkg: not enough arguments +Usage: pkg [-v] [-d] [-l] [-N] [-j |-c |-r ] [-C ] [-R ] [-o var=value] [-4|-6] [] + +For more information on available commands and options see 'pkg help'. +``` + +Nadaljujemo z namestitvijo paketov, ki jih potrebujemo za strežnik. + +``` +root@turbo:/usr/home/matjaz # pkg install nginx mysql56-server php56 php56-mysql php56-gd php56-zlib php56-curl wget +Updating FreeBSD repository catalogue... +Fetching meta.txz: 100% 940 B 0.9kB/s 00:01 +Fetching packagesite.txz: 100% 5 MiB 1.1MB/s 00:05 +Processing entries: 100% +FreeBSD repository update completed. 24605 packages processed. +Updating database digests format: 100% +The following 39 package(s) will be affected (of 0 checked): + +New packages to be INSTALLED: + nginx: 1.8.0_3,2 + mysql56-server: 5.6.27 + php56: 5.6.14 + php56-mysql: 5.6.14 + php56-gd: 5.6.14 +... + +The process will require 240 MiB more space. +36 MiB to be downloaded. + +Proceed with this action? [y/N]: y +Fetching nginx-1.8.0_3,2.txz: 100% 258 KiB 264.4kB/s 00:01 +Fetching mysql56-server-5.6.27.txz: 100% 8 MiB 1.2MB/s 00:07 +Fetching php56-5.6.14.txz: 100% 2 MiB 1.0MB/s 00:02 +Fetching php56-mysql-5.6.14.txz: 100% 17 KiB 17.5kB/s 00:01 +... +Checking integrity... done (0 conflicting) +[1/39] Installing xproto-7.0.27... +[1/39] Extracting xproto-7.0.27: 100% +[2/39] Installing libxml2-2.9.3... +[2/39] Extracting libxml2-2.9.3: 100% +[3/39] Installing libXdmcp-1.1.2... +[3/39] Extracting libXdmcp-1.1.2: 100% +[4/39] Installing libpthread-stubs-0.3_6... +... +===> Creating users and/or groups. +Using existing group 'www'. +Using existing user 'www'. +[33/39] Extracting nginx-1.8.0_3,2: 100% +[34/39] Installing mysql56-server-5.6.27... +===> Creating users and/or groups. +Creating group 'mysql' with gid '88'. +Creating user 'mysql' with uid '88'. +[34/39] Extracting mysql56-server-5.6.27: 100% +[35/39] Installing php56-mysql-5.6.14... +[35/39] Extracting php56-mysql-5.6.14: 100% +[36/39] Installing php56-gd-5.6.14... +[36/39] Extracting php56-gd-5.6.14: 100% +[37/39] Installing php56-zlib-5.6.14... +[37/39] Extracting php56-zlib-5.6.14: 100% +[38/39] Installing php56-curl-5.6.14... +[38/39] Extracting php56-curl-5.6.14: 100% +[39/39] Installing wget-1.16.3... +[39/39] Extracting wget-1.16.3: 100% +Message from ca_root_nss-3.20.1: +********************************* WARNING ********************************* + +FreeBSD does not, and can not warrant that the certification authorities +whose certificates are included in this package have in any way been +audited for trustworthiness or RFC 3647 compliance. + +Assessment and verification of trust is the complete responsibility of the +system administrator. + +*********************************** NOTE ********************************** + +This package installs symlinks to support root certificates discovery by +default for software that uses OpenSSL. + +This enables SSL Certificate Verification by client software without manual +intervention. + +If you prefer to do this manually, replace the following symlinks with +either an empty file or your site-local certificate bundle. + + * /etc/ssl/cert.pem + * /usr/local/etc/ssl/cert.pem + * /usr/local/openssl/cert.pem + +*************************************************************************** +Message from mysql56-client-5.6.27: +* * * * * * * * * * * * * * * * * * * * * * * * + +Please be aware the database client is vulnerable +to CVE-2015-3152 - SSL Downgrade aka "BACKRONYM". +You may find more information at the following URL: + +http://www.vuxml.org/freebsd/36bd352d-299b-11e5-86ff-14dae9d210b8.html + +Although this database client is not listed as +"affected", it is vulnerable and will not be +receiving a patch. Please take note of this when +deploying this software. + +* * * * * * * * * * * * * * * * * * * * * * * * +Message from perl5-5.20.3_8: +The /usr/bin/perl symlink has been removed starting with Perl 5.20. +For shebangs, you should either use: + +#!/usr/local/bin/perl + +or + +#!/usr/bin/env perl + +The first one will only work if you have a /usr/local/bin/perl, +the second will work as long as perl is in PATH. +Message from mysql56-server-5.6.27: +************************************************************************ + +Remember to run mysql_upgrade the first time you start the MySQL server +after an upgrade from an earlier version. + +************************************************************************ +``` + +Na tej točki smo namestili vse, kar strežnik potrebuje za normalno delovanje. Zdaj je treba samo še poskrbeti za pravilne nastavitve in namestitev WordPressa. Namestitveni program je izpisal nekaj splošnih opozoril, s katerimi se za zdaj ne bomo ukvarjali. + +## Konfiguracija storitev + +Preverimo katere storitve lahko omogočimo na našem strežniku … + +``` +root@turbo:/usr/home/matjaz # grep rcvar /usr/local/etc/rc.d/* +/usr/local/etc/rc.d/mysql-server:rcvar=mysql_enable +/usr/local/etc/rc.d/nginx:rcvar=nginx_enable +/usr/local/etc/rc.d/php-fpm:rcvar=php_fpm_enable +``` + +Vidimo, da so to mysql, nginx in php. Omogočimo jih s tem, da uredimo datoteko /etc/rc.conf in dodamo tri vrstice: + +``` +root@turbo:/usr/home/matjaz # vi /etc/rc.conf +... +mysql_enable="YES" +nginx_enable="YES" +php_fpm_enable="YES" +``` + +Popravke shranite. Prestavimo se na /usr/local/etc in nadaljujemo z urejanjem nastavitev. + +##Konfiguracija PHP + +``` +root@turbo:/usr/home/matjaz # cd /usr/local/etc +root@turbo:/usr/local/etc # vi php-fpm.conf +``` + +Poiščemo vrstico listen = 127.0.0.1:9000 in jo spremenimo v listen = /var/run/php-fpm.sock. Spremenimo lastnika in dovoljenja … Spremenimo vrstice: + +``` +;listen.owner = www +;listen.group = www +;listen.mode = 0660 +``` + +… tako, da jih odkomentiramo (odstranimo podpičje), da izgledajo tako: + +``` +listen.owner = www +listen.group = www +listen.mode = 0660 +``` + +Shranimo datoteko in jo zapremo. Nadaljujemo z php.ini. Ki pa še ne obstaja. Za začetek bomo skopirali template, ki že obstaja v trenutni mapi. + +``` +root@turbo:/usr/local/etc # cp php.ini-production php.ini +``` + +in ga uredili … Poiščemo cgi.fix_pathinfo=1, ga odkomentiramo in nastavimo na 0. Popravimo še ostale parametre + +``` +cgi.fix_pathinfo=0 +... +upload_max_filesize=64M +... +post_max_size = 64M +``` + +Shranimo in zapremo datoteko. Zaženemo php storitev. + +``` +root@turbo:/usr/local/etc # service php-fpm start +Starting php_fpm. +``` + +## Konfiguracija MySQL + +Skonfigurirajmo še MySQL … Za začetek zaženemo storitev: + +``` +root@turbo:/usr/local/etc # service mysql-server start +Starting mysql. +``` + +Izvedemo še nastavitev ob prvem zagonu: + +``` +root@turbo:/usr/local/etc # mysql_secure_installation + + +NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL + SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY! + +In order to log into MySQL to secure it, we'll need the current +password for the root user. If you've just installed MySQL, and +you haven't set the root password yet, the password will be blank, +so you should just press enter here. + +Enter current password for root (enter for none): [potrdimo prazno geslo] +OK, successfully used password, moving on... + +Setting the root password ensures that nobody can log into the MySQL +root user without the proper authorisation. + +Set root password? [Y/n] y +New password: [vnesemo novo geslo] +Re-enter new password: [vnesemo novo geslo] +Password updated successfully! +Reloading privilege tables.. + ... Success! + +By default, a MySQL installation has an anonymous user, allowing anyone +to log into MySQL without having to have a user account created for +them. This is intended only for testing, and to make the installation +go a bit smoother. You should remove them before moving into a +production environment. + +Remove anonymous users? [Y/n] y + ... Success! + +Normally, root should only be allowed to connect from 'localhost'. This +ensures that someone cannot guess at the root password from the network. + +Disallow root login remotely? [Y/n] n + ... skipping. + +By default, MySQL comes with a database named 'test' that anyone can +access. This is also intended only for testing, and should be removed +before moving into a production environment. + +Remove test database and access to it? [Y/n] y + - Dropping test database... + ... Success! + - Removing privileges on test database... + ... Success! + +Reloading the privilege tables will ensure that all changes made so far +will take effect immediately. + +Reload privilege tables now? [Y/n] y + ... Success! + +All done! If you've completed all of the above steps, your MySQL +installation should now be secure. + +Thanks for using MySQL! + +Cleaning up... +``` + +Tako, končano. Ponovno zaženemo mysql … + +``` +root@turbo:/usr/local/etc # service mysql-server restart +Stopping mysql. +Waiting for PIDS: 986. +Starting mysql. +``` + +Z mysql smo končali. Nadaljujemo z Nginx. + +## Konfiguracija Nginx + +Za začetek zaženemo Nginx: + +``` +root@turbo:/usr/local/etc # service nginx start +Performing sanity check on nginx configuration: +nginx: the configuration file /usr/local/etc/nginx/nginx.conf syntax is ok +nginx: configuration file /usr/local/etc/nginx/nginx.conf test is successful +Starting nginx. +``` + +Nginx teče. Zdaj ga še nastavimo. Prestavimo se v pravi direktorij: cd /usr/local/etc/nginx. Uredimo datoteko nginx.conf. +Userja odkomentiramo in spremenimo v www … + +``` +user www; +``` + +Nastavitev worker_processes nastavimo na število procesorjev v sistemu … + +``` +worker_processes 2; +``` + +Odkomentiramo error_log in ga nastavimo na pravo pot … + +``` +error_log /var/log/nginx/error.log info; +``` + +enako z access log v http bloku: + +``` +access_log /var/log/nginx/access.log; +``` + +V server bloku spremenimo server_name … + +``` +server_name localhost, virtualbox, virtualbox.uplink.si; +``` + +Spremenimo server blok – dodamo index.php kot možno začetno stran, nastavimo največji dovoljen upload, dodamo ukaze za upravljanje s php …: + +``` +server { + + . . . + + client_max_body_size 200M; + root /usr/local/www/nginx; + index index.php index.html index.htm; + + location = /favicon.ico { + log_not_found off; + access_log off; + } + + location = /robots.txt { + allow all; + log_not_found off; + access_log off; + } + + location ~ /\. { + deny all; + } + + location ~* /(?:uploads|files)/.*\.php$ { + deny all; + } + + location / { + try_files $uri $uri/ /index.php?$args; + } + + rewrite /wp-admin$ $scheme://$host$uri/ permanent; + + location ~* ^.+\.(ogg|ogv|svg|svgz|eot|otf|woff|mp4|ttf|rss|atom|jpg|jpeg|gif|png|ico|zip|tgz|gz|rar|bz2|doc|xls|exe|ppt|tar|mid|midi|wav|bmp|rtf)$ { + access_log off; log_not_found off; expires max; + } + + location ~ [^/]\.php(/|$) { + fastcgi_split_path_info ^(.+?\.php)(/.*)$; + if (!-f $document_root$fastcgi_script_name) { + return 404; + } + fastcgi_pass unix:/var/run/php-fpm.sock; + fastcgi_index index.php; + fastcgi_param SCRIPT_FILENAME $request_filename; + include fastcgi_params; + } + + #error_page 404 /404.html; + + # redirect server error pages to the static page /50x.html + # + error_page 500 502 503 504 /50x.html; + location = /50x.html { + root /usr/local/www/nginx-dist; + } + . . . +``` + +Vse skupaj brez komentarjev zgleda tako: + +``` +user www; +worker_processes 2; + +error_log /var/log/nginx/error.log info; + +events { + worker_connections 1024; +} + +http { + include mime.types; + default_type application/octet-stream; + + access_log /var/log/nginx/access.log; + + sendfile on; + + keepalive_timeout 65; + + server { + listen 80; + server_name localhost, virtualbox, virtualbox.uplink.si; + client_max_body_size 200M; + root /usr/local/www/nginx; + index index.php index.html index.htm; + + location = /favicon.ico { + log_not_found off; + access_log off; + } + + location = /robots.txt { + allow all; + log_not_found off; + access_log off; + } + + location ~ /\. { + deny all; + } + + location ~* /(?:uploads|files)/.*\.php$ { + deny all; + } + + location / { + try_files $uri $uri/ /index.php?$args; + } + + rewrite /wp-admin$ $scheme://$host$uri/ permanent; + + location ~* ^.+\.(ogg|ogv|svg|svgz|eot|otf|woff|mp4|ttf|rss|atom|jpg|jpeg|gif|png|ico|zip|tgz|gz|rar|bz2|doc|xls|exe|ppt|tar|mid|midi|wav|bmp|rtf)$ { + access_log off; log_not_found off; expires max; + } + + location ~ [^/]\.php(/|$) { + fastcgi_split_path_info ^(.+?\.php)(/.*)$; + if (!-f $document_root$fastcgi_script_name) { + return 404; + } + fastcgi_pass unix:/var/run/php-fpm.sock; + fastcgi_index index.php; + fastcgi_param SCRIPT_FILENAME $request_filename; + include fastcgi_params; + } + + error_page 500 502 503 504 /50x.html; + location = /50x.html { + root /usr/local/www/nginx-dist; + } + } +} +``` + +Shranimo in zapremo datoteko. Ustvarimo direktorij za dnevnike: + +``` +root@turbo:/usr/local/etc/nginx # mkdir -p /var/log/nginx +``` + +In pripravimo prazne dnevniške datoteke: + +``` +root@turbo:/usr/local/etc/nginx # touch /var/log/nginx/access.log +root@turbo:/usr/local/etc/nginx # touch /var/log/nginx/error.log +``` + +Pripravimo direktorij za spletne strani. Ta sicer že obstaja, ampak je samo softlink na direktorij s privzeto vsebino. + +``` +root@turbo:/usr/local/etc/nginx # rm /usr/local/www/nginx +root@turbo:/usr/local/etc/nginx # mkdir /usr/local/www/nginx +``` +Da stestiramo strežnik, skopiramo datoteko iz privzetega imenika … + +``` +root@turbo:/usr/local/etc/nginx # cp /usr/local/www/nginx-dist/index.html /usr/local/www/nginx +``` + +Pripravimo še testno datoteko s php vsebino … + +``` +root@turbo:/usr/local/etc/nginx # vi /usr/local/www/nginx/info.php +... +``` + +Stestiramo nastavitve: + +``` +root@turbo:/usr/local/etc/nginx # nginx -t +nginx: the configuration file /usr/local/etc/nginx/nginx.conf syntax is ok +nginx: configuration file /usr/local/etc/nginx/nginx.conf test is successful +``` + +Kot kaže je vse OK. Ponovno zaženemo storitev … + +``` +root@turbo:/usr/local/etc/nginx # service nginx restart +nginx: the configuration file /usr/local/etc/nginx/nginx.conf syntax is ok +nginx: configuration file /usr/local/etc/nginx/nginx.conf test is successful +Stopping nginx. +Performing sanity check on nginx configuration: +nginx: the configuration file /usr/local/etc/nginx/nginx.conf syntax is ok +nginx: configuration file /usr/local/etc/nginx/nginx.conf test is successful +Starting nginx. +``` + +Storitev je ponovno zagnana. Nginx je nameščen in bi že moral delovati. Lahko preverimo v brskalniku. + +Nginx deluje! + +Po tem še odstranimo info.php … rm /usr/local/www/nginx/info.php + +## Namestitev WordPress + +Nadaljujemo z namestitvijo wordpressa. Prestavimo se v imenik za spletne strani: + +``` +root@turbo:/usr/local/etc/nginx # cd /usr/local/www/nginx/ +``` + +Prenesemo namestitveno datoteko in jo razpakiramo: + +``` +root@turbo:/usr/local/www/nginx # wget https://wordpress.org/latest.tar.gz +--2015-12-13 00:29:52-- https://wordpress.org/latest.tar.gz +Resolving wordpress.org (wordpress.org)... 66.155.40.249, 66.155.40.250 +Connecting to wordpress.org (wordpress.org)|66.155.40.249|:443... connected. +HTTP request sent, awaiting response... 200 OK +Length: 7079339 (6.8M) [application/octet-stream] +Saving to: 'latest.tar.gz' + +latest.tar.gz 100%[===========================================================================================================================================>] 6.75M 1.12MB/s in 13s + +2015-12-13 00:30:06 (520 KB/s) - 'latest.tar.gz' saved [7079339/7079339] + +root@turbo:/usr/local/www/nginx # tar xvf latest.tar.gz +x wordpress/ +x wordpress/wp-settings.php +x wordpress/wp-cron.php +x wordpress/wp-comments-post.php +x wordpress/wp-activate.php +.... +``` + +Prestavimo vsebino v glavni imenik in pobrišemo nepotrebne datoteke in imenike: + +``` +root@turbo:/usr/local/www/nginx # cd wordpress/ +root@turbo:/usr/local/www/nginx/wordpress # mv * ../ +root@turbo:/usr/local/www/nginx/wordpress # cd .. +root@turbo:/usr/local/www/nginx # rm -Rf wordpress/ +root@turbo:/usr/local/www/nginx # rm latest.tar.gz +``` + +Nastavimo še pravice za dostop do datotek … + +``` +root@turbo:/usr/local/www/nginx # cd .. +root@turbo:/usr/local/www # chown -R www:www nginx +``` + +Pripravimo bazo podatkov za wordpress: + +``` +root@turbo:/usr/local/www/nginx # mysql -u root -e 'create database wordpress;' -p +Enter password: [vpišemo gleslo] +``` + +Pa smo končali. Za nastavitve wordpressa odpremo brskalnik in ga usmerimo na naš strežnik! + +Namestitveni program WordPress. Od tukaj naprej je samo še klikanje. + +## Zaključek + +No, pa nam je uspelo namestiti WordPress v svežo instalacijo sistema FreeBSD. Načeloma poteka zadeva zelo hitro. Že takoj na začetku smo namestili vse potrebne pakete. Če postopka še ne poznate, ali pa nameščate kaj drugega, se lahko zgodi, da bo kakšen paket manjkal. To lahko povzroči, da spletna aplikacija ne bo delovala kot bi morala. Namige o tem lahko najdete v dnevniških datotekah, kamor se vpisujejo napake. Seveda pa lahko vedno najdete namige tudi v dokumentaciji samih spletnih aplikacij. diff --git a/articles/2015-12-23_000-sic-transit-gloria-mundi.gmi b/articles/2015-12-23_000-sic-transit-gloria-mundi.gmi new file mode 100644 index 0000000..7333b72 --- /dev/null +++ b/articles/2015-12-23_000-sic-transit-gloria-mundi.gmi @@ -0,0 +1,3 @@ +# Sic Transit Gloria Mundi + +Tukaj mineva slava sveta. diff --git a/articles/2016-01-18_000-problem-tega-sveta.gmi b/articles/2016-01-18_000-problem-tega-sveta.gmi new file mode 100644 index 0000000..8c22670 --- /dev/null +++ b/articles/2016-01-18_000-problem-tega-sveta.gmi @@ -0,0 +1,4 @@ +# Problem tega sveta + +> The problem with the world is that intelligent people are full of doubts while the stupid ones are full of confidence. +> Charles Bukowski diff --git a/articles/2016-02-07_000-nova-instalacija-streznika.gmi b/articles/2016-02-07_000-nova-instalacija-streznika.gmi new file mode 100644 index 0000000..0f52179 --- /dev/null +++ b/articles/2016-02-07_000-nova-instalacija-streznika.gmi @@ -0,0 +1,9 @@ +# Nova instalacija strežnika + +Prejšnji vikend sem ponovno namestil strežnik. Tokrat nisem uporabil operacijskega sistema OpenIndiana, ampak njegovega brata OmniOS. Ta je sicer malenkost manj uporabniku prijazen, ampak zato se pa bistveno hitreje razvija in posodablja. To je ena izmed stvari, ki so me pri OpenIndiani motile. + +Nameščanje novega sistema je šlo brez težav. Sem pa na boleč način ugotovil, da večine mojih blogov sistem za varnostno kopiranje ni shranil. Auč. No … del zapisov mi je uspelo obnoviti, del jih bom moral pa na novo spisati. Ob slikah bo verjetno šlo, vsaj za večino. + +Od tu naprej bo življenje malo lažje. Po dveh letih delovanja 24/7 je bil že čas, da preizkusimo migriranje zpoolov. In je delovalo. + +Naslednji korak je obnovitev vseh skript, ki zbirajo podatke z interneta! diff --git a/articles/2016-02-11_000-new-safe-harbor-data-deal-may-be-more-politicking-than-surveillance-reform_.gmi b/articles/2016-02-11_000-new-safe-harbor-data-deal-may-be-more-politicking-than-surveillance-reform_.gmi new file mode 100644 index 0000000..609eb80 --- /dev/null +++ b/articles/2016-02-11_000-new-safe-harbor-data-deal-may-be-more-politicking-than-surveillance-reform_.gmi @@ -0,0 +1,5 @@ +# New Safe Harbor Data “Deal” May Be More Politicking Than Surveillance Reform + +> European privacy activists criticized a new Safe Harbor data agreement with the U.S. as a superficial political fix that fails to address NSA spying. + +=> https://theintercept.com/2016/02/03/new-safe-harbor-data-deal-may-be-more-politicking-than-surveillance-reform/ Izvor: New Safe Harbor Data “Deal” May Be More Politicking Than Surveillance Reform diff --git a/articles/2016-02-15_000-iznos-osebnih-podatkov-iz-eu.gmi b/articles/2016-02-15_000-iznos-osebnih-podatkov-iz-eu.gmi new file mode 100644 index 0000000..3f42d8d --- /dev/null +++ b/articles/2016-02-15_000-iznos-osebnih-podatkov-iz-eu.gmi @@ -0,0 +1,9 @@ +# Iznos osebnih podatkov iz EU + +> Iznos podatkov iz EU za obdelavo v tujini. Katere države imajo dovolj visoko stopnjo zaščite podatkov, da je iznos iz EU v to državo dopusten. + +=> http://ec.europa.eu/justice/data-protection/international-transfers/adequacy/index_en.htm Izvor: Commission decisions on the adequacy of the protection of personal data in third countries – European Commission + +Podobno je tudi IP pripravil smernice glede iznosa podatkov v tretje države. + +=> https://www.ip-rs.si/fileadmin/user_upload/Pdf/smernice/Smernice_glede_iznosa_podatkov_v_tretje_drzave_2016_web.pdf Smernice IP \ No newline at end of file diff --git a/articles/2016-03-14_000-pariz.gmi b/articles/2016-03-14_000-pariz.gmi new file mode 100644 index 0000000..12510e3 --- /dev/null +++ b/articles/2016-03-14_000-pariz.gmi @@ -0,0 +1,21 @@ +# Pariz +## Pot + +So, here we go again. Kot kaže bom letos en mesec preživel v Parizu. Začenši ta teden. Služba je služba in za službo gremo tudi v Pariz. No, začelo se je z iskanjem kart. Ne vem, a je to vedno tako, ampak ni bilo poznejšega leta. Kljub temu, da sem imel čas ves dan, sem imel let že ob 6:40 zjutraj. No, na letalu pa sami znani obrazi. Ko greš prvič nekam, je fino, če je zraven še kdo, ki ga poznaš, je vse takoj sto krat lažje. + +Letalo, Adrijin Canadair Regional Jet CRJ-900. Let je bil miren, brez turbolenc. Pristanek v Parizu z malo stranskega vetra, ampak gladko. + +In potem pot v Pariz. No tu pa se zatakne. Namesto eno uro, smo vozili približno dvakrat toliko. Taksist nas je vozil po stranskih ulicah, ker je glavna cesta praktično stala. No, še dobro, da imajo fiksno ceno za pot z letališča v center, sicer bi plačali kakih 300 evrov. Namesto 55. +## Pariz + +Hotel. Je vredu. Nič luksuznega, kot se spodobi. Ampak je pa čist, lep, lokacija pa odlična. + +Glede na to, da se delo začne jutri, danes pa sem prišel zgodaj, je ostalo še nekaj časa za raziskovanje mesta. Do Eifflovega stolpa je nekaj manj kot 20 minut. Seveda ga je bilo treba pogledat, In potem še Elizejske poljane in Slavolok zmage … Na splošno je mesto kar lepo. V bistvu je vse razen prometa super. Prometa pa … prometen. Zgleda ima vsak Parižan avto in je odločen, da potuje samo z avtom. +## Kosilo + +Kosilo tokrat je bila azijska pašta. Malo nudlov in mesa, kalčkov, zelenjave … Blagi okusi. Je kar pasalo. No, posladek je bil vrhunski. Sladoled Häagen-Dazs. Pri nas se ga da kupiti v Leclercu. Ampak po kepicah, svež … ja, težko mu drugi konkurirajo. Zmanjkalo ga je v trenutku. +## Konec prvega dne + +No, s tem je bilo konec prvega dne. Ko sem prišel nazaj v hotel, sem bil že tako utrujen, da drugega kot iti malo spati in nadoknaditi izgubljene jutranje ure, nisem mogel. + +Jutri pa naprej. \ No newline at end of file diff --git a/articles/2016-03-23_000-chouffe.gmi b/articles/2016-03-23_000-chouffe.gmi new file mode 100644 index 0000000..543895c --- /dev/null +++ b/articles/2016-03-23_000-chouffe.gmi @@ -0,0 +1,3 @@ +# Chouffe + +No, sej to ni neka skrivnost – ampak ta je res dober. Houblon Chouffe. Belgijsko pivo … bo treba še v Belgiji sprobat, tam je sigurno še boljše. Zaradi vzdušja. diff --git a/articles/2016-03-23_000-iz-pariza-domov.gmi b/articles/2016-03-23_000-iz-pariza-domov.gmi new file mode 100644 index 0000000..b7f2e18 --- /dev/null +++ b/articles/2016-03-23_000-iz-pariza-domov.gmi @@ -0,0 +1,13 @@ +# Iz Pariza domov + +Pariz je bil super. Po tem pa še pot domov v petek zvečer. Tokrat z dvema letaloma – prvo iz Pariza do Zuricha in potem z drugim do Ljubljane. + +Prvo letalo je bil Airbus A319, Swiss Air … Bili so super. Dobili smo sendvič in čokolado – čisto po švicarsko. + +Švicarska čokolada na letalu + +Sendvič na letalu. + +Drugi del leta je bil z Adrijinim Canadairom … no za jest ni bilo nič. Imajo pa po novem wifi in en strežnik na letalu. Lahko malo bereš in igraš igre. No ja, vsaj nekaj. + +Domov sem prišel malo po deseti. Končno vikend! diff --git a/articles/2016-03-23_000-novi-ios.gmi b/articles/2016-03-23_000-novi-ios.gmi new file mode 100644 index 0000000..ba4c89f --- /dev/null +++ b/articles/2016-03-23_000-novi-ios.gmi @@ -0,0 +1,5 @@ +# Nov iOS + +Nov iOS 9.3 je prišel. Se malo pa bo nameščen na vse naprave. Se jih je kar nabralo. Dva iPhone in dve tablici… + +Bomo videli kaj bo novega. diff --git a/articles/2016-03-23_000-sladoled.gmi b/articles/2016-03-23_000-sladoled.gmi new file mode 100644 index 0000000..908bb86 --- /dev/null +++ b/articles/2016-03-23_000-sladoled.gmi @@ -0,0 +1,3 @@ +# Sladoled + +No .. to je res en dober sladoled. Häagen-Dazs … mislim, da ga imajo tudi v Leclercu … Ampak v Parizu, na kepice … mmmm \ No newline at end of file diff --git a/articles/2016-03-23_000-vsaki-dan-guzva.gmi b/articles/2016-03-23_000-vsaki-dan-guzva.gmi new file mode 100644 index 0000000..b5ef438 --- /dev/null +++ b/articles/2016-03-23_000-vsaki-dan-guzva.gmi @@ -0,0 +1,4 @@ +# Vsaki dan gužva + +Kako se ljudem ljubi … Vsak dan na Celovški. Zjutraj. Gužva. Ne bi rekel, če ne bi bilo možno izven mesta parkirat na park+ride parkiriščih in z busom priti v center. In potem se na začetku rumenega pasa naganjajo in razbijajo. Ljudje res nimajo malo potrpljenja. + diff --git a/articles/2016-03-26_000-petkovo-pivo-pivovarna-pelicon-yes-boss-dnevnik.gmi b/articles/2016-03-26_000-petkovo-pivo-pivovarna-pelicon-yes-boss-dnevnik.gmi new file mode 100644 index 0000000..f50952b --- /dev/null +++ b/articles/2016-03-26_000-petkovo-pivo-pivovarna-pelicon-yes-boss-dnevnik.gmi @@ -0,0 +1,5 @@ +# Petkovo pivo: Pivovarna Pelicon, Yes Boss! | Dnevnik + +> »Lahkoten zvarek, ki preseneti s sadnim vonjem in poboža z dolgo grenčico. Šefovski pale ale. Premierno predstavljen na ljubljanskem kulinaričnem festivalu Pivo & Burger Fest,« pivo opišeta Anita Lozar in Matej Pelicon iz ajdovske pivovarne Pelicon. + +=> https://www.dnevnik.si/1042732571/kulinarika/kulinaricne/petkovo-pivo-pivovarna-pelicon-yes-boss Izvor: Petkovo pivo: Pivovarna Pelicon, Yes Boss! | Dnevnik diff --git a/articles/2016-03-29_000-sluzbeni-telefon.gmi b/articles/2016-03-29_000-sluzbeni-telefon.gmi new file mode 100644 index 0000000..409a1b9 --- /dev/null +++ b/articles/2016-03-29_000-sluzbeni-telefon.gmi @@ -0,0 +1,7 @@ +# Službeni telefon + +Torej je prišlo do tega, da sem dobil službeni telefon. Tako se začne to novo obdobje. Blackberry Passport. Ni slab … No ne menjam za iPhone na privat fronti, bomo kar ostali na iProduktih. + +=> http://www.gsmarena.com/blackberry_passport-6457.php Blackberry Passport + +Telefon se drugače kar dobro obnese. Glede na to, da ga uporabljam v glavnem za službeno elektronsko pošto, je fizična tipkovnica super. Za klice pa … ja .. no sej se da :-). Baterija kar zdrži, dva dni brez polnjenja, pa je še vedno na 20 %. Sistem pa … ja kar drugačen od ostalih, ki sem jih uporabljal. Zelo drugačen. Se je treba kar malo privajat. No, kot rečeno – pošta deluje odlično, ostalo je pa itak na iPhonu. diff --git a/articles/2016-03-29_001-how-far-is-too-far.gmi b/articles/2016-03-29_001-how-far-is-too-far.gmi new file mode 100644 index 0000000..1eb9222 --- /dev/null +++ b/articles/2016-03-29_001-how-far-is-too-far.gmi @@ -0,0 +1,4 @@ +# How far is to far + +> Only those who will risk going too far can possibly find out how far one can go. +> T. S. Eliot diff --git a/articles/2016-03-30_000-the-trouble-with-tribbles-running-illumos-in-48m-of-ram.gmi b/articles/2016-03-30_000-the-trouble-with-tribbles-running-illumos-in-48m-of-ram.gmi new file mode 100644 index 0000000..1dd2e34 --- /dev/null +++ b/articles/2016-03-30_000-the-trouble-with-tribbles-running-illumos-in-48m-of-ram.gmi @@ -0,0 +1,9 @@ +# The Trouble with Tribbles…: Running illumos in 48M of RAM + +> Running illumos in 48M of RAM +> +> Whilst tweaking mvi recently, I went back and had another look at just how minimal an illumos install I could make. +> +> And, given sufficiently aggressive use of the rm command, the answer appears to be that it’s possible to boot illumos in 48 meg of RAM. + +=> http://ptribble.blogspot.com/2016/03/running-illumos-in-48m-of-ram.html Izvor: The Trouble with Tribbles…: Running illumos in 48M of RAM diff --git a/articles/2016-03-30_001-gremo-kuhat.gmi b/articles/2016-03-30_001-gremo-kuhat.gmi new file mode 100644 index 0000000..dbf4e82 --- /dev/null +++ b/articles/2016-03-30_001-gremo-kuhat.gmi @@ -0,0 +1,7 @@ +# Gremo kuhat + +Nova pridobitev naše male kuhinje. Za skuhat kavo ali jajca bo super. Drugače je pa to dvojna indukcijska plošča, ena ima moč max 1500, druga pa 2000 Watov. Zdaj bo šlo špagete in druge take stvari skuhat malo hitreje. + +Do zdaj sva kuhala na starem Gorenjevem električnem štedilniku … Verjetno bi bil bolj primeren za v tehnični muzej kot zadnji delujoč primerek v uporabi. Štedilnik na katerem kuhanje kave vzame pol dneva. No … vsaj če uporabiš majhno ploščo, ki je namenjena džezvi … + +Na tem novem bo pa šlo malo hitreje. Edini problem je, da približno polovica posode, ki jo imava ne deluje na indukciji. No … še dobro, da imava še drugo polovico. diff --git a/articles/2016-04-03_000-zakaj-windows-misli-da-je-tipkovnica-toaster-super-user.gmi b/articles/2016-04-03_000-zakaj-windows-misli-da-je-tipkovnica-toaster-super-user.gmi new file mode 100644 index 0000000..f0a55f1 --- /dev/null +++ b/articles/2016-04-03_000-zakaj-windows-misli-da-je-tipkovnica-toaster-super-user.gmi @@ -0,0 +1,5 @@ +# Zakaj Windows misli, da je tipkovnica toaster? – Super User + +> I’ve inherited an old PC from my girlfriend’s dad and when setting up the printer I got a bit of a surprise:Two questions spring to mind here:Why does Windows think my wireless keyboard is a + +=> http://superuser.com/questions/792607/why-does-windows-think-that-my-wireless-keyboard-is-a-toaster Izvor: device manager – Why does Windows think that my wireless keyboard is a toaster? – Super User diff --git a/articles/2016-04-03_001-nov-update-mac-os-x.gmi b/articles/2016-04-03_001-nov-update-mac-os-x.gmi new file mode 100644 index 0000000..457aa8d --- /dev/null +++ b/articles/2016-04-03_001-nov-update-mac-os-x.gmi @@ -0,0 +1,3 @@ +# Nov update Mac OS X + +Prišel je nov update MacOS X … Tokrat so se lotili predvsem aplikacije Notes, ki lahko po novem uvaža datoteke iz Evernote. Prav tako naj bi dodali sortiranje zapiskov in še nekaj drugih malenkosti. Druga večja sprememba je shranjevanje PDF knjig v oblak, tako da se posyncajo z ostalimi napravami. \ No newline at end of file diff --git a/articles/2016-04-04_000-panama-papers-all-articles-by-suddeutsche-zeitung.gmi b/articles/2016-04-04_000-panama-papers-all-articles-by-suddeutsche-zeitung.gmi new file mode 100644 index 0000000..6583613 --- /dev/null +++ b/articles/2016-04-04_000-panama-papers-all-articles-by-suddeutsche-zeitung.gmi @@ -0,0 +1,5 @@ +# Panama Papers – All articles by Süddeutsche Zeitung + +> The Panama Papers are the largest data leak journalists have ever worked with. Find the best articles on the offshore leak on this page. + +=> http://panamapapers.sueddeutsche.de/en Izvor: Panama Papers – All articles by Süddeutsche Zeitung diff --git a/articles/2016-04-08_000-big-data-je-resitev-za-najvecje-tezave-javnega-sektorja.gmi b/articles/2016-04-08_000-big-data-je-resitev-za-najvecje-tezave-javnega-sektorja.gmi new file mode 100644 index 0000000..63f13a7 --- /dev/null +++ b/articles/2016-04-08_000-big-data-je-resitev-za-najvecje-tezave-javnega-sektorja.gmi @@ -0,0 +1,5 @@ +# »Big data« je rešitev za največje težave javnega sektorja + +> Vsi modrujemo o tem, kako bi javna uprava lahko dosegla več z manj sredstvi ali manjšim številom ljudi, redko pa se vprašamo, ali bi javna uprava lahko višjo učinkovitost dosegla s pomočjo korenite prenove organizacije dela. + +=> http://startaj.finance.si/8842981 Izvor: »Big data« je rešitev za največje težave javnega sektorja diff --git a/articles/2016-04-13_000-pecunia-non-olet.gmi b/articles/2016-04-13_000-pecunia-non-olet.gmi new file mode 100644 index 0000000..89b8904 --- /dev/null +++ b/articles/2016-04-13_000-pecunia-non-olet.gmi @@ -0,0 +1,7 @@ +# Pecunia non olet + +Pecunia non olet. + +Denar ne smrdi. + +Rimski izrek. Vespazijan je uvedel davek na urin, ki so ga zbirali in prodajali za uporabo v različnih kemičnih procesih. Vespazijanov sin se je pritoževal nad naravo davka, Vespazijan pa ga je pomiril, da denar nima vonja. diff --git a/articles/2016-04-13_001-uptime.gmi b/articles/2016-04-13_001-uptime.gmi new file mode 100644 index 0000000..c870978 --- /dev/null +++ b/articles/2016-04-13_001-uptime.gmi @@ -0,0 +1,8 @@ +50 dni + +Danes nov sistem teče neprekinjeno 50 dni: + +``` +matjaz@server:/export/home/matjaz$ uptime +21:11pop. up 50 days 21:55, 1 user, load average: 0,11, 0,12, 0,15 +``` \ No newline at end of file diff --git a/articles/2016-04-13_002-gotenica.gmi b/articles/2016-04-13_002-gotenica.gmi new file mode 100644 index 0000000..bde9386 --- /dev/null +++ b/articles/2016-04-13_002-gotenica.gmi @@ -0,0 +1,11 @@ +# Gotenica + +Služba ima vsake toliko tudi kakšno dobro stran. Res dobro stran. Tokrat smo šli v Gotenico. Tri dni usposabljanja za uspešnejše premagovanje stresa. + +Program je bil intenziven, zelo zanimiv, in mislim, da sem dobil nekaj novih spoznanj o sebi, o svojih … recimo problemih … in orodij kako stanje izboljšati. + +Poleg uradnega programa smo se s sodelavci tudi vsaj malo družili. Končno. Malo smo se zbližali, mogoče nastajajo zametki malo bolj teamskega delovanja. + +Gotenica seveda ne bi bila popolna, če ne bi šli tudi v “rov”. V bunker, zgrajen v nekih malo manj prijetnih časih, ko je bila nevarnost jedrskega spopada realnost. Ogled … super zanimiv. + +Celotna izkušnja — več kot pozitivna. \ No newline at end of file diff --git a/articles/2016-04-13_003-krpan-drugi-del.gmi b/articles/2016-04-13_003-krpan-drugi-del.gmi new file mode 100644 index 0000000..1f1aecb --- /dev/null +++ b/articles/2016-04-13_003-krpan-drugi-del.gmi @@ -0,0 +1,9 @@ +# Krpan – drugi del + +Danes sem ponovno poskusil krpana. Temno Laško Special. Kot račeno, spada med močnejša piva – s svojimi 11,0 % je kar močno. Močan sladkasti okus, na koncu lepo grenko. Alkohola se ne okusi preveč. + +Glede na to, kar piše na nalepki, je bilo to pivo prvič zvarjeno 1985 – v najboljšem letu :) + +Gre za triple beer. To je izraz, ki so ga na obalnem območju Belgije uporabljali za opis mčnega piva. Trend se je začel nekako v tridesetih prejšnjega stoletja v Belgiji, ime pa se je začelo nekje v 1956 v pivovarni Westmalle. Pivo ima dodanega več hmelja, v primerjavi s tistim iz prejšnjega obdobja (Superbier), recept je spermenil menih Brat Thomas, glavni pivovar pivovarne Wetmalle. + +Kako točno je Laško povezano s to zgodbo o izvoru? Bo treba še raziskati … To najmočnejše pivo na svetu (vsaj v letu 1985). diff --git a/articles/2016-04-13_004-eni-drugi-boljsi-casi.gmi b/articles/2016-04-13_004-eni-drugi-boljsi-casi.gmi new file mode 100644 index 0000000..c67dfd3 --- /dev/null +++ b/articles/2016-04-13_004-eni-drugi-boljsi-casi.gmi @@ -0,0 +1,8 @@ +# Eni drugi, boljši časi + +Balašević – Odlazi cirkus + +> Odlazi cirkus za sve je bolje tako +> mnogi su predstavu shvatili do sad +> nove pajace će masa naći lako +> jer drugi cirkus će doći u naš grad. \ No newline at end of file diff --git a/articles/2016-04-15_000-nadgradnja-streznika.gmi b/articles/2016-04-15_000-nadgradnja-streznika.gmi new file mode 100644 index 0000000..2a157ef --- /dev/null +++ b/articles/2016-04-15_000-nadgradnja-streznika.gmi @@ -0,0 +1,35 @@ +# Nadgradnja strežnika + +Update sistema. Po kar nekaj časa spet nadgradnja. Da bo strežnik koliko se da varen. V tem času se je nabralo 404 posodobitev. Po namestitvi je bil potreben ponovni zagon. Vse je šlo brez težav. + +``` +root@server:/root# pkg update +Packages to update: 404 +Create boot environment: Yes +Create backup boot environment: No + +DOWNLOAD PKGS FILES XFER (MB) SPEED +Completed 404/404 8452/8452 439.9/439.9 736k/s + +PHASE ITEMS +Removing old actions 240/240 +Installing new actions 388/388 +Updating modified actions 11603/11603 +Updating package state database Done +Updating package cache 404/404 +Updating image state Done +Creating fast lookup database Done + +A clone of omnios-2 exists and has been updated and activated. +On the next boot the Boot Environment omnios-3 will be +mounted on '/'. Reboot when ready to switch to this updated BE. + +--------------------------------------------------------------------------- +NOTE: Please review release notes posted at: + +http://omnios.omniti.com/ReleaseNotes +--------------------------------------------------------------------------- + +root@server:/root# uname -a +SunOS server 5.11 omnios-master-0832725 i86pc i386 i86pc +``` \ No newline at end of file diff --git a/articles/2016-04-24_000-not-my-circus.gmi b/articles/2016-04-24_000-not-my-circus.gmi new file mode 100644 index 0000000..0317cfc --- /dev/null +++ b/articles/2016-04-24_000-not-my-circus.gmi @@ -0,0 +1,5 @@ +# Not my Circus + +> Not my Circus, Not my Monkeys. +> +> Poljski pregovor diff --git a/articles/2016-04-25_000-prva-voznja-letos.gmi b/articles/2016-04-25_000-prva-voznja-letos.gmi new file mode 100644 index 0000000..5e699da --- /dev/null +++ b/articles/2016-04-25_000-prva-voznja-letos.gmi @@ -0,0 +1,5 @@ +# Prva vožnja letos + +No, končno je vreme spet približno uporabno. Danes je bilo sicer hladno, mogoče celo prehladno … ampak vseeno. Kratka vožnja za otvoritev sezone. 13 kilometrov, do Stanežič. Če bi bi bilo malo bolj toplo … Ampak, tako se je vsaj prilegel čaj, ko sem prišel nazaj. + +Dobra novica je, da je s kolesom vse ok. Vsi sistemi delujejo kot urca. \ No newline at end of file diff --git a/articles/2016-04-25_001-if-you-pay-peanuts-you-get-monkeys.gmi b/articles/2016-04-25_001-if-you-pay-peanuts-you-get-monkeys.gmi new file mode 100644 index 0000000..0d864f3 --- /dev/null +++ b/articles/2016-04-25_001-if-you-pay-peanuts-you-get-monkeys.gmi @@ -0,0 +1,5 @@ +# If you pay peanuts + +> If you pay peanuts, you get monkeys. + +Z drugimi besedami, če plačaš drobiž, ne pričakuj, da bo delo opravljeno super. Za pošteno delo je potrebno tudi pošteno plačilo. diff --git a/articles/2016-04-27_000-118-januar.gmi b/articles/2016-04-27_000-118-januar.gmi new file mode 100644 index 0000000..d1604a0 --- /dev/null +++ b/articles/2016-04-27_000-118-januar.gmi @@ -0,0 +1,5 @@ +# 118. januar + +Skoraj maj je že. In sneži. Na polno, še bolj kot kadarkoli med zimo. Počutim se kot bi bil 118. januar in ne 27. april. Da bo mera polna, napoved pravi, da bo snežilo še jutri. Super. + +Torej … namesto pomladanskih aktivnosti s kolesom, bomo te dni kidali sneg. In namesto izletov bomo raje doma na toplem. diff --git a/articles/2016-04-29_000-sneg.gmi b/articles/2016-04-29_000-sneg.gmi new file mode 100644 index 0000000..1ab8793 --- /dev/null +++ b/articles/2016-04-29_000-sneg.gmi @@ -0,0 +1,3 @@ +# Sneg konec aprila + +Sneg v prejšnjih dneh ni bil tako nedolžen. Polomil je veliko dreves. Zjutraj je vse ležalo na tleh, da je bilo težko priti mimo parka. Tudi po Celovški je na pločniku ležalo na kupe vej. Se kar spomnim na žled 2014. No, tako hudo sicer ni. Ampak slike so pa podobne. Vse leži podrto. Pa ravno se je začela pomlad … zdaj pa spet povsod sneg. No … v naslednjih dneh naj bi se vse spet postavilo na svoje mesto. Upam, da čim prej pospravijo te veje. diff --git a/articles/2016-04-29_001-popravili-so-kolesarsko-pot.gmi b/articles/2016-04-29_001-popravili-so-kolesarsko-pot.gmi new file mode 100644 index 0000000..ee92c68 --- /dev/null +++ b/articles/2016-04-29_001-popravili-so-kolesarsko-pot.gmi @@ -0,0 +1,5 @@ +# Popravili so kolesarsko pot + +Končno je MOL popravil kolesarsko pot pred Bežigrajskimi dvori na Dunajski. Pot je bila nevarna, saj bi ob malenkost večji hitrosti vožnje pri zavijanju s strani Kržičeve na Dunajsko lahko zapeljali na cesto, ki pa je zelo prometna. Zdaj so kolesarsko stezo speljali malo drugače – nekaj metrov je razlike. In je bolj varno. + +Zanimivo je, da je kolega pred kakšnima dvema letoma na MOL poslal prošnjo, naj ovinek popravijo. In zdaj so ga! \ No newline at end of file diff --git a/articles/2016-04-29_002-trije-vikendi-tri-piva.gmi b/articles/2016-04-29_002-trije-vikendi-tri-piva.gmi new file mode 100644 index 0000000..9196ca6 --- /dev/null +++ b/articles/2016-04-29_002-trije-vikendi-tri-piva.gmi @@ -0,0 +1,12 @@ +# Trije vikendi – tri piva + +Trije vikendi so šli mimo in padli so trije takšni, ki jih prej še nisem (no, nekaterih). Enkrat jih je treba. +## Prvi je Gulden Draak + +Spet Belgijsko in spet odlično. Mislim, da so mi belgijska piva res všeč. Ima močan okus in visoko vsebnost alkohola. Okus je takšen sladkast. Skoraj saden. Močno pivo, še dobro, da pride v majhni flaški. Posebnost embalaže je bela barva. Bo treba kdaj še! +## Drugi je bil Jelen + +Tradicionalni lager, nič posebnega. +## Tretji je bil Budweiser + +Tudi to je lager, za razliko od Jelena je bil ta boljši. Všečen, bomo še kdaj, ampak belgijci … ni primerjave! diff --git a/articles/2016-05-01_000-ko-pripravljas-ipad-ali-iphone-za-prodajo.gmi b/articles/2016-05-01_000-ko-pripravljas-ipad-ali-iphone-za-prodajo.gmi new file mode 100644 index 0000000..b9c3d6d --- /dev/null +++ b/articles/2016-05-01_000-ko-pripravljas-ipad-ali-iphone-za-prodajo.gmi @@ -0,0 +1,5 @@ +# Pred prodajo iPada ali iPhonea + +Pred prodajo iPada ali iPhonea je treba izvesti nekaj malenkosti, da se izognemo težavam. Odklopiti je treba povezavo z iCloudom in resetirati napravo. Postopek najdete tukaj: + +What to do before selling or giving away your iPhone, iPad, or iPod touch – Apple Support diff --git a/articles/2016-05-07_000-zica.gmi b/articles/2016-05-07_000-zica.gmi new file mode 100644 index 0000000..9279abe --- /dev/null +++ b/articles/2016-05-07_000-zica.gmi @@ -0,0 +1,7 @@ +Žica + +Spet smo šli okoli Ljubljane. Tokrat je bil tempo … malo … čisto malo hujši. Hitrejši. Močnejši. Ampak smo zmagali. In dobili medalje. V primerjavi s prejšnjim pohodom nama je uspelo približno uro in pol prej. + +Posledice … žulji … Nike očitno niso najboljša izbira za pohod. In noge … odpadle mi bodo. Še dobro, da je jutri nedelja. Ta rehabilitacija bo trajala ene dva tedna. Badminton bomo kar odložili za nekaj časa. + +Drugo leto spet? No … remains to be seen. diff --git a/articles/2016-05-21_000-nov-podvig.gmi b/articles/2016-05-21_000-nov-podvig.gmi new file mode 100644 index 0000000..519eff9 --- /dev/null +++ b/articles/2016-05-21_000-nov-podvig.gmi @@ -0,0 +1,9 @@ +# Nov podvig + +Danes je bilo končno lepo vreme za vikend in hkrati tudi nekaj časa. Kolo je končno dobilo malo pozornosti. Peljal sem se do Medvod in potem tam v hrib. Sledil sem kolesarski poti. + +Ugotovil sem, da mi sprednji menjalnik malo nagaja. Bo treba pogledat kaj se je zgodilo. Najvrjetneje nič posebnega, malo so popustili bovdni. Bomo zategnili, nastavili, pa bo. + +Pred nedavnim sem nabavil senzor kadence. Zadeva deluje prek povezave Bluetooth in se poveže s telefonom. Strava senzor zazna in lepo sodeluje z njim. Tokrat imam prvič podatke o kadenci 🙂 + +Tako pa to zgleda na Stravi. Senzor kadence povzroči, da so statistike malo bolj točne. diff --git a/articles/2016-05-22_000-se-ena-voznja.gmi b/articles/2016-05-22_000-se-ena-voznja.gmi new file mode 100644 index 0000000..c1f6b80 --- /dev/null +++ b/articles/2016-05-22_000-se-ena-voznja.gmi @@ -0,0 +1,7 @@ +# Še ena vožnja + +Danes je bil še en lep dan. Prelep, da ga ne bi izkoristil. Danes sem se odločil, da ne grem v tisti hrib od včeraj, ampak raje nadaljujem naprej. No, ni šlo bistveno dlje, ampak malo naprej od Goričan, pa vseeno. Pot sem končal v Sori. Pa ne reki, da ne bo pomote 😉 + +Malo sem zabluzil v Medvode … Prehitel me je kolesar in sem mu poskušal malo sledit … b otreba še malo delat na kadenci, da mu bom lažje sledil. + +Senzor kadence se obnese odlično. Tokrat sem namesto strave za snemanje uporabil Wahoo Fitness aplikacijo … Tukaj lahko nastavim, naj hitrost bere iz senzorja, in ne iz GPSa. Se mi zdai, da je tako malo bolj natančno, vsaj tistih neumnih špic, ki kažejo hitrosti prek 100 km/h je manj. diff --git a/articles/2016-05-28_000-skofja-loka.gmi b/articles/2016-05-28_000-skofja-loka.gmi new file mode 100644 index 0000000..b39a2bd --- /dev/null +++ b/articles/2016-05-28_000-skofja-loka.gmi @@ -0,0 +1,5 @@ +# Škofja Loka + +Končno je padla. Malo manj kot dve uri za tja in nazaj. Vreme je bilo idealno, prometa na cesti skoraj nič, vse skupaj priti mač prfekt. + +Na kolesu malo heca menjalnik … bo treba verjetno na servis, ker mi ga ni uspelo dobro nastavit. Včeraj sem se hecal z njim dve uri, pa ni pomagalo. No, nekaj že, ampak daleč od tega, kar bi moralo biti. diff --git a/articles/2016-08-02_000-kljucnica.gmi b/articles/2016-08-02_000-kljucnica.gmi new file mode 100644 index 0000000..1d89fe6 --- /dev/null +++ b/articles/2016-08-02_000-kljucnica.gmi @@ -0,0 +1,9 @@ +# Ključnica + +Ključnica – kost. No, uspelo mi jo je zlomit. Na poti iz Škofje Loke – s kolesom … Tik pred domom, na Celovški. Peljal sem mimo avtobusne postaje izza katere je stopil pešec. Po padcu sem uspel priti domov, se stuširat, potem pa na urgenco. Po petih urah na urgenci, kjer so mi zlom slikali in dvakrat pregledali, so me poslali domov z rutko. Opornic več ne dajajo, ker menda samo povzročajo bolečine, pomagajo pa ne prav dosti. + +No in tu se začne postopek štiritedenskega okrevanja. + +Prvi teden je zadeva malo bolela. Predvsem ob “napačnih” gibih in preden sem se pravil spat. Največji problem je bil namestiti se, da bom lahko preživel celo noč. Spanje na hrbtu. Drugi teden je bil že malo boljši. Naučil sem se pravilno namestiti pred spanjem, spanje na hrbtu je tudi postalo nekaj običajnega. Bolečin skoraj več ni bilo. Sledil je prvi kontrolni pregled. Diagnoza? Se celi. Treba je začeti s postopnim razgibavanjem roke. Tretji teden je bilo že bistveno boljše. Praktično vsak dan sem čutil razliko od prejšnjega. Jasno je postalo, da se zadeva ureja in bo kmalu ok. Četrti teden se je izboljšanje nadaljevalo. Sledil je še en pregled na polikliniki. Diagnoza? Iz rentgenskega posnetka je videti, da je zlom zaceljen. Roko sem dobro razgibal. Še tri tedne se moram izogibati športu. Konec bolniške. + +Prvič v življenju na bolniški in prvič nekaj zlomljeno … diff --git a/articles/2016-09-01_000-men-in-suits.gmi b/articles/2016-09-01_000-men-in-suits.gmi new file mode 100644 index 0000000..2f1958d --- /dev/null +++ b/articles/2016-09-01_000-men-in-suits.gmi @@ -0,0 +1,3 @@ +# Men in suits … + +> Men in suits look really successful. Until you realise they work for men in t-shirts and jeans. diff --git a/articles/2016-09-01_001-back-on-bike.gmi b/articles/2016-09-01_001-back-on-bike.gmi new file mode 100644 index 0000000..e8370f9 --- /dev/null +++ b/articles/2016-09-01_001-back-on-bike.gmi @@ -0,0 +1,4 @@ +# Back on bike + +No … Rehabilitacije po zlomu ključnice je uradno konec. V torek sem po dveh mesecoh spet kolesaril! Sicer samo po mestu – skočil sem do pisarne … Ampak je pa začetek +:) \ No newline at end of file diff --git a/articles/2016-09-05_000-spletna-varnost.gmi b/articles/2016-09-05_000-spletna-varnost.gmi new file mode 100644 index 0000000..c44b972 --- /dev/null +++ b/articles/2016-09-05_000-spletna-varnost.gmi @@ -0,0 +1,17 @@ +# Spletna varnost + +Spletna varnost je v zadnjem času vedno pomembnejša. Tematika je dokaj zapletena, ampak se jo z nekaj branja in poskušanja da naštudirat. In doseči dobre rezultate na testih varnosti. + +Za začetek je treba pridobiti certifikat za domeno, sledi pa nastavljanje konfiguracije strežnika. Ta del je najbolj zapleten. Ampak z malo vztrajnosti se da doseči dober rezultat. + +Za preverjanje spletne varnosti je na voljo več spletnih orodij, ki preverijo podporo posameznim standardom na strežniku, in glede na to ocenijo varnost. + +Najbolj znan je Qualysov SSL Lab. Tukaj dosežemo oceno A+. + +Drugi, sicer manj temeljit pregled je Mozillin Observatorij. Tudi tukaj dosegamo oceno A+ + +Sledita še dva bolj ozko usmerjena testa. Prvi testira varnostne headerje (ocena A): + +Drugi pa podporo šifrirnim standardom (ocena A+): + +No, zdaj bo treba pa še napisat, kako sem do tega prišel … da še sam ne pozabim \ No newline at end of file diff --git a/articles/2016-09-13_000-makedonija.gmi b/articles/2016-09-13_000-makedonija.gmi new file mode 100644 index 0000000..00fb573 --- /dev/null +++ b/articles/2016-09-13_000-makedonija.gmi @@ -0,0 +1,8 @@ +# Makedonija + +Danes smo pa v Makedoniji. Kar iz službe na letalo, in v eni uri sem bil tukaj. Letalo je bilo CRJ 900. Tokrat sem sedel v šesti vrsti. Če nikoli tako spredaj, ponavadi vedno tam nekje proti sredini … 13 vrsta … Let je bil miren, nič posebnega. Na srečo sem imel na telefonu vsaj toplovod, da sem malo poslušal te … nebuloze, če ne bi res lahko samo spal. + +Promet. Čist balkanski. Podobno kot Priština ali Tirana. Ne bi vozil tu okoli. Pri omejitvi 50 je taksist še vedno šel 130. Čeprav je pa malo smešna ta “avtocesta” z letališča do centra Skopja, ki se iz avtoceste spremeni na enkrat v mestno vpadnico in potem kar na hitro v navadno cesto … + +Jutri je konferenca … malo še preberem, naštudiram predstavitev … To bo to +:) \ No newline at end of file diff --git a/articles/2016-09-15_000-skopsko-letalisce.gmi b/articles/2016-09-15_000-skopsko-letalisce.gmi new file mode 100644 index 0000000..77cd692 --- /dev/null +++ b/articles/2016-09-15_000-skopsko-letalisce.gmi @@ -0,0 +1,11 @@ +# Skopsko letališče + +Pot domov. Taksi od hotela do letališča ni bil nič posebnega. Malo prometne gneče v mestu, ko smo prišli na avtocesto, se je malo sčistilo in je šlo kar hitro. Pol ure pa smo na letališču. Voznik je … vozil … No, vse prej kot lepo. Tak tipičen Balkan. Omejitve so bolj priporočila, predpisi bolj smernice, smerniki samo moteče novoletne lučke. Ampak, smo bili pa hitri. + +Letališče. Aleksander Veliki. Chekin je šel hitro. Prvi in edini v vrsti. Podobno kot potem na kontroli potnih listov in varnostnem pregledu. Enega reveža pred mano so slekli in sezuli, pretipali … vse so mu odprli in pregledali. Meni ni bilo treba 🙂 + +Hvalijo se, da so najboljše letališče v Evropi. Ja. Pa po mojem tudi. Prišel sem na terminal. Izhod 102. Nikogar tam. Ok, sej je še ura in pol do leta. Gremo iskat nekaj za jest … malo sem že lačen. Od zajtrka je minilo že pol dneva. Vse. Vse zaprto. Nobenega duty free, nobenega sendwich shopa, nič. + +Mislim, da mi je uspelo najti edino vtičnico na celem terminalu. Imam vsaj kaj delat. In še internet imajo. + +Najboljše letališče v Evropi? Heh :) \ No newline at end of file diff --git a/articles/2016-09-15_001-skopje.gmi b/articles/2016-09-15_001-skopje.gmi new file mode 100644 index 0000000..e621e60 --- /dev/null +++ b/articles/2016-09-15_001-skopje.gmi @@ -0,0 +1,14 @@ +# Skopje + +Ja. Skopje 2014. Projekt “barokizacije” makedonske prestolnice. Recept: vzameš mesto, ki je bilo po potresu obnovljeno (na novo zgrajeno) v socialističnem brezizraznem slogu betonskih bunkerjev, in tem bunkerjem dodaš baročni videz. Ali neoklasicistični … ali kako bi pač že rekli temu slogu. Naj bi bil izvorni slog Skopja, nekaj starih stavb, ki so preživele potres je celo zgrajenih v podobnem slogu. Te menjave fasad so nekaterim všeč, večini pa menda ne. No … nimam posebnega mnenja o tem. Všeč mi je na primer novo gledališče, ki so ga postavili na mestu, kjer je pred potresom stalo staro, s tem, da so ga zgradili po prvotnih načrtih, vključno z “baročno” fasado. No, to kar delajo s stavbami v mestu je pa … malo drugače. +Kip Aleksandra velikega + +In kipi, spomeniki … Ajajajaj. Po vsem mestu so raztresli cel kup novih spomenikov. Nekaj antičnih kraljev, nekaj srednjeveških, cel kup modernih voditeljev. Pri nas res postavimo zelo malo kipov, pa imamo ljudi, ki bi si jih zaslužili. Ampak toliko kot jih je postavilo Skopje je pa vseeno malo preveč. Potem zgleda kot da se ne morejo odločiti, koga zares slavijo – svojo antično makedonsko preteklost, svojo sedanjost? Jasno je samo, da ne Turkov. Ta del je jasen. + +Mesto je vredno ogleda. Če ne kot turistična zanimivost, pa vsaj kot opomnik, kaj se zgodi, če se elite igrajo arhitekte in zgodovinarje, in imajo čisto preveč denarja, ki ga je treba potrošiti. + +Gostitelji. Odlični. Včeraj so nas peljali na skupno večerjo v eno od (menda) boljših restavracij v mestu. Privoščili smo si solato za predjed. Odlična. In pico za večerjo. In potem so prinesli še baklavo, kavo, limonin sorbet … Še dobro, da smo po večerji šli še na sprehod po mestu, da se je vse malo poleglo. Ko smo ob enih zjutraj prišli nazaj v hotel, sem samo še padel v posteljo. + +Danes. Chekout. Zjutraj sem vstal kot običajno. Čez teden mi … ne vem zakaj … zadnje čase ne uspe dolgo spat. Zajtrk. Pospravljanje stvari v potovalko. Zdaj pa pijem kavo v lobbyju in … pišem. + +Ura je malo čez enajst, prevoz na letališče imam ob dveh. Razmišljam, da imam še nekaj časa … lahko bi šel še malo v mesto. diff --git a/articles/2016-09-16_000-sicut-pulvis-et-umbra-sumus-mortales.gmi b/articles/2016-09-16_000-sicut-pulvis-et-umbra-sumus-mortales.gmi new file mode 100644 index 0000000..a3ab8d1 --- /dev/null +++ b/articles/2016-09-16_000-sicut-pulvis-et-umbra-sumus-mortales.gmi @@ -0,0 +1,7 @@ +# Sicut pulvis et umbra sumus mortales + +> Sicut pulvis et umbra sumus mortales. +> +> Smrtniki smo sence in prah. +> +> Cassandra Clare, Clockwork Angel \ No newline at end of file diff --git a/articles/2016-09-25_000-diagnostika.gmi b/articles/2016-09-25_000-diagnostika.gmi new file mode 100644 index 0000000..d8e54a6 --- /dev/null +++ b/articles/2016-09-25_000-diagnostika.gmi @@ -0,0 +1,104 @@ +# Diagnostika + +Za uprvljnje sistema Omnios (ali kakšnega drugega na Solarisu temelječega sistema) pridejo prav nekateri ukazi, ki pokažejo, kaj se dogaja na sistemu. Tukaj je ena zbirka tega, kar sem našel … predvsem za to, da si jih nekam shranim. + +## zonestat 5 2 +``` +Collecting data for first interval... +Interval: 1, Duration: 0:00:05 +SUMMARY Cpus/Online: 2/2 Physical: 8159M Virtual: 9.9G + ----------CPU---------- ----PHYSICAL----- -----VIRTUAL----- + ZONE USED %PART %CAP %SHRU USED PCT %CAP USED PCT %CAP + [total] 0.31 15.7% - - 3406M 41.7% - 4017M 39.3% - + [system] 0.02 1.00% - - 2496M 30.6% - 1666M 16.3% - + global 0.29 14.6% - - 909M 11.1% - 2351M 23.0% - + +Interval: 2, Duration: 0:00:10 +SUMMARY Cpus/Online: 2/2 Physical: 8159M Virtual: 9.9G + ----------CPU---------- ----PHYSICAL----- -----VIRTUAL----- + ZONE USED %PART %CAP %SHRU USED PCT %CAP USED PCT %CAP + [total] 0.35 17.6% - - 3406M 41.7% - 4017M 39.3% - + [system] 0.01 0.94% - - 2496M 30.6% - 1666M 16.3% - + global 0.33 16.6% - - 909M 11.1% - 2351M 23.0% - +``` + +## prstat -L +``` + PID USERNAME SIZE RSS STATE PRI NICE TIME CPU PROCESS/LWPID + 1145 root 16M 12M sleep 35 0 116:34:11 8,2% perl/1 + 15512 www 56M 35M sleep 59 0 0:02:08 0,8% php-fpm/1 + 23567 www 56M 35M sleep 59 0 0:01:45 0,4% php-fpm/1 + 18502 www 53M 33M sleep 59 0 0:00:19 0,2% php-fpm/1 + 1144 root 5016K 3612K sleep 59 0 1:31:18 0,1% bash/1 + 124 root 0K 0K sleep 0 -20 1:19:07 0,1% zpool-tank/99 + 2242 matjaz 5452K 4260K cpu0 59 0 0:00:00 0,1% prstat/1 + 16578 root 24M 16M sleep 59 0 0:21:34 0,0% perl/1 + 884 redis 7156K 2972K sleep 59 0 0:28:11 0,0% redis-server/1 + 2358 root 4120K 2388K sleep 59 0 0:00:00 0,0% sleep/1 + 124 root 0K 0K sleep 99 -20 0:11:36 0,0% zpool-tank/125 + 124 root 0K 0K sleep 99 -20 0:11:32 0,0% zpool-tank/121 + 124 root 0K 0K sleep 99 -20 0:11:32 0,0% zpool-tank/111 + 6 root 0K 0K sleep 0 -20 0:07:04 0,0% zpool-rpool/83 + 1170 root 26M 14M sleep 59 0 0:20:03 0,0% python2.6/2 + 711 mysql 619M 464M sleep 59 0 0:00:25 0,0% mysqld/28 + 124 root 0K 0K sleep 99 -20 0:11:35 0,0% zpool-tank/123 + 124 root 0K 0K sleep 99 -20 0:11:35 0,0% zpool-tank/119 + 124 root 0K 0K sleep 99 -20 0:11:33 0,0% zpool-tank/117 + 124 root 0K 0K sleep 99 -20 0:11:30 0,0% zpool-tank/116 + 1170 root 26M 14M sleep 59 0 0:14:29 0,0% python2.6/3 + 1135 postgres 12M 1848K sleep 59 0 0:07:44 0,0% postgres/1 + 711 mysql 619M 464M sleep 59 0 0:00:25 0,0% mysqld/26 + 124 root 0K 0K sleep 99 -20 0:11:35 0,0% zpool-tank/114 + 1477 matjaz 13M 2032K sleep 59 0 0:00:00 0,0% sshd/1 + 711 mysql 619M 464M sleep 59 0 0:05:44 0,0% mysqld/15 + 352 root 14M 10M sleep 59 0 0:00:30 0,0% nscd/22 + 124 root 0K 0K sleep 0 -20 0:05:36 0,0% zpool-tank/2 + 1134 postgres 1084M 2900K sleep 59 0 0:03:18 0,0% postgres/1 + 1127 root 8788K 1672K sleep 59 0 0:02:54 0,0% netatalk/1 + 1084 postgres 1084M 47M sleep 59 0 0:04:30 0,0% postgres/1 + 603 root 7124K 3516K sleep 59 0 0:04:00 0,0% ntpd/1 + 711 mysql 619M 464M sleep 59 0 0:01:55 0,0% mysqld/19 + 6 root 0K 0K sleep 99 -20 0:01:08 0,0% zpool-rpool/110 + 6 root 0K 0K sleep 0 -20 0:00:06 0,0% zpool-rpool/33 +Total: 96 processes, 822 lwps, load averages: 0,27, 0,27, 0,26 +``` +## vmstat +``` + kthr memory page disk faults cpu + r b w swap free re mf pi po fr de sr ro s0 s1 s2 in sy cs us sy id + 0 0 0 1941060 503320 287 861 0 0 0 0 1 3 3 36 36 956 2088 993 11 4 85 +``` +## iostat +``` + tty rpool sd0 sd1 sd2 cpu + tin tout kps tps serv kps tps serv kps tps serv kps tps serv us sy dt id + 1 136 113 3 35 113 3 2 1967 36 4 1968 36 4 11 4 0 85 +``` +## prtdiag +``` +System Configuration: HP ProLiant MicroServer +BIOS Configuration: HP O41 01/17/2011 +BMC Configuration: IPMI 2.0 (KCS: Keyboard Controller Style) + +==== Processor Sockets ==================================== + +Version Location Tag +-------------------------------- -------------------------- +AMD Athlon(tm) II Neo N36L Dual-Core Processor CPU 1 + +==== Memory Device Sockets ================================ + +Type Status Set Device Locator Bank Locator +----------- ------ --- ------------------- ---------------- +other in use 0 DIMM0 BANK0 +other in use 0 DIMM1 BANK1 + +==== On-Board Devices ===================================== + +==== Upgradeable Slots ==================================== + +ID Status Type Description +--- --------- ---------------- ---------------------------- +1 available PCI Express PCIE1-J5 +2 available PCI Express PCIE2-J6 +``` diff --git a/articles/2016-09-25_000-diagnostika.gmi~ b/articles/2016-09-25_000-diagnostika.gmi~ new file mode 100644 index 0000000..e69de29 diff --git a/articles/2016-09-28_000-the-things-we-choose-to-care-about.gmi b/articles/2016-09-28_000-the-things-we-choose-to-care-about.gmi new file mode 100644 index 0000000..add89fc --- /dev/null +++ b/articles/2016-09-28_000-the-things-we-choose-to-care-about.gmi @@ -0,0 +1,5 @@ +# The things we choose to care about + +Citat iz nanizanke West Wing … Drži. Vse je v naši moči, o vsem se sami odločamo. Tudi o tem, kaj nam ponoči ne da spati. Kaj nam je pomembno. S čim se obremenjujemo. S čim se ukvarjamo. + +> The things we choose to care about. diff --git a/articles/2016-10-01_000-omogoci-utf-8-v-postgres.gmi b/articles/2016-10-01_000-omogoci-utf-8-v-postgres.gmi new file mode 100644 index 0000000..f3878a8 --- /dev/null +++ b/articles/2016-10-01_000-omogoci-utf-8-v-postgres.gmi @@ -0,0 +1,24 @@ +# Omogoči utf-8 v Postgres + +``` +matjaz@server:~$ psql -U postgres +psql (9.6.0) +Type "help" for help. + +postgres=# update pg_database set datallowconn = TRUE where datname = 'template0'; +UPDATE 1 +postgres=# \c template0 +You are now connected to database "template0". +template0=# update pg_database set datistemplate = FALSE where datname = 'template1'; +UPDATE 1 +template0=# drop database template1; +DROP DATABASE +template0=# create database template1 with template = template0 encoding = 'UTF8'; +CREATE DATABASE +template0=# update pg_database set datistemplate = TRUE where datname = 'template1'; +UPDATE 1 +template0=# \c template1 +You are now connected to database "template1". +template1=# update pg_database set datallowconn = FALSE where datname = 'template0'; +UPDATE 1 +``` \ No newline at end of file diff --git a/articles/2016-10-12_000-linux-zone-v-omnios.gmi b/articles/2016-10-12_000-linux-zone-v-omnios.gmi new file mode 100644 index 0000000..1af619b --- /dev/null +++ b/articles/2016-10-12_000-linux-zone-v-omnios.gmi @@ -0,0 +1,198 @@ +# Linux zone v Omnios + +Torej … Zone. To je lahka virtualizacija znotraj Solarisa. Gre za … jaile iz FreeBSD na stereoidih, kontainerje … Lahko so tipa solaris, ali pa linux (LX brand). No, takšne solarisove je enostavno narediti, ta funkcionalnost je delovala že ves čas. Ta mesec pa so razvijalci v Omnios dodali tudi možnost Linux zone. V bistvu je ta funkcionalnst nekoč, pred davnimi časi, že delovala. Vendar je po tem, ko je Oracle opustil OpenSolaris, malo propadala. Nihče je ni posodabljal in popravljal problemov, ki so nastali z razvojem Linuxa. No, pred kratkim so funkcionalnost obudili pri Joyent Smartos, zdaj pa je na voljo tudi v Omnios. Funkcionalnost nam omogoča, da na Omnios znotraj kontejnerja poženemo Linux, znotraj tega pa Linux software, ki ni na voljo za Omnios. Zone je tako lahka virtualizacija, da v bistvu ne izgubimo performansov (kot bi jih pri polni virtualizaciji z npr. KVM ali virtualBox). Deluje s hitrostjo sistema na “bare metal”. Poleg tega pa ohranimo vse prednosti ZFS in Omnios okolja + +Pa začnimo. Najprej naredimo virtualni omrežni adapter: + +``` +root@server:/root# dladm create-vnic -l bge0 lxzone0 +``` + +Pred začetkom bo treba namestiti paket s podporo za lx branded zones: + +``` +root@server:/root# pkg install lx +``` + +Nadaljujemo z ustvarjanjem datotečnega sistema na katrem bomo imeli zone: + +``` +root@server:/root# zfs create /tank/zones +``` + +In zdaj ustvarimo opis virtualnega strežnika: + +``` +root@server:/root# zonecfg -z lxzone export +lxzone: No such zone configured +root@server:/root# zonecfg -z lxzone +lxzone: No such zone configured +Use 'create' to begin configuring a new zone. +zonecfg:lxzone> create -b +zonecfg:lxzone> set zonepath=/tank/zones/lxzone +zonecfg:lxzone> set brand=lx +zonecfg:lxzone> set autoboot=false +zonecfg:lxzone> set ip-type=exclusive +zonecfg:lxzone> add net +zonecfg:lxzone:net> set physical=lxzone0 +zonecfg:lxzone:net> add property (name=gateway,value="192.168.5.1") +zonecfg:lxzone:net> add property (name=ips,value="192.168.5.69/24") +zonecfg:lxzone:net> add property (name=primary,value="true") +zonecfg:lxzone:net> end +zonecfg:lxzone> add attr +zonecfg:lxzone:attr> set name=dns-domain +zonecfg:lxzone:attr> set type=string +zonecfg:lxzone:attr> set value=lxzone +zonecfg:lxzone:attr> end +zonecfg:lxzone> add attr +zonecfg:lxzone:attr> set name=resolvers +zonecfg:lxzone:attr> set type=string +zonecfg:lxzone:attr> set value=192.168.5.1 +zonecfg:lxzone:attr> end +zonecfg:lxzone> add attr +zonecfg:lxzone:attr> set name=kernel-version +zonecfg:lxzone:attr> set type=string +zonecfg:lxzone:attr> set value=2.6.32 +zonecfg:lxzone:attr> end +zonecfg:lxzone> verify +zonecfg:lxzone> commit +zonecfg:lxzone> exit +``` + +S spleta prenesmo sliko sistema: + +Na voljo so slike na tej strani: https://docs.joyent.com/public-cloud/instances/infrastructure/images/ubuntu#ubuntu-1604 + +``` +root@server:/root# wget https://images.joyent.com/images/0be607d2-8b61-11e6-bf98-03750d422a79/file +--2016-10-12 16:58:47-- https://images.joyent.com/images/0be607d2-8b61-11e6-bf98-03750d422a79/file +Resolving images.joyent.com (images.joyent.com)... 165.225.156.123 +Connecting to images.joyent.com (images.joyent.com)|165.225.156.123|:443... connected. +HTTP request sent, awaiting response... 200 OK +Length: 286693599 (273M) [application/octet-stream] +Saving to: ‘file’ + +file 100%[===================>] 273,41M 667KB/s in 7m 3s + +2016-10-12 17:05:52 (662 KB/s) - ‘file’ saved [286693599/286693599] + +root@server:/root# mv file centos68.gz +``` + +Inštaliramo zone iz slike sistema, ki smo jo prenesli s spleta: + +``` +root@server:/root# zoneadm -z lxzone install -s /root/centos68.gz +A ZFS file system has been created for this zone. +``` + +Zdaj, ko je vse nameščeno, lahko virtualni strežnik zaženemo: + +``` +root@server:/root# zoneadm -z lxzone boot +zone 'lxzone': SELINUX=enforcing +zone 'lxzone': +``` + +Zdaj se lahko prijavimo v sistem in izvedemo osnovne nastavitve … + +``` +root@server:/root# zlogin lxzone +[Connected to zone 'lxzone' pts/4] + __ . . + _| |_ | .-. . . .-. :--. |- +|_ _| ;| || |(.-' | | | + |__| `--' `-' `;-| `-' ' ' `-' + / ; Instance (CentOS 6.8 20161006) + `-' https://docs.joyent.com/images/container-native-linux + +[root@lxzone ~]# ifconfig -a +lo Link encap:Local Loopback + inet addr:127.0.0.1 Mask:255.0.0.0 + inet6 addr: ::1/128 Scope:Host + UP LOOPBACK RUNNING MULTICAST MTU:8232 Metric:1 + RX packets:0 errors:0 dropped:0 overruns:0 frame:0 + TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 + collisions:0 txqueuelen:0 + RX bytes:0 (0.0 b) TX bytes:0 (0.0 b) + +lxzone0 Link encap:Ethernet HWaddr 02:08:20:DB:A8:94 + inet addr:192.168.5.69 Bcast:192.168.5.255 Mask:255.255.255.0 + inet6 addr: fe80::8:20ff:fedb:a894/10 Scope:Link + UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 + RX packets:101 errors:0 dropped:0 overruns:0 frame:0 + TX packets:55 errors:0 dropped:0 overruns:0 carrier:0 + collisions:0 txqueuelen:1 + RX bytes:6708 (6.5 KiB) TX bytes:4045 (3.9 KiB) + +[root@lxzone ~]# ping server.dev +PING server.dev (192.168.5.105) 56(84) bytes of data. +64 bytes from server.dev (192.168.5.105): icmp_seq=1 ttl=255 time=0.234 ms +64 bytes from server.dev (192.168.5.105): icmp_seq=2 ttl=255 time=0.163 ms +64 bytes from server.dev (192.168.5.105): icmp_seq=3 ttl=255 time=0.191 ms +^C +--- server.dev ping statistics --- +3 packets transmitted, 3 received, 0% packet loss, time 2817ms +rtt min/avg/max/mdev = 0.163/0.196/0.234/0.029 ms +[root@lxzone ~]# ping www.arnes.si +PING lajnar.arnes.si (193.2.1.67) 56(84) bytes of data. +64 bytes from lajnar.arnes.si (193.2.1.67): icmp_seq=1 ttl=250 time=2.25 ms +64 bytes from lajnar.arnes.si (193.2.1.67): icmp_seq=2 ttl=250 time=2.30 ms +64 bytes from lajnar.arnes.si (193.2.1.67): icmp_seq=3 ttl=250 time=1.81 ms +64 bytes from lajnar.arnes.si (193.2.1.67): icmp_seq=4 ttl=250 time=1.69 ms +^C +--- lajnar.arnes.si ping statistics --- +4 packets transmitted, 4 received, 0% packet loss, time 3739ms +rtt min/avg/max/mdev = 1.696/2.015/2.300/0.266 ms +[root@lxzone ~]# ssh localhost +The authenticity of host 'localhost (::1)' can't be established. +RSA key fingerprint is 1c:36:52:2b:be:ed:b3:2e:12:3e:eb:dd:95:57:46:1d. +Are you sure you want to continue connecting (yes/no)? yes +Warning: Permanently added 'localhost' (RSA) to the list of known hosts. +Permission denied (publickey,gssapi-keyex,gssapi-with-mic). +[root@lxzone ~]# adduser matjaz +[root@lxzone ~]# passwd matjaz +Changing password for user matjaz. +New password: +Retype new password: +passwd: all authentication tokens updated successfully. +[root@lxzone ~]# logout + +[Connection to zone 'lxzone' pts/4 closed] +root@server:/root# zlogin lxzone +root@server:/root# +``` + +Za omogočenje oddaljene ssh prijave, je treba urediti nastavitve sshd strežnika. + +``` +[root@lxzone ~]# vi /etc/ssh/sshd_config +``` + +Nastavitev PasswordAuthentication je treba omogočiti in nastaviti na yes. Nastavitve shranimo in ponovno zaženemo sshd: + +``` +[root@lxzone ~]# service sshd restart +Stopping sshd: [ OK ] +Starting sshd: [ OK ] +``` + +Zdaj se lahko prijavimo v virtualni strežnik s ssh: + +``` +macbook:~ matjaz$ ssh matjaz@192.168.5.69 +matjaz@192.168.5.69's password: +Last login: Wed Oct 12 17:57:39 2016 from macbook.dev + __ . . + _| |_ | .-. . . .-. :--. |- +|_ _| ;| || |(.-' | | | + |__| `--' `-' `;-| `-' ' ' `-' + / ; Instance (CentOS 6.8 20161006) + `-' https://docs.joyent.com/images/container-native-linux + +[matjaz@lxzone ~]$ uname -a +Linux lxzone 2.6.32 BrandZ virtual linux x86_64 x86_64 x86_64 GNU/Linux +[matjaz@lxzone ~]$ +``` + +In … deluje :) diff --git a/articles/2016-11-03_000-those-who-are-determined.gmi b/articles/2016-11-03_000-those-who-are-determined.gmi new file mode 100644 index 0000000..fc0f939 --- /dev/null +++ b/articles/2016-11-03_000-those-who-are-determined.gmi @@ -0,0 +1,7 @@ +# Those who are determined + +> Those who are determined to be ‘offended’ will discover a provocation somewhere. We cannot possibly adjust enough to please the fanatics, and it is degrading to make the attempt. +> +> Christopher Hitchens + + diff --git a/articles/2016-11-08_000-se-eno-orodje-za-diagnostiko.gmi b/articles/2016-11-08_000-se-eno-orodje-za-diagnostiko.gmi new file mode 100644 index 0000000..2e42b3e --- /dev/null +++ b/articles/2016-11-08_000-se-eno-orodje-za-diagnostiko.gmi @@ -0,0 +1,461 @@ +# Še eno orodje za diagnostiko + +``` +matjaz@solaris:/export/home/matjaz$ smbios +ID SIZE TYPE +0 45 SMB_TYPE_BIOS (type 0) (BIOS information) + +Vendor: HP +Version String: O41 +Release Date: 01/17/2011 +Address Segment: 0xf000 +ROM Size: 2097152 bytes +Image Size: 65536 bytes +Characteristics: 0x1778bda90 +SMB_BIOSFL_ISA (ISA is supported) +SMB_BIOSFL_PCI (PCI is supported) +SMB_BIOSFL_PLUGNPLAY (Plug and Play is supported) +SMB_BIOSFL_FLASH (BIOS is Flash Upgradeable) +SMB_BIOSFL_SHADOW (BIOS shadowing is allowed) +SMB_BIOSFL_ESCD (ESCD support is available) +SMB_BIOSFL_CDBOOT (Boot from CD is supported) +SMB_BIOSFL_SELBOOT (Selectable Boot supported) +SMB_BIOSFL_ROMSOCK (BIOS ROM is socketed) +SMB_BIOSFL_EDD (EDD Spec is supported) +SMB_BIOSFL_525_12M (int 0x13 5.25" 1.2M floppy) +SMB_BIOSFL_35_720K (int 0x13 3.5" 720K floppy) +SMB_BIOSFL_35_288M (int 0x13 3.5" 2.88M floppy) +SMB_BIOSFL_I5_PRINT (int 0x5 print screen svcs)dmidecode Part Number: To Be Filled By O.E.M. +-bash: dmidecode: command not found +matjaz@solaris:/export/home/matjaz$ +SMB_BIOSFL_I14_SER (int 0x14 serial svcs) +SMB_BIOSFL_I17_PRINTER (int 0x17 printer svcs) +SMB_BIOSFL_I10_CGA (int 0x10 CGA svcs) +0x100000000 +Characteristics Extension Byte 1: 0x33 +SMB_BIOSXB1_ACPI (ACPI is supported) +SMB_BIOSXB1_USBL (USB legacy is supported) +SMB_BIOSXB1_LS120 (LS-120 boot is supported) +SMB_BIOSXB1_ATZIP (ATAPI ZIP drive boot is supported) +Characteristics Extension Byte 2: 0x5 +SMB_BIOSXB2_BBOOT (BIOS Boot Specification supported) +SMB_BIOSXB2_ETCDIST (Enable Targeted Content Distrib.) +Version Number: 0.0 +Embedded Ctlr Firmware Version Number: 0.0 + +ID SIZE TYPE +1 92 SMB_TYPE_SYSTEM (type 1) (system information) + +Manufacturer: HP +Product: ProLiant MicroServer +Version: +Serial Number: 5C7115P0DX + +UUID: 808ade18-d21d-b211-8000-984be1088847 +Wake-Up Event: 0x6 (power switch) +SKU Number: 633724-421 +Family: + +ID SIZE TYPE +2 31 SMB_TYPE_CHASSIS (type 3) (system enclosure or chassis) + +Manufacturer: HP +Version: +Serial Number: +Asset Tag: + +OEM Data: 0x0 +SKU number: +Lock Present: N +Chassis Type: 0x7 (tower) +Boot-Up State: 0x3 (safe) +Power Supply State: 0x3 (safe) +Thermal State: 0x3 (safe) +Chassis Height: 0u +Power Cords: 1 +Element Records: 0 + +ID SIZE TYPE +3 187 SMB_TYPE_PROCESSOR (type 4) (processor) + +Manufacturer: AMD +Version: AMD Athlon(tm) II Neo N36L Dual-Core Processor +Serial Number: To Be Filled By O.E.M. +Asset Tag: To Be Filled By O.E.M. +Location Tag: CPU 1 +Part Number: To Be Filled By O.E.M. + +Family: 1 (other) +Family Ext: 65535 +CPUID: 0x178bfbff00100f63 +Type: 3 (central processor) +Socket Upgrade: 1 (other) +Socket Status: Populated +Processor Status: 1 (enabled) +Supported Voltages: 1.1V +Core Count: 2 +Cores Enabled: 2 +Thread Count: 2 +Processor Characteristics: 0x4 +SMB_PRC_64BIT (64-bit capable) +External Clock Speed: Unknown +Maximum Speed: 2200MHz +Current Speed: 1300MHz +L1 Cache: 4 +L2 Cache: 5 +L3 Cache: 6 + +ID SIZE TYPE +4 27 SMB_TYPE_CACHE (type 7) (processor cache) + +Location Tag: L1-Cache + +Level: 1 +Maximum Installed Size: 262144 bytes +Installed Size: 262144 bytes +Speed: Unknown +Supported SRAM Types: 0x10 +SMB_CAT_PBURST (pipeline burst) +Current SRAM Type: 0x10 (pipeline burst) +Error Correction Type: 5 (single-bit ECC) +Logical Cache Type: 4 (data) +Associativity: 5 (4-way set associative) +Mode: 2 (varies by address) +Location: 0 (internal) +Flags: 0x1 +SMB_CAF_ENABLED (enabled at boot time) + +ID SIZE TYPE +5 27 SMB_TYPE_CACHE (type 7) (processor cache) + +Location Tag: L2-Cache + +Level: 2 +Maximum Installed Size: 2097152 bytes +Installed Size: 2097152 bytes +Speed: Unknown +Supported SRAM Types: 0x10 +SMB_CAT_PBURST (pipeline burst) +Current SRAM Type: 0x10 (pipeline burst) +Error Correction Type: 5 (single-bit ECC) +Logical Cache Type: 5 (unified) +Associativity: 5 (4-way set associative) +Mode: 2 (varies by address) +Location: 0 (internal) +Flags: 0x1 +SMB_CAF_ENABLED (enabled at boot time) + +ID SIZE TYPE +6 27 SMB_TYPE_CACHE (type 7) (processor cache) + +Location Tag: L3-Cache + +Level: 3 +Maximum Installed Size: 0 bytes +Installed Size: Not Installed +Speed: Unknown +Supported SRAM Types: 0x2 +SMB_CAT_UNKNOWN (unknown) +Current SRAM Type: 0x2 (unknown) +Error Correction Type: 2 (unknown) +Logical Cache Type: 2 (unknown) +Associativity: 2 (unknown) +Mode: 3 (unknown) +Location: 0 (internal) +Flags: 0x0 + +ID SIZE TYPE +7 22 SMB_TYPE_PORT (type 8) (port connector) + +Location Tag: J13 + +Internal Reference Designator: J13 +External Reference Designator: Front USB +Internal Connector Type: 0 (none) +External Connector Type: 18 (USB) +Port Type: 16 (USB) + +ID SIZE TYPE +8 22 SMB_TYPE_PORT (type 8) (port connector) + +Location Tag: J14 + +Internal Reference Designator: J14 +External Reference Designator: Front USB +Internal Connector Type: 0 (none) +External Connector Type: 18 (USB) +Port Type: 16 (USB) + +ID SIZE TYPE +9 21 SMB_TYPE_PORT (type 8) (port connector) + +Location Tag: J15 + +Internal Reference Designator: J15 +External Reference Designator: Rear USB +Internal Connector Type: 0 (none) +External Connector Type: 18 (USB) +Port Type: 16 (USB) + +ID SIZE TYPE +10 18 SMB_TYPE_PORT (type 8) (port connector) + +Location Tag: J15 + +Internal Reference Designator: J15 +External Reference Designator: LAN 1 +Internal Connector Type: 0 (none) +External Connector Type: 11 (RJ-45) +Port Type: 31 (Network port) + +ID SIZE TYPE +11 16 SMB_TYPE_PORT (type 8) (port connector) + +Location Tag: J16 + +Internal Reference Designator: J16 +External Reference Designator: VGA +Internal Connector Type: 0 (none) +External Connector Type: 7 (DB-15 pin female) +Port Type: 28 (Video port) + +ID SIZE TYPE +12 18 SMB_TYPE_PORT (type 8) (port connector) + +Location Tag: J23 + +Internal Reference Designator: J23 +External Reference Designator: eSATA +Internal Connector Type: 0 (none) +External Connector Type: 34 (SAS/SATA plug receptacle) +Port Type: 32 (SATA) + +ID SIZE TYPE +13 21 SMB_TYPE_PORT (type 8) (port connector) + +Location Tag: J8 - MINISAS + +Internal Reference Designator: J8 - MINISAS +External Reference Designator: +Internal Connector Type: 34 (SAS/SATA plug receptacle) +External Connector Type: 0 (none) +Port Type: 32 (SATA) + +ID SIZE TYPE +14 17 SMB_TYPE_PORT (type 8) (port connector) + +Location Tag: J20 -TPM + +Internal Reference Designator: J20 -TPM +External Reference Designator: +Internal Connector Type: 255 (other) +External Connector Type: 0 (none) +Port Type: 255 (other) + +ID SIZE TYPE +15 17 SMB_TYPE_PORT (type 8) (port connector) + +Location Tag: J22 -FAN + +Internal Reference Designator: J22 -FAN +External Reference Designator: +Internal Connector Type: 255 (other) +External Connector Type: 0 (none) +Port Type: 255 (other) + +ID SIZE TYPE +16 23 SMB_TYPE_PORT (type 8) (port connector) + +Location Tag: J24 - SATA ODD + +Internal Reference Designator: J24 - SATA ODD +External Reference Designator: +Internal Connector Type: 34 (SAS/SATA plug receptacle) +External Connector Type: 0 (none) +Port Type: 32 (SATA) + +ID SIZE TYPE +17 27 SMB_TYPE_PORT (type 8) (port connector) + +Location Tag: J33 - Internal USB + +Internal Reference Designator: J33 - Internal USB +External Reference Designator: +Internal Connector Type: 18 (USB) +External Connector Type: 0 (none) +Port Type: 16 (USB) + +ID SIZE TYPE +18 25 SMB_TYPE_SLOT (type 9) (upgradeable system slot) + +Location Tag: PCIE1-J5 + +Reference Designator: PCIE1-J5 +Slot ID: 0x1 +Type: 0xa5 (PCI Express) +Width: 0xd (16x or x16) +Usage: 0x3 (available) +Length: 0x3 (short length) +Slot Characteristics 1: 0xc +SMB_SLCH1_33V (provides 3.3V) +SMB_SLCH1_SHARED (opening shared with other slot) +Slot Characteristics 2: 0x1 +SMB_SLCH2_PME (slot supports PME# signal) +Segment Group: 65535 +Bus Number: 255 +Device/Function Number: 255 + +ID SIZE TYPE +19 25 SMB_TYPE_SLOT (type 9) (upgradeable system slot) + +Location Tag: PCIE2-J6 + +Reference Designator: PCIE2-J6 +Slot ID: 0x2 +Type: 0xa5 (PCI Express) +Width: 0x8 (1x or x1) +Usage: 0x3 (available) +Length: 0x3 (short length) +Slot Characteristics 1: 0xc +SMB_SLCH1_33V (provides 3.3V) +SMB_SLCH1_SHARED (opening shared with other slot) +Slot Characteristics 2: 0x1 +SMB_SLCH2_PME (slot supports PME# signal) +Segment Group: 65535 +Bus Number: 255 +Device/Function Number: 255 + +ID SIZE TYPE +20 15 SMB_TYPE_MEMARRAY (type 16) (physical memory array) + +Location: 3 (system board or motherboard) +Use: 3 (system memory) +ECC: 5 (single-bit ECC) +Number of Slots/Sockets: 2 +Memory Error Data: Not Supported +Max Capacity: 8589934592 bytes + +ID SIZE TYPE +21 15 SMB_TYPE_MEMARRAYMAP (type 19) (memory array mapped address) + +Physical Memory Array: 20 +Devices per Row: 1 +Physical Address: 0x0 +Size: 8589934592 bytes + +ID SIZE TYPE +22 95 SMB_TYPE_MEMDEVICE (type 17) (memory device) + +Manufacturer: Manufacturer00 +Serial Number: SerNum00 +Location Tag: DIMM0 +Part Number: ModulePartNumber00 + +Physical Memory Array: 20 +Memory Error Data: Not Supported +Total Width: 72 bits +Data Width: 64 bits +Size: 4294967296 bytes +Form Factor: 9 (DIMM) +Set: None +Rank: Unknown +Memory Type: 1 (other) +Flags: 0x80 +SMB_MDF_SYNC (synchronous) +Speed: 1333 MHz +Configured Speed: Unknown +Device Locator: DIMM0 +Bank Locator: BANK0 +Minimum Voltage: Unknown +Maximum Voltage: Unknown +Configured Voltage: Unknown + +ID SIZE TYPE +24 95 SMB_TYPE_MEMDEVICE (type 17) (memory device) + +Manufacturer: Manufacturer01 +Serial Number: SerNum01 +Location Tag: DIMM1 +Part Number: ModulePartNumber01 + +Physical Memory Array: 20 +Memory Error Data: Not Supported +Total Width: 72 bits +Data Width: 64 bits +Size: 4294967296 bytes +Form Factor: 9 (DIMM) +Set: None +Rank: Unknown +Memory Type: 1 (other) +Flags: 0x80 +SMB_MDF_SYNC (synchronous) +Speed: 1333 MHz +Configured Speed: Unknown +Device Locator: DIMM1 +Bank Locator: BANK1 +Minimum Voltage: Unknown +Maximum Voltage: Unknown +Configured Voltage: Unknown + +ID SIZE TYPE +26 20 SMB_TYPE_BOOT (type 32) (system boot status) + +Boot Status Code: 0x0 (no errors detected) +Boot Data (9 bytes): + +offset: 0 1 2 3 4 5 6 7 8 9 a b c d e f 0123456789abcdef +0: 00000000 00000000 00 ......... + + +ID SIZE TYPE +27 18 SMB_TYPE_IPMIDEV (type 38) (IPMI device information) + +Type: 1 (KCS: Keyboard Controller Style) +BMC IPMI Version: 2.0 +i2c Bus Slave Address: 0x20 +NV Storage Device Bus ID: 0xffffffff +BMC Base Address: 0x0 +Interrupt Number: 0 +Register Spacing: 0 +Flags: 0x8 +SMB_IPMI_F_INTREDGE (intr is edge triggered (else lvl)) + +ID SIZE TYPE +28 28 SMB_TYPE_OEM_LO+65 (type 193) + +offset: 0 1 2 3 4 5 6 7 8 9 a b c d e f 0123456789abcdef +0: c1071c00 00010230 302f3030 2f303030 .......00/00/000 +0x10: 30003233 2f30382f 32303130 0.23/08/2010 + +ID SIZE TYPE +29 5 SMB_TYPE_OEM_LO+80 (type 208) + +offset: 0 1 2 3 4 5 6 7 8 9 a b c d e f 0123456789abcdef +0: d0051d00 ff ..... + +ID SIZE TYPE +30 5 SMB_TYPE_OEM_LO+80 (type 208) + +offset: 0 1 2 3 4 5 6 7 8 9 a b c d e f 0123456789abcdef +0: d0051e00 ff ..... + +ID SIZE TYPE +31 12 SMB_TYPE_OEM_LO+81 (type 209) + +offset: 0 1 2 3 4 5 6 7 8 9 a b c d e f 0123456789abcdef +0: d10c1f00 0002984b e1088847 .......K...G + +ID SIZE TYPE +32 5 SMB_TYPE_OEM_LO+96 (type 224) + +offset: 0 1 2 3 4 5 6 7 8 9 a b c d e f 0123456789abcdef +0: e0052000 00 ..... + +ID SIZE TYPE +33 12 SMB_TYPE_OEM_LO+97 (type 225) + +offset: 0 1 2 3 4 5 6 7 8 9 a b c d e f 0123456789abcdef +0: e10c2100 4808f1ff 5000f0ff ..!.H...P... + +matjaz@solaris:/export/home/matjaz$ +``` diff --git a/articles/2016-11-12_000-i-never-fear-death-or-dying.gmi b/articles/2016-11-12_000-i-never-fear-death-or-dying.gmi new file mode 100644 index 0000000..ee71835 --- /dev/null +++ b/articles/2016-11-12_000-i-never-fear-death-or-dying.gmi @@ -0,0 +1,8 @@ +# I never fear death or dying + +> I never fear death or dying +> I only fear never trying +> I am whatever I am, +> Only God can judge me, now +> +> Khalifa diff --git a/articles/2016-12-17_000-what-makes-me-depressed.gmi b/articles/2016-12-17_000-what-makes-me-depressed.gmi new file mode 100644 index 0000000..ff7fdd2 --- /dev/null +++ b/articles/2016-12-17_000-what-makes-me-depressed.gmi @@ -0,0 +1,6 @@ +# What makes me depressed + +> What makes me depressed, seeing stupid people happy. +> +> Slavoj Žižek + diff --git a/articles/2016-12-17_001-ukradli-so-mi-avto.gmi b/articles/2016-12-17_001-ukradli-so-mi-avto.gmi new file mode 100644 index 0000000..6f47cff --- /dev/null +++ b/articles/2016-12-17_001-ukradli-so-mi-avto.gmi @@ -0,0 +1,8 @@ +# Ukradli so mi avto + +Enkrat ta teden … Ponoči … Res je bil lep, dobro sem ga uredil, vse popravil, kar je bilo za popraviti. In potem ga nekdo odpelje. + +Če ga kdo kje vidi … + +Renault Megane III Coupe, tri vrata, bele barve, reg. št. LJ 124-ZU. + diff --git a/articles/2016-12-19_000-poskusimo-ponovno.gmi b/articles/2016-12-19_000-poskusimo-ponovno.gmi new file mode 100644 index 0000000..811bab9 --- /dev/null +++ b/articles/2016-12-19_000-poskusimo-ponovno.gmi @@ -0,0 +1,8 @@ +# Poskusimo ponovno + +No, verjetno se še spomnite, da sem poskušal vzgojiti kavo. Že dvakrat. Toliko je spijem, da rabim lastno proizvodnjo. No, ni šlo. Kavovec je žal umrl. Obakrat. In to še pred prvo žetvijo. Ampak ne gre vreči puške v koruzo, kupil sem novega! Večjega! Boljšega! + +Coffea Arabica. Čista, brez primesi robuste. Naj uspeva. Naj živi dlje kot prejšnji. Naj obrodi. + +Zdaj pa se lahko kavna industrija res počasi začne bati za svoje zaslužke. + diff --git a/articles/2017-01-03_000-washpost-makes-history-first-paper-to-call-for-prosecution-of-its-own-source-after-accepting-pulitzer.gmi b/articles/2017-01-03_000-washpost-makes-history-first-paper-to-call-for-prosecution-of-its-own-source-after-accepting-pulitzer.gmi new file mode 100644 index 0000000..64b6d95 --- /dev/null +++ b/articles/2017-01-03_000-washpost-makes-history-first-paper-to-call-for-prosecution-of-its-own-source-after-accepting-pulitzer.gmi @@ -0,0 +1,6 @@ +# WashPost Makes History: First Paper to Call for Prosecution of Its Own Source (After Accepting Pulitzer) + +> But what makes today’s Washington Post editorial so remarkable, such a tour de force, is that the editors are literally calling for the criminal prosecution of one of the most important sources in their own newspaper’s history. Having basked in the glory of awards and accolades, and benefited from untold millions of clicks, the editorial page editors of the Post now want to see the source who enabled all of that be put in an American cage and branded a felon. That is warped beyond anything that can be described. + +=> https://theintercept.com/2016/09/18/washpost-makes-history-first-paper-to-call-for-prosecution-of-its-own-source-after-accepting-pulitzer/ Izvor: WashPost Makes History: First Paper to Call for Prosecution of Its Own Source (After Accepting Pulitzer) + diff --git a/articles/2017-02-01_000-illegal-we-do-immediately.gmi b/articles/2017-02-01_000-illegal-we-do-immediately.gmi new file mode 100644 index 0000000..c1337e0 --- /dev/null +++ b/articles/2017-02-01_000-illegal-we-do-immediately.gmi @@ -0,0 +1,7 @@ +# Illegal we do immediately + +> Before the Freedom of Information Act, I used to say at meetings, “The illegal we do immediately; the unconstitutional takes a little longer.” [laughter] But since the Freedom of Information Act, I’m afraid to say things like that. +> +> Henry Kissinger, United States Secretary of State, (March 10, 1975) + + diff --git a/articles/2017-02-18_000-bled-pozimi.gmi b/articles/2017-02-18_000-bled-pozimi.gmi new file mode 100644 index 0000000..4d25719 --- /dev/null +++ b/articles/2017-02-18_000-bled-pozimi.gmi @@ -0,0 +1,6 @@ +# Bled pozimi + +No, malo je manjkalo, pa bi bil naslov Bled spomladi. Z malo sreče sva še ujela Blejsko jezero ujeto v ledeni oklep. + +Po dolgem času spet imam avto. Malo ga je bilo treba preizkusit in peljat na sprehod. In sem se zapeljal do Bleda. + diff --git a/articles/2017-02-24_000-omnios.gmi b/articles/2017-02-24_000-omnios.gmi new file mode 100644 index 0000000..5dd8468 --- /dev/null +++ b/articles/2017-02-24_000-omnios.gmi @@ -0,0 +1,76 @@ +# Omnios + +Po posodobitvi se iz nekega čudnega razloga Omnios ni hotel več pobrati. Ostal je na bootloaderju, ki pa kot kaže ni bil delujoč. Kaj torej storiti? + +Za začetek sem pognal strežnik z instalacijskega USB ključka. Namesto namestitve sem šel v konzolo. Sledil je ukaz + +``` +# zpool import rpool +``` + +To je montiralo “root pool” z imenom rpool z diska. Sledil je pregled zagonskih okolij v rpoolu: + +``` +# zfs list +``` + +Tu se potem izpiše seznam starih zagonskih okolij. Moje najnovejše je bilo omnios-17. Zdaj ga je treba montirati. Privzeto se zadeva montira na root (/), ta pa je zdaj zaseden z vsebino ključka. Zato spremenimo mountpoint: + +``` +# zfs get mountpoint rpool/ROOT/omnios-17 +# zfs set mountpoint=/a rpool/ROOT/omnios-17 +``` + +Na tem mestu lahko zdaj montiramo ta zfs set …: + +``` +# zfs mount rpool/ROOT/omnios-17 +``` + +Naš zfs se zdaj nahaja v imeniku /a +Postavimo se v imenik z datotekami bootloaderja: + +``` +# cd /a/boot/grub +``` + +in ponovno namestimo grub: + +``` +# installgrub -m stage1 stage2 /dev/rdsk/c1t0d0s0 +``` + +Oznako za disk najdemo tako: + +``` +# format +Searching for disks...done + + +AVAILABLE DISK SELECTIONS: + 0. c1t0d0 + /pci@0,0/pci103c,1609@11/disk@0,0 + 1. c1t1d0 + /pci@0,0/pci103c,1609@11/disk@1,0 + 2. c1t2d0 + /pci@0,0/pci103c,1609@11/disk@2,0 + 3. c1t3d0 + /pci@0,0/pci103c,1609@11/disk@3,0 +Specify disk (enter its number): +``` + +Oznaki dodamo še “s0” … + +Po tem samo še spakiramo bootarchive: + +``` +# bootadm update-archive -fv -R /a +``` + +In popravimo mountpoint: + +``` +# zfs set mountpoint=/ rpool/ROOT/omnios-17 +``` + +Sledi ponovni zagon, in smo končali. diff --git a/articles/2017-03-02_000-90-year-old-mold-sold-for-almost-15k.gmi b/articles/2017-03-02_000-90-year-old-mold-sold-for-almost-15k.gmi new file mode 100644 index 0000000..98c6407 --- /dev/null +++ b/articles/2017-03-02_000-90-year-old-mold-sold-for-almost-15k.gmi @@ -0,0 +1,6 @@ +# 90-Year-Old Mold Sold for Almost $15k + +> The idea that a bit of gross mold would be worth $14,617 seems absurd until you realize it may be the most important mold to that was ever grown. + +=> http://gizmodo.com/90-year-old-mold-sold-for-almost-15k-1792882723 Izvor: 90-Year-Old Mold Sold for Almost $15k + diff --git a/articles/2017-03-04_000-goricko.gmi b/articles/2017-03-04_000-goricko.gmi new file mode 100644 index 0000000..4e1a924 --- /dev/null +++ b/articles/2017-03-04_000-goricko.gmi @@ -0,0 +1,6 @@ +# Goričko + +Pobegnil na Goričko. + +Kava je bila ok, gibanica pa odlična! + diff --git a/articles/2017-03-08_000-preverjanje-uporabe-pomnilnika-v-omnios.gmi b/articles/2017-03-08_000-preverjanje-uporabe-pomnilnika-v-omnios.gmi new file mode 100644 index 0000000..76adb34 --- /dev/null +++ b/articles/2017-03-08_000-preverjanje-uporabe-pomnilnika-v-omnios.gmi @@ -0,0 +1,19 @@ +# Preverjanje uporabe pomnilnika v OmniOS + +``` +root@solaris:/root# echo "::memstat" | mdb -k +Page Summary Pages MB %Tot +------------ ---------------- ---------------- ---- +Kernel 607601 2373 29% +Boot pages 166 0 0% +ZFS File Data 1092218 4266 52% +Anon 314740 1229 15% +Exec and libs 7207 28 0% +Page cache 11678 45 1% +Free (cachelist) 26520 103 1% +Free (freelist) 26571 103 1% + +Total 2086701 8151 +Physical 2086700 8151 +``` + diff --git a/articles/2017-03-11_000-enkrat-je-nesreca-dvakrat-je-nakljucje-trikrat-je-sovrazno-dejanje.gmi b/articles/2017-03-11_000-enkrat-je-nesreca-dvakrat-je-nakljucje-trikrat-je-sovrazno-dejanje.gmi new file mode 100644 index 0000000..8ef89c9 --- /dev/null +++ b/articles/2017-03-11_000-enkrat-je-nesreca-dvakrat-je-nakljucje-trikrat-je-sovrazno-dejanje.gmi @@ -0,0 +1,6 @@ +# Enkrat je nesreča. Dvakrat je naključje. Trikrat je sovražno dejanje. + +> Once is happenstance. Twice is coincidence. Three times is enemy action. +> +> Ian Fleming + diff --git a/articles/2017-03-15_000-lazi-preklete-lazi-in-statistika.gmi b/articles/2017-03-15_000-lazi-preklete-lazi-in-statistika.gmi new file mode 100644 index 0000000..b7af730 --- /dev/null +++ b/articles/2017-03-15_000-lazi-preklete-lazi-in-statistika.gmi @@ -0,0 +1,6 @@ +# Laži, preklete laži in statistika + +> There are three kinds of lies: lies, damned lies, and statistics +> +> Benjamin Disraeli via Mark Twain + diff --git a/articles/2017-03-18_000-pariz-v-peto.gmi b/articles/2017-03-18_000-pariz-v-peto.gmi new file mode 100644 index 0000000..4cba409 --- /dev/null +++ b/articles/2017-03-18_000-pariz-v-peto.gmi @@ -0,0 +1,15 @@ +# Pariz v peto + +Pariz. Tokrat že petič. Postopek je bil povsem običajen. Zjutraj zgodaj vstati, ujeti prevoz na letališče, vrsta za check-in, varnostni pregled in čakanje na letalo. In potem polet. Zelo miren. Celo pot na pol spal. +Stade de France + +Pariz v marcu je res lep. Že zjutraj res toplo, čez dan delo. Zvečer malo hladno. Tokrat ni bilo prav veliko časa za hodit okoli. Sestanki, delo, zasedanje … Vrhunec dneva, ko greš nekaj pojest. Hrana .. vsaj malo Francije v Franciji. + +Hotel. Tokrat sem bil spet v istem hotelu kot prvič, ko sem bil v Parizu. Hotel Eiffel Kennedy. Takoj zraven je zanimiva mala restavracija … res imajo odlične hamburgerje. + +Pot nazaj. Po kosilu v taksi, čim prej na letališče, chek-in, varnostni pregled in čakanje na letalo. Tokrat smo se vračali prek Dunaja. Vse je teklo po načrtu. + +Po terorističnih napadih je v Parizu še vedno malo napeto. Ravno, ko smo bili tam, je spet nekaj počilo v stavbi IMF … Menda pisemska bomba. V soboto po vrnitvi – ko to pišem, sporočijo o napadu na letališču Orly … + +Ampak je bilo dobro. Cilji doseženi, navezani novi stiki, naučeno veliko novih stvari. + diff --git a/articles/2017-06-26_000-if-you-torture-the-data.gmi b/articles/2017-06-26_000-if-you-torture-the-data.gmi new file mode 100644 index 0000000..e945d87 --- /dev/null +++ b/articles/2017-06-26_000-if-you-torture-the-data.gmi @@ -0,0 +1,9 @@ +# If You Torture the Data + +> If you torture the data enough, nature will always confess. +> +> Alternative: If you torture the data long enough, it will confess. +> +> Ronald Coase + + diff --git a/articles/2017-07-09_000-se-ena-pariska.gmi b/articles/2017-07-09_000-se-ena-pariska.gmi new file mode 100644 index 0000000..2b1739b --- /dev/null +++ b/articles/2017-07-09_000-se-ena-pariska.gmi @@ -0,0 +1,11 @@ +# Še ena Pariška + +Ja, junija je bil spet čas za malo Pariza. Nič kaj dosti za hodit okoli, ampak vsaj fina večerja je pa padla. Kot ponavadi smo bili tudi tokrat nastanjeni v bližini Rue de Passy. No, kakor kdo. Jaz sem bil ene dvajset minut stran. Ampak, če se dogovorimo, da gremo jest, pa pridem tudi tja. + +Tokrat sem stanoval v hotelu Queens. Na dnu Avenue Mozart, in potem takoj za vogalom. Lep hotel, klima deluje – še celo preveč dobro. Uspelo se mi je prehladiti. Sredi poletne vročine. V tej ulici je stanovala tudi Jacqueline Kennedy. + +Hotel je nekje pol ure od kraja, kjer smo delali in cca 20 minut od Rue de Passy. Na tej ulici je tržnica, kjer lahko kupiš najrazličnejšo hrano. Vse francosko seveda. Imajo meso, ribe, sire, … makarone nenazadnje. Te včasih prinesem domov, da vsaj vidijo kakšni morajo biti, da so ta pravi. + +Ulice … ta Mozart je bila kar ok. Drevesa zagotavljajo senco v poletni vročini. Ta del mesta je v bistvu kar eliten. Za hec sem pogledal cene nepremičnin … okoli 2 milijončka za eno spodobno stanovanje. Ja … treba bo še malo delati. Tudi sicer je v tem okolišu veliko veleposlaništev, ljudje pa vse prej kot revni. Na ulicah prevladujejo majhni mestni avtomobilčki, največ Smarti in Clioti. Veliko je električnih Smartov, ki jih lahko najameš. Več ali manj so vsi odrgnjeni, z razbitimi odbijači. Avto je pač orodje, ne ravno nek statusni simbol. Sploh, ko govorimo o ljudeh, ki imajo stanovanje za dva, tri milijone in avto za drobiž. Pač, malo za po mestu. Ni pa manjkalo niti “malo” boljših avtomobilov. Od Lamborghinijev, Ferrarijev … vsega je bilo. Ti niso bili toliko potolčeni. Verjetno jih ravno ne pustijo stati zunaj, na ulici. + +Teden hitro mine. Tokrat sem nadaljeval z dopustom. Kar paše malo oddiha. Pa še pozdravil sem prehlad. Naslednjič gremo spet oktobra. diff --git a/articles/2017-07-16_000-socialna-pomoc-je-zdijz.gmi b/articles/2017-07-16_000-socialna-pomoc-je-zdijz.gmi new file mode 100644 index 0000000..6d1cacd --- /dev/null +++ b/articles/2017-07-16_000-socialna-pomoc-je-zdijz.gmi @@ -0,0 +1,10 @@ +# Socialna pomoč … je ZDIJZ + +Oldy, but goldy. Ja .. podatek o tem, da nekdo prejema socialno pomoč je ZDIJZ-able. + +> Pooblaščenec ugotavlja da, upoštevaje definicijo osebnega podatka iz 1. točke 1. odstavka 6. člena ZVOP-1, zahtevana informacija predstavlja osebni podatek, obenem pa ne gre za varovan osebni podatek. +> +> Podatki, ki jih zahteva prosilec, predstavljajo podatke o porabi javnih sredstev. ZSV v 98. členu določa, da se iz proračuna Republike Slovenije med drugim financirajo tudi denarne socialne pomoči. Iz postopka dodeljevanja denarne socialne pomoči, ugotavljanja upravičenosti in določb o neupravičeni denarni pomoči, izhaja, da je zakonodajalec denarno socialno pomoč uredil podobno kot druge državne pomoči. Analogno javnosti podatkov, ki predstavljajo porabo javnih sredstev po 3. odstavku 53. člena Zakona o javnih financah (Uradni list RS št. 79/99 z novelami, v nadaljevanju ZJF), je urejena tudi javnost porabe na področju socialnih prejemkov. V obeh primerih gre za podatke o porabi javnih sredstev, ki so javni na podlagi 3. odstavka 6. člena ZDIJZ. +> +=> https://www.ip-rs.si/ijz/prosilec-zoper-ministrstvo-za-delo-druzino-in-socialne-zadeve-224/?tx_jzdecisions_pi1%5Bsearch%5D=1&tx_jzdecisions_pi1%5Bsword%5D=socialna%20pomo%C4%8D Vir IP + diff --git a/articles/2017-07-16_001-omnios-bo-prezivel.gmi b/articles/2017-07-16_001-omnios-bo-prezivel.gmi new file mode 100644 index 0000000..f311a73 --- /dev/null +++ b/articles/2017-07-16_001-omnios-bo-prezivel.gmi @@ -0,0 +1,10 @@ +# OmniOS bo preživel + +OmniOS je operacijski sistem, ki je nastal na pogorišču OpenSolarisa. Na srečo Oracle ni mogel porušiti prav vsega, po tem, ko je prevzel Sun. + +OmniOS je distribucija odprtokodnega jedra, ki se razvija pod imenom Ilumos. Gre za minimalističen sistem, ki ima samo tisto, kar je dejansko najbolj pomembno in nič več. Nobenih strežniških aplikacij, nobenega namizja … samo orodja za delovanje sistema. Just enough operating system. + +Na žalost se je podjetje, ki je stalo za razvojem sistema, v aprilu 2017 odločilo, da ga ne bo več razvijalo. Predlagali so, da razvoj prevzame skupnost. To je seveda ležje reči kot narediti. Dolgo časa je izgledalo, da nihče ne bo kos nalogi. + +Ta mesec pa se je pojavila skupina in presenetila z najavo projekta — nadaljevanje OmniOS – Comunity Edition. Projekt se bo torej nadaljeval. Za zdaj so pripravili novo verzijo LTE sistema, na ekvivalent “bloody” različice bo treba pa še malo počakati. + diff --git a/articles/2017-07-17_000-novi-pony.gmi b/articles/2017-07-17_000-novi-pony.gmi new file mode 100644 index 0000000..5bc53d7 --- /dev/null +++ b/articles/2017-07-17_000-novi-pony.gmi @@ -0,0 +1,13 @@ +# Novi Pony + +Novi Rog Pony. V službi smo se pogovarjali, ali je, takšen kot je, prava replika, pravi homeage staremu Ponyju. Kolega pravi, da ne, da je bilo v pravem veliko več truda, več duše … +Pony + +Jaz mislim, da je. Kolesa so že takrat delali po liniji najmanjšega odpora – nabrali so komponente, ki so bile najcenejše oziroma so jih ob omejitvah uvoza pač lahko dobili, in jih sami delali le, če so jih lahko naredili bolje ter ceneje. S tem novim je podobno. + +Medtem, ko so se kolegu nove baterijske luči, generične zavore in “brezdušna” pedala zdela zanič, se meni novi Pony ravno zaradi izbire komponent zdi enakovreden ta pravemu. + +Novi Pony je ohranil vse bistvene lastnosti starega – 20″ kolesa, zavora na torpedo, zložljiv okvir … To je to, kar Ponyja naredi Ponyja. Vsaj po mojem. + +Bi bilo zanimivo vedeti, kako so razmišljali snovalci novega Ponyja … + diff --git a/articles/2017-07-26_000-supreme-court-unanimously-reaffirms-there-is-no-hate-speech-exception-to-the-first-amendment-the-washington-post.gmi b/articles/2017-07-26_000-supreme-court-unanimously-reaffirms-there-is-no-hate-speech-exception-to-the-first-amendment-the-washington-post.gmi new file mode 100644 index 0000000..ed3f04d --- /dev/null +++ b/articles/2017-07-26_000-supreme-court-unanimously-reaffirms-there-is-no-hate-speech-exception-to-the-first-amendment-the-washington-post.gmi @@ -0,0 +1,6 @@ +# Supreme Court unanimously reaffirms: There is no ‘hate speech’ exception to the First Amendment – The Washington Post + +> That’s the upshot of the “Slants” case (which will also protect the Redskins trademark) — and it applies to exclusion of speakers from universities, denial of tax exemptions to nonprofits, and much more. + +=> https://www.washingtonpost.com/news/volokh-conspiracy/wp/2017/06/19/supreme-court-unanimously-reaffirms-there-is-no-hate-speech-exception-to-the-first-amendment/ Izvor: Supreme Court unanimously reaffirms: There is no ‘hate speech’ exception to the First Amendment – The Washington Post + diff --git a/articles/2017-07-26_000-to-err-is-human.gmi b/articles/2017-07-26_000-to-err-is-human.gmi new file mode 100644 index 0000000..1a64865 --- /dev/null +++ b/articles/2017-07-26_000-to-err-is-human.gmi @@ -0,0 +1,6 @@ +# To err is human + +> To err is human; to really screw up requires the root password. +> +> Anonymous + diff --git a/articles/2017-08-13_000-vklop-deljenja-map-na-omnios.gmi b/articles/2017-08-13_000-vklop-deljenja-map-na-omnios.gmi new file mode 100644 index 0000000..02269db --- /dev/null +++ b/articles/2017-08-13_000-vklop-deljenja-map-na-omnios.gmi @@ -0,0 +1,28 @@ +# Vklop deljenja map na OmniOS + +Po sveži instalaciji je treba vklopiti deljenje map, da lahko do njih pridemo z drugimi računalniki. Vklopimo smb/cifs sharing: + +``` +# passwd matjaz +New Password: +Re-enter new Password: +passwd: password successfully changed for matjaz +# echo “other password required pam_smb_passwd.so.1 nowarn” >> /etc/pam.conf +# usermod -P 'Primary Administrator' matjaz +UX: usermod: matjaz is currently logged in, some changes may not take effect until next login. +# sharectl set -p netbios_enable=true smb +# sharemgr enable -a zfs +# smbutil view //matjaz@server.dev +Password: +Share Type Comment +------------------------------- +c$ disk Default Share +data disk +IPC$ IPC Remote IPC +vss$ disk VSS + +4 shares listed from 4 available +``` + +Zdaj bi moralo delovati. Poskusi se povezati na strežnik prek sambe. + diff --git a/articles/2017-08-14_000-objava-paketa-v-ips-repozitorij.gmi b/articles/2017-08-14_000-objava-paketa-v-ips-repozitorij.gmi new file mode 100644 index 0000000..b7d2888 --- /dev/null +++ b/articles/2017-08-14_000-objava-paketa-v-ips-repozitorij.gmi @@ -0,0 +1,37 @@ +# Objava paketa v IPS repozitorij + +Najprej program konfiguriraš, prevedeš in instaliraš. Od tu naprej pa izvedeš te korake: +## Priprava paketa + +``` +pkgsend generate /opt | grep -v "gcc\-5\.1\.0" | pkgfmt > node.p5m.1 +pkgmogrify -DARCH=`uname -p` node.p5m.1 node.mog | pkgfmt > node.p5m.2 +pkgdepend generate -md /opt node.p5m.2 | pkgfmt > node.p5m.3 +pkgdepend resolve -m node.p5m.3 +pkglint -c ./lint-cache -r https://pkg.omniosce.org/bloody/core node.p5m.3.res +``` + +## Objava + +``` +pkgsend publish -s /myrepo -d /opt node.p5m.3.res +pkgrepo -s /myrepo refresh +svcadm restart pkg/server +``` + +## Testna instalacija + +``` +pkg refresh --full +pkg install node +``` + +## Odstranitev paketa iz repozitorija + +``` +pkgrepo remove -p pkg.uplink.si -s /myrepo node +svcadm restart pkg/server +``` + +Več: +=> http://www.oracle.com/technetwork/articles/servers-storage-admin/o11-097-create-pkg-ips-524496.html O objavi paketov diff --git a/articles/2017-10-01_000-gods-of-system-updates.gmi b/articles/2017-10-01_000-gods-of-system-updates.gmi new file mode 100644 index 0000000..c33e542 --- /dev/null +++ b/articles/2017-10-01_000-gods-of-system-updates.gmi @@ -0,0 +1,7 @@ +# Gods of System Updates + +Gods of System Updates … please let this one go without problems … + +(Mac OS X High Sierra) + + diff --git a/articles/2017-10-29_000-pariz-sedmic.gmi b/articles/2017-10-29_000-pariz-sedmic.gmi new file mode 100644 index 0000000..979317b --- /dev/null +++ b/articles/2017-10-29_000-pariz-sedmic.gmi @@ -0,0 +1,6 @@ +# Pariz sedmič + +Tokrat je bil Pariz res lep. Vreme je bilo skoraj poletno, 25 stopinj smo imeli. Delo je potekalo hitro, malo so nas pohvalili, uspelo nam jih je prepričati, da smo naredili vse. Vmes je bilo celo nekaj časa. Bolj malo, ampak dovolj, da se malo sprehodimo. Tokrat sem prvič prišel do Notre Dame. Lepa … bolj mala. Sem mislil, da je večja cerkev. + +Oba leta sta bila ok. Let nazaj je bil zanimiv. Tokrat smo se peljali z “novo” pridobitvijo Adrie – Saab 2000. Gre za letalo družbe Darwin Airlines, ki jo je Adria prevzela. Turbopropelerski let je bil dokaj miren … ampak glasen. Se počutiš kot da letiš s starim bombnikom. + diff --git a/articles/2018-03-03_000-first-link.gmi b/articles/2018-03-03_000-first-link.gmi new file mode 100644 index 0000000..2dbabc3 --- /dev/null +++ b/articles/2018-03-03_000-first-link.gmi @@ -0,0 +1,8 @@ +# First link + +>‘With the first link, the chain is forged. The first speech censured, the first thought forbidden, the first freedom denied, chains us all irrevocably.’ +> +> Those words were uttered by Judge Aaron Satie as wisdom and warning… The first time any man’s freedom is trodden on, we’re all damaged. +> +> Jean-Luc Picard, quoting Judge Aaron Satie, Star Trek: TNG episode “The Drumhead” + diff --git a/articles/2018-03-14_000-two-rules-of-war.gmi b/articles/2018-03-14_000-two-rules-of-war.gmi new file mode 100644 index 0000000..94e3c2b --- /dev/null +++ b/articles/2018-03-14_000-two-rules-of-war.gmi @@ -0,0 +1,5 @@ +# Rules of War + +> Rule 1, on page 1 of the book of war, is: “Do not march on Moscow”. Various people have tried it, Napoleon and Hitler, and it is no good. That is the first rule. I do not know whether your Lordships will know Rule 2 of war. It is: “Do not go fighting with your land armies in China”. It is a vast country, with no clearly defined objectives. +> Field Marshal Bernard Law Montgomery, In the House of Lords, 30 May 1962 (Hansard, Col. 227) + diff --git a/articles/2018-03-16_000-if-everyone-is-thinking-alike.gmi b/articles/2018-03-16_000-if-everyone-is-thinking-alike.gmi new file mode 100644 index 0000000..59d3015 --- /dev/null +++ b/articles/2018-03-16_000-if-everyone-is-thinking-alike.gmi @@ -0,0 +1,6 @@ +# If everyone is thinking alike + +> If everyone is thinking alike, then somebody isn’t thinking. +> Georg S. Patton + + diff --git a/articles/2018-03-16_001-se-en-tek.gmi b/articles/2018-03-16_001-se-en-tek.gmi new file mode 100644 index 0000000..b157fe0 --- /dev/null +++ b/articles/2018-03-16_001-se-en-tek.gmi @@ -0,0 +1,3 @@ +# Še en tek + +Tokrat je šlo malo hitreje, malo manj boleče … Getting there diff --git a/articles/2018-03-19_000-volitve-se-blizajo.gmi b/articles/2018-03-19_000-volitve-se-blizajo.gmi new file mode 100644 index 0000000..1c3a299 --- /dev/null +++ b/articles/2018-03-19_000-volitve-se-blizajo.gmi @@ -0,0 +1,5 @@ +# Volitve se bližajo + +> The forest was shrinking, but the trees kept voting for the axe because its handle was made of wood and they thought it was one of them- + +> Gozd se je kršil, ampak drevesa so še naprej volila za sekiro, ker je njen ročaj narejen iz lesa, in so mislila, da je ena od njih. diff --git a/articles/2018-03-27_000-ves-denar-je-stvar-vere.gmi b/articles/2018-03-27_000-ves-denar-je-stvar-vere.gmi new file mode 100644 index 0000000..f6549ec --- /dev/null +++ b/articles/2018-03-27_000-ves-denar-je-stvar-vere.gmi @@ -0,0 +1,5 @@ +Ves denar je stvar vere + +> All money is a matter of belief. +> Adam Smith + diff --git a/articles/2018-03-28_000-tek.gmi b/articles/2018-03-28_000-tek.gmi new file mode 100644 index 0000000..7d5770e --- /dev/null +++ b/articles/2018-03-28_000-tek.gmi @@ -0,0 +1,4 @@ +# Tek + +Začeli so se toplejši dnevi. Danes je bilo 12 stopinj. 7,5 km … not bad :). + diff --git a/articles/2018-03-28_001-first-do-the-right-thing-then-do-things-right.gmi b/articles/2018-03-28_001-first-do-the-right-thing-then-do-things-right.gmi new file mode 100644 index 0000000..876d549 --- /dev/null +++ b/articles/2018-03-28_001-first-do-the-right-thing-then-do-things-right.gmi @@ -0,0 +1,6 @@ +# First do the Right Thing, Then do Things Right + +> First do the Right Thing, Then do Things Right +> Leaders are people who do the right thing; managers are people who do things right. +> Warren Bennis + diff --git a/articles/2018-03-28_001-first-do-the-right-thing-then-do-things-right.gmi~ b/articles/2018-03-28_001-first-do-the-right-thing-then-do-things-right.gmi~ new file mode 100644 index 0000000..15bc465 --- /dev/null +++ b/articles/2018-03-28_001-first-do-the-right-thing-then-do-things-right.gmi~ @@ -0,0 +1,6 @@ +First do the Right Thing, Then do Things Right + +> First do the Right Thing, Then do Things Right +> Leaders are people who do the right thing; managers are people who do things right. +> Warren Bennis + diff --git a/articles/2018-03-31_000-cesa-pa-ze-dolgp-nisem.gmi b/articles/2018-03-31_000-cesa-pa-ze-dolgp-nisem.gmi new file mode 100644 index 0000000..a63095a --- /dev/null +++ b/articles/2018-03-31_000-cesa-pa-ze-dolgp-nisem.gmi @@ -0,0 +1,5 @@ +# Česa pa že dolgo nisem … + +Ora … tega že dolgo nisem. + +Danes sem kupil eno pločevinko in mi ni žal. Paše kdaj-pa-kdaj. Fotka … narejena z 50mm fiksno lečo, manual focus, zaslonka f/2, hitrost 1/180. diff --git a/articles/2018-04-03_000-ce-imas-integriteto.gmi b/articles/2018-04-03_000-ce-imas-integriteto.gmi new file mode 100644 index 0000000..a76ce7a --- /dev/null +++ b/articles/2018-04-03_000-ce-imas-integriteto.gmi @@ -0,0 +1,5 @@ +Če imaš integriteto … + +> If you have integrity, nothing else matters. If you don’t have integrity, nothing else matters. +> Alan K. Simpson + diff --git a/articles/2018-04-04_000-pranje-umazanega-perila.gmi b/articles/2018-04-04_000-pranje-umazanega-perila.gmi new file mode 100644 index 0000000..4f8e699 --- /dev/null +++ b/articles/2018-04-04_000-pranje-umazanega-perila.gmi @@ -0,0 +1,7 @@ +# Pranje umazanega perila + +Perilo. Vsak teden se ga nabere. Za cel koš, za cel stroj. Pa vsake toliko še kup posteljnine in kup stvari, ki ne pridejo pogosto – npr. srajce, bele stvari … Ves čas nekaj perem. Potem pa še ta pralni stroj. Njegove pol ure je približno ena ura v realnosti. Ampak, ko dela, je kar vredu. + +Danes spet. Puloverji, ki so ostali še od zadnjega mraza. To je bilo približno tri tedne nazaj. In potem še stvari, ki sem jih imel čez teden. Pa par športnih zadev. No, nisem preveč kompliciral, puloverje sem opral posebej in ostalo kar vse skupaj. Še dobro, da nimam preveč pisane garderobe, potem bi ves čas čakal, da se nabere dovolj stvari v eni barvi, da se sploh splača prat. + +Ponavadi dela ok. Zadnjič je skoraj poletel. Enkrat je pojedel krpico za zbiranje barv in se skoraj zadavil na njej – se je pojavila v filtru. Filter je bilo seveda nujno sčistiti ravno sredi pranja. Oh to veselje. Ampak danes spet dela in to brez težav (trikrat potrkam na lesena vrata, za vsak slučaj – naj ostane tako). diff --git a/articles/2018-04-09_000-diskrecija-v-arbitrarnost.gmi b/articles/2018-04-09_000-diskrecija-v-arbitrarnost.gmi new file mode 100644 index 0000000..41fcb9a --- /dev/null +++ b/articles/2018-04-09_000-diskrecija-v-arbitrarnost.gmi @@ -0,0 +1,11 @@ +# Diskrecija v. Arbitrarnost + +Diskrecijska pravica se vse prepogosto razume in interpretira kot pravica nekoga, da odloči skladno s svojo “vestjo” in ničemer drugim. Pri tem menda ne rabijo upoštevati ničesar drugega in ni jim mogoce ničesar očitati. Vsi ostali bi se seveda morali enostavno sprijazniti in sprejeti dane odločitve. + +Tak pogled ni pravilen in je škodljiv. Non sequitur. + +Diskrecija je območje, v katerem lahko nekdo odloča skladno s svojo vestjo in nekimi osnovnimi pravili. Znotraj tega območja je mogočih več različnih, včasih diametralno nasprotnih odločitev, ki so vse pravnoformalno pravilne, vprašanje pa je, ali so tudi pravične. Pravila pri odločanju na podlagi diskrecije so npr. da se v podobnih primerih sprejme podobna odločitev, v različnih pa različna. Pravilo je, da je treba odstope od ustaljene prakse še posebej dobro utemeljiti. Pravilo je, da je treba diskrecijsko pravico razlagati čim bolj ozko. Bistvo diskrecije je, da omogoča urejanje zelo širokega spektra življenjskih situacij, ki jih ni mogoče vedno predvideti v naprej, v času, ko se pišejo pravna pravila. + +Odstopanje od zgoraj navedenih pravil, vodi v arbitrarnost. Arbitrarnost je odločanje o posameznem primeru brez upoštevanja konteksta, ki ga ustvarja pretekla praksa in okoliščine primera, o katerem se odloča, ustvarja pravila specifično za konretni primer in na teh pravilih potem opravičuje utemeljenost in legitimnost odločitve. Gre za tipično zlorabo pooblastil. Za zlorabo zaupane oblasti. Za ravnanje v nasprotju z etiko, moralo, v nadprotju s pričakovano integriteto. + +Arbitrarnost je škodljiva. Gre za uresničevanje kapric posameznih odlčevalcev, za izživljanje. Oblast kvari. Absolutna oblast kvari absolutno. Zato že lep čas velja, da je treba polje diskrecijskega odločanja ožiti. Pravila je treba oblikovati tako, da je diskrecije čim manj. diff --git a/articles/2018-04-10_000-Vreme.gmi b/articles/2018-04-10_000-Vreme.gmi new file mode 100644 index 0000000..ab3e81d --- /dev/null +++ b/articles/2018-04-10_000-Vreme.gmi @@ -0,0 +1,5 @@ +# Vreme + +Vreme. Od nekdaj me je fasciniralo. Nevihte z bliski in grmenjem, snežni zameti, megla, toča, žled, rosa, oblaki … Bolj intenzivno je vreme, boljše je. + +Zadnje dni je malo deževalo, celo ena manjša nevihta se je zgodila. Končno se nekaj dogaja po tej dolgi in pusti sivi zimi. Sneg je zanimiv – določen čas. Letos je dolgo vztrajal. Zdaj pa je čas za pomladne nalive, ki bodo očistili od soli in prahu umazane ulice. diff --git a/articles/2018-04-16_000-Decommissioning.gmi b/articles/2018-04-16_000-Decommissioning.gmi new file mode 100644 index 0000000..b0e9298 --- /dev/null +++ b/articles/2018-04-16_000-Decommissioning.gmi @@ -0,0 +1,6 @@ +# Decommissioning + +> Decommissioning is a general term for a formal process to remove something from an active status. +> Wikipedia + +Vsega je enkrat konec, pa je tudi tega. diff --git a/articles/2018-04-17_000-tek.gmi b/articles/2018-04-17_000-tek.gmi new file mode 100644 index 0000000..bd5dcb2 --- /dev/null +++ b/articles/2018-04-17_000-tek.gmi @@ -0,0 +1,3 @@ +# Tek + +En večerni tek. \ No newline at end of file diff --git a/articles/2018-04-27_000-kava.gmi b/articles/2018-04-27_000-kava.gmi new file mode 100644 index 0000000..dda9716 --- /dev/null +++ b/articles/2018-04-27_000-kava.gmi @@ -0,0 +1,3 @@ +# Kava + +Kava. Večkrat sem jo že poskušal gojiti, pa nekako ni šlo, ta zadnja, pa je dokaj trpežna. Preživela je že nekaj tednov brez vode, izgubila večino listov, se posušila kot Sahara in še vseeno je tukaj. Zdaj, ko so se začeli toplejši meseci, je spet dobila malo zagona in spet malo zrasla. Verjetno jo bo treba kmalu malo presaditi. V lončku so štiri rastline in za zdaj jim kar dobro kaže. Ena je sicer bolj majhna, druga ima liste obarvane nekoliko čudno, kot da jim nekaj manjka, ampak za zdaj so ok. Prva letina domače kave je za vogalom! \ No newline at end of file diff --git a/articles/2018-04-29_000-smarna-gora.gmi b/articles/2018-04-29_000-smarna-gora.gmi new file mode 100644 index 0000000..fdc34e6 --- /dev/null +++ b/articles/2018-04-29_000-smarna-gora.gmi @@ -0,0 +1,7 @@ +# Šmarna gora + +Danes je bil res lep dan za pohod na Šmarno goro. Malo več kot pol ure gor in dvajset minut dol. Vreme je bilo sončno, sonce je kar malo preveč nabijalo. Vroče. Bo nekaj barve. + +Dol je šlo malo hitreje. Vreme je kazalo, da se bo malo poslabšalo, v daljavi se je slišalo grmenje. Oblaki so vsaj malo zakrili sonce in pot dol je bila malo manj vroča. + +Bo treba spet enkrat poskusit Pohorje, ta Šmarna kar prehitro mine :) \ No newline at end of file diff --git a/articles/2018-05-01_000-se-enkrat-smarna-in-se-zbilje.gmi b/articles/2018-05-01_000-se-enkrat-smarna-in-se-zbilje.gmi new file mode 100644 index 0000000..23a543e --- /dev/null +++ b/articles/2018-05-01_000-se-enkrat-smarna-in-se-zbilje.gmi @@ -0,0 +1,8 @@ +# Še enkrat Šmarna in še Zbilje +## Šmarna gora + +No, tokrat je Šmarna gora dobila še nadaljevanje v obliki Zbiljskega jezera. Prvi maj je šel mimo malo bolj praznično. Na Šmarni gori je zvon zvonil petnajst minut skupaj. Ampak ok, zanimiva izkušnja. Gneča povsod. Pričakovano. Veliko ljudi. Sonce je bilo spet močno. Kar malo me je opeklo. Ampak ta rdeča bo minila 🙂 + +## Zbiljsko jezero + +Tudi na Zbiljah je bilo kar veliko ljudi. Na jezeru so se vozili s čolni, jadrnicami, vmes pa so šarili tudi labodi … kakih 20 teh velikih belih vreč perja. diff --git a/articles/2018-05-04_000-menjavanje-politikov.gmi b/articles/2018-05-04_000-menjavanje-politikov.gmi new file mode 100644 index 0000000..531f605 --- /dev/null +++ b/articles/2018-05-04_000-menjavanje-politikov.gmi @@ -0,0 +1,6 @@ +Menjavanje politikov + +> Politicians and dipers must be changed often, and for the same reason. + +> Politike in plenice je treba menjati pogosto in iz enakega razloga. +> Mark Twain \ No newline at end of file diff --git a/articles/2018-05-04_000-nova-sluzba.gmi b/articles/2018-05-04_000-nova-sluzba.gmi new file mode 100644 index 0000000..4838219 --- /dev/null +++ b/articles/2018-05-04_000-nova-sluzba.gmi @@ -0,0 +1,8 @@ +Nova služba + +Torej … te dni sem začel z novo službo. Dopusta je konec, zdaj pa nazaj na delo. Za začetek sem dobil pisarno. Je ok, nič posebnega. Miza je velika, stol recimo, da bo. Računalniški monitor je … majhen. Ampak, za začetek bo kar v redu. + +Delal bom stvari, ki so v nekem smislu podobne stvarem, ki sem jih delal do sedaj. Bo pa to delo nekoliko širše, nekoliko bolj pravniško. + +> I am not a product of my circumstances. I am a product of my decisions. +> Stephen Covey diff --git a/articles/2018-05-05_000-smarna-gora.gmi b/articles/2018-05-05_000-smarna-gora.gmi new file mode 100644 index 0000000..d550a2f --- /dev/null +++ b/articles/2018-05-05_000-smarna-gora.gmi @@ -0,0 +1,7 @@ +# Šmarna gora + +Še en pohod. Šmarna gora je res fajn. Danes je bilo malenkost hladneje. Boljše kot štart ob 12h, ko je že malo vroče. Tole je pot gor. + +Pa še pot dol … ta je vedno malo hitrejša. + +Vreme se je kar držalo. Napovedane so bile nevihte, ampak se ni nič zgodilo. Dežja ni bilo, na koncu je bilo celo nekaj sonca. Lepo uspelo. diff --git a/articles/2018-05-05_001-tek.gmi b/articles/2018-05-05_001-tek.gmi new file mode 100644 index 0000000..7aa81dd --- /dev/null +++ b/articles/2018-05-05_001-tek.gmi @@ -0,0 +1,3 @@ +# Tek + +Še en tek. Ta je ročno narisan, ker telefona ni bilo kam za dat. Oh well … Naslednjič bi lahko spet uporabil etui za okoli roke … mogoče. \ No newline at end of file diff --git a/articles/2018-05-06_000-se-zadnjic-ta-teden-smarna-gora.gmi b/articles/2018-05-06_000-se-zadnjic-ta-teden-smarna-gora.gmi new file mode 100644 index 0000000..0051617 --- /dev/null +++ b/articles/2018-05-06_000-se-zadnjic-ta-teden-smarna-gora.gmi @@ -0,0 +1,7 @@ +Še zadnjič ta teden – Šmarna gora + +Torej. Šmarna. Gora. Tretjič ta teden. + +Pot gor je bila tokrat malo hitrejša. Vsakič gre malo lažje, malo hitreje. Na vrhu je bila kar gneča. V cerkvi je bila maša, potem je bil koncert kvarteta. Gasilci so imeli eno svojo zadevo … + +Pot dol. Skoraj že tek, ampak še ne čisto tek :) \ No newline at end of file diff --git a/articles/2018-05-07_000-pravica-do-molka.gmi b/articles/2018-05-07_000-pravica-do-molka.gmi new file mode 100644 index 0000000..a65755e --- /dev/null +++ b/articles/2018-05-07_000-pravica-do-molka.gmi @@ -0,0 +1,4 @@ +Pravica do molka + +> The Fifth Amendment protects defendants in a court of law. It doesn’t protect people in the court of public opinion. The fact that Rudy Giuliani stated @realDonaldTrump may take the Fifth Amendment suggests Trump has done bad things that he wants to hide from the American people. https://t.co/d05CL12Pj6 +> Ted Lieu (@tedlieu) May 6, 2018 \ No newline at end of file diff --git a/articles/2018-05-07_000-volitve-in-resnica.gmi b/articles/2018-05-07_000-volitve-in-resnica.gmi new file mode 100644 index 0000000..1d9a3a8 --- /dev/null +++ b/articles/2018-05-07_000-volitve-in-resnica.gmi @@ -0,0 +1,5 @@ +Volitve in resnica + +> People never lie so much as after a hunt, during a war or before an election. +> Otto von Bismarck + diff --git a/articles/2018-05-10_000-tek.gmi b/articles/2018-05-10_000-tek.gmi new file mode 100644 index 0000000..e8da62c --- /dev/null +++ b/articles/2018-05-10_000-tek.gmi @@ -0,0 +1,3 @@ +# Tek + +Danes smo spet malo tekli. Tokrat s Kodeljevega v center, do Tivolija in nazaj. \ No newline at end of file diff --git a/articles/2018-05-14_000-tek.gmi b/articles/2018-05-14_000-tek.gmi new file mode 100644 index 0000000..18c14de --- /dev/null +++ b/articles/2018-05-14_000-tek.gmi @@ -0,0 +1,3 @@ +# Tek + +Danes je še en dan. Nič posebnega, vreme je bolj oblačno, spal nisem posebej dobro, služba do pol petih … Nekaj je bilo treba narediti, zato sem šel tečt. In je uspelo. Padlo je nekaj dosežkov 🙂 diff --git a/articles/2018-05-20_000-smarna.gmi b/articles/2018-05-20_000-smarna.gmi new file mode 100644 index 0000000..e5acaf7 --- /dev/null +++ b/articles/2018-05-20_000-smarna.gmi @@ -0,0 +1,3 @@ +# Šmarna + +Včeraj se je zgodil pohod na Šmarno goro. Vreme je bilo ravno pravo, ne prehladno in ne prevroče. Na vrhu je čakala kava. In miške. diff --git a/articles/2018-05-20_001-smarna-gora-malo-hitreje.gmi b/articles/2018-05-20_001-smarna-gora-malo-hitreje.gmi new file mode 100644 index 0000000..ced2828 --- /dev/null +++ b/articles/2018-05-20_001-smarna-gora-malo-hitreje.gmi @@ -0,0 +1,3 @@ +# Šmarna gora, malo hitreje + +Danes smo Šmarno izvedli malo hitreje. Manj kot pol ure gor in manj kot pol ure dol. Rekordi spet padajo 🙂 diff --git a/articles/2018-05-29_000-smarna-gora.gmi b/articles/2018-05-29_000-smarna-gora.gmi new file mode 100644 index 0000000..6167cf8 --- /dev/null +++ b/articles/2018-05-29_000-smarna-gora.gmi @@ -0,0 +1,3 @@ +# Šmarna gora + +Tokrat standardno malo hitreje kot v preteklosti. Brzina je vrlina 😉 Vreme je bilo toplo, okoli 30 stopinj v dolini. Zgoraj je nabijalo sonce. Naslednjič bo treba malo bolj zgodaj ali malo kasneje. \ No newline at end of file diff --git a/articles/2018-05-30_000-blizajo-se-volitve.gmi b/articles/2018-05-30_000-blizajo-se-volitve.gmi new file mode 100644 index 0000000..f00b051 --- /dev/null +++ b/articles/2018-05-30_000-blizajo-se-volitve.gmi @@ -0,0 +1,6 @@ +# Bližajo se volitve + +> I’ll be glad to reply to or dodge your questions, depending on what I think will help our election most. +> George H. W. Bush + +Bližajo se volitve. Ta Bushev citat kar dobro povzame večino nastopov politikov v kampanji. diff --git a/articles/2018-06-09_000-track-day.gmi b/articles/2018-06-09_000-track-day.gmi new file mode 100644 index 0000000..8730821 --- /dev/null +++ b/articles/2018-06-09_000-track-day.gmi @@ -0,0 +1,28 @@ +# Track Day + +Danes sem šel pogledat speedway dirko. Tu, v Kosezah, čisto blizu. Tekmovali so motoristi iz Ljubljane in Krškega. V bistvu sem samo želel preizkusiti Minolto Dynax 5 in oba objektiva. Z malo sreče bodo slike razvite v nekaj dneh, in jih bom dodal. +## Tekma + +Tokrat je šlo za pokalno tekmovanje klubov. Stadion Ilirija ni bil ravno poln, tribune so bile tako do polovice zapolnjene. Ampak tribuna je na manjšem delu kroga. Okoli steze je nasip, kjer je sedelo in stalo še nekaj ljudi, vse skupaj mogoče nekaj sto. + +Na enkrat so tekmovali štirje motoristi. Dva domača in dva gostujoča. Pogoste so bile okvare motorjev, ko je med vožnjo samo malo počilo in je kakšen od motoristov obstal. +## Fotoaraparat + +Minolta Dynax 5. Znana tudi kot Maxxum5 in Alpha Sweet II. Ena od boljših filmskih Minolt kadarkoli narejenih. In tudi eden od boljših analognih fotoaparatov na splošno. Verjetno najmanjši s toliko funkcijami. Pri fotografiranju sem uporabil dva objektiva, širokokotnega 28-80mm in teleobjektiv 75-300mm. Oba iz Minoltinih tovarn. + +Minolta se je izkazala za dobro. Hitra je, majhna in lahka. Avtofokus je res hiter, kar je zelo uporabno pri fotografiranju hitrih motoristov. Zdaj me samo še zanima, kako bodo izpadle fotografije. Načeloma bi morale biti dobre, če le fotoaparat dejansko deluje. Slišati je že bil tako. Pri rabljenih aparatih nikoli ne veš, sploh pri takšnih, ki so se prodajali kot nepreizkušeni. + +Preizkusil sem oba objektiva. Širokokotnega sem uporabil za fotografiranje stadiona, teleobjektiv pa za fotografiranje motoristov. Oba sta se obnesla dokaj dobro. 28mm je sicer nekoliko preozko za fotografiranje celega stadiona, mogoče bo treba nabaviti še kakšen bolj širokokoten objektiv. + +Del rezultata je odvisen tudi od filma. Tokrat sem uporabil Fuji Color C200. Verjetno sem ga uporabil že kdaj prej … ampak po 10 letih uporabe digitalnih aparatov … se niti več ne spomnim. Bo treba malo prebrskati domače arhive. Kolikor gledam fotografije drugih fotografov na internetu, deje ta film dobre rezultate, lepe barve +## Vreme + +Vreme je bilo lepo. Sončno, z nekaj oblaki. Malo vroče, malo soparno, pesek se je kadil. To je omogočalo, da sem slikal s 1/1000s pri ISO 200 … +## Fotografije + +Fotke … bodo, ko bodo. Jih bom prilepil sem. Na srečo je foto laboratorij čisto blizu službe in lahko film oddam zjutraj, popoldne pa mogoče že dobim ključek s fotografijami. Bomo videli, če so tako hitri, ali si vzamejo čas čez noč. + +21. 6. 2018 — No, fotke so. In zgledajo dobro. Nekaj sem jih stlačil v spodnjo galerijo. + +##Film +Film je Fujifilm Fujicolor 200. Barve na tem filmu so dokaj nasičene, ampak zgledajo res lepo. Skenirano v Foto Tivoli z Epson skenerjem. \ No newline at end of file diff --git a/articles/2018-06-13_000-ljubljana-te-dni.gmi b/articles/2018-06-13_000-ljubljana-te-dni.gmi new file mode 100644 index 0000000..131e5b1 --- /dev/null +++ b/articles/2018-06-13_000-ljubljana-te-dni.gmi @@ -0,0 +1,7 @@ +# Ljubljana te dni + +Povsod nekaj gradijo. Na Celovški gradijo Spar, obnavljajo in prenavljajo Gosposvetsko in Dalmatinovo. Kup ovir na poti iz Šiške do centra. Amapak, ko bo končano, bo kar lepo. Na Gosposvetski in Dalmatinovi so že posadili drevesa. Ulico bodo zožili in je večji del kot prej namenili pešcem. Dobra rešitev. Manj prostora za avtomobile. V centru rabimo manj avtomobilov. Manj avtomobilov, boljši zrak. Manj pločevine, več prostora za pešce in kolesarje. Škoda, da smo tako zelo navajeni, da se je treba do vhoda pripeljati z avtomobilom. Mogoče se bo na tem področju vsaj v Ljubljani kaj začelo spreminjati. Dvomim, sicer … + +Pred kratkim so se lotili popravila še na Slovenski. Popravljajo avtobusno postajo — novi Bavarski dvor. Na drugi strani, avtobusi uničujejo Slovensko, ki so jo uredili lani. Zaradi zapore Dalmatinove in Gosposvetske avtobusi vozijo po pločnikih, po novem tlaku. In ga uničujejo. Prav tako je uspelo poškodovati betonsko vozišče Slovenske. Upam, da je še v garanciji in da jo bodo uveljavljali. V vsakem primeru, bo treba vse skupaj narediti še enkrat. + +Upam da kmalu pridejo na vrsto tudi drugi projekti, ki zdaj že res predolgo čakajo. Kolizej, jama pri Bežigrajskem dvoru, nova stolpnica pri Telekomu, Ikea … V kratkem bi lahko Ljubljana postala še malo bolj mestna in malo manj vaška. \ No newline at end of file diff --git a/articles/2018-08-05_000-pocitnice.gmi b/articles/2018-08-05_000-pocitnice.gmi new file mode 100644 index 0000000..9f6bd97 --- /dev/null +++ b/articles/2018-08-05_000-pocitnice.gmi @@ -0,0 +1,13 @@ +# Počitnice + +Počitnice so minile hitro. Mareda in Medulin, Istra. Vreme je bilo odlično, vsake toliko je sicer deževalo, ampak to ni zares nikogar motilo. Kvečjemu je malo ohladilo sicer vroče, prevroče ozračje. + +Voda je bila topla. Skoraj 30 stopinj. Dež temperatur ni prav dosti znižal. Sonce, plaža, občasno kaj pojest. Vse prej kot morsko hrano 😉 + +Hrana je bila ok. Draga za to, kar dobiš, ampak na dopust ne greš vsak dan. Pice, špageti, burgerji, rižote … not bad. + +Mesto je tudi zanimivo. Medulin … brez turistov je verjetno povsem prazno. Ampak poleti pa se kar dogaja. + +Na enem od lokalnih otočkov (dejansko zdaj polotokov) urejajo nove sprehajalne poti. Načeloma je zaprt, ker je na njem gradbišče, ampak vseeno se da priti mimo ograj. Videti se da, da urejajo arheološka najdišča in gradijo poti. Delavci so se že sprijaznili, da turisti ne upoštevajo znaka, ki naj bi jim preprečil dostop. + +Apartmaji. Povsod so, povsod gradijo nove. Tisoč hiš, ki bodo prazne večji del leta. Po eni strani kar malo strašljivo, po drugi pa … bi se dalo imeti kakšnega \ No newline at end of file diff --git a/articles/2018-08-17_000-summer-of-two-eighteen.gmi b/articles/2018-08-17_000-summer-of-two-eighteen.gmi new file mode 100644 index 0000000..e9b2c0f --- /dev/null +++ b/articles/2018-08-17_000-summer-of-two-eighteen.gmi @@ -0,0 +1,14 @@ +# Summer of Two-Eighteen + +Letošnje poletje je že skoraj minilo. Razpeto je bilo med Ljubljano, morjem, kratkimi izleti, tekom, službo … En dan ni enak drugemu. Ampak malo je še ostalo. Malo je še ostalo, preden pride spet nov letni čas, hladno vreme, dež — jesenske barve, nov začetek. +## Poletje 2018 + +Dva tedna dopusta hitro mine. Teden dni morja še hitreje. Na srečo je ostalo še nekaj dopusta. Ne da bi ga že rabil, nova služba je veliko bolj umirjena, kot je bila prejšnja. Naloge bolj določene, pričakovanja bolj jasna. Manj stresa, več učinka. + +Prihaja jesen. Prinaša novosti — tudi v službi. Upam,da ne prevelike, naj kar ostane kot je zdaj. + +Vroče je. Več tednov zaporedoma čez 30. V stanovanju še bolj — ko kaj skuham. Preselil bi se v trgovino na oddelek s hladilniki za jogurte. Zato je pa na Šmarni gori malo bolj hladno. letos smo bili gor že kar nekajkrat. Kilometri se nabirajo. Prav tako višinski metri. letos vel kot lani, ampak lani je bilo tako bolj lenobno leto. +## Šmarna + +> “And so with the sunshine and the great bursts of leaves growing on the trees, just as things grow in fast movies, I had that familiar conviction that life was beginning over again with the summer.” +> F. Scott Fitzgerald, The Great Gatsby diff --git a/articles/2018-08-20_000-agfafilm-apx-400.gmi b/articles/2018-08-20_000-agfafilm-apx-400.gmi new file mode 100644 index 0000000..0e65a27 --- /dev/null +++ b/articles/2018-08-20_000-agfafilm-apx-400.gmi @@ -0,0 +1,3 @@ +# Agfafilm APX 400 + +Slikano z Minolto Dynax 5 in objektivom Minolta 28-80mm. Večinoma v Ljubljani, malo tudi v Mariboru. Razvito v domačem laboratoriju. Skenirano s skenerjem Epson V370 Photo. Slike so izpadle odlično, res mi je všeč kontrast, sploh na večernih/jutranjih fotkah. Ta film bom še kdaj uporabil. diff --git a/articles/2018-08-20_001-tek.gmi b/articles/2018-08-20_001-tek.gmi new file mode 100644 index 0000000..d6729af --- /dev/null +++ b/articles/2018-08-20_001-tek.gmi @@ -0,0 +1,7 @@ +# Tek + +Spet se je malo teklo. Tokrat malo po mestu, za zaključek pa še tri kroge na stadionu Kodeljevo. Nekaj čez sedem kilometrov je bilo ravno prav za zvečer, pred spanjem. + +Strava je super. Ampak iz čudnega razloga ne podpira merilnika srčnega utripa. Na srečo aplikacija Wahoo Fitness nima teh težav. In Wahoo Fitness zna podatke spraviti na Stravo. Skupaj s podatki o srčnem utripu. + +Tokraten tek je bil bolj sproščen in … “turističen”. V mestu je bilo veliko ljudi, tako da se na posameznih delih sploh ni dalo teči. Bo pa naslednjič več hitrosti ;) \ No newline at end of file diff --git a/articles/2018-08-21_000-minolta-dynax-5.gmi b/articles/2018-08-21_000-minolta-dynax-5.gmi new file mode 100644 index 0000000..be181aa --- /dev/null +++ b/articles/2018-08-21_000-minolta-dynax-5.gmi @@ -0,0 +1,36 @@ +# Minolta Dynax 5 + +Pred kratkim sem kupil fotoaparat. Ni ravno sodoben digitalec, je pa eden boljših analognih kadarkoli izdelanih. Minolta Dynax 5. V bistvu gre za relativno majhen zrcalnorefleksni aparat s tono funkcij. zanj sem dal nekaj čez 35 evrov. Dokupil sem še dva objektiva in imam zdaj zanimiv komplet. + +Zaklop je verjetno en od hitrejših med analognimi kamerami. 1/4000 senkunde, najdaljši pa 30 sekund. Seveda ima tudi način bulb, tako da lahko držimo zaklop odprt poljubno dolgo. Flash sync je 1/250 sekunde ali počasneje. Žal nimam kompatibilnega flasha, tako da za zdaj ne uporabljam teh funkcionalnosti. + +Merilni sistem je TTL in ima 14 segmenten senzor v obliki satovja. Aparat omogoča fotografiranjr v različnih načinih, s prioriteto časa zaklopa, s prioriteto zaslonke, poln programski način, programski način, kjer določimo čas ali zaslonko, avtomatski način za portret, pokrajino, makro, šport in nočni portret, ročni način in način bulb. + +Aparat ima vgrajen čitalnik DX kode na filmu in bo pravilno nastavil hitrost filma. To se da ročno spremeniti, prav tako se da ročno nastaviti hitrost filma brez DX kode. Uporabni so filmi hitrosti med ISO 6 in ISO 6400. + +Avtofokus uporablja TTL. Deluje v enkratnem ali v kontinuiranem načinu. Aparat ima vgrajen senzor v ročaju, kjer zazna, da smo ga prijeli v roke, to pa aktivira senzor EyeStart, ki zazna, kdaj gledamo skozi iskalo. Funkcionalnost, ki je nimajo niti moderni DSLRji. + +Hitrost slikanja je 3 posnetke na sekundo. Seveda v pravih pogojih. Ni slabo, sploh pa se pomnilnik ne zapolni. Je pa res, da smo omejeni s filmom na 36 posnetkov. + +Iskalo nima pentaprizme, ampak pentamirror. Načeloma naj bi bila takšna iskala bolj temna, ampak za tega to ne drži. Dokaj svetlo, povečava pa 0,75x. + +Gumbi za nastavitve so relativno enostavno dostopni. Škoda, da jih ni mogoče upravljati z eno roko. Za večino nastavitev sta potrebni obe. Večina nastavitev je označenih na gumbih ali na samem LCD zaslonu, ima pa aparat tudi 12 naprednejših nastavitev za svoje delovanje, ki so označene samo z zaporednimi številkami. Brez navodil je nemogoče ugotoviti, za kaj gre. + +Za zdaj sem s tem aparatom poslikal dva filma. Enega sem že dal razviti, drug, črnobel, čaka na domače razvijanje. Slike s prvega so tukaj. + +Aparat je res majhen in lahek. Izdelan je večinoma iz plastike, ampak ni ravno, da bi bil na občutek slab. Izdelovali so jih tam … okoli leta 2000 in letos (2018) je še povsem OK. K dobremu občutku pripomore tudi kovinski obroč nastavka za objektive. +## Objektivi + +Trenutno imam štiri objektive za ta fotoaparat. To so A-mount objektivi, kakršne zdaj uporablja SONY na nekaterih svojih modelih aparatov (SONY je prevzel fotoaparate od Konice Minolte …). + +Imam te objektive: + +* Minota 28-80mm f/3.5 D (2x) +* Minolta 100-300mm f/4 +* Minolta 50mm f/1.7 + +Nekako najbolj všeč mi je 50mm. Je zelo vsestranski, f/1.7 dela lep boke, pri f/2 pa je povsem oster. Pa še zelo majhen in lahek je ta objektiv. Naročil sem ga prek ebay iz ZDA. Po nekaj zapletih je po mesecu dni končno prispel. Žal prepozno za dopust. + +100-300mm Se je dobro obnesel za fotografiranje speedwaya. Po ogledu nastalih slik sem kljub vsemu ugotovil, da bi lahko šel še malo bližje, da bi bile slike kaj boljše. + +Objektiv 28-80mm je standarden kit objektiv. Dobil sem ga z aparatom. Nič posebnega, tudi nič slabega. Načeloma je dober, Dela relativno dobre fotografije, ampak manjka mu pa malo večja zaslonka. diff --git a/articles/2018-08-21_001-postavimo-lokalni-repozitorij-na-omnios.gmi b/articles/2018-08-21_001-postavimo-lokalni-repozitorij-na-omnios.gmi new file mode 100644 index 0000000..5d80c17 --- /dev/null +++ b/articles/2018-08-21_001-postavimo-lokalni-repozitorij-na-omnios.gmi @@ -0,0 +1,79 @@ +Postavimo lokalni repozitorij na OmniOS + +Za začetek moramo postaviti novo virtualno okolje. Solaris Zone. Gre nekako takole: + +``` +root@server:~# dladm create-vnic -l bge0 zrepo1 +root@server:~# zonecfg -z zrepo1 +zrepo1: No such zone configured +Use 'create' to begin configuring a new zone. +zonecfg:zrepo1> create +zonecfg:zrepo1> set zonepath=/tank/zones/zrepo1 +zonecfg:zrepo1> set autoboot=true +zonecfg:zrepo1> set limitpriv=default,dtrace_proc,dtrace_user +zonecfg:zrepo1> set ip-type=exclusive +zonecfg:zrepo1> add net +zonecfg:zrepo1:net> set physical=zrepo1 +zonecfg:zrepo1:net> end +zonecfg:zrepo1> verify +zonecfg:zrepo1> commit +zonecfg:zrepo1> exit + +root@server:~# zoneadm -z zrepo1 install +A ZFS file system has been created for this zone. +Sanity Check: Looking for 'entire' incorporation. + Image: Preparing at /tank/zones/zrepo1/root. + + Cache: Using /var/pkg/publisher. + Installing: Packages (output follows) + Publisher: Using omnios (https://pkg.omniosce.org/bloody/core/). +. +. +. +root@server:~# zoneadm -z zrepo1 boot + +root@server:~# zlogin zrepo1 +[Connected to zone 'zrepo1' pts/3] +OmniOS 5.11 omnios-master-1104886667 August 2018 +root@zrepo1:~# dladm show-link +LINK CLASS MTU STATE BRIDGE OVER +zrepo1 vnic 1500 up -- ? +root@zrepo1:~# ipadm create-addr -T static -a 192.168.5.124/24 zrepo1/v4static +root@zrepo1:~# ipadm show-addr +ADDROBJ TYPE STATE ADDR +lo0/v4 static ok 127.0.0.1/8 +zrepo1/v4static static ok 192.168.5.124/24 +lo0/v6 static ok ::1/128 +root@zrepo1:~# route -p add default 192.168.5.1 +add net default: gateway 192.168.5.1 +add persistent net default: gateway 192.168.5.1 + +root@zrepo1:~# echo 'nameserver 192.168.5.1' >> /etc/resolv.conf +root@zrepo1:~# cp /etc/nsswitch.conf{,.bak} +root@zrepo1:~# cp /etc/nsswitch.{dns,conf} + +root@zrepo1:~# ping www.arnes.si +www.arnes.si is alive +``` + +Na tej točki imamo nov virtualni strežnik v katerega bomo postavili repozitorij. Strežnik ima svojo internetno povezavo, ki tudi deluje. + +Zdaj lahko postavimo repozitorij. + +``` +root@zrepo1:~# pkgrepo create /repo +root@zrepo1:~# pkgrepo set -s /repo publisher/prefix=repo.uplink.si +root@zrepo1:~# pkgrepo info -s /repo +PUBLISHER PACKAGES STATUS UPDATED +repo.uplink.si 0 online 2018-08-21T20:22:36.144873Z +root@zrepo1:~# svcadm disable pkg/server +root@zrepo1:~# svccfg -s pkg/server setprop pkg/inst_root = /repo +root@zrepo1:~# svccfg -s pkg/server setprop pkg/port = 10000 +root@zrepo1:~# svcadm refresh pkg/server +root@zrepo1:~# svcadm enable pkg/server +``` + +Tako, pa imamo delujoč repozitorij. Do njega lahko pridemo z brskalnikom na nastavljenem naslovu in portu 10000. + +Zdaj pa je čas, da objavimo kakšen paket :) +=> /articles/2017-08-14_000-objava-paketa-v-ips-repozitorij.gmi Objava paketa v IPS repozitorij diff --git a/articles/2018-08-21_002-avto.gmi b/articles/2018-08-21_002-avto.gmi new file mode 100644 index 0000000..4a748e5 --- /dev/null +++ b/articles/2018-08-21_002-avto.gmi @@ -0,0 +1,9 @@ +# Avto + +Zadnje dni se je v Šiški dogajalo nekaj čudnega … avto je bil umazan od neke umazanije, ki je zgledala kot kakšen pepel. Ni mi sicer jasno, kje je kaj gorelo, ampak avto je bil res umazan. In to dan po dežju, ki bi načeloma moral avto oprati. No, tokrat ga ni. Toplarna je kriva 😉 + +No, avto sem seveda opral, po tem pa ga sčistil še od znotraj. Nisem ga sicer posesal, ampak to bo na vrsti naslednjič. + +Po več kot letu in pol se ga še kar nisem naveličal. Zabaven je, veliko srebrno jajce. Srebrna raketa. Ima nekaj svojih težav, predvsem s tesnili … ampak to bomo vse uredili. + +Zadnjič je pregorela žarnica. Pri tako velikem avtomobilu, na srečo, ni bilo težav pri menjavi. Tudi v večernem mraku je šlo brez prevelikih težav. Moram nabaviti nove rezervne … \ No newline at end of file diff --git a/articles/2018-08-23_000-pentaxx-mz-50.gmi b/articles/2018-08-23_000-pentaxx-mz-50.gmi new file mode 100644 index 0000000..51a5623 --- /dev/null +++ b/articles/2018-08-23_000-pentaxx-mz-50.gmi @@ -0,0 +1,26 @@ +# Pentax MZ-50 + +Še en analogni fotoaparat, ki sem ga pred kratkim nabavil. Načeloma sem želel dobiti objektiv, na katerega je bil priključen, ampak glede na to, da mi je fotografiranje s filmom zanimivo, nisem predolgo razmišljal o nakupu. + +Gre za eno od zadnjih družin Pentaxovih analognih fotoaparatov. Ima skoraj vse, kar imajo veliki. Še največji problem so ceneni materiali, ki so uporabljeni za izdelavo — problem nastane konkretno pri enem plastičnem zobniku v mehanizmu, ki premika ogledalo … pri nekaterih se zobnik polomi in ogledalo ostane v zgornjem položaju. Popravilo je relativno zahtevno. Glede na ceno aparata, se verjetno ne izplača. Pri mojem za zdaj problemov ni (trkam na les, da ostane tako). + +Model je iz leta 1997. Na voljo ima več programov fotografiranja, povsem avtomatski način za portret, pokrajino, makro, športno akcijo in nočno sceno, polno programski način, ročni način in načina kjer nastavljamo čas zaklopa oziroma zaslonko. + +Aparat ima senzor DX kode, ki zazna hitrost filma. Seveda je hitrost mogoče nastaviti tudi ročno, in sicer med ISO 6 in ISO 6400. + +Avtofokus je TTL. Namesto pentaprizme ima lažji in cenejši pentamirror. Okular je kar OK. + +V primerjavi z Minolto Dynax 5, ki jo tudi imam, je malo bolj špartanski, ima manj funkcij, je malo večji in težji. Ampak mi je prava tako všeč. Posebej mi je všeč, da Pentax že zadnjih 30 let (vsaj) ni spremenil nastavka za objektive. Nanj lahko priključim vse Pentax objektive, ki jih imam, tudi malo modernejše in malo starejše od samega aparata. In glede na to, da imam tudi Pentax K100D Super DSLR, se jih je nabralo kar nekaj. +## Objektivi + +Imam naslednje objektive: + +* Ozek 24mm +* Pentax 50mm f/2.4 +* Pentax 100-300mm +* Pentax 35-70mm +* Pentax 28-80mm + +Največ sicer slikam s kit objektivom 28-80mm, ker je najbolj priročen. Za kit objektiv je tudi relativno hiter. Ostale objektive sem večinoma za zdaj testiral na DSLRju. + +Slike … za zdaj sem poslikal dva filma. Eden je že razvit in poskeniran, drugi še čaka na procesiranje, Vse ob svojem času. \ No newline at end of file diff --git a/articles/2018-08-25_000-canon-eos-3000.gmi b/articles/2018-08-25_000-canon-eos-3000.gmi new file mode 100644 index 0000000..e9f9f12 --- /dev/null +++ b/articles/2018-08-25_000-canon-eos-3000.gmi @@ -0,0 +1,24 @@ +# Canon EOS 3000 + +Ta fotoaparat je del družinske zakladnice že od … hmmm … že od kar je bil nov. Predstavljen je bil leta 1999. Mislim, da je to bilo mogoče kakšno leto ali dve, preden so postali DSLRji zares dostopni. Zaradi tega ni videl prav veliko akcije. Gre za relativno enostaven fotoaparat z osnovnimi funkcijami, ki je bil vstopni model + +Aparati ima celotno paleto programov fotografiranja. Povsem avtomatski način, portret, pokrajino, makro in športni način, ročni način, način prioritete zaklopa, način prioritete zaslonke, in programski način. + +Merjenje izvaja s šest conskim sistemom. Avtofokus je TTL-SIR (secondary image phase differential detection). Ima enkratni avtofokus in prediktivni enkratni avtofokus. V slabih pogojih si avtofokus pomaga z iluminatorjem – vgrajeno lučko, s katero osvetli sceno (ne flash). + +Zaklop je najhitrejši 1/2000 sekunde. To je kar malo počasneje od Minolte Dynax 5, ki zmore 1/4000 sekunde. + +Za prenos slike skrbi pentamirror. Iskalo je OK, zelo svetlo. + +Hitrost fotografiranja je 1 posnetek na sekundo. Tudi tukaj je ta model fotoaparata šibkejši od ostalih, ki jih imam, tako Minolta kot Pentax zmoreta do tri posnetke na sekundo. + +Zanimivost tega aparata je, da po tem, ko vstavimo film, celoten film previje na notranji kolut, ko pa posnamemo fotografijo, film previje nazaj v kanister. Na koncu tako ni treba čakati na previjanje, to se zgodi na začetku. Ta način ima prednost: če odpremo ohišje še preden smo naredili vse posnete, bodo tisti, ki so že v kanistru, preživeli. Po drugi strani so posnetki v nasprotnem vrstnem redu od pričakovanega. + +LCD prikazuje trenutno število preostalih posnetkov. Ko film navije na notranji kolut, šteje posnetke. Prišlo je do 37, potem pa je en posnetek avtomatsko sprožilo in število preostalih posnetkov znižalo na 36. Na Minolti je sistem obraten, LCD prikazuje številko naslednjega posnetka, in iz enega filma jih je iztisnilo 39. + +Fotoaparat uporablja dve bateriji CR123. Stali sta skupaj cca 10 evrov. + +Dodatne funkcije so še bliskanje z odpravo rdečih oči, odštevalnik in preklop med avto in ročnim fokusom. +## Objektivi + +Za ta fotoaparat imam samo en objektiv. Canon 38-76mm, f/4.5-5.6. Za zdaj z njim še nisem posnel celega filma, je pa en v delu. diff --git a/articles/2018-08-27_000-robot.gmi b/articles/2018-08-27_000-robot.gmi new file mode 100644 index 0000000..2302a51 --- /dev/null +++ b/articles/2018-08-27_000-robot.gmi @@ -0,0 +1,7 @@ +# Robot + +Že pred časom sem kupil robotski sesalec Sencor SVC 9020BK. Po nekaj časa delovanja (verjetno kakšno leto in pol) je baterija odpovedala sodelovanje in izdahnila. Od takrat naprej robot žalostno ždi nepremičen pod mizo. Na njem se nabira prah, kar je kar malo ironično, glede na to, da je namenjen temu, da ga počisti … + +Baterija je sestavljena iz 12 celic. Nove pri nas v bistvu nisem našel nikjer. Jo pa lahko različni ponudniki izdelajo oziroma obnovijo. Se pravi, vzamejo staro baterijo, jo razdrejo in zamenjajo celice, sestavijo in voila, nova baterija je tu. Cca 60 evrov in 10-14 dni za izdelavo. Nova baterija naj bi tudi bila malo močnejša, 3500 mAh, medtem ko je bila originalna le 2200 mAh. + +Te dni bi morala baterija priti, rok za njeno izdelavo se počasi izteka. V bistvu sem že malo nestrpen, ker bi rad končno spet videl robotka v akciji. \ No newline at end of file diff --git a/articles/2018-09-06_000-tek.gmi b/articles/2018-09-06_000-tek.gmi new file mode 100644 index 0000000..c8228e0 --- /dev/null +++ b/articles/2018-09-06_000-tek.gmi @@ -0,0 +1,3 @@ +# Tek + +Danes je bil spet čas za en tek. Tokrat skoraj osem kilometrska varianta ob Zaloški. diff --git a/articles/2018-09-06_001-back-in-business.gmi b/articles/2018-09-06_001-back-in-business.gmi new file mode 100644 index 0000000..940e1a0 --- /dev/null +++ b/articles/2018-09-06_001-back-in-business.gmi @@ -0,0 +1,13 @@ +# Back in Business + +Po dvoletnem premoru smo spet nazaj. No, robot je nazaj. Po dolgih, predolgih dveh tednih čakanja so (končno) sestavili novo baterijo za robotski sesalnik. Baterija je seveda prišla bolj ali manj prazna, zato joj je bilo treba najprej napolniti. Celo popoldne in vso noč. Zjutraj si je nekako nisem upal pustiti priklopljene na polnilec … čuden občutek, ko bereš o vseh baterijah, ki so se vžgale in požgale pol hiše — pa je šlo samo za telefonsko baterijo. Ta je pa malo večja. + +No, danes popoldne sem robota prvič po dveh letih spet poslal v akcijo. Pozabil sem že, kako glasen je, ko sesa. Ampak to ne moti. Pozabil sem tudi že na lightshow, ki ga zganja medtem, ko se polni. Pa tudi to ne moti. Vse sem pozabil, ko se je zapeljal po sobi. Igrača spet dela 🙂 + +Robot je zdaj star že kakšna štiri leta. V tem času so ga prehiteli več ali manj vsi proizvajalci, ki zdaj ponujajo boljše, bistveno boljše modele za takšno ceno. Ampak dokler dela in so vsi deli (metlice, filtri, baterija …) kolikortoliko v dobrem stanju, ga bom kar obdržal. + +Nova baterija je zdržala kakšno uro. To je nekaj več kot prejšnja, ki je bila prazna po približno tričetrt ure. Ko se izprazni, robot sam poišče svojo polnilno postajo in se priključi na elektriko. + +Enkrat bom spet poskusil čiščenje, ko me ne bo doma. Načeloma sem pred dvema letoma to že preizkušal, pa se ni najbolje obneslo. Robot je enkrat vmes “pojedel” električni kabel in ni mogel naprej, nazaj, kabla ni mogel izpuliti ali se izplesti. Nemočno je obstal in piskal na pomoč. Glasno piskal.Rešil sem ga, ko sem se vrnil domov. S tem sem se naučil, da je treba stanovanje za čiščenje z robotom malo pripraviti. Zdaj pospravim po tleh, umaknem stole, copate, kable, čevlje … vse kar bi mu bilo v napoto. In potem naj opravi svoje. + +To je bila prva uspešna misija po oživitvi. In bila je uspešno opravljena. diff --git a/articles/2018-09-14_000-never-let-a-good-crisis-go-to-waste.gmi b/articles/2018-09-14_000-never-let-a-good-crisis-go-to-waste.gmi new file mode 100644 index 0000000..b8d0897 --- /dev/null +++ b/articles/2018-09-14_000-never-let-a-good-crisis-go-to-waste.gmi @@ -0,0 +1,8 @@ +# Never let a good crisis go to waste + +> Never let a good crisis go to waste +> Winston Churchill + +Nikoli ne zapravi dobre krize. Kriza pogosto ponudi priložnosti, ki jih v normalnih okoliščinah ni. Takrat je treba izkoristiti priliko in doseči željeno. + +Winston Churchill je to irekel v kontekstu krize po drugi svetovni vojni. diff --git a/articles/2018-09-24_000-mojave.gmi b/articles/2018-09-24_000-mojave.gmi new file mode 100644 index 0000000..4b0fb0b --- /dev/null +++ b/articles/2018-09-24_000-mojave.gmi @@ -0,0 +1,5 @@ +# Mojave + +Spet je jesen in prišla je nova posodobitev MacOS … tokrat se ji reče Mojave. Zdaj se že nalaga, še malo, pa ga bo preneslo z interneta. + +Novosti je kar nekaj, še najbolj me zanima, kako deluje temna tema. Na slikah zgleda super. Prav tako nova orodja za pospravljanje namizja (stacks). Pa še kup drugih … will see I guess diff --git a/articles/2018-10-13_000-wordgrinder.gmi b/articles/2018-10-13_000-wordgrinder.gmi new file mode 100644 index 0000000..8d3e9e8 --- /dev/null +++ b/articles/2018-10-13_000-wordgrinder.gmi @@ -0,0 +1,43 @@ +# Wordgrinder + +To je prvi članek na temo urejevalnikov besedil. Wordgrinder je verjetno najbolj napreden urejevalnik besedil v konzoli. Deluje v okolju Windows in Linux. Ta članek pišem na Linux verziji, ki je po delovanju v bistvu identična verziji za Windows, ki sem jo preizkušal prej. + +Žal je ta računalnik za pisanje nekoliko neprimeren. Tipkovnica je namreč vse prej kot natančna. Še največ težav predstavlja preslednica, ki zataji približno vsakič drugič, prav tako pa je na nerodno mesto postavljena tipka “ž”. Skriva se namreč v spodnji vrstici, takoj za presledkom in desno tipko Alt. Sicer se roka kaj kmalu navadi na točno določeno mesto na preslednici, na katero je treba zadeti, da se presledek prikaže na zaslonu, vendar je še vseeno malo nerodno. Drugi – prav tako s tipkovnico povezan problem je to, da občasno – beri pogosto – podvoji pritisk tipke. Natančnost – ta tipkovnica je nima. + +Wordgrinder. Ni slab program. za pisanje besedil – člankov, dokumentov – in podobnega, je super. Veliko boljši od kakšnih običajnih urejevalnikov golega besedila. Ta namreč pozna prelom vrstice, zna osnovno oblikovati besedilo in zna šteti besede ter odstavke. + +Osnove so tukaj, ampak na konzoli smo kdaj v preteklosti že imeli dobre pisarniške programe, tudi tekstovne urejevalnike. Ni treba iti daleč, mogoče dvajset let nazaj. Na misel pridejo WordPerfect, Wordstar, DisplayWrite, MS Word in podobni. Ti programi so omogočali vse, kar je za delo z besedili potrebno – od oblikovanja besedila, avtomatskih kazal in tabel, vstavljanja grafik, tiskanja in pretvarjanja med različnimi formati naprej. Wordgrinder je v vseh pogledih omejen. Ponuja omejeno izbiro pisav, slogov pisave in tukaj se skoraj že Konča. Še najbolj omembe vredna je funkcija izvoza besedila v različne formate. + +Cilj Wordgrinderja je, da bi postal urejevalnik teksta za prvi draft. Urejevalnik, ki se ne vtika v delo. ki odstrani vse moteče elemente iz pisanja. To mu kar dobro uspeva. + +Pri pisanju nas velikokrat zmotijo posamezne funkcionalnosti različnih običajnih urejevalnikov besedil. Oblika, slogi, naslovi, barve, … Milijon funkcij, ki so vse na razpolago med samim pisanjem. Pa jih rabimo? Pogosto jih. Ko pišemo kratek dopis, je besedilo hitro spisano, po tem je treba urediti še obliko. Ali pa začnemo z obliko, ko smo z njo zadovoljni, dodamo še besedilo. Kakorkoli že, urejanja oblike pogosto ne potrebujemo, ko pišemo daljši sestavek. Sestavek, ki ga bo pregledal še urednik, popravljal lektor, ki ga bo dvakrat obrnil oblikovalec, ki ga bomo krajšali, popravljali, dopolnjevali, urejali, rezali, lepili, premetavali, … Oblika ni pomembna. Pomembna je vsebina. Mogoče še kakšen poudarek. Po tem pa se konča. In za take primere je Wordgrinder več kot primeren. + +Kako opravi svoje delo? Hitro in neboleče. No, hitrost tipkanja je odvisna od pisca. Ni prav veliko urejevalnikov besedil, ki bi imeli težavo z mojo hitrostjo tipkanja, to ni bila težava niti v urejevalnikih, ki so tekli na desetkrat počasnejših strojih in dvajset let starejših programih. V tem delu torej ni težav. Če je za naše delo dovolj osnovno urejanje (krepko, poševno, podčrtano), tudi z naborom funkcij ni težav. Seveda pa je predpogoj za vse to, da nam je všeč delo v konzoli. + +Na voljo je še nekaj osnovnih preddefiniranih slogov odstavkov, kot so naslovi, zamaknjeni odstavki in običajno besedilo. Načeloma vse, kar se običajno potrebuje, ampak nič več kot to, kar se običajno potrebuje. +## Moje menenje + +Wordgrinder hitro postaja moj najljubši urejevalnik besedila. Ta članek pišem v njem predvsem, da preizkusim čim več njegovih sposobnosti. Teh ni veliko. Žal Wordgrinder še ne bo kmalu nadomestil Worda ali Writea za pisanje običajnih dokumentov. Ampak ima nek svoj čar. Čar, ki ga nismo zares doživeli, že od kar smo šli z DOSovskih urejevalnikov besedila na Windowsove. Tipkanje besedila v konzoli je nekaj posebnega. + +Odločil sem se, da bom poskusil čim več člankov v prihodnosti napisati v tem programu. To torej ni zadnjič, da sem ga uporabil. +## Kaj manjka + +Manjka veliko funkcij. Za začetek, velika začetnica. Povedi se začnejo z veliko začetnico, končajo pa s piko. Načeloma je to relativno preprosto programsko ugotoviti in avtomatizirati upoštevanje velike začetnice. No, Wordgrinder tega ne zna. Znali so to že programi kot je WordPerfect za DOS, tako da ta funkcionalnost ni nezaslišana. + +Manjka risanje tabel. Tabele se lahko riše z ASCII znaki. To so posebni znaki v računalniški pisavi, katerih namen je prav risanje različnih tabel, okvirjev in podobnih stvari. Spet gre za eno stvar, ki sMo jo brez težav delali že pred dvajset leti. Wordgrindertega še ne zna. + +Tiskanje. Wordgrinder ne zna tiskati. Na različnih platformah, na katerih deluje ta program, je tiskanje urejeno drugače. Unix tiskanje, ki deluje na Mac in Linux računalnikih, je povsem drugačno od tiskanja na Windows platformi. Da ne omenjamo še kakšne bolj eksotične, na kateri bi Wordgrinder tudi lahko teoretično deloval. + +Tabulator. Enostavno ne dela. Včasih bi bilo smiselno kakšen kos teksta malo zamakniti, da se doseže učinek … lep primer bi bil citat iz kakšnega drugega članka, kjer z zamikom poudarimo, da gre za navedek. Tabulator ne deluje. +## Kaj deluje + +Deluje izvoz vsebine v različne formate. ODT, HTML, Markdown, tekst, Latex, troff. Vsaj nekateri od teh formatov so namenjeni tiskanju. S tem se vsaj delno odpravi pomanjkljivost v smislu nemožnosti tiskanja, ki sem jo omenil zgoraj. Delujejo slogi. Tistih nekaj, ki so definirani. Delujejo osnovne funkcije kot so izreži, prilepi, kopiraj, izbriši… Vsekakor deluje tudi razveljavljanje in ponovno uveljavljanje ukazov. Zna tudi iskati in zamenjati besedilo, vgrajeno pa je tudi preverjanje za tipkarske napake. Žal vsaj privzeto ne podpira slovenskega jezika, če sploh podpira katerega. Po vsej verjetnosti je treba namestiti vsaj kakšen slovar, ki ga še nisem uspel. + +Program zna dokumente zložiti v sete. s tem je malo olajšano delo z daljšimi besedili, saj lahko posamezna poglavja – datoteke – zložimo v celoto – set. + +Deluje tudi namestitev iz sistemskega repozitorija. Wordgrinder je na voljo v Ubuntu repozitorijih, tako da je namestitev res enostavna. Za Windows je na voljo prenos namestitvenega programa. Za ostale platforme je na voljo izvorna koda, ki omogoča izgradnjo programa. Poskusil sem narediti program za Solaris, pa to žal ni šlo. Nimam dovolj potrpljenja, da bi se naučil uporabljati še en nov sistem za gradnjo programov. Wordgrinder za ta namen uporablja Ninja build system, ki je nekako povsem drugačen od običajno uporabljanih automake sistemov. Škoda. Na srečo zgleda, da program ni sestavljen iz veliko sestavnih datotek. Verjetno bi lahko ročno pripravil Makefile, ki bi omogočal enostavno gradnjo programa. + +Vgrajena je Lua. Skriptni jezik, ki je relativno priljubljen v zadnjem času, relativno enostaven za učenje in uporabo. To dejstvo kaže, da bi morda nekatere zgoraj opisane pomanjkljivosti lahko odpravili brez prevelikih posegov v sam program, lahko bi manjkajoče funkcionalnosti napisali v Lua skriptu. Za zdaj še nisem začutil želje, da bi se tega lotil, mogoče pa kdaj v prihodnosti. +## TL;DR + +Wordgrinder je zanimiv konzolni urejevalnik besedila. Ima nekaj najbolj osnovnih funkcij, ki omogočajo enostavno urejanje teksta, osnovne sloge in uporabna orodja. Nima tiskanja, ima pa izvoz v različne formate, tudi takšne, ki so namenjeni tiskanju. Gre za zanimiv program, ki ga je enostavno namestiti. Manjka mu veliko funkcionalnosti, na katere smo navajeni, vendar je to morda tudi njegova prednost. V vsakem primeru, se verjetno da primanjkljaj nadoknaditi tudi z programiranjem v skriptnem jeziku Lua. Vredno preizkusa. diff --git a/articles/2018-10-15_000-pinebook-64.gmi b/articles/2018-10-15_000-pinebook-64.gmi new file mode 100644 index 0000000..fb490b5 --- /dev/null +++ b/articles/2018-10-15_000-pinebook-64.gmi @@ -0,0 +1,31 @@ +# Pinebook 64 + +Pred časom sem kupil ta lepi beli računalnik. Stal je 100 dolarjev, torej poceni. Preden je s Kitajske, kjer ga proizvajajo, prišel v Slovenijo, je njegova cena zaradi poštnine, davkov in carin narasla na nekaj čez 130 evrov. Kar precej, ampak vse skupaj še vedno sprejemljivo. + +Pinebook je računalnik, ki temelji na Pine 64. To je mini računalnik, podoben Raspberry Pi. Kupiti je mogoče tudi ploščico, ta prenosnik pa je v bistvu samo komplet – ploščica, ohišje, napajalnik, baterija in zaslon. + +Računalnik ima vgrajen zaslon velikosti 14″, kamero, tipkovnico, sledilno ploščico, baterijo, ki zdrži kar nekaj ur normalne uporabe, ima čitalec MicroSD kartic, priključek za MiniHDMI, dva vhoda USB in luknjo za slušalke. Nad tipkovnico sta še dva mikrofona in tri statusne lučke (vklop, caps lock in num lock). +## Ohišje + +Plastika. Ni slabo, na otip prav prijetno. Dokaj fleksibilno, skoraj se malo preveč zvija. Ampak ne toliko, da bi bilo moteče. Vse ohišje je snežno bele barve, brez ene same oznake na zunanjosti. Ko odpremo pokrov prenosnika, nas znotraj pozdravi črn zaslon (ko je izklopljen), črna tipkovnica in črna sledilna ploščica. Nad zaslonom zeva črna luknja skozi katero gleda leča kamere. Občutek je takšen, StarWars Storm Trooperski. Pod zaslonom je edini napis “Pinebook”, ki nam pove, za kateri prenosnik sploh gre. +## Tipkovnica + +Milo rečeno zanič. Žal, računalnik mi je zelo všeč, lepo belo ohišje, črna tipkovnica in sledilna ploščica, odličen zaslon, ampak tipkovnica je zanič. Naj bom malo bolj natančen – tipkovnica ni natančna. Presledek deluje samo, če ga zadeneš pod pravim kotom, če so poravnane zvezde v obliki borovca in če je ura 3.27. V vsakem drugem primeru preslednica zataji. + +Razporeditev tipk. Za kak drug jezik, recimo angleščino, je verjetno razporeditev tipk povsem v redu. Za slovenščino ni ravno optimalna. Črka “ž” se ne nahaja na svojem običajnem mestu, pač pa v spodnji vrstici, takoj za preslednico in desnim Alt. To mesto je res neobičajno, tipka se ponavadi nahaja dve vrstici višje … ampak na to se še lahko nekako navadim. Besede, ki vsebujejo “ž” so vseeno redke. Razen če ti je ime Matjaž. +## Zaslon + +Zaslon je pri vsem skupaj je najbolj presenetljiv. Resni slab. Velik je 14″, resolucija pa znaša 1366×768 pik pri 63Hz. Nič posebnega za takšen prenosnik, ampak pri tej ceni, res ni slab. +## Sistem + +Prenosnik temelji na matični plošči Pine64. Na njej je procesor Quad-Core ARM Cortex A53. Štirijedrni 64-bitni procesor in dva gigabajta delovnega pomnilnika poskrbita, da zadeva deluje. Ne deluje hitro, niti ravno tekoče pod kakšno hudo obremenitvijo, ampak to niti ni namen tega računalnika. Pine64 je ploščica za igranje in z njo so naredili prenosnik. Še nekaj časa ne bo nadomestil MacBook Air, ki trenutno počiva na mizi. Cena se nekje mora poznati. + +Za kaj je torej ta prenosnik uporaben? Za pisanje tekstov kot je ta. Za delo v konzoli. Za pošiljanje e-pošte, lahko brskanje po spletu, mogoče za poslušanje glasbe. Zatakne se pri videu, zatakne se pri kakšnih večjih Youtube posnetkih … Včasih se zatakne tudi pri brskanju po spletu – Firefox je vse prej kot optimalna izbira, Chromium deluje veliko boljše. + +Operacijski sistem je Linux. Ubuntu 16.04 Xenial je trenutna različica. Posodobitve prihajajo občasno, vsekakor ne tako pogosto, kot pri mainstream Ubuntu … Nameščanje običajnih programov je enostavno, preko sistema apt. Nadgradnje jedra sistema pa ima Pinebook svoje. Vsebuje skripto, ki opravi, kar je treba, da se prenese nova verzija zagonske kode (bootrom) in jedra. Namizje je Mate. Kdor je kdaj v preteklosti uporabljal Gnome, mu bo to namizje dobro znano. Seveda pa je to Linux, kar pomeni, da je kakšno drugo namizje samo nekaj ukazov v konzoli stran. +## Moje mnenje + +Ta prenosnik ni ravno namenjen temu, da nadomesti običajni računalnik, to ne bo nikoli glavni računalnik, na katerem bi delal stvari, ki jih je treba narediti nujno, hitro, … To je bolj igrača. Lep je, kakšno stvar se tudi da narediti, na primer kaj spisati. Lahek je, lahko ga vzamem s sabo kamorkoli. Tipkovnica ni ravno dobra. Dolgo pisanje bi bilo kar mučenje, ker preslednica nedeluje preveč dobro. Če upoštevamo njegove omejitve in ceno (ki je res nizka), je lahko zanimiv razervni laptop, laptop, ki ga puščamo v pisarni, v avtu … ker nikoli ne veš kdaj pride prav en laptop, ki lahko vsaj pošlje en mail. +## TL;DR + +Pinebook 64 je poceni laptop, ki temelji na ARM 64 bitnem procesorju. Zgleda lepo, belo ohišje in črna tipkovnica. Zaslon ni slab, tipkovnica pač. Nekatere tipke niso dovolj odzivne, nekatere so na “čudnem” mestu. Ni slab za eksperimentiranje, zaresno delo pa … ja, ne bo nadomestil “resnih” laptopov. diff --git a/articles/2018-12-14_000-kako-odstranimo-solaris-zone.gmi b/articles/2018-12-14_000-kako-odstranimo-solaris-zone.gmi new file mode 100644 index 0000000..19321e8 --- /dev/null +++ b/articles/2018-12-14_000-kako-odstranimo-solaris-zone.gmi @@ -0,0 +1,110 @@ +# Kako odstranimo Solaris Zone? + +Zgodilo se je nekaj, kar se včasih pač zgodi. Ena od Solaris Zone je v nekem trenutku nehala delovati. Ne vem čisto točno, kaj se je zgodilo, vendar po eni nadgradnji sistema ni več želela sodelovati. Odpovedala je. Zagnala se je še, vendar spletna povezava ni funkcionirala. S tem pa niso delovale posodobitve, ni delovalo pridobivanje podatkov s spleta … Njeno bistvo je bilo … ga ni več bilo. Nekaj časa sem jo še pustil, za vsak slučaj. Od takrat je zdaj minilo že več kot eno leto, zato je prišel čas, da malo pospravim. Ne zaseda prav veliko prostora, mogoče zaseda nekaj pomnilnika in procesorske moči, ko se ob ponovnem zagonu strežnika zažene hkrati z drugimi Zone … Po nepotrebnem upočasnjuje ostale. Zdaj je prišel čas, da se poslovi. + +Najprej poglejmo, ali je Zone trenutno zagnana in kakšno je stanje: + +``` +matjaz@server:~$ zoneadm list -civ + ID NAME STATUS PATH BRAND IP + 0 global running / ipkg shared + 1 lxgit0 running /tank/zones/lxgit0 lx excl + 2 zrepo0 running /tank/zones/zrepo0 ipkg excl + 5 zweb1 running /tank/zones/zweb1 ipkg excl + 6 zrepo1 running /tank/zones/zrepo1 ipkg excl +``` + +Zone zrepo0 teče. Po zadnjem ponovnem zagonu sistema se je spet samodejno zagnala. To pomeni, da jo bo treba za začetek ugasniti. + +``` +root@server:~# zoneadm -z zrepo0 halt +``` + +In se je ugasnila. Sledi odstranitev sistema (uninstall) + +``` +root@server:~# zoneadm -z zrepo0 uninstall +Are you sure you want to uninstall zone zrepo0 (y/[n])? y +promoting 'tank/zones/zrepo0/ROOT/zbe-52'. +``` + +Sledi izbris zone: + +``` +root@server:~# zonecfg -z zrepo0 delete +Are you sure you want to delete zone zrepo0 (y/[n])? y +``` + +To je kar nekam hitro minilo, kar mi daje misliti, da verjetno ni uničilo ZFS datotečnega sistema. Pogledamo: + +``` +root@server:~# ls /tank/zones/ +lxgit0 zones.txt zrepo0 zrepo1 zweb1 +``` + +zrepo0 še vedno obstaja. Poskusimo ga ročno uničiti: + +``` +root@server:~# zfs destroy tank/zones/zrepo0 +cannot destroy 'tank/zones/zrepo0': filesystem has children +use '-r' to destroy the following datasets: +tank/zones/zrepo0/ROOT/zbe-23-backup-1@2018-08-07_22.00.11--6m +tank/zones/zrepo0/ROOT/zbe-23-backup-1@2018-09-08_22.00.01--6m +tank/zones/zrepo0/ROOT/zbe-23-backup-1@2018-07-02_07.00.01--6m +tank/zones/zrepo0/ROOT/zbe-23-backup-1@2018-07-21_22.00.01--6m +tank/zones/zrepo0/ROOT/zbe-23-backup-1@2018-10-29_07.00.14--6m +tank/zones/zrepo0/ROOT/zbe-23-backup-1@2018-07-14_22.00.03--6m +tank/zones/zrepo0/ROOT/zbe-23-backup-1@2018-12-10_22.00.01--6m +tank/zones/zrepo0/ROOT/zbe-23-backup-1@2018-08-24_22.00.01--6m +tank/zones/zrepo0/ROOT/zbe-23-backup-1@2018-11-16_22.00.00--6m +tank/zones/zrepo0/ROOT/zbe-23-backup-1@2018-08-07_07.00.01--6m +tank/zones/zrepo0/ROOT/zbe-23-backup-1@2018-12-03_07.00.12--6m +tank/zones/zrepo0/ROOT/zbe-23-backup-1@2018-08-02_22.00.00--6m +tank/zones/zrepo0/ROOT/zbe-23-backup-1@2018-08-21_07.00.00--6m +tank/zones/zrepo0/ROOT/zbe-23-backup-1@2018-11-30_22.00.01--6m +... +``` + +No, to ni delovalo. Dodati moramo še opcijo -r, da bo ukaz rekurzivno uničil vse podrejene zfs sisteme. Poskusimo: + +``` +root@server:~# zfs destroy -r tank/zones/zrepo0 +``` + +Ukaz si zdaj vzame nekaj časa za mletje. Vendar v nekem trenutku konča. Preverimo, ali je zfs sistem izbrisan: + +``` +root@server:~# ls /tank/zones/ +lxgit0 zones.txt zrepo1 zweb1 +``` + +Je. zrepo0 ni več na seznamu. Zdaj sledi še izbris virtualnega omrežnega vmesnika. Najprej pogledamo, s čim imamo opravka: + +``` +root@server:~# dladm show-link +LINK CLASS MTU STATE BRIDGE OVER +bge0 phys 1500 up -- -- +zrepo0 vnic 1500 up -- bge0 +lxgit0 vnic 1500 up -- bge0 +zweb1 vnic 1500 up -- bge0 +zrepo1 vnic 1500 up -- bge0 +``` + +zrepo0 je v tem primeru ime virtualnega vmesnika, ki ga moramo izbrisati. To naredimo tako: + +``` +root@server:~# dladm delete-vnic zrepo0 +``` + +Pa poglejmo, ali je vmesnik zbrisan s seznama: + +``` +root@server:~# dladm show-link +LINK CLASS MTU STATE BRIDGE OVER +bge0 phys 1500 up -- -- +lxgit0 vnic 1500 up -- bge0 +zweb1 vnic 1500 up -- bge0 +zrepo1 vnic 1500 up -- bge0 +``` + +zrepo0 več ni na seznamu. Zbrisan je. In s tem tudi zadnja sled, da je Zone zrepo0 sploh kdaj obstajala na tem sistemu. diff --git a/articles/2018-12-25_000-formatiranje-in-priklop-zunanjega-diska-v-omnios.gmi b/articles/2018-12-25_000-formatiranje-in-priklop-zunanjega-diska-v-omnios.gmi new file mode 100644 index 0000000..dbd8ef2 --- /dev/null +++ b/articles/2018-12-25_000-formatiranje-in-priklop-zunanjega-diska-v-omnios.gmi @@ -0,0 +1,126 @@ +# Formatiranje in priklop zunanjega diska v Omnios + +danes sem rabil zunanji disk za prenos večje količine podatkov s strežnika na drug računalnik. Načeloma je to enostavno, priklopiš disk, skopiraš datoteke in odklopiš disk. Ja … ni tako enostavno. Omnios ne podpira zelo veliko datotečnih sistemov, ki jih podpira Mac ali Windows. V bistvu se vsi trije srečajo samo na dveh – FAT16 in FAT32. Od teh dveh je FAT32 boljša izbira. + +Moj zunanji disk je WD My Passport, ki sem ga na zadnje uporabljal na MacOS-u kot backup disk. To pomeni, da je formatiran v APFS. Poleg tega si Mac ustvari še Efi particijo. Tudi ko disk formatiraš v FAT32 (kar MacOS zna), Efi particija ostane. Diska na Windowsu ni mogoče formatirati v FAT32 brez uporabe dodatnih orodij. Poskusil sem s tem orodjem. Ni delovalo. Efi particija je ostala. Treba bo poseči po “low level” orodjih. + +Opravila sem se lotil kar na Omnios. Najprej sem preveril, kako je priklopljen disk: + +``` +root@server:/mnt# diskinfo +TYPE DISK VID PID SIZE RMV SSD +SATA c1t0d0 ATA VB0250EAVER 232.89 GiB no no +SATA c1t1d0 WDC WD20EFRX-68AX9N0 1863.02 GiB no no +SATA c1t2d0 WDC WD20EFRX-68AX9N0 1863.02 GiB no no +SATA c1t3d0 WDC WD20EFRX-68AX9N0 1863.02 GiB no no +SCSI c2t0d0 WD My Passport 0748 465.73 GiB no no +``` + +Zadnja vrstica predstavlja moj zunanji disk. Kot vidimo je priklopljen na kontroler 2 (c2). Nadaljujemo z uporabo orodja fdisk. + +``` +matjaz@server:~$ sudo fdisk /dev/rdsk/c2t0d0p0 + + Total disk size is 60797 cylinders + Cylinder size is 16065 (512 byte) blocks + + Cylinders + Partition Status Type Start End Length % + ========= ====== ============ ===== === ====== === + 1 Active Ext Win95 1 60796 60796 100 + + + + +SELECT ONE OF THE FOLLOWING: + 1. Create a partition + 2. Specify the active partition + 3. Delete a partition + 4. Change between Solaris and Solaris2 Partition IDs + 5. Edit/View extended partitions + 6. Exit (update disk configuration and exit) + 7. Cancel (exit without updating disk configuration) +Enter Selection: 7 +``` + +Zgornji izpis že kaže novo stanje. Vendar pa je prej kazal nekoliko drugačno, tip particije je bil Efi. V meniju sem izbral “3” za brisanje particije. Program še vpraša, če res želiš vse pobrisati. Potrdiš z “y”. Temu sledi ustvarjanje nove particije z uporabo možnosti “1” iz menija. Program vpraša za vrsto particije: + +``` + Total disk size is 60797 cylinders + Cylinder size is 16065 (512 byte) blocks + + Cylinders + Partition Status Type Start End Length % + ========= ====== ============ ===== === ====== === + + + + + +SELECT ONE OF THE FOLLOWING: + 1. Create a partition + 2. Specify the active partition + 3. Delete a partition + 4. Change between Solaris and Solaris2 Partition IDs + 5. Edit/View extended partitions + 6. Exit (update disk configuration and exit) + 7. Cancel (exit without updating disk configuration) +Select the partition type to create: + 1=SOLARIS2 2=UNIX 3=PCIXOS 4=Other + 5=DOS12 6=DOS16 7=DOSEXT 8=DOSBIG + 9=DOS16LBA A=x86 Boot B=Diagnostic C=FAT32 + D=FAT32LBA E=DOSEXTLBA F=EFI 0=Exit? +``` + +Izberemo kar želimo, v mojem primeru možnost “C”. Program vpraša za velikost particije v odstotkih. Vpišemo “100”: + +``` + Total disk size is 60797 cylinders + Cylinder size is 16065 (512 byte) blocks + + Cylinders + Partition Status Type Start End Length % + ========= ====== ============ ===== === ====== === + + + + + +SELECT ONE OF THE FOLLOWING: + 1. Create a partition + 2. Specify the active partition + 3. Delete a partition + 4. Change between Solaris and Solaris2 Partition IDs + 5. Edit/View extended partitions + 6. Exit (update disk configuration and exit) + 7. Cancel (exit without updating disk configuration) +Specify the percentage of disk to use for this partition +(or type "c" to specify the size in cylinders). 100 +``` + +Program še vpraša, če naredi particijo primarno … spet potrdimo z “y”. Za izhod iz programa v osnovnem meniju izberemo možnost “7”. + +Zdaj pa sledi priklop diska v sitem, da bomo lahko nanj shranili naše podatke. To naredimo z naslednjim ukazom: + +``` +root@server:~# mount -F pcfs /dev/dsk/c2t0d0p1 /mnt +root@server:~# cd /mnt/ +``` + +Če je vse po sreči, je disk pravilno priklopljen. Za kratek test sem naredil eno mapo in eno datoteko na tem disku: + +``` +root@server:/mnt# mkdir matjaz +root@server:/mnt# cd matjaz +root@server:/mnt/matjaz# mkdir test +root@server:/mnt/matjaz# echo "Hello!">test/test.txt +``` + +Preverimo še, ali se mape in datoteke vidijo tudi v drugih operacijskih sistemih. Najprej odklopimo particijo iz sistema: + +``` +root@server:~# umount /mnt +``` + +Zdaj lahko disk varno izključimo iz USB vtičnice in ga prestavimo na drug računalnik. V mojem primeru so se novo ustvarjene mape in datoteke videle. Vse deluje kot mora. + diff --git a/articles/2018-12-28_000-kako-izbrisemo-zfs-snapshot.gmi b/articles/2018-12-28_000-kako-izbrisemo-zfs-snapshot.gmi new file mode 100644 index 0000000..b3158b9 --- /dev/null +++ b/articles/2018-12-28_000-kako-izbrisemo-zfs-snapshot.gmi @@ -0,0 +1,14 @@ +# Kako izbrišemo ZFS snapshot + +Snapshoti so ena oblika varnostnih kopij. Niso ravno nadomestilo za “offsite backup”, ampak so namenjeni bolj lokalnim nesrečam — po pomoti zbrisanim datotekam, iz čudnih razlogov izginulim dokumentom in podobno. Svoj sistem sem konfiguriral tako, da snapshote ustvari dvakrat na dan — enkrat zjutraj in enkrat zvečer. Snapshoti se hranijo pol leta, potem se avtomatično pobrišejo. + +Včasih želimo snapshot ročno zbrisati, še preden je potekel njegov rok hrambe. To naredimo tako: + +``` +matjaz@server:~$ sudo zfs destroy tank/zones/zweb1/ROOT/zbe-backup-1@2018-12-20_22.00.03--6m +Password: +``` + +Snapshot je zbrisan. Brisanje vzame precej več časa kot ustvarjanje snapshotov. Še dobro, da imamo za to tudi posebna orodja, kot je na primer zfsnap. + +=> https://www.zfsnap.org/ ZF-Snap diff --git a/articles/2019-01-01_000-silvestrovo.gmi b/articles/2019-01-01_000-silvestrovo.gmi new file mode 100644 index 0000000..9c34366 --- /dev/null +++ b/articles/2019-01-01_000-silvestrovo.gmi @@ -0,0 +1,8 @@ +# Silvestrovo + +Kaj je lahko bolj lep in bolj za 2018 primeren zaključek leta kot silvestrski vzpon na Šmarno goro? Nič. Zato je za tokratno Silvestrovo in pričakovanje novega leta še zadnjič v letu 2018 padla Šmarna gora. Seveda ponoči, zato so bile potrebne svetilke, zunaj pa je bilo tudi hladno, tako, da je bilo treba obleči opremo za polarno odpravo (no, skoraj). +Pogled na nočno Ljubljano s Šmarne gore + +Kot pričakovano je bilo gor veliko ljudi. V bistvu več kot na veliki šmaren. Veliko. Gor je bil seveda čas za čaj in ogled miniaturne Ljubljane v dolini. In njenih tisoč ognjemetov. Po kakšne pol ure je postalo kar malo prehladno. Gremo počasi domov. + +Pot nazaj je bila verjetno še bolj polna kot pot navzgor. Še več ljudi. Ampak je bilo pa zabavno. Leto je otvorjeno. diff --git a/articles/2019-01-10_000-nikoli-ne-pripisi-zlobi.gmi b/articles/2019-01-10_000-nikoli-ne-pripisi-zlobi.gmi new file mode 100644 index 0000000..1fde9f2 --- /dev/null +++ b/articles/2019-01-10_000-nikoli-ne-pripisi-zlobi.gmi @@ -0,0 +1,6 @@ +# Nikoli ne pripiši zlobi … + +> Never ascribe to malice that which is adequately explained by incompetence. +> Napoleon Bonaparte + +Nikoli ne pripiši zlobi stvari, ki jih je povsem zadosti mogoče razložiti z nesposobnostjo. diff --git a/articles/2019-01-11_000-prepiranje-na-internetu.gmi b/articles/2019-01-11_000-prepiranje-na-internetu.gmi new file mode 100644 index 0000000..be8b2b7 --- /dev/null +++ b/articles/2019-01-11_000-prepiranje-na-internetu.gmi @@ -0,0 +1,7 @@ +# Prepiranje na internetu + +> Arguing on the Internet is like competing in the Special Olympics. Even if you win, you’re still special. +> Anonymous + +Prepiranje na internetu je kot tekmovanje na posebni olimpijadi. Tudi če zmagaš, si še vedno poseben. + diff --git a/articles/2019-03-18_000-maribor.gmi b/articles/2019-03-18_000-maribor.gmi new file mode 100644 index 0000000..95e8f25 --- /dev/null +++ b/articles/2019-03-18_000-maribor.gmi @@ -0,0 +1,11 @@ +# Maribor + +Po dolgem času sem bil spet v Mariboru. V centru. Mesto je še vedno lepo, še vedno se počutim kot doma. Zdaj sicer že osem let živim v Ljubljani, ampak Maribor ima svoj čar in je vedno drugačen od Ljubljane. + +Ampak je kar malo depresivno, ko vidiš koliko sprememb na slabše se je zgodilo v vmesnem času. Cel kup trgovin, lokalov, ki so bili še pred nekaj leti živi in delujoči, zdaj sameva za zaprtimi vrati. Lokal za lokalom v samem mestnem središču je zaprt. Peko, Probanka, McDonalds, Panda … Na srečo je vsaj tudi nekaj novih. No, mesto se spreminja, spreminjanje je edina stalnica. + +Škoda da so trgovine v nedeljo zaprte. Jih je večina tudi v Ljubljani, ampak tukaj center zaradi tega ne umre. Nasprotno, ker ni odprtih trgovin, oživi vsa ostala ponudba. Mesto je vedno polno. Tudi v Mariboru ni bilo slabo, veliko ljudi je bilo v mestu, veliko družin z otroci. Ampak kaj drugega od kave in sladoleda se ni dalo dobiti. No, če je to vse kar rabiš, je tudi to v redu. + +Se je pa mesto kar malo polepšalo. Bolj urejeno je. Pred nekaj dnevi so pospravili neumne dežnike na tržnici, tako da jih v nedeljo sploh ni več bilo. Lent je lep in živahen, kot ponavadi. Škoda, da je povsem zaparkiran. Ljubljana je z zaprtjem centra za avtomobile pridobila veliko. Mogoče bi tudi Maribor, če bi imel pogumnega župana. + +Najbolj je navdušila Drava. Res se je lepo sprehoditi pod mostovi, po nabrežju. Labodi na vsakem koraku. To je to, to je prava stvar. diff --git a/articles/2019-05-04_001-zgornje-jezersko.gmi b/articles/2019-05-04_001-zgornje-jezersko.gmi new file mode 100644 index 0000000..9a06d57 --- /dev/null +++ b/articles/2019-05-04_001-zgornje-jezersko.gmi @@ -0,0 +1,8 @@ +# Zgornje Jezersko + +Četrtek je bil praznik. Drugi maj. In sončen dan. Končno malo prosto, končno malo časa za bolj konkreten izlet. Tokrat je bilo na vrsti Jezersko. + +Avto je ostal v centru, potem pa sprehod do Planšarskega jezera. To je majhno umetno jezero, ki pa je vseeno lepo. Voda je kristalno čista in hladna. Za kopanje še ni ravno prava. Sprehod okoli jezera gre po potki, ki gre tik ob jezeru. Je treba malo pazit, da ne padeš not. + +Po sprehodu je bil čas za kavo. In za še en sprehod. Šla sva do bližnje turistične kmetije, vmes je bilo nekaj časa za pogledat razgled na Skuto, Veliko babo in Grintovec. Vrhovi so bili malo v oblakih, ampak človek kar dobi ideje za naslednje izlete … pohode. + diff --git a/articles/2019-07-01_001-morje-2019-pars-prima.gmi b/articles/2019-07-01_001-morje-2019-pars-prima.gmi new file mode 100644 index 0000000..4f15281 --- /dev/null +++ b/articles/2019-07-01_001-morje-2019-pars-prima.gmi @@ -0,0 +1,12 @@ +# Morje 2019. Pars prima + +Letošnje dopustno obdobje se je začelo malo bolj zgodaj v primerjavi s prejšnjimi leti. Tokrat že sredi junija. Temperature so bile že povsem poletne, voda ravno prava, dežja ni bilo, tako da je bilo vse skoraj perfektno. Malo jo je zagodel avto, ki mu vročina in počasna vožnja v koloni očitno ne ustrezata. Ima raje hladnejše vreme. + +Slike povedo le del zgodbe, ki se je tokrat dogajala v Baški, na otoku Krku. Po treh urah vožnje, od katere smo se eno prebijali skozi zastoj na ljubljanski obvoznici, smo prispeli na Krk. Baška je na skrajnem koncu otoka. Apartma je bil v mirni ulici, pet minut od plaže. + +Arhitektura. Tipična primorska, podobna kot v Istri in drugod v Primorju. Res lepo. Najlepše sta obnovljeni stavbi šole in luške kapetanije. Najbolj pa navdušijo majhni trgi sredi mesta. In pristanišče. + +Pars prima. Tole je šele začetek. Letos bo vsaj še eno morje, vsaj še en teden toplega sonca. + +Teden dni morja hitro mine. Čisto premalo. Ampak tokrat ni bilo mogoče podaljšati. Delo je čakalo, dopust bi zaradi obveznosti skoraj odpadel. Ampak … ta država lahko na srečo preživi, tudi če me kak dan ni v službi. + diff --git a/articles/2019-07-02_000-vreme.gmi b/articles/2019-07-02_000-vreme.gmi new file mode 100644 index 0000000..9e643c5 --- /dev/null +++ b/articles/2019-07-02_000-vreme.gmi @@ -0,0 +1,17 @@ +# Vreme + +Te dni je zunaj res vroče. Poletje je v polnem razmahu, sonce žge na polno. Po več kot tednu dni neprekinjene vročine je danes končno malo deževalo. V Ljubljani že od konca maja ni zares deževalo. Nekajkrat po par kapelj, ampak brez kakšne osvežitve. Danes je končno prišlo malo dežja. Nevihta. Brez toče, na srečo, hvala ne bi popravljal avtomobila. +T-temperatura (°C); P-padavine (mm) + +Kako preživeti vročino? Predlagam selitev v kak velik trgovski center, v trgovino s hrano. Oddelek s hladilniki je prijetno hladen. To je poceni varianta. Malo boljša je voda. Lahko doma, pod tušem. Hladen tuš pomaga za kakšne pol ure, po tem pa stvar ponovimo. Boljša varianta je kakšno morje, jezero ali reka. Takšna ohladitev pomaga vsaj za nekaj ur, z malo sreče do konca dne. + +Sicer pa je treba uživati. Sonca bo kmalu zmanjkalo. Poletje je doseglo svoj vrh, dan se bo kmalu začel krajšati. In z njim sončna toplota in svetloba. Kmalu ga bomo spet pogrešali, ko bomo vstajali v temi in se v temi tudi vračali iz službe. Še prekmalu. Teh nekaj tednov, ki so še ostali, velja izkoristiti. + +Kako je nastal zgornji graf? Podatki, ki jih objavi ARSO se zbirajo na strežniku v zbirki podatkov. Od tam sem jih izbral z ukazom: + +``` +select domain_shorttitle, tsvalid_issued_utc, t, rr_val from arso where domain_shorttitle = 'LJUBLJANA - BEŽIGRAD' order by tsvalid_issued_utc desc limit 1000; +``` + +Podatke sem prenesel v OpenOffice.org Calc in jih pretvoril v graf. Graf sem s programom Draw shranil v sliko. + diff --git a/articles/2019-07-02_001-hrosc.gmi b/articles/2019-07-02_001-hrosc.gmi new file mode 100644 index 0000000..defb930 --- /dev/null +++ b/articles/2019-07-02_001-hrosc.gmi @@ -0,0 +1,12 @@ +# Hrošč + +Letos je bilo videti veliko hroščev. Večinoma tisti navadni nadležni majski in koloradski. Aaaaah … Med letenjem se ti zaletijo v glavo … kdo jim je dal letalske izpite? + +No, vsake toliko pa srečaš kakšnega malo bolj posebnega. Tale ni letel, komaj se je kaj premikal. + +Res lep, skoraj pet centimetrov velik … Veliki rogač. Tole je punčka, fantje imajo velike poudarjene čeljusti v obliki rogov. Ta zgleda, kot da je malo jezna, klešče ima grozeče odprte. + +Po dobre pol ure razkazovanja, je počasi odkorakala v grmovje in se skrila v travo. + +Hrošč. Pa tako lep. + diff --git a/articles/2019-07-20_000-dopustniski-jutranji-tek.gmi b/articles/2019-07-20_000-dopustniski-jutranji-tek.gmi new file mode 100644 index 0000000..ff4e8d8 --- /dev/null +++ b/articles/2019-07-20_000-dopustniski-jutranji-tek.gmi @@ -0,0 +1,8 @@ +# Dopustniški jutranji tek + +Zjutraj se je dalo tečt, vsaj malo. Kmalu je postalo prevroče tudi za dihanje, kaj šele za tek. Na srečo je na koncu morje. In tuš. Tako da se vsaj osvežiš. + +10 kilometrov, nazaj je šlo malo počasneje. Vidi se, da je bilo že res vroče. + +P.S. nove superge se kar obnesejo. Malo se že trgajo ob luknjicah vezalk, tako da ne bodo zdržale prav dolgo, ampak za svoj denar … bodo kar OK. Kalenji Run Comfort Grip. + diff --git a/articles/2019-07-20_001-morje-2019-pars-altera.gmi b/articles/2019-07-20_001-morje-2019-pars-altera.gmi new file mode 100644 index 0000000..3a64cdc --- /dev/null +++ b/articles/2019-07-20_001-morje-2019-pars-altera.gmi @@ -0,0 +1,18 @@ +# Morje 2019. Pars altera + +Dopust je spet tu. V tej sezoni je to že drugo morje. Tokrat Mareda. + +Vreme je bilo odlično, ves teden je sijalo sonce. Na trenutke je bilo kar malo prevroče. Na srečo je bilo vedno blizu morje, kjer se je dalo ohladiti. + +Apartma je bil zelo v redu. Če bi kak dan deževalo, bi bil udoben, tako pa sva v njem bolj ali manj samo spala in jedla. + +Kamp. Kamp je ogromen. Šotori, prikolice, avtodomi, mobilne hiške. Vidi se, da nekateri ljudje res uživajo v bolj indijanskem načinu preživljanja dopusta. + +Izleti. Mareda je blizu Novigrada. Pet kilometrov v eno smer. V mesto sva se dopoldne podala kar peš. V mestu so ogromna marina, trgovine in kavarne. Sladoled na vsakem koraku. Trgovine so … vse prej kot hitre. V eni sva čakala 10 minut na blagajni, ker je prodajalka kupki pred nama pozabila zaračunati eno od kupljenih stvari in je stornirala račun in začela od znova. Še dobro, da so imeli klimo in da je bilo vsaj prijetno hladno. + +Marina. Novigrad ima eno od večjih marin (če ne največjo) v Istri. Jadrnice in jahte, čolni in ladje … Kar prime me, da bi imel eno jadrnico in z njo odplul na morje. Mogoče pa nekoč, ko bom velik. + +Nazaj proti Maredi sva šla z vlakcem. Vlakec je ena taka posebna zgodba. V Maredi sva bila že nekajkrat in vedno sva gledala vlakec, ki pelje turiste iz Marede do Novigrada. Nazadnje je imel prometno nesrečo z nerodno parkiranim avtomobilom nekaj deset metrov pred obračališčem v Maredi. Že takrat sva se odločila, da se morava enkrat peljati. In sva se. Petkilometrska pot v žgočem popoldanskem soncu je bolj prijazna v vagonu, kot pa peš. + +Dajla. Jutranji tek. Dajla je majhna vas čisto blizu Marede. Ima srednjeveški samostan, ki zgleda nekako zapuščen … mogoče celo ni, ampak samo zgleda tako. Lep kraj, ki ga bo treba še malo raziskati. Pogledala sva nekaj samostanskih stavb in pristanišče … no, mogoče bolj pristan. Na poti nazaj sva naletela na nekaj divjih kampistov — ideja, če bo kdaj treba kje na hitro postaviti šotor. + diff --git a/articles/2019-07-28_000-avtopmatska-prepoznava-registrskih-tablic.gmi b/articles/2019-07-28_000-avtopmatska-prepoznava-registrskih-tablic.gmi new file mode 100644 index 0000000..f834c71 --- /dev/null +++ b/articles/2019-07-28_000-avtopmatska-prepoznava-registrskih-tablic.gmi @@ -0,0 +1,16 @@ +# Avtomatska prepoznava registrskih tablic + +ANPR (autpmatic numberplate recognition) je sistem za avtomatsko prepoznavanje registrskih tablic. Policija bi rada nabavila takšen sistem, ki bi ji omogočal, da ga montirajo v vozilo, to vozilo pa postavijo nekam (kamorkoli) kjer beležijo vse tablice vozil, ki gredo mimo. Gre za zbiranje velikih količin podatkov, ki bi policiji omogočali iskanje osumljenih za kazniva dejanja, iskanje ukradenih vozil in podobne stvari. Problem je, ker sistem zajame podatke o vseh vozilih, tudi tistih, ki pripadajo ljudem, ki niso kršili zakona. + +Gre za tako hud poseg v zasebnost, da se je Ustavno sodišče odločilo razveljaviti del Zakona o nalogah in pooblastilih policije, — določbe, ki so urejale ANPR. Presojo je zahteval Varuh človekovih pravic, ki je navedel, da je ureditev v zakonu v nasprotju s 35. in 38. členom Ustave (pravica do zasebnosti). + +Vlada je odgovorila, da je namen ANPR iskanje ukradenih vozil. Podatke o tablicah je mogoče primerjati z evidencami registriranih vozil, ukradenih vozil, ukradenih predmetov, evidenco vozniških dovoljenj in evidenco iskanih oseb). + +Sodišče je ugotovilo, da je sicer res, da je mogoče registrske tablice primerjati (preverjati) z navedenimi evidencami, problem je, da zakon tega ne določa. Po razlagi sodišča, je treba vsak korak obdelave osebnih podatkov določiti v zakonu, česar pa zakonodajalec v tem primeru ni naredil. Policija ima splošno pravno podlago, da dostopa do evidenc podatkov, tudi če je njihov upravljavec tretja oseba, vendar pa ta določba ne ureja obdelave osebnih podatkov, ki vključuje samodejni (avtomatizirani) dostop do podatkov ali samodejno primerjanje podatkov, kot ga je predvidel zakonodajalec. Neselektivno zbiranje osebnih podatkov in primerjanje z drugimi evidencami podatkov s sodobnimi tehničnimi sredstvi obdelave osebnih podatkov po naravi stvari pomeni preverjanje bistveno širšega kroga posameznikov. Gre torej za po obsegu in naravi za neprimerljivo drugačen način obdelave osebnih podatkov za namene policijskega dela, kot je sicer predvideno v prvem odstavku 115. člena ZNPPol. + +Sodišče ugotavlja, da zahteva iz 38. člena Ustave, da je obdelovanje osebnih podatkov predmet zakonskega urejanja, pomeni, da mora obstajati zakonska podlaga za vsako dejanje, ki se izvaja v zvezi z osebnimi podatki, torej za vsak korak obdelave, tako za samo zbiranje podatkov kot tudi za njihovo hrambo, dostop do njih, njihovo posredovanje, analiziranje, primerjanje in vse druge korake obdelave, ki jih ukrep predvideva. + +Določbe ANPR teh zahtev ne izpolnjujejo. + +Vsekakor zanimiva tema. Policija nima ustrezne pravne podlage za ANPR, zato ga zdaj še nekaj časa ne bo uporabljala. Po drugi strani je DARS brez pravne podlage takšen sistem montiral na celotni avtocesti, kjer ga uporablja za avtomatsko cestninjenje. + diff --git a/articles/2019-07-28_001-imsi-lovilci.gmi b/articles/2019-07-28_001-imsi-lovilci.gmi new file mode 100644 index 0000000..d3037d4 --- /dev/null +++ b/articles/2019-07-28_001-imsi-lovilci.gmi @@ -0,0 +1,12 @@ +# IMSI lovilci + +IMSI lovilec je naprava, ki deluje na podoben način kot bazna postaja mobilne telefonije. Oddaja signale, ki mobilne telefone v okolici prepričajo, da se povežejo nanjo. S tem, ko se telefoni povežejo na IMSI lovilec, naprava zazna kateri telefoni so v bližini in zabeleži njihovo IMSI številko (identifikator kartice SIM). Na ta način lahko uporabnik IMSI lovilca ugotovi, kateri telefoni so na določenem območju, jih poveže s podatki o naročnikih in tako ugotovi katere osebe so na določenem območju. Naprava je zanimiva za delo policije, saj jim omogoča, da ugotovijo, kdo se nahaja na območju (nadzor nad množico protestnikov) ali da potrdijo, ali je določena oseba na določenem mestu. S tem, ko premikajo napravo med določenimi mesti, kjer vedo, da se nahaja osumljenec, lahko tudi identificirajo njegov telefon in tako dobijo telefonsko številko, ki jo lahko uporabijo za prisluškovanje. Novejši IMSI lovilci omogočajo tudi prisluškovanje. + +Uporaba IMSI lovilca je prikriti preiskovalni ukrep, ki ga določa 150.a člen Zakona o kazenskem postopku. Omogoča zbiranje in obdelovanje osebnih podatkov iz zasebnega življenja posameznikov. Ti podatki so lahko podlaga za nadaljnje invazivne posege države v človekove pravice in temeljne svoboščine, nanašajo pa se na širši krog zavezancev. + +Ustavno sodišče je tehtalo interes posameznikov, ki jih ujamejo IMSI lovilci po zasebnosti in javni interes preiskovanja kaznivih dejanj in pregonu storilcev, s tem pa varstvo pravic žrtev. + +Pri presoji predloga za presojo ustavnosti poslancev, je Ustavno sodišče odločilo, da zadrži izvajanje 150.a člena, kljub temu, da predlagatelji tega niso izrecno predlagali. Sodišče je s tem dalo prednost zasebnosti posameznikov pred interesi preiskave. + +Sicer gre za sklep o začasnem zadržanju, ki velja dokler sodišče ne odloči o vsebini zahteve. + diff --git a/articles/2019-07-28_002-droni.gmi b/articles/2019-07-28_002-droni.gmi new file mode 100644 index 0000000..6afa607 --- /dev/null +++ b/articles/2019-07-28_002-droni.gmi @@ -0,0 +1,22 @@ +# Droni + +Te dni je Ustavno sodišče spet odločalo o zakonodajnih posegih v zasebnost. Tokrat so ustavni sodniki presojali Zakon o nalogah in pooblastilih policije v delu, kjer se določa uporaba dronov. + +Predlog za presojo ustavnosti je vložil Varuh človekovih pravic, ki je trdil, da je uporaba dronov neustavna, ker predstavlja prehud poseg v človekove pravice, policiji daje možnost uporabe dronov za izvajanje njenih pooblastil, kar glede na nedoločno stanje zakonodaje, pomeni skoraj vedno. + +Policija ima svoje pristojnosti in pooblastila določena v zakonu.Osnova je drugi odstavek 148. člena Zakona o kazenskem postopku, ki poleg nekaj izrecno naštetih nalog, določa, da mora policija ukreniti in storiti drugo, kar je potrebno da se izsledi storilec kaznivega dejanja, da se storilec ali udeleženec ne skrije ali ne pobegne, da se odkrijejo in zavarujejo sledovi kaznivega dejanja in predmeti,ki utegnejo biti dokaz in da se zberejo vsa obvestila, ki bi utegnila biti koristna za uspešno izvedbo kazenskega postopka. + +Varuh človekovih pravic določbo razume kot blanketno določbo,ki policiji daje možnost, da na njeni podlagi uporabi vsa svoja pooblastila. Po razlagi Varuha bi policija lahko določbo drugega odstavka 148. člena ZKP v kombinaciji z določbami Zakona o nalogah in pooblastilih policije zlorabila za olajšanje svojega dela na račun zasebnosti državljanov. Tretja alineja 113. člena ZNPPol namreč določa, da lahko policija drone uporablja tudi za dokazovanje kaznivih dejanj in prekrškov in identificiranje kršiteljev oziroma storilcev.Po mnenju Varuha to pomeni, da bo policija lahko dron uporabljala praktično pri vseh svojih aktivnostih, že zgolj zato, ker so usmerjene v dokazovanje kaznivih dejanj in prekrškov. + +Ustavno sodišče se s tem ni strinjalo. Ugotovilo je, da brezpilotni letalnik ni novo tehnično sredstvo, temveč le nova platforma, podobno kot na primer helikopter. Na to platformo pa se lahko namestijo tehnična sredstva. Nadalje je ugotovilo da iz razlage zakona izhaja, da je letalnik mogoče uporabljati le za reaktivno delo policije, ne pa tudi za preventivno delo. Določbe zakona uporabo omejujejo na natančno naštete naloge (iskanje oseb, zagotavljanje varne izvedbe postopkov, spremljanje zakonitosti postopkov,preprečevanje nezakonitih prehodov državne meje, za prikrite preiskovalne ukrepe, za opravljanje ogledov ter za varovanje oseb in objektov). + +Problematična alineja, ki določa, da se letalniki lahko uporabljajo za dokazovanje kaznivih dejanj in prekrškov in identificiranje kršiteljev oziroma storilcev pomeni, da se lahko dron uporablja samo za ukrepe,ki neposredno zasledujejo navedeni namen, torej ko je do kaznivega dejanja ali prekrška že prišlo, ni pa ga mogoče uporabljati za ugotavljanje kaznivega dejanja ali prekrška (preventivno delo). + +Ustavno sodišče je ugotovilo še, da na brezpilotni letalnikni dopustno namestiti drugih naprav, razen tistih za foto, avdio in video snemanje (prepovedano je nameščanje merilnikov hitrosti za nadzor prometa,prepovedano je nameščanje sistemov za avtomatsko zaznavo registrskih tablic (ANPR) in prepovedano je nameščanje oborožitvenih sistemov). Izrecno je zapisalo, da uporaba tehničnih sredstev ni dopustna v okviru splošne preventivne dejavnosti policije, ki bi šele vodila do odkritja posameznega prekrška ali kaznivega dejanja. + +Odločba je zanimiva še v delu, ki se dotakne drugega odstavka 148. člena Zakona o kazenskem postopku. Ta kot že zapisano, ta določa,da mora policija ukreniti in storiti drugo,kar je potrebno da se izsledi storilec kaznivega dejanja, da se storilec ali udeleženec ne skrije ali ne pobegne, da se odkrijejo in zavarujejo sledovi kaznivega dejanja in predmeti, ki utegnejo biti dokaz in da se zberejo vsa obvestila, ki bi utegnila biti koristna za uspešno izvedbo kazenskega postopka.Varuh določbo razume kot generalno klavzulo, ki policiji daje možnost, da uporabi svoja pooblastila, ali pa da izvrši katerokoli ravnanje, ki bi bilo potrebno,tudi tisto, ki v zakonu ni posebej urejeno. + +Da tudi policija določbo razume enako kot Varuh, ni treba posebej poudarjati. Na podlagi te določbe policija pridobiva na primer podatke o uporabnikih spletnih forumov, kljub temu, da so upravljavci dolžni varovati osebne podatke in jih lahko razkrijejo le, ko je podana ustrezna pravna podlaga (sklep sodišča). + +Ustavno sodišče je v tem delu jasno zapisalo, da sme policija izvrševati le taksativno našteta pooblastila, kijih mora uporabljati zakonito,ob pogojih in na način, določen v zakonih. Izven okvirov policijskih pooblastil, določenih z zakonom, policija torej ne sme opravljati svojih aktivnosti. + diff --git a/articles/2019-08-03_000-pisalni-stroj-olympia-monica.gmi b/articles/2019-08-03_000-pisalni-stroj-olympia-monica.gmi new file mode 100644 index 0000000..bd71152 --- /dev/null +++ b/articles/2019-08-03_000-pisalni-stroj-olympia-monica.gmi @@ -0,0 +1,20 @@ +# Pisalni stroj Olympia Monica + +Pod roke mi je prišel pisalni stroj Olympia Monica. Eden izmed mlajših mehanskih strojev, nekje iz sedemdesetih let. Kasnejši so bili že električni, ta pa je povsem mehanski. Izdelek nemške tovarne, ki je proizvajala pisarniške stroje skoraj sto let. In kolikor berem, so to bili eni boljših strojev na svetu. + +Ta Monica je bila v kar dobrem stanju. Videlo se je, da so prejšnji lastniki v njeni okolici kadili, na njej je bila kakšna tona katrana. Malo je bila tudi zaprašena. Kakšne tri dni sem jo čistil. Izkaže se, da je to najlažje z vlažnimi krpicami za pomivanje tal. Čistilo na njih dela čudeže. Še največ težav je povzročal ostanek nalepke na ohišju. Po desetletjih sem bil očitno prvi, ki ga je posušeno, porumenelo lepilo motilo. Spravil sem ga dol. Ni je stvari, ki je malo WD40 ne odlepi. Nekaj kapljic in nekaj brisanja s papirnato brisačo, pa je petdeset let stara nalepka izginila. Najboljši del je, da plastike in logotipa, ki je bil čisto blizu nalepke, nisem poškodoval. Dobro opravljeno. + +Sledilo je čiščenje notranjosti. Stroj je dokaj zaprt, težko prideš zraven. Nekaj prahu sem posesal kar s sesalcem, ostalo pa odstranil na vse mogoče načine. Palčke z vato to kar uporabne. In krpice za prah tudi. Po kakšnih dveh ali treh urah je bil stroj od znotraj dokaj čist. Še vseeno se je tu in tam pojavil kak kosem prahu, ki ga je bilo treba odstraniti. + +Da bi dobil povsem funkcionalen stroj, je bilo treba menjati tudi pisalni trak. Toner bi rekli danes. Včasih si šel v papirnico in ga kupil kadarkoli si ga pač rabil. Proizvajal jih je Aero, tako da so bili vedno nekje blizu. No, danes je to cel projekt — nakup prek interneta, na katerega čakaš kak teden. In seveda ga ne proizvajajo pri nas, pač pa na Kitajskem, kupiš ga pa pri francoskem prodajalcu. + +Po menjavi traku je stroj oživel. Še papir in sem že pisal. Presenetilo me je, kako udobna je v bistvu tipkovnica pisalnega stroja. Mehanske tipke, ki jih moraš zadeti s pravo silo, da se na papir prenesejo znaki, pa vseeno ne preveč, da bi pike in vejice v papir naredile luknje. Malo počasneje gre, kot z računalniško tipkovnico. In vse je treba malo bolj premisliti, ker ni tipke za izbris. Izbrišeš lahko … z uporabo belila. Nekaj ga je bilo še vedno popacanega na valju. + +Stroj so menda uporabljali v delavnici, kjer je oče prejšnjega lastnika imel obrt. S strojem je občasno izpisal kak račun. Tudi zato je bil lepo ohranjen. Manjka samo zadnji naslon za papir, ki se je očitno nekoč odlomil. + +Stroj je izdelan iz kovine, razen ohišja, ki je iz plastike. Kremno bel zgornji del ohišja je lepo obdržal svojo originalno barvo, prav nič ni porumenel. Prav veliko sonca ni videl. Ko ni v uporabi se stroj zapre v kovček. Plastični pokrov pokrije zgornji del stroja in skupaj s spodnjim tvori močno lupino. Ročaj na pokrovu omogoča relativno enostaven transport. Vse skupaj je zelo robustno in močno. Vseeno ga ne bi bilo dobro metati po tleh. + +Olympia Monica je eden izmed vstopnih modelov. Nima veliko funkcij. Izbirnik barve traku je v bistvu edina takšna stvar. Mogoče še Margin Release (tipka, ki omogoča pisanje čez prednastavljeni rob). Nima tabulatorjev, ki jih imajo dražji modeli. Nima tipke z znakom za število “1” ali za število “0”. Prvo dobimo z malo črko “L”, drugo pa z veliko črko “O”. Na ta način so na tipkovnico spravili še nekaj posebnih znakov, ki jih sicer ne bi. Takšna tipkovnica je bila značilna za starejše modele, pa tudi za cenejše. + +Stroj ni prav velik. Ampak niti ni prav majhen. V stanovanju zaseda nekaj prostora. Zato sem ga podaril. Moniki. Monica za Moniko. Upam, da bo na njem spisala kakšen roman. + diff --git a/articles/2019-08-05_000-kolo.gmi b/articles/2019-08-05_000-kolo.gmi new file mode 100644 index 0000000..0d44658 --- /dev/null +++ b/articles/2019-08-05_000-kolo.gmi @@ -0,0 +1,3 @@ +# Kolo + +S kolesom imam zadnje čase kar težave. Pa ne s kolesom, ampak v bistvu z aplikacijo za merjenje poti. Do sedaj sem uporabljal Wahoo Fitness, ki je bil kompatibilen s senzorjem kadence, hitrosti in srčnega utripa. Vse je delovalo super, vključno z nalaganjem podatkov v aplikacijo Strava. No, v letošnji sezoni ima težave. Mislil sem, da je problem v mojih nastavitvah, ampak po dobrem pregledu ne najdem nobene možne nastavitve, ki bi lahko povzročala težave. Aplikacija namreč ne beleži lokacije in s tem ne beleži poti. Ima podatke o pretečenem času, o hitrosti, kadenci in srčnem utripu, nima pa podatkov o lokaciji. Kar je v bistvu čudno, ker ves čas kaže, da ima odlično povezavo GPS. No, na srečo senzorji delujejo tudi v Stravi neposredno. Danes sem za prvi del poti od doma do Vižmarij uporabil Wahoo, ki pa ni posnel ničesar. Od tam naprej sem uporabil Stravo. In je delovalo. Zanimivo. Očitno bom menjal aplikacijo. diff --git a/articles/2019-09-02_000-streznik-je-umrl-naj-zivi-nov-streznik.gmi b/articles/2019-09-02_000-streznik-je-umrl-naj-zivi-nov-streznik.gmi new file mode 100644 index 0000000..43718df --- /dev/null +++ b/articles/2019-09-02_000-streznik-je-umrl-naj-zivi-nov-streznik.gmi @@ -0,0 +1,34 @@ +# Strežnik je umrl. Naj živi nov strežnik + +Po petih letih je prišel ta čas. Vedel sem, da bo prišel, vendar sem upal, da ne ravno zdaj. Pa je. Strežnik je odpovedal. Nekega lepega dne, ko me ni bilo doma je sredi dne napajalnik odšel v večna lovišča. Ne vem čisto točno, kaj vse je umrlo skupaj z napajalnikom, upam, da nič drugega. V tem primeru bo mogoče zadevo ponovno usposobiti. Sicer pa upam, da so preživeli vsaj diski. + +## Backupi + +Ja … ni jih bilo. Ta strežnik je pač velika igrača in prostor, kamor se delajo backupi. Pa dobro, saj podatki po vsej verjetnosi niso izgubljeni. So samo nedostopni. Zdaj vidim, da bi sicer prišle prav vsaj varnostne kopije konfiguracije spletnega strežnika in strežniških certifikatov. No, to bom v bližnji prihodnosti vzpostavil. + +## Nov strežnik + +Novega strežnika za zdaj še ni. Na starem Mac-Mini sem vzpostavil virtualko in v njo namestil zadnjo različico SmarOS. Spletno stran sem se odločil postaviti v nekem drugem okolju, ne več v WordPress. Če (ko) mi uspe obuditi stari strežnik od mrtvih, bom verjetno nadaljeval z uporabo WordPress-a, ker je pač že ravno nameščen. No, mogoče bi vseeno stvar počasi preselil na to novo zadevo – Docute … ali pa mogoce Docsify. + +## Docute ali Docsify + +Ja, ne gre ravno za tipično spletno stran namenjeno blogu. Pri obeh v naslovu navedenih programih gre bolj za sistem za objavo tehnične dokumentacije, navodil za uporabo. Ampak strani, ki jih ta sistema generirata, so čiste, lepe, lahko berljive. Všečne. Zakaj ne bi tega sistema uporabil za blog? Edini odgovor so morda fotografije. Nisem prepričan, da jih je prav enostavno vstaviti v to zadevo. + +### Prednosti: + +* eleganten dizajn +* spisan v NodeJS +* vsi članki so spisani v Markdownu +* urejanje kar iz ukazne vrsitce + +### Slabosti: + +* nisem prepričan kako vstaviti slike, da bo zadeva lepo delovala +* ni spletnega urejevalnika + +Kateri je boljši? Docsify ali Docute? Težko je reči brez vsaj malo testiranja. Na prvi pogled mi je bolj všeč Docsify, ker lahko tudi menu in stransko vrstico urejam kot markdown, na povsem enak način kot posamezne vsebinske strani. Na drugi strani Docute te stvari ureja v javascript datoteki. V nobenem primeru ni nemogoče urediti teh elementov strani, ampak za začetek bom nekaj časa posvetil Docsify, prav zaradi te razlike. + +## Pod črto + +Skratka … nov strežnik, nov sistem. Enkrat je treba poskusiti nekaj novega. Smrt strežnika je tako postala priložnost za malo eksperimentiranja in učenja. Kaj smo se naučili do sedaj? Rabim varnostne kopije konfiguracije strežnika. Rabim mogoče celo zrcalni strežnik v obliki virtualke (nekje, na enem drugem računalniku). Mac-Mini je tih. Res tih. Star strežnik ni bil glasen, ampak ni pa tih. Virtualka na Mac-Mini je počasna. Reeeeeesssss počaaaaaasnaaaaaaaaaa. Še bolj. Ampak dela. Inštalacija teče čez noč, ampak ker je Mac tako tih, nikogar ne moti. + diff --git a/articles/2019-09-06_000-spletna-stran.gmi b/articles/2019-09-06_000-spletna-stran.gmi new file mode 100644 index 0000000..f524fa4 --- /dev/null +++ b/articles/2019-09-06_000-spletna-stran.gmi @@ -0,0 +1,39 @@ +# Spletna stran + +Strežnik je kot že rečeno, umrl nenadne smrti. Zdaj sem se nekaj časa ukvarjal z vzpostavitvijo vseh stvari, ki sem si jih zamislil za nov strežnik. Med drugim sem: + +* zgradil nginx +* zgradil postgres +* namestil node-js +* namestil spletno stran Docsify + +Nginx sem zgradil z eno tako generično konfiguracijo. Mogoče se bo treba še malo igrati, da najdem ta pravo. Za zdaj vem, da bi rabil vsaj en dodaten modul (more_clear_headers), ki omogoča čiščenje določenih zaglavij strežniških odgovorov. + +Node-js nisem gradil sam. Pa verjetno še bom. Za zdaj je nameščena različica z uradne spletne strani. S tem sicer ni nič narobe, deluje povsem v redu. + +Postgres je pripravljen. Za zdaj ne dela ničesar, nisem ga še skonfiguriral, samo prevedel in namestil. Mogoče bi poskusil tokrat vzpostaviti cluster. Za hec. + +Sama spletna stran je narejena v javascriptu. Sistem Docsify se je v testiranju dobro obnesel. Deluje hitro in preprosto, strani pa se pripravljajo v Markdownu. Pišem jih kar v terminalu na tablici ali na računalniku. + +## Strojna oprema + +Ker je stari strežnik, ki je bil posavljen na HP Proliant Microserver Gen 7 NL36 umrl, sem novega postavil na Mac Mini. V OS X sem namestil VirtualBox, v tega pa OmniOS. + +## Konfiguracija Nginx + +Začel sem z dobro osnovno konfiguracijo, ki jo zgenerira spletno orodje nginxconfig.io. Po tem je bilo treba pridobiti nov certifikat, za kar sem uporabil LetsEncrypt. Uradno orodje za prevzem certifikatov nazadnje na OmniOS ni delovalo. Zato sem uporabil acme.sh. Konfiguracijske datoteke je bilo treba malo popraviti, da so ustrezale moji namestitvi, ampak to je šlo kar hitro. + +Sledil je najbolj zafrknjen korak. Uskladitev delovanja nginx in node-js. Nginx deluje v načinu proxy-pass, treba pa je pravilno nastaviti vse parametre aplikacije in strežnika. Največ težav so povzročale content policy in proxiranje web socket. Z nekaj googlanja sem našel tudi prave nastavitve za te zadeve. + +## Nastavitve Docsify + +Docsify lahko deluje kot javascript aplikacija. Ena sama stran, ki vso logiko izvaja v brskalniku. S strežnika zgolj prenaša Markdown datoteke. Za to lahko uporabimo tudi strežnik brez php ali node … Čisto navaden strežnik. Lahko pa Docsify deluje tudi tako, da strani sestavi na strežniku. Server side rendering, kot se temu reče. Ta način je menda malo boljši za Search Engine Optimisation. In sem nastavil SSR. + +Seveda ni šlo brez zapletov. Brez branja izvorne kode, ne bi prišel nikamor. + +## Pot naprej + +V bližnji prihodnosti bom vsaj Docsify in node-js prestavil v kontejner. V solaris zone. To ga bo malo dodatno izoliralo in dodatno zavarovan. prav tako bom v kontejnerje postavil podatkovni in spletni strežnik. Ko usposobim fizični server bom vse skupaj počasi preselil tja in v novo spletno stran preselil še vsebino bloga. + +Kakorkoli že, zveni zabavno. Točno zato imam strežnik. + diff --git a/articles/2019-09-11_000-wordgrinder.gmi b/articles/2019-09-11_000-wordgrinder.gmi new file mode 100644 index 0000000..6a12e35 --- /dev/null +++ b/articles/2019-09-11_000-wordgrinder.gmi @@ -0,0 +1,38 @@ +# Wordgrinder + +Že pred časom sem odkril Wordgrinder. Gre za konzolni urejevalnik besedil. Nekakšen Word za konzolo. Kdor se še vsaj približno spomni programov kot so Wordstar ali WordPerfect za DOS, ve o čem govorim. + +Wordgrinder deluje v konzoli Unixu podobnih sistemov in Windowsa. Napisan je v C in skriptnem jeziku Lua, za vmesnik pa uporablja knjižnico Curses. Podpira kodni nabor UTF-8, tako da brez težav prebavi tudi naše posebne znake. Besedilo zna shraniti v različnih formatih. Osnova je lastni format programa, ki deluje kot nekakšna knjižnica ali zbirka dokumentov. Sicer pa zna dokumente izvoziti v kar nekaj formatih: HTML, ODT, Markdown, navadno tekst, Latex in Troff. + +Na zaslonu se ob zagonu pojavita dve črti, ki označujeta začetek in konec datoteke. Ker je dokument prazen, sta zelo blizu vsaka sebi. Na dnu nas pričaka še vrstica stanja, ki nam prikazuje koliko besed smo zapisali in še nekaj podrobnosti o statusu. + +Do menija dostopamo s tipko Esc. Po meniju se pomikamo s smernimi tipkami, izbiro pa potrdimo s tipko Enter. + +## Kaj je dobrega + +Ni motečih faktorjev. Zaslon je praktično prazen. Meni je skrit dokler ga ne rabimo in ga prikličemo. Ni orodnih vrstic s številnimi gumbi. Ni morja slogov v katerih se uporabnik izgubi in predvsem izgubi svoj čas. Čas, ki bi ga bilo bolje nameniti pisanju. Odsotnost motečih elementov je prava spodbuda za pisanje. Seveda Wordgrinder ne bi bil urejevalnik besedila, če bi ne poznal vsaj osnovnih slogov besedila. Jih pozna. Pozna naslove in podnaslove, krepko, poševno in podčrtano besedilo, tukaj pa se počasi zaključi. To je vse kar v resnici rabimo. S tem se da naredi skoraj vse. + +Odsotnost dodatnih funkcij je na prvi pogled problematična. Navajeni smo uporabljati moderne pisarniške programe. Ko pa se zavemo, da uporabljamo le relativno omejen nabor funkcionalnosti, nas ta skopost več ne preseneča. V bistvu deluje kar malo sproščujoče. + +Res dobra stvar je, da program deluje v konzoli. Urejevalnikov besedil, ki delujejo v okenskem načinu je ogromno. Word, Writer, AbiWord, WordPerfect … teh programov je veliko. V konzoli jih niti ni. Časi, ko so velike programske hiše proizvajale programe za Unix konzole, so nepreklicno mimo. Nekoč davno tega so bili na voljo MS Word, WordPerfect, Wordstar in mogoče še kakšen. Danes jih praktično ni. Z izjemo Wordgrinderja. + +## Kaj je slabega + +Zares slabih stvari ni veliko. V resnici je program dokaj drugačen, tako da ga je težko primerjati z drugimi programi. Prav tako bi bilo nepošteno primerjati ga s programi izpred dvajsetih, tridesetih let, ko so bili konzolni urejevalniki besedil “mainstream”. + +V resnici pogrešam le malo več možnosti nastavitev. Mogoče bi bile dobrodošle nastavitve tipkovnice, da bi bilo mogoče vsaj nekatere funkcije uporabiti brez uporabe menija. Na primer izbira besedila, označevanje s krepko in podobno. Zanimivo bi bilo imeti možnost uporabiti tipkovnične bližnjice kot jih je poznal program Wordstar. Sumim, da je vsaj del teh želja mogoče uresničiti s kakšno skripto v skriptnem jeziku Lua, vendar se bo treba nekoliko poglobiti v delovanje programa. In jezika. Lue niti ne poznam prav veliko. + +## Kako sem program pripravil do delovanja + +Za začetek naj povem, da na domačem strežniku, kjer uporabljam ta program, teče OmniOS. Gre za distribucijo Illumosa. To je sistem, ki je naslednik OpenIndiane, vsi pa sodijo v družino sistemov, ki izvirajo iz Solarisa. Solaris … Wordgrinder za Solaris ni na voljo v predpripravljeni obliki, ki bi jo namestil iz upravljalnika paketov. + +Za začetek je bilo treba usposobiti sistem za izgradnjo. Wordgrinder uporablja sistem Ninja. Tako je bilo treba za začetek prevesti in namestiti Ninja. Ko je to uspelo je bilo treba pripraviti tudi paket Ncursesw. Pri tem je treba paziti, da vklopimo podporo za wide character (UTF-8). Z vsemi temi predpogoji, je bilo mogoče zgraditi tudi Wordgrinder. Kljub vsemu je bilo treba tudi nekaj ročnih popravkov datoteke Makefile. + +Gradnja tega programa je bila kar zabavna. Ni trajalo dolgo, ampak … če bi se spomnil vseh trikov, ki sem se jih naučil že zadnjič, bi mi to olajšalo delo tokrat. Mogoče bi moral nekam zapisati navodila. + +## Zaključek + +Wordgrinder je zanimiv majhen program, majhen urejevalnik besedil. Ni ravno konkurenca Wordu, je pa dovolj uporaben, da v njem nastane tudi kakšno bolj resno besedilo. Ne bo nadomestil Worda. razen na konzoli. Tukaj je v bistvu edina opcija. + +Wordgrinder je zanimivo alternativno orodje. Če želimo pisanje brez motečih faktorjev, zna biti zelo uporaben. In še: ta članek je napisan v Wordgrinderju. + diff --git a/articles/2019-09-23_000-kako-deluje-ta-drzava.gmi b/articles/2019-09-23_000-kako-deluje-ta-drzava.gmi new file mode 100644 index 0000000..2cf6a35 --- /dev/null +++ b/articles/2019-09-23_000-kako-deluje-ta-drzava.gmi @@ -0,0 +1,22 @@ +# Kako deluje ta država + +Javni sektor je sestavljen iz več delov, več podsistemov. V teoriji ga delimo na tri veje oblasti: zakonodajno, izvršilno in sodno. Zakonodajna in izvršilna se delita še na dve ravni: državno in lokalno raven. Druga delitev je glede na porabo proračuna – neposredni proračunski uporabniki in posredni proračunski uporabniki. V prvo spadajo državni organi in občine, v drugo pa javni zavodi, javne gospodarske družbe (šole, vrtci, bolnišnice, komunalna podjetja …). + +Zaposlenih je veliko. Po zadnjih podatkih že 172.000. Ampak velik del odpade na posredne proračunske uporabnike. V ožji državni upravi je zaposlenih okoli 42.000 ljudi. Od teh 42.000 je okoli 1.500 funkcionarjev in 17.300 državnih uradnikov. To je ta skupina ljudi, ki delajo na ministrstvih, občinah, policiji, vojski, na sodiščih in v samostojnih državnih organih. Karierni uradniki. Skrbijo, da država deluje, da se zakoni sprejemajo, da se rešujejo sodni spori, da se kriminalci najdejo, obsodijo in zaprejo, da se pripravijo načrti za investicije, politike, prostorski načrti, … + +Uradniki niso izvoljeni, niso imenovani. So uslužbenci. Srednji razred. V službi ostanejo tudi ko se vlade zamenjajo. Delajo enako zagnano, ko so na oblasti leve ali desne vlade, delajo za državo. Politiki in funkcionarji pridejo in gredo, prinesejo svoje poglede na prioritete, svoja načela, uradniki pa zagotavljajo kontinuiteto jedra države. + +Glavna naloga uradnikov je zagotavljati podporo funkcionarjem, izvoljenim ali imenovanim predstavnikom ljudstva, pri njihovem delu. Pogosto gre za ljudi, ki se z določenim področjem ne ukvarjajo poklicno. Poslanci rutinsko odločajo in razpravljajo o zakonodaji s področja, ki ga zares ne poznajo. Ne poznajo ga niti župani, občinski svetniki, včasih celo ministri. Sodniki občasno sodijo o zadevah, ki jih zares poznajo le ozko specializirani strokovnjaki, nekatere državne organe pa vodijo čisti amaterji. Funkcionarji bi brez podpornih služb ostali na suhem, država pa ne bi opravila svojih nalog. + +Uradniki so del sistema delovanja te države. Sistem deluje sam od sebe, uradniki lahko izpolnjujejo svoje naloge ne glede na trenutno vodstvo. Nalog je vedno dovolj. Sistem je mogoče voditi, z njim upravljati. To vodenje je v rokah funkcionarjev. Ko ni politične vizije in dobrega vodstva na vrhu, se podsistemi organizirajo sami in tako tudi delujejo. Včasih sistem deluje kljub vodstvu, ne zaradi vodstva. Dokaj redko se v zadnjih časih zgodi, da na vodilna mesta, na funkcije izvolimo ali imenujemo ljudi, ki znajo sistem usmeriti v nove dobre smeri, prav zato ta večji del časa deluje po inerciji, politike pa se kreirajo na nižjih nivojih. Prav zato temu uradniškemu razredu nekateri rečejo strici iz ozadja ali globoka država. + +Nekje sem prebral, da nam Slovencem uspe vedno izvoliti šibko vlado in da je to pravzaprav dobro. Nobena stranka ne dobi absolutne večine, nobena stranka ne dobi takšne moči, da bi državo urejala po svoji podobi. Težko si je predstavljati državo, ki bi jo vodila izključno ena stranka, ki bi imelavso moč v svojih rokah. Stranka, ki bi sama sestavila vlado, ki bi pripravljala zakonodajo skladno s svojim svetovnim nazorom, stranka, ki bi imela dovolj glasov v parlamentu, da bi sama sprejemala svojo zakonodajo, stranka, ki bi in potem sprejeto zakonodajo tudi izvajala. + +Takšne vlade si verjetno ne želimo. Naš volilni sistem nam zagotavlja zmerne vlade, ne glede na to, ali so na oblasti predstavniki leve ali desne politične opcije. Zmerne vlade, ki težko zares prevzamejo vajeti v svoje roke, vlade, ki namesto revolucije izvajajo evolucijo. To nam zagotavlja stabilnost in preprečuje veliko nihanje v levo ali v desno, kakršnemu smo priča v sosednjih državah. + +Ob šibkih vladah v resnici vlada uradniški sloj. Ta pripravlja zakonodajo in politike ter jih tudi izvršuje. Politiki in funkcionarji se omejujejo na bolj ali manj uspešno usmerjanje sistema. + +Težava, ki nastopi zaradi tega, je pomanjkanje odgovornosti. Politiki (funkcionarji) sami pravzaprav ne sprejemajo pomembnih odločitev, odločevalci na nižjih ravneh pa so toliko razpršeni, da se razprši tudi odgovornost. Ni pošteno pričakovati, da bodo ljudje, ki niso sprejeli odločitve, zanjo sprejeli odgovornost. Le redki vidijo svojo odgovornost v tem, da se o zadevi niso poučili in je pravočasno ustavili. Ali pa v tem, da od sodelavcev niso zahtevali drugega, boljšega pristopa. + +Javni sektor je pogosto tarča kritik. 172.000 ljudi je preveč, pravijo. Vendar je to celoten javni sektor. Tukaj so vsi zaposleni na policiji, pri gasilcih, v bolnicah, vrtcih, šolah, komunalnih podjetjih, tukaj so univerzitetni profesorji, zaposleni na različnih zavodih, v zaporih … Vse to je širši javni sektor, na katerega odpade večji del zaposlitev. Ko odštejemo še policijo, vojsko in strokovno-tehnično osebje, ostane dobrih 17.300 uradnikov in 1.500 funkcionarjev. Ljudje, ki peljejo to državo naprej. + diff --git a/articles/2019-09-26_000-postgresql.gmi b/articles/2019-09-26_000-postgresql.gmi new file mode 100644 index 0000000..3ce3475 --- /dev/null +++ b/articles/2019-09-26_000-postgresql.gmi @@ -0,0 +1,22 @@ +# PostgreSQL + +Spletni strežnik brez strežnika podatkovne zbirke je res bolj žalostna stvar. Zato sem namestil PostgreSQL. Gre za odprtokodno programsko opremo za upravljanje baz podatkov. RDBMS – Relational Data Base Management System. S spletne strani sem prenesel izvorno kodo, jo konfiguriral in prevedel. Zdaj pa je treba še postaviti podatkovni strežnik in ga konfigurirati. + +Strežnik sem postavil v Omnios Zone. Gre za Omnios [kontejner](/streznik/solaris-zone.md). Ker sem si tokrat zaželel malo bolj kompleksnega sistema, sem postavil dva kontejnerja. V vsakega sem namestil kopijo postgresa in ju skonfiguriral, da delujeta v načinu replikacije master – slave. + +## Kontejnerji + +Kontejnerja sta dva – zdatabase0 in zdatabase1. Oba kontejnerja sem konfiguriral enako. Najprej sem vsakemu ustvaril uporabnika zase in za postgres. Potem sem na obeh postgres računih omogočil prijavo s certifikatom in na oba računa namestil certifikate nasprotnega strežnika, tako da sta se lahko oba prijavljala en v drugega brez uporabe gesla. Geslo sem po tem odstranil. Na ssh strežniku sem onemogočil prijavo z geslom in na vse druge načine, razen s certifikatom. Še največ preglavic je povzročala angleščina. Pravzaprav razlika med ameriško in angleško angleščino. “authorized\_keys” ni enako kot “authorised\_keys”. Razlika je, da “authorized\_keys” deluje, medtem ko druga varianta pač ne. No … po pol ure se človek nauči tudi tega. + +## Cluster + +Nadaljeval sem z nameščanjem programa in na zdatabase0 in z inicializacijo podatkovnega direktorija. Potem je bilo treba nekoliko spremeniti avtomatsko zgenerirano konfiguracijsko datoteko, in sicer je treba za vzpostavitev replikacije prilagoditi nekaj vrstic. + +Ko sem končal, sem ugasnil podatkovni strežnik in stisnil celoten podatkovni direktorij v arhiv. Arhiv sem poslal na zdatabase1, ga tam razpakiral in prilagodil konfiguracijske datoteke. + +Sledil je zagon obeh strežnikov. Najprej postgres na zdatabase0, potem še postgres na zdatabase1. Glede na izpise obeh programov, zadeva deluje. Preverim še s testno podatkovno tabelo. Na zdatabase0 ustvarim novo tabelo, vstavim nekaj testnih podatkov. Preverim, ali tabelo vidim tudi na zdatabase1 … vidim. Deluje. + +## Podatki + +Zdaj, ko podatkovna strežnika delujeta in se povezujeta med sabo, moram vnesti še podatke. V prvi fazi bodo to podatki o vremenu. Iz teh podatkov bomo računali vremensko napoved. V nadaljevanju pa mogoče še kaj. Podatki o gospodarskih družbah, mogoče celo te spletne strani. + diff --git a/articles/2019-09-27_000-solaris-zone.gmi b/articles/2019-09-27_000-solaris-zone.gmi new file mode 100644 index 0000000..37f45e2 --- /dev/null +++ b/articles/2019-09-27_000-solaris-zone.gmi @@ -0,0 +1,12 @@ +# Solaris Zone + +Solaris je že dokaj star operaijski sistem. Eden izmed originalnih Unixov in eden izmed preživelih zmagovalcev Unix vojne. Ker je že tako dolgo na sceni, je v svoji zgodovini nabral tudi nekaj originalnih inovacij. Med njimi so tudi Zones. + +Zone je neke vrste kontejner. Danes že kar dobro vemo kaj so kontejnerji in kako jih uporabiti. Ko so bile Zone prvič predstavljene, je bil to dokaj revolucionaren koncept. Lahka virtualizacija kot nasprotje Xen virtualk, ki je bila tudi na voljo. In potem je dodano še ogrodje Crossbow, ki virtualizira mrežno opremo – stikala, mrežne adapterje in kable. Naenkrat lahko imamo cel datacenter v enem fizičnem strežniku. In tukaj se ne konča. Zone je lahko poganjajo tudi Linux. + +Zone je nekakšna napredna nadgradnja koncepta, ki se je začel s `chroot`. Chroot je unix orodje, ki določi navidezno korensko mapo za procese, ki jih zaženemo iz tega orodja. In to je začetek virutalizacije. Bolj napredna oblika so BSD Jails, Solaris Zones pa v to področje dodajo virtualno omrežje in ZFS. Te lahkoe virtualke je prav zato, ker živijo v ZFS sistemu enostavno migrirati z enega sistema na drugega, jih varnostno kopirati, obnavljati, vklapljati in izklapljati. Za vse skrbi nekaj ukazov. + +Zones lahko imajo več lastnosti. Med pomembnejšimi lastnostmi je “brand” – znamka. Znamka določa, kakšen sistem teče znotraj zone. Lahko je običajen Solaris, pri čemer je znotraj zone celotna kopija sistema. Po drugi strani je lahko v zone Solaris, ki je povezan z osnovnim sistemom, tako da se vsakič sproti posodablja. Lahko je znotraj zone nameščen linux. Dejansko znotraj teče prilagojeno jedro, ki omogoča zagon večine standaardnih linux programov. + +Posebne zone so namenjene poganjanju polnih virtualizacij. Solaris 10 je imel Xen, OmniosCE ima pa KVM, po novem pa tudi BHyve virtualizacijo. V teh je mogoče poganjati kakršenkoli operacijski sistem, tudi na primer Windows. + diff --git a/articles/2019-10-05_001-odstranjevanje-vsebin-s-spleta-postaja-prava-mala-cenzura.gmi b/articles/2019-10-05_001-odstranjevanje-vsebin-s-spleta-postaja-prava-mala-cenzura.gmi new file mode 100644 index 0000000..a9fd0e4 --- /dev/null +++ b/articles/2019-10-05_001-odstranjevanje-vsebin-s-spleta-postaja-prava-mala-cenzura.gmi @@ -0,0 +1,20 @@ +# Odstranjevanje nezakonitih vsebin s spleta postaja prava mala cenzura + +Pravo EU ne onemogoča od ponudnikov gostovanja kot je Facebook zahtevati odstranitve identične in v nekaterih primerih ekvivalentne vsebine, ki je že bila ugotovljena za nezakonito. + +Še več, pravo EU ne preprečuje, da bi taka zahteva učinkovala po vsem svetu, znotraj okvirov mednarodnega prava, ki ga morajo upoštevati posamezne države članice. + +Mme Eva Glawischnig-Piesczek, članica državnega zbora v Avstriji, predsednica parlamentarnega odbora Zelenih, je tožila Facebook Irska na avstrijskem sodišču. Zahtevala je, da Facebook odstrani komentar, ki ga je objavil uporabnik tega socialnega omrežja, in ki je škodil njenemuu gledu. Zahtevala je tudi odstranitev komentarjev, ki so bili identični ali ekvivalentni po vsebini. Komentar je bil objavljen ob članku iz astrijskega časopisa oe24.at na profilu uporabnika. Objava je bila dostopna vsem uporabnikom Facebooka. + +Skladno z veljavno direktivo ponudnik storitev gostovanja ni odgovoren za shranjene informacije, če ne ve za njihovo nezakonitost ali če takoj ko izve za nezakonitost, ukrepa z odstranitvijo vsebin. Ta izjema pa nepomeni, da ponudniku ni mogoče naložiti, da prenega s kršitvami, vključno z odstranitvijo ali onemogočanjem dostopa do vsebin. Direktiva prepoveduje, da bi ponudniku naložili splošno spremljanje informacij, ki jih shranjuje za uporabnike ali da bi aktivno raziskoval dejstva ali okoliščine, iz katerih izhaja nezakonitost. + +Sodišče je v tokratni sodbi ugotovilo, da Direktiva o elektronskem poslovanju ne preprečuje nacionalnim sodiščem, da bi ponudnikom storitev gostovanja odredili: + +=> https://curia.europa.eu/jcms/upload/docs/application/pdf/2019-10/cp190128en.pdf Ugotovitev + +* odstranitev nezakonitih vsebin, odstranitev vsebin, ki so identične tistim, za katere je bilo že prej ugotovljeno, da so nezakonite, ali da se dostopdo teh vsebin onemogoči, neglede na to, kdo je vsebine naložil; +* odstranitev informacij, ki jih hrani, katerih vsebina je ekvivalentna vsebini informacij, za katero je bilo že ugotovljeno, da je nezakonita, ali onemogočanje dostopa, pri tem pa je spremljanje vsebin in iskanje omejeno na informacijo, ki prenaša vsebino, ki je bistveno nespremenjena v primerjav z vsebino, za katero je bilo ugotovljeno, da je nezakonita, ubeseditev informacije pa ni takšna, da bi zahtevala neodvisno oceno vsebine (tako se ponudnik lahko zateče k uporabi avtomatskih orodij za iskanje); +* odstranitev informacij zajetih v odredbo ali onemogočiti dostop do njih na vsem setu, v okviru relevantnega mednarodnega prava, kar morajo upoštevati države članice. + +Sodišče EU je uvedlo filtriranje vsebin. Direktiva obveznost filtriranj sicer izrecno izključuje, prav tako izrecno izključuje obveznost moderiranja vsebin, ki jih nalagajo uporabnbiki. Edini razlog za odstranitev česarkoli s spleta je opozorilo na nezakonito vsebino. Po tej sodbi se stvari malo spremenijo. Ne le da je treba odstraniti vsebino, za katero je sodišče ugotovilo, da je nezakonita, treba je odstraniti tudi vse kopije, vse re-poste, re-tweete … Na večjih platformah lahko to pomeni, da je edina realna možnost za skladnost uvedba filtriranja in aktivno iskanje nezakonitih vsebin – točno to, kar je iz direktive sicer izrecno izključeno. + diff --git a/articles/2019-10-19_000-piskotki.gmi b/articles/2019-10-19_000-piskotki.gmi new file mode 100644 index 0000000..cc08981 --- /dev/null +++ b/articles/2019-10-19_000-piskotki.gmi @@ -0,0 +1,27 @@ +# Piškotki + +Piškotki so majhne datoteke, ki strežniku prenesejo identifikacijo klienta. Nekakšna EMŠO številka brskalnika na našem računalniku. Po njej nas strežnik prepozna. To je nujno potrebna tehnologija, brez te številke strežnik ne more vedeti, da smo se prijavili v spletno stran. Za nekatere strani to ni problem, za tiste, kjer imamo daljšo interakcijo, ki sledi v več korakih, čez več različnih spletnih strani, pa je. + +Piškotki se lahko tako kot za delovanje prijavnega sistema, uporabljajo tudi za kaj drugega. Na primer za to, da uporabniku sledimo, da vidimo kakšne interese ima, kateri članki na naši strani ga zanimajo in mu glede na to serviramo oglase. Oglase, ki so prilagojeni zanj, oglasi, ki so namenjeni temu, da iz njega izvlečejo denar. Takšno sledenje pa ni možno le na posamezni spletni strani, pač pa tudi na več straneh. Celo prek skoraj vseh strani, ki jih obiščemo. Sledijo nam piškotki različnih oglaševalcev, ki jim izdatno pomagata Facebook in Google. + +Piškotki in z njimi povezano sledenje uporabnikom postaja problem. Tolikšen, da se ga je lotila tudi EU. Sledenje uporabnikom je dovoljeno le s soglasjem uporabnika. To soglasje … pridobivanje soglasja … Vsi pop-upi ki se pojavljajo, so prav to – pridobivanje soglasja. Ta okenca so moteča, izgledajo grdo, večinoma so implementirana tako, da povsem pokvarijo uporabniško izkušnjo. Vendar brez soglasja ni dopustno slediti uporabnikom. + +Moteča narava obvestil pomeni, da uporabniki večinoma sploh ne berejo obvestil. Tudi če bi jih, jim verjetno ne bi prav dosti pomagala, ker so obvestila sama povsem napačna. Zviti upravljavci spletnih strani so našli milijon načinov kako od uporabnikov pridobiti soglasje, ne da bi ti sploh pomislili k čemu ga dajejo. Tipično spletne strani pokažejo le gumb, ki potrdi namestitev piškotkov. Možnosti izklopa ni. Še bolj pogosto pokažejo le obvestilo. Če že imajo možnost izklopa piškotkov, sta pogosto tam le gumba “dovoli vse” in “prekliči”, med tem ko je gumb “dovoli izbrane” postavljen na drugo mesto, da se uporabnik lažje zmoti in dovoli vse piškote. Trikov ne zmanjka. + +Še najbolj pogost trik je, da ima obrazec dovoljenja za postavljanje piškotkov privzeto potrjene. + +Nova sodba Sodišča Evropske Unije prinaša nova pravila. Sodišče je odločilo, da shranjevanje piškotkov zahteva uporabnikovo aktivno soglasje. Predizpolnjen okvirček s kljukico ne zadošča temu standardu. +Nemška potrošniška organizacija je pred nemškimi sodišči tožila družbo Planet49. Družba promovira spletne promocijske igre. Uporabniki morajo podati soglasje za piškotke. Namen piškotkov je oglaševanje produktov partnerjev. + +Sodišče je razložilo Direktivo o obdelavi osebnih podatkov in varstvu zasebnosti na področju elektronskih komunikacij. Odločilo je, da soglasje, pridobljeno z uporabo predizpolnjenega okvirčka s kljukico, pri čemer mora uporabnik za zavrnitev kljukico odstraniti, ni veljavno pridobljeno. Na odločitev ne vpliva okoliščina, ali gre pri podatkih, ki se hranijo v piškotkih za osebne podatke. + +=> https://curia.europa.eu/jcms/upload/docs/application/pdf/2019-10/cp190125en.pdf Razlaga + +Namen direktive je varovanje zasebnosti uporabnikov pred vmešavanjem korporacij in države v njihovo zasebnost, konkretno pred tveganjem, da se na terminalsko opremo uporabnikov namestijo skriti identifikatorji in druge podobne naprave. Sodišče je odločilo, da mora biti soglasje izrecno. Ni dovolj, če uporabnik pritisne gumb, da bi rad sodeloval v spletni loteriji, na podlagi tega ni mogoče sklepati, da se je strinjal z namestitvijo piškotkov. + +Dodatno pa morajo ponudniki storitev zagotoviti tudi informacije uporabniku, ki vključujejo tudi podatek o trajanju piškotkov in o tem, ali bodo tretje strani imele dostop do podatkov. + +Ob branju direktive je jasno, od kod prihaja odločitev sodišča. Res zahteva veliko pravne kreativnosti, da lahko nekdo podpre vse prakse, ki so se na področju piškotkov razvile v zadnjih letih. Zdaj bi moralo počasi postati jasno, da sledenje uporabnikom ni dobro in da prinaša veliko odgovornost. Podatki so še včeraj bili dobrina, danes pa … recept za globe. Ob vseh odločitvah Sodišča EU bo treba razmisliti, ali je oglaševanje na spletu sploh smiselno, ali je smiselno uporabljati razne plugine, ki nameščajo piškotke, ali je dobra ideja vključiti v spletno stran Facebook in Twitter gumbe, ali je sploh smiselno uporabljati CDNje … In kaj narediti s strežniškimi dnevniki? + +=> https://www.akos-rs.si/files/Zakonodaja/Direktive_in_priporocila/recast-20091219-sl1.pdf Direktiva + diff --git a/articles/2019-10-19_001-zakon-o-poslancih.gmi b/articles/2019-10-19_001-zakon-o-poslancih.gmi new file mode 100644 index 0000000..49b2bb2 --- /dev/null +++ b/articles/2019-10-19_001-zakon-o-poslancih.gmi @@ -0,0 +1,15 @@ +# Zakon o poslancih + +Pred dnevi se je sprejemal zakon o poslancih. Zanimiv kos zakonodaje, ki ureja življenje in delo predstavnikov naroda. Zakon pripravljajo in sprejmejo poslanci,gre za tako imenovani poslanski zakon. Pod predlog tokratnih sprememb se je podpisalo več kot sedemdeset poslancev, kar je več kot dovolj, da se ga sprejme. + +Rešitve so pripravljale strokovne službe Državnega zbora. Kot kaže je njihova edina naloga to, da poslancem izborijo čim boljši položaj. In to so s predlogom tudi naredili. Več privilegijev — več denarja, manj dolžnosti, manj sankcij. Tako so si zaželeli na primer povračilo stroškov kilometrine, da bi se lahko na delo vozili z avtomobili, namesto z javnim prevozom, po drugi strani pa bi iz zakona črtali sankcije za nezdružljivost funkcije. + +Poslanci na seji niso bili enotni. Niso bili niti približno enotni. Levica je menila, da povračilo kilometrine ni smiselno v svetu, kjer se trudimo zmanjšati uporabo avtomobilov, po drugi strani pa poskušamo razviti javni prevoz. Prav tako so bili proti črtanju sankcije za opravljanje nezdružljivih funkcij. + +Na desni so bili bolj praktično naravnani. Vozili bi se z avtomobili, prav tako pa bi raje videli, da poslanci lahko opravljajo še kakšno funkcijo. V prejšnjih sestavah so jih, pa nihče ni imel težav zaradi tega. + +Konsenza ni bilo. Še najbližje so prišli na točki sankcij za nezdružljivost. Tukaj so bili dokaj enotni, da jih rabimo, ne pa tudi kakšne naj bodo. Štiri poslanske skupine so vložile vsaka svoj komplet amandmajev, ko je bilo treba glasovati, so pa glasovali vsak za svojo verzijo. Dovolj podpore ni dobil noben amandma, zato je predlog ostal nespremenjen. + +Le nekaj dni kasneje se je stvar spremenila. Mediji so opravili svoje, pritisk je narasel. Tako zelo, da ga večina strank ni mogla več ignorirati. Umaknili so podporo. Predlog novele gre tako za nekaj časa v predal. + +Zanimivo, kako se obrnejo stvari … od večine, ki lahko spreminja ustavo do zakona brez podpore v le nekaj dneh. Mediji so tokrat opravili svoje delo, ki bi ga sicer morale že strokovne službe in poskrbele, da se stvari, če se ne izboljšajo, vsaj ne poslabšajo. diff --git a/articles/2019-11-05_000-sifrirani-zfs.gmi b/articles/2019-11-05_000-sifrirani-zfs.gmi new file mode 100644 index 0000000..08f3a9d --- /dev/null +++ b/articles/2019-11-05_000-sifrirani-zfs.gmi @@ -0,0 +1,22 @@ +# Šifrirani ZFS + +Te dni je izšla nova različica sistema OmniosCE. Verzija 150132 prinaša kar nekaj novosti, med njimi skoraj 10 let pričakovano šifriranje ZFS podatkovnih setov. + +=> https://github.com/omniosorg/omnios-build/blob/r151032/doc/ReleaseNotes.md Release Notes + +Pa poglejmo kako ustvarimo šifrirani podatkovni set. +``` +matjaz@solaris-box:/export/home/matjaz$ head -c 31 /dev/random > kljuc.txt +matjaz@solaris-box:/export/home/matjaz$ pfexec zfs create -o encryption=on -o keyformat=raw -o keylocation=file:///export/home/matjaz/kljuc.txt tank/enc +matjaz@solaris-box:/export/home/matjaz$ cd /tank/ +``` +S prvim ukazom smo generirali naključen šifrirni ključ. 31 naključnih znakov smo zapisali v datoteko, ki smo jo potem uporabili pri pripravi podatkovnega seta. Drugi ukaz ustvari podatkovni set, pomembne pa so tri postavke (-o) ki določajo šifriranje, obliko ključa in mesto, kjer se hrani ključ. + +Za to testiranje sem ključ spravil v svoj domač imenik. V realnosti bi bilo bolje ključ shraniti na kak USB ključek. Alternativno lahko opcijo `-o keyformat=raw` nadomestimo tudi z opcijo `passphrase` ali `hex`, opcijo `-o keylocation=file:///…` pa lahko nadomestimo z opcijo `prompt` – v tem primeru lahko namesto uporabe datoteke s ključem, ključ za dekripcijo neposredno vpišemo. + +To je šele prvo igranje s šifriranjem. V naslednjih dneh bom zadevo vsekakor še dodatno preizkusil, v bližnji prihodnosti pa verjetno vključil šifriranje vseh diskov. + +Kolikor je razumeti, za zdaj še ne deluje šifriranje rpoola. Rpool je zagonski zfs pool. Podporo za dešifriranje bi namreč potreboval tudi zagonski sistem (FICL interpreter programskega jezika Forth). + +Eden od pomembnih varnostnih ukrepov je varovanje podatkov, ko sistem ni v uporabi (security of data at rest). Do sedaj je bilo šifriranje mogoče le z uporabo zapletenih konstruktov, ki so kot disk priklopili veliko datoteko in jo pred uporabo dešifrirali, po uporabi pa ponovno šifrirali. To kompliciranje zdaj odpade. Končno, bi lahko rekli. Solaris je šifriranje dobil že v letu 2011, nedolgo po tem, ko je Sun prevzel Oracle. Ker Oracle ni več objavljal izvorne kode sistema, je šifriranje ZFS datotečnih sistemov dolgo časa obstajalo le v komercialnem Solarisu. Po skoraj desetletju so vse potrebne delčke sestavili tudi razvijalci Illumos (jedro sistema OmniosCE). + diff --git a/articles/2019-11-25_000-obveznost-razkritja-gesla.gmi b/articles/2019-11-25_000-obveznost-razkritja-gesla.gmi new file mode 100644 index 0000000..562cbc2 --- /dev/null +++ b/articles/2019-11-25_000-obveznost-razkritja-gesla.gmi @@ -0,0 +1,14 @@ +# Obveznost razkritja gesla + +Ameriška sodna praksa tradicionalno ni naklonjena varstvu zasebnosti v takšni meri kot evropska. Pa vendar se kdaj stvari na drugi strani Atlantika obrnejo v korist posameznikov, tudi če zaradi tega trpi pregon kaznivih dejanj. + +V zadnjem primeru so organi preiskave in pregona v svoje roke dobili kriminalca, ki je na diskih svojega računalnika hranil več kot 50 TB slik z otroško pornografijo. Diski so bili šifrirani, zaščiteni z geslom, dolgim 64 znakov, tako da preiskovalci niso mogli do njih. Ker osumljenec gesla ni želel povedati, so preiskovalci od sodišča zahtevali, naj osumljencu ukaže predajo gesla. + +=> https://arstechnica.com/tech-policy/2019/11/police-cant-force-child-porn-suspect-to-reveal-his-password-court-rules/ Zadnji primer + +Sodišče v Pensilvaniji se s preiskovalci ni strinjalo in je povedalo, da peti amandma ameriške ustave, ki opredeljuje privilegij pred samoobtožbo pomeni tudi, da osumljenca ni mogoče prisiliti, da izpove proti sebi, torej niti, da pove geslo. Za razliko od izročitve fizičnega ključa, odvzema krvnega vzorca, je informacija, ki je shranjena v glavi osumljenca varovana. + +Sodišče je zapisalo: + +“Zavedamo se, da je včasih ustavni privilegij ovira za državo, ko se zahteva, da ta opravi težko delo, da je lahko celotno breme priprave in zastopanja kazenske obtožbe brez pomoči obtoženca neugodno in celo težavno. Vendar pa bi uporaba doktrine “foregone” v takih okoliščinah dovoljevala izjemi, da pogoltne ustavni privilegij. Ne glede na vse je ustavna pravica trdno utemeljena v “ugotovitvi, da privilegij, kljub temu, da je včasih ‘pribežališče za krive’ pogosto ‘zaščita za nedolžne.'” Še več, obstajajo resni pomisleki pred uporabo doktrine “foregone” za pridobivanje informacij, ki se pokažejo skozi uporabo posameznikovega uma.” + diff --git a/articles/2019-12-19_000-uporaba-obvescevalnih-podatkov-v-kazenskem-postopku.gmi b/articles/2019-12-19_000-uporaba-obvescevalnih-podatkov-v-kazenskem-postopku.gmi new file mode 100644 index 0000000..0afaa89 --- /dev/null +++ b/articles/2019-12-19_000-uporaba-obvescevalnih-podatkov-v-kazenskem-postopku.gmi @@ -0,0 +1,33 @@ +# Uporaba obveščevalnih podatkov v kazenskem postopku + +Pred kratkim je ameriško Pritožbeno sodišče za drugo okrožje odločalo o primeru, v katerem je FBI uporabil podatke, ki jih je dobil iz zbirk, ki jih sicer za svoje potrebe in za izvajanje svojih nalog kopiči NSA. +Obtoženi Agron Hasbajrami je materialno pomagal teroristični organizaciji, kar je tudi priznal. Zapletlo pa se je pri vprašanju, ali je FBI dokaze zbral zakonito. + +Sodišče je odločilo, da FBIjeva uporaba NSAjevih podatkov po vsej verjetnosti krši četrti amandma ameriške ustave, ki določa, da organi pregona ne smejo posegati v zasebnost posameznikov brez razloga za sum, da bodo našli dokaze o kaznivem dejanju. Da gre za “verjetno kršitev” je sodišče ugotovilo, ker iz zbranih informacij ni moglo z gotovostjo ugotoviti, kako so potekali postopki zbiranja dokazov. + +NSA ima v zakonu FISA (Foreign Intelligence Surveillance Act) pooblastilo, da zbira podatke o osebah, ki niso državljani ZDA. Podatke pogosto dobijo s strežnikov, ki se nahajajo v ZDA (Google, Facebook …), čeprav se nadzorovane osebe ne. + +Čisto po nesreči najdemo obremenilne dokaze. Pogosto se zgodi, da pri tako zbranih podatkih naletijo tudi na podatke o osebah, ki so ameriški državljani in so v kontaktu z nadzorovanimi osebami. Če taki podatki vsebujejo dokaze o sumu kaznivega dejanja, jih organi lahko obdržijo, sicer bi bilo te podatke treba izbrisati. + +V konkretnem primeru je bil ameriški državljan zaprt na podlagi podatkov, ki jih je priskrbela NSA. Osumljenec je priznal, da je materialno podpiral teroristično organizacijo, vendar pa pravi, da so bili dokazi proti njemu pridobljeni nezakonito. Konkretno – dokaze naj bi FBI dobil tako, da je enostavno prebrskal baze NSA, in to brez sodne odredbe. + +Sodišče se ni postavilo na stališče, da so naključno zbrani dokazi nezakoniti, prav tako hramba informacij, ki vsebujejo dokaze o morebitnih kaznivih dejanjih ni nezakonita. Kar je zmotilo sodišče je predvsem to, da iskanje po bazi po času, ko je bila ustvarjena, po njihovem mnenju skoraj gotovo zahteva sodni nalog. Z brskanjem po bazi brez naloga se po vsej verjetnosti krši četrti amandma in s tem izvaja neutemeljena preiskava. FBI v teh primerih ne pridobiva nalogov pred samo preiskavo. + +Sodišče se je v eni od prejšnjih odločitev postavilo na stališče, da je kasnejši ponoven vpogled v zakonito zbrane dokaze zakonit. Organi pregona lahko v konkretnem primeru uporabijo dokaze, ki so jih odkrili v nekem drugem predhodnem primeru. Vendar pa je tokrat ugotovilo, da ima hramba podatkov malo pomena sama po sebi. Podatki so upravičeno shranjeni, ampak ne z namenom, da se izvaja nadzor nad državljani ZDA, pač pa z namenom, da se izvaja nadzor nad tujimi državljani, ki so bili cilj preiskave. +Ribarjenja v kalnem se ne gremo. Drugi razlog za nezadovoljstvo sodišča je bil, da je baza podatkov, ki izhajajo iz NSAjevega nadzora, tako obsežna, da uporaba podatkov iz nje ne predstavlja usmerjene preiskave, pač pa izgleda kot ribiška mreža, cela operacija pa torej kot ribarjenje. + +“Veliko je odvisno od tega, kdo preiskuje zbirko podatkov. Potencialno obstaja velika razlika, če FBI preišče svojo zbirko, ali pa če FBI zaprosi NSA, naj ta preišče svojo, veliko večjo zbirko, ki je nastala z uporabo bistveno širših pooblastil.” + +“Uporaba takšne baze torej ni povsem enaka kot to, da gre preiskovalec v arhiv z dokazi iz starih primerov in poišče že shranjen dokaz proti osumljencu.” + +Zakon načeloma prepoveduje, da bi NSA zbirala podatke o tujcih z namenom, da prek zadnjih vrat skrivoma zbira podatke o državljanih. Ampak v praksi se počne prav to. NSA zbira podatke o tujcih in s tem zbere podatke, ki bi jih tudi, če bi neposredno ciljala na državljana. + +Bistvo torej je, da FBI ne sme brskati po NSAjevi bazi z namenom, da “samo vidi, ali je v njej kaj inkriminatornega v pogovorih njihovega osumljenca, ki so slučajno tam.” Končni cilj četrtega amandmaja je razumnost. + +Salomonska sodba. Na tej točki se je stvar nekoliko procesno zapletla. Organi pregona so namreč zatrjevali, da ne uporabljajo metode dela, kot jo je opisalo sodišče. Ker metode, ki jo uporabljajo, niso opisali, je sodišče odločilo, da ne ve kaj točno se je zgodilo v tem primeru, na kakšen način so bili zbrani dokazi in ali je pri tem prišlo do kršitev. + +“Ne vemo katere zbirke podatkov so bile preiskane, kdo jih je preiskal, s kakšnim namenom, katere informacije (če sploh katere) so prišle iz teh poizvedb in kako (če sploh) so bile informacije uporabljene.” + +Zato je zadevo vrnilo v ponovno sojenje prvostopenjskemu sodišču, z nalogo, da to razišče. + +=> https://www.theregister.co.uk/2019/12/19/fbi_spying_database/ Vir diff --git a/articles/2019-12-19_001-mercurial.gmi b/articles/2019-12-19_001-mercurial.gmi new file mode 100644 index 0000000..821b1a7 --- /dev/null +++ b/articles/2019-12-19_001-mercurial.gmi @@ -0,0 +1,12 @@ +# Mercurial + +Po dolgem času sem na strežnik namestil tudi sistem za upravljanje z izvorno kodo. Tokrat sem namestil Mercurial, ker je to bilo v danem trenutku najbolj enostavno. + +V preteklosti sem uporabljal GIT, vendar se tokrat nisem odločil zanj. Pri namestitvi spletne aplikacije Gitea se je namreč zapletlo – enostavno ni delovala. Z razlogi se mi tokrat ni dalo ukvarjati, ker obstaja relativno enostavna rešitev. In to je Mercurial. + +Mercurial ni GIT, je pa podoben. Uporablja se ukaz `hg`. Princip delovanja je praktično identičen. Zanimiva opcija, ki jo ponuja `hg` je ukaz `hg serve`. Ta ukaz povzorči, da se zažene mini spletni strežnik, ki repozitorij postavi na splet, kjer je potem na voljo vsem. + +Seveda ne želim, da bi do repozitorija s članki te spletne strani dostopali tudi drugi, zato je bilo treba poskrbeti tudi za nekaj zaščite. To sem naredil tako, da repozitorij ni izpostavljen neposredno na splet, pač pa teče za posredniškim strežnikom – Nginx. Za preprečevanje dostopa brez dovoljenja, je nastavljena tudi http avtentikacija. Kot bonus je ves sistem zaščiten tudi s https. + +Znotraj strežnika sem nastavil še osveževanje spletne strani iz repozitorija. Vsakih nekaj minut `cron` preveri, ali so v repozitoriju kakšne spremembe in jih prenese v živo spletno stran. Tako lahko objave izvedem brez prijave v sistem in ročnega premikanja datotek. Končno. + diff --git a/articles/2021-01-19_000-analogna-fotografija.gmi b/articles/2021-01-19_000-analogna-fotografija.gmi new file mode 100644 index 0000000..7c72b8d --- /dev/null +++ b/articles/2021-01-19_000-analogna-fotografija.gmi @@ -0,0 +1,19 @@ +# Analogna fotografija + +Kot številne druge tehnologije, je digitalizacija malodane pokopala analogno fotografijo. Če smo pred kakšnimi desetimi leti še lahko rekli, da ima film večjo bitno globino kot digitalni senzorji in da je vsaj v nečem film boljši … danes tega najvrjetneje več ne moremo reči. Moderni senzorji so boljši od večine analognih filmov. + +Ali to pomeni, da lahko film enostavno umre in da ga ne bo nihče pogrešal? Niti ne. Film ima nekaj v sebi, nekaj kar ga naredi zanimivega. Podobno bi lahko rekli o glasbi na vinilnih ploščah ali kasetah, o starodobnih avtomobilih, retro računalnikih ali kakšni drugi stari tehnologiji. Film ima tisto nekaj, kar ga naredi zanimivega. + +To so opazili tudi proizvajalci. Res je, ni jih ostalo več prav veliko. Ampak v zadnjem letu je na trg prišlo nekaj novih tipov filmov (emulzij). Celo proizvajalci kot je Kodak vidijo v filmu vrednost, torej ne gre nujno za nišne produkte, ki bi jih nekdo delal doma, v garaži. + +Pred časom sem kupil komplet za razvijanje črnobelih filmov. Razmišljal sem celo o kompletu za razvijanje barvnih fotografij, ampak za zdaj ostajam pri črnobeli. Nisem razvil toliko filmov, kot sem upal, da jih bom. Danes šele drugega. Premalo fotografiram – očitno. + +Kakorkoli že, danes sem se lotil. Prvi izziv je zagotoviti temen prostor. Nimam vreče za previjanje filma, tako da sem se lotil na staromoden način. Zatemnil sem kopalnico. Kopalnica ima okno nad vrati. Obložil sem ga z alumunijasto folijo. Vrata pri tleh sem podložil z brisačo, ugasnil luči, zaprl vrata in začel. Filmski trak sem izvlekel iz kontejnerčka, ga odrezal in navil na razvijalno vreteno. Ta del … v temi ni enostaven. Verjetno mi je vzelo kakšnih deset minut. Navit film sem spravil v razvijalni tank in ga zaprl. Od tu naprej sem nadaljeval ob prižgani luči. + +Razvijanje fotografij in tiskanje. Adonal, Adofix in Adoflow. Voda pri 20 stopinjah Celzija, mešanje, obračanje … Ko to počnem, se vedno počutim kot kemik v laboratoriju. v kopalnici. Po kakšnih 40 minutah je bil postopek končan. Film opran in obešen, posode pomite, sušijo se na pralnem stroju. +Film, ki sem ga razvijal, je Agfa APX 100. Prejšnjič sem razvijal Agfa APX 400 in so nastale odlične fotografije, upam, da bo tudi tokrat tako. Za sam postopek razvijanja sem uporabil navodila, ki so prišla s kompletom za razvijanje. Nič posebnega, le časovnico za mešanje sem uporabil tisto s spletne strani Pirate Photo. + +Film zgleda dobro. Pogledal sem, kakšni so kontrasti, podobe se da razbrati. Film sem posnel poleti, tako da se povsem točno več ne spomnim, kaj smo slikali, vem da je bilo bolj igranje, kot kaj resnega. Po pregledu zapiskov o tej filmski roli, gre verjetno za fotografije z dopusta. Torej malo morja, malo izletov, potem pa sledi še nekaj fotografij iz Ljubljane, ko je bilo treba dokončati rolo. Zdaj me še bolj zanima, kaj je na njej. + +Čez vikend sledi skeniranje filma. S skenerjem bom slike prenesel na računalnik in jih obdelal naprej. Nabaviti moram še črnilo za tisklanik, da bom fotografije lahko natisnil. Če bo šlo vse po sreči, bom kakšno objavil tudi tukaj. + diff --git a/articles/2021-03-03_000-zakaj-film.gmi b/articles/2021-03-03_000-zakaj-film.gmi new file mode 100644 index 0000000..828a68d --- /dev/null +++ b/articles/2021-03-03_000-zakaj-film.gmi @@ -0,0 +1,18 @@ +# Zakaj film + +Film kot medij je bolj ali manj passé. Za uporabo filma verjetno ni pravn nobenega tehničnega razloga več. Včasih je veljalo, da ima film večjo resolucijo od CMOS senzorja … no danes je ta mit že odšel. 24 megapixlov v croped senzor velikosti je več kot lahko pokaže film. Verjetno več kot lahko pokaže film v full frame formatu. Barvna globina je bil drugi razlog za uporabo filma. Danes so senzorji že dovolj dobri, da tudi tukaj film nima prav nobene prednosti. Še posebej, če uporabimo napredne funkcije fotoaparatov, kot je HDR. Zakaj bi potem sploh še uporabili film? + +Film je medij, s katerim prenesemo podobo iz realnega sveta v nek drug svet. Na papir, na računalniški zaslon ali kam drugam. Obstajajo orodja za to. Fotoaparati, med njimi digitalni. Ampak obstajajo tudi starejše tehnike. Analogna fotografija, izdelava fotografij na cianotopijo, tisk na različne doma nareje emulzije … Nenazadnje obstaja tudi slikarstvo, risanje in še kakšna druga tehnika. Nobena ni odveč, vse imajo svojo težo in mesto. Analogna fotografija se je iz “mainstream” orodja prestavila v umetnost. Ima podoben položaj kot bakrorez. Oba sta nekdaj imela položaj primarnega načina prenašanja informacije iz realnega sveta na papir, danes pa ju je neka druga tehnologija zamenjala. + +Ta položaj pomeni, da analogna fotografija ni odveč, so se pa spremenile skoraj vse okoliščine v katerih deluje. Predvsem se je spremenila uporabniška baza. Na film fotografirajo ljudje, ki jim je to všeč. Film so izbrali kot del svojega umetniškega izražanja, zato imajo v zvezi s tem drugačna pričakovanja, v primerjavi z uporabniki, ki so film uporabljali v prejšnjih desetletjih. + +Žal nekatere družbe, ki se s področjem ukvarjajo, tega ne razumejo dovolj. Ni namreč več dovolj, da ponudiš storitve razvijanja in skeniranja filma, in pri tem sam odločiš, da to delaš le na en sam način, ki si ga sam izbereš. Uporabniki so namreč posatli bolj zahtevni. Naj opišem zadevo z lastno izkušnjo. Želel sem, da mi fotolaboratorij razvije barvni film in ga poskenira. Skenirane datoteke sem želel v “.tiff” formatu, najboljše resolucije, ki jo lahko dosežejo na svojem skenerju. Odgovor je bil, da se to ne da. Skenirajo lahko le v standardni resoluciji. Rezultat je bil razmeroma uporaben za neposredno tiskanje, vendar pa bolj ali manj neuporaben za nadaljnjo obdelavo fotografij. Močno stisnjene “.jpeg” datoteke. +Iščem kakšen pameten foto studio, ki razvije fotografije kot se spodobi. Ki sprejme tudi kakšno “posebno” naročilo, kot je recimo push ali pull razvijanje, flat skeniranje negativov brez nadaljnjih obdelav, morda celo skeniranje z bobnastim skenerjem. Iščem studio, ki je pripravljen tudi na cross processing in za podobne neumnosti. Pripravljen sem jih dodatno plačati. Slike na filmu niso le slike, ki jih enkrat pogledam, to je moj način izživljanja. + +Do takrat, ko najdem pravi laboratorij, skeniram sam. Skener, računalnik in tiskalnik. Črnobel film tudi sam razvijam. Ves posotpek, od fotografiranja do tiska pod popolno kontrolo. Ni slabo. Mogoče bi kdaj poskusil tudi razvijanje fotografij s povečevalnikom in fotopapirjem. Za zdaj mi ta analogno-digitalni posotpek zadošča. + +Prednosti filma. Če pozabimo tehnične značilnosti, ima film vseeno nekaj prednosti pred elektronskim senzorjem. In to je, da ga z vsako rolo zamenjamo. Vsak film ima svoje lastnosti. Črno-bel ali barven, ISO 25, 50, 100, 200, 400, 800 … In potem FujiPro film ni enak kot Kodak Portra. Imata nekaj razlik v zaznavi barv, v reprodukciji. Nekateri filmi so bolj zrnati, drugi manj, nekateri imajo večji kontrast in bolj nasičene barve kot drugi. In tukaj je še nekaj drugih zanimivih filmov, ki so prav posebni – Lomography turkizni in vijolični, na primer, kjer so brave povsem zamaknjene v nek drug spekter. Izbira filma je ena od prvih umetniških odločitev v procesu nastajanja končnega dela. + +Če bi takšno raznolikost želeli doseči pri digitalnih senzorjih … bi jih morali menjati, kar pa je težko. Senzor načeloma pride s celim fotoaparatom namontiranim okoli. Druga možnost je obdelava fotografij v post produkciji, da se fotografijam da določen nov videz – tudi tak, ki imitira film. +Zakaj bi torej delali s filmom? Ker nam je to všeč, ker je to zabavno. Ker so nam všeč rezultati, ker imamo nekoliko več ročnega dela s svojim izdelkom – to pa lahko prinese drugo vrsto zadovoljstva. Ker je analogna fotografija lahko umetnost. Ker je analogna fotografija del nas. In ker je analogno zadnje čase vedno bolj zanimivo, tudi za tiste, ki ga niso nikoli zares občutili, ker so premladi, kot na primer glasba na kasetah ali vinilnih ploščah. + diff --git a/articles/2021-04-03_000-nacrt.gmi b/articles/2021-04-03_000-nacrt.gmi new file mode 100644 index 0000000..7b28d94 --- /dev/null +++ b/articles/2021-04-03_000-nacrt.gmi @@ -0,0 +1,17 @@ +# Načrt + +Risanje načrtov je zapletena stvar. Mislim, da sem se na zadnje s tehničnim risanjem ukvarjal v osnovni šoli, ko sem narisal načrte za ptičjo hišico. No, zdaj sem želel zrisati načrt stanovanja, da se lahko po njem malo orientiram, ko bom kupoval kakšno pohištvo, prestavljal stvari itd. + +Prvi problem: programska oprema. Seveda v 21. stoletju ne bom risal na papir s tehničnim svinčnikom. Program mora biti. In to brezplačen, ker kaj več kot 2D risbe niti ne rabim. In naj bi bilo podobno AutoCadu, ki ga vsaj malo poznam. + +Žal so časi spodobnih programov, ki so bili podobni AutoCadu in so bili hkrati brezplačni, mimo. Zadnji tak je bil Draftsight, ki pa zdaj stane … No, našel sem nekaj drugih programov, ki pa so manj uporabni. Moje zahteve so bile: + +* delati mora na stari verziji MacOS X (10.9.5) +* podpirati mora nek standarden format, ki ga lahko uvozim tudi v kak drug program (DWG, DXF, …) +* podpirati mora plasti +* dobro je če podpira ukaze, ki so podobni tistim v AutoCadu + +Recimo, da sem našel tak program. Nima sicer vseh možnosti, ki jih poznamo iz drugih programov, iz bolj zahtevnih, ampak vsaj osnovne stvari pa delujejo. Narisal sem že nekaj skic. Stene, pohištvo, kotiranje, šrafiranje … Osnovne stvari, ampak deluje. + +Program je LibreCad. Vmesnik je zelo osnoven, skoraj bi rekel, da je kot igrača. Manjka cel kup naprednejših stvari. Ikone gumbov so (pre)velike in v zeleni barvi. Ne-všečno. Ampak za opravi delo, tukaj se ne pritožujem. In risbe so shranjene v formatu DXF, ki ga lahko odpremo praktično povsod. + diff --git a/articles/2021-04-24_000-streznik.gmi b/articles/2021-04-24_000-streznik.gmi new file mode 100644 index 0000000..ded8c2d --- /dev/null +++ b/articles/2021-04-24_000-streznik.gmi @@ -0,0 +1,17 @@ +# Strežnik + +Stari strežnik, HP Proliant MicroServer mi je [pred časom odpovedal](/streznik/streznik-ne-dela.md). No, te dni so se stvari začele premikati. Nabavil sem nov napajalnik, v upanju, da je odpovedal le ta, in da so vse ostale komponente nedotaknjene. Imel sem prav. + +Nov napajalnik je prišel v petek, in sem ga še isti dan zmontiral v škatlo. Najbolj sem se namučil z odklapljanjem molex konektorjev, ki so štirje – za vsak disk po en. No, ko je to šlo, sem odvil vijake na zadnji stranici in stari napajalnik izvlekel iz ohišja. Vstavil sem novega, priključil konektorje in preizkusil strežnik kar brez diskov. Prižgal se je povsem normalno. Zgledalo je obetavno, tako da sem nadaljeval s sestavljanjem preostalih komponent. Ko sem jih sestavil, sem strežnik vrnil na njegovo mesto ob televiziji. In ga priključil na električno napajanje. In ga zagnal. + +Zbudil se je. Vse deluje. Strežnik se je spet pokazal v omrežju. Lahko sem dostopal do shranjenih datotek, lahko sem spet pogledal vsebino spletnih strani … Fun. + +Sledila je posodobitev operacijskega sistema. To je bilo malo težje. Sistem, ki sem ga uporabljal, je bil OmniOS Bloody. Ta sistem je ne ravno stabilen – v smislu, da se hitro spreminja in da včasih starejše verzije niso povsem podprte. In to se je izkazalo za problem. Nadgradnja na najnovejšo verzijo ni delovala. Verjetno bi lahko kako posodobil Perl … ampak … + +Preklopil sem na OmniOS Stable. Na stabilno različico. Zamenjal sem publisherja paketov in sprožil avtomatsko nadgradnjo. Po kakšnih desetih minutah je strežnik sporočil, da ima najnovejši software. Po ponovnem zagonu se je strežnik zbudil v najnovejšo stabilno verzijo OmniOS. Zmaga. +Kaj pa zdaj? Zdaj čaka nadgradnja posameznih paketov, ki sem jih s časoma sam zgradil. PHP, PSQL, Nginx … seznam se nadaljuje. Strežnik je miroval osem mesecev, to je kar precej časa. + +Drugi vidik je, da sem na alternativnem strežniku, Mac Mini, zgradil drugačno okolje. Drugačno, mogoče bi lahko rekel, da boljše. Manj zunanjih odvisnosti, manj čudnih progamov. Brez PHP. In brez WordPressa. Te bloge po novem pišem v Markdownu in ne rabim skrbeti za cel kup čudnih napak, ki se dogajajo vsaki novi instalaciji WordPressa. To je zanimiv del. Mogoče bom obdržal to novo arhitekturo sistema. + +No, časa bo še dovolj. Mogoče bo vse, kar je potrebno, samo prenesti vse nove kontejnerje (zone) na stari strežnik. Upam, da mi to nekako uspe v naslednjih tednih in da sčasoma Mac Mini ugasnem. + diff --git a/articles/2021-09-07_000-napajalnik-streznika-spet-odpovedal.gmi b/articles/2021-09-07_000-napajalnik-streznika-spet-odpovedal.gmi new file mode 100644 index 0000000..4b26564 --- /dev/null +++ b/articles/2021-09-07_000-napajalnik-streznika-spet-odpovedal.gmi @@ -0,0 +1,6 @@ +# Napajalnik strežnika spet odpovedal + +Pred nekaj tedni je že drugič odpovedal napajalnik strežnika. Star je bil nekaj več kot leto dni, ravno nekaj več, kot krije garancija prodajalca. Res imam srečo! No, kupil sem novega, in to pri istem prodajalcu kot prejšnjega. + +Po hitri menjavi in čiščenju prahu v notranjosti, strežnik spet deluje. Potrebuje še nekaj posodobitev, pa bomo spet nazaj v polni moči. + diff --git a/articles/2021-09-07_001-avto-je-izdahnil.gmi b/articles/2021-09-07_001-avto-je-izdahnil.gmi new file mode 100644 index 0000000..0fa81e1 --- /dev/null +++ b/articles/2021-09-07_001-avto-je-izdahnil.gmi @@ -0,0 +1,18 @@ +# Avto je izdahnil + +Zgodilo se je, kar se je morallo zgoditi. Citroen C4 Picaso, 2009, 1.6 … je odšel na večno parkirišče. Že dalj časa je imel težave z motorjem. Pil je veliko olja, občasno se je malo pregreval … Nikoli nisem imel posebej dobrega občutka. + +Potovali smo z njim. Letos smo bili na morju, v zadnjem letu sem prevozil okoli 20.000 kilometrov. Zadnja pot je bila iz Ljubljane proti Lendavi. Načrt je bil tak, da se ustavim v Mariboru, kjer doma poberem še nekaj malenkosti iz stanovanja in jih peljem v Lendavo. Pri izvozu z avtoceste je nekajkrat pocukal. Takoj je bilo jasno, da je nekaj narobe. Vprašanje je bilo le koliko je bilo narobe. Z nekaj dodatnega plina je motor normalno stekel in pripeljal sem do bloka. Ustavil, skočil v stanovanje. Kake pol ure je trajal postanek – dovolj, da se avto malo ohladi. + +Prišel je čas za nadaljevanje vožnje. Štart motorja ni uspel. Motor je cukal, ampak ni vžgal. Še en poskus. Malo več plina. Motor je stekel, po začetnem cukanju je začel lepo delovati. Mogoče bo še ok? + +Zapeljem proti avtocesti. Čez kakšne tričetrt ure bi rad bil v Lendavi. Tik pred uvozom na avtocesto – pisk in opozorilne lučke. Nivo hladilne tekočine je padel pod kritično mejo. Na zaslonu se izpiše “STOP”. Namesto na avtocesto, zavijem na avtobusno postajo. Sobota je, na srečo avtobusov ni. Pod avtomobilom je nastala lužica. Preverim rezervoar hladilne tekočine – prazen je. + +No, tega problema ne morem rešiti sam. Pokliče asistenco in čakam. Tovornjak se pojavi čez pol ure in naloži avto. Odpelje me do servisa, kjer bi popravili avto. Servis v soboto popoldne seveda ne dela. Pred servisom me že čaka prevoz do Lendave – super, da se je vsaj potovanje dobro končalo. + +Avta se ne da popraviti – je sporočil mehanik – razpoka se je pojavila na bloku motorja. Možna je menjava motorja – ki pa stane. Več kot je avto vreden. Gre za motor, ki velja za enega slabših, na vsakem od servisov, kjer so ga imeli priložnost popravljati, so mi povedali, da bo kmalu prišel njegov čas. Delujočih motorjev te vrste je le še malo. Pred časom je mehanik našel enega, ki pa ga je naročnik drago plačal. Čas za odločitev. Prodaja oziroma razgradnja. In nakup novega. + +Tako se končuje tri in pol leta dolga saga z nikoli povsem dobro delujočim avtomobilom. Naslednji bo nov, rabljenega ta trenutek res, res, res ne bi. + +Kolikor je bil ta avto lep in udoben, razgleden in uporaben, prostoren in varen … nikoli ni zares delal tako kot bi moral. Pil je velike količine olja, imel je težave z izpuhom, za servise sem plačal malo bogastvo. Upam, da ga predelajo v nekaj bolj uporabnega. + diff --git a/articles/2021-09-27_000-nov-avto.gmi b/articles/2021-09-27_000-nov-avto.gmi new file mode 100644 index 0000000..db88484 --- /dev/null +++ b/articles/2021-09-27_000-nov-avto.gmi @@ -0,0 +1,26 @@ +# Nov avto + +Star avto je odvozil svoje, zato je prišel čas za novega. Priznam, ves proces nakupovanja avtomobila je zame nepotreben stres. Hitreje kot je proces končan, bolje je. Res se nerad ukvarjam s tem. Zato sem si postopek poenostavil, kolikor se je le dalo. +## Pogoji + +Kaj mora izpolnjevati avto, ki bi bil zame ustrezen nakup? Ne pravim, da je dober nakup, da je najboljši, da je všeč komurkoli … Zame. + +Najprej cena. Avto je (kot je očitno v primeru starega) potrošni material. Pokvari se, včasih prek meja popravljivosti. In to je pričakovano, prej ali slej. Prav veliko denarja ne bi namenil za avto, raje ga porabim za kaj drugega. Razumljivo je, da pod neko ceno, ustreznih avtomobilov ni, in da je omejitev navzgor samo modro nebo. Da skrajšam proces, sem budget nastavil na 10-15.000 evrov. V tem območju ni veliko avtomobilov, nekaj pa jih vseeno je. + +Osnovni namen avtomobila je vožnja, dodaten bonus je, če je vožnja udobna. Pogoj za to so udobni sedeži, veliko prostora vsaj za voznika in sovoznika in pa prostoren prtljažnik. Z avtom se voziva v glavnem dva. In s sabo včasih vzameva še koga, predvsem pa poln prtljažnik stvari, ki jih človek rabi med dopustom. In takrat se res ne bi rad odločal, kaj pustiti doma. + +Avtomobili se kvarijo. Stari avtomobili se kvarijo bolj pogosto kot novi. Odločitev je bila, da tokrat (prvič v življenju) nabavim nov avtomobil. To dodatno zoži krog kandidatov. +## Avto + +V izbiri sem na koncu imel avtomobile kot so Renault Clio, Dacia Duster, Dacia Sandero, Kia Rio in Kia Stonic. Clio je majhen avto, sicer dober in v mojem cenovnem razponu tudi že lepo opremljen. Podobno je stanje z obema Kiama in Dacio Sandero. + +Na preizkus smo se peljali z Kio Stonic. Lep avto, lepo se pelje. Na zadnjih sedežih je nekoliko manj prostora, prtljažnik pa tudi ni presežek. Napihnjen Clio, bi mu lahko rekli. Ampak je bil v igri. + +Dacia. Duster je velik. Za svojo ceno največji od vseh. In po obliki mi je bil všeč. V osnovni različici je bil brez vsega, celo brez klime. Vsaka stvar je doplačilo. Ko nabereš nekaj manjkajočih komponent, se cena dvigne na raven modela z boljšo opremo, ki ima večji del vsega že vključenega. + +Potem se je pojavil konkreten Duster. Letošnje modelno leto, ampak star model. Pravkar so prišli nekoliko polepšani novi Dusterji. Tale konkretni je modre barve, “prestige” oprema, Eco-G motor. To pomeni, da poleg navadnega 95-oktanskega bencina, pelje tudi na utekočinjen naftni plin. To gorivo je bolj poceni od bencina, bolj okoljsko sprejemljivo. Nekaj med bencinom in elektriko. Cena skoraj 16.000 evrov. Po nekaj razmisleka in preračunih je odločitev padla. Razliko bi se dalo prihraniti že pri gorivu. Ta bo pravi. +## Nakup + +Ta del je bil še najbolj časovno potraten. Vožnja v Lendavo s postankom v Murski Soboti, registracija, zavarovanje, prevzem. Vsi prodajalci v postopku so bili res prijazni in ustrežljivi, izkušnjo so naredili dobro. Moje mnenje o nakupovanju avtomobilov se ni spremenilo, še vedno jih ne bi kupoval večkrat kot je to nujno. + +Nov avto je zdaj na dvorišču. Lep, bleščeč. Z veliko prostora. In s poceni gorivom. Upam, da bo služil dlje kot prejšnji. diff --git a/articles/2021-12-20_000-about-this-server.gmi b/articles/2021-12-20_000-about-this-server.gmi new file mode 100644 index 0000000..0b6e000 --- /dev/null +++ b/articles/2021-12-20_000-about-this-server.gmi @@ -0,0 +1,28 @@ +# Uplink Gopher Server + +A story of an old gopher server + +A long time ago I wrote a little gopher client in C#. It was a fun excersize as I was learning to program. To test it I also wrote a little server to go along with it. Years passed and my gopher client can't handle a big part of the net that switched to IPv6. Oh well. The server works as intended, but the old 3.5 .net framework is outdated. I would need to recompile it but I cannot make the new mono compilers work on Solaris (the old one works fine). So I fel t a little stuck with the old server and old framework. And a half working client. + +Then one day I found gemini protocol and several projects around it that also support gopher protocol. I especially liked Lagrange client that can handle gemini and gopher. I began research and experimentation. I like how it renders menues, how it displays text. It makes this old prtocol shine with the beautiful typografy. It really is my new favourite way to look at gopher. + +=> gemini://gemini.circumlunar.space/docs/ Gemini protocol +=> gemini://skyjake.fi/lagrange/ Lagrange + +Gemini (and Lagrange in particular) took several ideas from gopher and some from the www and created gemini. Even better - these new paradigms were then applied to gopher aswell. + +Let me elaborate a little on this paradigm shift. + +Gopher is a protocol that serves two kinds of content - menus and files (ok, there are also several others like images, links to telnet servers, search items and so on). Menus are - as far as gopher is concerned - just that - menus. Items can be seen as files, just like in ftp. There is even gopher file system driver - you can mount gopher server as filesystem under linux. Lagrange displays menus as a form of websites. + +When I was creating my gopher client and server, now about ten years ago, I never tought about that. My client takes the menu content and renders it in a full window listbox element. I tought about this listbox as being a "page" ... but man, Lagrange really took it to the next level. + +And this kind of thinking opens up new ideas - that got implemented into gemini servers. Gemtext files - gemini markup language. Markup for menus that are really pages. This could be applied to gopher aswell. Others probably already did it ... I had to try. + +So I created a small gopher server in NodeJS. 99 lines of code at the moment. It takes gemtext file and transorms it - line by line - into gopher menu and then sends it over to the client. Works nicely. + +99 lines of code is not a lot. I did not bother implementing folder browsing. Folder browsing is so ... 80's when it comes to gopher. Or maybe 2010. Gemini influence is ... at least for me - a new boost in interest for gopher. + +But my previous server was capable of properly handling Gopher+ requests. The chalange is to do the same in NodeJS. That might prove to be a chalange indeed as the paradigm shift never took Gopher+ into account. Will try it, lets see hot it works. + +And that is not all, by any mean. As gemtext supports some formating, similar to what is supported in markdown, you can mark titles, lists and so on. Markup is a really small subset of markdown, but nevertheless usefull. And that very same markup can be used also in gopher. And Lagrange will happily format the text accordingly. Wow. diff --git a/articles/2021-12-20_001-a-new-article.gmi b/articles/2021-12-20_001-a-new-article.gmi new file mode 100644 index 0000000..f85ca9f --- /dev/null +++ b/articles/2021-12-20_001-a-new-article.gmi @@ -0,0 +1,4 @@ +# A New Day, a New Article +This is day two of my Gemini blogging. I am still working on inner workings of the server. It kinda works but the router is a bit stubborn. I have a feeling it should be a bit less complex, a bit simpler. + +Anyway, this article is here just to test if everything (or maybe I should say anything) works. diff --git a/articles/2021-12-26_000-third-day.gmi b/articles/2021-12-26_000-third-day.gmi new file mode 100644 index 0000000..146b723 --- /dev/null +++ b/articles/2021-12-26_000-third-day.gmi @@ -0,0 +1,20 @@ +# Third Day +Today is day three of my Gemini blogging career. Let's see what it brings. + +The inner workings of the server are done now. I really like how things +work. There are some corner cases that I need to iron out, but the server +works. + +There is still some debug code in there. I need to go and delete that. It +should make the server work faster as well. + +When we are talking speed ... about 4 miliseconds per request. I think that +is plenty fast. + +What else? Logging. We need logging. Right now it is all in form of + +``` Javascript code +console.log('Error message: ' + error); +``` + +But we need to divert it to a file. diff --git a/articles/2021-12-30_000-wordpress.gmi b/articles/2021-12-30_000-wordpress.gmi new file mode 100644 index 0000000..4156feb --- /dev/null +++ b/articles/2021-12-30_000-wordpress.gmi @@ -0,0 +1,38 @@ +# WordPress +Wordpress is giving me headache. + +Ever since I started my own server I used Wordpress. It is not a bad +platform, in fact it is very nice. With modern lightweight theme it can be a +breeze to use. + +But it is heavy. It is a lot of code in a language I do not really like +(php). And it does a lot of things that I do not need. For what I use it is +becoming to heavy and to ... difficult. + +## How I use WordPress + +I write an article every so often. Nothing special, it's just a blog. I do +not get much comments if any. I do not write for comments, it's more about +my external memory. Do I even need comments? + +I like photos. I like to ad photos to my articles. They fit nicely into +"external memory" concept. + +Built in editor is slow. All the code in the WordPress is making it slow. My +server is not a high end machine so it does not really fly with it. And +articles are saved in a database ... + +## What would I like? + +A lightweight system. On disk files instead of database for storage, maybe +markdown formating. + +And this is where Gemini fits in nicely. + +## Will I switch? + +Not sure yet. Let's see how things work out. I have a Gemini server +up-and-running and will keep creating the content. Maybe I will even migrate +my old articles here. + +For now no. WordPress with all its problems, remains. \ No newline at end of file diff --git a/articles/2021-12-31_000-last-days.gmi b/articles/2021-12-31_000-last-days.gmi new file mode 100644 index 0000000..456a584 --- /dev/null +++ b/articles/2021-12-31_000-last-days.gmi @@ -0,0 +1,10 @@ +# Last Days +Last days of the year are here. Corona crisis is still ongoing. Now with Omicron variant. It seems like de ja vu from the last year. + +Work for this year is done. The last week was just relaxing and doing things I like. I cleand up my apartment and set up a small recording studio. I bought some equipment through the year, but never came around to set it up. + +These days I have a little fun with programming. I set up my Gemini server and wrote a couple of articles. Fun. + +## Next year + +Like every year ... you never know. Let's see what it brings. diff --git a/articles/2022-01-01_000-first-day.gmi b/articles/2022-01-01_000-first-day.gmi new file mode 100644 index 0000000..cfcf21b --- /dev/null +++ b/articles/2022-01-01_000-first-day.gmi @@ -0,0 +1,6 @@ +# Today is the first day +If the year will be anything like the first day ... I do not want to see how it ends. Or just how it continues. + +I woke up with runny nose. In the middle of Corona crysis I have a runny nose. Am I sick? No tests handy. Maybe it's just a cold? Maybe this is just a wishfull thinking. If this is a sign of things to come, I already hate this year. + +Well, I guess we will have to wait and see. diff --git a/articles/2022-01-02_000-negative.gmi b/articles/2022-01-02_000-negative.gmi new file mode 100644 index 0000000..2a17a81 --- /dev/null +++ b/articles/2022-01-02_000-negative.gmi @@ -0,0 +1,14 @@ +# Negative +Yesterday I got sick. For entire night I was not able to sleep properly. My nose was running, I felt horibly. This morning was not any better. + +=> /articles/2022-01-01_000-first-day.gmi Yesterday + +I canceled my plans for today and stayed at home. I was sure I contracted Corona. In my head I was going through all my activities of the week before. I was mostly at home or at my girlfriend's. The only time I got out of my "bubble" was when I went to play some badminton and then for a lunch. Oh, and I went to the grocery store a couple of times. Not very risky activities. + +But that did not helpmuch. My paranoia grew stronger. I booked a quick testing. The site is near my home, I went there and got tested. I then went home waiting for the results. + +Negative. + +So. It is not Corona, it must be common cold. I felt a bit of relief. I got cold. It is such time of the year. It is a bit unexpected ... but I guess I should have properly dried my hair after badminton. Or maybe I should have worn warmer pants, shoes or something. + +I guess I dodged a bullet this time :) diff --git a/articles/2022-01-06_000-ipv6-on-omnios.gmi b/articles/2022-01-06_000-ipv6-on-omnios.gmi new file mode 100644 index 0000000..ea92819 --- /dev/null +++ b/articles/2022-01-06_000-ipv6-on-omnios.gmi @@ -0,0 +1,95 @@ +# IPv6 on Omnios + +How can I enable IPv6 on my Omnios server? It turns out it is actually simple. Most of it is configured automatically. + +First we need to create a new address object with `ipadm`. Let's see what we have before we start: + +``` bash code +root@server:# ipadm +ADDROBJ TYPE STATE ADDR +lo0/v4 static ok 127.0.0.1/8 +bge0/v4 dhcp ok 192.168.5.136/24 +lo0/v6 static ok ::1/128 +``` + +These are my three existing address objects - `lo0/v4` is link-local IPv4, `lo0/v6` is link-local IPv6 that was created automatically at install time and `bge0/v4` that is my IPv4 address - a local network. + +Now let's create `bge0/v6`. + +``` bash code +root@server:# ipadm create-addr -T addrconf bge0/v6 +``` + +This is it. We created new address object. Let's take a look how the list of addresses looks like now. + +``` bash code +root@server:# ipadm +ADDROBJ TYPE STATE ADDR +lo0/v4 static ok 127.0.0.1/8 +bge0/v4 dhcp ok 192.168.5.136/24 +lo0/v6 static ok ::1/128 +bge0/v6 addrconf ok fe80::9a4b:e1ff:fe08:8847/10 +``` + +Note the new `bge0/v6` line. We have got a new IPv6 address. It is calculated from the MAC address of the interface. + +Next we need to start IPv6 daemon We do that like this: + +``` bash code +root@server:# /usr/lib/inet/in.ndpd +``` + +IPv6 is up and running. Lets ping some other device on the network: + +``` bash code +root@server:# ping fe80::daec:5eff:fe17:e369 +fe80::daec:5eff:fe17:e369 is alive +``` + +And last let us check our new configuration: + +``` bash code +root@server:# ifconfig -a +lo0: flags=2001000849 mtu 8232 index 1 + inet 127.0.0.1 netmask ff000000 +bge0: flags=1004943 mtu 1500 index 2 + inet 192.168.5.136 netmask ffffff00 broadcast 192.168.5.255 + ether 98:4b:e1:8:88:47 +lo0: flags=2002000849 mtu 8252 index 1 + inet6 ::1/128 +bge0: flags=20002000941 mtu 1500 index 2 + inet6 fe80::9a4b:e1ff:fe08:8847/10 + ether 98:4b:e1:8:88:47 +bge0:1: flags=20002080941 mtu 1500 index 2 + inet6 fd4a:c012:3f23:0:9a4b:e1ff:fe08:8847/64 +bge0:2: flags=20002080941 mtu 1500 index 2 + inet6 2a01:261:2f0:6300:9a4b:e1ff:fe08:8847/64 +``` + +We now have three IPv6 addresses. `bge0` that starts with `fe80` is a link-local address. It is used for getting the configuration from the router. Then there is `bge0:1` that starts with `fd4a`. This is a unique local address. And then there is `bge0:2` that starts with `2a01`. This is part of prefix assigned to me by my ISP. The address is globaly unique. + +Let's test it some more ... I have a pihole server on my network that already uses IPv6. Let's ping it ... + +``` bash code +root@server:# ping pi.hole +pi.hole is alive +root@server:# man ping +root@server:# ping -s -A inet6 -a pi.hole +PING pi.hole: 56 data bytes +64 bytes from pi.hole (fd4a:c012:3f23:0:9d9:b40a:5dc2:97df): icmp_seq=0. time=2,063 ms +64 bytes from pi.hole (fd4a:c012:3f23:0:9d9:b40a:5dc2:97df): icmp_seq=1. time=0,921 ms +64 bytes from pi.hole (fd4a:c012:3f23:0:9d9:b40a:5dc2:97df): icmp_seq=2. time=1,110 ms +64 bytes from pi.hole (fd4a:c012:3f23:0:9d9:b40a:5dc2:97df): icmp_seq=3. time=0,989 ms +64 bytes from pi.hole (fd4a:c012:3f23:0:9d9:b40a:5dc2:97df): icmp_seq=4. time=0,993 ms +^C +----pi.hole PING Statistics---- +5 packets transmitted, 5 packets received, 0% packet loss +round-trip (ms) min/avg/max/stddev = 0,921/1,215/2,063/0,479 +``` + +Works like a charm. + +## More reading: +=> https://docs.oracle.com/cd/E23824_01/html/821-1453/ipv6-config-tasks-64.html Configuring an IPv6 Interface +=> https://www.tutorialspoint.com/ipv6/ipv6_address_types.htm IPv6 addressing + diff --git a/cert/uplink-cert.pem b/cert/uplink-cert.pem new file mode 100644 index 0000000..1eca60d --- /dev/null +++ b/cert/uplink-cert.pem @@ -0,0 +1,22 @@ +-----BEGIN CERTIFICATE----- +MIIDnzCCAocCFDjQlA+Qd0in8fZrhmmq0kBBk+t3MA0GCSqGSIb3DQEBCwUAMIGL +MQswCQYDVQQGEwJTSTERMA8GA1UECAwIU2xvdmVuaWExEjAQBgNVBAcMCUxqdWJs +amFuYTESMBAGA1UECgwJVXBsaW5rOlNJMQwwCgYDVQQLDANkZXYxEjAQBgNVBAMM +CXVwbGluay5zaTEfMB0GCSqGSIb3DQEJARYQZ2VtaW5pQHVwbGluay5zaTAeFw0y +MTEyMjYxNzM2MDFaFw0yMjAxMjUxNzM2MDFaMIGLMQswCQYDVQQGEwJTSTERMA8G +A1UECAwIU2xvdmVuaWExEjAQBgNVBAcMCUxqdWJsamFuYTESMBAGA1UECgwJVXBs +aW5rOlNJMQwwCgYDVQQLDANkZXYxEjAQBgNVBAMMCXVwbGluay5zaTEfMB0GCSqG +SIb3DQEJARYQZ2VtaW5pQHVwbGluay5zaTCCASIwDQYJKoZIhvcNAQEBBQADggEP +ADCCAQoCggEBAN2g3ff1xzpltdTDp0+J/sF0B7tXKdtgI9uu3cc/c9XKEq/pvd3h +lhDRAwqgjfmAwVTzghhpLJTfFRXmYGX2iW+5Mm3vbZEraFcfSRl02eRP+NMThCsC +cdDlkaoZ2h7TAxMFHiRhXVYj4CDuyNVuTTIDNZYVgn/0bHWzPstnWYj3NnhXsmhy +tkWrBF8OWHwjdO0M0bFUOhCtSb2AjPsSN2Qmoe6yf6vLVPWLwoRFVHJlSjB3pN1N +N927za7VFHAb5KuiLbX4kLgmJGwqb7mG/i7nk9Z/b+6KG08BaWxZLNaqpEUKl2cJ +JMSr+TcedIhtruKCZ1R4iUmqfqXre4l1GUkCAwEAATANBgkqhkiG9w0BAQsFAAOC +AQEAmZGmIkpprqBftagpd3UCLwybZj1yeTRFDxfg9V7gcz8KmtDo1NTXB+mbP/8x +9jdJuztPDzJ0z73TOF8tvwvMD+hzRHMvNQPe8WnINpZxfEZGcW3QGVqoKlT2l5cs +bDejPlkwQsABmZRmPol1kisQeQY7GUU+IN4mVTjUCSe5J/5ACi96OrkfEtGhbluh +MTeynkVBpSoVTJp04d89ianYhtdeyn+i9D/aZppxc+z4kD94Gmv5C/ME++rT0cMw +OfJsksn0t0LSdPUKtnEAXwlyuw1hQP8eNDAoEIV0nmFRmwqHkzguCCn4ODEZhTpV +9BAIB0oshkg4268OnFB7PvF+xQ== +-----END CERTIFICATE----- diff --git a/cert/uplink-csr.pem b/cert/uplink-csr.pem new file mode 100644 index 0000000..427942d --- /dev/null +++ b/cert/uplink-csr.pem @@ -0,0 +1,19 @@ +-----BEGIN CERTIFICATE REQUEST----- +MIIDBzCCAe8CAQAwgYsxCzAJBgNVBAYTAlNJMREwDwYDVQQIDAhTbG92ZW5pYTES +MBAGA1UEBwwJTGp1YmxqYW5hMRIwEAYDVQQKDAlVcGxpbms6U0kxDDAKBgNVBAsM +A2RldjESMBAGA1UEAwwJdXBsaW5rLnNpMR8wHQYJKoZIhvcNAQkBFhBnZW1pbmlA +dXBsaW5rLnNpMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA3aDd9/XH +OmW11MOnT4n+wXQHu1cp22Aj267dxz9z1coSr+m93eGWENEDCqCN+YDBVPOCGGks +lN8VFeZgZfaJb7kybe9tkStoVx9JGXTZ5E/40xOEKwJx0OWRqhnaHtMDEwUeJGFd +ViPgIO7I1W5NMgM1lhWCf/RsdbM+y2dZiPc2eFeyaHK2RasEXw5YfCN07QzRsVQ6 +EK1JvYCM+xI3ZCah7rJ/q8tU9YvChEVUcmVKMHek3U033bvNrtUUcBvkq6IttfiQ +uCYkbCpvuYb+LueT1n9v7oobTwFpbFks1qqkRQqXZwkkxKv5Nx50iG2u4oJnVHiJ +Sap+pet7iXUZSQIDAQABoDYwGAYJKoZIhvcNAQkCMQsMCVVwbGluazpTSTAaBgkq +hkiG9w0BCQcxDQwLcmRlY2kza29tYmkwDQYJKoZIhvcNAQELBQADggEBAGaF21Mu +9okHBSFhccHvPkir6+rN03LlMfuO2jqUk/IigfKKJidulnqY6SZcFl8Gu6nFdrMt +WOQLph+bBRNGA2IwN19tFFLnpyOLEr87Gs4i809yZHDBdtsMf2IvWWHhxAHJvvZs +RNjnjPMQjY2NugG5hN/82g/+3HRfmJ/uF6rd3BO7S+p9okWSO2DvJE6yziHijDzk +5NGjL5OCWRuPRhtoYeCoMQpAtt/BuwhfaHMi4t1e9Mhq3V0WnSNyxTV2gShb+egv +vTlIbiKjOUt/OqL5RA+dYC9CF65lveF6+YjsjmUFCXj5mfUlYGUK2wqxB6JveXJn +r5ibtTiTqA1ftoA= +-----END CERTIFICATE REQUEST----- diff --git a/cert/uplink-key.pem b/cert/uplink-key.pem new file mode 100644 index 0000000..e2c7e9a --- /dev/null +++ b/cert/uplink-key.pem @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEpQIBAAKCAQEA3aDd9/XHOmW11MOnT4n+wXQHu1cp22Aj267dxz9z1coSr+m9 +3eGWENEDCqCN+YDBVPOCGGkslN8VFeZgZfaJb7kybe9tkStoVx9JGXTZ5E/40xOE +KwJx0OWRqhnaHtMDEwUeJGFdViPgIO7I1W5NMgM1lhWCf/RsdbM+y2dZiPc2eFey +aHK2RasEXw5YfCN07QzRsVQ6EK1JvYCM+xI3ZCah7rJ/q8tU9YvChEVUcmVKMHek +3U033bvNrtUUcBvkq6IttfiQuCYkbCpvuYb+LueT1n9v7oobTwFpbFks1qqkRQqX +ZwkkxKv5Nx50iG2u4oJnVHiJSap+pet7iXUZSQIDAQABAoIBAANf/cFW5s/G2LwC +truJWG3NvIhnzWVf02v2/72XA8aPqzUulAua8dQTur4gr8jK4ybOBn8kqt8hfoq0 +1Wb4GCOxaEkwSjTZul8JRO20T9UgOqPMOkkFYoJR3KQAfMfXYsaZX1oieW9kYHdf +64MEiPxn/Brq/O/B4xzvu9cRHdXuFoxeX9zeQLibRQ8tKXgkiEh9wGLzK5HgNZ7/ +DY/tgSqFbylBr0u1SMA/JkN0y63QEagPxCU1x0R8YA/aPcC4AjLh0qYC4JkYbVcb +e1xhTo07Bw08CF90+2TOgSFTiGDOTkSTMS7YF1a5Jzt2LWNkFvBM1qfIgdnLabhP +ToafCQECgYEA+21LyTNEh92AEpxG3DyK3/pUUY7sZu4MDFo0rbWMF4vg1OVz8SbW +mKiYhF8ukSshb1RqX2iVvyXX7g5Pqy/gzYyTu7REagEraT3jhsDcN5eG2Bif7SMy +AepflXcJx9FNu4CmI46sRWyp4IBH+KRAnwm3uGElu5e9FOcDQ+wRnNECgYEA4ajS +ZIc8I2m1jBE3KM20LQ3m9fNSJPN88anrywMR5mEYvHEr8jO/xq5zXk9l/Zt3Sy3F +ZQNbhHM8fI35dM3jIKPstL4bHPlo64ZOfD7Hx3rBn3VCHNVB0iL9rQL95jd2zFMm +85RRBqNL+9O3/1YzpYzryPSQdePhOZenXJI28vkCgYEA4KUbHb5M8QgbsoUnWwhN +HSpRxD1rQ9xVr4O5paucbD1yuUX6ffExtFyPSVayCMr8qLhIAs8zXQK3F+B5ln7E +4WNFbGT4663316SQcopHOPSOau41lm/n8oYyuR0PBBYi2fFsgECt86nPbuOvap13 +j6HjIT7Ls/0z2EVASaPXaMECgYEAjHvtf2gxqFpHC8wr6tslMGdXQgcZPKfZQRno +EZr3qdUI8UgDc+WDns08RZpohFolCkiUey576xlSrrg0dOM4YzmqQ1uWxZMAHqCe +e/sZpLZnlD4Lyqd5MrlV9D/IkWo2Kz4ZIctUJi3DQCOuiOfBf28b2x9mT/5uWMxx +BNCCJQECgYEA8cGPoMvvZpuEL6W4sCldmE8OFZBLHfI05aY3k1+1yguX7uYMQ8Uf +lwHKp6iERw6tKoPmlPt+S4aVyYB85rSa7KTBKjcE9B3JiwO6ynl4TJAYu0Zi6R8z +ChaufERC6NNtdFInHfbJdvDJmV+nBZ6JVifb3kZgFQ/5ERD8Fbg+9l8= +-----END RSA PRIVATE KEY----- diff --git a/cert/uplink.pfx b/cert/uplink.pfx new file mode 100644 index 0000000..e42b8d6 Binary files /dev/null and b/cert/uplink.pfx differ diff --git a/geminiroot/localhost/index.gml b/geminiroot/localhost/index.gml new file mode 100644 index 0000000..42fca34 --- /dev/null +++ b/geminiroot/localhost/index.gml @@ -0,0 +1,29 @@ +# Uplink Gopher Server + +A story of an old gopher server + +A long time ago I wrote a little gopher client in C#. It was a fun excersize as I was learning to program. To test it I also wrote a little server to go along with it. Years passed and my gopher client can't handle a big part of the net that switched to IPv6. Oh well. The server works as intended, but the old 3.5 .net framework is outdated. I would need to recompile it but I cannot make the new mono compilers work on Solaris (the old one works fine). So I fel t a little stuck with the old server and old framework. And a half working client. + +Then one day I found gemini protocol and several projects around it that also support gopher protocol. I especially liked Lagrange client that can handle gemini and gopher. I began research and experimentation. I like how it renders menues, how it displays text. It makes this old prtocol shine with the beautiful typografy. It really is my new favourite way to look at gopher. + +=> gemini://gemini.circumlunar.space/docs/ Gemini protocol +=> gemini://skyjake.fi/lagrange/ Lagrange + +Gemini (and Lagrange in particular) took several ideas from gopher and some from the www and created gemini. Even better - these new paradigms were then applied to gopher aswell. + +Let me elaborate a little on this paradigm shift. + +Gopher is a protocol that serves two kinds of content - menus and files (ok, there are also several others like images, links to telnet servers, search items and so on). Menus are - as far as gopher is concerned - just that - menus. Items can be seen as files, just like in ftp. There is even gopher file system driver - you can mount gopher server as filesystem under linux. Lagrange displays menus as a form of websites. + +When I was creating my gopher client and server, now about ten years ago, I never tought about that. My client takes the menu content and renders it in a full window listbox element. I tought about this listbox as being a "page" ... but man, Lagrange really took it to the next level. + +And this kind of thinking opens up new ideas - that got implemented into gemini servers. Gemtext files - gemini markup language. Markup for menus that are really pages. This could be applied to gopher aswell. Others probably already did it ... I had to try. + +So I created a small gopher server in NodeJS. 99 lines of code at the moment. It takes gemtext file and transorms it - line by line - into gopher menu and then sends it over to the client. Works nicely. + +99 lines of code is not a lot. I did not bother implementing folder browsing. Folder browsing is so ... 80's when it comes to gopher. Or maybe 2010. Gemini influence is ... at least for me - a new boost in interest for gopher. + +But my previous server was capable of properly handling Gopher+ requests. The chalange is to do the same in NodeJS. That might prove to be a chalange indeed as the paradigm shift never took Gopher+ into account. Will try it, lets see hot it works. + +And that is not all, by any mean. As gemtext supports some formating, similar to what is supported in markdown, you can mark titles, lists and so on. Markup is a really small subset of markdown, but nevertheless usefull. And that very same markup can be used also in gopher. And Lagrange will happily format the text accordingly. Wow. + diff --git a/geminiroot/localhost/index1.gml b/geminiroot/localhost/index1.gml new file mode 100644 index 0000000..c7d86ed --- /dev/null +++ b/geminiroot/localhost/index1.gml @@ -0,0 +1,40 @@ +# Getting Started + +New to Gemini? Here are a few bookmarks to get you started. + +=> gemini://geminiquickst.art/ Gemini Quickstart: installing a client, finding and publishing content + +## Project Gemini + +=> gemini://gemini.circumlunar.space/ Project Gemini +=> gemini://gemini.circumlunar.space/capcom/ CAPCOM Geminispace Aggregator +=> gemini://gemini.circumlunar.space/software/ List of Gemini servers, clients, and other software + +## Search & Directories + +=> gemini://geminispace.info/ geminispace.info - Gemini Search Engine +The largest Gemini search engine. Also displays statistics about Geminispace. + +=> gemini://medusae.space/ medusae.space Gemini Directory +A curated collection of categorized capsules. + +=> gemini://review.treeblue.space/ The Treeblue Review +Curated feeds and links. + +## Gemlogs + +=> gemini://warmedal.se/~antenna/ Antenna +Aggregator of feed entries from around Geminispace. + +## Forums/Social + +=> gemini://station.martinrue.com Station +Microblogging with likes and replies. + +=> gemini://geddit.glv.one/ Geddit +Post links and comment anonymously. + +## Lagrange + +=> about:help Lagrange User Manual + diff --git a/geminiroot/localhost/podmapa/index.gml b/geminiroot/localhost/podmapa/index.gml new file mode 100644 index 0000000..c7d86ed --- /dev/null +++ b/geminiroot/localhost/podmapa/index.gml @@ -0,0 +1,40 @@ +# Getting Started + +New to Gemini? Here are a few bookmarks to get you started. + +=> gemini://geminiquickst.art/ Gemini Quickstart: installing a client, finding and publishing content + +## Project Gemini + +=> gemini://gemini.circumlunar.space/ Project Gemini +=> gemini://gemini.circumlunar.space/capcom/ CAPCOM Geminispace Aggregator +=> gemini://gemini.circumlunar.space/software/ List of Gemini servers, clients, and other software + +## Search & Directories + +=> gemini://geminispace.info/ geminispace.info - Gemini Search Engine +The largest Gemini search engine. Also displays statistics about Geminispace. + +=> gemini://medusae.space/ medusae.space Gemini Directory +A curated collection of categorized capsules. + +=> gemini://review.treeblue.space/ The Treeblue Review +Curated feeds and links. + +## Gemlogs + +=> gemini://warmedal.se/~antenna/ Antenna +Aggregator of feed entries from around Geminispace. + +## Forums/Social + +=> gemini://station.martinrue.com Station +Microblogging with likes and replies. + +=> gemini://geddit.glv.one/ Geddit +Post links and comment anonymously. + +## Lagrange + +=> about:help Lagrange User Manual + diff --git a/geminiroot/localhost/test.gml b/geminiroot/localhost/test.gml new file mode 100644 index 0000000..a77b535 --- /dev/null +++ b/geminiroot/localhost/test.gml @@ -0,0 +1,130 @@ +# CAPCOM Geminispace aggregator + +CAPCOM is an aggregator for Atom feeds of Gemini content. It was inspired by: +=> gopher://i-logout.cz:70/1/bongusta/ The Bongusta aggregator for Gopherspace + +Each month, CAPCOM randomly selects 100 distinct URLs from its list of known feeds, and includes their content in its output. This makes it a nice way to discover new content in Geminispace. If you're enjoying content from one feed, you should subscribe to it yourself in some way, because that feed is not guaranteed to be one of the 100 feeds chosen next month! +=> submit Submit your Atom feed's URL for inclusion in CAPCOM's list +=> feeds.txt See this month's active feeds + +If you want to maintain your *own* set of aggregated feeds, either for public consumption or your own private use, you can: +=> https://tildegit.org/solderpunk/CAPCOM Download the CAPCOM software + +To find feeds to add to your own CAPCOM instance, you can: +=> submitted-feeds.txt See all feed URLs known by this CAPCOM instance +=> gemini://gus.guru/known-feeds See all feed URLs known to the GUS search engine + +Aggregating 100 Atom feeds from Geminispace. + +## 2021-12-04 + +=> gemini://gemini.marmaladefoo.com/blog/3-Dec-2021_Making_yncke.gmi Luke's Gemlog - Making Yncke +=> gemini://warmedal.se/~bjorn/posts/2021-12-04-how-much-is-published-on-gemlogs.gmi ew0k is a Teddybear - How Much is Published on Gemlogs? +=> gemini://warmedal.se/~bjorn/posts/2021-12-04-advent-of-bloggers-2021-dec-4th.gmi ew0k is a Teddybear - Advent of Bloggers 2021, Dec 4th + +## 2021-12-03 + +=> gemini://compudanzas.net/qiudanz_devlog.gmi compudanzas - qiudanz technique in the slomoco fall gathering +=> gemini://warmedal.se/~bjorn/posts/2021-12-03-advent-of-bloggers-2021-dec-3rd.gmi ew0k is a Teddybear - Advent of Bloggers 2021, Dec 3rd +=> gemini://si3t.ch/log/2021-12-03-gmi2html-details.gmi log de prx - gmi2html.awk : support des médias + +## 2021-12-02 + +=> gemini://warmedal.se/~bjorn/posts/2021-12-02-hollywood-world-rescue.gmi ew0k is a Teddybear - Hollywood World Rescue +=> gemini://si3t.ch/log/2021-12-02-gmi2htmlawk.gmi log de prx - gmi2html.awk +=> gemini://warmedal.se/~bjorn/posts/2021-12-02-advent-of-bloggers-2021-dec-2nd.gmi ew0k is a Teddybear - Advent of Bloggers 2021, Dec 2nd +=> gemini://gemini.cyberbot.space/gemlog/2021-12-02-breadgamesmusic.gmi kelbot's gemlog - Bread, smolZINE, Videogames and Records + +## 2021-12-01 + +=> gemini://si3t.ch/log/2021-12-01-gemcol.gmi log de prx - Colorer un fichier écrit en gemtext +=> gemini://warmedal.se/~bjorn/posts/2021-12-01-advent-of-bloggers-2021-dec-1st.gmi ew0k is a Teddybear - Advent of Bloggers 2021, Dec 1st +=> gemini://compudanzas.net/advent_of_code_2021.gmi compudanzas - started advent of code 2021 using awk +=> gemini://gemini.circumlunar.space/~adiabatic/scrawlspace/ Halfway to Mars - You might want to check all CAPCOM posts at the start of a new month, not just the new ones. + +## 2021-11-30 + +=> gemini://alexschroeder.ch:1965/page/2021-11-30_The_difference_between_archiving_and_record_keeping Alex Schroeder - 2021-11-30 The difference between archiving and record keeping +=> gemini://moddedbear.xyz/logs/2021-11-30-november-is-gone.gmi moddedBear's log - November Is Gone: Thanksgiving, Burnout, and More +=> gemini://gemini.circumlunar.space/~adiabatic/scrawlspace/ Halfway to Mars - I consider when to start trimming my feeds and briefly take a trip down memory lane. +=> gemini://jsreed5.org/log/2021/202111/20211130-scope.gmi Rob's Gemini Capsule - Scope + +## 2021-11-29 + +=> gemini://warmedal.se/~bjorn/posts/2021-11-29-time-energy-motivation-pick-two.gmi ew0k is a Teddybear - Time, Energy, Motivation: Pick Two +=> gemini://si3t.ch/log/2021-11-29-emoji-fzf-vi-snippets.gmi log de prx - Sélection/insertion d'emojis (ou autre) avec vi et fzf +=> gemini://jsreed5.org/log/2021/202111/20211129-2021-week-46-47-thoughts-and-catch-up.gmi Rob's Gemini Capsule - 2021 Week 46/47: Thoughts and Catch-up + +## 2021-11-28 + +=> gemini://warmedal.se/~bjorn/posts/2021-11-28-killing-zombie-children-and-other-it-terms.gmi ew0k is a Teddybear - "Killing Zombie Children" and Other IT Terms +=> gemini://warmedal.se/~bjorn/posts/2021-11-28-some-quick-antenna-stats.gmi ew0k is a Teddybear - Some Quick Antenna Stats +=> gemini://jsreed5.org/log/2021/202111/20211128-the-movie-theater.gmi Rob's Gemini Capsule - The Movie Theater + +## 2021-11-27 + +=> gemini://alexschroeder.ch:1965/page/2021-11-27_Emacs_as_a_way_of_life Alex Schroeder - 2021-11-27 Emacs as a way of life +=> gemini://warmedal.se/~bjorn/posts/2021-11-27-damn-small-software.gmi ew0k is a Teddybear - Damn Small Software +=> gemini://warmedal.se/~bjorn/posts/2021-11-27-running-in-the-cold.gmi ew0k is a Teddybear - Running in the Cold + +## 2021-11-26 + +=> gemini://compudanzas.net/qiudanz_devlog.gmi compudanzas - fourth qiudanz technique mini workshop +=> gemini://shit.cx/other/2021-11-26-making-a-leather-belt/ shit.cx - Making a Leather Belt +=> gemini://alexschroeder.ch:1965/page/2021-11-26_Random_tables%2C_again Alex Schroeder - 2021-11-26 Random tables, again +=> gemini://alexschroeder.ch:1965/page/2021-11-26_Why_I_hate_bots Alex Schroeder - 2021-11-26 Why I hate bots +=> gemini://alexschroeder.ch:1965/page/2021-11-26_Colours_in_our_texts Alex Schroeder - 2021-11-26 Colours in our texts +=> gemini://alexschroeder.ch:1965/page/2021-11-26_Unhappy_thoughts_when_reading_social_media Alex Schroeder - 2021-11-26 Unhappy thoughts when reading social media +=> gemini://jsreed5.org/log/2021/202111/20211126-thanksgiving-2021.gmi Rob's Gemini Capsule - Thanksgiving 2021 +=> gemini://gemini.circumlunar.space/~adiabatic/scrawlspace/ Halfway to Mars - I explain how and why I do things differently when I’m writing in gemtext as opposed to Markdown. +=> gemini://gemini.circumlunar.space/~adiabatic/unfiled/parthenon/ Halfway to Mars - I add Howard Roark’s critique of the Parthenon so I don’t have to look at it on an unstyled web page with no dark mode, em dashes, or curly quotes. +=> gemini://gemini.circumlunar.space/~adiabatic/scrawlspace/ Halfway to Mars - I ponder all the different speeds I can charge my laptop at. +=> gemini://sbg.one/gemfeed/2021-11-26-audio-update.gmi SandboxGeneral - Audio Update Part 2 + +## 2021-11-25 + +=> gemini://warmedal.se/~bjorn/posts/2021-11-25-i-once-transitioned-a-friend-from-windows-to-ubuntu.gmi ew0k is a Teddybear - I Once Transitioned a Friend From Windows to Ubuntu +=> gemini://rwv.io/2021-11-25-nix-on-guix.gmi RWV.io - Nix on Guix notes +=> gemini://gemini.cyberbot.space/gemlog/2021-11-25-pdatuiriffing.gmi kelbot's gemlog - Some More Riffing on PDAs and TUIs + +## 2021-11-24 + +=> gemini://warmedal.se/~bjorn/posts/2021-11-24-i-want-my-next-phone-to-have-a-headphone-jack.gmi ew0k is a Teddybear - I Want My Next Phone to Have a Headphone Jack +=> gemini://warmedal.se/~bjorn/posts/2021-11-24-crashing-things-in-space-for-science.gmi ew0k is a Teddybear - Crashing Things in Space For Science! +=> gemini://compudanzas.net/qiudanz_devlog.gmi compudanzas - third qiudanz technique mini workshop +=> gemini://drewdevault.com/2021/11/24/A-philosophy-for-instant-messaging.gmi Drew DeVault's Geminispace blog - My philosophy for productive instant messaging +=> gemini://capsule.usebox.net/gemlog/20211124-not-feeling-it.gmi Juan's Personal Gemlog - Not feeling it + +## 2021-11-23 + +=> gemini://shit.cx/other/2021-11-23-hat-band/ shit.cx - Hat Band +=> gemini://moddedbear.xyz/logs/2021-11-23-covers-better-than-the-originals.gmi moddedBear's log - Covers Better Than the Originals +=> gemini://si3t.ch/log/2021-11-23-differents-aspects-site.gmi log de prx - Les différents aspects de ce site +=> gemini://alexschroeder.ch:1965/page/2021-11-23_Episode_39 Alex Schroeder - 2021-11-23 Episode 39 + +## 2021-11-22 + +=> gemini://warmedal.se/~bjorn/posts/2021-11-22-non-sugary-desserts.gmi ew0k is a Teddybear - Non-sugary Desserts? +=> gemini://warmedal.se/~bjorn/posts/2021-11-22-re-do-you-write-about-non-technical-stuff-on-your-gemlog.gmi ew0k is a Teddybear - Re: Do you write about non-technical stuff on your gemlog? +=> gemini://gemini.cyberbot.space/gemlog/2021-11-22-pranks.gmi kelbot's gemlog - Computer Pranks and Fun + +## 2021-11-21 + +=> gemini://compudanzas.net/intro_to_uxn_programming.gmi compudanzas - taught and enjoyed our intro to uxn programming online workshop via babycastles academy! +=> gemini://g.moi.lc/minilog.gmi Une capsule Gemini francophone - Minilog, ou GLOG (Gemini Log) +=> gemini://jsreed5.org/log/2021/202111/20211121-last-nights-drinks.gmi Rob's Gemini Capsule - Last Night's Drinks +=> gemini://gemini.cyberbot.space/gemlog/2021-11-21-tuis.gmi kelbot's gemlog - RE: Lightweight GUIs, TUIs + +## 2021-11-20 + +=> gemini://warmedal.se/~bjorn/posts/2021-11-20-re-re-lightweight-simple-and-cross-platform-gui-programming.gmi ew0k is a Teddybear - Re: Re: Lightweight, Simple, and Cross-Platform GUI Programming? +=> gemini://si3t.ch/log/2021-11-20-livres-favoris.gmi log de prx - Les livres que j'ai aimé +=> gemini://alexschroeder.ch:1965/page/2021-11-20_Climate_Catastrophe_in_1990 Alex Schroeder - 2021-11-20 Climate Catastrophe in 1990 +=> gemini://kota.nz/notes/warm_days/ Kota's blog - Warm Days +=> gemini://drewdevault.com/2021/11/20/Dark-forest.gmi Drew DeVault's Geminispace blog - An alternative to the Dark Forest hypothesis + +## 2021-11-19 + +=> gemini://warmedal.se/~bjorn/posts/2021-11-19-lightweight-simple-and-cross-platform-gui-programming.gmi ew0k is a Teddybear - Lightweight, Simple, and Cross-Platform GUI Programming? +=> gemini://compudanzas.net/qiudanz_devlog.gmi compudanzas - first check-in meeting with slomoco fall microresidents + diff --git a/index.js b/index.js new file mode 100644 index 0000000..d74847e --- /dev/null +++ b/index.js @@ -0,0 +1,15 @@ +var uplinkGemini = require('./uplink-gemini'); + +var index = require('./routes/index'); +var articles = require('./routes/articles').articles; +var articles_item = require('./routes/articles').articles_item; + +const app = new uplinkGemini.App(); +const gemini = new uplinkGemini.Gemini(); + +gemini.router.use('/', index); +gemini.router.use('/articles/', articles); +gemini.router.use('/articles/:item', articles_item); + + +gemini.listen(); diff --git a/package.json b/package.json new file mode 100644 index 0000000..46896a5 --- /dev/null +++ b/package.json @@ -0,0 +1,14 @@ +{ + "name": "gemini", + "version": "1.0.0", + "description": "", + "main": "index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1", + "start": "node index.js" + }, + "author": "", + "license": "ISC", + "dependencies": { + } +} diff --git a/routes/articles.js b/routes/articles.js new file mode 100644 index 0000000..4cc734a --- /dev/null +++ b/routes/articles.js @@ -0,0 +1,37 @@ +var fs = require('fs'); + +function toTitleCase(str) { + return str.replace(/\w\S*/g, function(txt){ + return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase(); + }); +} + +/* GET home page. */ +function articles(request, response) { + var articleList = fs.readdirSync('./articles'); + articleList.reverse(); + var contents = ''; + articleList.forEach(function(item) { + var title = item.replace('.gmi', '').replace(/\-/g, ' '); + title = toTitleCase(title); + contents += `=> /articles/${item} ${title}\r\n`; + }); + response.send(`20 text/gemini\r\n +# Articles by Uplink:SI +List of Articles: +${contents} +`); +} + +function articles_item(request, response) { + var article = fs.readFileSync('./articles/' + request.params.item); + response.send(`20 text/gemini\r\n +${article} + +=> /articles/ 📓Articles +=> / 🏡Home +`); +} + +module.exports.articles = articles; +module.exports.articles_item = articles_item; diff --git a/routes/index.js b/routes/index.js new file mode 100644 index 0000000..88d2015 --- /dev/null +++ b/routes/index.js @@ -0,0 +1,48 @@ +/* GET home page. */ +function index(request, response) { + var adminBlock = ""; + if(request.clientCert.fingerprint == '96:19:A6:91:57:AF:E2:D3:E0:80:FC:35:4E:BD:2A:46:C9:2D:CB:53') { + adminBlock = '## Administration\r\n=> /admin Administration'; + } +response.send(`20 text/gemini\r\n +\`\`\` Uplink:SI Logo +■ ■ ■ ■ _ _ ____ _ _ _ _ _ _ ____ _ ■ ■ ■ ■ + ■ ■ ■ | | |__/ | | |\\ | |_/ / [__ | ■ ■ ■ + ■ ■ \\__/ | |___ | | \\| | \\_ / ___] | ■ ■ + ■ ■ + -=Est. 2021=- +\`\`\` +Uplink is my conection to the Gemini Space. It is to become a great site. At this moment I will be publishing my own articles, my own content. +# 📡Uplink:SI + +## 🖥 About this server +Uplink.si started about ten years ago. A long time in Internet time. First it was running on free dynamic domains but at some point Uplink.si was registered. The server was always running HTTP and Gopher servers. I was always fascinated by old technologies, primarily because they were simple to understand fully. Back then I wrote a small gopher+ server and client. Now Gemini came along. Gemini is similar to Gopher in that fascinating simplicity. I was able to write a server in about 100 lines of JavaScript and it worked. + +This server is evolution of the one I wrote in that one weekend. It is a bit more advanced, it resembles Express framework for NodeJS. That architecture should make it a bit easier to expand. Right now I moved some older content to articles section. Soon more will follow. For now this is a manual process but it kindof feels nice to revisit some old posts. + +\`\`\` Ascii visual separator +───────────────────────────────────────────────────────── +\`\`\` + +As mentioned, there is also a Gopher+ server somewhere around here. + +=> gopher://uplink.si/ Uplink Gopher Server + +## Articles +=> /articles/ 📓Articles + +## Links to other hosts +=> gemini://geminispace.info/ 🔎Search Engine +\`\`\` +───────────────────────────────────────────────────────── +,___, +(O,O) Uplink:SI Gemini Server +/)__) Serving the Gemini Space + "" +\`\`\` + +${adminBlock} +`); +} + +module.exports = index; diff --git a/routes/index.js~ b/routes/index.js~ new file mode 100644 index 0000000..cdd9d6f --- /dev/null +++ b/routes/index.js~ @@ -0,0 +1,29 @@ +/* GET home page. */ +function index(request, response) { + var adminBlock = ""; + if(request.clientCert.fingerprint == '96:19:A6:91:57:AF:E2:D3:E0:80:FC:35:4E:BD:2A:46:C9:2D:CB:53') { + adminBlock = '## Administration\r\n=> /admin Administration'; + } +response.send(`20 text/gemini\r\n +\`\`\` Uplink:SI Logo +■ ■ ■ ■ _ _ ____ _ _ _ _ _ _ ____ _ ■ ■ ■ ■ + ■ ■ ■ | | |__/ | | |\\ | |_/ / [__ | ■ ■ ■ + ■ ■ \\__/ | |___ | | \\| | \\_ / ___] | ■ ■ + ■ ■ + -=Est. 2021=- +\`\`\` +Uplink is my conection to the Gemini Space. It is to become a great site. At this moment I will be publishing my own articles, my own content. +# Uplink:SI + +## About this server +Uplink.si started about ten years ago. A long time in Internet time. First it was running on free dynamic domains but at some point Uplink.si was registered. The server was always running HTTP and Gopher servers. I was always fascinated by old technologies, primarily because they were simple to understand fully. Back then I wrote a small gopher+ server and client. Now Gemini came along. Gemini is similar to Gopher in that fascinating simplicity. I was able to write a server in about 100 lines of JavaScript and it worked. + +This server is evolution of the one I wrote in that one weekend. It is a bit more advanced, it resembles Express framework for NodeJS. That architecture should make it a bit easier to expand. + +## Articles +=> /articles/ Articles +${adminBlock} +`); +} + +module.exports = index; diff --git a/uplink-gemini/index.js b/uplink-gemini/index.js new file mode 100644 index 0000000..d875209 --- /dev/null +++ b/uplink-gemini/index.js @@ -0,0 +1,7 @@ +/*! + * Gemini Library + */ + +//'use strict'; + +module.exports = require('./lib/uplink-gemini'); diff --git a/uplink-gemini/lib/request.js b/uplink-gemini/lib/request.js new file mode 100644 index 0000000..ac0a3c6 --- /dev/null +++ b/uplink-gemini/lib/request.js @@ -0,0 +1,90 @@ +// Uplink Gemini Server +// Request Class + +const url = require('url').URL; + +module.exports = class Request { + constructor() { + this.rawRequest = ''; + this.protocol = 'gemini:'; + this.hostname = 'localhost'; + this.port = 1965; + this.path = '/'; + this.search = ''; + this.clientCert = undefined; + this.content = ''; + this.contentMime = ''; + this.clientIP = ''; + this.clientPort = ''; + this.clientFamily = ''; + } + + parseRequest() { + var tempRequest = this.rawRequest.toString(); + var tempUrl = tempRequest.substring(0, tempRequest.indexOf('\r\n')); + if(tempUrl.startsWith('titan:')) { + var urlComponents = tempUrl.split(';'); + tempUrl = urlComponents[0]; + for(var i = 1; i < urlComponents.length; i++) { + if(urlComponents[i].startsWith('mime=')) { + this.contentMime = urlComponents[i].replace('mime=', ''); + } else if (urlComponents[i].startsWith('size=')) { + this.contentSize = urlComponents[i].replace('size=', ''); + } else if (urlComponents[i].startsWith('token=')) { + this.contentToken = urlComponents[i].replace('token=', ''); + } + } + } + //var lines = tempUrl.substring(0,) + tempUrl = tempUrl.trim(); + try { + const geminiUrl = new url(tempUrl); + this.protocol = geminiUrl.protocol; + this.hostname = geminiUrl.hostname; + if (geminiUrl.port) this.port = geminiUrl.port; + this.path = geminiUrl.pathname; + this.search = geminiUrl.search.substring(1); //remove '?' from string + if(this.protocol === 'titan:') { + this.content = this.rawRequest.slice(this.rawRequest.indexOf('\r\n') + 3); + } + } catch(err) { + console.log(err); + } + } + + setRawRequest(rawRequest) { + this.rawRequest = rawRequest; + } + + getRawRequest() { + return this.rawRequest; + } + + setClientCert(clientCert) { + this.clientCert = clientCert; + } + + setClientIP(ipAddress) { + this.clientIP = ipAddress; + } + + getClientIP() { + return this.clientIP; + } + + setClientPort(port) { + this.clientPort = port; + } + + getClientPort() { + return this.clientPort; + } + + setClientFamily(family) { + this.clientFamily = family; + } + + getClientFamily() { + return this.clientFamily; + } +}; diff --git a/uplink-gemini/lib/response.js b/uplink-gemini/lib/response.js new file mode 100644 index 0000000..552d799 --- /dev/null +++ b/uplink-gemini/lib/response.js @@ -0,0 +1,31 @@ +// Uplink Gemini Server +// Response Class + +module.exports = class Response { + constructor() { + this.socket = undefined; + this.status = undefined; + } + + setSocket(socket) { + this.socket = socket; + } + + getSocket() { + return this.socket; + } + + send(data) { + this.status = 20; + this.socket.write(data); + } + + error(code) { + this.status = code; + this.socket.write(`${code} Error\r\n`); + } + + end() { + this.socket.end(); + } +}; \ No newline at end of file diff --git a/uplink-gemini/lib/router.js b/uplink-gemini/lib/router.js new file mode 100644 index 0000000..8f716bc --- /dev/null +++ b/uplink-gemini/lib/router.js @@ -0,0 +1,109 @@ +// Uplink Gemini Server +// Router Class + +function selectRoute(path, routes) { + result = -1; +// console.log(path); + var mPathComponents = path.split('/'); + routes.forEach((item, index) => { +// console.log(item); + var mitem = item.split('/'); + if((mitem.length == mPathComponents.length)) { + if((item.indexOf(':') > 0) && (path.endsWith('/') == false)) { +// console.log('we need parameters'); + var mmitem = item.substring(item.indexOf(':')); + var mmpath = path.substring(item.indexOf(':')); + var mmitemList = mmitem.split('/'); + var mmpathList = mmpath.split('/'); + if(mmitemList.length == mmpathList.length) { +// console.log('winner is here'); + if(result == -1) result = index; + } + } else { +// console.log('we do not need parameters'); + if(item == path) { +// console.log('winnere here'); + if(result == -1) result = index; + } + } + } + }); + return result; +} + +module.exports = class Router { + constructor() { + this.routes = []; + this.handlers = []; + } + + use(route, handler) { + this.routes[this.routes.length] = route; + this.handlers[this.handlers.length] = handler; + this.request = undefined; + this.response = undefined; + } + + set(path, request, response) { + this.request = request; + this.response = response; + + ///////////////////////////////////// +// console.log(selectRoute(path, this.routes)); + + + + ///////////////////////////////////// + + var pathComponents = path.split('/'); + for (var i = 0; i < pathComponents.length; i++) { + pathComponents[i] = '/' + pathComponents[i]; + } + + var routes = this.routes; + + var paths = []; + var params = []; + + var mindex = selectRoute(path, this.routes); + + if(mindex == -1) { + this.response.error(51); + return; + } + + var routeComponents = routes[mindex].split('/'); + paths = []; + params = []; + + if (routeComponents.length == pathComponents.length) { + for (var k = 0; k < routeComponents.length; k++) { + routeComponents[k] = '/' + routeComponents[k]; + if (routeComponents[k].startsWith('/:')) { + params.push(routeComponents[k]); + } else { + paths.push(routeComponents[k]); + } + } + } + + var finalParams = pathComponents.slice(paths.length); + for (var l = 0; l < finalParams.length; l++) { + finalParams[l] = finalParams[l].substring(1); + } + var myParams = {}; + for (var m = 0; m < params.length; m++) { + eval('myParams.' + params[m].substring(2) + ' = "' + JSON.stringify(finalParams[m]).slice(1, -1) + '"'); + } + + this.request.params = myParams; + var mm = typeof this.handlers[mindex]; + if (mm !== 'undefined') { + this.handlers[mindex](this.request, this.response); + return; + } else { + this.response.error(51); + return; + } + } +}; diff --git a/uplink-gemini/lib/router.js-old b/uplink-gemini/lib/router.js-old new file mode 100644 index 0000000..eef6c45 --- /dev/null +++ b/uplink-gemini/lib/router.js-old @@ -0,0 +1,102 @@ +// Uplink Gemini Server +// Router Class + +function selectRoute(path, routes) { + result = -1; +// console.log(path); + var mPathComponents = path.split('/'); + routes.forEach((item, index) => { +// console.log(item); + var mitem = item.split('/'); + if((mitem.length == mPathComponents.length)) { + if((item.indexOf(':') > 0) && (path.endsWith('/') == false)) { +// console.log('we need parameters'); + var mmitem = item.substring(item.indexOf(':')); + var mmpath = path.substring(item.indexOf(':')); + var mmitemList = mmitem.split('/'); + var mmpathList = mmpath.split('/'); + if(mmitemList.length == mmpathList.length) { +// console.log('winner is here'); + if(result == -1) result = index; + } + } else { +// console.log('we do not need parameters'); + if(item == path) { +// console.log('winnere here'); + if(result == -1) result = index; + } + } + } + }); + return result; +} + +module.exports = class Router { + constructor() { + this.routes = []; + this.handlers = []; + } + + use(route, handler) { + this.routes[this.routes.length] = route; + this.handlers[this.handlers.length] = handler; + this.request = undefined; + this.response = undefined; + } + + set(path, request, response) { + this.request = request; + this.response = response; + + ///////////////////////////////////// +// console.log(selectRoute(path, this.routes)); + + + + ///////////////////////////////////// + + var pathComponents = path.split('/'); + for (var i = 0; i < pathComponents.length; i++) { + pathComponents[i] = '/' + pathComponents[i]; + } + + var routes = this.routes; + + var paths = []; + var params = []; + + var mindex = selectRoute(path, this.routes); + + var routeComponents = routes[mindex].split('/'); + paths = []; + params = []; + + if (routeComponents.length == pathComponents.length) { + for (var k = 0; k < routeComponents.length; k++) { + routeComponents[k] = '/' + routeComponents[k]; + if (routeComponents[k].startsWith('/:')) { + params.push(routeComponents[k]); + } else { + paths.push(routeComponents[k]); + } + } + } + + var finalParams = pathComponents.slice(paths.length); + for (var l = 0; l < finalParams.length; l++) { + finalParams[l] = finalParams[l].substring(1); + } + var myParams = {}; + for (var m = 0; m < params.length; m++) { + eval('myParams.' + params[m].substring(2) + ' = "' + JSON.stringify(finalParams[m]).slice(1, -1) + '"'); + } + + this.request.params = myParams; + var mm = typeof this.handlers[mindex]; + if (mm !== 'undefined') { + this.handlers[mindex](this.request, this.response); + } else { + this.response.error(51); + } + } +}; diff --git a/uplink-gemini/lib/router.js~ b/uplink-gemini/lib/router.js~ new file mode 100644 index 0000000..05bc871 --- /dev/null +++ b/uplink-gemini/lib/router.js~ @@ -0,0 +1,102 @@ +// Uplink Gemini Server +// Router Class + +function selectRoute(path, routes) { + result = -1; + console.log(path); + var mPathComponents = path.split('/'); + routes.forEach((item, index) => { + console.log(item); + var mitem = item.split('/'); + if((mitem.length == mPathComponents.length)) { + if((item.indexOf(':') > 0) && (path.endsWith('/') == false)) { + console.log('we need parameters'); + var mmitem = item.substring(item.indexOf(':')); + var mmpath = path.substring(item.indexOf(':')); + var mmitemList = mmitem.split('/'); + var mmpathList = mmpath.split('/'); + if(mmitemList.length == mmpathList.length) { + console.log('winner is here'); + if(result == -1) result = index; + } + } else { + console.log('we do not need parameters'); + if(item == path) { + console.log('winnere here'); + if(result == -1) result = index; + } + } + } + }); + return result; +} + +module.exports = class Router { + constructor() { + this.routes = []; + this.handlers = []; + } + + use(route, handler) { + this.routes[this.routes.length] = route; + this.handlers[this.handlers.length] = handler; + this.request = undefined; + this.response = undefined; + } + + set(path, request, response) { + this.request = request; + this.response = response; + + ///////////////////////////////////// + console.log(selectRoute(path, this.routes)); + + + + ///////////////////////////////////// + + var pathComponents = path.split('/'); + for (var i = 0; i < pathComponents.length; i++) { + pathComponents[i] = '/' + pathComponents[i]; + } + + var routes = this.routes; + + var paths = []; + var params = []; + + var mindex = selectRoute(path, this.routes); + + var routeComponents = routes[mindex].split('/'); + paths = []; + params = []; + + if (routeComponents.length == pathComponents.length) { + for (var k = 0; k < routeComponents.length; k++) { + routeComponents[k] = '/' + routeComponents[k]; + if (routeComponents[k].startsWith('/:')) { + params.push(routeComponents[k]); + } else { + paths.push(routeComponents[k]); + } + } + } + + var finalParams = pathComponents.slice(paths.length); + for (var l = 0; l < finalParams.length; l++) { + finalParams[l] = finalParams[l].substring(1); + } + var myParams = {}; + for (var m = 0; m < params.length; m++) { + eval('myParams.' + params[m].substring(2) + ' = "' + JSON.stringify(finalParams[m]).slice(1, -1) + '"'); + } + + this.request.params = myParams; + var mm = typeof this.handlers[mindex]; + if (mm !== 'undefined') { + this.handlers[mindex](this.request, this.response); + } else { + this.response.error(51); + } + } +}; diff --git a/uplink-gemini/lib/uplink-gemini.js b/uplink-gemini/lib/uplink-gemini.js new file mode 100644 index 0000000..fc59321 --- /dev/null +++ b/uplink-gemini/lib/uplink-gemini.js @@ -0,0 +1,133 @@ +/* + * Gemini Library + */ + +//'use strict'; + +const fs = require('fs'); +const constants = require('constants'); +const tls = require('tls'); +const url = require('url').URL; + +const Router = require('./router'); +const Request = require('./request'); +const Response = require('./response'); +const { time } = require('console'); + +const router = new Router(); +const req = new Request(); +const res = new Response(); + + +module.exports.App = class App { + constructor(name) { + this.name = name; + } + + display() { + console.log("my Name is " + this.name); + } + + valid(startdate, enddate) { + var startdate_ = Date.parse(startdate); + var enddate_ = Date.parse(enddate); + var today_ = Date.now(); + + if (today_ >= startdate_ && today_ <= enddate_) { + return true; + } else { + return false; + } + } + + fileExist(path) { + return fs.existsSync(settings.root + path); + } + + isDirectory(path) { + return fs.statSync(settings.root + path).isDirectory(); + } + + getPage(path, next) { + var index; + fs.readFile(this.settings.root + path, 'utf8', function(err, data) { + if(err) { + console.log('ERROR: ' + err); + return; + } else { + index = data; + next(index); + } + }); + } +}; + +module.exports.Gemini = class Gemini { + constructor() { + this.req = req; + this.res = res; + this.router = router; + this.settings = { + root: 'geminiroot/', + index: 'index.gml', + port: 1965 + }; + this.options = { + key: fs.readFileSync('cert/uplink-key.pem'), + cert: fs.readFileSync('cert/uplink-cert.pem'), + passphrase: "rdeci3kombi", + agent: false, + requestCert: true, + rejectUnauthorized: false, + ciphers: 'ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5:!DSS', + honorCipherOrder: true, + secureOptions: constants.SSL_OP_NO_SSLv3 | constants.SSL_OP_NO_SSLv2, + }; + this.server = tls.createServer(this.options, function(c) { + c.on('end', function() { + //do nothing + }); + + c.on('error', function(err) { + let timestamp = Date.now(); + let date_ob = new Date(timestamp); + let utc = date_ob.toUTCString(); + + console.log(`[${utc}] ${c.remoteAddress} ${req.path} ERR: ${err}`); + }); + + c.on('data', function(data) { + var timestamp = Date.now(); + + let date_ob = new Date(timestamp); + let date = date_ob.getDate(); + let month = date_ob.getMonth() + 1; + let year = date_ob.getFullYear(); + let hour = date_ob.getHours(); + let minute = date_ob.getMinutes(); + let second = date_ob.getSeconds(); + let utc = date_ob.toUTCString(); + + req.setClientCert(c.getPeerCertificate()); + req.setRawRequest(data); + req.parseRequest(); + req.setClientIP(c.remoteAddress); + req.setClientPort(c.remotePort); + req.setClientFamily(c.remoteFamily); + res.setSocket(c); + router.set(req.path, req, res); + c.end(); + var timestamp2 = Date.now(); + var requestTime = timestamp2 - timestamp; + console.log(`[${utc}] ${c.remoteAddress} ${req.path} - \x1b[33m${res.status}\x1b[0m - \x1b[36m${requestTime}ms\x1b[0m`); + }); + }); + } + + listen() { + this.server.listen(this.settings.port, function() { + console.log('Gemini Server Bound'); + }); + } +}; +