Konečne poriadny Javascript, edícia 2017

napísal , 8 Jun 2017

Ešte stále používaš v Javascripte Promises, ako za čias Márie Terézie? Alebo nebodaj callbacky, ako ich písal ešte Július Cézar? (čo malo za následok pád Rímskej ríše)

To nevadí. Svet Javascriptu sa hýbe šialeným tempom a treba vynakladať veľké úsilie, aby bol človek v obraze. Ukážeme si, ako sa v roku 2017 vieme definitívne vysporiadať s odvekým problémom Javascriptu a hlavne node.js - asynchrónnymi volaniami a takzvaným callback hell (pre ortodoxných slovenčinárov: peklo spätných volaní).

Všetky metódy si ukážeme na pomerne jednoduchom node-ovskom príklade s Mongooose/MongoDB, kde chceme:

  • vymazať článok z databázy
  • vymazať súbory, ktoré boli k nemu uploadnuté
  • aktualizovať čas poslednej aktivity autora článku

Tento príklad bude stále jednoduchší, čím viac budeme postupovať do prítomnosti.

Výlet do Číny

napísal , 24 Jun 2013

Keď niekam cestujem ani ma tak nezaujímajú nejaké historické oné, oveľa radšej si všímam a zapisujem drobné detaily a rozdiely v životoch súčasných ľudí. Preto som išiel do Číny (do Pekingu), že tam snáď bude dosť odlišná kultúra a budem si mať čo všímať. Mal som. :) Keďže sú to dosť random pozorovania, ani som sa ich nesnažil spájať do viet. Takže len v odrážkach..

  • všetko je veľké
  • presúvanie sa po meste peši je viac menej nereálne (hodiny chodenia), aj cesta busmi a metrom trvá kvôli obrovským vzdialenostiam hodiny
  • napr. v Londýne sa dalo za rovnaký čas pobehať tak 2-3× viac miest ako v Pekingu
  • všade veľa ľudí, keď príde rush hour (okolo 8 a 18-tej), je to úplné peklo, cesty, MHD a aj chodníky sú upchaté
  • výhoda veľa ľudí je, že keď treba niečo spraviť, pošle sa na to kŕdeľ Číňanov a za chvíľu je to hotové. Napríklad 20 stĺpikov maľovalo 10 ľudí.
  • znalosti angličtiny sú u Číňanov vačšinou nulové. Naozaj nulové. V reštaurácii netušia čo je chicken, ani yes a no, museli sme používať obrázkový slovník a ukázať im sliepku a pivo :)
  • názvy ciest a staníc metra a pár obchodov po anglicky, inak všetko po čínsky. Celý čas sme len mohli hádať čo je čo. Narozdiel od jazykov s abecedou je brutálne ťažké sa naučiť prečítať aj len pár základných slov.

Normálny stav v metre Rush hour. Toto je rad ľudí, čo trčia z metrovej stanice až do ulice. Engrish ruksak

Recenzia Pebble

napísal , 10 May 2013

Pebble smart hodinky

Aké sú jedny z prvých "smart" hodiniek? TL;DR: fajn.

Pebble sú snáď prvé "digitálky", ktoré nie sú škaredé. Aspoň to som od nich ja očakával a to aj splnili. Narozdiel od ostatných smartwatches, sú to reálne hodinky - čiže nepretržite ukazujú čas. To je veľmi dôležité. Hodinky, ktoré treba zakaždým zapnúť, sú zbytočný gadget nahraditeľný telefónom.

Pebble sú zatiaľ viac hodinky ako "smart". Z hľadiska softvéru je dostupný iba úplný základ a SDK na akékoľvek aplikácie je ešte stále vo fáze prípravy. Čo do kvality, Pebblom dodaný/overený softvér funguje perfektne, 3rd party veci sú niektoré fajn, niektoré nepoužiteľné a nestabilné.

