1 poin oleh GN⁺ 2023-08-11 | 2 komentar | Bagikan ke WhatsApp
  • Microsoft Teams memiliki batas operasional yang ketat untuk tim, channel, chat, rapat, dan berbagi file; nama channel tidak boleh menggunakan nama perangkat MS-DOS seperti CON, PRN, AUX, NUL, COM1~COM9, dan LPT1~LPT9
  • Batasnya adalah 25.000 anggota per tim, 1.000 keanggotaan tim per pengguna, dan 1.000 channel per tim; channel yang dihapus juga tetap dihitung dalam batas selama masa pemulihan 30 hari
  • Untuk chat, acuannya adalah 250 orang untuk chat privat, 20 orang untuk panggilan suara/video berbasis chat, 10 lampiran, dan file 100MB; jika melebihi 20 orang, fitur seperti panggilan, indikator mengetik, dan tanda sudah dibaca akan dinonaktifkan
  • Rapat dapat menampung hingga 300 atau 1.000 orang tergantung paket, dan rapat, webinar, serta town hall di Teams memiliki batas 30 jam; breakout room hanya dapat dibuat untuk rapat dengan kurang dari 300 peserta
  • Berbagi file bergantung pada SharePoint dan OneDrive for Business, sehingga tenant dengan SharePoint nonaktif akan mengalami pembatasan; file Teams mendukung hingga 25TB per situs atau grup, dan unggahan file hingga 250GB per file

Batas tim dan channel

  • Jumlah tim yang dapat dibuat pengguna mengikuti batas 250 objek di Microsoft Entra ID, dan admin global dikecualikan dari batas ini
  • Pengguna dapat menjadi anggota hingga 1.000 tim, termasuk tim yang diarsipkan
  • Batas utama per tim adalah sebagai berikut
    • Anggota: 25.000
    • Pemilik: 100
    • Tim seluruh organisasi: 5 per tenant
    • Anggota tim seluruh organisasi: 10.000
    • Jumlah tim dalam organisasi Microsoft 365 atau Office 365: 500.000
    • Jumlah tim yang dapat dibuat admin global: 500.000
  • Jumlah channel per tim maksimal 1.000, termasuk kombinasi channel standar dan channel bersama serta maksimal 30 channel privat
  • Channel yang dihapus dapat dipulihkan selama 30 hari, dan selama periode ini tetap dihitung terhadap batas channel per tim dan batas channel privat
  • Postingan percakapan channel dibatasi sekitar 100KB per posting, termasuk isi, tautan gambar, @mention, jumlah connector, dan reaksi
    • Gambar dengan encoding base64 tidak dihitung dalam batas 100KB

Batasan channel bersama

  • Channel bersama dapat berjumlah maksimal 1.000 per tim, dan channel yang dihapus tetap dihitung selama masa pemulihan 30 hari
  • Satu channel bersama dapat dibagikan ke maksimal 50 tim selain tim induknya
  • Anggota channel bersama bisa mencapai 5.000 anggota langsung, dan tim yang dibagikan dihitung sebagai 1 orang per tim dalam perhitungan batas
    • Pembaruan real-time hanya diberikan ke 25.000 orang sekaligus
    • Hanya 25.000 orang yang ditampilkan dalam daftar channel
  • Peserta eksternal hanya mendukung akun Microsoft Entra kantor atau sekolah
  • Channel bersama mendukung tab, tetapi tidak untuk Stream, Planner, dan Forms
  • Bot, connector, dan message extension tidak didukung di channel bersama
  • Tim seluruh organisasi tidak dapat ditambahkan sebagai anggota channel bersama
  • Saat membuat tim baru dari tim yang sudah ada, channel bersama dari tim lama tidak disalin
  • Notifikasi channel bersama tidak disertakan dalam email aktivitas terlewat
  • Channel bersama tidak didukung di class team

