2 पॉइंट द्वारा GN⁺ 2024-11-17 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • Bluesky का public data अब 1.5 करोड़ users के स्तर तक बढ़ चुका है, और Jetstream का उपयोग करके पूरे network events को real time में लेकर उन पर experiment किया जा सकता है
  • यह WebSocket JSON feed के रूप में firehose है, इसलिए browser से भी connect किया जा सकता है, और simple real-time data experiments मुफ्त में शुरू किए जा सकते हैं
  • उदाहरण app delete events को detect करता है और अभी-अभी delete किए गए post text को anonymized, गायब हो जाने वाली feed में आखिरी बार दिखाता है
  • production environment में Fly.io की shared-cpu-1x 256MB RAM machine और 2GB persistent volume का उपयोग है, जिनकी लागत क्रमशः $1.94 और $0.30 प्रति माह है
  • यह गारंटी नहीं दी जा सकती कि हर firehose app इतना छोटा चलेगा, लेकिन कुछ real-time consumer apps केवल minimum instance पर भी पर्याप्त रूप से चल सकते हैं

Jetstream से Bluesky firehose पाना

  • Bluesky का data बहुत public है, और फिलहाल 1.5 करोड़ users के स्तर का public data मौजूद है
  • Jetstream का उपयोग करने पर network में होने वाली हर चीज़ को real-time WebSocket JSON feed के रूप में पाया जा सकता है
  • browser से सीधे firehose से connect होकर अभी पोस्ट हो रहे लेखों से random शब्द चुनने जैसे simple experiments भी किए जा सकते हैं

delete events दिखाने वाला छोटा app

  • experimental app deletions.bsky.bad-example.com firehose में सभी delete events को सुनता है और अभी delete किए गए text को anonymized, गायब हो जाने वाली feed में दिखाता है
  • यह app तब बनाया गया था जब Bluesky network अभी की तुलना में बहुत छोटा था, और अब network की गति इतनी बढ़ चुकी है कि वह पहले से कहीं अधिक अव्यवस्थित महसूस हो सकती है
  • यह Fly.io के सबसे छोटे instance पर चलता है
    • Fly machine, shared-cpu-1x, 256MB RAM: $1.94 प्रति माह
    • 2GB Persistent volume: $0.30 प्रति माह
  • इसका काम करने का flow simple cache और delete event matching पर आधारित है
    • app.bsky.feed.post collection के सभी नए create-post events प्राप्त किए जाते हैं
    • खाली posts को filter किया जाता है, और mentions तथा links पर redaction लागू की जाती है
    • साफ़ किया गया text did+rkey key के साथ pebbledb में store किया जाता है
    • हर कुछ सेकंड में 48 घंटे से पुराने stored text को range delete किया जाता है
    • delete-post event आने पर cache में text ढूंढा जाता है, और मिलने पर उसे वर्तमान observers को broadcast किया जाता है
  • feature scope छोटा है, लेकिन यह Fly.io के minimum instance पर स्थिर रूप से चलता है, और कुछ अधिक दिलचस्प apps भी इसी तरह के scale पर चलाए जा सकते हैं

