Nothrem Sinsky - Životopis

Poslední aktualizace webu 5/2018; poslední aktualizace PDF 5/2018

Show in english

Některé údaje byly skryty. O přístup k nim požádejte, v odůvodněných případech, na uvedeném emailu.
Uvedené jméno je pouze pseudonym (alias/aka)

jménoÚdaj je skryt.
akaNothrem Sinsky
emailemail.gif, 1 kB (pro ochranu před spamem je adresa uložena jako obrázek a neumožňuje kliknutí nebo kopírování)
telefonÚdaj je skryt.
trvalé bydlištěÚdaj je skryt.
národnostčeská
narození1983, Plzeň
zaměstnání
5/2017 - do teďÚdaj je skryt. Smlouva na dobu neurčitou
pozice: Leading Nette Template Designer
náplň práce: vývoj GUI pro novou, plně responzivní webovou aplikaci postavené na frameworcích Nette a Bootstrap. Příprava a kódování šablon (Nette Templaty, komponenty, formuláře, snippety) z grafických návrhů (click dummy). Rozšiřování možností frameworků (Nette Makra, Flexbox/Grid pro Bootstrap 3, LESS mixiny, AJAX, apod.). Vývoj datového backendu v Nette (Modely, signály, ukládání a načítání dat) a MySQL (návrh tabulek a relací, optimalizace dotazů a indexů). Vývoj a správa LESS stylesheetů a JavaScript handlerů vč. jejich inteligentního načítání (progressive CSS loading, inline vs. deferred skripty, apod.). Správa a příprava překladů vč. vývoje nástrojů pro export a import překladových slovníků (Nette Kdyby/Neon). Příprava responzivní grafiky, ikon a spritů včetně optimalizace (mozJPEG, optiPNG, SVGO, apod.). Příprava a správa automatizace pomocí Grunt úkolů (lessc, uglify, image processing, atd.). Návrhy a úpravy pro zlepšení UX a rychlosti načítání stránek (komprese a cachování, splnění požadavků prohlížečů a mobilních zařízení, apod.).
3/2013 - 4/2017Údaj je skryt. Smlouva na dobu neurčitou (bez ukončení, přechod na jiný projekt)
pozice: Leading Web Design and UX Developer
náplň práce: vývoj GUI pro mobilní webové aplikace (iPhone, iPad) a nativní mobilní aplikace s použitím webových technologií (Android - Cordova). Převod existujících desktopových webů do responzivní/mobilní verze. Úprava funkcionalit podle požadavků zákazníka. Zlepšování UX u stávajících funkcionalit pomocí moderních technologií (CSS3, Ajax, Lazy loading, apod.).
1/2013 - 3/2013Údaj je skryt. Zkušební doba, pozice zrušena kvůli restrukturalizaci společnosti
pozice: IS Team Leader
náplň práce: vedení týmu, který se stará o běh cloudového systémuÚdaj je skryt..
Zajištění SLA a HA (SLA = Service Level Agreement, HA = High Availability; maximalizace dostupnosti služby - minimalizace doby výpadků), plánování nasazení nových verzí, řešení chyb a problémů s vývojáři systému a zákazníky/supportem.
7/2007 - 12/2012Údaj je skryt. Smlouva na dobu neurčitou, ukončena z organizačních důvodů (plošné propouštění)
pozice: Web developer - vývojář webové administrace
náplň práce: získání požadavků od zákazníků a návrh GUI; vývoj GUI (Sencha ExtJS), aplikační logiky a infrastruktury; sběr a řešení chybových hlášení od zákazníků.
7/2005 - 6/2007Údaj je skryt. Smlouva na dobu určitou (nadále spolupracuji jako externí poradce)
pozice: Správce sítě a programátor
náplň práce: nákup, zprovoznění a správa počítačové sítě, technická podpora (Windows, kancelářské aplikace, Apache2, PHP a MySQL); vývoj firemních www stránek; vývoj informačního SW firmy (intranet) - skladové a limitní hospodářství, fakturace, saldo odběratelů a dodavatelů, účetnictví, podpora specifických potřeb firmy (vývoj a testování nových výrobků, apod.)/i>
9/2004 - 6/2005Roční kurz angličtiny (viz vzdělání)
3/2004 - 6/2004Ahold cz (hypermarkety Albert, dříve Hypernova) brigáda
náplň práce: pokladní, doplňování zboží

vzdělání
2014Jazykový kurz Japonština - Pokročilý
2010-2012Individuální výuka japonštiny s lektorem
2004-2005Intenzivní roční kurz angličtiny, Státní jazyková škola v Plzni ukončeno s hodnocením výborně
pozn: od r.2006 přejmenováno na "Krajské centrum vzdělávání a Jazyková škola s právem státní jazykové zkoušky, Plzeň"
2002-2004Západočeská univerzita v Plzni - Fakulta aplikovaných věd - obor Informatika nedokončeno (osobní důvody)
1998-2002Střední průmyslová škola elektrotechnická v Plzni - obor 26-84-6 Elektrotechnika (zaměření Výpočetní technika) ukončeno maturitní zkouškou (ČJ, Ekonomika, Elektrická měření, Informatika)