Aturan larangan nama channel

  • Nama channel tidak boleh menggunakan karakter berikut
    • ~ # % & * { } + / \\ : < > ? | ' " , ..
  • Rentang karakter berikut juga tidak boleh digunakan
    • 0~1F
    • 80~9F
  • Kata berikut tidak boleh digunakan dalam nama channel
    • forms
    • CON, CONIN$, CONOUT$
    • PRN, AUX, NUL
    • COM1~COM9
    • LPT1~LPT9
    • desktop.ini
    • _vti_
  • Nama channel tidak boleh diawali dengan garis bawah _ atau titik ., dan tidak boleh diakhiri dengan titik .

Pesan dan chat

  • Percakapan yang muncul di daftar chat Teams disimpan di mailbox Exchange Online milik peserta
  • Agar admin dapat mencari atau menyimpan percakapan chat, peserta harus memiliki mailbox Exchange Online berbasis cloud
    • Dalam deployment hybrid Exchange, pengguna mailbox on-premises tetap dapat ikut dalam chat Teams
    • Namun, dalam kasus ini isi percakapan tersebut tidak dapat dicari atau disimpan
  • Batas utama chat privat adalah sebagai berikut
    • Jumlah orang: 250
    • Anggota yang dapat ditambahkan ke group chat sekaligus: 200
    • Panggilan suara/video yang dimulai dari chat: 20 orang
    • File lampiran: 10
    • Ukuran file: 100MB
    • Ukuran posting chat: sekitar 100KB
  • Jika jumlah peserta chat melebihi 20 orang, fitur berikut dinonaktifkan
    • Balasan otomatis Outlook dan pesan status Teams
    • Indikator mengetik
    • Panggilan suara/video
    • Berbagi
    • Tanda sudah dibaca
    • Tombol Set Delivery Options
  • Untuk meningkatkan tingkat keberhasilan pengiriman pesan, disarankan menjaga ukuran pesan itu sendiri di bawah 80KB
  • Tenant langganan uji coba dapat dikenai batas pesan yang lebih ketat untuk mencegah penyalahgunaan, dan batas tersebut dapat disesuaikan tanpa pemberitahuan
  • Admin yang hanya mengizinkan domain tepercaya pada akses eksternal dapat menambahkan hingga 4.000 domain tepercaya

Email channel

  • Email yang dikirim ke alamat email channel akan menjadi bagian dari channel, dan siapa pun dapat membalas untuk memulai percakapan
  • Batas saat mengirim email ke channel adalah sebagai berikut
    • Ukuran pesan: 24KB
    • Lampiran: 20
    • Ukuran per lampiran: kurang dari 10MB
    • Gambar inline: 50
  • Jika melebihi batas, perilakunya berubah
    • Jika pesan melebihi 24KB, pesan pratinjau akan dibuat, dan pengguna harus mengunduh email asli dari tautan yang disediakan untuk melihatnya
    • Jika jumlah lampiran atau gambar melebihi batas, pesan kesalahan akan ditampilkan
  • Email channel tunduk pada pembatasan laju
    • 6 email per 10 detik per pengguna per channel
    • 8 email per 10 detik per pengguna per tenant
  • Email channel tidak tersedia di Teams untuk organisasi Office GCC/GCCH/DOD

Rapat dan panggilan

  • Paket Microsoft 365 Business Basic, Business Standard, Business Premium, Microsoft Teams Essentials, dan Microsoft 365 A1 dapat meng-host rapat online dan panggilan video Teams hingga 300 orang
  • Pada paket Microsoft 365 F1/F3/E3/E5/A3/A5/G3/G5, Office 365 E1/E3/E5/A3/A5/G1/G3/G5, dan Microsoft Teams EEA, batasnya meningkat hingga 1.000 orang
  • Batas utama terkait rapat adalah sebagai berikut
    • Panggilan suara/video yang dimulai dari chat: 20 orang
    • Ukuran maksimum file PowerPoint: 2GB
    • Masa unduh lokal yang tersedia untuk rekaman rapat yang tidak diunggah ke Microsoft Stream: 20 hari
    • Durasi maksimum rekaman rapat: 4 jam atau 1,5GB
  • Jika rekaman mencapai durasi atau kapasitas maksimum, rekaman akan berakhir dan otomatis dimulai ulang
  • Breakout room hanya dapat dibuat pada rapat dengan kurang dari 300 peserta
    • Jika breakout room dibuat, jumlah peserta rapat otomatis dibatasi menjadi 300 orang
  • Rapat, webinar, dan town hall di Teams memiliki batas waktu 30 jam

