Vee Satayamas

Vee Satayamas @veer66

About: I'm a Thai-Lao-English-speaking software engineer who has worked on data pipelines, web/app back-end, and multilingual text processing.

Location:
SE Asia
Joined:
Oct 31, 2017

Vee Satayamas
articles - 101 total

Global Variables in Python Are Not That Global

In the context of programming in the 1980s, "global variables" likely brings to mind languages like...

Learn More 0 1Dec 13

A lesson about abstraction from Arch Linux

I was impressed by pkgsrc because it is a powerful package management system that defines packages...

Learn More 0 0Nov 23

Reasons to use Emacs in 2025

Expanding Emacs functionality is as simple as defining a new function instead of creating an entire...

Learn More 1 0Sep 2

Reasons to use Common Lisp in 2025

Reasons to use Common Lisp in 2025

Learn More 1 0Aug 17

My programming environment journey

No one actually cares about my programming environment journey, but I’ve often been asked to share...

Learn More 0 1Jul 19

I have been told to avoid linked lists.

I've been told to avoid linked lists because their elements are scattered everywhere, which can be...

Learn More 0 0Mar 23

JSON Manipulation

There are many ways to manipulate JSON. I reviewed a few rapid ways today, which are using a command...

Learn More 0 0Jan 19

Four Reasons that I Sometimes Use Awk Instead of Python

Python is a fantastic language, but in specific situations, Awk can offer significant advantages,...

Learn More 0 0Dec 31 '24

A shell script that I usually run after installing SBCL

I usually run this shell script after installing SBCL because to develop a program in Common Lisp...

Learn More 0 0Jul 21 '24

Pyenv and Pipenv on Fedora

Some projects or organiztions use Pyenv and Pipenv, so you may need to install them.

Learn More 5 1Jul 14 '24

My frequent mistake in Go

My frequent mistake in Go is overusing pointers, like this unrealistic example below: type BBox...

Learn More 1 2Jun 10 '24

SQL generation: Golang's builder pattern vs Clojure's persistent map

I worked on a TODO code assignment for showing off my skills, and more importantly, showing my weak...

Learn More 1 0Jun 8 '24

Lisp: simplifying my problems through code

I struggled to fix bugs in my custom bilingual alignment tree. Unlike standard trees from libraries...

Learn More 0 0May 21 '24

Dynamic vs Static typing (again)

Static type analysis excels in error checking, autocomplete, and native code generation. Conversely,...

Learn More 0 0Mar 20 '24

Lisp-style list in Rust

It seems managing singly-linked lists with shared sub-lists using RAII can be tricky. While I...

Learn More 5 0Mar 20 '24

Yet another RocksDB browser

I'm tired of checking contents of my database in RocksDB by coding. So I created a GUI tool called...

Learn More 2 0Feb 14 '24

Different languages have different core data structure

Sometimes I don't aware that I use different data structures. [1,2,3] in Rust is an array. [1,2,3]...

Learn More 0 0Jan 5 '24

[Programming Notes] Pseudo-REPL-driven programming in Rust with Evcxr and Emacs

I want to develop my Rust library more interactively with Lisp-style read-eval-print loop (REPL). So...

Learn More 5 0Nov 14 '23

Testing subroutines in Rust, Common Lisp, JavaScript, and other programming languages, using either automatic or manual methods

Compile-time type checking is a great way to catch errors early, but it is not a guarantee of...

Learn More 0 0Oct 4 '23

ข้อได้เปรียบในการใช้ Rust ทำ web backend

มีผู้ถามเข้ามาในกลุ่มตามหัวข้อ ผมก็เลยเอาคำตอบมาเรียบเรียงไว้อีกที นอกจากประสิทธิภาพแล้ว Rust...

Learn More 0 0Oct 1 '23

โปรแกรมและโปรแกรมเชิงวัตถุ

(เคยโพสต์ที่ qua.name เมื่อ 20 กันยา ค.ศ. 2023)- โปรแกรม คำสั่งคำสั่งเดียวหรือหลายๆ...

Learn More 0 0Oct 1 '23

สัญญาอนุญาตสำหรับซอฟต์แวร์เสรี

(โพสต์เมื่อต้นเดือนกันยา 2023) ...

Learn More 0 0Oct 1 '23

Configuring Emacs, Clojure, and cljKondo in one minute

Given you have Emacs 29.1 and JDK on your GNU/Linux. Install Clojure wget...

Learn More 1 0Sep 30 '23

The worst mistake that I made in Common Lisp programming

My programs have defects because some functions destroy or mutate shared data. I avoid mutating...

Learn More 1 0Jan 27 '23

How to use Cider with Shadow-cljs

Run shadow-cljs npx shadow-cljs -d nrepl/nrepl:1.0.0 -d cider/cider-nrepl:0.28.7 cljs-repl app Open...

Learn More 1 0Dec 2 '22

Where static type checking and type annotation are shining

Many teams don't test their functions separately. They run the whole project to see the result. When...

Learn More 4 0Aug 12 '22

Parallelly processing a stream in Common Lisp

My computer has many cores but doesn't have enough RAM to store the whole data. So I usually need to...

Learn More 4 0Aug 8 '22

Error handling in fetching data via HTTP

Fetching data from REST APIs or a plain HTTP server is usually a part of my work. Many problems may...

Learn More 4 0Jul 17 '22

Reading lines using Flexi-streams on a Zstd stream is not fast.

I use Flexi-streams to read 1,000 lines from a ZSTD archive and find the average length of lines. My...

Learn More 4 0Jul 15 '22

Reading lines from a Zstd archive in Common Lisp

Reading lines from a Zstd archive in Common Lisp I have a big line-separated JSON file,...

Learn More 5 0Jul 13 '22