Bubenská

Info o pár pracovních změnách posledního měsíce.

S Milanem jsme si pronajali kancelář v baráku Bubenská 1. Máme tady veganský akvárko, ale hlavní důvod, proč tu sedíme je, že chcem dělat to co umíme: vyrábět weby.

image

Plán se zatím daří, práce je dost. Měli jsme i chvilku zajet do Olomouce a s kamarádama tam vymyslet kulturní magazín Olomoucké špeky, který spustíme asi začátkem prosince.

Pak jsem taky vyrobil web ségře, která chce dělat grafiku: www.eliskavanova.cz. Pokud by někdo potřeboval vyrobit pozvánku/plakát/vizitky apod. určitě se jí ozvěte.
Při tvorbě jsem se naučil dědit WordPress téma a zjistil, že nová WordPress template TwntyThirteen je pěkná.

Když už jsem byl u těch osobních webů, trochu jsem si zlepšil www.fabian.cz

Ceske drahy vstupuji na Twitter

Ceske drahy dnes oznamily, ze se domluvily s provozvatelem Twitter uctu @cdmimo, na jeho prevzeti. Vypada to, ze doslo take k jeho prejmenovani na @cdmimoradnosti. Zaroven vznikla informacni stranka s odkazy na dalsich 13 Twitter kanalu, ktere informuji o vylukach v jednotlivych krajich.

Mimoradnosti pro trat 171 (Praha – Beroun)

Pred casem jsem si napsal robota, ktery z kanalu @cdmimo vybira informace pro trat 171, kterou denne vyuzivam. Robot tyto tweety retweetuje na kanal @trat171, protoze info o vyluce napr. v Ostrave cist nepotrebuji.
Nyni uz by to slo resit sledovanim nove vzniklych kanalu pro Stredocesky kraj a Prahu, ale tam se informace ponekud duplikuji. Navic Stredocesky kraj je pomerne rozsahly a informace z druhe strany Prahy cist nechci.
Pokud tedy jezdite po trati 171, nevahejte followovat😉

image

PedroRozenkraft Outing

Letosni leto je v mode nekam z kanclu vyrazit a tam na pul pracovat, na pul se dozvedet od kolegu neco zajimaveho, zkusit neco noveho.
GUG jede na moravu do mlyna, lide z navolnenoze.cz jsou v Nice ve Francii, Inmite a dalsi poradaji hackathony.

Zminoval jsem se o tom v PedroRozenkraft a myslenka se zalibila. Cyklista Pedro vymyslel, ze vyrazime do Liberce, kde je Singltrek – intenzivni zazitek pro cyklisty.

Diky tomu, ze jsme spali v campu primo u Singltrek centra, se nam trochu vytratil pracovni rozmer (i kdyz notebooky jsme si ve spacaku hyckali skoro vsichni:), ale o to vic jsme si uzili prirody a sportu.

Prvni den jsme vyrazili na modrou a kousek cervene, kde jsme si vyzkouseli zapujcena kola a seznamili se se Singltrekem.
V utery pak nasledovala hlavni cast, kdy jsme vyjeli k Hubertce, tam zanechali holky a dali si nejlepsi cernou. Jeji druha pulka, ktera je do kopce, nas pomerne vyridila, takze jsme zvolili kratsi variantu navratu, kde probehly i nejake defekty a byli jsme docela radi, ze uz jsme v campu.

Singltrek byl pro me super adrenalinovejsi zazitek. Skvele bylo, ze jsme si pujcili celoodpruzena kola, na kterem jsem si to uzil o dost vic, nez kdybych mel svoje. Rad vyrazim zas!:)

Cestou domu jsme jeste zkoukli Jested, ktery jsem si predstavoval tak nejak vetsi;).
 

Půjčte peníze lidem třetího světa

Už je to dlouho, co mi Milan ukázal server kiva.org, kde můžete půjčit pár dolarů lidem z chudších míst planety, kteří se snaží rozjet nějaké podnikání.

Celý web je pěkně udělaný – nejdřív si vyberete, komu půjčíte. Máte možnost filtrovat podle zemí i účelu, ke kterému daný člověk chce peníze použít. Vidíte, kolik celkově požaduje a máte možnost mu půjčit 25 dolarů. Ty vám postupně splatí a můžete je půjčit někomu dalšímu.

Jo a pokud se zaregistrujete přes tento odkaz, dostanete 25 dolarů do začátku a já budu mít také možnost půjčit 25 dolarů navíc. Oproti mnou vloženým penězům, které si mohu po splacení nechat poslat zpět, to s těmito bonusovými samozřejmě nejde.

