Skip to content

Kustutame mälupulga tühjaks

Praktikas on tihti vaja mõne mälupulga kogu sisu mõistlikult turvalisel viisil tühjendada. Linuxis käiks see kõige lihtsamal viisil käsurealt nii (olles administraatori õigustes):

shred /dev/sdx -n 5 -v

Vajalik /dev/sdx vaata järgi näiteks df käsuga, kuid tavalise ühe kõvakettaga arvuti puhul oleks üldjuhul /dev/sdb (praktikas on mälupulgal tihti vaid üks partitsioon ja /dev/sdb1 toimib ka). Võti -n kirjutab kõik üle 5 korda ja -v näitab mida ta parasjagu teeb.

Programm shred loomulikult kolmetäheliste organisatsioonide huvi vastu ei aita, kuid harju keskmise huvilise vastu küll ning teeb seda viisil, mis arvestab välkmälude tavapärase hajutatud kirjutamise (wear leveling) loogikaga ehk teisisõnu kirjutab äärest ääreni.

Tabelite suurused Postgresql andmebaasis

Teinekord on selgust vaja saada mis tabelid haaravad andmebaasis suurima mahu. Selline lihtne päring on abiks (näitab ära ka toast-tabelid):

SELECT nspname || '.' || relname AS relation, pg_size_pretty(pg_relation_size(C.oid)) AS size
FROM pg_class C
LEFT JOIN pg_namespace N ON (N.oid = C.relnamespace)
WHERE nspname NOT IN ('pg_catalog', 'information_schema')
ORDER BY pg_relation_size(C.oid) DESC
LIMIT 25;

Kui toast-tabeleid pole eraldi vaja, siis vaata infot nii:

SELECT nspname || '.' || relname AS relation, pg_size_pretty(pg_total_relation_size(C.oid)) AS total_size
FROM pg_class C
LEFT JOIN pg_namespace N ON (N.oid = C.relnamespace)
WHERE nspname NOT IN ('pg_catalog', 'information_schema')
AND C.relkind <> 'i'
AND nspname !~ '^pg_toast'
ORDER BY pg_total_relation_size(C.oid) DESC
LIMIT 25;

Kui aga tahad näha indeksite kasutust, siis nii (allikas Evan Hoffman):

SELECT schemaname, tablename,
pg_size_pretty(pg_relation_size(schemaname || '.' || tablename)) AS size_p,
pg_total_relation_size(schemaname || '.' || tablename) AS size,
pg_size_pretty(pg_total_relation_size(schemaname || '.' || tablename)) AS total_size_p,
pg_total_relation_size(schemaname || '.' || tablename) - pg_relation_size(schemaname || '.' || tablename) AS index_size,
(100*(pg_total_relation_size(schemaname || '.' || tablename) - pg_relation_size(schemaname || '.' || tablename)))/CASE WHEN pg_total_relation_size(schemaname || '.' || tablename) = 0 THEN 1 ELSE pg_total_relation_size(schemaname || '.' || tablename) END || '%' AS index_pct
FROM pg_tables
ORDER BY size DESC LIMIT 25;

Muudame kataloogitäie piltide suurust ja nime

Sul on näiteks kataloogitäis jpg-faile, mida on vaja sobitada ühte suurusesse. Selline lihtne toiming aitab (kui sul on muud vormingud, siis tee vajalikud asendused ning ära unusta tõstutundlikkust ja loomulikult convert käsule vajalikke võtmeid juurde lisada).

convert *.jpg -resize 600 -set filename:f 'prefiks-%t' '%[filename:f].jpg'

Siin näites resize 600 teeb kõik pildid 600 piksli laiuseks ning kõrguse sätib vastavalt algse faili proportsioonidele. Kõiki muid variante leiad Imagemagick Resizing or Scaling lehelt. Set filename ... aga moodustab uue faili nime algsest nimest (seda teeb %t) ilma laiendita ning paneb ette sõna prefiks (kirjuta sinna mida vaja või pane ta lõppu kui vaja). Kõiki asendusi saad vaadata lehelt Imagemagick Format and Print Image Properties.

