Monday, June 11, 2012

Reakcia na: "Čo robiť keď človek zistí, že nemá slobodnú vôľu?"

Tento prispevok je reakcia na clanok a diskusiu pod clankom na servery zajtra.sk [ http://www.zajtra.sk/zivot/721/co-robit-ked-clovek-zisti-ze-nema-slobodnu-volu

Povedzme, ze hovorime o rozhodnuti cloveka v konkretnej situacii. Nemoze sa rozhodnut "absolutne" slobodne. Ale urcite sa moze rozhodnut "relativne" slobodne. Relativne slobodne rozhodnutie zavisi od mnohych faktorov. V modernej spolocnosti existuje nepisana hranica slobody a neslobody, ktora je dana stupnom moznosti robit "relativne" slobodne rozhodnutia.

Pre vykreslenie toho co si predstavujem pod pojmom "relativna" sloboda si predstavte, ze mame troch ludi. Jeden predstavitel nemeckeho/europskeho socializmu, studovany, vyborna kariera. Druhy, 10 rocny chlapec z Indie bez vzdelania, ktory pracuje v tovarni na cigarety. Treti mnich, ktory sa vzdal materialneho sveta a zije v askeze, vo svojom nabozenstve. Ktory z nich je slobodny vzhladom na vas? A co si myslia o slobode zvysnych dvoch nasi jednotlivci?

Zoberiete hrstku ludi a date ich do umeleho ekosystemu a nastavite im pravidla. Ludska podstata ich vedie k tomu, ze maju schopnost sa prisposobit a rozhodovat sa v ramci danych moznosti aby prezili. Z tej istej vlastnosti aku ma clovek vychadza aj potreba tvorby spolocnosti.

Hovoril som o vedomych "relativne" slobodnych rozhodnutiach. Existuju este aj nevedome, oplyvnene napriklad emociou akou je strach. Emocia je niekolko nasobne rychlejsia ako myslienka a tak nam tieto rozhodnutia zachranuju zivoty kazdy den v aute ;) ...

Spravanie cloveka ako jednotlivca alebo spolocnosti je urcite zlozitejsie ako je uvedene v clanku. O tom som hlboko presvedceny. A mysliet si, ze mozog je nejakym sposobom dopredu naprogramovany a odovodnovat to tym, ze je to len zhluk molekul je podla mojho nazoru hlupost. Pokial viem, neuronove cesty sa vytvaraju medzi neuronmi v mozgu pocas zivota. Tento proces jednotlivec urcite ovplyvnuje. Tieto neuronove spoje mozu aj zanikat a dokonca v istom veku mozu byt aj samotne neurony znicene. Mozno by stalo za zamyslenie opytat sa sam seba, co hovori o nasej slobode fakt, ze si uvedomujeme nasu mysel, alebo fyzicku ci fyzikalnu alebo chemicku podstatu nasho mozgu ;)

Myslienka opisana v clanku mi subjektivne pride ako alibisticka teoria vytvorena preto, aby mal clovek zjednodusene zitie. Alibizmus, ktory ma zbavuje zodpovednosti za moje spravanie. A navyse je to podlozene slovami velkych ludi, ktore na to aby boli pochopene, musia byt pochopene vo velkom obraze.

Verim tomu, ze Einsteinova viera v slobodnu volu/voblu/rozhodovanie bola nalomena pri tom ako sa pozeral na svet a jeho fungovanie. Musel sa pozerat z inej, omnoho vacsej perspektivy ako to robi vacsina z nas. Dostatocne velkou abstrakciou by som mohol tvrdit, ze ludia a ani nas svet neexistuju. A este by som to mozno po starociach studovania vedel matematicky dokazat. Co by ste potom robili? Prestali jest, pretoze neexistujete ?? ;)

(posledny odstavec berte ako vtip. Vsetko z coho som v clanku vychadzal su moje osobne nazory, ktore boli aj tak naprogramovane, takze to neberte vazne. To iste plati pre moje prznenie slovenskej reci pisanim bez interpunkcie a spravnej gramtiky ci vetnej skladby. Ja za to nemozem ;) )


Dodatok:


Verim tomu, ze za najvacsi a nepopieratelny prejav ludksej slobody ako takej (sloboda podla mna zahrna aj slobodne rozhodovanie, volbu a volu ...) je ludska fantazia. Schopnost kreacie. Skladanie hudby, malovonie, obrazy, spalovaci motor, hokej, futbal, divadlo, rec .... To su nepopieratelne dokazy ludskej slobody, ktore su na kazdom kroku a mimochodom ... z tohto pohladu, su slobodny vsetci traja z mojho prikladu.

Sunday, April 1, 2012

CodeIgniter hacks

http://net.tutsplus.com/tutorials/php/6-codeigniter-hacks-for-the-masters/

Zaujimavy clanok s nejakymi vychytavkami okolo CI. Paci sa mi hlavne ten napad s __autoload().

Zaujimava je aj forma toho clanku. Rozmyslal ci by som nemohol podobne napisat clanok, ale skor problem -> riesenie. Alebo to pisat ako turbo tip.

Sunday, March 25, 2012

