"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ď...
pátek 15. ledna 2016
Pre-Built Oracle Database 12c in VirtualBox
Every developer sometimes needs full-featured database for testing purposes. Developer has two typical choices:
This post shows you step by step how to install this image and use database from outside VM (yor desktop OS) with minimal effort:
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.
- 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.
This post shows you step by step how to install this image and use database from outside VM (yor desktop OS) with minimal effort:
- Download and install virtual box from official page
- Download Pre-Built Developer VM from Oracle named "Database App Development VM" from http://www.oracle.com/technetwork/community/developer-vm/index.html#dbapp
- Import Database App Development VM into VirtualBox
- Import appliance (Ctrl-I) or (menu > File > Import appliance). Select .ova file. Next button.
- Dialog Appliance Settings: No changes. Just press import button,
- 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).
- DO NOT CLOSE YET THE DIALOG. Switch to DHCP Server tab, enable it and configure it according to picture. Now, you can close:).
- 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).
- Import appliance (Ctrl-I) or (menu > File > Import appliance). Select .ova file. Next button.
- Start Oracle DB VM
- Disable oracle REST services for less memory consumption in VM. (This is java process and takes cca 300MB RAM) :
- Open terminal and execute "chmod -x ./ords.sh". Restart VM
- Check if process is not running by executing in terminal "ps aux | grep ords.war"
- Disable oracle REST services for less memory consumption in VM. (This is java process and takes cca 300MB RAM) :
- 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.
pátek 24. července 2015
Spray Paint Art na kytaře
Ve sklepě se mi nějakou dobu válela stará tátova rozbitá kytara, kterou jsem sebou brával na různé pijácke akce (voda, hospody, k ohni apod.). Poté, co odešly kladky na uchycení strun, lžela ladem ve sklepě do chvíle, než jsem se dostal k tomu jí zprovoznit a při té příležitosti na ní provést pár experimentů. Lákal mne především "spray paint art", tedy umění vytvořit pomocí vhodné kombinace sprejování zajímavé grafické efekty.
Na kytaře bylo potřeba udělat spousty práce. Starého laku jsem se zbavil odstraňovačem starých nátěrů
Poté jsem nástroj důkladně obrousil
Protože zadní a boční strana má pěkný dřevněný dekor, natřel jsem je bezbarvým lakem.
Bylo potřeba upravit nové sedlo na kobylce, což je kousek plastu, který lze koupit v hudebninách. Sedlo bylo moc vysoké, tak jsem pilníkem přibrousil.
Na přední desku i krk jsem nanesl základní nátěr.
Poté nastříkal černou barvou.
A na závěr paint-art:)
Při barvení jsem udělál pár chybek:
- Základní barvu jsem nanesl štětcem, což na povrchu zanechalo viditelné tahy štětcem :(
- Černý podklad není pro sprejování příliš vhodný. Příště si připravním bílý podklad.
pátek 15. května 2015
Hibernate 4.3.7 patch for schema name customization
The JPA standard allows to hardly define a concrete schema for tables/entites via annotations (for example @Table). For my project was necessary to modify these shema names according to configuration on the realtime, just before EntityManagerFactory is created. Generally, the Hibernate version 4.3.7 provides for a db-to-java name mapping special interface org.hibernate.cfg.naming.NamingStrategyDelegate.
This interface provides lots of nice method for define a mapping between JPA objects names and db objects names, but one thing is missing - schema names customization.
Extending interface
For assurance of backward compatibility, I decided to create new interface as extended existing interface:
package org.hibernate.cfg.naming;
Modification of internal behavior of hibernate was not easy. All names modifications is present in very extensive class org.hibernate.cfg.AnnotationBinder. This class contains cca 2800 lines of code and really needs to be refactored :). I added this code fragment on multiple places:
NamingStrategyDelegate n =
mappings.getNamingStrategyDelegator().getNamingStrategyDelegate(false);
if (n instanceof ExtendNamingStrategyDelegate) {
schema = ((ExtendNamingStrategyDelegate) n).determineSchemaName(schema);
if (schema == null) {
schema = "";
}
}
package org.hibernate.cfg.naming;
public interface ExtendNamingStrategyDelegate extends NamingStrategyDelegate {
public String determineSchemaName(String schemaName);
}
Modification of internal behavior of hibernate was not easy. All names modifications is present in very extensive class org.hibernate.cfg.AnnotationBinder. This class contains cca 2800 lines of code and really needs to be refactored :). I added this code fragment on multiple places:
NamingStrategyDelegate n =
mappings.getNamingStrategyDelegator().getNamingStrategyDelegate(false);
if (n instanceof ExtendNamingStrategyDelegate) {
schema = ((ExtendNamingStrategyDelegate) n).determineSchemaName(schema);
if (schema == null) {
schema = "";
}
}
If you want to see whole class, please download sourcecode.
Patching of original hibernate
The Hibernate framework is opensource and for building purposes is used the Gradle system. Unfortunately, I haven't any knowledges about Gradle and also our processes in company are hardly maven-oriented. I've decided to do it "dirty" way with 2 maven projects.
- hibernate-core-patch (version 4.3.7.1) - contains my created class ExtendNamingStrategyDelegate and modified AnnotationBinder only. Project version 4.3.7.1 defines that patch is based on hibernate 4.3.7.
- hibernate-core (version 4.3.7.1-Patched)- Combination of original hibernate binaries (hibernate-core version 4.3.7) and forced injection of my modifications (hibernate-core-patch 4.3.7.1). This project does not contain any java code and it is defined as a integrator for binaries via maven-dependency-plugin.
Using of patch
After building and installing patched hibernate-core project, Use in your project patched version of hibernate-core instead of original (replace version 4.3.7 with 4.3.7.1-Patched).For using NamingStrategyDelegate, please read original documentation
https://docs.jboss.org/hibernate/orm/4.3/manual/en-US/html/ch03.html#configuration-namingstrategy
With difference that you will use ExtendedNamingStrategyDelegate interface.
Summary
I'm not a fan of "raping" of frameworks, tools and standard procedures as shows this article:). But sometimes it can be very usefull and it can save lots of time before you find better way to solve a problem. In this time, Hibernate version 5 is comming and according to release notes, it should be refactored and also support for schema name mapping should be added.pátek 24. dubna 2015
Výroba jednoduchého přebalovacího pultu
Jako všichni nastávající rodiče, tak se i my s přítelkyní připravujeme na příchod nového potomka. Paralelně s duševní přípravou probíhá příprava materiální: oblečky, pleny, odsávačky, kočárek, autosedačka, ...., postýlka a přebalovací pult. Ačkoli se všechny věci dájí pohodlně koupit, mojí drobné kutilské duši nedá tu a tam si něco vymyslet a realiovat po svém. Jediná možná věc,u které si troufnu spáchat samovýrobu, je přebalovací pult. Nahrává tomu několik skutečností:
- Kamarádi-rodičové doporučují umístit přebalovací pult do koupelny. Blízkost vodního zdroje a omyvatelnost většiny povrchů v okolí ušetří mnoho nervů a času s úklidem.
- V naší koupelně se nachází vhodné místo, jeho atypycké rozměry však nutí provést výrobu pultu "na míru".
- Nejjednodušší verze přebalovacího pultu je v podstatě sada čtyř vhodně sešroubovaných dřevotřískových desek.
Místo v těsné blízkosti umyvadla je více než příhodné. Původně bylo zamýšleno na koupelnovou skříňku.:).
První fáze: metrem naměřím všechny rozměry. Nejprve počítám s pracovní deskou s nepravidelným tvarem a zakresuji do návrhu i obdéníkový výklenek o rozměru cca 10x15cm, který bude součástí hlavního obdélníku o rozměrech cca 60x80cm.
Nechat si nařezat dřevotřískové desky na míru umí dnes každý větší hobbymarket. S papírkem vyrážím do nejbližšího z nich. Volím nejlevněší řešení - bílou desku o tloušťce 12mm. Běžně se nábytek montuje z desek 15mm až 18mm. Já se spoléhám na to, že pult bude ze všech stran opřen o pevnou plochu, což by mělo zajistit dostatečnou pevnost a stabilitu.
Pracovník hobbymarketu, který přebírá mé požadavky, mi sděluje, že provádí řez jen na celé obdélníky. Výklenek je tedy nutné odříznout zvlášť a k hlavní ploše "nějak" přidělat. Nedá se nic dělat.
Desky jsou nařezány. Je třeba je vhodně (především pevně) spojit k sobě. K tomu jsem společně s deskami koupil ocelové rohové spojky ve tvaru L na čtyři vruty. Protože jsou ocelové spojky přiliš nápadné, na potenciálně viditelná místa použiji méně pevné, zato decentnější bílé plastové spojky, které navíc obsahují záklopku naschování hlaviček vrutů. Vruty jsem použil 4mm o délce 10mm, aby nedošlo k prošroubování skrz desku.
Po pár hodinách rozměřování, předvrtávání a šroubování je přebalovací pult hotový. Zbývá už jen nainstalovat nažehlovací hrany. Prostor pod pultem nyní využíváme na koš na prádlo, později podle potřeby může být doplněn o poličky.
Na vrch přijde ještě polstrovaná přebalovací podložka. Sousedícím stěnám a umyvadlu je konstrukce celkově stabilní a dítě o váze pár kilo bez problému zvládne. Cena za tento jednoduchý přebalovací pult se vyšplhala asi na 700Kč. Radost z dobře odvedené práce - k nezaplacení:D
Přihlásit se k odběru:
Komentáře (Atom)
















