1 पॉइंट द्वारा GN⁺ 2023-08-11 | 2 टिप्पणियां | WhatsApp पर शेयर करें
  • Microsoft Teams में टीम, चैनल, चैट, मीटिंग और फाइल शेयरिंग के लिए काफ़ी विस्तृत operational limits हैं, और चैनल नामों में CON, PRN, AUX, NUL, COM1~COM9, LPT1~LPT9 जैसे MS-DOS डिवाइस नाम इस्तेमाल नहीं किए जा सकते
  • प्रति टीम members की सीमा 25,000, प्रति user team membership की सीमा 1,000, और प्रति टीम channels की सीमा 1,000 है; deleted channels भी 30 दिन की recovery अवधि के दौरान सीमा में गिने जाते रहते हैं
  • चैट के लिए private chat में 250 लोग, chat-based audio/video call में 20 लोग, 10 attachments, और 100MB फाइल मानक हैं; 20 लोगों से ज़्यादा होने पर calling, typing indicator, read receipts जैसी सुविधाएं बंद हो जाती हैं
  • मीटिंग plan के अनुसार अधिकतम 300 या 1,000 लोगों तक होस्ट की जा सकती है, Teams meetings, webinars और town halls पर 30 घंटे की सीमा है, और breakout rooms केवल 300 से कम लोगों वाली meetings में बनाए जा सकते हैं
  • फाइल शेयरिंग SharePoint और OneDrive for Business पर निर्भर करती है, इसलिए जिन tenants में SharePoint disabled है वहां पाबंदियां आती हैं; Teams files के लिए प्रति site या group 25TB, और file upload के लिए प्रति file 250GB तक संभव है

टीम और चैनल limits

  • कोई user कितनी teams बना सकता है, यह Microsoft Entra ID की 250 objects limit का पालन करता है, और global admins इस सीमा से बाहर हैं
  • कोई user member के रूप में अधिकतम 1,000 teams में शामिल हो सकता है, archived teams सहित
  • टीम-स्तर की मुख्य limits इस प्रकार हैं
    • Members: 25,000
    • Owners: 100
    • Org-wide teams: प्रति tenant 5
    • Org-wide team members: 10,000
    • Microsoft 365 या Office 365 organization में teams की संख्या: 500,000
    • Global admin द्वारा बनाई जा सकने वाली teams की संख्या: 500,000
  • प्रति team अधिकतम 1,000 channels हो सकते हैं, जिनमें standard channels और shared channels के संयोजन के साथ अधिकतम 30 private channels शामिल हैं
  • Deleted channels को 30 दिनों तक restore किया जा सकता है, और इस अवधि में वे प्रति team channel limit और private channel limit में गिने जाते रहते हैं
  • Channel conversation posts प्रति post लगभग 100KB तक हो सकते हैं, जिसमें body, image links, @mentions, connectors की संख्या, और reactions शामिल हैं
    • base64-encoded images 100KB limit में शामिल नहीं हैं

Shared channel constraints

  • Shared channels प्रति team अधिकतम 1,000 तक हो सकते हैं, और deleted channels 30 दिन की recovery अवधि के दौरान शामिल रहते हैं
  • एक shared channel को parent team को छोड़कर अधिकतम 50 teams के साथ share किया जा सकता है
  • Shared channel members सीधे 5,000 members तक हो सकते हैं, और shared teams को limit calculation में प्रति team 1 member के रूप में गिना जाता है
    • Real-time updates एक बार में केवल 25,000 लोगों को दिए जाते हैं
    • Channel list में केवल 25,000 लोग दिखते हैं
  • External participants के लिए केवल Microsoft Entra work or school accounts supported हैं
  • Shared channels tabs support करते हैं, लेकिन Stream, Planner और Forms शामिल नहीं हैं
  • Bots, connectors और message extensions shared channels में supported नहीं हैं
  • Org-wide teams को shared channel member के रूप में add नहीं किया जा सकता
  • Existing team से नई team बनाते समय existing team के shared channels copy नहीं होते
  • Shared channel notifications missed activity emails में शामिल नहीं होते
  • Shared channels class teams में supported नहीं हैं

