Система кармы на Хабре похожа на попытку программистов сделать справедливое самоуправляемое общество.
В теории всё хорошо:
1. Вы получаете карму за хорошие статьи и реже за хорошие комментарии. Ну в основном конечно за статьи: действительно ценный вклад в общество (местное общество, имеется ввиду).
2. Теряете карму за плохие статьи (какой-нибудь откровенный мусор или текст низкого качества) и за социально неприемлемое поведение в комментариях.
3. Каждый человек может повысить карму другому только один раз. И понизить только один раз.
4. Влиять на карму других можно только если ваша собственная карма не ниже некоторого порога. Чем выше у вас карма — тем больше голосов за других людей и другие комментарии в день вы имеете.
5. Высокая карма даёт не только больше возможностей по публикациям и голосам, но и позволяет с некоторого значения зарабатывать на статьях деньги. Небольшие, но всё же.
То есть да, теоретически люди, которые делают благо, получают больше возможностей и больше влияют на возможности других людей. Это вам не лайки бесполезные :)
На практике, конечно же, идеальных систем нет, и у этой обнаружились косяки. Если вы высказываете в комментариях непопулярное мнение, то вам могут массово слить карму в глубокий минус. Не важно, что вы вежливо и может даже с аргументацией выразили свои субъективные взгляды — толпа закидает камнями. Получив сильный минус, вы теряете способность отвечать: сначала не можете минусить других, а потом вообще не можете комментировать. Невыведенные деньги за статьи при потере нужного статуса теряются. Забили камнями до онемения, ограбили.
Некоторым людям настолько претит эта система, что они только из-за неё отказываются вообще вести какую-либо активность на Хабре. В любом случае, в обсуждении острых вопросов будешь аккуратен.
Тем не менее, мне система скорее симпатична, чем нет. Да, Хабр явно не для яростных дискуссий. Зато там почти нет откровенного мусора и внутреннего воровства контента, что на мой личный взгляд является одной из главных проблем всех остальных контентных площадок.
#web
#Asynchronous#JavaScript
🛠
Asynchronous Programming in JavaScript
Asynchronous programming is often intimidating, it’s not how we normally consider writing code. This course shows how promises and async/await can help simplify async programming.
Asynchronous programming is often confusing when first learning JavaScript. In this course, Asynchronous Programming in JavaScript,, you’ll gain the ability to handle async programming in JavaScript. First, you’ll explore consuming promises. Next, you’ll discover creating your own promises. Finally, you’ll learn how to use async/await to handle asynchronous programming. When you’re finished with this course, you’ll have the skills and knowledge of JavaScript promises needed to handle asynchronous code.
📅 1/2023
🔗Link
-----
Main channel: @repo_science
Coupons: @freecoupons_reposcience
-----
https://medium.com/@seashorepartners/python-3-6-has-it-redefined-web-development-233165023a36
Python 3.6 — Has it redefined web development?
#Python 3.6 is the biggest ever release by Python, and it starts its enhancements from where Python 3.5 left. Released in December 2016, the world is going gaga over the new release, as the #enhancements help improve speed and performance of your website without compromising on the quality or, the way you have construed your website.
#Asynchronous Functions
https://docs.python.org/3/library/asyncio.html
#asyncio
#Asynchronous programming is more complex than classical “#sequential” programming: see the Develop with asyncio page which lists common traps and explains how to avoid them. Enable the debug mode during development to detect common issues.
https://github.com/szastupov/aiotg
aiotg
https://travis-ci.org/szastupov/aiotg.svg?branch=master
#Asynchronous#Python#API for building Telegram #bots, featuring:
Easy and declarative API
Hassle-free setup - no need for SSL certificates or static IP
Built-in support for analytics via botan.io
Automatic handling of Telegram API throttling or timeouts
http://sahandsaba.com/understanding-asyncio-node-js-python-3-4.html
I spent this summer working on a #web_platform running on #Node.js. This was the first time I worked full-time with Node.js and one thing that became quite apparent after a few weeks of working with it was that many developers, including myself at the time, lack clarify on exactly how the #asynchronous features of Node.js work, and how they are implemented at a lower level. Since I believe the only way to use a platform efficiently is to have a clear understanding of how it works, I decided to dig deeper. This curiosity also made me start playing around with implementing similar asynchronous features in other languages, in particular Python, it being my go-to language for experimenting and learning. This led me to Python 3.4's asynchronous IO library asyncio in particular, which intersected with my already existing interest in coroutines (see my post on combinatorial generation using coroutines in Python.) This post is about exploring the questions and answers that came up while I was learning more about this subject, which I hope can help clarify and answer some questions for others as well.
http://krondo.com/an-introduction-to-asynchronous-programming-and-twisted/
Twisted Introduction
This multi-part series introduces #Asynchronous Programming and the Twisted networking framework.
#Twisted is an event-driven networking engine written in #Python and licensed under the open source MIT license. Twisted runs on Python 2 and an ever growing subset also works with Python 3.
#network#learn
#signal — Set handlers for #asynchronous events
This module provides mechanisms to use signal handlers in Python.
The signal.signal() function allows to define custom handlers to be executed when a signal is received. A small number of default handlers are installed: #SIGPIPE is ignored (so write errors on pipes and sockets can be reported as ordinary Python exceptions) and #SIGINT is translated into a KeyboardInterrupt exception.
#Asyncio
https://docs.python.org/3.4/library/signal.html
https://pypi.python.org/pypi/uvloop
#uvloop is a fast, drop-in replacement of the built-in #asyncio event loop. uvloop is released under the MIT license.
uvloop and asyncio, combined with the power of async/await in Python 3.5, makes it easier than ever to write high-performance #networking code in Python.
uvloop makes asyncio fast. In fact, it is at least 2x faster than #nodejs, #gevent, as well as any other Python #asynchronous framework. The performance of uvloop-based asyncio is close to that of Go programs.
https://vorpus.org/blog/some-thoughts-on-asynchronous-api-design-in-a-post-asyncawait-world/#websocket-servers
I've recently been exploring the exciting new world of #asynchronous I/O libraries in Python 3 – specifically asyncio and curio. These two libraries make some different design choices.
Example 1: #asyncio, with callbacks
Example 2: #curio, with #async/#await
Example 3: asyncio, with async/await
#websockets