Week 2020-08

Máme za sebou oddychový týždeň. Ten mohol byť o MWC, keby ju nezrušili. Tento týždeň je týždňom zaujímavých náhod. @vlkodotnet

Zaujímavosť týždňa: Bazoš v rozhovore

Bazos.sk a Bazos.cz sú najväčšie inzertné portály v Čechách a na Slovensku. Na prekvapenie za nimi nie je žiadna veľká firma, ale jeden človek bývajúci v malej dedinke pri Olomouci. Ten Bazoš naprogramoval aj prevádzkuje. Celý jeho príbeh je veľmi zaujímavý a ukazuje, že ak máte šťastie a ste v správnej dobe na správnom mieste, tak sa môžete dostať k obratom 85 miliónov CZK (cca 3,4 milióna EUR). Je to taký ten typický príbeh so šancou úspechu jedna k miliónu, ktorý sa dobre číta, ale o to horšie opakuje.

V devíti lidech dělají byznys za 85 milionů korun ročně. Radim Smička by ale Bazoš neprodal ani za miliardu
novinky ze světa byznysu, startupů, technologií a vzdělávání

Android 11 preview

Keďže Android 10 sa už pomaly dostáva na nové aj staré zariadenia, tak je čas spomenúť prichádzajúcu jedenástu verziu. O tej sa zatiaľ vie, že vylepší notifikácie, komunikáciu by mali zjednotiť konverzácie, pribudne ukazovateľ FPS a bude pravdepodobne prekopaný Bluetooth stack.

Android 11 Preview hands-on—Notification changes, dark mode options, and more
New Android preview is laser-focused on new APIs, with little in the way of new UI.

O párovom programovaní

Občas v práci, keď nám prestane fungovať finstat, alebo niečo začne padať, tak sa všetci zoskupíme okolo počítača toho, ktorý si prvý chybu všimol. Potom mu tam do toho kecajú ďalší dvaja-traja ľudia. Občas, keď je niekto na dovolenke, tak sa tam objaví len jeden človek navyše a to je čas, keď máme aj u nás párové programovanie. Ak máte pocit, že by párové programovanie malo byť niečo iné, tak máte pravdu. Odporúčam si prečítať nasledujúci článok, ktorý popisuje rozdielne druhy párového programovania, spôsoby ako ho riešiť a na čo si dať pozor.

On Pair Programming
A guide to effective pair-programming

Výpadok npm

Minulý týždeň sa stala zaujímavá náhoda. Z ničoho nič prestala fungovať npm inštalácia balíčkov. Požiadavky začali vracať [429 Too Many Requests]. Prsty v tom mal Cloudflare, ktorý robi npm nárazníkovú zónu, a práve v tomto čase pridali pravidlo na detekciu DDOS útokov, ktoré v prípade ak Referrer hlavičke dotazu nenachádza valídna url, tak je vyhodnotený ako útok a môže byť zablokovaný. No a práve npm ako balíčkovaci nástroj posielal v Referrer hlavičke iba slovo "install".

[BUG] 429 Too Many Requests · Issue #836 · npm/cli
What / Why I'm getting E429 error When Everytime I run npm ci (since today at least) Where npm public registry Current Behavior The npm ci command returns E429 error (Too Many Requests) and doe...

Mrzko o Epic Store na Steam Store

Ďalšia zaujímavá náhoda sa stala Valve pri Steam Store. Ten nemal na homepage nastavený žiadny og:description meta tag. Ten, ak na stránke nemáte, tak dávate Google možnosť si ho z obsahu vybrať sám. No a v prípade Steam Storu si Google vybral recenziu, ktorá sa nevyjadrovala moc pozitívne o konkurenčnom obchode s hrami. Môžeme sa vyhovárať na Google, ale sám Steam si neustriehol svoje odporúčacie algoritmy a takúto recenziu umiestnil priamo na hlavnú stránku.

“FUCK EPIC GAMES STORE,” declares Google’s listing for Steam
Thanks to what seems to be a hiccup with a Metro Exodus review on Steam, Google search results for Valve’s store have something rude to say about Epic’s one.

BTW nenechávajte nič na algoritmy a nastavte si potrebné meta tagy sami.

Môže StackOverflow za problémy pri štarte Dockeru?