Co mi vadi na Codeigniter - zapisky

Pri praci na bachanato narazam na veci v Codeigniter, ktore neviem prekusnut alebo mi vadi ako su vyriesene.
Zacina ich byt tak vela, ze si musim robit tieto zapisky ... planujem napisat clanok kde budu aj riesenia problemov ... here we go: 

Problem cislo jeden, na ktory musi narazit kazdy. Osetrovanie chyb. Pouzivam "Active Record", ktore nie len, ze nie je Active Record, ale hlavne ked vypnem db chyby tak si mozem fukat praskovy cukor. Musim rucne v kazdom modely pri kazdom query zistovat ci sa stala chyba a hadzat vynimky

OOP .... strasne. Ked chce clovek vlastnu triedu tak to musi vselijako hackovat do kniznic. Ako som asi definoval vlastne vynimky ... prasarna. Vsetko je v $this ... VSETKO. Este som nedospel na Unit testing, ale musi to byt hrozne.

Form validation ... cista hroza. Vazne musim svoje pravidlo definovat ako metodu controlleru ??? Okej ... ale public ... PUBLIC METODU CONTROLLERU ... to je mega ko*tina. Pritom su po internete zmienky, ze to zere regexp. A v hlaskach je pozostatok z validnej URL (co potrebujem prave). Ale nikde v offic. docs. Ale pisu, ze to zozere akukolvek php metodu, ktora zere jeden paramtere. Takze si asi spravim helper a budem prasit global namespace :/ vo vsete OOP.
[edit]
regex_match --> nakoniec som ho nasiel v kode. Je tam. Hura :D ... pouziva preg_match. Musim este raz pozriet dokumentaciu, ci to tam je.

File upload ... uploadujem obrazky. Chcem dat uzivatelovy vediet, ze obrazok je prilis velky. Ale ked nemam prava na zapisovanie do zlozky to ho uz zaujimat nemusi. Ako to mam rozdelovat a riesit ? Zase nijake vynimky, err codes ani nic. Co ma parsovat chybove hlasky ?? Budem musiet obist cely framework a vycucat si chyby priamo z PHP. Co sa mi ani nahodou teraz nechce robit.

Skoro som zabudol cim som zabil v piatok dve hodinky. Codeigniter ma zabudovanu ochranu proti CSRF. Krasne funguje. Okej a teraz potrebujem nieco podobne ale na linky. Mam hlasovnie a chcem aby sa hlasovalo iba z mojej stranky. Nie ze nejaky robot bez session spusteny u nejakeho domaceho kutila mi naklika 345000 hlasovani za jeho oblubeny post. Hej no ... musel som to napisat cele, takze je tam prakticky duplicitne to iste len v ruzovom. Neviem ci je toto chyba. Skor chybajuci ficur. A okrem ineho by mi mozno za to riesenie s tokenmi v url niekto mohol vynadat - i don't give a fuck. Na teraz nepoznam lepsie riesenie.

Transactions. Ak sa pouzivaju transaction treba si davat pozor na trans_status(). Je nastavene podla toho ci sa vyskytla chyba, ktora ma povod v db. Takze ak napriklad rollnete cele vkladanie prispevku, pretoze sa nepodarilo uploadnut obrazky (permissions povedzme) ... neda sa spoliehat na $this->db->trans_status().
Rozmyslam, ze si doplnim model o wrappery, ktore budu spravne nastavovat priznaky ci vsetko prebehlo alebo nie. Ak sa pouzivaju Exceptions tak je krajsie to riesin manualne. Takto:

$this->db->trans_begin();
try{
  $this->db->insert('blah', $data);
  $this->image_model->upload(); // this throws exception
  $this->db->trans_commit();
} catch(Exception $e) { // some none db errors
  $this->db->trans_rollback();
}
if($this->db->trans_status() === false) $this->db->rollback(); // I can't get rid of this.

Pouzitie parsera na template ... pekne to funguje. Vyhody su jasne. Template je cisty. Ak sa pouzije nedefinovana premmenna skratka ostane v tvare {premenna} co sa da lahko preg_replace-om odstranit. Otazkou ostava ci bude fungjovat Cache. V docs je, ze funguje ak pouzivame View. Ja pouzivam parser tak, ze si z neho zoberem string, ten prejde filtrovanim a potom $this->output->set_output(...).

Neviem no. Stale premyslam nad nejakym rozumnym pouzitim.


Nesmiem zabudnut zohnat niekoho na korekturu toho clanku ... !!!

Tuesday, January 24, 2012

Migrate magento to localhost


  • copy all data
  • delete cach
  • edit .htaccess rewrites
  • make mysql db dump
  • import db 
    • mysql -u user -p
    • create database db_name
    • use db_name
    • source file_name
  • edit db to local information
    • table core_config_data
      • change local address 
      • disable mergeing js & css files

Friday, January 20, 2012

xmmp console client

sudo apt-get install mcabber .. 
mkdir ~/.mcabber
touch ~/.mcabber/mcabberrc

.. moj vyzera takto nejako

set username = [meno]@gmail.com
set server = talk.google.com
set ssl = 1
set ssl_verify = 0
set port = 5223