cizí jazyky
angličtinavýborně (úroveň C1)
2012Oxford Online Placement Testwww.oxfordenglishtesting.com vč. ústní zkoušky
Výsledek: level C1 (90 bodů) Údaj je skryt.
2005Zkouška PET - Preliminary English Test (level B1; =mírně pokročilá)
ukončeno s hodnocením Pass with merit (= prospěl s vyznamenáním)
2004-2005Intenzivní roční kurz, Státní jazyková škola v Plzni ukončeno s hodnocením výborně
2001Základní kurz anglického jazykaukončeno s hodnocením velmi dobře
20013-týdenní Intenzivní kurz v Hastings, Anglie
japonštinamírně pokročilý
2014Jazykový kurz Japonština - Pokročilý
2010-2012Individuální výuka japonštiny s lektorem
němčinapasivně
1994 - 2002Povinná výuka na ZŠ a SŠ

programovací jazyky
WebHTML 4/5 (XHTML), CSS 2/3, PHP 5/7 (OOP, Zend Framework), Javascript ES5/ES6 (DOM, AJAX, JSON, Nette, Bootstrap, ExtJS 3/4, jQuery, jQuery UI, jQuery Mobile, Cordova, Node.js, Grunt tasks, Less plugins)
DatabázeMySQL 5/MariaDB 10 (relace, replikace, optimalizace indexů, atd.), Redis (cachování dat pro PHP, uchovávání rychle se měnících dat)
OstatníJava (Android - Cordova), Windows (Batch) Ruby (Skripty pro Linux konzolu)
Delphi 7 (Object Pascal, Memory management, ASM, DirectX), Visual Basic, VBA
technologie
vývoj SWSCRUM (Agilní vývoj)
UML, Návrhové vzory (design patterns; viz zkoušky a školení), Mind Maps (FreeMind)
užitné technologieRegulární výrazy (RegExp - JS/PHP/Ruby/Bash), XML, JSON, UTF-8, UNICODE
TCP/IP, IPv6
vzdálený přístupVNC (RealVNC), RDP, TeamView, SSH/PuTTY/WinSCP, OpenVPN, KerioVPN
verzovací systémyGIT (console, GitExtensions), SVN (TortoiseSVN, Console), CVS (TortoiseCVS, WinCVS)
debugováníChrome (Windows, MacOS, Android - remote debugging), Internet Explorer/Edge (Windows, Windows Phone, Windows Phone Emulator), Safari (MacOS, iOS - remote debugging, iOS emulator), Firefox (Firebug, FirePHP)
Wireshark, Fiddler, jsLint, esLint/JSCS
vývojová prostředíPhpStorm, Eclipse (JS, PHP, Java, ADT), Zend Studio 5 (PHP), PSpad, Visual Studio for Web, Visual Studio C++
Photoshop, Corel PaintShop Pro, Paint.net
WinMerge/KDiff3
serveryApache 2 (konfigurace vč. virtuální domén), PHP (instalace, konfigurace, extensions), MySQL (phpMyAdmin), Redis (Instalace, integrace do PHP), Node.js (instalace, správa modulů)
GIT Server, SVN server

operační systémy Windows 9x, Windows XP Home/Profi, Windows Vista/7/8/10, MS DOS, Windows Consoleinstalace, konfigurace, Batch skriptování
řešení problémů, technická podpora WMWare Workstation/ESX, Oracle VirtualBoxinstalace, konfigurace, správa serverů, testování programů Linuxzákladní administrace, SSH (PuTTY), SCP, Bash skriptování, Nano, VIM, MC, instalace balíků, konfigurace daemonů MacOS X, iOSzákladní administrace, testování a debugování webových aplikací, vzdálené debuggování Safari na iOS, iOS emulátor Androidkonfigurace, USB debugging, ADB console, LogCat, vzdálené debuggování Chrome, Emulátory (ADT, BlueStacks)
Android 2.2, Android 4.x, Android 5+
jiné aplikaceMS Word, Excel (vč. SpreadsheetML), PowerPoint, OpenOffice/LibreOffice (Writer, Calc), Adobe Acrobat Profi, TrueCrypt, aj.
zkoušky a školení
2015Aaron Marcus: Mobile UX persuasion designPřednáška a workshop o návrhování (mobilních) aplikací a webů s ohledem na emocionální zapojení a potřeby uživatele.
2012Windows 8 RoadShowŠkolení o fungování a vývoji aplikací pro Windows 8 Metro (WinRT, IE10, dotykové ovládání, design, ...)
2010, 2011, 2012WebExpo PrahaPřednášky o novinkách ve webových technologiích, pohledy na vývoj IT od předních českých i zahraničních společností (Seznam, Microsoft, Google, Skype, ...)
2008Ilja Kravál: UML a Návrhové vzoryMožnosti objektového programování, známé postupu a návrhové vzory. Navrhování programů pomocí jazyka UML.
2005ECDL (European computer driving licence)Sylabus verze 3.0 (MS Word, Excel, PowerPoint, Outlook, Access, IE)