Tretí príbeh neočakávaných náhod sponzoruje StackOverflow. Síce nie priamo, ale poukazuje na to, že niekedy programátori nepremýšľajú, ale robia bezduché copy'n'paste. Užívatelia dockeru zistili, že ak majú na svojom počítači nainštalovaný software na správu Razor myší/klávesníc, tak docker nejde spustiť. Preto prebehla rýchla investigatíva, ktorá zistila, že autori oboch software chceli zabezpečiť aby sa ich program nespustil dvakrát, preto jeho spustenie ošetrili cez mutex. Potiaľ bežná vec, akurát kód našli na StackOverflow, zobrali prvé riešenie, ktoré prišlo pod ruku a to bolo na počudovanie ... viac v tomto twitter threade.

Aký bezpečný je firmware komponent

Dáte si záležať na tom, aby bol váš PC čo najbezpečnejší? A viete o tom, že aj každá input/output PC komponenta je v podstate taký malý počítačík so svojím vlastným firmware? Pritom to je celkom jednoduchý útočný vektor, ktorý si mnoho ľudí neuvedomuje.

Hundreds of Millions of PC Components Still Have Hackable Firmware
The lax security of supply chain firmware has been a known concern for years—with precious little progress being made.

Defender prichádza na Android a iOS

Mňa osobne by v živote nenapadlo, že antivírus od Microsoftu bude aj niekde inde ako na Windows. A pritom už je dostupný na MacOS a najnovšie má Microsoft plány uviesť ho aj pre Android a iOS. Na Windows je dosiaľ poskytovaný bezplatne, je otázka, či inde nebude len nejakou súčasťou Office365 balíkov pre firmy, ktoré chcú zabezpečiť zariadenia, alebo bude úplne free.

Microsoft is bringing its antivirus software to iOS and Android
Microsoft is creating special antivirus apps for Android and iOS. The Defender mobile apps will be available for businesses to secure devices, and Microsoft will preview these apps at the RCA Conference.

Ako na enum v TypeScripte

Existuje viac spôsobov ako implementovať enum (?výčtový typ?) v TypeScripte. Okrem toho jednoduchého, ktorý priradí každej hodnote enum nejakú konkrétnu hodnotu, až po sofistikované spôsoby.

Alternatives to enums in TypeScript
A recent blog post explored how TypeScript enums work. In this blog post, we take a look at alternatives to enums.

Rozdiel medzi AddMvc(), AddMvcCore() a iné .NET core bootstrapy

Ak si chcete svoju .NET core aplikáciu vyladiť k čo najväčšej výkonnosti, mali by ste vedieť, aký je rozdiel medzi AddMvc, ktorý začlení úplne všetko do web aplikácie a AddMvcCore. Ten nastaví len to najdôležitejšie, ktoré je nutné doplniť následnými AddControllers(), AddControllersWithViews() a AddRazorPages().

ASP.NET Core MVC 3.x – AddMvc(), AddMvcCore(), AddControllers() and other bootstrapping approaches
There are several ways of bootstrapping your MVC applications on top of ASP.NET Core 3.x. One thing that you need to do, in order to use the framework, is to initialize it into the state where it can actually discover your controllers, views, pages and expose them as HTTP endpoints.

Linky na záver

Užitočný tip, ako dostať aktuálny UTC čas na jeden hover ďaleko.

Knižnica na generovanie náhodného čísla v inej ako rovnomernej distribúcii.

Probability Distributions Library for JavaScript
Functions for sampling random variables from probability distributions. Uses the same function names as R. You can test out the distributions in your web console with the PD global variable.

Ak sa chcete trošku pobaviť s ASCII artom v PowerShelli.

Friday Fun PowerShell ASCII Art • The Lonely Administrator
Some fun PowerShell code to turn plain text into ASCII art using a free API and Invoke-RestMethod.

Google AI toolkit už nebude rozlišovať muža a ženu, ale len ľudí.

Google AI will no longer use gender labels like 'woman' or 'man' on images of people to avoid bias
Google AI will no longer use gender labels like 'woman' or 'man' on images of people to avoid bias

Čo hovoria na Tesla hardware, ktorý by mal v budúcnosti zabezpečovať autonómne riadenie, jeho konkurenti?

Tesla’s Hardware 3 computer frightens legacy auto after Model 3 teardown: ‘We cannot do it’
A new teardown of the Tesla Model 3 by Nikkei Business Publications just sent a shiver through the spine of legacy automakers. Based on the findings of the teardown, it is becoming evident that the company’s tech is on an entirely different level compared to the electronics used by veteran automaker…