Mesin Waktu Praktis – teks/polos

Banyak situasi “darurat” di dunia modern kita akan mudah diperbaiki jika sudah diramalkan sebelumnya. Kalau saja kita tahu apa yang akan terjadi, kejahatan itu bisa dengan mudah dicegah.

Sayangnya, ketika masalah ditemukan hanya “sebagaimana terjadi” dalam produksi, setiap orang harus berlomba untuk meminimalkan kerusakan dan memadamkan api, secara dramatis meningkatkan biaya dan dampak dari masalah yang sebenarnya sepele.

Ubah Keadaan Darurat Anda menjadi WorkItems

Latar Belakang: Anda Seorang Penjelajah Waktu

Ya, Anda, pembaca yang budiman. Anda melakukan perjalanan melalui waktu. Sedetik telah berlalu sejak Anda mulai membaca paragraf ini. Anda tidak pernah mendapatkan kembali kedua itu (maaf!).

Untuk semua kerumitannya, waktu (atau setidaknya persepsi kita tentangnya) adalah hal yang paling dapat diandalkan di alam semesta. Dengan setiap detik yang berlalu, alam semesta berdetak maju dalam waktu.

Jadi, sekarang kami telah menetapkan bahwa perjalanan waktu tidak hanya mungkin, tetapi terjamin. Sayangnya, perjalanan waktu semacam ini tidak terlalu berguna untuk tujuan kita. Itu tidak berguna karena semua orang di sekitar kita juga melakukan perjalanan melalui waktu dengan kecepatan yang sama. Jika kita melakukan pekerjaan dengan baik memperhatikan, mungkin kita akan melihat masalah sebelum orang lain dan mungkin kami akan dapat memperbaikinya sebelum orang lain mengetahuinya, tetapi ini masih definisi darurat– kami berpacu dengan waktu. Ini melelahkan, dan we biasanya kalah.

Jika kita memiliki cara untuk mengirim pesan kembali ke masa lalu kita, mungkin bencana bisa dihindari atau keberuntungan besar bisa dimenangkan. Sayangnya, waktu adalah panah, dan panah itu hanya menunjuk ke masa depan. Sayangnya, mengubah masa lalu adalah keluar.

Jadi, kita perlu mengubah masa kini berdasarkan apa yang terjadi di masa depan.

Kalau saja kita memiliki semacam sihir mesin waktu untuk membiarkan kami melihat apa yang salah sebelum itu benar-benar tidak. Sepertinya kiasan yang terlalu sering digunakan untuk acara TV dan begitu banyak film favorit saya, bukan?

Apa yang akan Anda katakan jika saya memberi tahu Anda bahwa Anda? terkepung dengan mesin waktu yang bekerja, Anda hanya perlu menggunakannya?

Masa Depan adalah Berbeda

Sebelum saya memberi tahu Anda cara menggunakan atau membuat mesin waktu yang memungkinkan Anda melihat masa depan, mari nyatakan kembali tujuan kita– kami ingin mencegah keadaan darurat di masa depan dengan menemukan dan memperbaikinya terlebih dahulu.

Alasan utama mengapa kita sering dikejutkan oleh masalah darurat adalah karena kami berharap alat yang kami gunakan dengan sukses hari ini untuk terus bekerja besok. Ini adalah kesalahan mendasar.

Mungkin tidak benar bahwa Einstein berkata “Definisi kegilaan adalah melakukan hal yang sama berulang-ulang, tetapi mengharapkan hasil yang berbeda,” tapi itu benar sekali Saya telah katakanDefinisi kegilaan adalah melakukan hal yang sama berulang-ulang, dan mengharapkan sama hasil.

Itu karena kita tidak akan pernah bisa sungguh-sungguh “lakukan sama hal” berulang-ulang: sebelum kami melakukannya kemudian, tapi ketika kita melakukannya lagi, kita melakukannya sekarang. Kita berada di alam semesta yang berubah.