1 टिप्पणियां

 
GN⁺ 2024-11-17
Hacker News टिप्पणियां
  • BlueSky अच्छा लगने की दो वजहें हैं: यूज़रनेम के रूप में अपने वेबसाइट डोमेन का इस्तेमाल कर सकते हैं, जैसे @bradgessler.com, और iOS पर मैसेज में इमेज copy-paste करने वाला फीचर ठीक से काम करता है
    X/Twitter में यह काफी समय से टूटा हुआ था। फायदे और भी हैं, लेकिन ये दो खास तौर पर अच्छे लगते हैं। अगर शुरुआत के लिए रास्ता चाहिए, तो Ruby हैकर्स के लिए एक starter pack भी बनाया है: https://go.bsky.app/HXB2cPh
    दूसरे starter packs और communities भी बहुत सारे हैं

    • ज्यादा अहम बात यह है कि आपको यह verify करना होता है कि आप उस डोमेन के मालिक हैं। google.com से signup नहीं कर सकते
    • यही तर्क X पर भी लागू होता है। BlueSky में domain verification DNS के जरिए did:plc identifier से map होती है, और AppView (bsky.app, BlueSky smartphone app आदि) सिर्फ plc.directory को देखते हैं, जो BlueSky की owned “database” है
      यूज़रनेम को सचमुच domain name बनाने के लिए BlueSky को did:web किस्म के identifiers support करने होंगे, लेकिन अभी ऐसा नहीं है। आखिरकार यूज़रनेम internal database से map होता है, इस मामले में यह X जैसा ही है। BlueSky उस दौर के Twitter जैसा है जब उसे investors को पैसा लौटाना बाकी था, और मैं शर्त लगा सकता हूं कि 10 साल बाद investment वसूलने पर focus करते-करते इसके और ज्यादा features टूट जाएंगे। मैं ActivityPub की तरफ थोड़ा biased हूं, लेकिन मानता हूं कि BlueSky का architecture बेहतर है
    • domain को username की तरह इस्तेमाल करने वाले feature की वजह से ही शुरुआत में मैं BlueSky waitlist में शामिल हुआ था
      11 साल पहले मैंने एक social media aggregator बनाया था जिसमें signup के लिए users के पास verified domain होना जरूरी था; domain को username की तरह इस्तेमाल किया जाता था और उसी domain से social media profile authenticate होती थी। उस समय का Show HN: https://news.ycombinator.com/item?id=6529523
      यह मजाकिया लग सकता है, लेकिन आखिर में BlueSky इस्तेमाल न करने की वजह यह थी कि वह emoji domains support नहीं करता था
    • लगता है यह Threads और Mastodon जैसा ही चलेगा। नतीजा ज्यादा से ज्यादा हल्का-फुल्का रहेगा, लेकिन अच्छा है कि आपको मजा आ रहा है
  • bsky firehose सचमुच मजेदार है, और 2005 में लौट जाने जैसा एक nostalgic अहसास देता है
    पिछले weekend मैंने इससे एक बहुत silly-सी छोटी चीज बनाई: https://bigmood.blue/

    • काफी बढ़िया है और पसंद आया। काली screen और repeating images के बजाय exponential backoff queue जैसी कोई चीज हो तो ज्यादा साफ लगेगा
      अगर मान लें कि समस्या display के तरीके की है, तो ऐसा दिखता है कि वही unique image थोड़े समय में कई बार repeat हो रही है। queue खाली होने लगे तो उसे और धीरे-धीरे drain किया जाए (जैसे 0.5s/numInQueue, आखिरी item कम से कम 0.5 सेकंड इंतजार करे और अगला item queue में आने का इंतजार करे), तो flow ज्यादा consistent होगा और खाली screen व repetition दोनों कम होंगे। images अपना original aspect ratio बनाए रखें तो भी अच्छा होगा
    • idea अच्छा है, लेकिन flicker बहुत तेज है। सीधे firehose दिखाने के बजाय हर 1 सेकंड में random तौर पर एक चुनना बेहतर हो सकता है
    • flicker कम करने का कोई तरीका है? मुझे epilepsy नहीं है और पहले warning दिखाने के लिए धन्यवाद, लेकिन करीब 2 सेकंड बाद भी यह काफी unpleasant लगता है
      अगर इसे थोड़ा ज्यादा देर तक देखा जा सके तो यह शानदार experiment होगा
    • इसके लिए बिल्कुल सही soundtrack है (flashing light warning): https://www.youtube.com/watch?v=wNtxgxYY7sI&t=66s
    • “2005 में लौट जाने जैसा nostalgic अहसास” से ज्यादा यह ऐसा लगता है जैसे लोगों को platform में invest करवाकर बांध दिया जाए और फिर charge किया जाए
  • पुराने Twitter के अच्छे दिनों में लौटने जैसा लगता है। तब API के साथ कुछ बना और experiment कर सकते थे
    कभी मैंने एक competition जीतने वाला bot भी बनाया था: https://theexceptioncatcher.com/blog/2015/11/how-i-got-my-bo...

  • यह शानदार feature है, और political stance को अलग रखकर भी X की तुलना में BlueSky को support करने की बड़ी वजह बनता है
    यह भी जानना चाहूंगा कि BlueSky या कोई third party अलग-अलग तरह के dumps zip files में देती है या नहीं। server load कम करने के लिए वह बेहतर लगेगा

  • पुराने समय में, जब आम developers भी access कर सकते थे, Twitter के firehose से खेलना मजेदार था। उस idea को लौटते देखना exciting है

  • यह cool है। Elon के बाद Twitter ने जो locked-down नई API rules निकालीं, उनसे इसका तीखा contrast है

  • अब भी गुस्सा आता है कि Twitter ने मेरी सारी automation तोड़ दी और फिर महीने के 100 डॉलर मांगे। लगता है अब यह 200 डॉलर तक पहुंच गया है
    यह तो मेरी car loan payment जितना है। एक आम व्यक्ति के लिए यह justify करने लायक रकम नहीं है

  • लगता है निकट भविष्य में यह data किसी AI/LLM training data में बदल जाएगा

    • नतीजा सिर्फ दो में से एक होगा। या तो access सबको होगा, या सिर्फ कुछ बड़ी companies को। ideal नहीं है, लेकिन पहला विकल्प कहीं बेहतर है
    • data access कुछ बड़ी companies तक सीमित होने से बेहतर है कि यह सबके लिए open हो
    • fair कहें तो, CCTV camera वाली सड़क पर चलने भर से भी आप पहले ही किसी AI के training data बन रहे होने की काफी संभावना है
    • researchers शायद पुराना data चाहेंगे जो LLM vomit से contaminated न हो
  • एक शब्द वाला firehose demo बेहतरीन है। creative लोग इससे सचमुच बहुत सारी शानदार चीजें बना सकते हैं

  • Twitter पर मेरा एक महत्वपूर्ण account है, जहां मैं posts, thoughts, links, announcements आदि manually डालता हूं
    Threads और Bluesky पर automatically cross-post करने का तरीका खोजा, लेकिन नहीं मिला। कोई recommend करने लायक तरीका है?

    • मुझे लगता है यह एक अलग समस्या है। social media data को migrate करने का कोई practical तरीका नहीं है, क्योंकि अगर यह संभव हो गया तो ज्यादातर इसका misuse होगा
    • कई जगहों पर post करने की सुविधा देने वाले apps में OpenVibe और Yup हैं