13 पॉइंट द्वारा GN⁺ 19 시간 전 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • Doom/Quake बनाने वाले John Carmack ने कहा कि वे Fabrice Bellard का सम्मान करते हैं

    "लगभग निश्चित रूप से वह समग्र प्रोग्रामिंग क्षमता में मुझसे कहीं बेहतर होंगे"

  • यह टिप्पणी उन्होंने किसी द्वारा Fabrice Bellard का wiki page साझा किए जाने पर लिखे गए पोस्ट को उद्धृत करते हुए छोड़ी

पेरिस में शांत जीवन जीने वाले एक फ़्रांसीसी इंजीनियर ने 30 वर्षों तक बिना नाम कमाए वह सॉफ़्टवेयर लिखा है, जिस पर आज पूरा इंटरनेट निर्भर है

  • दुनिया भर की video streaming और cloud virtualization को संभालने वाले काफ़ी महत्वपूर्ण code, Silicon Valley के बाहर, पेरिस के एक इंजीनियर द्वारा अकेले बनाए गए open source पर आधारित हैं
  • video·audio formats को प्रोसेस करने वाला FFmpeg, YouTube, Netflix, VLC आदि में चलने वाले इंटरनेट के अदृश्य इंजन की तरह काम करता है
  • machine emulator QEMU, आधुनिक virtualization की नींव है, जिसके ऊपर Linux hypervisor KVM चलता है और प्रमुख cloud की VM infrastructure बनाई गई है
  • इसके अलावा उन्होंने TCC, JSLinux, QuickJS, NNCP समेत कई projects अकेले विकसित किए, और उस समय के मानक के अनुसार pi के सबसे अधिक digits भी स्वयं निकाले गए formula से गणना किए
  • marketing या SNS के बिना, telecom कंपनी Amarisoft में CTO रहते हुए भी वे आज तक अपने personal projects जारी कर रहे हैं

व्यक्ति परिचय

  • नाम Fabrice Bellard, जन्म 1972, Grenoble, France
  • फ्रांस के शीर्ष engineering school École Polytechnique में अध्ययन
    • उन्होंने कभी Silicon Valley का रुख नहीं किया, न ही कोई startup empire खड़ा किया; बस code लिखने पर ध्यान दिया
  • Twitter, Instagram नहीं; interviews भी लगभग नहीं देते
    • उनकी personal site, style·font·marketing copy के बिना project titles और links की एक साधारण सूची के रूप में है

FFmpeg — इंटरनेट का अदृश्य इंजन

  • 2000 में 28 वर्ष की उम्र में शुरू किया गया encoding·decoding·streaming के लिए open source multimedia framework
    • मौजूद लगभग हर video·audio format को, एक library में, हर operating system पर प्रोसेस करना—यह सब उन्होंने अकेले implement किया
    • कई वर्षों तक उन्होंने स्वयं इस project का नेतृत्व किया
  • आज YouTube, Netflix, VLC इसका उपयोग करते हैं, और Chrome·Firefox भी इसके कुछ हिस्से इस्तेमाल करते हैं
    • हर Android phone, iPhone, smart TV, और video editing tools के भीतर FFmpeg चलता है
    • पिछले 20 वर्षों में आपने स्क्रीन पर कोई video देखा है, तो संभव है कि उसी code ने उसे प्रोसेस किया हो

QEMU — आधुनिक virtualization की नींव

  • 2003 में शुरू किया गया machine emulator और virtualization tool, जिसे 2005 के version 0.7.1 तक उन्होंने अकेले लिखा
    • यह किसी भी operating system को दूसरे operating system के ऊपर चलाने में सक्षम बनाता है
  • Linux kernel hypervisor KVM, QEMU के ऊपर चलता है
    • AWS, Google Cloud, Microsoft Azure, IBM Cloud सहित सभी प्रमुख cloud providers, इसी पर आधारित infrastructure में VM चलाते हैं
    • इसे पृथ्वी पर सबसे अधिक उद्धृत cloud infrastructure code में से एक माना जाता है