Kedaluwarsa rapat

  • Kedaluwarsa rapat berlaku untuk nomor dial-in PSTN, koordinat CVI, serta kebijakan dan pengaturan rapat default
  • Jika rapat diikuti atau diperbarui sebelum kedaluwarsa, batas kedaluwarsa akan ditambah 60 hari, kecuali untuk rapat Meet now
  • Berdasarkan pratinjau publik, tautan dan rapat baru akan kedaluwarsa sesuai kondisi berikut, dan setelah kedaluwarsa tidak bisa lagi diikuti lewat tautan
    • Rapat satu kali terjadwal: 60 hari setelah waktu rapat yang dijadwalkan
    • Meet now yang dijadwalkan dari kalender atau channel: 60 hari setelah tautan dibuat
    • Meet now yang dijadwalkan dari group chat: tidak berlaku
    • Rapat berulang dengan tanggal akhir: periode yang lebih lama antara 60 hari dari tanggal akhir atau 60 hari dari kejadian terakhir
    • Rapat berulang tanpa tanggal akhir: 1 tahun setelah akses, partisipasi, atau pembaruan rapat terakhir

Live event

  • Teams live event dijadwalkan akan dihentikan pada Juli 2026
    • Event yang sudah dijadwalkan tetap didukung hingga 28 Februari 2027
    • Microsoft merekomendasikan penggunaan Teams town hall untuk event digital dan hybrid berskala besar
  • Batas default live event adalah sebagai berikut
    • Peserta: maksimal 10.000
    • Durasi event: 4 jam
    • Live event yang dapat berjalan bersamaan dalam organisasi Microsoft 365 atau Office 365: 15
  • Saat produser bergabung ke live event, event tersebut dianggap sedang berjalan
    • Produser yang mencoba bergabung ke live event ke-16 akan menerima error
  • Peningkatan batas sementara diperpanjang hingga pemberitahuan lebih lanjut
    • Peserta maksimal 20.000
    • 50 event serentak untuk seluruh tenant
    • 16 jam per siaran
  • Melalui Microsoft 365 assistance program, dimungkinkan merencanakan live event hingga 100.000 peserta, dan tim akan mengevaluasi setiap permintaan untuk menentukan opsi yang memungkinkan

Penyimpanan dan berbagi file

  • Setiap tim Teams memiliki situs tim SharePoint, dan setiap channel membuat folder di dalam pustaka dokumen situs tim default
  • File yang dibagikan dalam percakapan otomatis ditambahkan ke pustaka dokumen, dan izin serta opsi keamanan file yang diatur di SharePoint diterapkan juga di Teams
  • Setiap channel privat memiliki situs SharePoint terpisah
  • Jika SharePoint tidak diaktifkan di tenant, pengguna Teams tidak selalu dapat berbagi file di tim
  • Untuk berbagi file dalam chat privat, diperlukan OneDrive for Business yang terhubung dengan lisensi SharePoint
  • Karena berbagi file Teams berjalan di backend SharePoint, batas SharePoint juga berlaku pada bagian Files di Teams
  • Batas penyimpanan untuk paket yang ditampilkan adalah sebagai berikut
    • 1TB per organisasi + 10GB per lisensi yang dibeli
    • Office 365 Enterprise F1: 1TB per organisasi
    • Teams Files: maksimal 25TB per situs atau grup
    • Batas unggah file: 250GB per file
  • Karena channel didukung oleh folder dalam situs SharePoint tim, tab file pada channel berbagi batas penyimpanan dengan tim induknya

