Randomly I am thinking can we use the Google new Nano Banana Pro model as a “browser engine”? The goal was to see how it handles rendering a standard HTML page compared to a modern web browser. The Setup I asked ChatGPT 5.1 Thinking to create it with this prompt Create a html for a mock business profile landing page about independently owned convenience store. It should be 1 file…
Path of Exile Legacy of Phrecia has been going on for some time, it introduce all new ascendancies so let’s see if what new build stands out. Finding OP build in the event The subreddit r/PathOfExileBuilds is a good place to start mining out information. Sumarize OP and bait build combining all the discussions. for each reddit thread get all 400 comment with 4 depth -…
I have the Hacker News data in the form of Parquet files. It is parsed with my hn-data-fetcher project. I will be using DuckDB to explore the Hacker News data. I found it much faster than SQLite. Both in term of performance and ease of use as I don’t need to do indexing on the table to make it workable. 1import duckdb 2conn = duckdb.connect() 3conn.sql('CREATE VIEW hn AS SELECT * FROM…
Sorting is one of those basic algorithms that new programmer and CS students learn. Maybe you already see the big-O comparison in Wikipedia, or few sites that visualize how the element in sorting move around like this. In this notebook, we will compare the actual time comparison of different sorting algorithms. Generating sample data First we need to get random list of integers with different…
The next iteration of agents? LLM + function calling + ReACT is the usual way. But it can only call predefined functions with predefined arguments. But smollagents do the function calling as part of code exection. It have Python runtime as part of the agent chain of thoughts. So it can call and compose the functions, do iteration, and pass larger amount of data between call (pass the whole pandas…
Alfamart and Indomart are two of the most popular convenience stores in Indonesia. For thought experiment, lets try to explore the data that we can get from OpenStreetMap about it. Do note though that OSM data is not always complete and up to date, so the results might not be 100% accurate. If you notice specific place are missing, do try to add them on OSM! Pull list of minimarket To do this, we…
Very handy guide on how to render Jupyter Notebook in Hugo. This work the best since it doesn’t require additional dependencies like nbconvert or additional daemon. Also simple enough to understand and self-maintain.
One of the features in TanyaGPT is to “watch” a YouTube video and answer questions about it. It works by pulling the video transcript as part of the LLM inference. The problem is, YouTube puts IP blocking on their public API, making the code work in my dev machine but not in the deployed production server that I have in fly.io. This is a common issue when using cloud providers, as…
Simon Willison shares his thoughts on maintaining a link blog - a curated collection of interesting links with personal commentary. What resonates with me is how link blogs serve dual purposes: they’re both a personal knowledge management tool and a way to share discoveries with others. Key points from Simon’s article that I find compelling: Link blogs help build a personal archive of…
Today, I watch a video from CGP Grey on postal code patterns. I was curious about the postal code pattern in Indonesia, so I decided to visualize it in Kodepos. I built it with help of Cursor. Lately I found it making producing code and exploring new ideas much more fun. As I can focus on what I want to do instead of how to do it and figuring out how to use this random Python library or trying to…
Feels like writting, so I dig into my GitHub repostory and refound this old blog of mine. I have few different iteration of my blog. The first one is a WordPress blog that was part of high school IT subject. Then I think I create an static nginx based website, hosted on VPS. And this one, a Hugo site originally hosted on my homelab. But my homelab die a few month ago after a brownout in my…
This site is served not from cloud or hosting service, but from a crappy consumer-grade desktop from 2008 that I store in my living room, with a Cloudflare Tunnel. Why? Because it is fun learning exercise. About the server This is a Fujitsu Mini PC, running a state-of-the art core 2 duo processor E8400 released just in 2008. It have 4GB RAM. The OS of choice is Ubuntu LTS 22.04. I upgrade it with…
This is a simple exploration of TimescaleDB, a time-series database. See the code in adhikasp/timescaledb-exploration. Comparison between databases Features MySQL 5.7 MySQL 8.x TimeScaleDB ScyllaDB Atomic transaction Yes Yes Yes No Instant alter No Yes Yes Yes Background indexing No No Yes Yes Parallel scan query No No Yes Yes Data compaction No No Yes Yes Data TTL No No Yes Yes Analytics-like…
This post is part of my GSOC journey in coala. Because aspect is still new and experimental, many things around it is still untested. Also, not all bear in coala (read: none of them) support aspect. And it will be a long time before it happen. So I think it’s important to make the migration process became more easy. In this phase, I try to polish up feature so hopefully it will became more…
This post is part of my GSOC journey in coala. In phase 2, my target is to make aspect-based configuration works. Maybe not with its full power and capabilities, but at least the core foundation must ready in coala codebase and prove that aspect could run. Starting from my previous phase, I have 3 crucial milestone to reach, which is: Intepret aspect-based configuration Passing aspects into bear…
This post is part of my GSOC journey in coala. In this week, I was writting a patch into autoflake for a new feature that could expand a wildcard import to specify each name that really was used in the code. Autoflake and how it work Short introduction. Autoflake is a tool for automatically remove unused imports, unused variables, and useless pass statemant from Python code. It was mainly…
This post is part of my GSOC journey in coala. Even though aspect project in coala still in its infancy, there are already exist a basic prototype of itself in coala codebase. Today, I’ll dive into these code and try to analyze the core part about aspect. Seek First to Understand, then to be Understood That is a quote from the 7 habbit of Stephen Covey. It is a habbit for social interaction,…
This post is part of my GSOC journey in coala. With the emerge of aspect project in coala, come the need to redefine how configuration works and define various new parameter that should control how the aspect should run. Currently, the mockup for those configuration could be found on cEP-0005 and look like this 1[all] 2# Values can be added to inherited ones only, not within the section because 3#…
This is just a rant on how I got stuck on Open Source community and loving it. 6 month ago, at about October 2016, I just a normal college student who love programming. I like reading about new, hottest framework or library on hacker news, exploring on Github, or just read some random blog post and articles. I feel kind of frustrated though. I do nothing productive or creating something useful.
Hey, I’m Adhika. I’m a software engineer driven by a passion for solving real-world problems by shipping products that users love. I enjoy building tech solution and applied AI products. Currently, I’m a Lead Software Engineer at Grab, where I create services that help millions of merchants across Southeast Asia grow their businesses. One of the most exciting projects I’ve…
I run several open source apps, feel free to use them. This provided on best-effort basis and I may change and became unavailable without notice. ArxivTok - a TikTok-like interface for browsing arXiv papers. Forked from Miguel07Alm/arxivtok MCP Client CLI - a command line interface for interacting with LLM model, implementing Model Context Protocol. TanyaGPT - a simple cross-platform chatbot…