चैनल नामों के लिए forbidden rules

  • Channel names में ये characters इस्तेमाल नहीं किए जा सकते
    • ~ # % & * { } + / \ : < > ? | ' " , ..
  • ये character ranges भी इस्तेमाल नहीं की जा सकतीं
    • 0~1F
    • 80~9F
  • ये words channel names में इस्तेमाल नहीं किए जा सकते
    • forms
    • CON, CONIN$, CONOUT$
    • PRN, AUX, NUL
    • COM1~COM9
    • LPT1~LPT9
    • desktop.ini
    • _vti_
  • Channel name underscore _ या period . से शुरू नहीं हो सकता, और period . पर खत्म नहीं हो सकता

Messaging और chat

  • Teams chat list में शामिल conversations participants के Exchange Online mailbox में store होती हैं
  • Admins को chat conversations search या preserve करने के लिए participants के पास cloud-based Exchange Online mailbox होना चाहिए
    • Exchange hybrid deployment में on-premises mailbox users Teams chat में participate कर सकते हैं
    • इस स्थिति में उस conversation content को search या preserve नहीं किया जा सकता
  • Private chat की मुख्य limits इस प्रकार हैं
    • People: 250
    • एक बार में group chat में add किए जा सकने वाले members: 200
    • Chat से शुरू की गई audio/video call: 20 लोग
    • Attachments: 10
    • File size: 100MB
    • Chat post size: लगभग 100KB
  • Chat में लोगों की संख्या 20 से ज़्यादा होने पर ये features बंद हो जाते हैं
    • Outlook automatic replies और Teams status message
    • Typing indicator
    • Audio/video call
    • Sharing
    • Read receipts
    • Set Delivery Options button
  • Message delivery success rate बढ़ाने के लिए message itself का size 80KB के भीतर रखने की सलाह दी जाती है
  • Trial subscription tenants को abuse prevention के लिए अधिक सख्त messaging limits मिल सकती हैं, और limits बिना notice adjust की जा सकती हैं
  • External access में केवल trusted domains allow करने वाले admins अधिकतम 4,000 trusted domains add कर सकते हैं

Channel email

  • Channel email address पर भेजी गई mail channel का हिस्सा बन जाती है, और कोई भी reply करके conversation शुरू कर सकता है
  • Channel को email भेजते समय limits इस प्रकार हैं
    • Message size: 24KB
    • Attachments: 20
    • प्रति attachment size: 10MB से कम
    • Inline images: 50
  • Limit पार होने पर behavior बदलता है
    • Message 24KB से बड़ा होने पर preview message बनता है, और users को दिए गए link से original email download करके देखनी होती है
    • Attachments या images की संख्या limit से ज़्यादा होने पर error message दिखता है
  • Channel email पर rate limits लागू होती हैं
    • प्रति channel, प्रति user 10 seconds में 6 emails
    • प्रति tenant, प्रति user 10 seconds में 8 emails
  • Channel email Office GCC/GCCH/DOD organizations के लिए Teams में उपलब्ध नहीं है

Meetings और calls

  • Microsoft 365 Business Basic, Business Standard, Business Premium, Microsoft Teams Essentials, Microsoft 365 A1 plans Teams online meetings और video calls अधिकतम 300 लोगों तक host कर सकते हैं
  • Microsoft 365 F1/F3/E3/E5/A3/A5/G3/G5, Office 365 E1/E3/E5/A3/A5/G1/G3/G5, Microsoft Teams EEA plans में limit अधिकतम 1,000 लोगों तक बढ़ जाती है
  • Meeting-related मुख्य limits इस प्रकार हैं
    • Chat से शुरू की गई audio/video call: 20 लोग
    • PowerPoint file maximum size: 2GB
    • Microsoft Stream पर upload नहीं हुई meeting recording के local download की उपलब्ध अवधि: 20 दिन
    • Meeting recording maximum length: 4 घंटे या 1.5GB
  • Recording maximum length या capacity पर पहुंचने पर recording खत्म होती है और automatically फिर से शुरू होती है
  • Breakout rooms केवल उन meetings में बनाए जा सकते हैं जिनमें attendees 300 से कम हों
    • Breakout rooms बनाने पर meeting attendees की संख्या automatically 300 तक सीमित हो जाती है
  • Teams meetings, webinars और town halls पर 30 घंटे की time limit है

