Michael Lubinsky

← Home

Programming

https://sourcegraph.com/blog/a-simpler-way-to-understand-legacy-code

VPN https://p4pn.net/install/

https://learnxinyminutes.com/

https://cpu.land/the-basics

https://www.memorymanagement.org/

https://habr.com/ru/articles/755252/ How DNS works

https://habr.com/ru/articles/755638/ Как работает компьютер: глубокое погружение (на примере Linux)

https://sre.google/books/. Google site reliability books

https://software-engineering-books.com/

https://free-for.dev/#/ Free tools for devs

https://habr.com/ru/company/jugru/blog/586376/. Chrome extensions

https://vak.dreamwidth.org/891889.html PlantUML - generate sequence diagrams SVG from text

https://memo.barrucadu.co.uk/scheduling-problems.html . Solving Scheduling Problems with Integer Linear Programming with Python

Markup

https://addons.mozilla.org/en-US/firefox/addon/markdown-viewer-chrome/

https://casual-effects.com/markdeep/

https://ndossougbe.github.io/strapdown/

Shen

https://shenlanguage.org/

Wren

https://wren.io/ Wren Programming language

Odin

https://odin-lang.org/

Awesome

https://habr.com/ru/company/otus/blog/675668/ list of interesting repos

https://github.com/sindresorhus/awesome

Kanren

http://minikanren.org/

https://github.com/ashton314/muKanren_reading

Prolog

https://www.metalevel.at/prolog Power of Prolog

https://www.youtube.com/channel/UCFFeNyzCEQDS4KCecugmotg Power of Prolog

Quantum prolog https://quantumprolog.sgml.io/bioinformatics-demo/part1.html

https://quantumprolog.sgml.io/

Quinn Wilton - Deriving Knowledge from Data https://www.youtube.com/watch?v=lYLkaOq7WbU

Differences between miniKanren and Prolog http://minikanren.org/minikanren-and-prolog.html

https://habr.com/ru/company/skillfactory/blog/678400/ How browser work

Video file formats and processing

https://github.com/leandromoreira/digital_video_introduction

https://sidbala.com/h-264-is-magic/ H.264 algo

Automate everything in browser!

https://browserflow.app/ https://chrome.google.com/webstore/detail/automa/infppggnoaenmfagbfknfkancpbljcca

https://habr.com/ru/post/587750/ sync/locks/

 [] Square brackets are often simply called brackets,
 {} Curly brackets  are often called braces 
 () Parentheses
 

Caterory theory

https://boris-marinov.github.io/category-theory-illustrated/05_logic/

https://arxiv.org/abs/1803.05316

http://eugeniacheng.com/wp-content/uploads/2017/02/cheng-lauda-guidebook.pdf

https://news.ycombinator.com/item?id=28660157

Git implemented Python

leshenko.net

grep cscope opengrok

https://noahan.me/posts/effective-code-browsing-part1/

https://noahan.me/posts/effective-code-browsing-part2/

Func programming https://www.cl.cam.ac.uk/teaching/Lectures/funprog-jrh-1996/

Content aggregators

https://lukesmith.xyz/blog/a-guide-to-using-rss-to-replace-social-media

https://miniflux.app/

https://fraidyc.at/ Fraidycat is a desktop app or browser extension for Firefox or Chrome. I use it to follow people (hundreds) on whatever platform they choose - Twitter, a blog, YouTube

RSS BLOG Twitter content aggregator https://sumi.news/

https://news.ycombinator.com/item?id=27171970 . Some tools

Free services: https://habr.com/ru/company/macloud/blog/549966/

Free web page hosting

https://neocities.org/

https://pages.cloudflare.com/#pricing

Server hosting:

https://dathorn.com/
Digital Ocean  
Vultr 
Linode 
Heroku https://medium.com/@henson.casper/how-to-publish-your-first-python-app-on-heroku-6af91c5bb138\
https://stackoverflow.com/questions/61998739/heroku-or-digital-ocean-deployment

Information Theory, Inference, and Learning Algorithms David McKay

https://www.inference.org.uk/itprnn/book.pdf

https://aquadzn.github.io/learn-x-by-doing-y/

https://www.biorxiv.org/

https://www.arxiv.org/

https://www.samueltaylor.org/articles/index.html

https://www.johndcook.com/

All Pragmatic Programming Books

https://medium.com/pragmatic-programmers/directory-of-pragmatic-programmer-books-on-medium-6a5cbadbd4b4

CRDT

