Writing on software development, cybersecurity, and everything in between.

All of my notes and brain dumps about programming, cybersecurity, and other things I find interesting in tech, collected in chronological order.

Menggunakan HTML Attribute Value di CSS

Normalnya, hubungan CSS dengan HTML sebatas CSS memberi style pada elemen HTML yang cocok dengan CSS selectors yang digunakan dan CSS tidak mengetahui isi dari HTML tersebut. Tetapi ada cara agar CSS bisa mengetahui data di HTML, bahkan menggunakannya di CSS, kita dapat menggunakan fungsi attr(). Benar attr() adalah fungsi yang dapat dijalankan di CSS, what a time to be alive.

Menggunakan TailwindCss di Hugo-Pipes

Hugo Pipes merupakan fitur dari hugo static site generator yang berfungsi untuk memroses aset seperti css dan javascript1. Hugo Pipes mendukung penggunaan postcss out of the box2. Karena tailwindcss sebenarnya merupakan plugin dari postcss, untuk menggunakan tailwindcss di Hugo Pipes kita dapat menggunakan postcss. Untuk dapat menggunakan postcss di Hugo Pipe, Hugo mengharuskan postcss-cli untuk terlebih dahulu terinstall di sistem.

Mendapatkan Client ID Dari User Laravel Passport

Ketika menyimpan data transaksional pada database terkadang kita perlu menyimpan juga data client yang digunakan user untuk menyimpan data. Laravel Passport1 sayangnya tidak menyertakan atribute client id pada Authenticated user. Untuk mendapatkan client id dari user dapat menggunakan cara berikut:

<?php

use Illuminate\Support\Facades\DB;
use Lcobucci\JWT\Parser as JwtParser;
use League\OAuth2\Server\ResourceServer;
use Symfony\Bridge\PsrHttpMessage\Factory\DiactorosFactory;

...


    $token_id  = with(new JwtParser)
        ->parse($request->bearerToken())
        ->getHeader('jti');
    $row = DB::table('oauth_access_tokens')
        ->select('client_id')
        ->where('id', $token_id)
        ->get()
        ->first();

    $client_id = $row->client_id;

Mengaktifkan Mode Root Pada Tasker di Android

Walau sudah memiliki su binary, atau sudah terpasang root manager di perangkat Android, terkadang tasker tetap tidak mengetahui kalau perangkat Android kita telah memiliki akses root. Karena dianggap perangkat non-root beberapa fungsi, yang hanya bisa dilakukan oleh root, tidak dapat digunakan.

Untuk memberi tahu Tasker kalau perangkat kita telah memiliki akses root dapat dengan menambahkan baris berikut pada berkas /system/build.prop

# modversion this line enables Tasker root support

Membuat Antarmuka Sederhana Di Android

Pada tulisan ini saya akan membuat antarmuka sederhana untuk aplikasi Android. Antarmuka ini nantinya akan berisi sebuah textbox dan sebuah tombol di sisi kanannya.

Antarmuka aplikasi android dibentuk dari layout (ViewGroup Object) dan widget (View Object) yang tersusun secara hirarkis. Layout merupakan kontainer tak terlihat yang mengendalikan bagaimana objek turunannya diposisikan pada layar. Widget merupakan komponen antarmuka seperti textbox dan tombol.