среда, 21. март 2018.

Bela kuga II

Neko me prati. Odgovor na moj originalni članak je tu. "Precednik" države je objavio niz stimulativnih mera za podsticaj rađanja i to uz paniku: izumiremo... do 2060. biće nas manje od 6M.Tragedija.
Pa sad ide 100k dinara, pa 10k mesečno sledećih 10 godina.
Ono što mene čudi je, da su podaci i projekcije poznate već od 2012-13. Šta se čekalo? Zašto se u sve to opet meša predsednik o kome imam nisko mišljenje? Baš, baš nisko....
Zabava su mi bile i razne feminiskinje sa floskulama, nismo mi mašine za rađanje i slično. Kao da ih neko tera da rađaju? Kao da je rađanje nešto što unižava?
Ja lično koliko sam mogao, toliko sam i uradio. Nije samo stvar ekonomije. Nego ja nemam snage, da više od dvoje dece naučim, da im zadam konture, usmerim prema onome što mislim da je ispravno i da poslužim kao stena od koje će se odgurnuti dalje.

понедељак, 12. март 2018.

Politika

Tradicija je čitanje Politike. Još je moj deda bio pretplatnik Politike, a otac hodao 10tak minuta do tog jednog specijalnog kioska u Kranju, da kupi nekada Politiku ekspres a nekada pravu Politiku.
I ja sam počeo da čitam istu kao gimnazijalac a i sada je kupujem - ali samo subotom, pošto brz tempo i puno posla ne ostavlja vrema za te "slow-motion" medije.
Sistem čitanje sam lagano menjao od čitanja otpozadi, sa  letimičnim pregledom sportskih vesti, i preskakanjem međunarodne politike i ekonomije, do sistema prvo prva strana i povezene stranice sa njom, pa onda čitanje odzada sa preskakanjem sporta, letimičnim pregledom feljtona, pošto kupujem samo jednom nedeljno, i poseban fokus na ekonomiju i međunarodne odnose.
Politika je, tako ispada, dobar barometar promena. Od radoznalog, veselog i nesputanog omladinca do stisnutog i zabrinutog aritmičnog matorca.
Tradicija je čitanje Politike u mojoj porodici i moj sin i kći počinju da čituckaju istu.

Možda je vreme da se tradicija prekine. 

петак, 9. март 2018.

pretvaranje sloja DGW->DFX u GeoJSON ili KML kroz primer

Potrebno je pretvoriti DGW fajl u DFX npr sa besplatnim DrafSight pa se onda istalira GDAL:
sudo apt-get install python-gdal
Potom se iskoristi sledeća naredba da se vidi slojevi:
ogrinfo -dialect SQLite -sql "select distinct LAYER  from entities" ime_fajla.dxf
Pa se izvuku podaci u GeoJSON ili KML:
ogr2ogr -f GeoJSON -dialect SQLite -sql "select * from entities where LAYER='IME_SLOJA'" ime_novo.json ime_fajla.dxf
ogr2ogr -f KML -dialect SQLite -sql "select * from entities where LAYER='IME_SLOJA'" ime_novo.kml ime_fajla.dxf

среда, 7. март 2018.

yii2 migrate praktičan primer kroz dodavanje kolone

Kreiranje migracionog fajla:
./yii migrate/create add_column_device_initial_state
U @app/console/migration za yii2 advanced će biti kreiran fajl, koji posle editovanja treba da izgleda ovako:
Komanda za primenu (odgovoriti sa yes):
 ./yii migrate
Komanda za poništavanje migracije:
 ./yii migrate/down

Više podataka na zvaničnoj dokumentaciji.

уторак, 27. фебруар 2018.

vi/vim read/only zbog zaboravljenog sudo

Često mi se desi greška sa sudovima tj zaboravim sudo ispred vima, za fajl nad kojim nemam prava, i naravno preostaje ili snimanje pod drugim fajlom ili neke copy/paste varijante, a za kraće promene, bogami, prekucavanje. Ali ne, više nikada!!! Kad na ":w!" kaže:

Can't  open file for writing
Press ENTER or type a command to continue

Ti lepo otkucaj:

:w !sudo tee %

I odgovori sa O i izađi sa ":q!".

Analiza za radoznale:

:w je upiši fajl
! izvrši komandu
sudo povišene privilegije
tee ime_fajla prekopiraj stdout u fajl i  prosledi na stdin
% trenutan fajla/bafer

Bonus tip je dodati u ~/.vimrc komandu Teew:

command Teew w !sudo tee % >/dev/null

петак, 23. фебруар 2018.

Primer sqlite i json

Sqlite ima ekstenziju za rad sa json podacima.

Preduslovi:

Da bi se koristio iterator json_each potrebno je napraviti tabelu:

