Archiv rubriky: Uncategorized

Downgrade Microsoft EDGE browser (Chromium) – instalace starší verze prohlížeče EDGE

Ono se tak stane, že máte svůj Use Case na používání prohlížeče, ale výrobce (Microsoft) se rozhodne, že pro vás kritickou funkci změní…

Jedná se o funkci připnutých záložek při jejich vertikálním zobrazení.

Ve verzi 88.x to vypadalo následovně…
Zobrazení připnutých záložek (TABů) ve verzi 88.x

A ve verzi 89.x takto…
Zobrazení připnutých záložek (TABů) ve verzi 88.x

Rozdíl je předpokládám zřejmý a zřejmé je (doufám) i to co mi vadí.

Jak to vyřešit?
Myslel jsem si, že bude stačit stáhnout starší verzi a tu nainstalovat. Nebo že na internetu bude nějaký rozumný návod. Ale chyba lávky… No a jelikož jsem tedy nějaké střípky na internetu našel, které mě dovedly k downgradu na předchozí verzi 88.x, tak jsem se rozhodl, že to zkusím sepsat.

Postup:

  1. Na této stránce si navolíte verzi, kterou chcete stáhnout.
    Web pro
    , ale nezvolíte možnost „DOWNLOAD“, ale zvolíte možnost „GET POLICY FILES“.
  2. Dále ze staženého archivu nakopírujte soubory takto:
    MicrosoftEdgePolicyTemplates.zip\windows\admx\msedge.admx		-> c:\Windows\PolicyDefinitions\
    MicrosoftEdgePolicyTemplates.zip\windows\admx\msedgeupdate.admx		-> c:\Windows\PolicyDefinitions\
    MicrosoftEdgePolicyTemplates.zip\windows\admx\cs-CZ\msedge.adml		-> c:\Windows\PolicyDefinitions\cs-CZ\
    MicrosoftEdgePolicyTemplates.zip\windows\admx\cs-CZ\msedgeupdate.adml	-> c:\Windows\PolicyDefinitions\cs-CZ\
    MicrosoftEdgePolicyTemplates.zip\windows\admx\en-US\msedge.adml		-> c:\Windows\PolicyDefinitions\en-US\
    MicrosoftEdgePolicyTemplates.zip\windows\admx\en-US\msedgeupdate.adml	-> c:\Windows\PolicyDefinitions\en-US\
  3. Příkazem „gpedit.msc“ přes nabídku start si otevřeme „Editor místních zásad skupiny“, kde se podle obrázku níže proklikáme k nastavením pro aktualizaci EDGE prohlížeče.
    Editor místních zásad skupiny
  4. Zde změníte hodnoty:
    „Vrátil na určitou cílovou verzi“ na Povoleno
    a
    „Přepsání cílové verze“ na Povoleno a do Políčka „Cílová verze“ vložte verzi na kterou chcete přejít. Například „88.0.705.81“. Jedná se o verzi uvedenou na první stránce tohoto postupu.
    Editor místních zásad skupiny
  5. Hotovo! Stačí vyvolat aktualizaci a stáhne se vám vynucená verze.

Samozřejmě je nutné dodat, že používat starší verze prohlížečů nemusí být stoprocentně bezpečné. Aktuálně jsem se podíval (EDGE CANARY), že v chystané verzi 90.x je již vše v pořádku. Takže po vydání této verze opět přejdu na aktuální stabilní.

Tak snad to ještě pomůže i někomu jinému.

Jak v excelu odmazat entry v textu – podruhé (po 10 letech)

Článek na toto téma jsem již napsal před deseti lety.

Je proto celkem paradox, že když jsem to cca před měsícem potřeboval opětovně řešit, tak jsem znovu hledal způsob jak to udělat. V tu chvíli mi to nepřišlo nijak zajímavé, ale po tom co jsem včera narazil na tento svůj starý zápisek, tak jsem se přece jen rozhodl ho sepsat…

