TGTGInsightтелеграм анализLIVE / telegram public index
← Такты, стеки, два колеса

TGINSIGHT SIMILAR POSTS

Намери подобно съдържание

Изходен канал @clockstackwheels · Post #702 · 15.12

Сайты "Комитета" (VC, DTF) обновили дизайн лайков и дизлайков. Раньше это была цифра с двумя стрелками-кнопками, как на Reddit, Хабре и Пикабу. Стрелка вверх добавляла посту или комментарию плюс, а стрелка вниз — минус. Сумма всех плюсов и минусов выводилась или зелёным, если она положительная, или красным с минусом, если отрицательная. Сейчас лайк сделали отдельной кнопкой слева, дизлайк — отдельной кнопкой справа, с другим дизайном. А счётчик показывает всем только лайки, а дизлайки только автору. Спорный тут и дизайн, и само решение. Дизайн понятно, почему: кнопки абсолютно разных стилей и в разных местах отвечают за принципиально похожие действия. Пользователи DTF уже вовсю стебутся комментами "Я скачал твой пост" (потому что кнопка дизлайка похожа на скачивание). Но куда хуже то, что дизлайки отображаются только автору. Они при таких условиях нафиг не нужны. Автор может просто игнорировать этот счётчик. Раньше, если какой-то человек сморозил чушь, толпа его массово минусует, и все это видят, и он сам знает, что все видят. С полным ртом минусов очень сложно как-то оправдываться и продолжать отстаивать свою точку зрения. Ещё и добавлялось удобство сканирования для читателей: комменты с минусами можно специально пропускать, или, допустим, специально останавливаться на них ради горячей дискуссии. У этой системы, разумеется, был серьёзный косяк: минусы получали не только те, кто говорил неверное или глупое мнение, но и те, кто говорил непопулярное мнение. Например, на VC лучше было не писать комментарии в поддержку России, даже если по смыслу тезис верный и просто передаёт какой-то факт, вроде "Россия одна из лучших в мире в области атомной энергетики". Это сводило обсуждения к тому, что люди либо молчали, либо подстраивались под принятую в сообществе идеологию, что могло, например, создавать ложные впечатления относительно количества поддерживающих ту или иную точку зрения, да и в целом не всегда способствовало образованию интересных обсуждений. Тем не менее, на мой взгляд, полное сокрытие дизлайков при наличии самой кнопки дизлайка — решение, которое берёт худшее от всех альтернатив. Сам по себе институт дизлайка остаётся (а, значит, остаётся выражение негатива), при этом с коллективной ответственности за негатив ("Мудаки меня травят, ну и фиг с ними, стадо баранов!") идёт перенос на личную ответственность за негатив ("Вася Иванов меня травит, найду козла и начищу ему харю!"). Причём, ещё и для пользователей от этого нет никакого толка: теперь кто угодно может писать что угодно, и в худшем случае публично получит за это ноль лайков и всё. Впрочем, в "Комитете" совершенно явный управленческий кризис (как и много где сейчас). Удивительно, что сайты хоть как-то ещё поддерживаются и даже вносятся изменения. #web

Hashtags

Резултати

Намерени 2 подобни публикации

Търсене: #multithreading

当前筛选 #multithreading清除筛选
djangoproject

@djangoproject · Post #95 · 11.07.2016 г., 12:14

https://docs.python.org/3/library/asyncio-dev.html#asyncio-multithreading 18.5.9.3. #Concurrency and #multithreading An event loop runs in a thread and executes all callbacks and tasks in the same thread. While a task is running in the event loop, no other task is running in the same thread. But when the task uses yield from, the task is suspended and the event loop executes the next task. To schedule a callback from a different thread, the BaseEventLoop.call_soon_threadsafe() method should be used. Example: loop.call_soon_threadsafe(callback, *args) Most asyncio objects are not thread safe. You should only worry if you access objects outside the event loop. For example, to cancel a future, don’t call directly its Future.cancel() method, but: loop.call_soon_threadsafe(fut.cancel) To handle signals and to execute subprocesses, the event loop must be run in the main thread. To schedule a coroutine object from a different thread, the run_coroutine_threadsafe() function should be used. It returns a concurrent.futures.Future to access the result: future = asyncio.run_coroutine_threadsafe(coro_func(), loop) result = future.result(timeout) # Wait for the result with a timeout The BaseEventLoop.run_in_executor() method can be used with a thread pool executor to execute a callback in different thread to not block the thread of the event loop. See also The Synchronization primitives section describes ways to synchronize tasks. The Subprocess and threads section lists asyncio limitations to run subprocesses from different threads.

GitHub Trends

@githubtrending · Post #14740 · 23.05.2025 г., 12:30

#python#async#asyncio#cross_platform#downloader#gui#multithreading#pyqt#pyside6#python#qt#software#streaming Ghost Downloader 3 is a fast, AI-powered download manager that works on Windows, Linux, and macOS. It speeds up downloads by splitting files into many parts and using multiple threads, dynamically adjusting to use your full bandwidth. It supports resuming downloads, proxy settings, SSL security, and clipboard monitoring for easy link capture. The interface is modern and user-friendly. This tool helps you download files more quickly and efficiently, with options to control speed and use proxies, making it ideal if you want faster, smarter, and more reliable downloads on your computer[1]. https://github.com/XiaoYouChR/Ghost-Downloader-3