Satu-satunya yang konstan adalah perubahan, dan saat ini hanyalah berbeda dari dari masa lalu; sama, masa depan akan berbeda dari sekarang dengan cara yang tak terhitung banyaknya. Banyak dari perbedaan itu akan menjadi tak terduga, tapi untungnya ada yang dapat diprediksi pada kepercayaan diri yang tinggi.

Misalnya, perangkat lunak dan layanan kami di masa mendatang akan:

  1. Selalu dieksekusi di kemudian hari
  2. Mungkin menanggung nomor versi yang lebih tinggi
  3. Mungkin berisi banyak fitur baru dan perbaikan bug

Dengan pengetahuan ini, banyak dari keadaan darurat perangkat lunak kami sepenuhnya dapat diprediksi:

  • Sertifikat, token akses, cookie, cache, dan bom waktu akan kedaluwarsa
  • Pengurai versi akan dibingungkan oleh atau menolak jumlah besar yang tidak terduga
  • Solusi, peretasan, dan kebiasaan akan berhenti berfungsi

Komputer memiliki pemahaman yang agak primitif tentang Alam Semesta yang sebenarnya; mereka sebagian besar percaya masukan apa pun yang kami berikan kepada mereka. Dengan mengontrol input, kita mengontrol Semesta mereka.

Mesin Waktu Praktis – Jam

Komputer Anda dapat melakukan perjalanan ke masa depan dengan lebih mudah daripada DeLorean. UI tidak begitu keren, tetapi tidak membutuhkan plutonium. Cukup buka panel kontrol sistem Anda, matikan opsi “Setel waktu secara otomatis”, dan klik tombol untuk menyesuaikan tanggal/waktu sistem dengan target Anda.

Hampir segera, semua neraka akan pecah. Microsoft Teams dan sebagian besar aplikasi lainnya akan “offline.”

Halaman web akan berhenti memuat:

Program yang ditandatangani mungkin mulai dilaporkan sebagai “Penerbit tidak dikenal”:

…dan terus dan terus.

Sekarang, sebagai mesin waktu, yang ini agak bermasalah. Ini menunjukkan apa yang mungkin terjadi di masa depan jika tidak ada yang berubah. Tapi beberapa hal akan mengubah. Sebagian besar server web sekarang menggunakan protokol ACME untuk memperbarui sertifikat secara otomatis sesaat sebelum masa berlakunya habis, jadi menyetel jam Anda lima tahun ke depan kemungkinan akan menghasilkan banyak kesalahan positif. Namun, atur jam Anda lima hari ke masa depan mungkin masuk akal – Anda akan mendapatkan peringatan awal yang cukup untuk mengetahui mengapa sertifikat kedaluwarsa, apa implikasinya, dan menerapkan sertifikat baru.

Pembaruan otomatis tidak menyelesaikan semua masalah untuk sertifikat – misalnya, itu tidak memperbaiki sertifikat yang disematkan di perangkat lunak klien, dan biasanya hanya berlaku untuk sertifikat entitas akhir, bukan perantara. Kembali pada tahun 2019, Mozilla secara tidak sengaja membiarkan sertifikat kedaluwarsa, merusak semua ekstensi. Minggu ini, sertifikat perantara yang digunakan oleh LetsEncrypt kedaluwarsa, menyebabkan a jejak aplikasi, situs, dan perangkat yang rusak.

Pada tangkapan layar terakhir di atas, Windows menunjukkan peringatan “Penerbit tidak dikenal” karena tanda tangan perangkat lunak tidak memiliki stempel waktu.

Tanpa stempel waktu Authenticode, saat sertifikat penanda tangan kedaluwarsa, semua tanda tangan dari sertifikat tersebut dianggap tidak valid. Semoga berhasil mengganti setiap biner di setiap sistem pengguna.

Selain sertifikat yang kedaluwarsa, Anda mungkin juga melihat masalah lain– perangkat lunak uji coba akan kedaluwarsa, pramuat Keamanan Transportasi Ketat akan berhenti bekerja, dll. Untuk setiap masalah ini, Anda perlu menyelidiki dan memutuskan untuk mengambil tindakan.