https://josephg.com/blog/crdts-are-the-future/

https://news.ycombinator.com/item?id=24617542

https://www.youtube.com/watch?v=fgp0tKWYQWY implementing regex from scratch

https://pro-prof.com/

https://github.com/dbohdan/structured-text-tools

Software Alchemy: Turning Complex Statistical Computations into Embarrassingly-Parallel Ones

https://arxiv.org/pdf/1409.5827.pdf

ZigLang

https://ziglang.org/

Janet lang

https://janet-lang.org/

https://janet.guide/

https://junglecoder.com/blog/my-janet-story

https://news.ycombinator.com/item?id=22975225

Gravity lang

https://marcobambini.github.io/gravity/#/README

https://luminousmen.com/post/asynchronous-programming-await-the-future

Tips

https://github.com/jbranchaud/til/blob/master/README.md tips

https://news.ycombinator.com/item?id=22908044 tips

https://news.ycombinator.com/item?id=23118940. tips

I'll use tmux to split my terminal into an editor window on the right, and on the left,
I'll have a tool like watchman or entr watching for changes to my code, and running those tools e.g.

    find . -name "*py" | entr make continuous
    

how TLS works: https://habr.com/ru/company/plesk/blog/507094/

https://academy.lightbend.com/courses mostly scala and reactive programming

https://habr.com/ru/company/JetBrains-education/blog/495014/ educational links

https://stackexchange.com/sites

https://leanpub.com/bookstore/book

https://compsciclub.ru/ online classes

https://leiradel.github.io/2011/10/24/Auto-Vectorization-5.html

https://distributedsystems.substack.com/

https://www.onlinegdb.com/ . это браузерный компилятор, интерпретатор и отладчик. Он поддерживает 20 языков программирования, включая C, C++, Python, Ruby, C#, Swift и JavaScript.

https://habr.com/ru/post/476790/ code streaming from cool programmers!

https://news.ycombinator.com/item?id=21928170 programmers blogs

https://www.codetriage.com/ contribute to open source

https://www.sicara.ai/blog/ articles on AI and Big Data, by Sicara https://medium.com/sicara articles on AI and Big Data, by Sicara

http://concurnas.com/

https://free-for.dev/#/

https://greenteapress.com/wp/

https://gist.github.com/clarkb7/3e7e43ab85717e81925656f70f5bae8d character encoding

https://standuply.com/how-to-use-slack . how to use Slack

http://harelba.github.io/q/index.html direct execution of SQL-like queries on CSVs/TSVs

https://medium.com/@copyconstruct/best-of-2018-in-tech-talks-2970eb3097af

Zapier Higgin IFTT

https://news.ycombinator.com/item?id=21772610

ETL

https://dataschool.com/data-governance/ . Book

https://news.ycombinator.com/item?id=21411893

https://docs.prefect.io/core/welcome/what_is_prefect.html

https://news.ycombinator.com/item?id=21405519

Log viewer

https://lnav.org/

http://www.logtailapp.com/

https://github.com/lucianmarin/logparser

Func Programming

https://d3.ru/zametka-podborka-o-funktsionalnom-programmirovanii-2022041/

https://habr.com/ru/post/505928/

https://habr.com/ru/post/506782/

https://habr.com/ru/post/492460/

https://jrsinclair.com/articles/2019/what-i-wish-someone-had-explained-about-functional-programming/

https://mostly-adequate.gitbooks.io/mostly-adequate-guide/

https://egghead.io/courses/professor-frisby-introduces-composable-functional-javascript

http://www.tomharding.me/fantasy-land/

Monads

https://www.jerf.org/iri/post/2958/

https://byorgey.wordpress.com/2009/01/12/abstraction-intuition-and-the-monad-tutorial-fallacy/

Monads embody the concept of "chaining" functions. Every monad implements the chaining in a different way,
but the user of the monad doesn't have to know how it's done. It's just "call this function on foo,
take the result and pass it to the next" and so on.
Plain old functions do it with plain old function composition (functions are monads!),
 but something like Maybe will return None if it gets a None,
and only otherwise pass the data on.
The Future monad will await completion then pass it on (async/await is a monad!),
the List monad will merge together zero or more list results from mapping over each of its items, and so on.
Again, the cool thing is that it's the same syntax no matter what kind of Monad you're in,
so you can totally change the behavior of a monadic function
by just using it with a more specific return type (at least in Haskell,
other languages might make you pass around an implementation) Monads are a neat tool of composition,
but composing monads themselves is fiddly and cumbersome, involving monad transformer "stacks" of deeply nested generic types.
Monad transformers are really just not fun.

