3 September 2026Eline Tiva

Ubuntu 26.10 Menargetkan Linux 7.2: Rencana Pengujian Aman untuk Tim Web Kecil

Ubuntu 26.10 masih merupakan rilis pengembangan, tetapi target Linux 7.2 dan jadwal Oktober memberi alasan yang tepat bagi tim web kecil untuk merapikan cara menguji perubahan sistem operasi.

0:00—
Cerita singkat oleh Eline Tiva
Ilustrasi workstation Linux gelap dengan alur kerja kernel abstrak

Ubuntu 26.10 belum layak diperlakukan sebagai sistem operasi produksi. Catatan rilis Canonical sendiri menyebut Stonking Stingray masih dalam pengembangan dan dijadwalkan rilis pada Oktober 2026. Perbedaan itu lebih penting daripada nama kode yang unik. Bagi tim web kecil, rilis pra-produksi hanya berguna jika membantu menjawab satu pertanyaan terbatas sebelum jawabannya mengganggu situs klien, mesin deployment, atau laptop staf.

Alasan untuk memperhatikan rilis ini cukup jelas. Canonical Kernel Team menyatakan Linux 7.2 dipilih sebagai versi kernel target Ubuntu 26.10. Kernel.org menampilkan 7.2 sebagai lini rilis saat ini, sedangkan jadwal publik Ubuntu menetapkan beta wajib pada 24 September dan rilis final pada 15 Oktober. Tanggal tersebut membuka jendela pengujian yang singkat, tetapi nyata.

Ini bukan ajakan memasang kernel baru di semua perangkat. Ini ajakan membuat perubahan sistem operasi bisa diuji: satu perangkat, satu beban kerja, satu jalur pemulihan, dan catatan tertulis tentang hasilnya.

🧭 Apa yang benar-benar diumumkan

Pengumuman Canonical menyatakan Linux 7.2 adalah kernel target bagi Ubuntu 26.10. Kata “target” perlu dibaca dengan cermat. Target bukan jaminan bahwa setiap image, varian paket, kombinasi driver, atau jalur instalasi sudah siap hari ini. Pengumuman itu sendiri menyebut tim akan memberikan pembaruan rutin tentang integrasi sepanjang siklus pengembangan.

Kalendernya juga spesifik. Feature Freeze dan Debian Import Freeze ditetapkan pada 20 Agustus. User Interface Freeze jatuh pada 10 September. Kernel Feature Freeze dan Documentation String Freeze menyusul pada 17 September. Beta Freeze berlangsung 21 September, beta wajib pada 24 September, Kernel Freeze pada 1 Oktober, lalu rilis final direncanakan 15 Oktober.

Tonggak ini berguna karena mengubah jenis pertanyaan yang perlu diajukan penguji. Sebelum beta, laporan regresi bisa menyangkut target yang masih bergerak. Menjelang final freeze, pertanyaannya menjadi apakah alur kerja yang sudah dikenal tetap andal pada kandidat rilis. Tidak ada fase yang membenarkan penggunaan rilis pengembangan pada server produksi yang melayani klien.

Tim kecil perlu menolak jalan pintas yang sering muncul: membaca “Linux 7.2” sebagai instruksi untuk meningkatkan semua mesin Ubuntu LTS yang ada. Ubuntu mengemas kernel dan menetapkan kebijakan dukungannya sendiri. Versi di dalam distribusi, rilis mainline upstream, dan build mainline yang dipasang manual adalah tiga hal berbeda dengan konsekuensi dukungan yang berbeda pula.

📅 Jendela waktu yang penting

Tanggal resmi Ubuntu memberi urutan kerja yang disiplin. Minggu pertama sebaiknya digunakan untuk memilih target uji yang bisa dikosongkan atau dipulihkan. Menjelang beta, inventaris dependensi: klien VPN, chipset Wi-Fi, dock, layar eksternal, printer, profil browser, kunci SSH, container pengembangan lokal, alat build, dan lokasi backup.

Setelah beta wajib tersedia, ulangi rangkaian tes kecil alih-alih berburu hal baru. Apakah perangkat bisa boot normal? Apakah jaringan kembali tersambung setelah sleep? Apakah layar eksternal kembali pada resolusi yang diharapkan? Apakah browser membuka situs staging dan alat pengembang? Apakah tim bisa menjalankan build biasa dan deploy ke target non-produksi? Apakah sebuah berkas dapat dipulihkan dari backup?