K věci…
Tentokráte jsem nalezl jinou možnost a to tu, že stačí vyvolat dialogové okno „Najít a nahradit“ například pomocí klávesové zkratky Ctrl+H.

Dialogové okno "Najít a nahradit"
Dialogové okno „Najít a nahradit“

A dále v poli „Najít“ stisknout klávesovou zkratku Ctrl+J. Ta vloží do pole netisknutelný znak ENTERu.

Dále si stačí už jen zvolit, za co chcete tento znak nahradit. Například za mezeru.

Hotovo.

Daně a živnostník pohledem člověka, který mluví vaší řečí

Dvanáct let jsem živnostník. Za tu dobu jsem si většinu daňových přiznání řešil sám a hledal jsem odpovědi na otázky, které musí řešit dříve nebo později každý z nás.
Jelikož jsem občas narazil na to, že ani „daňoví specialisté“ (nebo jim říkejme účetní) NEVÍ jak se některé věci dělají správně, tak jsem se rozhodl své zjištění jednoduše sepsat do přehledného výčtu.

  1. Jak vypočítat částku, kterou mám za daný rok danit?
    Mýtus: Daním to co jsem v daném roce vyfakturoval.
    Pravda: Daním to co jsem za daný rok OBDRŽEL na účet.
    Tedy pokud jsem vystavil fakturu 21. 12. 2020 a peníze na účtu budu mít 6. 1. 2021, tak tato částka spadá až do daňového přiznání za rok 2021.
  2. Kdy se stávám plátcem DPH z důvodu příjmu nad 1 000 000 Kč ročně?
    Mýtus: Když v daném roce vyfakturuji 1 000 000 Kč nebo více.
    Pravda: Když za období jakýchkoliv dvanácti po sobě jdoucích měsíců přesáhne fakturace 1 000 000 Kč. A pozor! Tady se to počítá podle DUZP ne podle peněz na účtu (aby se to nepletlo).
    Tedy pokud moje příjmy budou dlouhodobě nicotné a dejme tomu od srpna 2019 budu pravidelně fakturovat 100 000 Kč, tak budu muset příslušnost k DPH řešit po deseti měsících (tedy jedenáctý měsíc) tedy v červnu 2020.

A ještě pár dobrých doporučení…

  • Pro podnikatelskou činnost používejte speciální účet. Minimálně se vám zpřehlední toky a v případě potřeby něco dokazovat finančnímu úřadu nemusíte ho pouštět do svého soukromí. Osobně dlouhodobě používám mBank.
  • Číslujte faktury v transparentní souvislé řadě. Třeba ve formátu RRRRXXX, kde RRRR je aktuální rok a XXX je číselná řada od 001 do 999. Pokud dojde na lámání chleba a FÚ uvidí nějakou díru, tak opět zbytečně na sebe upozorňujete. V případě, kdy potřebujete fakturu stornovat a stornováním by vám vznikla díra, tak založte novou s významově stejnými, ale zápornými položkami a dejte si tam poznámku, že se jedná o storno.

Pokud to tu bude číst nějaký profík, tak hned ho napadne spousty úskalí, proč to co jsem napsal nebude vždy a všude platné. Ale pokud jste opravdu jen živnostník typu „pracuji – posílám faktury – chodí mi platby“, tak to platit bude.

A ještě úvaha na konec… Jistě je pro hodně z vás pohodlné si daně nechat udělat od někoho cizího, ale pamatujte, že odpovědnost za správnost máte vždycky vy. Takže je dobré minimálně o některých základních věcech vědět.

Pokud napíšete své postřehy do komentářů, tak budu rád…

Zaokrouhlování ceny s DPH – po novelizaci 2019

Nevím proč, ale nenašel jsem relevantní informace, jak toto nové zaokrouhlování konkrétně implementovat a tak jsem si zjistil nějaké detaily a sepsal tento kratičký blog.

Konkrétní situace, která mě zajímá:
– cenu počítám z ceny bez DPH
– požaduji platbu hotovostí (je třeba zaokrouhlovat)

