Blog

  • Mengunduh arsip-arsip Google Takeout berukuran besar

    Untuk mengunduh arsip-arsip Google Takeout berukuran besar, misalnya yang per arsip 50 GB, gunakan Free Download Manager (FDM).

    Tiap berapa lama, mungkin proses unduh akan terputus dan tidak bisa dilanjutkan (resume).

    Cara melanjutkan unduhan arsip yang tidak bisa dilanjutkan

    1. Reload halaman export Google Takeout
    2. Copy link pada button “Download” untuk arsip tersebut
    3. Change URL arsip tersebut pada FDM
    4. Klik “Download” button pada halaman export Google Takeout lalu unduhan akan berjalan kembali

  • Mengatasi copyright strike YouTube

    Copyright strike 1 dan 2 dapat hilang dengan sendirinya dalam 90 hari, lain hal jika kanal sudah terkena 3 copyright strike, kanal tersebut akan diterminasi.

    Pada saat ini, pemilik kanal harus mengurangi jumlah copyright strike menjadi kurang dari 3 untuk menyelamatkan kanalnya.

    Pada YouTube Studio kanal tersebut, dapat ditemukan daftar copyright strike. Dalam satu copyright strike dapat berisi banyak video dan detil klaim.

    Pemilik kanal dapat mengeklik per video ini untuk:

    1. Melihat email pengeklaim
    2. Mengajukan copyright counter notification

    Hanya pengeklaim yang dapat menarik klaim dalam copyright strike.

    Dengan mengetahui email pengeklaim, kita dapat mengajukan permintaan penarikan klaim dengan mengirim email ke alamat tersebut. Kemudian pengeklaim akan memberi instruksi seperti harus membayar untuk lisensi penggunaan konten yang terdapat pada video yang disanggah.

    Setelah kita memenuhi instruksi pengeklaim, klaim-klaim pada copyright strike yang diberikan akan ditarik dan jumlah copyright strike akan berkurang.

  • Cara menerapkan dark mode Shadcn UI pada TanStack Start

    Pada dokumentasi Shadcn UI belum terdapat panduan penerapan dark mode untuk aplikasi berbasis TanStack Start.

    Pada skenario ini, next-themes dapat digunakan.

    Setelah menyiapkan aplikasi dan menginstal next-themes, pada _root.tsx, gunakan <ThemeProvider> untuk mengapit isi dari body tag.

    // __root.tsx
    ...
    function RootDocument({ children }: { children: React.ReactNode }) {
      return (
        <html lang="en" suppressHydrationWarning>
          <head>
            <HeadContent />
          </head>
          <body>
            <ThemeProvider
              attribute='class'
              defaultTheme='system'
              enableSystem
              disableTransitionOnChange
            >
              <Header />
              {children}
            </ThemeProvider>
    ...