Tanggal rilis final bukan tenggat bagi setiap bisnis untuk pindah. Itu adalah akhir dari satu proses rilis upstream. Waktu produksi harus mengikuti jendela pemeliharaan tim sendiri, rilis yang didukung yang dipilih, serta bukti yang dikumpulkan dari lingkungan staging.

Tangkapan layar referensi desktop Ubuntu
Gambar referensi antarmuka desktop Ubuntu. Gambar ini mengilustrasikan platform, bukan Ubuntu 26.10 itu sendiri.Christopher Forster

🧱 Tiga jalur kernel yang jangan disamakan

Ada tiga jalur dalam cerita ini. Pertama, Linux upstream. Kernel.org menjelaskan mainline sebagai pohon tempat fitur baru masuk, dengan rilis kira-kira setiap sembilan hingga sepuluh minggu. Setelah sebuah rilis mainline, pemelihara stable mem-backport perbaikan bug ke rilis stable titik. Lini longterm memiliki tujuan pemeliharaan yang lain.

Kedua, kernel Ubuntu yang disediakan melalui rilis Ubuntu yang didukung. Inilah jalur yang biasanya tepat bagi workstation atau server yang membutuhkan integrasi distribusi, pembaruan paket rutin, dan catatan perubahan yang dapat dipertanggungjawabkan. Tim sebaiknya memakai jalur upgrade yang didokumentasikan distribusi, bukan mengganti jalur itu dengan nomor yang ditemui dalam pengumuman upstream.

Ketiga, build Ubuntu mainline. Halaman Ubuntu Mainline Build Status menyampaikan peringatannya tanpa ambiguitas: kernel tersebut tidak didukung, tidak tepat untuk produksi, dan tidak menerima pembaruan keamanan. Itu menjadikannya alat diagnostik khusus, bukan cara cerdik untuk mendahului pembaruan yang didukung.

Konsekuensi praktisnya sederhana. Jika sebuah laptop mengalami masalah perangkat keras yang mungkin terkait kernel, build mainline dapat membantu mengisolasi laporan dalam tes yang terkendali. Build itu tidak boleh diam-diam menjadi kernel yang menjalankan mesin deployment studio selama berbulan-bulan.

🧪 Susun pengujian yang aman untuk gagal

Pengujian yang baik dimulai dari klaim yang dapat diuji. “Coba Ubuntu 26.10” terlalu kabur. “Pada laptop cadangan ini, boot Ubuntu 26.10, sambungkan ke Wi-Fi kantor, jalankan build proyek berbasis container, buka situs staging di dua browser, lalu pulihkan berkas uji yang dihapus” adalah rencana yang berguna.

Gunakan akun non-klien bila memungkinkan. Jangan menyalin basis data produksi atau ekspor pelanggan aktif hanya untuk memastikan desktop bekerja. Proyek uji yang diperkecil, data contoh yang sudah disamarkan, dan kredensial staging dengan cakupan terbatas lebih aman dan sering kali memperlihatkan masalah sistem operasi yang sama.

Catat baseline sebelum mengubah apa pun. Simpan versi Ubuntu yang sedang dipakai, kernel terpasang, model perangkat, status enkripsi disk, ruang kosong, versi VPN aktif, versi browser, dan perintah proyek yang saat ini lulus. Pastikan backup atau snapshot lama tersimpan lebih dahulu. Ketika gagal, tim memerlukan titik pembanding, bukan ingatan tentang kondisi yang “rasanya normal”.

Tes juga harus memasukkan perilaku saat terjadi gangguan. Putuskan lalu sambungkan kembali jaringan. Reboot setelah pembaruan. Suspend dan bangunkan laptop. Coba boot pemulihan. Pastikan drive eksternal bisa di-mount dan berkas yang disalin memiliki checksum yang diharapkan. Tujuannya bukan menghukum rilis pra-produksi. Tujuannya mengetahui apakah tim dapat pulih dengan tenang.

Ilustrasi laptop uji, checklist, dan drive backup
Ilustrasi pengujian sistem operasi yang dapat dipulihkan, dengan checklist dan media backup.Ilustrasi asli oleh 1garis

🔒 Backup adalah syarat masuk

