Note about comments and dead code
Comments are something that can both: ruin your code and make it better.
A good comment takes time to think and write, and therefore most often we all come across disgusting comments that are nothing but a piece of visual garbage.
#comments, #code, #style
Comments are something that can both: ruin your code and make it better.
A good comment takes time to think and write, and therefore most often we all come across disgusting comments that are nothing but a piece of visual garbage.
#comments, #code, #style
Isaakβs Blog
Blog isaak.dev
A good comment takes time to think and write, and therefore most often we all come across disgusting comments that are nothing but a piece of visual garbage.
β€1π1
Thoughts about naming variables and methods
The proper naming of variables, functions, methods, and classes is one of the most important attributes of elegant and clean code, that clearly reflects the intentions of the programmer, without assumptions about what was meant.
#python, #django, #js, #code, #style
The proper naming of variables, functions, methods, and classes is one of the most important attributes of elegant and clean code, that clearly reflects the intentions of the programmer, without assumptions about what was meant.
#python, #django, #js, #code, #style
Isaakβs Blog
Blog isaak.dev
The proper naming of variables, functions, methods, and classes is one of the most important attributes of elegant and clean code, that clearly reflects the intentions of the programmer, without assumptions about what was meant.
β€1π1
The idiomatic comparison in Python
Some newbies in Python often improperly use the operators is and == without knowing how exactly they work and when to use each one. In this article, Iβll talk about the difference between them, and about the use cases of each one.
#python, #comparison, #operators
Some newbies in Python often improperly use the operators is and == without knowing how exactly they work and when to use each one. In this article, Iβll talk about the difference between them, and about the use cases of each one.
#python, #comparison, #operators
Isaakβs Blog
Blog isaak.dev
Some beginners in Python often improperly use the comparison operators (is, ==) without knowing how exactly they work. Let's talk about the fundamental difference between these operators.
π1π₯1
warp is a super-easy, composable, web server framework for warp speeds.
The fundamental building block of
#rust, #http, #server, #framework
The fundamental building block of
warp is the Filter: they can be combined and composed to express rich requirements on requests.#rust, #http, #server, #framework
β€1π₯1
Day.js is a minimalist JavaScript library that parses, validates, manipulates, and displays dates and times for modern browsers with a largely Moment.js-compatible API. If you use Moment.js, you already know how to use Day.js.
#javascript, #datetime
#javascript, #datetime
β€1π₯1
FastAPI is a modern, fast (high-performance), web framework for building APIs with Python 3.6+ based on standard Python type hints.
The key features are:
- Fast: Very high performance, on par with NodeJS and Go. One of the fastest Python frameworks available.
- Fast to code: Increase the speed to develop features by about 200% to 300%. *
- Fewer bugs: Reduce about 40% of human (developer) induced errors. *
- Intuitive: Great editor support. Completion everywhere. Less time debugging.
- Easy: Designed to be easy to use and learn. Less time reading docs.
- Short: Minimize code duplication. Multiple features from each parameter declaration. Fewer bugs.
- Robust: Get production-ready code. With automatic interactive documentation.
- Standards-based: Based on (and fully compatible with) the open standards for APIs: OpenAPI (previously known as Swagger) and JSON Schema.
#python, #api, #asyncio, #rest, #async, #json
The key features are:
- Fast: Very high performance, on par with NodeJS and Go. One of the fastest Python frameworks available.
- Fast to code: Increase the speed to develop features by about 200% to 300%. *
- Fewer bugs: Reduce about 40% of human (developer) induced errors. *
- Intuitive: Great editor support. Completion everywhere. Less time debugging.
- Easy: Designed to be easy to use and learn. Less time reading docs.
- Short: Minimize code duplication. Multiple features from each parameter declaration. Fewer bugs.
- Robust: Get production-ready code. With automatic interactive documentation.
- Standards-based: Based on (and fully compatible with) the open standards for APIs: OpenAPI (previously known as Swagger) and JSON Schema.
#python, #api, #asyncio, #rest, #async, #json
β€1π₯1
pydantic is a Python package for data parsing and validation, which enforces type hints at runtime, and provides user-friendly errors when data is invalid.
#python, #data, #validation, #type_hints
#python, #data, #validation, #type_hints
π1π1
Credo is a static code analysis tool for the Elixir language with a focus on teaching and code consistency.
It can show you refactoring opportunities in your code, complex code fragments, warn you about common mistakes, show inconsistencies in your naming scheme and - if needed - help you enforce a desired coding style.
#elixir, #erlang, #beam, #code_analysis, #static_analysis, #linter
It can show you refactoring opportunities in your code, complex code fragments, warn you about common mistakes, show inconsistencies in your naming scheme and - if needed - help you enforce a desired coding style.
#elixir, #erlang, #beam, #code_analysis, #static_analysis, #linter
β€1π₯1
Diesel is a safe, extensible ORM and Query Builder for Rust
Diesel gets rid of the boilerplate for database interaction and eliminates runtime errors without sacrificing performance. It takes full advantage of Rust's type system to create a low overhead query builder that "feels like Rust."
Supported databases:
1. PostgreSQL
2. MySQL
3. SQLite
#rust, #orm, #postgres, #mysql, #sqlite, #query_builder
Diesel gets rid of the boilerplate for database interaction and eliminates runtime errors without sacrificing performance. It takes full advantage of Rust's type system to create a low overhead query builder that "feels like Rust."
Supported databases:
1. PostgreSQL
2. MySQL
3. SQLite
#rust, #orm, #postgres, #mysql, #sqlite, #query_builder
π1π₯1
A-Frame is a web framework for building virtual reality experiences.
π Virtual Reality Made Simple: A-Frame handles the 3D and WebVR boilerplate required to get running across platforms including mobile, desktop, Vive, and Rift just by dropping in
β€οΈ Declarative HTML: HTML is easy to read and copy-and-paste. Since A-Frame can be used from HTML, A-Frame is accessible to everyone: web developers, VR enthusiasts, educators, artists, makers, kids.
π Entity-Component Architecture: A-Frame is a powerful framework on top of three.js, providing a declarative, composable, reusable entity-component structure for three.js. While A-Frame can be used from HTML, developers have unlimited access to JavaScript, DOM APIs, three.js, WebVR, and WebGL.
β‘ Performance: A-Frame is a thin framework on top of three.js. Although A-Frame uses the DOM, A-Frame does not touch the browser layout engine. Performance is a top priority, being battle-tested on highly interactive WebVR experiences.
π Cross-Platform: Build VR applications for Vive, Rift, Daydream, GearVR, and Cardboard. Don't have a headset or controllers? No problem! A-Frame still works on standard desktop and smartphones.
π Visual Inspector: A-Frame provides a built-in visual 3D inspector with a workflow similar to a browser's developer tools and interface similar to Unity.
π Features: Hit the ground running with A-Frame's built-in components such as geometries, materials, lights, animations, models, raycasters, shadows, positional audio, tracked controllers. Get even further with community components such as particle systems, physics, multiuser, oceans, mountains, speech recognition, or teleportation!
#javascript, #ar, #web, #framework, #3d, #oculus
π Virtual Reality Made Simple: A-Frame handles the 3D and WebVR boilerplate required to get running across platforms including mobile, desktop, Vive, and Rift just by dropping in
<a-scene>.β€οΈ Declarative HTML: HTML is easy to read and copy-and-paste. Since A-Frame can be used from HTML, A-Frame is accessible to everyone: web developers, VR enthusiasts, educators, artists, makers, kids.
π Entity-Component Architecture: A-Frame is a powerful framework on top of three.js, providing a declarative, composable, reusable entity-component structure for three.js. While A-Frame can be used from HTML, developers have unlimited access to JavaScript, DOM APIs, three.js, WebVR, and WebGL.
β‘ Performance: A-Frame is a thin framework on top of three.js. Although A-Frame uses the DOM, A-Frame does not touch the browser layout engine. Performance is a top priority, being battle-tested on highly interactive WebVR experiences.
π Cross-Platform: Build VR applications for Vive, Rift, Daydream, GearVR, and Cardboard. Don't have a headset or controllers? No problem! A-Frame still works on standard desktop and smartphones.
π Visual Inspector: A-Frame provides a built-in visual 3D inspector with a workflow similar to a browser's developer tools and interface similar to Unity.
π Features: Hit the ground running with A-Frame's built-in components such as geometries, materials, lights, animations, models, raycasters, shadows, positional audio, tracked controllers. Get even further with community components such as particle systems, physics, multiuser, oceans, mountains, speech recognition, or teleportation!
#javascript, #ar, #web, #framework, #3d, #oculus
π1π₯1
Finatra is a lightweight framework for building fast, testable, scala applications on top of TwitterServer and Finagle. Finatra provides an easy-to-use API for creating and testing Finagle servers and apps as well as powerful JSON support, modern logging via SLF4J, Finagle client utilities, and more.
#scala, #http, #framework, #microservices, #testing
#scala, #http, #framework, #microservices, #testing
β€1π₯1
DataScript is meant to run inside the browser. It is cheap to create, quick to query and ephemeral. You create a database on page load, put some data in it, track changes, do queries and forget about it when the user closes the page.
DataScript databases are immutable and based on persistent data structures. In fact, theyβre more like data structures than databases (think Hashmap). Unlike querying a real SQL DB, when you query DataScript, it all comes down to a Hashmap lookup. Or series of lookups. Or array iteration. Thereβs no particular overhead to it. You put a little data in it, itβs fast. You put in a lot of data, well, at least it has indexes. That should do better than you filtering an array by hand anyway. The thing is really lightweight.
#clojure, #clojurescript, #database
DataScript databases are immutable and based on persistent data structures. In fact, theyβre more like data structures than databases (think Hashmap). Unlike querying a real SQL DB, when you query DataScript, it all comes down to a Hashmap lookup. Or series of lookups. Or array iteration. Thereβs no particular overhead to it. You put a little data in it, itβs fast. You put in a lot of data, well, at least it has indexes. That should do better than you filtering an array by hand anyway. The thing is really lightweight.
#clojure, #clojurescript, #database
β€1π1
Surface is a server-side rendering component library that allows developers to build rich interactive user-interfaces, writing minimal custom Javascript.
Built on top of Phoenix LiveView and its new LiveComponent, Surface leverages the amazing Phoenix Framework to provide a fast and productive solution to build modern web applications.
#elixir, #phoenix, #erlang, #otp, #cowboy
Built on top of Phoenix LiveView and its new LiveComponent, Surface leverages the amazing Phoenix Framework to provide a fast and productive solution to build modern web applications.
#elixir, #phoenix, #erlang, #otp, #cowboy
β€1π1
Gizmo is a a Microservice Toolkit from The New York Times.
This toolkit provides packages to put together server and pubsub daemons with the following features:
- Standardized configuration and logging
- Health check endpoints with configurable strategies
- Configuration for managing pprof endpoints and log levels
- Basic interfaces to define expectations and vocabulary
- Structured logging containing basic request information
- Useful metrics for endpoints
- Graceful shutdowns
#go, #microservices, #http, #server, #pubsub
This toolkit provides packages to put together server and pubsub daemons with the following features:
- Standardized configuration and logging
- Health check endpoints with configurable strategies
- Configuration for managing pprof endpoints and log levels
- Basic interfaces to define expectations and vocabulary
- Structured logging containing basic request information
- Useful metrics for endpoints
- Graceful shutdowns
#go, #microservices, #http, #server, #pubsub
β€1π₯1
Best Practices for ES6 Promises
ES6 promises are great! They are integral constructs for asynchronous programming in JavaScript, ultimately replacing the old callback-based pattern that was most infamously known for bringing about deeply nested code ("callback hell").
Unfortunately, promises are not exactly the easiest concept to grasp. In this article, I will discuss the best practices I have learned over the years that helped me make the most out of asynchronous JavaScript.
#javascript, #node, #performance, #tips, #article
ES6 promises are great! They are integral constructs for asynchronous programming in JavaScript, ultimately replacing the old callback-based pattern that was most infamously known for bringing about deeply nested code ("callback hell").
Unfortunately, promises are not exactly the easiest concept to grasp. In this article, I will discuss the best practices I have learned over the years that helped me make the most out of asynchronous JavaScript.
#javascript, #node, #performance, #tips, #article
β€1π1
A half-hour to learn Rust
In order to increase fluency in a programming language, one has to read a lot of it. But how can you read a lot of it if you don't know what it means?
In this article, instead of focusing on one or two concepts, I'll try to go through as many Rust snippets as I can, and explain what the keywords and symbols they contain mean.
#rust, #learning, #article, #beginner
In order to increase fluency in a programming language, one has to read a lot of it. But how can you read a lot of it if you don't know what it means?
In this article, instead of focusing on one or two concepts, I'll try to go through as many Rust snippets as I can, and explain what the keywords and symbols they contain mean.
#rust, #learning, #article, #beginner
β€1π1