This media is not supported in your browser
VIEW IN TELEGRAM
Etherpad is a real-time collaborative editor scalable to thousands of simultaneous real time users. It provides full data export capabilities, and runs on your server, under your control.
#javascript #js #document #editor #collaborative #realtime #web #pdf #word
#javascript #js #document #editor #collaborative #realtime #web #pdf #word
π4β€2π€2
This media is not supported in your browser
VIEW IN TELEGRAM
Coroot is a monitoring and troubleshooting tool for microservice architectures.
#go #golang #javascript #js #monitoring #microservice
#go #golang #javascript #js #monitoring #microservice
β€3π2π₯1π1
Generating secrets in Clojure.
Generating secrets is a very important part of any data-sensitive application. In this article, Iβm going to tell you about a low-level library that helps to generate secrets in Clojure.
If youβre familiar with Python, you might have heard of secrets module from Pythonβs standard library. Well, the secrets.clj is just like Pythonβs secrets, but for Clojure.
Read it: https://isaak.dev/2022/10/generating-secrets-in-clojure
#clojure #jvm #secrets #password #tokens #rng #csprng
Generating secrets is a very important part of any data-sensitive application. In this article, Iβm going to tell you about a low-level library that helps to generate secrets in Clojure.
If youβre familiar with Python, you might have heard of secrets module from Pythonβs standard library. Well, the secrets.clj is just like Pythonβs secrets, but for Clojure.
Read it: https://isaak.dev/2022/10/generating-secrets-in-clojure
#clojure #jvm #secrets #password #tokens #rng #csprng
π3β€1π₯1π1
Calva: A Clojure & ClojureScript IDE in Visual Studio Code.
Calva is an integrated, REPL powered, development environment for enjoyable and productive Clojure and ClojureScript programming in Visual Studio Code.
It includes:
- inline code evaluation
- structural editing
- code formatting
- code navigation
- a debugger
- linting
- syntax highlighting
- Clojure aware rainbow brackets
- a test runner
- refactoring support
- and much more.
#clojure #clojurescript #vscode #vsc #calva #ide #repl
Calva is an integrated, REPL powered, development environment for enjoyable and productive Clojure and ClojureScript programming in Visual Studio Code.
It includes:
- inline code evaluation
- structural editing
- code formatting
- code navigation
- a debugger
- linting
- syntax highlighting
- Clojure aware rainbow brackets
- a test runner
- refactoring support
- and much more.
#clojure #clojurescript #vscode #vsc #calva #ide #repl
π3β€1π1π₯1
Parsr is a minimal-footprint document (image, pdf, docx, eml) cleaning, parsing and extraction toolchain which generates readily available, organized and usable data in JSON, Markdown (MD), CSV/Pandas DF or TXT formats.
#js #javascript #pdf #document
#js #javascript #pdf #document
π₯5π3β€2
How async/await works in Python.
Code written in the async/await style looks like regular synchronous code but works very differently. To understand how it works, one should be familiar with many non-trivial concepts including concurrency, parallelism, event loops, I/O multiplexing, asynchrony, cooperative multitasking and coroutines. Python's implementation of async/await adds even more concepts to this list: generators, generator-based coroutines, native coroutines, yield and yield from. Because of this complexity, many Python programmers that use async/await do not realize how it actually works. I believe that it should not be the case. The async/await pattern can be explained in a simple manner if you start from the ground up. And that's what we're going to do today.
Author: Victor Skvortsov.
#article #python #async #await #concurrency #parallelism #event #io #multiplexing #multitasking
Code written in the async/await style looks like regular synchronous code but works very differently. To understand how it works, one should be familiar with many non-trivial concepts including concurrency, parallelism, event loops, I/O multiplexing, asynchrony, cooperative multitasking and coroutines. Python's implementation of async/await adds even more concepts to this list: generators, generator-based coroutines, native coroutines, yield and yield from. Because of this complexity, many Python programmers that use async/await do not realize how it actually works. I believe that it should not be the case. The async/await pattern can be explained in a simple manner if you start from the ground up. And that's what we're going to do today.
Author: Victor Skvortsov.
#article #python #async #await #concurrency #parallelism #event #io #multiplexing #multitasking
β€6π4π₯2π1
Beej's Guide to Network Programming.
Hey! Socket programming got you down? Is this stuff just a little too difficult to figure out from the man pages? You want to do cool Internet programming, but you donβt have time to wade through a gob of structs trying to figure out if you have to call
Well, guess what! Iβve already done this nasty business, and Iβm dying to share the information with everyone! Youβve come to the right place. This document should give the average competent C programmer the edge s/he needs to get a grip on this networking noise.
Author: Brian βBeej Jorgensenβ Hall
#book #network #sockets #tcp #ip #udp #ipv4 #ipv6
Hey! Socket programming got you down? Is this stuff just a little too difficult to figure out from the man pages? You want to do cool Internet programming, but you donβt have time to wade through a gob of structs trying to figure out if you have to call
bind() before you connect(), etc., etc.Well, guess what! Iβve already done this nasty business, and Iβm dying to share the information with everyone! Youβve come to the right place. This document should give the average competent C programmer the edge s/he needs to get a grip on this networking noise.
Author: Brian βBeej Jorgensenβ Hall
#book #network #sockets #tcp #ip #udp #ipv4 #ipv6
β€4π₯2π1πΎ1
Elliptic curves and ECDSA: everything to know to sign a transaction in Bitcoin from scratch.
The elliptic curve is a pretty simple concept. The Elliptic Curves Digital Signature Algorithm (ECDSA), which works on top of its properties, is used in most blockchains like Bitcoin, Ethereum, etc., and is even simpler. But itβs difficult to find a good explanation on the internet and build all the pieces together. But here it is! In this article, we will.
We will go through all the concepts needed to understand and implement this algorithm β one by one. By the end of this article, we will have a fully functioning demo from scratch, which can extract the public key from the private key, sign a message, and verify that the signature is correct. This implementation will only use the concepts described in this article. Moreover, it will take less than 100 lines of code.
This article is targeted mainly at developers, who want to finally understand ECDSA, but it will also be very useful for everyone else. It requires knowing no more than middle school math.
#article #cryptography #ecdsa #elliptic #curve #bitcoin #signing
The elliptic curve is a pretty simple concept. The Elliptic Curves Digital Signature Algorithm (ECDSA), which works on top of its properties, is used in most blockchains like Bitcoin, Ethereum, etc., and is even simpler. But itβs difficult to find a good explanation on the internet and build all the pieces together. But here it is! In this article, we will.
We will go through all the concepts needed to understand and implement this algorithm β one by one. By the end of this article, we will have a fully functioning demo from scratch, which can extract the public key from the private key, sign a message, and verify that the signature is correct. This implementation will only use the concepts described in this article. Moreover, it will take less than 100 lines of code.
This article is targeted mainly at developers, who want to finally understand ECDSA, but it will also be very useful for everyone else. It requires knowing no more than middle school math.
#article #cryptography #ecdsa #elliptic #curve #bitcoin #signing
π₯4π1π1
Python Type Checking.
In this guide, you will get a look into Python type checking. Traditionally, types have been handled by the Python interpreter in a flexible but implicit way. Recent versions of Python allow you to specify explicit type hints that can be used by different tools to help you develop your code more efficiently.
#python #typing #mypy #realpython #guide #tutorial
In this guide, you will get a look into Python type checking. Traditionally, types have been handled by the Python interpreter in a flexible but implicit way. Recent versions of Python allow you to specify explicit type hints that can be used by different tools to help you develop your code more efficiently.
#python #typing #mypy #realpython #guide #tutorial
π6π2β€1
The Little Book of Rust Macros.
This book is an attempt to distil the Rust community's collective knowledge of Rust macros.
#rust #docs #macro
This book is an attempt to distil the Rust community's collective knowledge of Rust macros.
#rust #docs #macro
π₯4π€2π1
The Definitive Guide to Clojure on the JVM.
The Java ecosystem is big and it can be daunting. But fear not! You don't need to learn everything, and once you learn enough, it will be worth it. You will realize that it is not so intimidating.
This guide will be your . . . guide.
#clojure #jvm #guide
Clojure runs on the JVM and that is a huge asset to the Clojure language. In addition, Clojure was designed to be hosted. That means its semantics often defer to the underlying semantics of the host platform. All of that boils down to us needing to understand the Java ecosystem in order to get the most out of Clojure.The Java ecosystem is big and it can be daunting. But fear not! You don't need to learn everything, and once you learn enough, it will be worth it. You will realize that it is not so intimidating.
This guide will be your . . . guide.
#clojure #jvm #guide
β€5πΎ2π1π1π1
Understanding Clojure's Persistent Vectors: Part 1
Understanding Clojure's Persistent Vectors: Part 2
You may or may not heard about Clojureβs persistent vectors. It is a data structure invented by Rich Hickey (influenced by Phil Bagwellβs paper on Ideal Hash Trees) for Clojure, which gives practically O(1) runtime for appends, updates, lookups and subvec. As they are persistent, every modification creates a new vector instead of changing the old one.
So, how do they work? Iβll try to explain them through a series of blogposts, in which we look at manageable parts each time. It will be a detailed explanation, with all the different oddities around the implementation as well.
For today, weβll have a look at the basics and will cover updates, appends, and popping. The PersistentVector implementation in Clojure uses this as its core but also implements several speed optimisations, such transients and tails. We will have a look at those in later blog posts.
#clojure #persistent #vector #imutable #article
Understanding Clojure's Persistent Vectors: Part 2
You may or may not heard about Clojureβs persistent vectors. It is a data structure invented by Rich Hickey (influenced by Phil Bagwellβs paper on Ideal Hash Trees) for Clojure, which gives practically O(1) runtime for appends, updates, lookups and subvec. As they are persistent, every modification creates a new vector instead of changing the old one.
So, how do they work? Iβll try to explain them through a series of blogposts, in which we look at manageable parts each time. It will be a detailed explanation, with all the different oddities around the implementation as well.
For today, weβll have a look at the basics and will cover updates, appends, and popping. The PersistentVector implementation in Clojure uses this as its core but also implements several speed optimisations, such transients and tails. We will have a look at those in later blog posts.
#clojure #persistent #vector #imutable #article
π₯8β€2π2
β€8π€―4π3
django-template β a highly opinionated starter project which I use as a scaffold for all my Django projects.
I'm still working on this one, so work is in progress, but feel free to send PRs.
Features
-
-
-
-
-
-
-
-
-
-
#django #python #scaffold #template #bestpractices
I'm still working on this one, so work is in progress, but feel free to send PRs.
Features
-
Python 3.10, Django 4.1 and DRF 3.14.0-
poetry for managing dependencies-
postgres as a database-
redis as cache and message queue-
docker for development, testing, and production-
celery for asynchronous tasks-
black and isort for neat code formatting-
pytest and mimesis for testing-
django-debug-toolbar for debugging-
django-filter for easy filtering#django #python #scaffold #template #bestpractices
π₯8π3π©1π1
explainshell.com is an online tool built that visually explains each part of a Unix command by matching command-line arguments to their help text.
#bash #tool #explains
#bash #tool #explains
β€7π₯2π€―1π1
Practicalli Clojure.
Clojure - an elegant language for a more civilised development experience
A simple syntax means Clojure is quick to learn and a wide range of open source libraries provides a rapid way to build any kind of software. Designed as a hosted language, Clojure runs on many platforms including the Java Virtual Machine, GraalVM, Microsoft.Net, JavaScript engines. Simple host language interoperability provides access to libraries from a wide range of programming languages, further extending the reach of Clojure.
#clojure #jvm #fp #learning #tutorial #book
Clojure - an elegant language for a more civilised development experience
A simple syntax means Clojure is quick to learn and a wide range of open source libraries provides a rapid way to build any kind of software. Designed as a hosted language, Clojure runs on many platforms including the Java Virtual Machine, GraalVM, Microsoft.Net, JavaScript engines. Simple host language interoperability provides access to libraries from a wide range of programming languages, further extending the reach of Clojure.
#clojure #jvm #fp #learning #tutorial #book
β€5π₯1
Hiccup is a library for representing HTML in Clojure. It uses vectors to represent elements, and maps to represent an element's attributes.
Code example:
#clojure #jvm #htmll #rendering
Code example:
[:div {:id "email" :class "selected starred"} "..."]#clojure #jvm #htmll #rendering
π₯4β€2π1