čtvrtek 21. ledna 2016

Automobilový zázrak Magnufuel aneb podvod okem vývojáře


Jak ušetřit za palivo?

Přesně takto nazvaný sponzorovaný příspěvek na mě vykouknul na facebooku. Příspěvek byl navíc okořeněný slůvky jako "true story", "fuel-economy" a dovětkem "pokud utrácíte spousty peněz za palivo, přečtětě si tohle". V očekávání, že se dozvím něco o uspornějším způsobu řízení apod. jsem příspěvek rozkliknul.

Zde je pro zájemnce odkaz:
http://www.fuel-economy.info/CZ_Fuel-saving-blog_B8/index.php
 

Autentický blog šťastného řidiče

Odkaz me přesměroval na stránku vypadající jako blog, ve kterém se jeden taxikář chlubí, jak mu zázračné zařízení zvané "Magnufuel" ušetřilo přemnoho peněz. Článek se snaží působit věrohodně, v textu se důmyslně objevují odkazy na distributora tohoto zázraku. Na konci, jak už to bývá, je mnoho kladných odpovědí dalších řidičů.


Všimněte si použitých vět:
  • "...Prodává se v mnoha obchodech, ale nejlevnější je na český distributor..."
  • "A nakonec to nejdůležitější, tedy stránka kde si můžete koupit Magnufuel. Odkaz na stránku. Doporučuju, nebudete toho litovat. "
kde podtržená slova jsou odkazy. Ukázka z komentářů k blogu:



Při kliknutí na odkaz v článku se dostanete na stránky distributora http://www.magnufuel.com/CZ_official_T8/.

Stránky distributora

Stránky jsou interaktivní a celkem líbivé. Autor není na poli webdesignu úpný amatér. Stránka je přehledná, máme zde pěkné animace, které ukazují funkci nabízeného produktu, jsou zde dobře formulované texty, které příjemným způsobem popisují, jak vše pracuje. Tvurce použil několik technických výrazů, jako "uhlovodíkové molekuly" či "frekvence magnetické rezonance", aby čtenáři navodil dojem, že tomu hluboce rozumí. V zápětí však vše zabaluje do jednoduchých konstrukce "sraženiny", aby se dostal na úroveň laika - potenciálního zákazníka .



Celá stránka je lemována certifikacemi, čisly patentů, různých asociací a nadnárodních organizací jako General Motors. Stačí jen objednat a výsledek je zaručen:)



Necháme stranou odbornost textů a to, zda je či nění funkce výrobku fyzikálně možná, mrkněme rovnou na web jako takový z technického pohledu.

Podvodné signály

První zvláštnost, které si všimně i jen trochu zkušený uživatel, je, že počítadlo, které odpočítává 15 minut, ve kterých si máte možnost koupit si výrobek za sníženou cenu, se při každým refresh stránky restartuje. Model slev založený tímto způsobem je ekonomický nesmysl. O podikatelské levárně není pochyb.

Pár vteřin po návštěvě stránky se s pevnou pravidelností v pravém dolním rohu objevuje notifikační čtvereček s různými texty:
  • V této chvíli si tuto stránku prohlíží 172 návštěvníků.
  • Zbývá už jen 5 balíčků za akční cenu!
  • Právě byla zadána objednávka z města Opava.
Především poslední text ve mě vyvolá zvědavost a otevírám zdrojový kód stránky.

Zdrojový kód


Html kód stránky vypadá úhledně, je zarovnaný a přehledný. Autoři webu respektují SEO apod.


Neplýtvám čas podrobnějším zkoumáním, rovnou otevírám javascriptový
popup.js.php soubor. Zde nacházím vysvětlení pro otázku, odkud se beru texty v popup okně.


Ve prostřed souboru je pak vidět užití tohoto pole.


Vše se děje pomocí random čísel:) Nezapomeňte si všimnout zajímavých programátorských technik. Velice mne pobavil fragment, ve kterém se nahrazuje číslo 15 číslem náhodným.

  var text = "Zbývá už jen 15 balíčků za akční cenu!";
  var count = genRandNum(4, 8);
  catchText3 = count;
  document.getElementById("popWindow").innerHTML = text.replace("15", "<b>"+count+"</b>");


Zde mé zkoumání skončilo. Zvědavci mohou jít dále a objevit další špeky.

Podvod jak vyšitý

Věřím, že člověk s průměrnou inteligencí bez znalostí programování je schopen podvod odhalit minimálně tím, že si produkt zkusí jednoduše vygooglit, a najít tak skutečné názory jiných.

Podvedeným přeji minimum finančních ztrát a maximum poučení a vývojářům veselé pobavení.

pátek 15. ledna 2016

Sluníčkář nebo xenofob

"Sluníčkář nebo xenofob?". Tato otázka se ozývá v různých variacích všude - od promočených pivních podtácků nejzakouřenějších vesnických putyk přes komorní domácí prostředí proseděného televizního gauče, v posledním kuřáckém koutku malých podniků i nadnárodních korporací, až po tísícivláknová diskusní fóra oblíbených informačních portálů u článků s nejen uprchlickou tématikou.

Každý pak, kdo podobnou striktně bipolární otázku pokládá, má jedoznačnou a neměnnou odpověď a stejnou očekává od dotazovaného. Při sebemenším zaváhání se dotyčný dostane na opačnou stranu barikády. A ačkoli byl dotazovaný (nebo v případě diskusních fór klidně mohl být) spřízněnou duší tazatele, svou odlišnou a nebo váhavou dopovědí si zavřel všechny dveře vedoucí k přátelství a vzájemnému respektu. V lepším případě vznikne mezi dotyčnými jakási bariéra, v horším dojde k hádce či urážkám. Argumentace daného názoru je pak směsicí univerzálních, zobecněných a zaručených špatných vlastostí protipólu a přehnané vyzdvihování myšlenek vlatních řad.