Meeting expiration

  • Meeting expiration PSTN dial-in numbers, CVI coordinates, default meeting policies और settings पर लागू होता है
  • Expiration से पहले meeting join करने या meeting update होने पर, Meet now meetings को छोड़कर, expiration limit में 60 दिन जुड़ जाते हैं
  • Public preview के अनुसार, new links और meetings conditions के आधार पर expire होते हैं, और expire होने के बाद link से join नहीं किया जा सकता
    • Scheduled one-time meeting: scheduled meeting time के 60 दिन बाद
    • Calendar या channel में scheduled Meet now: link creation के 60 दिन बाद
    • Group chat में scheduled Meet now: लागू नहीं
    • End date वाली recurring meeting: end date से 60 दिन या last occurrence से 60 दिन, इनमें से जो लंबा हो
    • End date के बिना recurring meeting: last access, participation, या meeting update के 1 year बाद

Live events

  • Teams live events जुलाई 2026 में खत्म किए जाने वाले हैं
    • पहले से scheduled events 28 फरवरी 2027 तक supported रहेंगे
    • Microsoft बड़े digital/hybrid events के लिए Teams town hall इस्तेमाल करने की सलाह देता है
  • Default live event limits इस प्रकार हैं
    • Attendees: maximum 10,000
    • Event length: 4 hours
    • Microsoft 365 या Office 365 organization में simultaneously चल सकने वाले live events: 15
  • जैसे ही producer live event में join करता है, वह event running माना जाता है
    • 16वें live event में join करने की कोशिश करने वाले producer को error मिलेगा
  • Temporary limit increase अगली notice तक extended है
    • Attendees maximum 20,000
    • Tenant-wide simultaneous events 50
    • प्रति broadcast 16 hours
  • Microsoft 365 assistance program के जरिए अधिकतम 100,000 attendees वाले live event की planning की जा सकती है, और team हर request का assessment करके possible options तय करती है

Storage और file sharing

  • हर Teams team के पास SharePoint team site होती है, और हर channel के लिए default team site document library के अंदर folder बनाया जाता है
  • Conversations में shared files automatically document library में add होती हैं, और SharePoint में set permissions और file security options Teams में reflect होते हैं
  • हर private channel की अलग SharePoint site होती है
  • अगर tenant में SharePoint enabled नहीं है, तो Teams users हमेशा team में files share नहीं कर सकते
  • Private chat में files share करने के लिए SharePoint license से जुड़ा OneDrive for Business चाहिए
  • Teams file sharing SharePoint backend पर काम करता है, इसलिए Teams के Files section पर SharePoint limits लागू होती हैं
  • दिखाए गए plans की storage limits इस प्रकार हैं
    • प्रति organization 1TB + खरीदे गए प्रति license 10GB
    • Office 365 Enterprise F1 के लिए प्रति organization 1TB
    • Teams Files के लिए प्रति site या group अधिकतम 25TB
    • File upload limit प्रति file 250GB
  • Channels team के SharePoint site में folders से backed होते हैं, इसलिए channel का files tab अपनी team की storage limit share करता है

Education class teams और tags

  • Microsoft Teams for Education classroom teaching जैसे education scenarios के लिए templates देता है
  • Class team usage के लिए Office 365 Education license चाहिए
  • Class teams general team member limits का पालन करती हैं, लेकिन कुछ apps पर अलग limits हैं
    • Assignments app usage: 1,000 members
    • OneNote Class Notebook app usage: 300 members
  • Class teams अधिक members support कर सकती हैं, लेकिन अगर Assignments या Class Notebook इस्तेमाल करने की योजना है तो ऊपर दी गई limits के नीचे रखना चाहिए
  • Tag limits इस प्रकार हैं
    • प्रति team tags: 200
    • प्रति team suggested default tags: 25
    • किसी tag को assign किए जा सकने वाले team members: 200
    • प्रति user, team के भीतर assigned tags: 25