EDIT 16.5.: práve vyšlo Pebble SDK s obojsmernou komunikáciou. To znamená, že za chvíľu by mali byť dostupné aplikácie na všetko možné! (najväčší zoznam aktuálne tu http://forums.getpebble.com/categories/watchapp-directory)

Slovensko-anglicko-programátorská klávesnica

napísal , 20 Apr 2013

(pre Windows)

Je dosť možné, že táto experimentálno ultimátna klávesnica je ultimátna len pre mňa.. že iba ja som divný a používam slovenský layout pri programovaní. Ale ktovie, možno aj ty si divný/divná alebo možno potrebuješ písať veľa čísel a nemáš numpad.

Slovenská klávesnica vo Windowse je fajn, až na taký detail, že čísla sa píšu so SHIFTom. Čo je pre programátora maximálna debilina. Preto som spravil vlastné rozloženie, kde sa čísla píšu bez shiftu a diakritika so shiftom, čiže opačne. Je to filozofiou podobné Macovskému rozloženiu.

Notebook, adaptér a hluk v reproduktoroch

napísal , 11 Feb 2013

Po pripojení notebooku k reproduktorom alebo k nejakému audio systému dosť často nastáva problém, že namiesto ticha ide z reprákov dosť veľký hluk z notebooku. Niečo takéto:

To kliknutie pred koncom je zvuk ako som odpojil adaptér od notebooku. Rámus evidentne zmizol. Podobná vec sa deje aj keď pripojíte monitor cez VGA - obraz sa vlní a šumí. Dlho ma trápilo čo je to za hovadinu a ako šum odstrániť, tak som sa konečne odhodlal o tom napísať.

Všetok tento trapas sa deje iba v prípade, že notebook aj reproduktory sú pripojené do elektriny "trojitou" zástrčkou (to je tá s dierkou) alebo ak sú k reproduktorom s obyčajnou zástrčkou pripojené 2 zariadenia s trojitou zástrčkou. Podobne s monitorom.

Problém je v tom, že vznikajú zemné slučky (anglicky ground loops). Na wikipédii je to, samozrejme, maximálne blbo vysvetlené, ale v zásade ide o to že zle navrhnuté zariadenia (ako napríklad adaptér) menia potenciál zeme a vďaka slučkám pomedzi zariadenia premáva neželaný prúd a robí hluk. Alebo také niečo.

Update: pridal som druhú, menej hackerskú metódu

Som odmeral. Alebo akú spotrebu má čokoľvek?

napísal , 10 Dec 2012

Koľko wattov žerie notebook? Koľko keď je vypnutý? Koľko veľký počítač? Koľko repráky? Žerú niečo aj keď v nich nič nehrá? Akú má spotrebu monitor, telka, mikrovlnka, chladnička, lampa, konzole a iné haraburdie? Takéto otázky ma dlho trápili, preto som si kúpil merač spotreby a zúrivo som meral všetko, čo som zbadal.

Merač má minimálnu citlivosť 2W, takže všetko, čo žerie menej je zapísané ako "<2W" a možno nie je ultra presný, každopádne na vytvorenie slušnej predstavy stačí. Všade, kde nie je uvedená spotreba v "standby" režime, bola nižšia ako 2 watty alebo zariadenie nemalo standby režim.

Zariadenie Spotreba Kec
Reproduktory, malé, 2 (Maxxtro) 5W nehrá nič "Potichu" je hlasitosť vhodná do pozadia.. čiže niekde na hranici, že je počuť čo hrá a zároveň neruší. "Nahlas" je tak nahlas, že by sa pri tom dalo vŕtať a vysávať naraz. Oficiálny max výkon 2×18W.
5W potichu
15W nahlas
Reproduktory, 5" štúdiové (KRK RP5) 2×12W nehrá nič Oficiálne majú výkon 45W každý (príkon 100W), ale to som nemal odvahu skúšať. Pri normálnej hlasitosti žerú rovnako ako keď nič nehrá.
2×12W potichu
2×15W nahlas
Reproduktory 2.1 (Hercules) 8W nehrá nič
8W potichu
14W nahlas
Reproduktory 5.1 (Genius) 9W standby
20W nehrá nič
22W potichu
50W nahlas
Subwoofer, 10" (M-Audio BX10s) 12W nehrá nič Výkon/príkon 240/300W. Nahlas = vibrujú okná.
15W potichu
196W nahlas

Vylepši si internety s UserScripts

napísal , 30 Jul 2012

Predstavte si, že sa vám nepáči nejaký web. Máte veľmi jasnú predstavu ako ho vylepšiť, ale nemáte nad ním žiadnu kontrolu. Buď napíšete adminovi (veľa šťastia pri stránkach ako Google;) alebo si napíšete Userscript. (alebo napíšete do Googla a on vám nájde Userscript)

UserScripts sú minimalistické rozšírenia pre Chrome, Firefox a Operu, ktoré slúžia na vylepšenie vzhľadu a správania stránok. Občas aj na vylepšenie správania celého prehliadača. Fungujú veľmi jednoducho - na stránkach definovaných skriptom sa spustí kúsok javascriptu, ktorý stránku "opraví". Narozdiel od extensions, Userscripty majú takmer nulový dopad na svižnosť prehliadača a spotrebovanú pamäť.

Čo je veľmi dôležité. Napríklad taký AdBlock (v základnom nastavení) pre Chrome pridá k načítaniu stránky aj viac ako sekundu. Na čo sa dajú UserScripty použiť, uvidíte na pár príkladoch, ktoré často používam.

Twitter bullshit remover

Mňa osobne maximálne nezaujímajú kydy z 4square-u, akákoľvek zmienka Klout-u a podobné kraviny, preto som spravil skript, ktorý skrýva tweety obsahujúce "4sq" alebo "klout". Protip: 4square zaujíma len tých, čo sú na 4square-i, ostatných nie! Keď vypnete automatické postovanie na Twitter, veľa ľudí dozaista potešíte. A sorry, Marcel, že som zrovna teba použil ako príklad, na niekoho to už len muselo padnúť :)

Download - Bullshit remover for Twitter.user.js (filterPattern si môžete upraviť podľa ľubovôle).