-
So You Think You Know Git
I learn a lot about GIT after watching this Youtube video.
Showed a lot of commands (or sub-command) related to GIT, many command i didn’t know it existed before (yup never tried to use some of the commands before), like
git push --force-with-lease
, huge help! -
Auto assigned Jira Service Management based on Opsgenie on-call rotation
Previously, if someone create a Jira ticket on our Jira Service Management (service desk) ticketing system, it will auto-assigned to the person that i already assigned, and this person can quite overwhelmed with incoming ticket, event though we can route the ticket to another person, but the first impression will overwhelmed them.
Because of that, i’m looking a way to automate the assignment of Jira Service Management based on Opsgenie on-call rotation, and it can be done easily.
First open your Jira Service Management, head to your service project, say the name is “IT Support Service Center”, then you go to
Project Settings
, then you got toAutomation
.Select
Create Rule
, name your rule, add your trigger, chooseIssue Created
then chooseAdd Action
, chooseAssign Issue
, then chooseAssign to a user
, then chooseOn-call responder
and choose the team that you want to have auto-assigned, then choose the on-call schedule name on that list.Mine’s look like this
After this, you can create a new ticket, and it will auto-assigned to the on-call responder based on the schedule.
-
Manage Multiple git project folder
Managing multiple git project can be cumbersome, even just for updating the code, like pulling the latest code from the remote repository.
For instance i have these project
➜ ls -1 bla-android bla-platform blalslda open-bla billblabal edithing bla-blog bla-handler bla-fin wednes in-app saturca some-manifest code-backup doing-internal is-there-news protect-plus protect-plus-the-second notsomething onboarding blanking-the-new curious someform verosomeform vision-plus angle-plus some-text-collection
If we wanted to update the code for all of these project, we have to do it manually,
cd
to the folders then so somegit pull
for each folder, we can use shell command likefind . -name .git -print -execdir git pull \;
, the command will find the git project folder and then execute each folder’s git pull command, to make things easier, we can make an alias for the command likealias git-pull-all='find . -name .git -print -execdir git pull \;'
, now we can just typegit-pull-all
and it will execute the command for all the git project folder.Or, you could use a python package, called
gita
, it will help you to manage multiple git project folder, and it feels flexible because we can relay the git command to the package, so we can do something likegit pull
orgit push
to update all the git project folder.Adding git project to gita
$ gita add <folder-name>
or you want to add all or the folder in one particular folder
$ gita add -a <folder-name>
Get latest information from each folder
➜ gita ll repo1 development [] [FN-9961] FDS extra onboarding (2 hours ago) repo2 develop [] Merge branch 'enhance/unit-test-coverage' into 'develop' (3 weeks ago) repo3 main [] Merge branch 'feature' into 'main' (2 years, 9 months ago) repo4 main [] add service partner (2 years, 1 month ago) repo5 main [] Merge branch 'releases/rb-v1.35.0' into 'main' (3 weeks ago) repo6 main [] Merge branch 'ADO-1739-base-image-jupyterhub' into 'main' (3 months ago) repo7 main [] second init(?) (9 months ago) repo8 develop [] Merge branch 'staging' into develop (4 months ago) repo9 main [] Merge tag 'release-v1.33.0' (5 weeks ago) repo10 main [] Add MP pubsub subscription IAM grant (4 weeks ago) repo11 development [] [FUN-5663] Webview (3 weeks ago) repo12 develop [] Update BDS CI/CD Production (2 weeks ago) repo13 main [$] Update platformbanking image to 9587cd35 (43 minutes ago) repo14 main [] progressing optimization 10% (5 months ago) repo15 staging [] remove unused api (4 months ago) repo16 master [] add new fopml feed from reeder (1 year, 3 months ago) repo17 main [$] [int][dev]update mobile api dev (6 hours ago) repo18 main [] add file for DRC (4 months ago) repo19 develop [] Merge branch 'BM-32353-dev' into 'develop' (34 hours ago) repo20 develop [] Merge branch 'bypass_dev' into 'develop' (3 weeks ago) repo21 develop [] Merge branch 'ms_UTP-7013' into 'develop' (54 minutes ago) repo22 main [] Merge branch 'rc_v.2.4.0_into_main' into 'main' (3 weeks ago) repo23 main [] remove fluentd (4 weeks ago) repo24 main [] update roles datadog & telegraf (8 weeks ago) repo25 main [] change readme (5 months ago) repo26 main [] add more text for test (1 year, 3 months ago)
We can have a fresh pulled repo using one command, or do some git command within one command, like
gita pull
orgita push
But of course, we could still using the old way by using good old
find
.find . -name .git -print -execdir git pull --rebase \;
Or you could always add it to your
.bashrc
or.zshrc
alias gitupdate='find . -name .git -print -execdir git pull --rebase \;'
-
The Unix haters handbook
Dokumen ini dirilis tahun 1994, di saat Unix masih mendominasi server-server yang ada di dunia.
29 tahun di dunia internet sudah seperti kuno banget, dan jauh sekali dengan keadaan sekarang, meski sebenarnya dunia jaringan, internet dibangun atas banyaknya sistem-sistem kuno ini.
Tahun 1994 masih SMP, sangat jauh dari dunia perkomputeran, hanya tau komputer IBM dengan interface DOS, lupa seri apa, kayaknya dengan prosesor 3080, lupa.
-
Browser fingerprinting, bagaimana tracker memata-matai pengguna
Browser yang digunakan oleh kita, ketika mengakses suatu website, website tersebut bisa melakukan tracking terhadap kita, yang mana yang melakukan tracking itu memiliki profile kita, device yang kita gunakan, dari mulai sistem operasi, jenis browser, hingga extension, resolusi yang digunakan.
Dan data kita bisa dijual ke pihak lain oleh perusahaan tracker tersebut.
Hal ini menjadikan kita selaku pengguna akan dimata-matai, kemanapun kita melakukan browsing, akan bisa dikenali bahwa Deden telah mengakses ini itu, dan bisa dibuatkan profile dan juga korelasi dengan teman, keluarga dan lainnya.
Untuk mengecek apakah kita rentan untuk diikuti oleh tracker-tracker tersebut, bisa menggunakan tool yang dibuat oleh EFF, dengan tool ini, kita bisa tahu apa saja yang rentan, misalkan untuk browser Safari yang saya gunakan
Ada beberapa browser yang secara default melakukan perlindungan privacy, salah satunya browser Brave. Untuk browser yang tidak menyediakan fitur ini secara default, kita bisa melakukan proteksi lain, yaitu dengan DoH (DNS over HTTPS Protocol), dan untuk kasus DoH provider yang saya gunakan, memiliki proteksi terhadap iklan dan tracker, saya menggunakan DoH TiarApp.
Setelah melakukan setting dan menggunakan DoH Tiar App, hasil dari Cover Your Track EFF mejadi begini.
Proteksi terhadap tracker ini sangat penting, karena sangat intrusif, karena kita tidak hanya akan diikuti di browser, tapi aplikasi-aplikasi diluar browser, seperti kita akan mendapatkan iklan di aplikasi Instagram, Twitter, TikTok, dan lainnya.
Karena sidik jari device yang kita gunakan sudah dimiliki oleh tracker, jadi gampang untuk mereka untuk bisa menampilkan iklan yang cocok untuk kita, karena sudah mempelajari kebiasaan kita ketika browsing menggunakan browser atau ketika scrolling instagram dan aplikasi lainnya, karena semua di ekosistem yang sama, dengan tracker yang masing-masing saling melengkapi satu sama lain.
Kita rekap ya,
- Gunakan browser yang secara default melindungi pengguna, coba menggunakan Firefox atau Brave
- Jika hendak menggunakan proteksi, gunakan DoH/DoT, yang saya menggunakan https://doh.tiar.app/