I'd give specific examples, but I'm kind of lethargic from the burrito I had for lunch.
If you're familiar with flatMap(), a Monad is anything that's "flatmappable"
(which in JS is just arrays, but languages like Scala take it much further).
In C#, it's IQueryable (LINQ is a monad!)
``
https://news.ycombinator.com/item?id=40553551

<https://habr.com/ru/post/490112/> monads

<https://medium.com/@lettier/your-easy-guide-to-monads-applicatives-functors-862048d61610>

<https://bytes.yingw787.com/posts/2019/12/06/monads/>



<https://www.freecodecamp.org/news/functional-programming-patterns-cookbook-3a0dfe2d7e0a/>

<https://medium.com/@cscalfani/why-is-learning-functional-programming-so-damned-hard-bfd00202a7d1>

<https://news.ycombinator.com/item?id=21879368>

<https://harrylaou.com/slides/AlgebrasInProgramming.pdf>




https://github.com/Hirrolot/poica

Product types allow you to have more than one value in a single structure, at the same time. 
We call them ``product types`` because we can calculate the number of possible values using multiplication. 
Example: struct ( x boolean, y boolean }  has 4 possible combinations

Sum types are types where your value must be one of a fixed set of options. You may have seen enum types in languages like C# or Java. Sum types are similar, but more flexible.
But why are they called sum types? Well, if the value can only be one of a fixed set of options, then we count the possible values using addition. For example, booleans are a sum type. They cam be either true or false. Not both at the same time. And we count the values by addition 1 + 1 = 2.

<http://fprog.ru/>

<https://www.youtube.com/watch?v=gHiyzctYqZ0&t=4s&index=19&list=PLbgaMIhjbmEnaH_LTkxLI7FMa2HsnawM_>

<https://www.edx.org/course/introduction-to-functional-programming>

<https://www.youtube.com/watch?v=QyJZzq0v7Z4>

<https://news.ycombinator.com/item?id=21280429>

<https://github.com/rikace/Presentations/tree/master/FunctionalDSL>

## Comp science

<http://raganwald.com/2019/02/14/i-love-programming-and-programmers.html>

<https://www.quickcode.co/engineer-blogs>  dev blogs of big companies

<https://compsciclub.ru/courses/>   Comp science lectures

<https://habr.com/company/globalsign/blog/348988/> Mozilla IoT Things

<https://lobste.rs/s/mrjnp5/type_systems_covariance_contravariance> . Covariance/Contrvariance



## Clojure

<https://habr.com/ru/post/508630/> Russian Book

<https://github.com/anan44/it-starts-with-clojure>
<http://blog.klipse.tech/clojure/2018/12/18/welcome-clojure-10.html>

<https://lambdaisland.com/>

<https://github.com/darkleaf/app-from-scratch/> Clojure Rus

<https://news.ycombinator.com/item?id=20857887>

<https://news.ycombinator.com/item?id=21090288>

<http://app-from-scratch.darkleaf.ru/> . Clojure

<http://blog.cleancoder.com/uncle-bob/2019/08/22/WhyClojure.html>
 


## Browser extension for JSON: JsonDiscovery
<https://habr.com/ru/post/461185/> 

<https://github.com/discoveryjs/browser-extension-json-discovery>

<https://news.ycombinator.com/item?id=20645843>

<http://zaa.ch/jsonlint/>

<https://jsoneditoronline.org/>

<https://github.com/carlmjohnson/json-tidy>

json_pp on MacOS

pbpaste | jq

pbpaste | jq . | pbcopy

cat foo.json | python3 -m json.tool

<https://www.jvt.me/posts/2017/06/05/pretty-printing-json-cli/>

<https://prettier.io/playground/>

jp is better jq <https://github.com/jmespath/jp>



##  Tools
<https://github.com/repeats/Repeat> Repeat It- like AutoKey


<https://kroki.io/> convert plain text diagram to images Kroki provides a unified API with support for BlockDiag (BlockDiag, SeqDiag, ActDiag, NwDiag), 
C4 (with PlantUML), Ditaa, Erd, GraphViz, Mermaid, Nomnoml, PlantUML, SvgBob and UMLet... and more to come!


 


## Geospatial Software Tools

<https://medium.com/swlh/tools-i-recommend-for-building-geospatial-web-applications-274d6939536c>

<https://news.ycombinator.com/item?id=21169851>