Jaká byla situace dříve?
Pokud byla cena bez DPH 150 Kč, tak se DPH spočítalo jako 150 * 1,21 (pro DPH 21%) a tedy cena s DPH byla 181,5 Kč. Pokud jste dále platili hotovostí, tak se cena zaokrouhlila na 182 Kč. A těch 0,5 Kč zůstalo bez zdanění!
Ale úředník si řekl, že to je jasný únik příjmů z daní a co se tedy stalo. Tento zaokrouhlený padesátník, je třeba dále rozdělit na výši základu a daň. Tedy 0,5 Kč si ještě musíme rozdělit na část základu a část k zdanění. To uděláme jako 0,5 * 0,21 = 0,11 Kč a tedy nový základ daně nebude 150 Kč, ale 150 + (0,5 – 0,11) = 150,39 Kč.

Samozřejmě existuje i případ, kdy tímto způsobem stát o daň připravíme. Jestli bude díky této úpravě celkově v plusu či v mínusu, ale říct nedokážu…

Celé!


Upozornění: Autor článku není žádný daňový specialista. Informace výše uvedené podává, tak jak je našel, pochytil a pochopil a také jak jim bezmezně věří.

Zabezpečení WordPress administrace pomocí .htaccess

Jednou mi tak volá hoster, že probíhá cílený útok na tento blog (nechci se nyní zabývat detaily). Nebojím se o sílu svého hesla, ale nadměrně to zatěžuje server.

Řešení je jednoduché!
Do souboru .htacces jsem přidal následující blok:

<IfModule mod_rewrite.c>
	RewriteEngine on
	RewriteCond %{REQUEST_URI} ^(.*)?wp-login\.php(.*)$ [OR]
	RewriteCond %{REQUEST_URI} ^(.*)?wp-admin$
	RewriteCond %{REMOTE_ADDR} !^1\.2\.3\.4$
	RewriteCond %{REMOTE_ADDR} !^4\.3\.2\.1$
	RewriteRule ^(.*)$ - [R=403,L]
</IfModule>

Toto pro IP 1.2.3.4 a 4.3.2.1.

Hotovo!

Jistě jsou i jiná řešení. Například pomocí nějakých pluginů, ale pro mě jako člověka programování znalého toto přijde nejrychlejší… A hlavně! Plugin znamená, že to bude veřejná metoda a bude jen otázka času, než se někomu vyplatí na takový prvek napsat robota, který s ním bude počítat…

Zapomenuté přihlašovací heslo k Windows 7

Tato peripetie mi sebrala 3 hodiny života a kdyby mi to někdo vyprávěl asi bych mu nevěřil.

Prolog – výchozí stav:
Windows mám nastaven tak, aby se mi automaticky přihlašoval bez nutnosti zadat heslo. Pokud vím, tak tam žádné heslo zadané nemám, ale to nakonec nehraje roli…

Akt 1 – pád Windows a nastartování
Trochu jsem koulel očima, když jsem viděl nastartovanou obrazovku a na ní přihlašovací dialog. Samozřejmě žádné z možných (mnou požívaných) hesel nefungovalo. Restart také nepomohl. Koukal tam na mě odkaz „Reset password“ ale po kliknutí to chtělo removable medium, které po připojení zjistilo, že tam není nainstalován nějaký SW a tím jsem tady skončil a dále nepokračoval.

Akt 2 – našel jsem si návod jak „hacknout“ přihlašovací obrazovku
Jedná se o způsob, kdy si na počítači spustím live CD s linuxem a vyměním program „Utilman“ za „cmd“ a pak z přihlašovací obrazovky si změním heslo. Ale jak to udělat, když zrovna nemám po ruce druhý počítač, kde bych si vytvořil live CD/USB. Ale…

