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

TGINSIGHT SIMILAR POSTS

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

Изходен канал @clockstackwheels · Post #554 · 14.09

В сети пишут, что у Patreon финансовые сложности: закрыли подразделения в Берлине и Дублине, увольняют сотрудников. Патреон — сравнительно простой технически сайт, у которого толком не было мажорных обновлений. Самое сложное там это работа с выплатами, но вряд ли она у них своя самописная, наверняка пользуются чем-то типа Stripe. При этом у Патреона очень понятная бизнес-модель с линейным масштабированием и почти нет потребности в сложном маркетинге (популярные блогеры сами тебя постоянно рекламируют миллионам людей, потому что ты источник их заработка). Короче, просрать Патреон это надо уметь. Кажется, топ менеджеры покупали себе слишком дорогие яхты, иначе я не могу объяснить. Перегруженность и непрозрачность процессов, низкая эффективность как сотрудников, так и финансовых вложений — одни из фундаментальных проблем энтерпрайза, я вам как-то уже об этом рассказывал. При этом сама модель мне нравится. Я рад, что она заработала, хотя внутренний менталитет русского человека видит тут некоторое противоречие: как же это отдать деньги добровольно не за товар или услугу, а просто чтобы поддержать факт существования какого-то интересного для тебя явления? Можно же поддержать лайком или хорошим комментарием, но деньги??? Нет, деньги надо только на хлеб обменивать. Так думают многие мои знакомые. Но не все, и не я. До остановки платежей был подписан на десяток проектов и нигде не читал, собственно, саму ленту Патреона. Мне не слишком интересны бэкстейджи и ранний доступ, я продолжал смотреть всех тех же ребят на Ютубе на общих началах. Сейчас поддерживаю пару русских блогеров на boosty. Добровольная подписка на и без того доступный контент — это почти буквально голосование рублём. Способ отдать что-то, действительное представляющее для тебя ценность (деньги) в знак поддержки какого-то начинания, а не в обмен на товар. Это, на мой взгляд, самый честный индикатор: человеку что-то нужно/нравится, если он готов за это платить. А уж если готов платить даже при условной возможности не платить — значит очень нравится. #web

Hashtags

Резултати

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

Търсене: #haskell

当前筛选 #haskell清除筛选
宇宙航海誌

@uchuukoukaishi · Post #368 · 31.07.2023 г., 13:36

今天下午碰到一个并发问题,之前写的 Haskell 并发代码有考虑不周的地方,在特定情况下会死锁,简化一下是这样的: replicateM_ n_workers . forkIO $ do { -- Worker 线程 doSomethingThatMayFail; signalTSem semaphore; } -- 主线程 waitTSem semaphore 如果 doSomethingThatMayFail 抛异常导致线程挂了,那么 signal 就 unreachable,于是主线程会卡住。而 GHC 直接检测到了这个问题并在主线程(比较及时地)抛出了 BlockedIndefinitelyOnSTM 异常。 有点好奇是怎么实现的,于是读了一下 GHC,目前初步的理解是:Haskell 中的线程本身是一个会被 GC 的堆分配对象,当前线程 block 时这个线程会被放到 TVar 的 wait queue 里。如果 TVar 被 GC 了,那么这个线程本身也就 unreachable 了(线程本身并不是 GC root),会被 mark 掉。GC 过程中,如果发现某个 thread 是 unreachable 的,那么在最后关头会调用一个叫 resurrectThreads 的函数(Schedule.c),这个函数会检查线程状态对象的 "why_blocked" 字段,如果是 BlockedOnSTM(在 park 的时候设置的),那么就会在这个线程里抛出一个 BlockedIndefinitelyOnSTM 异常(相应地,其他 block 理由也会有其他种类的异常抛出)。 这个机制不使用任何 timer,并且一旦抛出异常就是真的发生 deadlock 了。缺点大概是不 complete ,比如用一个 StablePtr 维持住线程对象的命,就可以 hang forever 了。 #haskell

Hashtags