Rencana upgrade tanpa uji pemulihan adalah harapan, bukan rencana. Sebelum menyentuh sistem operasi, periksa setidaknya dua hal: pekerjaan backup sudah selesai dan satu berkas benar-benar dapat dipulihkan ke lokasi yang dapat dibaca. Jika bisnis memakai backup terenkripsi, pastikan kunci pemulihan atau prosedur pemulihan dapat diakses oleh orang yang menjalankan tes.

Untuk workstation pengembang, pisahkan hal yang mudah dipasang ulang dari hal yang tidak mudah diganti. Paket dan ekstensi editor biasanya bisa dibuat ulang jika setup terdokumentasi. Kunci SSH, bahan pemulihan password manager, sertifikat lokal, branch yang belum di-push, profil browser, dan aset klien mungkin tidak bisa. Inventarisasikan yang kedua lebih dahulu.

Untuk server, jangan menyamakan snapshot disk dengan rencana pemulihan aplikasi. Uji restore yang berguna mencakup konfigurasi, data, prosedur penanganan rahasia, dan cara mengonfirmasi aplikasi melayani respons yang benar setelah dipulihkan. Jika tim tidak dapat memulihkan layanan staging, itu adalah temuan yang perlu diperbaiki sebelum sistem operasinya berubah.

🌐 Mengapa tim web perlu menguji lebih dari terminal

Pembaruan kernel dapat tampak sempurna di terminal sambil mengubah lingkungan di sekitar alur kerja web. Manajemen daya laptop memengaruhi panggilan jarak jauh. Driver grafis memengaruhi berbagi layar dan layar eksternal. Perilaku DNS atau VPN memengaruhi deployment. Perubahan certificate store atau pengemasan browser dapat mengubah pengujian lokal. Runtime container bergantung pada antarmuka kernel, filesystem, jaringan, dan kontrol keamanan.

Ini bukan berarti setiap pembaruan berbahaya. Artinya daftar validasi harus mencerminkan pekerjaan nyata. Runbook ringkas dapat mencakup:

  • Masuk ke password manager dan penyedia identitas organisasi.
  • Terhubung melalui VPN yang disetujui dan mencapai host staging lewat SSH.
  • Mengambil repository, memasang dependensi dari lockfile, lalu menjalankan perintah tes biasa.
  • Membuat bundle mirip produksi dan membandingkan output atau checksum yang diharapkan.
  • Membuka situs staging di browser yang benar-benar didukung tim.
  • Menjalankan pemeriksaan aksesibilitas singkat, pemeriksaan viewport responsif, serta tes pembayaran atau formulir yang memakai sandbox.
  • Deploy hanya ke staging yang ditentukan dan mengonfirmasi health endpoint serta perintah rollback.

Daftar ini sengaja biasa saja. Tes upgrade terbaik bukan tangkapan layar benchmark. Tes itu adalah pekerjaan yang akan mahal akibatnya jika berhenti berfungsi pada pagi hari kerja.

🖥️ Pertanyaan hardware dan driver memerlukan bukti

Diskusi Ubuntu Kernel Team memberi pengingat bahwa pengemasan dan penandatanganan dapat memengaruhi ketersediaan selama siklus rilis. Salah satu pembaruan menyebut paket kernel perlu bermigrasi bersama karena pembaruan NVIDIA. Pembaruan lain menjelaskan persoalan build dan signing. Ini bukan alasan untuk menebak masalah pada perangkat tertentu. Ini alasan untuk tidak memperlakukan image awal sebagai jaminan bagi semua tumpukan driver.

Pada mesin uji, daftar perangkat keras yang pernah menimbulkan gangguan: grafis diskret, adaptor Wi-Fi tidak umum, audio Bluetooth, dock, touchpad, pembaca biometrik, card reader, dan pengaturan banyak monitor. Uji masing-masing dengan pengamatan singkat, bukan putusan umum. “Monitor eksternal bangun setelah suspend pada 2560 kali 1440” bisa ditindaklanjuti. “Grafis aman” tidak cukup.

Jika muncul bug, pertahankan kondisinya. Catat tanggal image, versi paket, model hardware, langkah reproduksi, hasil yang diharapkan, hasil aktual, dan log terkait. Lalu laporkan melalui kanal yang dinamai Canonical untuk tahap itu, seperti Launchpad atau diskusi Ubuntu Kernel. Laporan yang dapat diulang jauh lebih berguna daripada keluhan bahwa sebuah rilis rusak.

