How to make universal JavaScript / TypeScript library

I like to write small and simple TypeScript libraries which I can share across my projects and I want to share them with the wider opensource community. But one problem is holding me back from it:

Often happens to me that I publish an NPM module that is working in one context but makes strange errors in others. For example, it works in create-react-app but it does not in ts-node. Or it works everywhere but it makes problems in build. Despite it is just a pure function that does not use something context-dependent like window.

How to prevent these types of problems?

Is there some „magic“ method to make it work (and test) it in every possible context and combination like browser, old browser without ES6, typescript project, create-react-app project, node, ts-node, ES module, imported with require, imported with import, partially imported…?

I am searching for some unified and simple way how to write code not spend most of the time with configuration and updates of (ts, webpack) configs without a ton of boilerplate code. For example, some library that makes builds for every platform for me and autoconfigure it into package.json? Some create-react-app but for libraries.

Aplikace na hlídání uptime

Potřeboval bych nějakou aplikaci, která hlídá uptime webového serveru (přes https) a potom dokáže spustit nějaký automatický příkaz a upozornění v rámci „poplachu“.

Už několik let používáme uptimerobot.com, ale samotného mě překvapuje, na kolik jsou programy pro hlídání uptime „hloupé“.

Jde mi o to, aby mě dané aplikaci dokázala upozornit nějakým dobrým kanálem – ideálně přes mobilní push notifikaci (a tím bych mohl přiřadit téhle appce prioritu upozorňování).

Zároveň by se nám hodilo, kdyby bylo hlídání trochu chytřejší, než pouhé odpovídá/neodpovídá. V naprosto ideálním případě založené na behaviour testech (např. Cypress).

A potom naprosto ideální, kdyby v rámci „poplachu“ i automaticky přes SSH restartovala server či provedl jiná série příkazů.

Robothon

V průběhu víkendu jsme se účastnili hackathonu Robothon.

Vytvořili jsme modul do Collboardu, kde se dají vytvářet grafy funkcí pomocí grafů. Zní to zmateně, ale je to opravdu zábava na vyzkoušení:

Díky tomu se pokoušíme poodhalit, co se opravdu skrývá za výrazy typu y=sin(x)/cos(x) a vizualizovat odkud kam tečou data.

PS: Moc děkujeme za super akci i důvěru poroty 🏆 !

Cenzura?!

Je zablokovaný účet @realDonaldTrump cenzura? Ono to podle mě zas tak jednoduché není – Trump je zjevně nebezpečný šílenec v té nejnevhodnější pozici.

Asi jediné štěstí, že nekomunikuje přes vlastní kanál jako maily, web, push notifikace, ale spoléhá se na soukromý Twitter.


To, co Twitter blokuje je i z absolutně libertariánského hlediska věc Twitteru. Samozřejmě zajímavější by ten problém byl, pokud by např. Gmail začal blokovat Trumpovy emaily nebo Apple push notifikace.


Podle mě je hranice cenzury až tam, když se začne blokovat síťový provoz, blokovat domény, zakazovat instalace PWA appek apod. Zároveň je asi důležité sledovat jemné rozdíly v přístupu sítí, protože podle toho si pak člověk sám může vybírat komunikační kanály.


PS: To píšu jako člověk, který velmi inklinuje k minarchismu a kdybych žil v Americe, budu volit republikány jako pro mě to menší zlo. V minulých volbách bych ale volil Bidena, protože názor nenázor, Trump se chová jako nebezpečný šílenec a it is a time to make America normal again.

xyzt

Pro mnoho svých projektů (např. Collboard) potřebuji knihovnu, která umí pracovat s vektory, abych stále nemusel udržovati dvě proměnné x a y (případně ještě hůře left a top).

Nenarazil jsem na žádnou dobře fungující samu o sobě. Existuje celá spousta projektů, které mají práci s vektory v sobě. Avšak žádný z nich se primárně nesoustředí na práci s vektory.

Trochu jsem se inspiroval tím, jak tohle řeší Babylon.js a vytvořil jsem si vlastní mikroprojekt:

https://github.com/hejny/vector
https://www.npmjs.com/package/xyzt

CollBoard.com pro učitele a vývojáře

Založili jsme dvě skupiny na Facebooku – CollBoard.com pro učitele a CollBoard.com pro vývojáře.

✒️✒️✒️

Budeme moc rádi, když se připojíte a budete sdílet své zkušenosti, výtvory, návrhy na vylepšení a ze širšího hlediska cokoliv, co se podobných online nástrojů týká.

https://www.facebook.com/groups/308592133464575/

https://www.facebook.com/groups/589409655007256/