Contacts और browser support

  • Teams organization के Active Directory contacts और user के Outlook default folder में add किए गए contacts का इस्तेमाल करता है
  • Teams users organization की Active Directory में मौजूद किसी से भी communicate कर सकते हैं, और Chat > Contacts या Calls > Contacts से contact list में add कर सकते हैं
  • Organization Active Directory में न होने वाले लोगों को भी Calls > Contacts से contact के रूप में add किया जा सकता है
  • Outlook में Teams presence Outlook 2013 desktop app या उसके बाद के versions में supported है
  • Browser support feature के अनुसार अलग-अलग है
    • Internet Explorer 11 calls support नहीं करता, और PSTN coordinates वाली meetings को ही limited support करता है
    • Latest Microsoft Edge Chromium और Google Chrome calls और meetings को fully support करते हैं
    • Firefox calls support नहीं करता लेकिन meetings support करता है, और full support के लिए OpenH264 plugin चाहिए
    • Safari version के अनुसार 1:1 calls, video और sharing support का scope बदलता है
  • Browser में Teams meetings single stream तक limited हैं, और current speaker की incoming video या screen sharing में से केवल एक ही दिखता है
  • Sharing के दौरान control देना-लेना हो, तो दोनों तरफ Teams desktop client इस्तेमाल होना चाहिए; browser में यह supported नहीं है

2 टिप्पणियां

 
xguru 2023-08-11

लगता है Windows के साथ backward compatibility की वजह से ऐसा किया गया है।

लेकिन शायद आजकल के developers COM, LPT, PRN जैसी चीज़ों के बारे में नहीं जानते होंगे, haha।

