Karena nampaknya banyak yang tertarik buat adain technical book club, gw disini pengen ngadain book club technical online dan offline๐
Untuk yang online bisa join discord
@lynxluna
di link . Akan diadakan kajian buku mingguan. Untuk Buku pertamanya akan
10 tahun yang lalu engga bisa ngoding. Cuman jadi script kiddies baca dari forum dan buku. Kepengen bisa ngoding tapi engga ngerti. Setelah itu gw meniatkan buat belajar ngoding dengan dalam.
2015 ( 1 tahun setelahnya) belajar ngoding dengan lebih niat di SMA, ketemulah pascal
Kita suka overestimate apa yang bisa kita lakukan dalam setahun tapi underestimate apa yang bisa kita capai dalam 10 tahun. Coba look back. Pencapaian apa yang kamu alhamdulillahnya sudah gapai, tapi kamu 10 tahun lalu ga akan kepikiran bakal bisa capai?
stress? ngoding
sedih? ngoding
happy? ngoding
capek? nonton ngoding
pernah lg deep in depression dan satu-satu nya hal yg bikin merasa hidup itu pas nonton video ngoding
jadi sepertinya bener perlu di periksa ๐
@ainunnajib
@AhmadDzuizz
Ingin beri beberapa sumber belajar dari beginer sampe intermediate.
Resource utama buat belajar Rust dari buku official nya. . Ini yang versi ini ada post quiz nya.
Sambil baca bukunya ikutin hands on course rustling dan bisa lihat
Bukan AI secara spesifik, gw taunya machine learning.
Tom Mitchell - Machine Learning. ini buku dari tahun 90 an dan fokus ke mtk. Gw suka bukunya soalnya masih sangat relevan matematikanya.
Christopher Bishop - Pattern Recognition and Machine Learning. Buku goated yang bahas
Karena banyak yang nanya soal belajar Rust dari mana, gw pengen streaming belajar Rust dari awal pake course Rustling. Bakal streaming malam ini jam 7:30 WIB. Bisa langsung join lewat link ini
Akhirnya lulus skripsi bareng
@adrianardizza
dan
@radn_desmoines
. Genuinely can't do it without you. Dan jadinya project PaaS nya, pemasak-infra jadi public dan bisa diakses di repo . Perlu dicatat kalau ini BELUM PRODUCTION READY. Masih fokus ke kebutuhan
Baru sadar kalo belajar new tech biasnya project awalnya selalu ngide
python -> belajar ai
arduino + raspi -> smart home
linux -> arch linux + dwm
rust -> raft consensus algorithm
ocaml -> c compiler
vulkan -> bikin renderer from scratch
android -> project pake java nighmare
Kita kan role nya Software Engineer, dimana engineer itu kerjanya memecahkan masalah teknis. Suatu masalah itu kan cara memecahkannya bisa beda tergantung skalanya. Kalo diumpamakan masalahnya butuh air, kalo 1 orang itu bisa pake gelas, 1 keluarga butuh sumur. 1 kota ya butuh
Nerd, Usia 24 Tahun, minim kehidupan sosial, ngekos, background IT, cuma keluar kamar untuk makan, waktunya dipake untuk bangun bisnis affiliate. Single focus. Sudah dilakukan 4 tahunan.
Ya udah sekarang mari ngoding fizzbuzz pake bahasa yang sering dipake orang. Mari pake Typescript. Tapi typescript doang kurang asik, mau metaprogramming pake type doang. Mustinya kalo typescript pada ngerti yaa kaannn...
Karena kemaren banyak yang bingung sama assembly, hari ini mau leetcode pake bahasa yang lebih umum. Gw mau leetcode pake YAML. Kan kalo YAML mustinya programmer udah pada familiar
Rust ini memang awalnya dibikin buat system programming language. Jadi sering dibanding ke c, c++, go. Nah go itu juga awalnya dibikin buat system programming language buat replace c++. Tapi sekarang banyak dipake buat crud juga kan.
Rust sekarang bisa dipake buat crud dan
@evanpurnama
System language? Yang niche ke orang2 butuh performance lebih atau more secure/type safe system.
Bikin JS builder, LB, workflow, IDE, game
Bukan tipikal CRUD based system.
cc
@mustafasegf
mungkin punya counter example :D
Terinspirasi dari
@maulanafikri455
yang ngoding leetcode setiap hari, gw jadinya pengen nge leetcode lagi. Tapi kalo pake bahasa mainstream kurang asik rasanya, jadi gw coba leetcode pake assembly. Kalau mood pengen coba setiap hari leetcode tapi pake bahasa beda-beda
Kalo ngoding secara umum, udah nyoba-nyoba dari sd. Tapi baru niat ngodingnya pas sma. Waktu itu suka ngoding arduino, web sama ngoprek linux. Gw juga suka ngoding banyak banget hal, dari assembly sampe haskell dihajar. Ilmu teoritis kayak computational, type, programing language
selama 2 minggu ini
nixos -> mac
vim -> intellij
ngoding 1 file -> clean code, clean architecture, design pattern
rust -> java
ngoding barbar -> tdd
and the worst is. I don't thing i hate it ๐ญ
apakah ini tanda penuaan?
lemah kalo kalian gabisa jawab soal leetcode satu ini,
ss submitan jawaban sesuai bahasa pemrograman yang kalian pake di rep, kita lihat siapa yang paling cepet!!
Mau jelasin dikit soal monad, yang lebih tepatnya Option/Maybe monad di typescript. Sering kali kalo ngoding typescript itu punya data seperti number | undefined. kalo mau pake data itu perlu pakai type guard buat di cek tipenya undefined apa engga.
dalam kasus ini, gw pengen
Ini cukup berasa pas jadi asdos dan perlu jelasin apa itu file, extention, cara pake google, dll ke mahasiswa baru. Ini saking sering terjadi sampe temen gw
@ro_rre
bikin yang ajarin basic cara search di google, apa itu file dan directory, cara baca error,
Young college students are arriving not grokking what a filesystem is. Someone told me they did not know files on Windows had an extension.
It sure seems like we had to teach our parents how to use a printer, and now we'll need to do the same for our kids.
Not fair. ๐ฅฒ
Mencoba membuat os sendiri. Step 1 berhasil booting ke 16 bit mode dan coba print ke vga buffer. Pengen sekalian shitposting hololive. Next stop real mode dengan interupt table
Kemarin sudah 50% progress ngerjain course Rustling nya untuk belajar Rust. Malam ini akan dilanjutkan sampai selesai. Akan lanjut streaming jam 7:30 WIB. Bisa langsung join lewat link ini
lagi penasaran cara kerja react 18 ssr streaming jadi tadi coba buka dev tool. Ternyata konsep nya menarik banget dan engga begitu susah dicernanya. Ternyata dari 1 request itu bakal di stream html nya. Awalnya di render html dengan fallback suspense. Nanti akan di kasih html
Code editor pake neovim. Terminal ada tmux yang pake vim motion. Buat pindahin window pake window manager yg setup vim motion. Chrome pake vimium buat navigasi pake vim motion. Pdf reader pake zathura yg ada vim motion. Yang belum jadi vim cuman notion buat note taking. Terkadang
Pernah bantuin orang buat bikin soal test interview. Gw kasih fizz buzz masih banyak yang engga bisa. Sampe manager it nya bilang "gw udah 10 tahun engga ngoding aja masih ngerti itu apa"
If money isn't a problem, gw pengen dedikasiin banyak waktu buat hobi komputer gw. Salah satu impian besar gw pengen bisa bikin fabrikasi chip diy, bikin bahasa sendiri yang compile ke chip itu dengan os dan bios custom, dan bisa render website pribadi di browser bikinan sendiri.
Ada yang nanya, "what will you do if money is not a problem?"
Trus jawabannya malah sesuatu yang bisa kita lakukan sekarang, tanpa harus punya unlimited money.
Nice plot twist kan?
Lessons learned dari FB era debat (2011an?):
Sebagian besar debat itu (terutama kalau ego sudah involved) wasting time. Mending lakuin hal lain yang lebih bermanfaat
Simply abaikan/cuekin debat dan move on - in most cases - adalah better choice
Choose what we don't reply
@_fikri_auliya
ku taro list library powerful yg sering ku pake ya
compile time checked sql query
http handler extract data directly
tracing + logging
configuration file
password hash
Abis nge setup zerotier di raspberry pi sama laptop. Jadinya SSH (FE dev can't relate) ke raspi bisa over public internet kalo di jaringan zerotier yg sama. Trus di pc dienable wake on lan (wol) nya. Jadinya sekarang bisa nyalain pc dari mana aja. Ini berguna buat gw yang ngoding
Selain belajar buat belajar aja. Belajar suatu hal itu bisa juga dipake ilmu nya di bidang lain. Misalnya HTMX mungkin belum ada lokernya. Tapi konsep return html dan dom swapping itu dipake di react server component. Jadinya ilmu nya tetep bermanfaat
Ini jawaban praktikal buat kaum FOMOan, mental cuan cepet, takut belajar yg gk ada duikny.
Belajar hal baru itu penting buat ngelatih lo buat belajar. Learn to learn. Di teknologi itu banyak banget hal baru yg sebenernya konsepnya gak baru-baru banget.
Sesi belajar Rust pakai rustling ini sudah sampai 50% progres nya. Makasih yang sudah nyimak live nya. Kalau yang ketinggalan tadi bisa juga nonton video vod nya. Besok akan diusahakan live stream lagi di jam yang sama sampai selesai.
Karena banyak yang nanya soal belajar Rust dari mana, gw pengen streaming belajar Rust dari awal pake course Rustling. Bakal streaming malam ini jam 7:30 WIB. Bisa langsung join lewat link ini
Karena kemaren banyak yang bingung sama assembly, hari ini mau leetcode pake bahasa yang lebih umum. Gw mau leetcode pake YAML. Kan kalo YAML mustinya programmer udah pada familiar
Terinspirasi dari
@maulanafikri455
yang ngoding leetcode setiap hari, gw jadinya pengen nge leetcode lagi. Tapi kalo pake bahasa mainstream kurang asik rasanya, jadi gw coba leetcode pake assembly. Kalau mood pengen coba setiap hari leetcode tapi pake bahasa beda-beda
kalo tipe nya tau ada berapa, bisa pake | kayak `string | number` nanti bisa di cek pake `typeof`. kalo dinamis nya bentuk object, bisa pake | juga nanti cek nya pake `"key" in obj` tapi harus unik.
Kalo tipenya bisa apa aja, tapi tau pas compile, bisa pake unknown.
kalo butuh
Menurut gw sekarang mengasumsikan orang ngerti komputer itu asumsi yang engga valid. Kalau device pertama yang mereka pegang itu ipad/hp, mereka engga ke introduce cara pake mouse, konsep "double click", apa itu file dan folder. Kalau pas pake pc nanti semua kerjaannya bisa di
@jauhararifin10
@mustafasegf
@ro_rre
kalian org tech tuh hidup di bubble ๐
masih ada jutaan org yg perlu di ajarin cara pake mouse ketika sedang bekerja ๐
Raycasting in DOS VGA mode. Wolfenstein 3D kinda of rendering. Managed to make it in one day, pretty fun project overall. First time coding in DOS and first time making my own renderer from scratch
Lagi bikin guide optimisasi Rust compile time. Buat incremental build yang tadi nya 4s bisa sampe dibawah 1s. Nanti ditunggu aja blog nya tentang post ini
Kurang setuju sama penggunaan useReducer disini. useReducer berguna ketika logic perubahan state bisa di model kan seperti finite state machine. Kita dispatch next state nya dan ada logic perubahan state. Kalau butuh nya previous state, bisa pake useState dijadiin 1 object trus
[small thread]
pengen sharing sedikit cara yang kupake biasanya kalau terpaksa harus banyak useState
salah satu cara untuk ngakalinnya biar lumayan "clean code" adalah pake useReducer. Tapi, gimana?
(continue)
Gw denger ngoding itu engga perlu matematika. Katanya perlu matematika dasar aja cukup. Yaa udah, gw pengen ngerjain coding problem pake matematika kuliah aja. Gw bakal ngerjain pake lambda calculus.
Nah kalo kalian penasaran ini kenapa ngoding jadi bermatimatian eh maksunya
Ya udah sekarang mari ngoding fizzbuzz pake bahasa yang sering dipake orang. Mari pake Typescript. Tapi typescript doang kurang asik, mau metaprogramming pake type doang. Mustinya kalo typescript pada ngerti yaa kaannn...
ada opini
@t3dotgg
yang gw suka banget. dia ngeliat skill buat shipping product itu dalam spektrum. dari computer hardware ke user. developer pas bilang "stack" nya apa itu nge asumsiin dia ngambil suatu slice kayak fullstack itu be fe doang. padahal bisa aja dia lebih user
I donโt really like the term โfull stackโ
Because what is the bottom and what is the top?
Is backend who canโt operate Linux is full stack?
Is people who canโt write web FE but able to write mobile full stack?
Just say the word: product engineer.
Pertama kalo belajar Rust juga bingung. Drop setelah belajar dikit. Beberapa bulan setelah itu belajar Rust lg karena butuh, eh ternyata suka. Belajar ngoding itu dibawa asik aja. Ga semuanya harus suka dan ngerti pas pertama kali belajar
Mangkanya, ada alternatif kaya Go atau C.
Programming should be fun :)
Donโt stress you out on something that you donโt understand (yet). Tidur dulu, besok terusin.
Pelan, pelan.
Ga ada orang yang langsung paham dalam semalam.
Salah satu tugas bootcamp buat rewrite java ke golang. Karena lagi gampang tugasnya waktunya cook. Bikin Result monad di golang ๐ช(I will literally do anything to code functionally)
@as_sulthoni
gw punya kebiasaan lain sih. mikir what's the worst possible scenario and am i ok with it? Sering kali worst case scenario nya engga begitu buruk, jadi bodo amat setelah itu wkwkwk
Lagi mainan
@Cloudflare
pingora programmable reverse proxy pake Rust. Asik juga langsung ngoding buat reverse proxy nya. Belum ketemu cara buat serve static file dan cek koneksi tls. Tapi lumayan ada progress
2004 saya belajar C dan C++ buat belajar pemrograman grafik 3D dgn DirectX.
Komentar programmer PHP milenial zaman itu: โngapain belajar yang ga ada duiknya.โ
2024 retrocoding pake Windows API dan stack lama.
Komentar programmer PHP genZ: โngapain belajar itu, ga ada duiknya.โ
Kalo dipikir-pikir, SOLID principle itu lebih ke functional dibanding oop.
- Single responsibility: small composible function
- Open/Closed Principle: higher order function
- Liskov Substitution Principle: referential transparency
- Interface Segregation Principle: small
Menu oprekan hari ini. Balik belajar digital logic design. Ini lagi buka lagi materi kuliah lagi buat inget-inget lagi caranya gimana wkwk. Pengen suatu saat design chip RISC-V sendiri.
I'm sharing what I've been trying to make together with
@radn_desmoines
and
@adrianardizza
in the past 3 months. I'm building a PaaS for my university inspired by
@Railway
. The problem with the existing OSS solution is it doesn't scale with 400+ concurrent builds.
What I'm
Ini karena lagi bashing php dan banyak defender nya gw mau ngasih opini. Setiap bahasa/framework itu punya kulturnya sendiri. Contoh java punya kultur serba oop, abstraction, tdd. Php juga bawa kultur yang kalo dilihat tidak peduli soal security. Atau mungkin dari laravel nya
@azvyae
Kalo target nya mengerti ai, bisa coba mengerti kalkulus, statistic, dan aljabar linear. Trus coba baca paper ai dan coba implement ulang apa yang mereka tulis. Gw dapet guide ini dari temen ai researcher
Don't reinvent the wheel ini cara belajar paling bagus menurut gw. Software itu isinya abstraksi semua. Kalau mau di "unbox" abstraksi nya paling gampang belajarnya dari coba membuat ulang abstraksi tersebut.
Diluar cara belajar tersebut, mau sampe kapan kita kadi pengguna doang
engga pengen ngasih 1 bahasa, pengen list bahas yang menurut gw keren aja wkwk
typed lisp
typed lisp with borrow checker
depedent type system ml family
static typed languange compiled to beam vm
one thing i still don't understand though, orang "malu" nanya di grup atau ikutan diskusi
bener bener ga paham alasannya kenapa
di telegram nemu beberapa yg gini, di kampus jangan ditanya, hampir semua kek gini, ga paham dah
Lagi nyoba coding chalanges dari
@Protohackerscom
tentang network programming. Ini abis ngerjain chalange 0 nya bikin tcp echo server. Kayaknya bakal asik kalo di coba live ngoding chalange selanjutnya. Gw bakal stream nanti malem jam 7:30 di channel Kribo Koding
Dalam matrix multiplication, sudah lama stagnan tidak ditemukan algoritma yang lebih cepat. Tapi ada approach baru yang menggunakan controlled random untuk dapat hasil yang cukup akurat dengan confidence yang sangat tinggi. Nama tekniknya RandNLA
Punya kebiasaan buat keep materi yang bagus di notion. Jadi perlu di kumpulin lagi materi Rust nya dari listnya. Yang ini perlu effort jadi kapan-kapan saja wkwkwk
Di kajian discord al-KAD lagi bahas tentang Philosophy of Software Design. Salah satu materinya untuk mengurangi kompleksitas software pakai abstraction. Salah satu konsep yang dia bawa itu ada deep module dan shallow module. Deep module yang interface nya simple dengan
lelah melihat ORM disalahin mulu ๐
aku pernah optimize spring dengan hibernate latency dari 300ms ke p99 <20ms. semua karena cuma baca dokumentasi basic hibernate dan manage connection pooling yg bener
jadi kita tau ya problemnya dimana ๐
salah satu feature rust favorite gw yang terinspirasi dari functional programming itu monad. Monad disini itu bukan monad yang complex kayak di haskel, tapi optional dan result monad. Gw bisa fokus ke happy path kode. Diakhir bisa cek dia error apa engga trus baru handle. Handle
Memikirkan jika dibuat arsitektur komputer pasca von neumann, apakah kita bisa buat hardware untuk arsitektur tersebut atau tetap menggunakan vm seperti kalkulus lambda
Salah satu cara biar lebih jago typescript itu latihan bikin type. Kalo bingung bisa coba imlementasi type bawaan typescript. Bisa liat type nya dari
Kalo udah stuck bisa liat buat liat cara typescript implement nya.
Happy typing
salah satu hal yang gw suka kalo ngoding rust, saking bagus macronya, ada macro buat nulis html yang mirip jsx dan bisa di render sebagai string. Jadinya bisa nulis full stack di satu tempat tanpa perlu pake templating yang engga type safe.
I'm currently exploring DOS and frustrated that I keep using ls command instead of dir. So I make my own ls command in intel 8086 assembly. Slowly turning DOS to GNU
Lagi kurang enak badan, dari pada makin bete mending ngoding Rust aja. Explorasi pingora udah ketemu cara serve static file. Kemarin sempet bingung gimana caranya karena lupa bikin keep-alive nya false. Memang barebone banget ini reverse proxy ya wkwkwk.
Lagi mainan
@Cloudflare
pingora programmable reverse proxy pake Rust. Asik juga langsung ngoding buat reverse proxy nya. Belum ketemu cara buat serve static file dan cek koneksi tls. Tapi lumayan ada progress
Gw ngeliat outcome itu gabungan dari beberapa skill yang gw punya. Jadi dengan punya banyak skill, gw bisa lebih banyak pilihan outcome nya.
Untuk bilang generalis vs spesialis bisa di bilang kalo lebih tepatnya pertanyaan mau dalemin 1 skill atau banyak skill. Dunia SE ini
Klo di case gw, agak susah jd pure generalist๐
Satu aja setengah mati daleminnya. Tp paling tidak, T-shaped skill sih. Spesialis di satu bidang, tp expand knowledge jg ke bidang2 serumpun utk memperkaya pemahamannya.
@ibamarief
rust by default build dev mode. you need `--release` flag and strip debug symbol in cargo.toml.
For efficiency, i feel like rust steep learning curve makes the first couple week dev experience not productive. it took me 1-2 week to feel productive. After that, i feel faster
ingin bahas dikit soal vercel image optimization. quota gratis image optimization itu engga banyak. sering kali yg abis duluan kalo deploy ke vercel. salah satu cara buat image nya tetep responsive itu bikin manual image dengan ukuran beda.
bikin beberapa image pake imagemagick,