Pengembang bekerja dengan laptop di ruang kerja
Foto ilustrasi ruang kerja pengembang yang digunakan untuk checklist pengujian.Foto oleh Jakub Zerdzicki di Pexels

🧰 Urutan rollout untuk tim kecil

Studio kecil tidak memerlukan birokrasi perusahaan besar untuk mengelola rilis. Yang diperlukan adalah urutan yang mencegah eksperimen satu orang berubah menjadi gangguan bagi semua orang.

Mulailah dengan satu perangkat uji sukarela atau mesin virtual. Beri label yang jelas dan tujuan yang terbatas. Jauhkan kredensial produksi, kecuali kredensial itu sementara, dibatasi, dan memang diperlukan bagi pengujian staging. Jalankan checklist. Tuliskan hasil lulus, gagal, dan belum diketahui.

Berikutnya, putuskan apakah temuan tersebut memerlukan tindakan. Tes Bluetooth yang gagal pada laptop cadangan mungkin tidak relevan untuk deployment khusus server. Koneksi VPN yang rusak adalah tanda berhenti bagi tim jarak jauh. Kegagalan container mungkin memerlukan workaround di tingkat proyek atau penundaan upgrade. Kesimpulan harus sebanding dengan bukti.

Baru kemudian tetapkan tanggal evaluasi produksi. Tanggal itu bisa setelah rilis final, setelah pembaruan Ubuntu yang didukung tersedia, atau setelah vendor menyelesaikan masalah driver. Yang penting, keputusan dicatat: siapa yang menguji, apa yang diuji, apa yang belum diuji, backup mana yang diperiksa, dan bagaimana cara kembali.

Ilustrasi jalur upgrade bertahap dari backup menuju produksi
Ilustrasi jalur bertahap dari backup dan pengujian hingga keputusan produksi.Ilustrasi asli oleh 1garis

🧾 Jadikan tes sebagai catatan perubahan

Tes yang hanya menghasilkan kesan lisan akan sulit dipakai tiga minggu kemudian. Simpan catatan kecil di repository, wiki tim, atau tiket yang memulai pekerjaan ini. Catatan itu tidak harus menjadi dokumen kepatuhan formal. Nilainya ada pada kemampuan orang lain untuk melihat batas eksperimen tanpa menyusunnya ulang dari pesan percakapan.

Mulailah dengan tanggal, identitas perangkat atau mesin virtual, image Ubuntu atau kanal rilis, versi kernel yang terpasang, dan nama pelaksana tes. Lalu daftar pemeriksaan penerimaan sesuai urutan pelaksanaannya. Untuk setiap pemeriksaan, gunakan hasil sederhana: lulus, gagal, terblokir, atau tidak diuji. Tambahkan catatan singkat hanya jika memengaruhi keputusan. Ekstensi browser yang gagal tetapi tidak dipakai tim dalam produksi tidak setara dengan koneksi SSH ke staging yang gagal.

Pisahkan pengamatan dari kesimpulan. “Laptop ini tidak menyambung kembali ke Wi-Fi kantor setelah suspend pada image ini” adalah pengamatan. “Jangan evaluasi Ubuntu 26.10 untuk laptop staf sebelum diuji kembali pada image berikutnya” adalah kesimpulan. Pemisahan itu mencegah masalah sementara pra-rilis diceritakan ulang sebagai fakta permanen tentang Ubuntu, atau satu percobaan berhasil dianggap sebagai bukti kompatibilitas yang luas.

Catatan juga perlu menyebut jalur rollback. Jika perangkat uji memakai drive lepas-pasang, tulis lokasi installer yang sudah terbukti baik. Jika memakai mesin virtual, catat nama snapshot dan apakah snapshot dibuat sebelum boot pertama. Jika memakai laptop cadangan, catat media pemulihan, bahan pemulihan enkripsi disk, serta apakah disk asli disimpan. Rencana rollback hanya berguna bila orang yang menjalankannya dapat menemukan semua yang dirujuk.