A kam se řadím já? Nikam. Problém je totiž v samotné otázce. Ta je špatná už z principu, neboť složitou uprchlickou situaci maximálně zjednodušuje, bipolarizuje a nedává prostor k zamyšlení, k diskusi a nepřipravuje živnou půdu pro hledání možných řešení. Naopak slouží jen nepříjemnému rozškatulkování, vyvolává emoce a diskuse blokuje.

Spíše než na jednoduché a snadno pochopitelné (a zcela nefunkční - cit. H.L.Mencken) řešení uprchlického problému mě mé vnitřní já nutí se zamyslet na jeho možnou příčinou.

Proč se statisíce lidí rozhodne odejít ze svého domova a jít jinam? Jde jim o život nebo chtějí jít jen za lepším. A proč by ten druhý důvod měl být nemorální? Každý si chce polepšit. Proč má "západ" právo se o proti zbytku světa mít tak dobře. Polovina planety hladoví, pracuje za dolar denně, aby obyvatelé západních mocností mohli zvesela plýtvat zdroji a devastovat zemi. Je správné těmto desítky let vykořisťovaným lidem nepomoci? Proč bych jako mladý Syřan měl bojovat s militantními skupinami (např. islámský stát), které až na pár médii exponovaných fanatiků budou mít jediný zájem - získat moc nad územím s ropou. Proč bych se neměl chtít mít jako mladý němec, v bezpečí stabilní země v uprostřed Evropy? A co západní mocnosti? Hrají ve skrytu kamer fair-play, nebo má nestabilita v regionech třetího světa pro ně svůj strategicý význam? Právě tak jako nestabilita Evropy vlivem uprchlické krize. Lze problém řešit "humanitárním" bobmardováním a kulometnými hnízdy na hranicích? A když uprchlíky přijmu, budou se schopni adaptovat a nezničím tím vlastní zemi? Je možné je do existujícího systému "západu" vůbec v takovém měřítu přijmout? A když je nepřijmem, co s nimi? Deportace? Statisíce lidí? A kam? Do jejich zničené země, kde je čeká nejspíš hladovění? Není vlastně celý tento náš západní systém nastaven právě na křehkém principu "oni trpí abych se měl dobře" a jakoli pomoc, kterou jim poskytem, povede k jeho zhroucení, kterému budou předcházet násilnosti, strach a no-go zóny?  ...

A není to tedy vlastně všechno jen daň za náš přepych? Vozíme se denně do zaměstnání autem, kde polovinu času prosedíme u sociálních sítích a druhou provádíme nesmyslnou zbytečnou činnost, abychom po práci sedli k televizi k nekonečním seriálům nulových uměleckých kvalit. Po tom všem pak obdržíme výplatu, ze které by v rozvojových zemích žila desetičlená rodina dlouhé týdny či měsíce ale nám to tak tak stačí na splacení hypotéky, každoroční výměnu telefonu za novější model, večeřím v restauracích, nákupu vstupenek do kin a fitness klubů a tisícům dalších rozmarů.

Možná.

A možná, že jedou bude třeba tuto daň splatit.

Třeba je to právě teď...

Pre-Built Oracle Database 12c in VirtualBox

Every developer sometimes needs full-featured database for testing purposes. Developer has two typical choices:
  • To use shared database installed on company servers - He does not care about installation, administration etc but during his experiments he can make this database instance unstable and cause all team-mates angry:) Developer cannot also do some administration tasks because of he has no access to system privileges. System access to database is in the competence of DBA department.
  • To use it's own database installed on his desktop locally - In this case must be developer able to install database from scratch: This is magical and boring task.
Therefore Oracle prepared various set of pre-builded VMs where the installation is easy. For application developers is suitable to use "Database App Development VM". This image has quite small footprint (2GB RAM, can be downgraded to 1.7GB) and contains only necessary tools.

This post shows you step by step how to install this image and use database from outside VM (yor desktop OS) with minimal effort:
  1. Download and install virtual box from official page

  2. Download Pre-Built Developer VM from Oracle named "Database App Development VM" from http://www.oracle.com/technetwork/community/developer-vm/index.html#dbapp

  3. Import Database App Development VM into VirtualBox
    1. Import appliance (Ctrl-I) or (menu > File > Import appliance). Select .ova file. Next button.



    2. Dialog Appliance Settings: No changes. Just press import button,

    3. Add "vboxnet" for your global VirtualBox setting: Press Ctrl+G, Choose Network, Choose Host-only Networks, Add button, set Ip addess and mask (192.168.57.1, 255.255.255.0).



    4. DO NOT CLOSE YET THE DIALOG. Switch to DHCP Server tab, enable it and configure it according to picture. Now, you can close:).



    5. Configure VM - set network adapter 1 as vboxnet : Choose Oracle DB VM, Press Settings, Choose Network, Choose Adapter no 1. Set Host-only Adapter (which was created in previous step).



  4. Start Oracle DB VM

    1. Disable oracle REST services for less memory consumption in VM. (This is java process and takes cca 300MB RAM) :

      1. Open terminal and execute "chmod -x ./ords.sh". Restart VM
      2. Check if process is not running by executing in terminal "ps aux | grep ords.war"



  5. Connect to database running inside VM from your desktop system via sqldeveloper or another client:



Summary:

Pre-built VM image is more or less a black-box which is not consuming so much resources on developer's desktop. You can quit fast re-create whole VM when something goes wrong and because of it comes from oracle, you can find another guides and advices what to do with it.