अन्य प्रमुख solo projects

  • 2001 के International Obfuscated C Code Contest के विजेता छोटे C compiler ने आगे चलकर TCC(Tiny C Compiler) का रूप लिया
    • TCC, Linux kernel को source से 15 सेकंड के भीतर compile और boot करा सकता है
  • 2004 में अपने personal desktop computer और स्वयं निकाले गए Bellard's formula algorithm से, उस समय के हिसाब से pi के सबसे अधिक digits की गणना की
  • 2011 में pure JavaScript में लिखा गया, browser में Linux चलाने वाला PC emulator JSLinux जारी किया
  • 2019 में ऐसे environments जहाँ V8 फिट नहीं बैठता के लिए उपयुक्त, छोटा और पूर्ण JavaScript engine QuickJS जारी किया
  • 2021 में neural network आधारित lossless data compressor NNCP जारी किया, और Large Text Compression Benchmark में तुरंत शीर्ष स्थान ले लिया

LLM से जुड़े projects

  • LLM को local में चलाने वाला REST API web server TextSynth Server बनाया
  • language model का उपयोग कर, मौजूदा algorithms से बेहतर compression ratio पर text·short messages को compress करने वाले ts_zip, ts_sms जारी किए
  • बहुत low bitrate वाला audio compression system TSAC जारी किया
  • दिसंबर 2025 में, लगभग बिना memory वाले environments को ध्यान में रखकर, QuickJS से अलग बनाया गया microcontroller-उपयुक्त JavaScript engine Micro QuickJS जारी किया

Amarisoft और काम करने का तरीका

  • 2012 में telecom कंपनी Amarisoft की सह-स्थापना की और CTO के रूप में कार्यरत हैं
    • Amarisoft, दुनिया भर के telecom operators और research labs द्वारा उपयोग किए जाने वाले 4G·5G base station software विकसित करती है
  • 10 साल से अधिक समय तक कंपनी चलाते हुए भी, वे अपनी personal homepage(bellard.org) के माध्यम से personal projects जारी करते रहे हैं
    • Silicon Valley गए बिना, वे आज भी इंटरनेट को चुपचाप संभालने वाला code जारी करते जा रहे हैं