Class team pendidikan dan tag

  • Microsoft Teams for Education menyediakan template untuk skenario pendidikan seperti pembelajaran di kelas
  • Penggunaan class team memerlukan lisensi Office 365 Education
  • Class team mengikuti batas anggota tim umum, tetapi aplikasi tertentu memiliki batas tersendiri
    • Penggunaan aplikasi Assignments: 1.000 anggota
    • Penggunaan aplikasi OneNote Class Notebook: 300 anggota
  • Class team dapat mendukung lebih banyak anggota, tetapi jika berencana menggunakan Assignments atau Class Notebook, sebaiknya tetap di bawah batas di atas
  • Batas tag adalah sebagai berikut
    • Tag per tim: 200
    • Tag default yang disarankan per tim: 25
    • Anggota tim yang dapat ditetapkan ke tag: 200
    • Tag yang dapat ditetapkan per pengguna dalam tim: 25

Dukungan kontak dan browser

  • Teams menggunakan kontak Active Directory organisasi dan kontak yang ditambahkan pengguna ke folder default Outlook
  • Pengguna Teams dapat berkomunikasi dengan siapa pun di Active Directory organisasi dan menambahkannya ke daftar kontak dari Chat > Contacts atau Calls > Contacts
  • Orang yang tidak ada di Active Directory organisasi juga dapat ditambahkan sebagai kontak dari Calls > Contacts
  • Teams presence di Outlook didukung mulai aplikasi desktop Outlook 2013 ke atas
  • Dukungan browser berbeda menurut fitur
    • Internet Explorer 11 tidak mendukung panggilan, dan hanya mendukung rapat secara terbatas jika memiliki koordinat PSTN
    • Microsoft Edge Chromium terbaru dan Google Chrome sepenuhnya mendukung panggilan dan rapat
    • Firefox tidak mendukung panggilan tetapi mendukung rapat, dan dukungan penuh memerlukan plugin OpenH264
    • Bergantung pada versi Safari, cakupan dukungan untuk panggilan 1:1, video, dan berbagi berbeda-beda
  • Rapat Teams di browser dibatasi ke satu stream, dan hanya menampilkan salah satu dari video peserta yang sedang berbicara atau screen sharing
  • Untuk memberikan dan mengambil alih kontrol saat berbagi, kedua pihak harus menggunakan klien desktop Teams; fitur ini tidak didukung di browser

2 komentar

 
xguru 2023-08-11

Sepertinya ini dibuat begitu demi kompatibilitas mundur dengan Windows.

Tapi rasanya developer zaman sekarang mungkin tidak tahu hal-hal seperti COM, LPT, PRN, haha.