Akt 3 – …ale provozuji Windows na MAC mini přes BOOTCAMP, takže se připojím na MAC OSx a bude to…
Než jsem si vzpomněl jak přebootovat což šlo až po výměně klávesnice DELL za Apple a následně jsem se v MAC OSx zorientoval, tak uplynulo pár desítek minut času. Následně jsem si stáhl ISO soubor Ubuntu a dle návodu na stránkách (ubuntu.com) jsem si vytvořil boot USB disk. Samozřejmě, aby to nebylo tak jednoduché, jsem i zde vlastní vinou ztratil pár minut (špatně jsem si přečetl hlášku).

Akt 4 – nabootování Ubuntu
Boot proběhl v pořádku, přejmenování souborů taky (až jsem se divil, že v tomto kroku žádný zádrhel).

Akt 5
Tak nabootuji do Windows a spadne mi úsměv ve chvíli, kdy se přihlašovací dialog nezobrazí a Windows nastartují jako by se celý incident nestal. Ach jo :(

Epilog
Nevím co napsat… …udělejte si obrázek sami.

Jak se nepíše webová služba

Dostal jsem nabídku na udělání portálu pro zjišťování insolvence jak osob tak firem.
Úloha by se to zdála celkem snadná po tom co jsem zjistil, že existuje webová služba ISIR.
Aniž by člověk musel být analyticky zdatný, tak hned čeká, že pod touto webovou službou budou existovat například metody getPerson(rodne_cislo) a getCompany(IC) a jejich návratová hodnota bude TRUE/FALSE podle toho zda daný subjekt v insolvenci je nebo není.
Po seznámení se se službou končí logika na tom, že webová služba má dvě metody. Ale nejmenují se getPerson(rodne_cislo) a getCompany(IC), ale neočekávaně getIsirPub0012(long_1) a getIsirPub001(Calendar_1). Tady je otázka, zda daná firma, která tuto službu ministerstvu dodala měla tak nízký rozpočet, že si nemohla dovolit tyto metody ani smysluplně pojmenovat o argumentech raději nemluvě.
Ale tady absurdita teprve začíná…
Dále je třeba se zabývat co vlastně tyto metody poskytují. První zmiňovaná (getIsirPub0012(long_1)) vrátí maximálně 1000 záznamů (co je v tomto případě záznam napíšu později) s ID větším nebo rovno než je parametr long_1. Než začnete přemýšlet k čemu to může sloužit, tak si počkejte na vysvětlení co je vlastně obsahem záznamu. Ale než toto objasním tak ještě vysvětlím druhou metodu. Druhá metoda (getIsirPub001(Calendar_1)) očekává parametr datum ve formátu 2011-11-24T00:00:00.000Z a vrací maximálně 1000 záznamů vzniklých po tomto čase. Hmm…

A teď velké objasnění co je vlastně obsahem záznamu. Záznam je jen „doklad“ o změně stavu. Takže pokud se těchto záznamů během celého soudního řízení vytvoří 100, tak musím zpracovávat 100 nedůležitých záznamů abych čekal na ten poslední a věděl jestli daný subjekt je v insolvenci a nebo není.

Pokud to zatím z textu nevyplývá, tak je třeba zmínit, že není možné jednoduše zjistit zda subjekt XY v insolvenci je a nebo není. Jediný způsob je si stáhnout kompletní databázi a následně to vyhledat až v ní. V databázi je ke dnešku přes 3.000.000 záznamů.

A jen perličkou na konec uzavřu toto povídání zmínkou o dokumentaci. Poslední aktualizace (k mému údivu) byla zrovna dneska, kde přibyl graf přechodů mezi stavy a informace o připojení. Graf je dost nepřehledný, ale ten vychází z procesu a lepší něco než nic. Informace o připojení mi přijde jako věc, která tu snad musela být od začátku (?!?), tak proč se v dokumentu objevila až po čtyřech letech a ještě s jednou zásadní chybou (viz obrázek).
ISIR připojení k webové službě

To jako fakt někdo myslí vážně, že takto má fungovat nějaká webová služba?