Catatan: Tergantung pada apa yang Anda coba lakukan, Anda mungkin tidak perlu mengubah seluruh jam sistem; Anda mungkin dapat mengubah jam hanya untuk satu aplikasi.

Mesin Waktu Praktis – Kebohongan Versi

Salah satu keadaan darurat yang paling umum diprediksi adalah ketika sebuah skenario mulai gagal karena nomor versi perangkat lunak menjadi “terlalu tinggi.”

Ini terjadi begitu umum di perangkat lunak klien Windows sehingga Microsoft mengubah fungsi GetVersionEx untuk mulai berbohong ke aplikasi kecuali mereka menyatakan (melalui manifes) bahwa mereka dapat menangani kebenaran. Demikian pula, Windows 11 akan mengiklankan dirinya sebagai versi 10.0 ke situs web.

Tim Chromium, mengantisipasi rilis Chrome yang akan datang dari 100 kemungkinan akan merusak situs web, bendera sederhana bawaan untuk memungkinkan orang menguji dengan yang baru 100 nomor versi di string Agen-Pengguna browser. Berikut adalah contoh masalah (sebenarnya dua) yang ditemukan saat menggunakan flag “Force Version 100” yang baru:

Seperti yang Anda lihat, situs web salah mem-parsing string User-Agent dan menyimpulkan bahwa Chrome sudah usang, mendorong pengguna untuk menginstal browser lain menggunakan ikon sekitar tahun 2009. Dan lebih dekat ke rumah, ekstensi Show Chrome Version saya memotong string 100 ke 10 saat merender informasi di tombol bilah alat. Ups.

Bahkan jika vendor browser Anda tidak menawarkan flag “Fake the future” sederhana, Anda biasanya dapat mengganti string User-Agent melalui argumen baris perintah (--user-agent), Perintah DevTools (Network Conditions), ekstensi, atau aturan FiddlerScript sederhana.

Mesin Waktu Praktis – Saluran

Sebagian besar perangkat lunak tercanggih saat ini tersedia di berbagai saluran— a saat ini versi (biasa disebut “Rilis” atau “Stabil”) dan versi mendatang (sering disebut “Pra-Rilis”, “Beta”, “Alpha”, “Dev”, “Canary”, “Pratinjau”, atau “Nightly”).

Semua browser web utama, khususnya, mengikuti paradigma ini.

Menggunakan browser versi Pra-Rilis, sejauh ini, adalah cara terbaik untuk mempelajari perubahan apa yang akan datang di masa mendatang yang mungkin merusak situs dan layanan Anda. Tidak ada cara dengan ketelitian yang lebih tinggi (kependekan dari DeLorean bertenaga plutonium) untuk mengetahui perbaikan bug, fitur baru, dan regresi (teguk) apa yang mengarah ke basis pengguna Anda daripada hanya mencoba kode yang akan dijalankan semua orang di beberapa minggu atau bulan.

Opsi ini nyaman, gesekan rendah, dan sangat disarankan untuk pengembang, TI, dan “cincin” kecil dari setiap pengguna sehari-hari Enterprise.

Saya tidak dapat menghitung berapa kali kami (Chromium atau Microsoft) mendapat umpan balik dari pengguna Beta/Dev/Canary dari browser yang kami gunakan untuk memperbaiki masalah sebelum merusak siapa pun di saluran Stabil. Sebagai contoh– dua hari sebelum Chrome 88 bercabang untuk rilis Stabil, sebuah Perusahaan melaporkan bahwa aplikasi mereka rusak di Beta. Kami dengan cepat menyelidiki dan mengisolasi regresi dalam penanganan XSLT. Kami memperbaikinya dalam sehari. Sayangnya, departemen yang berbeda di Perusahaan yang sama tidak menerapkan cincin Beta, dan regresi dalam alur kerja mereka tidak ditemukan sampai 88 Stable dirilis, berdampak pada semua orang di departemen.

T: Bagaimana cara “beralih saluran” untuk browser Microsoft Edge baru?

