Install Deepseek R1 on Linux
How to install ollama with deepseek R1 (that will also install ROCm if you are using AMD GPU).curl -fsSL https://ollama.com/install.sh | shsudo chown -R ollama /usr/share/ollama # just in case#...
View ArticleHow to use Google Pub/Sub Locally with Golang
As much as I didn't like Google PubSub (because of it's inefficiency), especially compared to normal database that forced to use as queue (eg. Tarantool can do 200k events/s, Clickhouse can do 900k...
View ArticleBackup and Restore Cassandra Database for Development
Last time we're dumping from Cassandra and restore it to Clickhouse for proper analytics. To do that we need cqlsh and cassandradumppip install -U cqlshpip install cassandra-driver# list all...
View ArticleClickhouse in Kubernetes / Minikube using Bitnami Helm Charts
Normally for my projects I use docker-compose + normal bind persistence directory to avoid data loss for database (and keep it fast and simple to maintain), because it's simpler to upgrade version than...
View ArticleDump/export Cassandra/BigQuery tables and import to Clickhouse
Today we're gonna dump Cassandra table and put it to Clickhouse. Cassandra is columnar database but use as OLTP since it have really good distributed capability (customizable replication factor,...
View ArticleWriting UDF for Clickhouse using Golang
Today we're going to create an UDF (User-defined Function) in Golang that can be run inside Clickhouse query, this function will parse uuid v1 and return timestamp of it since Clickhouse doesn't have...
View ArticleOLLAMA with AMD GPU (ROCm)
Today we're gonna test ollama (just like previous article) with AMD GPU, to do this you'll need to run docker, for example using this docker compose file:version: "3.7"services: ollama:...
View ArticleBenchmarking LLM models
Today we're gonna try to use ollama to generate some code, it quite easy you just need to install it using curl like this, and install some model:curl https://ollama.ai/install.sh | sh# these models...
View ArticleInstall Ruby 2.7 on Ubuntu 22.04
So I have a past project from 2014 that still running until now (5 independent services: 3 written in Golang - 2 read-only service, 2 write-only service written in Ruby, 1 PostgreSQL, 1 Redis, ~45GB...
View ArticlemTLS using Golang Fiber
In this demo we're going to create mTLS using Go and Fiber. To create certificates that can be used for mutual authentication, what you need to have is just an OpenSSL program (or simplecert, or mkcert...
View ArticleBenchmarking docker-volume vs mount-fs vs tmpfs
So today we're gonna benchmark between docker-volume (bind to docker-managed volume), bind/mount-fs (binding to host filesystem), and tmpfs. Which one can be the fastest? here's the docker...
View ArticleNATS: at-most once Queue / simpler networking
As you might already know in the past article, I'm a huge fan of NATS, NATS is one of the fastest one at-most-once delivery non-persistent message broker. Unlike rabbitmq/lavinmq/kafka/redpanda, NATS...
View ArticleChisel: Ngrok local-tunnel Alternative
So today we're gonna learn a tool called chisel, from the same creator of overseer that I usually use to graceful restart production service.What chisel can do? It can forward traffic from private...
View ArticleFree VPN on Linux
Usually I use extension in firefox or chrome, like UrbanVPN, but now I know that Cloudflare provides free VPN, I have problem where my ISP always block DNS queries, where my work mostly heavy on Web,...
View ArticleUsing Vault with Go
So today we're gonna use vault to make the configuration of an application to be in-memory, this would make debugging harder (since it's in memory, not on disk), but a bit more secure (if got hacked,...
View ArticleKEDA Kubernetes Event-Driven Autoscaling
Autoscaling mostly useless, if the number of host/nodes/hypervisor is limited, eg. we only have N number of nodes, and we tried to autoscale the services inside of it, so by default we already waste a...
View ArticleSimple Websocket Echo Benchmark
Today we're gonna benchmark nodejs/bin+uwebsocket with golang+nbio. The code is here, both taken from their own example. The benchmark plan is create 10k client/connection, send both text/binary string...
View ArticleDockerfile vs Nixpacks vs ko
Dockerfile is quite simple, first we need to pick the base image for build phase (only if you want to build inside docker, if you already have CI/CD that build it outside, you just need to copy the...
View ArticleGeoSearch Database Benchmark
So today we're gonna benchmark database that can store latitude-longitude (GPS coordinate), the benchmark spec is unbatched INSERT 100K records of (id, lat, long) tuple, search 200K times (or until...
View ArticleHow to use DNS SDK in Golang
So we're gonna try to manipulate DNS records using go SDK (not REST API directly). I went through first 2 page of google search results, and companies that providing SDK for Go were:IBM...
View Article