Kalendarove exporty

Uz delsi dobu me stve, ze mi Facebook dava do kalendaroveho exportu i eventy, na ktere me nekdo jen pozve, ale ja neodkliknu, ze na ne pujdu. Nasynchronizuje se mi to pak do mobilu a otravuje to.

Zkusil jsem se teda dneska na Facebooku najit, jestli to jde nekde nastavit. Na strance eventu v nastaveni (ozubene kolecko vpravo nahore) jsem zaskrtnul “Hide Suggested Events” a pro jistotu i “Hide Declined Events”.

Po odebrani kalendare z Google calendar a opetovnem pridani, jsem ovsem eventy, na ktere nejdu, videl porad! V exportu od Facebooku uz ale nebyly. Google asi silne cachuje, takze jsem za URL exportu pridal vymysleny parametr “&t=2”, coz uz Google povazoval za novy kalendar.

Podobny problem jsem resil s Doodle, kde se mi zobrazovaly vsechny navrzene casy eventu. Stacilo odebrat starou metodu exportu pres ics soubor a nastavit propojeni pres Google API.

Sanebox – uklidil mi v emailu

Sanebox je sluzba, ktera slibuje, ze vas zbavi neporadku v emailu a zjednodusi vam tak zivot. Rozhodl jsem se vyzkouset 14ti denni free trial.

Cele to funguje tak, ze kdyz Saneboxu date pristup k vasemu emailu, pres IMAP vytvori ruzne slozky ve vasem mailboxu a snazi se do nich tridit prichozi emaily.

Vlastnosti, ktere se mi nejvic libily:

  • Newslettery a podobne informacni emaily Sanebox zaradi do slozky @SaneNews. Muzete si je precist pri nejake prokrastinacni chvilce a neotravuji v Inboxu.
  • Emaily, o kterych si mysli, ze pockaji, vam da do @SaneLater. Podivate se na ne pozdeji behem dne. Rano vidite v Inboxu jen ty nejdulezitejsi.
  • Pokud prijde email, ktery nechcete resit hned, muzete ho presunout do slozky @SaneTomorrow, nebo @SaneNextWeek. Zmizi z Inboxu a znovu “prijde” zitra, nebo za tyden. Predpokladate, ze pak uz budete mit cas ho vyridit.
  • Kdyz pisete email, muzete na bcc dat napr. tomorrow@sanebox.com. Pokud adresat do zitra neodpovi, prijde vam info, abyste ho urgovali. Podobne jde pouzit treba monday@sanebox.com apod.

Pokud se Sanebox pri trideni emailu netrefi, muzete si ho jednoduchym presunutim emailu ve slozkach vytrenovat. Jde mu to pak opravdu cim dal tim lip.

Sluzba je placena. Vtipny je vyber planu, kde vam mesicni cenu srovnavaji s cenou svaciny, obedu, nebo vecere. Akorat tyto ceny plati pri platbe na dva roky dopredu.

Skvele je, ze diky vyuziti IMAPu sluzba nevyzaduje zadnou instalaci a funguje jak napr. ve webovem gmailu, tak v jakemkoliv emailovem klientu. Je i dost rychla, takze napr. prichozi newslettery se mi ani nestaci objevit v telefonu a uz jsou zarazeny do slozky @SaneNews, kterou si prohlednu jednou za cas.

Po vcerejsim vyprseni free trialu jsem vahal s koupi. Hlavne kvuli tomu, ze pokud nezaplatite aspon na rok dopredu, cena je o dost vyssi. Premyslel jsem i o tom udelat si vlastni sluzbu, ktera by umela hlavni vlastnosti. Nakonec jsem se ale rozhodl zaplatit, protoze oni uz to maji pekne vyresene, staraji se o to a Sanebox opravdu funguje.

Pokud vas Sanebox zaujal, zkuste se registrovat pres muj afilliate link: http://sanebox.com/t/bf635, meli bychom oba dostat $5 slevu.

Zasadili jsme

Letos s kolegy nemáme biopitel (loni jsme nebyli se sklizní moc úspěšní a pivo můžeme pít i bez zeleniny;), takže jsme si (opět) něco vysadili na terase.

Ředkvičky už mi neprošly, loni to bylo docela fiasko. Půlka vytažená předčasně a malá, ty co žena chránila, pak zdřevěněly:).

Takže osvědčená rajčata a bylinky. Ty ale ještě nejsou koupené, protože byly prý drahé:).

WordPress plugin s Nette formularem