"Hard disk C से ही क्यों शुरू होती है?" जैसे सवाल भी अक्सर दिख जाते हैं..

 
GN⁺ 2023-08-11
Hacker News की राय
  • 1998 के आसपास, एक किशोर Linux fanboy के तौर पर मैं LAN parties में अपना Linux box लेकर जाता था, और वह सच में ठीक चलता था
    उस समय WINE लगभग Starcraft सपोर्ट के लिए ही मौजूद था, Quake 2 native चलता था, और इन दोनों से लोगों द्वारा खेले जाने वाले 95% games कवर हो जाते थे
    एक बार मुझे लगा कि एक shell script चलाना मज़ेदार होगा जो network के सभी Windows shares पर जाकर CON/CON खोलने की कोशिश करे; हर machine ने तुरंत blue screen दिखा दी, और दोस्तों को अजीब तरह से यह मज़ेदार नहीं लगा

    • उस दौर की याद आ गई। हर LAN meetup में ऐसा एक दोस्त ज़रूर होता था
      अगर वह मेरे BSD दोस्त की तरह network problems हल करने में अच्छा होता और extra CAT-5 cables हमेशा साथ रखता, तो शायद इसकी भरपाई हो जाती
    • क्या वह IPX पर था? मुझे Linux में IPX set up करने की याद नहीं है
      जब मैं Wine पर Starcraft चलाने जितना Linux इस्तेमाल कर रहा था, तब तक शायद वह IP support करता था
    • यह कहानी सच में बढ़िया है। मुझे नहीं पता था कि WINE इतना पुराना है और Starcraft जैसे games भी चला सकता था
      दोस्तों के साथ Starcraft खेलने की मेरी बहुत अच्छी यादें हैं, और उस game की उम्र इतनी लंबी थी कि मैं middle school में उसमें डूबा और फिर college में दोबारा उसमें डूब सका
    • LAN party में लोगों पर ping flood छोड़ना, वह hacking जो कोई भी कर सकता था, सबसे अच्छा था
      पुराने अच्छे दिनों की याद है
    • वह golden age थी। पता नहीं हम अलग थे, या हमारे आसपास की दुनिया अलग थी
  • इसकी वजह शायद यह है कि Windows file system में ऐसे नाम files या folders के लिए इस्तेमाल नहीं किए जा सकते
    MS Teams channels SharePoint में एक corresponding folder बनाते हैं, जहां file attachments store होते हैं

    • Microsoft को लगता है कि जब कोई समस्या मिलती है तो वे सोचते हैं, “ठीक है, इसे SharePoint के ऊपर बना देते हैं”
    • मैं एक ऐसे bank में काम करता था जो Windows-based trading system इस्तेमाल करता था, और किसी वजह से हर book की details रखने वाले folders बनाए जाते थे
      जब एक trader ने book का नाम LPT1 रखा, तब problem हुई
    • लगता है यहाँ भी कोई और vulnerability हो सकती है। हालांकि वे % और .. को भी blacklist करते दिखते हैं
    • corresponding Active Directory group भी बनाया जाता है
      users को support ticket खोले बिना resource access permissions manage करने देने का यह बहुत आसान तरीका है, इसलिए इसका इस्तेमाल करना काफी ठीक है
    • SharePoint ने Microsoft के अंदर बहुत गहरे पंजे गड़ा रखे हैं, और हमेशा उनका Achilles' heel बना रहेगा
  • पहले मैं कहने वाला था, “क्या यह अंदर किसी भयानक चीज़ के होने की बात लगभग leak करने जैसा नहीं है? सार्वजनिक रूप से ऐसा कहना शर्मनाक होना चाहिए। यह कहने जैसा है कि %s या $PS1 इस्तेमाल नहीं कर सकते—क्यों नहीं? user input के साथ आखिर कर क्या रहे हो?”
    लेकिन यह भी हो सकता है कि channel name को दूसरी जगहों पर कैसे handle किया जाएगा, यह समस्या हो। लोग उसे कहीं भी copy-paste कर सकते हैं, और शायद यह उम्मीद नहीं की जा सकती कि Windows users cmd, PowerShell, WSL में paste करते समय अपनी string को खुद escape करेंगे
    Teams code खुद शायद इसे ठीक से handle कर सकता है, लेकिन channel names से deal करने वाले बाहर के अनगिनत अज्ञात और ढीले-ढाले tools समस्या हो सकते हैं
    दूसरों ने channel से जुड़े SharePoint folder की ओर इशारा किया है, लेकिन directory के लिए safe version बनाने हेतु escape/transform/encode करना आसान है, इसलिए निजी तौर पर मैं इसे माफ़ करने को तैयार नहीं हूँ। हालांकि कहीं पर channel name और directory name का identical होना महत्वपूर्ण हो सकता है
    अगर यह सिर्फ app के अंदर इस्तेमाल हो, तो channel name और directory name को उसी तरीके से encode/decode करके user से पूरी तरह छिपाया जा सकता है, लेकिन अगर directory को app के बाहर भी इस्तेमाल करना हो, तो URL encoding जैसी चीज़ ज्यों की त्यों दिखेगी और खराब लगेगी
    आखिरकार directory name को बाकी हर चीज़ के लिए safe होना चाहिए, इसलिए channel name को भी वैसा ही होना होगा। कभी-कभी बदसूरत directory names रखने के बजाय उन्होंने यह restriction चुना; अंत में यह safety या breakage issue से ज्यादा appearance issue जैसा है। जिन characters को encoding चाहिए होती, उन्हें पूरी तरह allow नहीं किया जाता, इसलिए सभी directories हमेशा natural और अच्छी दिखती हैं

    • अगर कभी raw DNS NXDOMAIN passive DNS (PDNS) feed देखने का मौका मिले, तो उसमें बहुत सारी टूटी हुई चीज़ें मिलती हैं, और उनमें से कुछ काफी डरावनी होती हैं
      name services को एक-दूसरे में translate करते समय ऐसा होता है। name services का आमतौर पर scope होता है, और एक context का name दूसरे context में अलग तरह से interpret होता है
      Bobby Tables तो मशहूर है, लेकिन special file name -rf का क्या? एक समय Active Directory का normal path file shares जैसी जगहों पर DNS domain names पर लगभग implicit trust करता था। जब तक यह एहसास न हो कि उस “drive” में executable files हो सकती हैं, तब तक यह ठीक लगता है
      सच कहूँ तो मुझे उस document में MS-DOS string नहीं मिली। Edit: CON, LPT1 जैसे references मिले
    • यह बस SharePoint folder name restriction का ऊपर तक दिखाई देना है। इसमें कुछ खास नहीं है
    • “users अपनी string escape करेंगे, ऐसी उम्मीद नहीं की जाती”—किस system के users कभी ऐसी उम्मीद पर खरे उतरने लगे हैं? वह utopian system आखिर कहाँ है?
    • AWS में लगभग हर चीज़ पर character restrictions हैं
      SQS message body में भी कौन-से whitespace characters इस्तेमाल किए जा सकते हैं, इस पर restriction है
    • यह SharePoint restriction है। Teams, SharePoint पर आधारित है, और यह न तो कोई secret है और न ही शर्म की बात
  • ज़्यादातर chat/meeting apps आखिरकार इतने खराब क्यों हो जाते हैं? मुझे वह समय भी याद है जब Teams एक ठीक-ठाक app था। उसका Linux desktop client भी था
    वह समय भी याद है जब Slack सचमुच तेज़ था, और Skype out मेरे मोबाइल calls से ज़्यादा भरोसेमंद था
    अब Slack में कुछ ही organizations जोड़ दें तो वह बेहद धीमा हो जाता है। फिर भी कम से कम एक से ज़्यादा जोड़ तो सकते हैं
    Teams ने Linux desktop client बंद कर दिया, और Linux पर इस्तेमाल करने के लिए Chrome से गुजरना पड़ता है। लेकिन Office365/SharePoint के हिस्से के तौर पर इस्तेमाल करें तो “कुछ” SharePoint links के लिए Firefox चाहिए होता है
    अंत में हमेशा 2 browsers चाहिए होते हैं। Teams की screen sharing और video के लिए Chrome, और कुछ SharePoint links के लिए Firefox इस्तेमाल करना पड़ता है

    • यकीन करना मुश्किल होगा, लेकिन chat/meeting apps WeChat जैसे everything app की ओर जाने का सबसे आसान gateway हैं
      आखिरकार chat/meeting app इंटरनेट का छोटा रूप ही है
      Chat app बढ़िया है, लेकिन अगर audio clips भी भेज और share कर सकें तो? video clips भी, live video भी, पैसे भी, meetings भी, calendar invites भी, food delivery requests भी, game sessions भी, X भी share कर सकें तो? यही सिलसिला आगे बढ़ता है
      X की कोई सीमा नहीं है। Internet X share करने के बारे में है, और chat app भी X share करने के बारे में है, इसलिए असल में यह कितना बड़ा होगा इसकी कोई सीमा नहीं है
    • मूल बात यह है कि शुरू से ही इसे खराब और सरल बनाया जाए। IRC आज भी 30 साल पहले की तरह ही उतने ही बेढंगे ढंग से काम करता है
    • कुछ हद तक इसकी वजह लगातार features जोड़ने का दबाव लगता है
      Chat और video चल रहे हैं, लेकिन background blur भी डाल दें तो? धत्, Zoom में polls हैं, तो हमें भी polls डालने होंगे। अगर इसी तरह features उंडेलने हैं और तेज़ी से iterate करना है, तो Electron इस्तेमाल कर लेना भी ठीक है—बात कुछ ऐसी ही है
    • Market app के usable होने भर पर performance को नहीं, बल्कि features और integrations को reward करता है। Developers development करते हैं… नहीं, features, features, features बनाते हैं
    • एक फुर्तीली और productive startup team वह app बनाती है जिसे सब पसंद करते हैं, फिर बहुत funding मिलती है, और वे हजारों गैर-ज़रूरी software developers hire कर लेते हैं
      फिर उनके लिए काम ढूँढना पड़ता है
  • यह बहुत अच्छा है। मुझे यह पसंद है कि यह नई चीज़ 90s के बिल्कुल शुरुआती दौर में, 086 या 286 पर चलने वाले MS-DOS के शुरुआती दिनों की याद दिलाती है
    Microsoft की backward compatibility के obsession की इज़्ज़त करनी चाहिए। जैसे असंभव कल्पना कि MS Teams का native port MS-DOS 3.1 के लिए बनाया जाएगा। थोड़ा ज़्यादा plausible यह कल्पना हो सकती है कि MS Teams server किसी प्राचीन, अजीब proprietary MS-DOS 3.1 mainframe पर चल रहा है, लेकिन वह भी बेमानी ही है
    मुझे पता था कि device name वाली यह restriction Windows file names पर भी लागू होती है, इसलिए अगर आप मज़ा कम खोजने वाले स्वभाव के हैं तो यह बहुत चौंकाने वाला नहीं है। लेकिन अगर आपको मज़ा पसंद है, तो ऊपर वाली कल्पना कर सकते हैं
    संबंधित link: https://learn.microsoft.com/en-us/microsoftteams/limits-spec...

    • “90s के बिल्कुल शुरुआती दौर में MS-DOS का 086 या 286 पर चलना” लगभग 10 साल गलत है
      MS-DOS 80s की शुरुआत में 8086 पर चल रहा था
    • चौंकाने वाला तो है। WSL में ऐसी files बना सकते हैं, लेकिन Windows में उन्हें बना या delete नहीं कर सकते, इसलिए यह बात बेमेल है
      Windows 10 या 11 में अब DOS layer भी नहीं है, और बात ज़्यादा यह है कि Microsoft ऐसी problems ठीक करने का इरादा नहीं रखता
    • Backward compatibility तारीफ़ के लायक लक्ष्य है, और उस कोशिश की कद्र है
      बस उम्मीद है कि इसमें passwords को हास्यास्पद रूप से छोटी length या बेहूदा तौर पर सीमित character set तक restrict करना शामिल न हो
  • “Windows 7”, “8” के बाद “9” छोड़कर “10” होने की वजह के बारे में वह अफवाह याद आती है कि उन्हें डर था codebase में कहीं ऐसा code होगा
    if(version.StartsWith(“Windows 9”)) { /* 95 and 98 */ ... }

    • क्या Windows version कभी Windows API में string के रूप में expose हुआ है?
      मुझे Windows का अनुभव नहीं है, लेकिन यह थोड़ा अजीब लगता है। एक तरफ Microsoft backward compatibility के लिए ऐसा कर सकता है, दूसरी तरफ यह provide करने के लिए अजीब API भी लगता है
      मुझे GetVersion[1] मिला, लेकिन यह version को दो numbers के रूप में return करता है
      [1] https://learn.microsoft.com/en-us/windows/win32/api/sysinfoa...
  • प्रतिबंधित शब्द: forms, CON, CONIN$, CONOUT$, PRN, AUX, NUL, COM1 से COM9, LPT1 से LPT9, desktop.ini, _vti_

    • पहले मैं कहने वाला था, “क्या यह लगभग यह leak नहीं कर रहा कि अंदर कुछ भयानक चल रहा है? सार्वजनिक रूप से ऐसा कहना शर्मनाक होना चाहिए। यह कहने जैसा है कि %s या $PS1 इस्तेमाल नहीं कर सकते—क्यों नहीं? user input के साथ आखिर कर क्या रहे हो?”
      लेकिन यह इस बारे में भी हो सकता है कि channel names को कहीं और कैसे handle किया जाएगा। लोग उन्हें कहीं भी copy-paste कर सकते हैं, और लगता नहीं कि Windows users से यह उम्मीद की जाती है कि वे cmd, PowerShell, WSL में paste करते समय अपनी strings को खुद escape करेंगे
    • 90s के मध्य में एक छोटा और मज़ेदार दौर था जब mIRC जैसे IRC clients को DCC के जरिए files अपने-आप receive करने के लिए configure किया जा सकता था
      और वे LPT1 जैसे नामों पर भी खुशी-खुशी लिख देते थे, और ज़ाहिर है वह data सीधे receiver के printer पर निकल जाता था
    • सोच रहा हूँ कि क्या सच में LPT9 वाली machines थीं। COM9 को तो मुश्किल से imagine कर सकता हूँ
  • यूज़र डेटा को structure करते समय सामान्य tip यह है कि संभव हो तो उसे opaque blob की तरह treat करें
    कल्पना करें कि वह encrypted है, इसलिए output करना भी और इंसान के लिए पढ़ना भी असंभव है
    forms, CON, CONIN$, CONOUT$, PRN, AUX, NUL, COM1 से COM9, LPT1 से LPT9, desktop.ini, _vti_
    अगर यूज़र input सीधे file system में जा रहा है और इसलिए आपको ऐसी चीज़ों को restrict करना पड़ रहा है, तो मामला बिगड़ चुका है। यूज़र input को सीधे इस्तेमाल करने के बजाय उसे कोई सुरक्षित ID देनी चाहिए थी। वह uuid4 हो सकता है, या channel name का digest जैसी कोई चीज़ हो सकती है
    जब कोई कहता है “यह character इस्तेमाल नहीं किया जा सकता”, तो मुझे उसमें गड़बड़ की बू आती है। अपने-आप लगता है, “क्यों नहीं? कहीं इसे unencoded plain text के रूप में इस्तेमाल तो नहीं किया जा रहा?” Password, username, comment जैसी वे चीज़ें जो webpage पर दिखाई जाएँगी, इसके उदाहरण हैं
    हालांकि यह सब बस एक गलत तरह का Easter egg भी हो सकता है। शायद बस थोड़ा मज़ा डालने की कोशिश में बात उलझ गई हो

  • खराब तो है, लेकिन ईमानदारी से लक्ष्य क्या है? क्या लोगों को channel name सहित कुछ भी नाम रखने देना है? जैसे "rm -rf /*" जैसा नाम
    इससे भी बेहतर है। उस rm -rf को RLO left-to-right override character से fr- mr जैसा दिखने के लिए लिखना
    क्या सच में इसे लक्ष्य बनाना चाहिए? यह मानकर कि कोई समस्या नहीं होगी?
    शुक्र है Linux में https://example.org नाम की file नहीं बनाई जा सकती। Windows में भी ऐसा ही है, नहीं?
    गंभीरता से पूछूँ तो, क्या यह सच में समस्या है? अगर समस्या है, तो रेखा कहाँ खींचनी चाहिए?
    Codepoint 0 का क्या? Hangul filler character और RLO character का क्या? क्या ऐसे characters reject करने वाली application को घटिया मानेंगे?
    शुक्र है कि file name में क्या आ सकता है, इस पर restrictions हैं। और मुझे लगता है कि मौजूदा restrictions पर्याप्त strict भी नहीं हैं। Username, channel और सच में बहुत-सी चीज़ों के लिए भी यही बात है
    उदाहरण के लिए, क्या कोई सच में Twitter द्वारा केवल दिखने वाले alphanumeric characters और underscore की अनुमति देने और अधिकतम 15 characters तक सीमित करने को समस्या मानता है?
    यह बहुत smart तरीका लगता है। Username और channel name में poop emoji इस्तेमाल करने की चाहत से कहीं बेहतर

    • https://example.org नाम की file तो नहीं बनाई जा सकती, लेकिन ऐसा path निश्चित रूप से बनाया जा सकता है
      क्योंकि अंदर के duplicate slashes ignore हो जाते हैं, और https: नाम की directory तथा example.org नाम की file बनाई जा सकती है
    • Data मिटाने के लिए rf से बेहतर dd इस्तेमाल करना लगता है
  • अगर channel title SharePoint folder के रूप में इस्तेमाल होता है, तो हैरानी है कि ऐसे strings के लिए कोई standard escaping method नहीं है
    इससे उन applications के साथ compatibility टूट जाएगी जो ऐसे magic device files पर निर्भर करती हैं, लेकिन SharePoint को सच में कभी COM1 से communicate करना नहीं चाहना चाहिए
    यह अजीब है कि SharePoint में पहले से handle नहीं होता

    • SharePoint Windows file system के साथ sync कर सकता है, और Windows/Win32 backward compatibility की वजह से ऐसे names support नहीं करता