Skip to main content

Posts

AI coding tools fragmentation

Executive Summary The discussion centers on a tweet by DHH (David Heinemeier Hansson) from January 10, 2026 , arguing against the fragmentation of AI coding tools. DHH contends that developers do not want a separate CLI for every model provider (e.g., Anthropic’s Claude Code, OpenAI’s tools). Instead, he advocates for a unified interface —specifically citing OpenCode —that allows developers to swap models within a single environment. The thread reveals a three-way tension in the developer community between convenience (unified tools), corporate control (walled gardens), and sovereignty (running local models). Key Discussion Themes 1. The Fatigue of Fragmentation The Problem: Developers are exhausted by "model choice fatigue" and the need to manage multiple CLIs. As Rob Zolkos noted, the fragmentation is absurd, leading some to write scripts just to manage their AI CLIs. The Desire: There is a strong consensus (DHH, Will McGugan, Mustafa Ergisi) that a "universal s...
Recent posts

Ubuntu 22.04 Wayland share screen

 After switching to Dell XPS 13 which running Ubuntu 22.04, I noticed that trying to share screen through Google Meet, it shows this:-    This - Use operating system settings, I never saw it before. Usually here we will be presented the windows that we want to share.  It turned out that screen sharing in Ubuntu 22.04 indeed an issue, due to the use of Wayland instead of Xorg as its display server. Many suggested to disable wayland and back to use Xorg. I try to avoid that since Wayland seems to works fine so far. After some searching, the conclusion seems we can make this working by installing some packages. sudo apt install xdg-desktop-portal xdg-desktop-portal-gnome But it turned out that I have already installed the packages! So what were the problems?  Well, turn out it's more psychological than technical. Since the pop up is different than what I'm used to before, I never click the allow button. But clicking the allow button we will see this:-   Which...

Creating tag from github web UI

 Problem: I have Github Actions that automatically create a new release when certain tag is pushed. The only way to create tag from github web interface is to create a new release. The Actions[1] I'm using however failed with error message:- Validation Failed: {"resource":"Release","code":"already_exists","field":"tag_name"} If the tag was created from release. We can create the tag using another Actions, there are a number of Actions that provide that. First I try using Github Script:- name: "create-tag" on: workflow_dispatch: inputs: tagname: description: 'Enter tag' required: true type: string jobs: create_tag: name: "Create tag" runs-on: "ubuntu-latest" steps: - name: Create tag ${{ inputs.tagname }} uses: actions/github-script@v5 with: script: | github.rest.git.createRef({ ...

Google Family Link Android Device isn't ready

 When setting up Family Link for my kid, the setup keep failing and just showing very unhelpful error message "Something went wrong ..". Since the phone doesn't has family link installed yet, I try to login with my account first and installed Family Link app. Opening the app, on my kid's account status, I can see it shows "Device isn't ready for ...". I removed my account (since family link account can't share device) and try to add my kid's account again. This time the setup went through! So if you're facing similar issue and doesn't has Family Link app installed on the device yet, try to install the app with your own account first, before setting up your kid's account.

VS Code editor in browser

 There are 2 options, basically:- code-server OpenVSCode What's the difference? Excerpt from code-server's FAQ:- code-server and OpenVSCode-Server both allow you to access VS Code via a browser. The two projects also use their own forks of VS Code to leverage modern VS Code APIs and stay up to date with the upsteam version. However, OpenVSCode-Server is scoped at only making VS Code available in the web browser. code-server includes some other features: password auth proxy web ports certificate support plugin API settings sync (coming soon)  So I decided to try code-server. Installation is straightforward, as copied from the docs page:- curl -fsSL https://code-server.dev/install.sh | sh After that you can run it as:- PORT=3000 code-server To actually access that from my laptop, I just use ssh port forwarding:- ssh -L 3000:localhost:3000 my-server I can then access it through my browser at https://localhost:3000/. You'll need to copy password from ~/.config/code-server/co...

PHP with docker

A friend asking about a PHP library and I decided to test whether that library is working. But I don't have PHP environment setup (we're Python shop btw). But thanks to docker, that's easy these days. docker run -it --tty --rm --volume $PWD:/app --user $(id -u):$(id -g) composer require google/apiclient:^2.0 Then we just need to create the script to run, still in the same directory:- include_once __DIR__ . '/vendor/autoload.php'; $GCSE_API_KEY = "nqwkoigrhe893utnih_gibberish_q2ihrgu9qjnr"; $GCSE_SEARCH_ENGINE_ID = "937592689593725455:msi299dkne4de"; $client = new Google_Client(); $client->setApplicationName("My_App"); $client->setDeveloperKey($GCSE_API_KEY); $service = new Google_Service_Customsearch($client); $optParams = array("cx"=>self::GCSE_SEARCH_ENGINE_ID); $results = $service->cse->listCse("lol cats", $optParams); And we can run that script again using docker:- docker run -it --...

Receiving Email Using SES

There's service like Pawnmail (seem to be down now) that allow you to receive email on your custom domain. But that's a third party and mean adding another one into your trust list. Since we already using AWS, I'm wondering if it has anything that can receive email. They have SES that usually used to send email. But turn out SES can also receive email. So just add the MX record in your DNS to inbound-smtp.us-east-1.amazonaws.com. Next is to configure the domain and address to receive the email. The received email need to be forwarded somewhere like to your application for processing but that's overkill. I need something simpler. Here come SNS, Simple Notification Service. So the email can be forwarded to an SNS Topic. From the SNS Topic you can create Subscription that will forward the email to your actual email, finally. SNS will send the email as JSON so if you received HTML email that will be appear in your inbox as is. But since I can read HTML, t...