CREATE TABLE json_tree(
    key ANY,             -- key for current element relative to its parent
    value ANY,           -- value for the current element
    type TEXT,           -- 'object','array','string','integer', etc.
    atom ANY,            -- value for primitive types, null for array & object
    id INTEGER           -- integer ID for this element
    parent INTEGER,      -- integer ID for the parent of this element
    fullkey TEXT,        -- full path describing the current element
    path TEXT,           -- path to the container of the current row
    json JSON HIDDEN,    -- 1st input parameter: the raw JSON
    root TEXT HIDDEN     -- 2nd input parameter: the PATH at which to start
);
 
Za .NET podršku (>ver 1.0.99.0) posle uspostavljene konekcije:
 
connection.EnableExtensions(True); connection.LoadExtension("full_path\SQLite.Interop.dll","sqlite3_json_init");


Napomena samome sebi za lazarus/typhon sa ZeosLib na Debianu ne treba load ekstenzije ali je dobro postaviti (može i direktno u samom IDE):

TZConnection.Properties['Undefined_Varchar_AsString_Length'] := 255; // ili više do 8K prema očekivani veličini

Kako bi se izbegao rad sa memo poljima.
 

Primer:

test tabela:

CREATE TABLE test (
      id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, 
     property_name TEXT NOT NULL UNIQUE, 
     property_value TEXT NOT NULL
);

json podatak obavezno okružiti sa json(jsonString) kao u primeru:

insert into test (property_name, property_value) values ('test',json('{
    "values": [{
        "name": "nv01",
        "label": "d",
        "unit": "cm",
        "value": "1",
        "title": "Thickness"
    }, {
        "name": "nv02",
        "label": "ρ",
        "unit": "kg/m3",
        "value": "1",
        "title": "Density"
    }, {
        "name": "nv03",
        "label": "c",
        "unit": "J/kgK",
        "value": "1",
        "title": " Thermal capacity"
    }, {
        "name": "nv04",
        "label": "λ",
        "unit": "W/mK",
        "value": "1",
        "title": "Thermal conductivity"
    }, {
        "name": "nv05",
        "label": "μ",
        "unit": "-",
        "value": "1",
        "title": "Relative vapor diffusion coefficient"
    }]
}'));

sql:

select 
  t.id,
  key,
  json_extract(value,'$.name') as name,
  json_extract(value,'$.label') as label,
  json_extract(value,'$.value') as value,
  json_extract(value,'$.unit') as unit,
  json_extract(value,'$.title') as title
from 
  test t,
  json_each(json_extract(t.property_value,'$.values'))
where 
  t.property_name='test'; 

rezultat:

1 0 nv01 d 1 cm Thickness
1 1 nv02 ρ 1 kg/m3 Density
1 2 nv03 c 1 J/kgK Thermal capacity
1 3 nv04 λ 1 W/mK Thermal conductivity
1 4 nv05 μ 1 - Relative vapor diffusion coefficient


среда, 21. фебруар 2018.

Bela kuga

Česta tematika ovih dana.

Bela kuga. Mortalitet veći od nataliteta. Nestajanje nacije. Uz napomenu da najčešće kombinuju nacija i bela kuga oni koji pišu, ili misle, sa pridevom srBska.

Lično smatram da je zemlji svejedno da li su na njoj Srbi ili bilo ko drugi. A da je problem... jeste.

I kako reagovati?

Kako izaći sa spiska zemalja čija se populacija evidentno i naglo smanjuje?

Sloganima naravno!

Stoga je Ministarstvo kulture i Savet za populacionu politiku brže bolje raspisalo nagradni konkurs za slogane, koji bi trebalo, da podstaknu rađanje u Srbiji.

Naravno potrošili su naše pare za uzaludan posao.

A zašto zaludan? Pa slogani si namenjeni mladima! Oni treba da prave i rađaju decu! A naši mladi pod uticajem trulog zapada, njihove dekadencije i razvrata, koriste sve više analni seks! A na taj način nema beba!!! Tako da dopunjem slogane i stavljam i pod GFDL licencu. Podvučeno žutom su izmene.

"Normalna ljubav i beba - prvo što nam treba!"
 "Rađaj, ne odgađaj i u pravu rupu gađaj"
"Mama - neću sama, tata - hoću brata"  <-- neizmenljiv samim tim neupotrebljiv
"Dosta reči, pazi da se žensko ne izbeči i nek zakmeči"
"Čuda se ne dešavaju. Čuda se rađaju al' aši-maši-omaši nek se ne nadaju"
"Da Nek se deca rađaju i lepe stvari događaju, dupeta ne smeju da stradaju!".

A za zaključak neka naši mudraci malo stave prst na čelo! Mislim da bi bolje pomogao veći dečji dodatak, bolji vrtići, stvarno besplatno školstvo. Možda i 15 godina radnog staža za 3+. 

Onako nabrojah i ne trebaju ni slogani ni konkurs!