A: Selain Stabil, ada 3 saluran: Beta, Dev, dan Canary, dan Anda dapat menginstal semuanya di perangkat yang sama pada saat yang sama, dan memilih mana yang ingin Anda jalankan kapan saja. Mereka semua terus diperbarui secara otomatis. Salah satunya dapat diatur sebagai browser default Anda. Juga, jika Anda mengaktifkan sinkronisasi, maka data Anda akan disinkronkan antara saluran yang terpasang pada perangkat yang sama (asalkan Anda masuk ke masing-masing saluran dengan ID yang sama). Untuk mendapatkan semua saluran, buka microsoftedgeinsider.com/download.

Google Chrome dan Microsoft Edge baru-baru ini memperkenalkan dukungan untuk Stabil Diperpanjang versi, yang sedikit seperti mesin waktu yang membuat pengguna Anda “terjebak di masa lalu”, memungkinkan mereka untuk menjalankan rilis “Extended Stable” (bernomor genap) hingga empat minggu di luar tanggal rilis berikutnya (ganjil bernomor) saluran “Stabil”. Ini adalah varian menarik dari pendekatan mesin waktu– Anda berharap bahwa empat minggu tambahan akan memungkinkan masalah apa pun dalam rilis “Stabil” ditemukan dan diperbaiki sebelum meningkatkan ke rilis berikutnya. Tapi itu bukan obat mujarab. Katakanlah Anda memiliki pengguna di Edge 94 Extended Stable. Mereka melewatkan Edge 95 sepenuhnya, dan empat minggu kemudian ditingkatkan ke Edge 96 Extended Stable. Meskipun masalah di Edge 95 mungkin telah dikurangi sebelum pengguna Anda memperbarui ke Edge 96, hanya masalah yang ditemukan di saluran pra-rilis Edge 96 yang akan setiap orang bergerak hingga 96.

Baca Pengiriman dari Masa Depan

Selain menjalankan saluran pra-rilis sendiri, Anda juga dapat memanfaatkan dokumentasi yang dipublikasikan tentang perubahan apa yang akan terjadi di masa mendatang. Mulai dari daftar Perubahan yang Berdampak pada Situs Edge hingga Peta Jalan kami ke halaman Status Platform Chrome, Anda dapat melihat daftar perubahan teratas yang menuju ke Stabil di masa mendatang. Meskipun dokumentasi berguna, saya tetap sangat merekomendasikan menjalankan Beta/Dev saluran di lingkungan Anda– dokumentasi kami mencakup perubahan teratas yang kami buat dengan sengaja— itu tidak mencakup kecelakaan bug atau ribuan perubahan lainnya dibuat untuk setiap rilis yang kami tidak berharap untuk menghancurkan siapa pun.

Ada cara lain untuk menemukan apa yang akan terjadi di masa depan. Jalankan browser Anda dengan Alat Pengembang F12 terbuka dan lihat tab Konsol dan Masalah untuk perubahan yang akan datang dan pemberitahuan penghentian:

Sebelum menerapkan fitur baru seperti Kebijakan-Keamanan-Konten di situs web Anda, gunakan report_only mode untuk mengumpulkan laporan masalah dari pengguna dunia nyata, sebelum memungkinkan penegakan kebijakan tersebut.

Dalam banyak kasus, situs secara diam-diam menyiarkan ketika ada sesuatu yang rusak– misalnya, sertifikat server berisi tanggal kedaluwarsanya. Anda dapat menulis aturan di FiddlerScript untuk memperingatkan Anda pada setiap respons HTTPS yang sertifikatnya akan segera kedaluwarsa.

Panggilan Untuk Bertindak

  • Jika Anda bertanggung jawab untuk menggunakan atau menyebarkan perangkat lunak, gunakan mesin waktu yang Anda inginkan.
  • Jika Anda bertanggung jawab untuk merancang atau membangun perangkat lunak, buatlah mesin waktu baru untuk digunakan semua orang.
  • Jika Anda sudah membaca sejauh ini, gunakan bagian komentar di bawah untuk mengingatkan saya pada mesin waktu dunia nyata yang lupa saya sebutkan.

Anda seorang penjelajah waktu. Bertindak seperti satu!

-Eric