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
Backend Master Class for building simple bank service.
In this course, you will learn step-by-step how to design, develop and deploy a backend web service from scratch. I believe the best way to learn programming is to build a real application. Therefore, throughout the course, you will learn how to build a backend web service for a simple bank. It will provide APIs for the frontend to do the following things:
- Create and manage bank accounts.
- Record all balance changes to each of the accounts.
- Perform a money transfer between 2 accounts.
The programming language we will use to develop the service is
GitHub: techschool/simplebank
#golang #go #video #masterclass #backend #bank #postgres
In this course, you will learn step-by-step how to design, develop and deploy a backend web service from scratch. I believe the best way to learn programming is to build a real application. Therefore, throughout the course, you will learn how to build a backend web service for a simple bank. It will provide APIs for the frontend to do the following things:
- Create and manage bank accounts.
- Record all balance changes to each of the accounts.
- Perform a money transfer between 2 accounts.
The programming language we will use to develop the service is
Golang, but the course is not just about coding in Go.GitHub: techschool/simplebank
#golang #go #video #masterclass #backend #bank #postgres
β€9
OpenAI Cookbook.
This repository shares example code and example prompts for accomplishing common tasks with the OpenAI API.
To try these examples yourself, youβll need an OpenAI account. Create a free account to get started.
Most code examples are written in Python, though the concepts can be applied in any language.
In the same way that a cookbook's recipes don't span all possible meals or techniques, these examples don't span all possible use cases or methods. Use them as starting points upon which to elaborate, discover, and invent.
#python #openai #ai
This repository shares example code and example prompts for accomplishing common tasks with the OpenAI API.
To try these examples yourself, youβll need an OpenAI account. Create a free account to get started.
Most code examples are written in Python, though the concepts can be applied in any language.
In the same way that a cookbook's recipes don't span all possible meals or techniques, these examples don't span all possible use cases or methods. Use them as starting points upon which to elaborate, discover, and invent.
#python #openai #ai
π5π3π₯1
Tide is an ultimate Fish prompt.
Out of the box: With three compelling styles and lots of options, you can have your ready-to-run cake and customize it too.
Flexible: Move content around or remove it, all without ever touching a line of code.
Extensible: Create custom content with simple Fish functions that integrate seamlessly.
Fast: Asynchronous rendering makes Tide the fastest full-featured Fish prompt.
#fish #shell #theme #prompt #plugin
Out of the box: With three compelling styles and lots of options, you can have your ready-to-run cake and customize it too.
Flexible: Move content around or remove it, all without ever touching a line of code.
Extensible: Create custom content with simple Fish functions that integrate seamlessly.
Fast: Asynchronous rendering makes Tide the fastest full-featured Fish prompt.
#fish #shell #theme #prompt #plugin
π₯7π1π1