Untuk pekerjaan yang menyentuh situs web, sertakan hasil aplikasi yang sempit. Deployment sengaja dapat dibatasi ke staging, tetapi catatan dapat menyebut apakah proyek dipasang dari lockfile, apakah test suite selesai, apakah situs hasil build tampil sesuai harapan, dan apakah perintah rollback sudah dicoba. Jangan memasukkan rahasia, data klien, atau nama host internal lengkap ke catatan tes umum. Sasarannya adalah keterulangan dengan kontrol akses yang tepat.

Catatan ini juga memberi tim alasan untuk berhenti. Setelah pemeriksaan yang direncanakan selesai, eksperimen baru perlu menjadi tes baru dengan tujuan baru. Pengujian pra-rilis bisa meluas tanpa akhir bila tidak ada definisi selesai. Catatan yang terbatas mengubah kalender rilis menjadi tugas pemeliharaan yang terkendali, bukan arus pembaruan spekulatif.

Tentukan penanggung jawab langkah berikutnya.

Tim kecil sering berbagi perangkat dan tugas deployment secara informal. Justru karena itu, penting untuk menyebut siapa yang boleh mengubah hasil tes menjadi perubahan produksi. Orang yang suka mencoba rilis baru belum tentu orang yang bertanggung jawab atas tenggat klien, pemulihan backup, atau permintaan dukungan vendor.

Tetapkan tiga tanggung jawab kecil. Satu orang menjalankan tes dan mengumpulkan bukti. Satu orang meninjau apakah checklist sesuai dengan pekerjaan nyata tim. Satu orang mengesahkan jendela pemeliharaan setelah mempertimbangkan rilis yang didukung, hasil tes, dan rencana rollback. Di studio dua orang, satu orang dapat memegang lebih dari satu peran, tetapi keputusan tetap perlu terlihat, bukan diasumsikan.

Dependensi vendor juga memerlukan kejelasan serupa. Panel kontrol hosting, alat keamanan endpoint, klien VPN, driver grafis, atau layanan manajemen perangkat dapat menerbitkan pernyataan platform yang didukung. Pernyataan tersebut lebih relevan bagi keputusan operasional daripada klaim umum di forum daring. Jika vendor yang diperlukan belum mendokumentasikan dukungan bagi rilis yang sedang dievaluasi, catat celah itu dan putuskan apakah bukti staging sudah cukup atau menunggu lebih aman.

Komunikasi kepada klien harus sebanding dengan dampaknya. Biasanya tidak ada alasan untuk mengumumkan tes internal. Jika pemeliharaan yang direncanakan dapat memengaruhi layanan, sampaikan jendela yang disetujui, dampak yang diharapkan, kontak cadangan, dan fakta bahwa perubahan dapat dikembalikan. Jangan menjanjikan risiko nol. Cakupan yang jelas dan jalur pemulihan yang telah diuji lebih dapat dipercaya daripada janji bahwa pembaruan sistem operasi tidak mungkin menimbulkan gangguan.

Sikap hati-hati yang sama berlaku setelah tes lulus. Lulus pada satu workstation dan satu deployment staging berarti pemeriksaan tersebut lulus di lingkungan itu. Hasil itu tidak membuktikan setiap laptop staf, server produksi, atau integrasi pelanggan akan berperilaku sama. Perluas hanya ketika target berikutnya memang perlu diikutkan dan memiliki jalur pemulihan sendiri.

Catatan keputusan yang berguna juga menetapkan tanggal peninjauan ulang. Periksa kembali catatan rilis sebelum mengubah mesin yang didukung, karena pengamatan pada beta dapat berubah pada image final. Peninjauan terakhir perlu mengonfirmasi hasil teknis, waktu bisnis, penanggung jawab, kesiapan rollback, status vendor, kontak pemulihan yang terdokumentasi, serta keputusan lanjut atau tunda yang eksplisit.

🔎 Periksa hasil pada konteks yang tepat

Hasil pengujian hanya bermakna jika konteksnya jelas. Sebelum menandai sebuah pemeriksaan sebagai lulus, tim perlu memastikan bahwa perangkat, jaringan, akun, dan versi aplikasi yang digunakan memang mewakili keputusan yang akan dibuat. Tes build di laptop pribadi dengan koneksi rumah, misalnya, tidak otomatis menjawab apakah deployment dari perangkat kantor lewat VPN akan berjalan baik. Keduanya dapat sama-sama berguna, tetapi menjawab pertanyaan yang berbeda.