Kui convert käsk midagi huvitavat ei tee, siis on ehk imagemagick arvutist puudu (või otsiteest väljas) ja "aptitude install imagemagick" lahendab olukorra (midagi sama on ka rpm-distrote jaoks ning leidub ka installikas maci ja windowsi jaoks). Siin on soovitus meelega convert, mitte mogrify käsu kohta (esimene jätab vaikimisi vanad failid alles, teine mitte).

Linuxile on saadaval uue renderdusmootoriga Opera

Teatavasti loobus Opera enam kui aasta tagasi oma renderdusmootorist ning võttis kasutusele WebKit'ist kahvlisse aetud Blink'i. Samaga ilmusid ka uued Opera versioonid Windowsi ja Mac OS X platvormidele (Opera versioonid alates 15'st). Opera Linuxi variant jäi aga Presto-põhise 12.16 juurde.

Selle aasta alguses võeti ka Opera Linuxi-arendus jälle ette ning eile ilmus esimene Opera versioon Linuxile (v 26). Arendajad ise ütlevad et toimib vaid Ubuntus, kuid minul töötab probleemitult ka Debianis ning ilmselt ka muudes .deb põhistes distributsioonides (näiteks Mint). Kes tunneb huvi, siis asi hargneb siit deb.opera.com. Kui seni tuli installida pakk nimega opera, siis nüüd on nimeks opera-stable ning praktikas tähendab see et uus ja vana Opera saavad Linuxis kõrvuti eksisteerida (vana versiooni kasutamine pole turvalisuses mõttes küll hea idee).

Kui varem pole olemas polnud, siis paigalduse käigus lisatakse süsteemi ka pepperflashplugin-nonfree, mis on wrapper-skript PPAPI-põhise flashi plugina lisamiseks (laeb alla Google Chrome ning pakib sealt lahti vaid flashi plugina).

CUPS'i ehk Linuxi printerite seadistamine eemalt

Sul on mingid Linuxiline arvuti, kus on vaja printereid eemalt seadistada (seda juhib deemon nimega cupsd). Võid sinna arvutisse sisse logida ja käsurealt möllata või seadistada, et selle arvuti cupsd lubab end veebiliidesest seadistada.

Kuna tavaliselt seda vaja teha üliharva, siis hoopis lihtsam lahendus on ssh tunnel, mille teed oma arvutis käsurealt nii (miskimasin on see, kus vajad seadistamist):
ssh root@miskimasin -T -L 6631:localhost:631

Ja siis võtad oma arvuti veebibrauseri ette:
localhost:6631
ning teed mis vaja. Kui kõik on valmis, siis paned käsurealt Ctrl+C abil ssh tunneli kinni.

Arvuti võib lauaarvuti, sülearvuti või nutitelefon - peaasi, et seal toimivad sshd ja cupsd. Proovinud ei ole, aga sama peaks toimima ka Mac OS X puhul (kui sshd on lubatud).

Tasuta e-postiteenuse turg Eestis

Lõin huvi pärast kokku firma mitmekümnetuhandese postiloendi kehtivate (rangelt opt-in) e-posti aadresside domeenid ja selgus, et turg võiks olla jaotunud nii:

  • gmail.com - 32,2 %
  • hot.ee - 30,4%
  • outlook.com (kõigis oma variatsioonides) - 17,6%
  • mail.ee - 14,6%
  • mail.ru - 2,2 %
  • yahoo.com (kõigis oma variatsioonides) - 1,4%
  • muud - 1,6%


Arvesse läksid vaid need, kus on tasuta registreerimine ning ei läinud need, mis tulevad kaasa mõne toote ostuga (kuigi Gmaili ja Androidi kontekstis on see natuke petlik).

Kohendame tohutud pdf-failid pisemaks

Tihti juhtub, et keegi saadab sulle sadade megabaitide suuruse pdf-faili (minul on suurim olnud 1 TB), mis loodud trükikoja kvaliteediga. Aga sina pole trükikoda, vaid tahad lihtsalt sisu lugeda. Ghostscript tuleb appi:
gs -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/screen -sOutputFile=tulemus.pdf algfail.pdf
Siinjuures olulisim võti on -dPDFSettings, mille väärtused võivad olla (alates lahjemast): /screen, /ebook, /printer, /prepress (nimed räägivad enda eest).

WebM, Daala ja konkurendid - vaba veebivideo 2014. aasta alguses

Kirjutasime poolteist aastat tagasi WebM ja vaba veebivideo seisust ning vaatame mis on tänaseks muutunud:

  • Google sisuliselt lõpetas VP8 arenduse ning keskendus enam kui aasta tagasi VP9 arendusele - eesmärgiks VP8 ja H.264'ga võrreldes 2 korda väiksem ribalaius sama pildikvaliteedi juures (VP9 oleks seega võrreldav videokodek patendialuse H.265'ga)
  • VP9 bitivoog löödi lukku eelmise aasta jaanipäevaks ning sisuliselt samast ajast suudavad Chrome ja Chromium seda ka mängida
  • eelmise suve lõpuks asus Google aktiivselt Youtube videosid WebM VP9 varianti ümber kodeerima ning kõik VP8 materjal üle 360p videote eemaldati
  • kui kasutad youtube.com/html5 mängijat Chrome või Chromiumiga, siis esimene meediaeelistus on WebM VP9-Vorbis
  • sügisel 2013 lisasid nii libav (tulevases versioon 10's) kui ffmpeg (alates 2.1) VP9 toe oma teekidesse
  • VLC Media Player mängib VP9't alates versioonist 2.1.2
  • VP9 ja youtube.com/html5 jaoks vajalik minimaalne MSE tugi jõudis Firefoxi koodi jõulude eel ning on tavakasutajatele kasutatav alates versionist 28 (ilmub märtsis 2014)
  • konvergeerunud ja mobiilses maailmas (nutitelefonid, tahvelarvutid, nutiteleviisorid) on VP8 küll edenenud - Androidis on dekooder nõutav alates versioonist 2.3.3 ja kodeerimine alates versioonist 4.3 ja paljudesse seadmetesse on jõudnud ka raudvaraline VP8 tugi, kuid VP9 on veel liiga uus et raudvara poolel saadaval (2160p 60fps suutlik RTL sai valmis eelmise aasta lõpus), kuid tarkvaras implementeerituna mängib Androidi Chrome VP9't alates versioonist 29 ning on süsteemse teegina saadaval alates Android 4.4'st (dekodeerimine on 4.4 puhul nõutav)
  • Google üks plaan oli saada VP9 kiiresti levima seeläbi, et ta tehakse WebRTC üheks kohustuslikuks videokodekiks (nagu opus on üks kohustuslikke audiokodekeid), aga IETF (organisatsioon, mis WebRTC standardiseerimisega tegeleb) pole eri osapoolte vahelises võitluses suutnud videokodeki osas otsust teha

Konkurentide poolel:

  • on valmis saanud HVEC/H.265 videokodek 2012. aasta lõpuks (sellest ka Google kiirustamine VP9'ga) ning eelmisel aastal standardiseeritud ITU ja ISO/IEC poolt, kuid tegemist on mittevaba videokodekiga (eeldab patendinõuetega arvestamist ja litsentsitasude maksmist)
  • eelmise aasta jooksul on avaldatud palju erinevaid implementatsioone (sh 4K ja 8K kategooriates), kuid mingit olulist levimist tarbetehnoloogiatesse pole juhtunud
  • Google pole kuidagi näidanud oma eelistust HVEC/H.265 suunas - seda ei ole lisanudunud ei Androidi spetsifikatsiooni ega Youtube kasutatavate kodekite hulka ning pole võimatu, et see saab ühel hetkel kaalukeeleks turu pöördumisel VP9 suunas
  • enne sügisest IETF koosolekut, mis pidi otsustama WebRTC kohustusliku videokodeki tegi Cisco radikaalse avalduse, kus lubas maksta kõikide H.264/MPEG-4_AVC kasutajate litsentsitasud (MPEG-LA poolt seatud aastamakse ülempiiri tõttu see summa ei lähe väga ulmeliseks), kuid ka see plaan ei tundu olevat senist olukorda palju muutnud (Firefox lubas küll seda võimalust kasutada)

Samal ajal kui ISO/IEC MPEG ja ITU-T VCEG on üritanud tulevikuks läbi suruda HVEC/H.265 videokodekit ning Google ajanud oma vaba VP9 kodeki liini on Xiph (Vorbise ja Theora arendaja ning Opuse üks arendaja) ja Mozilla Foundation (Firefoxi arendaja) võtnud hoopis teise suuna:

  • Xiph'i poolt teoreetiliselt välja pakutud ülejärgmise põlvkonna videokodeki Daala arendus on suure hooga käima lükatud
  • eesmärgiks sama pildikvaliteedi juures väiksem ribalaius, kui tänaste moodsate videokodekite HVEC ja VP9 puhul
  • kui algoritmi mõttes on kõik senised MPEG-1, MPEG-2, MPEG-5, HVEC ning VP6, Theora, VP8, VP9 väga sarnased ning lähtuvad "teeme pildi ruutudeks ja siis üritame seda optimeerida" loogikast (ja on seetõttu patentide mõttes suur miiniväli), siis Daala aluseks on signaalitöötluse "lapped transform" lähenemine, mida on sama seltskond edukalt kasutanud nii Vorbis kui Opus audiokodekite juures - ei imestaks, kui selle arenduse esimesi beeta-tulemusi näeme juba sellel aastal
  • toimivat lahendust lubatakse 2015. aastaa lõpuks

Tänasest on Jolla telefonid klientide kasutuses

Tänasest on Jolla telefonid klientide kasutuses. Helsingis õhtul kell 1900 algaval üritusel saavad esimesed 450 varast tellijat oma uued telefonid välja osta ning ülejäänud eeltellijatele hakatakse telefone saatma lähipäevadel.

Kui keegi veel ei tea, siis Jolla on Soome mobiiltelefonitootja, kes valmistab operatsioonisüsteemil Sailfish toimivaid telefone. Telefonid sobivad nii neile, kes Andioidi ja Apple iOS'i välimusest ja liidesest on tüdinenud või hindavad Sailfishi platvormiga kaasnevat vabadust, privaatsust ja lõputut häkkimisvõimalust.

Aeg on loobuda 5% valimiskünnisest ja häälte ümberjagamisest

Eesti riigi taastamise aegu olid meil suured eesmärgid (stabiilne majandus, EL ja NATO liikmelisus) ning siis võis ju tunduda poliitiliste jõudude mittekillustamine hea idee ning seega 5% valimiskünnise kasutamine ja häälte ümberjagamine mõistlik kompromiss.

Tänaseks aga on need eesmärgid ammu täidetud ning meie riigi ainsaks sisuliseks eemärgiks on Eesti keele, rahva ja kulutuuri säilimine. Ning see eeldab muu hulgas senisest proportsionaalsemat esindatust nii Riigikogus kui kohalike omavalitsuste volikogudes. Seega on käes aeg loobuda 5% valimiskünnisest ja häälte ümberjagamisest ja muuta valmissüsteem lihtsaks - mandaadi saab see, kes iganes saab üksinda või nimekirjaga kvoodi täis.

Loomulikult vastaks me põhiseaduses sõnastatud võrdsuse printsiibile ka see, kui Tallinna valimisringkonnad poleks moodustatud linnaosade alusel, vaid valijaskonna alusel ning kõikides valimisringkondades oleks sama arv valijaid (näiteks saja valija täpsusega).

Ja kui parteide poliitiline masinavärk neid lihtsaid ideesid Riigikogus menetleda ei taha, siis oleks põhjust tõsisemaks rahva-algatuseks.