WordPress je skvely nastroj, pokud potrebuji udelat rychle web s publikaci clanku a nekolika strankami, ktere se meni jednou za cas. Opruz obvykle nastava ve chvili, kdy je potreba udelat neco na miru. Existuje spoustu pluginu, ale ne vzdy najdu vyhovujici.

Pri programovani v Nette jsem si zvyknul na jednoduchost formularu a jejich pohodlnou validaci. Rozhodl jsem se je tedy pouzit i ve WordPressu.

Zkusim jednoduse popsat, jak vytvorit formular pomoci Nette na pluginu, ktery bude zobrazen na frontendu. Predpokladam zakladni znalost tvorby WordPress pluginu.

Napr. do adresare _libs/ si dame minified verzi Nette. Potom v php souboru s pluginem pripravim funkci, ktera bude vytvaret formular:

function createNetteForm() {
    include_once $_SERVER['DOCUMENT_ROOT'] . '/_libs/nette.min.php';

    $form = new NetteFormsForm;
    $form->addText('title', 'Jméno')
        ->setRequired('Zadejte prosím jméno');
    $form->addText('email', 'E-mail:')
        ->addRule(NetteApplicationUIForm::FILLED, 'Zadejte prosím email')
        ->addRule(NetteApplicationUIForm::EMAIL, 'email nemá správný formát');
    $form->addTextArea('pozn', 'Poznámka');
    $form->addSubmit('send', 'Odeslat');
    
    return $form;
}

Dale vytvorime funkci pro zobrazeni:

add_shortcode('nette-form', 'myplugin_nette_form');
function myplugin_nette_form() {
    return createNetteForm();
}

Ve wordpress strance, kde chceme mit formular, potom vlozime pouzity shortcode: [nette-form]

A nakonec funkce na zpracovani odeslanych dat:

function nette_form_post() {
    $form = createNetteForm();
    
    if ($form->isSuccess()) {
        $data = $form->getValues();
        
        // ulozit data atd. 

        wp_redirect('/');
        exit;
    }
}
add_action('init','nette_form_post');

Tato funkce je diky akci typu init volana pri kazdem nacteni stranky s pluginem, takze je dulezite vzdy kontrolovat, jestli formular byl odeslan a az potom delat nejake ukladani dat.
Po ulozeni je dobre uzivatele nekam presmerovat, aby nemohl reloadnout stranku a odeslat tak data znovu.

Sikovne je take pridat Nette javascript pro validace, treba do pouzivane template:

<script type="text/javascript" src="<?php bloginfo('template_url'); ?>/js/netteForms.js"></script>

Zálohování

Na poslední březnový den byl vyhlášen World Backup Day. Před aprílem je to pěkné připomenutí toho, že není moc sranda přijít o všechna data.

Já to letos začal řešit už začátkem roku. Konečně jsem investoval do NASu (Synology DS212j), na který se nám doma zálohují počítače. Ručně tam pak nahráváme do adresářové struktury např. fotky. Je to i příjemné sdílení po domácí síti.
Přestože v NASu mám dva disky v RAIDu, rozhodl jsem se zálohovat obsah ještě do cloudu Amazon Glacier. Nikdy nevíte, kdy to může celé odejít, nebo vás vykradou, .. Navíc ceny jsou nízké: 0.011USD za měsíc skladování GB dat. Plus operace nad tím (manipulace se soubory), ale to také není nijak hrozné. Za upload 12,6GB dat a 23598 operací nad nimi jsem zaplatil 1,30USD.

image

A jak jste na tom vy? Zažijete nepříjemné překvapení, až vám někdo šlápne na notebook?:)

P.s.: to možná zažiju i já, viz tento tweet;), ale zatím ok.

Překlad wordpress pluginu

Pokud narazíte na WP plugin, který chcete svým uživatelům dopřát v rodném jazyce, můžete ho přeložit.

O tom, jak se to dělá, se samozřejmě dočtete na WordPress Codexu zde. To se vám bude hodit, pokud fráze v kódu nejsou obalené překladovou funkcí.

Další problém může být, když původní autor zapomene některou z frází zahrnout do pot souboru, ze kterého vyrábíte překlad. Pak se hodí příkaz
xgettext —keyword=__ —keyword=_e plugin.php
který vyhledá všechny fráze k překladu.

Narazil jsem na to, že se mi utilitku xgettext nedařilo na Max OS X najít (resp. pořád mi terminal nabízel xgettext.pl, ale ten neuměl přepínač —keywords). Je totiž součástí gettext. Pokud jste si ho nainstalovali pomocí homebrew hledejte v /usr/local/Cellar/gettext/<VERZE>/bin/./xgettext