Saya juga sering melihat pertanyaan seperti, "Kenapa hard disk dimulai dari C?"

 
GN⁺ 2023-08-11
Komentar Hacker News
  • Sekitar 1998, saat masih remaja fanatik Linux, saya membawa-bawa box Linux ke LAN party, dan sebenarnya berjalan dengan baik
    Saat itu WINE hampir ada khusus untuk mendukung Starcraft, Quake 2 berjalan secara native, dan dengan dua itu saja sudah mencakup 95% game yang dimainkan orang
    Suatu kali saya pikir akan lucu kalau menjalankan skrip shell yang berkeliling ke semua share Windows di jaringan lalu membuka CON/CON, tetapi tiap mesin langsung menampilkan blue screen, dan anehnya teman-teman saya tidak menganggapnya lucu

    • Jadi teringat masa itu. Di setiap pertemuan LAN pasti ada satu teman seperti itu
      Kalau dia juga jago memecahkan masalah jaringan dan selalu membawa cadangan kabel CAT-5 seperti teman BSD saya, mungkin sudah cukup untuk menebusnya
    • Apakah itu dilakukan lewat IPX? Saya tidak ingat pernah mengatur IPX di Linux
      Seingat saya, saat sudah memakai Linux sampai menjalankan Starcraft lewat Wine, game itu sudah mendukung IP
    • Saya suka sekali cerita ini. Saya tidak tahu WINE sudah ada selama itu dan bahkan bisa menjalankan game seperti Starcraft
      Saya punya kenangan yang sangat baik bermain Starcraft dengan teman-teman dulu, dan game itu punya umur panjang sampai bisa membuat saya ketagihan saat SMP lalu ketagihan lagi saat kuliah
    • Hack yang bisa dilakukan siapa saja, seperti melancarkan ping flood ke orang-orang di LAN party, adalah yang paling menyenangkan
      Kenangan lama yang indah
    • Itu masa keemasan. Entah apakah kami yang berbeda, atau dunia di sekitar kami yang berbeda
  • Ini kemungkinan besar karena di sistem file Windows nama seperti itu tidak bisa dipakai untuk file atau folder
    Kanal MS Teams membuat folder yang sesuai di SharePoint tempat lampiran file disimpan

    • Sepertinya saat Microsoft menemui masalah, mereka berpikir, “baiklah, mari kita bangun ini di atas SharePoint
    • Saya pernah bekerja di bank yang memakai sistem trading berbasis Windows, dan entah kenapa sistem itu membuat folder yang berisi detail tiap buku
      Masalah muncul ketika seorang trader menamai bukunya LPT1
    • Sepertinya ada kerentanan lain juga di sini. Hanya saja % dan .. tampaknya juga masuk blacklist
    • Grup Active Directory yang sesuai juga dibuat
      Itu cara yang sangat mudah untuk memungkinkan pengguna mengelola hak akses resource tanpa membuka tiket dukungan, jadi penggunaannya cukup masuk akal
    • SharePoint sudah menancapkan cakarnya dalam-dalam di Microsoft, dan akan selamanya menjadi tumit Achilles mereka
  • Awalnya saya hendak berkata, “Bukankah ini pada dasarnya membocorkan bahwa ada sesuatu yang mengerikan di bagian internal? Mereka seharusnya malu mengatakan ini secara terbuka. Ini mirip mengatakan tidak boleh memakai %s atau $PS1; kenapa tidak boleh? Sebenarnya apa yang kalian lakukan dengan input pengguna?”
    Namun ini mungkin juga soal bagaimana nama kanal diperlakukan di tempat lain. Orang bisa menyalin dan menempelkannya ke mana saja, dan tampaknya mereka tidak berharap pengguna Windows akan melakukan escaping sendiri terhadap string mereka saat menempelkannya ke cmd, PowerShell, atau WSL
    Kode Teams sendiri mungkin bisa menanganinya dengan baik, tetapi masalahnya bisa jadi ada pada segala macam tool eksternal yang tidak jelas dan ceroboh yang dapat menangani nama kanal
    Orang lain menunjukkan folder SharePoint yang terhubung ke kanal, dan karena mudah saja melakukan escaping, transformasi, atau encoding untuk membuat versi yang aman sebagai direktori, secara pribadi saya sulit memberi mereka pembenaran. Namun mungkin di suatu tempat penting bahwa nama kanal dan nama direktori harus sama
    Jika hanya dipakai di dalam aplikasi, nama kanal dan nama direktori bisa di-encode/decode dengan cara yang sama dan disembunyikan sepenuhnya dari pengguna, tetapi jika direktori juga dipakai di luar aplikasi, bentuk seperti URL encoding akan terlihat apa adanya dan tampak jelek
    Pada akhirnya nama direktori harus aman untuk semua hal lain, sehingga nama kanal juga harus sama. Mereka memilih pembatasan ini ketimbang sesekali memiliki nama direktori yang jelek, dan pada akhirnya ini lebih dekat ke masalah tampilan daripada masalah keamanan atau kerusakan. Karena karakter yang semestinya perlu encoding sama sekali tidak diizinkan, semua direktori selalu tampak alami dan bagus dilihat

    • Kalau Anda pernah berkesempatan melihat feed DNS NXDOMAIN DNS pasif (PDNS) mentah, ada sangat banyak hal yang rusak, dan sebagian cukup menyeramkan
      Hal seperti ini terjadi ketika layanan penamaan diterjemahkan satu sama lain. Layanan penamaan biasanya memiliki cakupan penerapan, dan nama dalam satu konteks ditafsirkan berbeda dalam konteks lain
      Bobby Tables sudah terkenal, tetapi bagaimana dengan nama file khusus -rf? Dahulu jalur normal Active Directory hampir secara implisit memercayai nama domain DNS di tempat seperti file share. Kelihatannya baik-baik saja sampai Anda sadar bahwa bisa saja ada file executable di “drive” itu
      Sejujurnya saya tidak menemukan string MS-DOS di dokumen itu. Edit: saya menemukan rujukan seperti CON, LPT1
    • Ini hanya batasan nama folder SharePoint yang terekspos ke atas. Tidak ada yang istimewa
    • “Tidak berharap pengguna akan melakukan escaping sendiri terhadap string mereka”—memangnya pernah ada pengguna sistem mana pun yang mulai memenuhi harapan seperti itu? Sistem utopia semacam itu ada di mana?
    • AWS pada dasarnya punya batasan karakter untuk semuanya
      Body pesan SQS pun dibatasi soal karakter whitespace apa yang boleh digunakan
    • Ini batasan SharePoint. Teams dibangun di atas SharePoint, dan itu bukan rahasia maupun sesuatu yang memalukan
  • Mengapa sebagian besar aplikasi chat/rapat pada akhirnya menjadi mengerikan? Aku masih ingat masa ketika Teams adalah aplikasi yang lumayan. Dulu juga ada klien desktop Linux
    Aku juga ingat saat Slack benar-benar cepat, dan Skype out lebih stabil daripada panggilan ponselku
    Sekarang Slack menjadi luar biasa lambat hanya dengan menambahkan beberapa organisasi. Meski begitu, setidaknya masih bisa menambahkan lebih dari satu
    Teams menghentikan klien desktop Linux, dan kalau mau memakainya di Linux harus lewat Chrome. Namun jika dipakai sebagai bagian dari Office365/SharePoint, “sebagian” tautan SharePoint memerlukan Firefox
    Akhirnya selalu butuh 2 browser. Untuk berbagi layar dan video di Teams harus memakai Chrome, untuk sebagian tautan SharePoint harus memakai Firefox

    • Sulit dipercaya, tetapi aplikasi chat/rapat adalah gerbang termudah menuju aplikasi untuk segala hal seperti WeChat
      Pada akhirnya aplikasi chat/rapat adalah versi mini dari internet
      Aplikasi chat memang bagus, tetapi bagaimana jika kita juga bisa mengirim dan berbagi klip audio, lalu klip video, video real-time, uang, rapat, undangan kalender, permintaan antar makanan, sesi game, X, dan seterusnya
      X tidak ada batasnya. Internet adalah berbagi X, dan aplikasi chat juga berbagi X, jadi sebenarnya tidak ada batas seberapa besar ia bisa tumbuh
    • Kuncinya adalah membuatnya mengerikan dan sederhana sejak awal. IRC masih bekerja sama buruknya seperti 30 tahun lalu
    • Sebagiannya tampaknya karena tekanan untuk terus menambahkan fitur
      Chat dan video sudah bisa, tapi bagaimana kalau ditambah blur latar belakang? Sial, Zoom punya polling, jadi kita juga harus memasukkan polling. Kalau alurnya adalah menumpahkan fitur seperti ini dan beriterasi cepat, ya pakai Electron juga tidak apa-apa
    • Pasar memberi imbalan pada fitur dan integrasi, bukan performa, selama aplikasinya cukup layak dipakai. Developer pun mengembangkan… bukan, membuat fitur, fitur, fitur
    • Tim startup yang lincah dan produktif membuat aplikasi yang disukai semua orang, lalu mendapat banyak investasi, dan akhirnya mempekerjakan ribuan developer software yang tidak diperlukan
      Setelah itu mereka harus mencari pekerjaan untuk orang-orang itu
  • Ini bagus sekali. Aku suka bahwa hal baru ini mengingatkan pada masa awal MS-DOS di awal sekali era 90-an, ketika berjalan di 086 atau 286
    Obsesi Microsoft terhadap kompatibilitas mundur memang patut dihormati. Rasanya seperti khayalan mustahil bahwa port native MS Teams akan dibuat untuk MS-DOS 3.1. Yang lebih masuk akal, mungkin membayangkan server MS Teams berjalan di mainframe MS-DOS 3.1 proprietary kuno yang aneh, meski itu juga tetap tidak masuk akal
    Aku tahu batasan nama perangkat ini juga berlaku untuk nama file Windows, jadi bagi yang kurang suka bersenang-senang, ini tidak terlalu mengejutkan. Tapi kalau suka berkhayal, bayangan tadi bisa muncul
    Tautan terkait: https://learn.microsoft.com/en-us/microsoftteams/limits-spec...

    • “Awal sekali era 90-an ketika MS-DOS berjalan di 086 atau 286” meleset kira-kira 10 tahun
      MS-DOS sudah berjalan di 8086 pada awal 80-an
    • Ini memang mengejutkan. Di WSL kita bisa membuat file seperti itu, tetapi di Windows tidak bisa membuat atau menghapusnya, jadi tidak masuk akal
      Di Windows 10 atau 11 juga sudah tidak ada lagi lapisan DOS, dan ini lebih mirip Microsoft tidak berniat memperbaiki masalah seperti ini
    • Kompatibilitas mundur adalah tujuan yang patut dipuji, dan upayanya pantas diapresiasi
      Hanya saja, semoga itu tidak mencakup pembatasan kata sandi menjadi panjang yang tidak masuk akal pendeknya atau himpunan karakter yang sangat terbatas
  • Ini mengingatkanku pada rumor bahwa alasan setelah “Windows 7” dan “8” mereka melewati “9” lalu menjadi “10” adalah karena takut di suatu tempat dalam codebase ada kode seperti ini
    if(version.StartsWith(“Windows 9”)) { /* 95 and 98 */ ... }

    • Apakah versi Windows pernah diekspos sebagai string di Windows API?
      Aku tidak punya pengalaman dengan Windows, tetapi itu terasa agak aneh. Di satu sisi, itu hal yang mungkin dilakukan Microsoft demi kompatibilitas mundur, tetapi di sisi lain tampak seperti API yang aneh untuk disediakan
      Aku menemukan GetVersion[1], tetapi ini mengembalikan versi sebagai dua angka
      [1] https://learn.microsoft.com/en-us/windows/win32/api/sysinfoa...
  • Kata terlarang: forms, CON, CONIN$, CONOUT$, PRN, AUX, NUL, dari COM1 sampai COM9, dari LPT1 sampai LPT9, desktop.ini, _vti_

    • Awalnya aku ingin berkata, “Bukankah ini pada dasarnya membocorkan bahwa ada sesuatu yang mengerikan di bagian dalamnya? Mereka seharusnya malu mengatakan ini secara terbuka. Ini mirip mengatakan tidak boleh memakai %s atau $PS1; kenapa tidak boleh? Sebenarnya apa yang kalian lakukan dengan input pengguna?”
      Namun bisa jadi ini masalah bagaimana nama channel akan diperlakukan di tempat lain. Orang bisa menyalin dan menempelkannya ke mana saja, dan tampaknya mereka tidak berharap pengguna Windows akan melakukan escaping sendiri terhadap string mereka saat menempelkannya ke cmd, PowerShell, atau WSL
    • Pada pertengahan 90-an, ada masa singkat yang lucu ketika klien IRC seperti mIRC bisa diatur untuk menerima file secara otomatis lewat DCC
      Dan mereka dengan senang hati menulis ke nama seperti LPT1; tentu saja data itu langsung keluar ke printer penerima
    • Jadi penasaran apakah pernah ada mesin yang benar-benar punya LPT9. COM9 masih nyaris bisa kubayangkan
  • Tips umum saat menstrukturkan data pengguna adalah, jika memungkinkan, perlakukan sebagai gumpalan buram
    Bayangkan saja datanya terenkripsi sehingga tidak bisa dicetak maupun dibaca manusia
    forms, CON, CONIN$, CONOUT$, PRN, AUX, NUL, COM1 sampai COM9, LPT1 sampai LPT9, desktop.ini, _vti_
    Kalau harus membatasi hal-hal seperti ini karena input pengguna masuk begitu saja ke sistem berkas, berarti desainnya sudah gagal. Alih-alih memakai input pengguna secara langsung, seharusnya diberi ID yang aman. Bisa berupa uuid4, atau semacam digest dari nama kanal
    Kalau seseorang berkata “karakter ini tidak bisa digunakan”, saya menganggapnya berbau mencurigakan. Secara otomatis saya berpikir, “kenapa tidak boleh? Jangan-jangan ini dipakai sebagai teks polos tanpa encoding?” Contohnya seperti kata sandi, nama pengguna, atau komentar—konten yang akan ditampilkan di halaman web
    Namun semua ini juga bisa saja sekadar easter egg yang keliru. Mungkin mereka hanya ingin menambahkan sedikit unsur lucu, lalu urusannya jadi kusut

  • Memang buruk, tapi jujur saja, apa tujuannya? Membiarkan orang memberi nama apa pun, termasuk nama kanal? Misalnya nama seperti "rm -rf /*"
    Ada yang lebih bagus lagi. Tulis rm -rf itu dengan karakter override arah kanan-ke-kiri RLO agar terlihat seperti fr- mr
    Apakah itu benar-benar harus dijadikan tujuan? Sambil percaya tidak akan ada masalah apa pun?
    Untungnya di Linux kita tidak bisa membuat berkas bernama https://example.org. Windows juga begitu, bukan?
    Serius, apakah ini benar-benar masalah? Kalau iya, garis batasnya harus ditarik di mana?
    Bagaimana dengan codepoint 0? Karakter pengisi Hangul dan karakter RLO? Apakah aplikasi yang menolak hal seperti ini dianggap buruk?
    Untungnya ada batasan pada apa saja yang bisa masuk ke nama berkas. Dan menurut saya batasan saat ini pun belum cukup ketat. Hal yang sama berlaku untuk nama pengguna, kanal, dan banyak hal lain
    Misalnya, adakah orang yang benar-benar menganggap bermasalah bahwa Twitter hanya mengizinkan alfanumerik yang terlihat dan garis bawah, serta membatasinya maksimal 15 karakter?
    Ini terlihat sebagai pendekatan yang sangat cerdas. Menurut saya jauh lebih baik daripada mendambakan bisa memakai emoji kotoran di nama pengguna dan nama kanal

    • Berkas bernama https://example.org memang tidak bisa dibuat, tetapi path seperti itu jelas bisa dibuat
      Karena garis miring ganda di bagian dalam diabaikan, dan kita bisa membuat direktori bernama https: serta berkas bernama example.org
    • Untuk menghapus data, menurut saya lebih baik memakai dd daripada rf
  • Jika judul kanal dipakai sebagai folder SharePoint, mengejutkan bahwa tidak ada mekanisme escape standar khusus untuk string semacam ini
    Kompatibilitas dengan aplikasi yang bergantung pada berkas perangkat ajaib seperti ini memang akan rusak, tetapi SharePoint semestinya tidak pernah punya alasan untuk benar-benar ingin berkomunikasi dengan COM1
    Aneh bahwa ini belum ditangani di SharePoint

    • SharePoint bisa disinkronkan dengan sistem berkas Windows, dan Windows/Win32 tidak mendukung nama-nama seperti itu karena kompatibilitas mundur