jiné zkoušky
2001Řidičský průkazskupina B (osobní auta, dodávky typu pick-up a transit)

zájmy, volný čas
překladyPřeklady PC her a programů, návodů a příruček, titulky k filmům
2006-2007Oblivion CZ Team (oficiální web zrušen ze strany hostingu kvůli stáří) Překlad her TES4: Oblivion a Shivering Isles
2005TES3: Morrowind Překlad a úprava rozšíření do české verze hry (web zrušen ze strany hostingu kvůli stáří)
2004Projekt Eden Překlad hry Project Eden
2003Tomb Raider: Angel of Darkness Překlad hry (kvůli konkurenčnímu překladu nedokončen)
1998Dark Colony Překlad hry (kvůli konkurenčnímu překladu nezveřejněn a ztracen)
návody a manuályNávody k PC hrám a programům
2016Brány Skeldalu - 7 mágů Průvodce pro hru
2007Bioshock Kompletní průvodce pro hru
2008Tomb Raider Underworld Kompletní průvodce pro hru a řešení 'zákysů'
2007Tomb Raider Anniversary Kompletní průvodce pro hru a řešení 'zákysů'
2007Jade Empire - Nefritové císařství Kompletní průvodce pro hru
2006 - 2011Half-Life 1, 2, Episode One, Episode Two, Portal, Portal 2 Kompletní průvodce pro hru
2006LEGO Star Wars The GameLEGO Star Wars The Original Trilogy Návod na hry
2004Projekt Eden Kompletní průvodce pro hru Project Eden
2004Tron 2.0 Návod na hru
2004Hledá se Nemo Návod na hru
technická podporaRady, pomoc
2014 - do teďCSS3 BlogJavaScript Blog
2013 - do teďStackOverflowJS, CSS3
2007 - do teďBlog o administraci Windows a Linux systémů, databázích, atd.
2006-2007ICQ, fórum jakpsatweb.cz programátorská pomoc s HTML, PHP, CSS, SQL
2006fórum ATI.cz (zrušeno) technická pomoc s GK ATI a videem
2005fórum builder.cz programátorská pomoc s Delphi 7
jiné zájmy
  • fotografování, úprava fotek, toy photography (Nendoroid)
  • hudba (dance, jpop, kpop)
  • seriály (sci-fi, komedie, anime
  • PC hry (RPG, Stealth, Logické, Final Fantasy)
  • PaperCraft (papírové modely)
    • Druhé místo v soutěži Papírový velbloud 2012
  • koloběh
    • Účast na závodě KOLOBĚHran 2012
    • Účast na závodě Kolem Světa (Františkovy lázně, 2013)
Více na
celý životopis:http://cv.nothrem.cz
full CV in english:http://cv.nothrem.cz?en

Source code examples (pouze v angličtině)

(Click on a highlighted file name to display its content.
Click on a highlighted repository name to see its content on GitHub.)
PHP Example from my framework JEWE, a simple framework that loads any plugins a developer has uploaded to the server and lets them prepare HTML page.
  • Engine
    • index.php - initializes whole framework
    • ConfigInterface.inc - defines how the plugins will process input files and generate HTML page based on server configuration (file config.inc)
    • Plugins.inc - is responsible for loading and registering all plugins
  • Plugins
    • HtmlParser.inc - loads an input file (defined in configuration) and processes it line-by-line by using other plugins
    • Chapters.inc - looks for special keywords in the input file and both creates header elements in the HTML file and prepares list of the chapters so that other plugins can later create menu for the HTML page
  • Functional example
PHP/ZendZend_Db_Query - Modification of the original Zend_Db_Select that supports more query types (INSERT, UPDATE, DELETE, SubQuery), more complex conditions (WHERE, JOIN), automatic column name translation to aliases, etc.
Javascript sample of my work on extensions and plugins for various JS frameworks and libraries
  • jQuerySmartEllipsis - Inteligent replacement for CSS definition text-overflow: ellipsis. Based on a discussion on StackOverflow.
  • jQuery Process - Alternative of jQuery's Deferred class that simulates ES6 Promises (in ES5 environment) and adds more functionality to handling promises, slave processes and AJAX responses.
  • jQuery BWIP - jQuery wrapper for the BWIP-JS library (barcode writer). Allows to generate barcodes directly from elements selected by jQuery and optimizes when used on a multiple elements at once.
  • Less Version - Plugin for LESSC compiler to calculate version hash for files included into CSS (images) for file versioning (anti-caching).
Bash (UNIX script)
  • find_log.sh - script looks for an error in log files based on known error description and time when it happened. When found, it shows menu for easier error processing.
    Script expects few preconditions:
    • logs are rotated periodically - script skips older logs to improve performace
    • all logs can be found on current system in folder "/mnt/<server>/logs" where <server> is name of a remote server
    • logs are stored in folders named by running process and files are named by process and log type, e.g. "logs/apache/apache-error.log"
    • script is written for Red Hat linux with bash (version 3.2.25), less (v436) and Midnight Commander's MCview