1 टिप्पणियां

 
Hacker News की टिप्पणियाँ
  • Bellard के योगदानों की सूची देखें तो उनकी शुद्ध क्षमता भी अद्भुत है, लेकिन उससे भी ज़्यादा ध्यान खींचने वाली बात है क्या चुनना है, इसका बोध
    उन्होंने बार-बार ऐसे काम चुने हैं जो बहुत बड़ी संख्या में लोगों के लिए उपयोगी बनते हैं, और यह बात उनकी तकनीकी क्षमता से भी अधिक आश्चर्यजनक लगती है
    शायद जीवन का सबसे महत्वपूर्ण प्रश्न यही है कि क्या करना है, यह तय करना

    • शायद मानदंड कुछ ऐसा होगा: मैं एक आसान काम करना चाहता हूँ, लेकिन यह इतना मुश्किल क्यों है?
      modern computing में developer experience की दलदल बहुत ज़्यादा है, और भले ही हर कोई इसे झेलता है, सच में उसे ठीक करने निकलने वाले लोग बहुत कम हैं
      संक्षेप में, यह दर्शन है: “जो चीज़ें अच्छी होनी चाहिए, वे उतनी अच्छी नहीं हैं, और मैं सीखकर उन्हें बेहतर बना सकता हूँ”, और व्यापक अर्थ में यह “बस कर सकते हो” के काफ़ी करीब है
    • अगर आप किसी ऐसी चीज़ को, जो पारंपरिक रूप से कठिन रही है, बहुत आसान, तेज़ और बेहतर बना दें, तो उसके नीचे अटके हुए use cases खुल जाते हैं
      चयन और execution दोनों महत्वपूर्ण होंगे, लेकिन कई industries इसलिए खुलीं क्योंकि किसी ने पहले मुश्किल रहे काम को आसान बना दिया
    • research में भी यही दुविधा अक्सर सामने आती है
      खासकर अगर आप प्रभाव पैदा करना चाहते हैं, तो जीवन भर किस पर समय लगाना है यह चुनना महत्वपूर्ण है, और कई बार सही समस्या चुनना उचित solution सोचने से भी कठिन होता है
    • यही लोग असल में 10x developer होते हैं
      Bellard के मामले में यह 100x से भी ज़्यादा हो सकता है
      बात 19 घंटे काम करने, code lines बढ़ाने या PR की संख्या बढ़ाने की नहीं है, बल्कि ऐसे elegant solutions देने की है जिनका व्यापक प्रभाव हो और जिनके बारे में किसी और ने सोचा भी न हो
    • उल्टा देखें तो, अगर आपके पास क्षमता है, तो अपने क्षेत्र की सबसे कठिन समस्याएँ चुनकर उन्हें हल कीजिए, और इसे दोहराते रहिए
      हर क्षेत्र की कठिन समस्याएँ कोई रहस्य नहीं होतीं; आख़िरकार सवाल यह है कि क्या आपके पास उन पर कई साल झोंकने की क्षमता, हिम्मत और इच्छाशक्ति है
  • दिलचस्प बात यह है कि Bellard का ज़्यादातर काम देखने में specifications को C में उतारने जैसा लगता है
    प्रमुख projects में ffmpeg(codec specs), qEmu(instruction set specs), QuickJS(EcmaScript spec), tinyC(C spec), telecoms(LTE spec) शामिल हैं, और π calculation व neural network का काम अपवाद के क़रीब है
    इसका यह मतलब नहीं कि वह कम प्रभावशाली है; high-performance codec और emulator implementations कभी आसान नहीं होते, लेकिन यह देखना रोचक है कि बहुत सा काम तुलनात्मक रूप से संकरे domain में केंद्रित है

    • यह समझना चाहिए कि संचार specifications, जहाँ encoder/decoder की जोड़ी channel के माध्यम से संवाद करती है, आम तौर पर सिर्फ encoder को परिभाषित करती हैं
      standards तकनीकी प्रगति और implementation competition के लिए decoder को जानबूझकर खुला छोड़ते हैं, और decoder को channel के noise व effects को संभालना पड़ता है, इसलिए वह आम तौर पर अधिक जटिल होता है
      इसलिए प्रतिस्पर्धी standards-compliant decoder implementation तयशुदा रास्ते पर चलने जैसा नहीं, बल्कि research and development के क़रीब होता है, और Bellard एक शुद्ध programmer से ज़्यादा programming करने वाले engineer लगते हैं
    • यह समझ कि कोई codec spec लिखता है और Fabrice Bellard बस उसे C में बदल देते हैं, पूरी तरह ग़लत है
      codecs अक्सर reverse engineering से implement किए जाते हैं, और कई मामलों में specification होती ही नहीं; documented codecs भी efficient encoding/decoding के तरीके नहीं बताते
      Bellard जैसे लोग वही efficient algorithms विकसित करते हैं
    • मूल रूप से spec, implementation और testing अलग-अलग क्षेत्र थे, और कभी-कभी अलग-अलग लोग उन्हें संभालते थे
      आजकल लोग इन तीनों को मिलाकर काम करते हैं, और मुझे लगता है कि नतीजा ठीक है
      बस आजकल बहुत से लोग इनमें से सिर्फ implementation ही करते दिखाई देते हैं
    • पहले code को outsource करने के लिए specifications पर बहुत समय लगाया जाता था
      अब ऐसा लगता है कि code पर बहुत समय लगाने के लिए specifications को outsource किया जाता है
    • अगर आप ffmpeg के साथ वास्तव में काम करें, तो इसकी architecture काफ़ी प्रभावशाली रूप से pluggable है
      codecs में बुनियादी concepts से ही कई विचलन और अपवाद होते हैं, audio·subtitle·video की दुनिया में “frame” का मतलब भी अलग-अलग होता है, और software व hardware coders के बीच frame पास करने के तरीके भी पूरी तरह अलग हैं
      इतने अलग-अलग संसारों की processing को लगभग मनचाहे ढंग से मिलाना एक बड़ी उपलब्धि है, और libav इसके लिए पर्याप्त रूप से काफ़ी अच्छी तरह डिज़ाइन किया गया लगता है
  • Bellard अब 20 साल से अधिक समय से FFmpeg में शामिल नहीं हैं, और वास्तव में यह 23 साल के क़रीब है
    उस समय FFmpeg में components और codecs के बीच code sharing framework नहीं था, इसलिए उनका code अच्छा नहीं था और उसमें spaghetti code जैसी गंध थी; अब उनका code लगभग बचा ही नहीं है
    आज का FFmpeg दूसरे developers की वजह से बना है, फिर भी उनके साथ ऐसा व्यवहार होता है मानो वही एकमात्र आजीवन benevolent dictator हों और बाकी developers ने बस उनके बुद्धिमान ढाँचे पर निर्माण किया हो
    अब वह जो करते हैं, वह बस trademark संभालना है और तय करना है कि कौन-सा project या leader FFmpeg नाम का उपयोग कर सकता है; वह पहले एक बार libav developers को बाहर कर किसी दूसरे dictator का साथ भी दे चुके हैं

    • संदर्भ नहीं भूलना चाहिए
      FFmpeg और Videolan की शुरुआत dorm room से हुई थी, और students उनका उपयोग dorm में TV stream करने और फ़िल्में साझा करने के लिए करते थे
      Polytechnique और École Centrale campuses एक-दूसरे से बस कुछ km दूर हैं, और दोनों projects लगभग 1997~1998 के आसपास शुरू हुए थे
      अगर मैं student होता, तो शायद साफ़ code लिखने से ज़्यादा beer पीने में व्यस्त रहता
    • यहाँ “copyright” नहीं बल्कि trademark की बात हो रही है
      copyright code लिखने वालों या उनके employers आदि के पास रहता है, क्योंकि copyright assignment की माँग नहीं की जाती
      यह कुछ वैसा ही है जैसे Linus Torvalds कुछ jurisdictions में “Linux” trademark रखते हैं, लेकिन अधिकतर copyright दूसरे contributors के पास है
    • 15 साल पहले के ffmpeg/libav ड्रामा पर यह comment मिला: https://www.reddit.com/r/linux/comments/vvdxn/comment/c57zdk...
      मैं ffmpeg को बहुत अच्छी तरह नहीं जानता, लेकिन यह दूसरी open source projects में जो मैंने देखा है उससे मेल खाता है
    • ffmpeg अब इतना सफल open source project है कि उसका श्रेय सिर्फ एक व्यक्ति को नहीं दिया जा सकता
      मुझे वह समय भी याद है जब AviDemux के पास ffmpeg से कहीं तेज़ और बेहतर H.264 encoder implementation थी
      open source की प्रकृति के अनुसार ffmpeg ने AviDemux का code आत्मसात कर लिया, और अंततः AviDemux ने भी प्रतिस्पर्धा करने के बजाय ffmpeg को backend के रूप में इस्तेमाल करने का व्यावहारिक विकल्प चुना
      इसे मैं open source भावना को अपनाने का अच्छा उदाहरण मानता हूँ
    • कोई भी समझदार व्यक्ति यह नहीं सोचेगा कि ffmpeg आज भी एक ही व्यक्ति, खासकर अकेले Fabrice, द्वारा maintain और develop किया जा रहा है
      शुरुआती दिनों में spaghetti code था या नहीं, यह बहुत महत्वपूर्ण नहीं है
      जब project का scope और future अभी स्पष्ट न हो, तब संभावित भविष्य की समस्याओं के चक्कर में पड़ने के बजाय spaghetti जैसी स्थिति से शुरू करना सही हो सकता है, और requirements को बेहतर समझने के बाद refactor किया जा सकता है
      समुदाय ने यही किया, और यह क़ाबिले-तारीफ़ है
  • Fabrice की वेबसाइट यहाँ देखी जा सकती है: https://bellard.org/
    वहाँ प्रोजेक्ट्स की पूरी सूची है

    • बेहतरीन प्रोग्रामर्स की personal website design भी अक्सर अच्छी होती है
      सब कुछ बहुत स्पष्ट है और अनावश्यक दोहराव बिल्कुल नहीं है
  • Bellard का ts_zip नाम का एक बहुत दिलचस्प प्रोजेक्ट है, जो एक LLM-आधारित compression algorithm है
    यह सिर्फ़ एक “experiment” है और इसे production environment में इस्तेमाल नहीं करना चाहिए, लेकिन यह बहुत चतुर है
    वेबसाइट का विवरण भी मज़ेदार है: “The ts_zip utility can compress (and hopefully decompress) text files using a Large Language Model”
    https://bellard.org/ts_zip/

    • अगर decompression optional हो, तो मुझे भी एक सचमुच प्रभावशाली compression algorithm सूझता है
    • दरअसल LLM ठीक वैसी ही चीज़ है
      मेरे दिमाग़ में इसका model, और बच्चों को समझाने के लिए मेरी analogy, यह है कि “पूरे इंटरनेट को zip जैसे archive में compress कर दिया गया है, और उसके भीतर data ढूँढने का एक बहुत चतुर और efficient तरीका है”
      मैं इतना पुराना हूँ कि वह समय याद है जब Wikipedia को CD पर मंगाया जाता था, और उस समय और आज LLM download करने के बीच मुझे बहुत बड़ा फ़र्क महसूस नहीं होता
    • competitive compression algorithms का एक क्षेत्र है जहाँ समय और computation cost की परवाह नहीं की जाती
      कुछ लोगों ने ऐसे compressors बनाए हैं जिन्हें test corpus को compress करने में कई घंटे, शायद कई दिन लगते हैं
      इस क्षेत्र में एक पुराना मज़ाकिया upper bound यह है कि compression “AI-complete” है; जैसे Shakespeare के संपूर्ण कार्यों के text को compress करने के बजाय सिर्फ़ “The Complete Works of Shakespeare” encode कर दिया जाए और एक AI decompressor उस prompt से output को फिर से generate कर दे
      LLM के आने से Bellard ने मानो उस मज़ाक को सच कर दिया है
  • “Fabrice Bellard” by Andy Gocke and Nick Pizzolato
    https://www.ipaidia.gr/wp-content/uploads/2020/12/117-2020-f...

    • सोचता हूँ क्या वह Nick Pizzolato वही व्यक्ति है जिसने True Detective लिखा था
    • यह काफ़ी पुरानी सामग्री है, क्योंकि उसके बाद उसने और भी बहुत काम किया है
    • अगर यह HN पर कभी submit नहीं हुआ, तो इसे submit करना चाहिए
  • मैं सोचता था कि अगर किसी जानकार व्यक्ति से पूछा जाए, “जीवित लोगों में सबसे बुद्धिमान व्यक्ति कौन है?”, फिर उस व्यक्ति द्वारा बताए गए व्यक्ति से भी वही सवाल पूछा जाए, और यह सिलसिला चलता रहे, तो क्या आखिरकार हम उसी छोटे प्रतिभाशाली समूह तक पहुँचेंगे
    अगर बात जीवित सबसे अच्छे coder की हो, तो शायद Carmack से शुरुआत की जा सकती है, और फिर अगला नाम Bellard का होना चाहिए
    बस उम्मीद है कि Bellard का जवाब फिर से Carmack न हो

    • Manhattan Project के वैज्ञानिकों और physicists का पीछा करते-करते अंत में जवाब John von Neumann पर जाकर रुकने वाली एक मिलती-जुलती कहानी है
    • Apple में काम करते समय मेरे कुछ सहकर्मियों में से तुरंत चुन लेने लायक़ लगभग दस लोग याद आते हैं
  • मैंने पहली बार उसकी तस्वीर देखी, और थोड़ा ऐसा लगा जैसे privacy बचाकर और ध्यान से दूर रहकर जीने वाले Satoshi Nakamoto की पहचान उजागर हो गई हो
    उससे यह impression मिलता है कि बड़े इंटरनेट पर घुलने-मिलने की बजाय उसके पास हमेशा गहराई से सोचने और कठिन समस्याएँ सुलझाने का बेहतर काम रहा है
    उसका काम अपने आप में सम्मानजनक है, लेकिन उसकी work ethic और भी ज़्यादा प्रशंसनीय है
    अगर आपके पास मज़बूत vision हो, तो इंटरनेट पर अजनबियों से दिन भर बहस करने और अपने choices defend करने की बजाय ivory-tower style development की ज़रूरत होती है

    • उसने कभी अपनी पहचान छिपाई नहीं
      ढूँढने पर उसकी तस्वीर मिल सकती थी
      उसकी तुलना Satoshi से नहीं करनी चाहिए
      मेरे पास Bitcoin नहीं है और न ही उसमें दिलचस्पी है, लेकिन वह नाम मूल दस्तावेज़ में छपा हुआ एक दंतकथा जैसा अस्तित्व है
      Fabrice Bellard code जारी करने वाला एक वास्तविक व्यक्ति है, कोई internet-anonymous identity नहीं
    • Bellard Mozart है, और हममें से ज़्यादातर लोग Salieri बन पाना भी मुश्किल से कर पाएँगे
    • Carmack और Bellard दोनों ही मिथकीय व्यक्तित्व बन चुके हैं
      दोनों महान हैं, लेकिन जैसे ही उनके नाम आते हैं, लोग उनके वास्तविक काम से ज़्यादा यह कहने लगते हैं कि “वे क्या सोचते” जैसी अजीब अपेक्षाएँ क्या होंगी
      ऐसी myth-making उल्टा उनकी उपलब्धियों को छोटा करके दिखाती है
    • यह अफ़सोस की बात है कि उसने “Burguer” Rebecca Ann Heineman के लिए वही सम्मान नहीं दिखाया
    • मैं उसकी कल्पना एक ऐसे व्यक्ति के रूप में करता था जो शायद रूखा हो, लंबे बाल हों, टैटू हों, और भारी-भरकम, दबदबे वाला लगे
      तस्वीर ने वह कल्पना तोड़ दी, और अब मैं अपनी कल्पना वापस चाहता हूँ
  • “आज FFmpeg इंटरनेट का invisible engine है” जैसी अभिव्यक्ति का मतलब समझ आता है, लेकिन मुझे यह अतिशयोक्ति बहुत नापसंद है
    अगर FFmpeg अचानक गायब हो जाए, तो इंटरनेट बिल्कुल ठीक रहेगा
    जिन कंपनियों की products उसके core में उस पर निर्भर हैं, उन्हें मुश्किल हो सकती है, लेकिन इंटरनेट ख़ुद और ज़्यादातर websites तथा internet services फिर भी ठीक चलती रहेंगी

    • यह LLM के लिखने का तरीका है
      वह tweet/post LLM ने लिखा था, और वह इसी तरह लिखता है
    • YouTube और porn के बिना क्या वह सचमुच इंटरनेट कहलाएगा?
    • अगर इसे उन चीज़ों का invisible engine कहा जाए जो आज के इंटरनेट का बड़ा हिस्सा बनाती हैं, तो मुझे नहीं लगता कि यह अतिशयोक्ति है
      कल का इंटरनेट अलग हो सकता है
  • यह थोड़ा tangent है, और downvote का जोखिम लेकर कह रहा हूँ, लेकिन हाल का X-article trend बेहद परेशान करने वाला है
    mobile पर देखने के लिए actual लेख तक पहुँचने में 3-4 steps लगते हैं, और वे लेख हमेशा LinkedIn posts की तरह कम attention span वाले पाठकों की engagement के लिए ज़रूरत से ज़्यादा optimized लगते हैं
    ऊपर से, इस X post और Bellard की अपनी वेबसाइट के बीच का तीखा contrast अपने आप में विडंबनापूर्ण है

    • यह थोड़ा दुखद है कि जो लोग पहले से tech industry में बड़े VIP हैं, वे ऐसे tweets लिखने में समय लगाते हैं, या उससे भी बुरा, उन्हें लिखवाने के लिए PR company hire करने की ज़रूरत महसूस करते हैं
      उसी net worth वाले दूसरे industries के celebrities के लिए यह आम बात हो सकती है, लेकिन मुझे यह अजीब लगता है