Buat batas tes sesempit mungkin pada awalnya. Pilih satu proyek yang aktif tetapi aman dijalankan di staging. Gunakan versi Node, runtime container, browser, dan alat baris perintah yang sama dengan alur normal. Bila ada perubahan pada dependensi proyek ketika pengujian berlangsung, catat perubahan itu. Tanpa catatan tersebut, kegagalan dapat keliru dibaca sebagai masalah sistem operasi padahal pemicunya ada pada update paket aplikasi.

Pemeriksaan browser juga perlu konkret. Buka halaman utama, formulir penting, area masuk staf, dan satu alur yang memakai layanan pihak ketiga dalam mode sandbox bila tersedia. Uji viewport yang biasa dipakai saat QA, bukan sekadar memastikan satu tab berhasil terbuka. Untuk situs yang memakai cache lokal atau service worker, lakukan satu pemeriksaan setelah cache dibersihkan agar hasil lama tidak menyamarkan kegagalan baru.

Jangan mengabaikan kapasitas perangkat uji. Ruang disk yang hampir penuh, baterai yang menurun, drive eksternal yang lambat, atau Wi-Fi yang tidak stabil dapat menciptakan gejala yang tidak ada hubungannya dengan Ubuntu 26.10. Catat kondisi dasar itu agar hasil tes tidak memperoleh kepastian palsu. Bila perangkat tampak bermasalah sebelum pengujian dimulai, perbaiki atau ganti targetnya daripada mencoba menafsirkan setiap error.

Saat hasilnya tidak jelas, status “belum diketahui” lebih baik daripada “lulus”. Status ini menunjukkan pekerjaan berikutnya dengan jujur: ulangi pada image baru, cari dokumentasi vendor, atau uji perangkat lain. Tim tidak perlu mengubah ketidakpastian menjadi vonis. Tujuan tes adalah memperkecil risiko keputusan produksi, bukan membuktikan bahwa rilis pengembangan sempurna.

⚠️ Batas informasi yang tersedia saat ini

Ada batas terhadap apa yang dapat dibuktikan oleh pengumuman publik. Canonical sudah menyebut Linux 7.2 sebagai target Ubuntu 26.10, tetapi catatan rilis masih menyatakan 26.10 sedang dikembangkan. Jadwal publik bisa berubah dan keadaan paket yang tepat berbeda menurut image serta kanal pembaruan. Diskusi Kernel Team juga memperlihatkan integrasi dan penandatanganan dapat bergerak dari waktu ke waktu.

Tidak ada artikel yang bisa mengesahkan laptop, server, GPU, image hosting, atau tumpukan aplikasi tertentu. Bukti yang relevan bersifat lokal: kanal rilis yang didukung, versi paket aktual, hardware, dependensi proyek, dan hasil dari tes yang dapat dipulihkan.

Jangan pula menyamakan tes kernel dengan pemeliharaan keamanan. Dasbor mainline Ubuntu memperingatkan kernel mainline yang dipasang manual tidak menerima pembaruan keamanan. Postur keamanan tetap bergantung pada rilis yang didukung, pembaruan paket tepat waktu, penanganan kredensial, pengelolaan paparan, dan rencana pemulihan.

✅ Keputusan yang perlu dibuat sebelum Oktober

Rilis Ubuntu 26.10 yang direncanakan pada 15 Oktober adalah penanda kalender yang berguna, bukan perintah untuk mengubah produksi. Tugas masuk akal bagi tim web kecil lebih sederhana: siapkan satu tes yang dapat dipulihkan, tulis pemeriksaan penerimaannya, buktikan backup bisa dipulihkan, dan simpan hasilnya.

Jika tes lulus, tim memiliki dasar yang lebih rapi untuk pemeliharaan berikutnya. Jika gagal, tim telah menemukan masalah pada tempat yang tepat: jauh dari situs klien yang hidup. Itulah manfaat sebenarnya mengikuti rilis pengembangan. Perubahan sistem operasi berhenti menjadi lompatan keyakinan dan menjadi keputusan yang diamati.

Sumber: catatan rilis dan jadwal Ubuntu 26.10; pengumuman Canonical Kernel Team; dokumentasi rilis kernel.org; Ubuntu Mainline Build Status, diakses 3 September 2026.

Keep reading