<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Ai on Daily Scream</title>
    <link>https://blog.jmarhic.com/tags/ai/</link>
    <description>Recent content in Ai on Daily Scream</description>
    <image>
      <title>Daily Scream</title>
      <url>https://avatars.githubusercontent.com/u/10737949?v=4</url>
      <link>https://avatars.githubusercontent.com/u/10737949?v=4</link>
    </image>
    <generator>Hugo -- 0.167.0</generator>
    <language>en-us</language>
    <lastBuildDate>Wed, 20 May 2026 23:17:20 +0900</lastBuildDate>
    <atom:link href="https://blog.jmarhic.com/tags/ai/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>May 2026 Update - OpenCode and CTF</title>
      <link>https://blog.jmarhic.com/post/2026-05-20-may-update/</link>
      <pubDate>Wed, 20 May 2026 23:17:20 +0900</pubDate>
      <guid>https://blog.jmarhic.com/post/2026-05-20-may-update/</guid>
      <description>&lt;p&gt;A few days ago, there was a trending post on HN called &amp;ldquo;The CTF scene is dead.&amp;rdquo; (&lt;a href=&#34;https://kabir.au/blog/the-ctf-scene-is-dead&#34;&gt;link&lt;/a&gt;), in which the author laments that CTF (capture the flag, &amp;ldquo;hacking&amp;rdquo; competitions) are dead due to being mostly solvable by AI, which actually made me want to try it!&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ve actually never done any CTF, so after some research, I ended up doing the first 15 levels of the OverTheWire &lt;a href=&#34;https://overthewire.org/wargames/bandit/bandit0.html&#34;&gt;Bandit&lt;/a&gt; game. Frankly it wasn&amp;rsquo;t super interesting (mostly running find commands with the right flags&amp;hellip;) due to it being aimed at absolute beginners.&lt;/p&gt;</description>
    </item>
    <item>
      <title>April 2026 - Happy Easter</title>
      <link>https://blog.jmarhic.com/post/2026-04-05-happy-easter/</link>
      <pubDate>Sun, 05 Apr 2026 12:45:58 +0900</pubDate>
      <guid>https://blog.jmarhic.com/post/2026-04-05-happy-easter/</guid>
      <description>&lt;p&gt;I&amp;rsquo;ve been in a &amp;ldquo;space&amp;rdquo; period lately. Been reading &lt;a href=&#34;https://www.goodreads.com/book/show/54493401-project-hail-mary&#34;&gt;Project Hail Mary&lt;/a&gt; by Andy Weir and really enjoyed it, full of surprised and not a page felt like filler. Same as video games, most books bore me easily these days and feel like a waste of time, but this was 100% worse my time.&lt;/p&gt;
&lt;p&gt;Speaking of games, I&amp;rsquo;ve been replaying Outer Wilds. Not gonna spoil it or anything, it&amp;rsquo;s still one of the best game I know. The feeling of getting in the pilot seat, strapping the seat belts and firing the engines, en-route for whatever planet I feel like, is magical every time.&lt;/p&gt;</description>
    </item>
    <item>
      <title>January Update</title>
      <link>https://blog.jmarhic.com/post/2026-01-26-january-update/</link>
      <pubDate>Mon, 26 Jan 2026 23:23:07 +0900</pubDate>
      <guid>https://blog.jmarhic.com/post/2026-01-26-january-update/</guid>
      <description>&lt;p&gt;Almost the end of January and no blog post yet !&lt;/p&gt;
&lt;p&gt;Time to remedy that. One reason for the silence is I don&amp;rsquo;t have much going on, in the past 6 months or so Claude Code and other coding agents have made such progress that pretty much anyone at my company (former QA, designers etc) is able to contribute new features to our product. It was foreseable and gradual for the past 2 years so it&amp;rsquo;s not a huge shock, though it came faster than I expected, and last year (2025) caused a big questioning about my career as a software engineer. What value can I add when anyone with minimal experience can contribute to the codebase ? The situation is not so dire yet, I do have some answers at the present (like I&amp;rsquo;m good at debugging, experience with the whole stack, etc) but nothing that feels particularly future proof. Take debugging, it takes 30 seconds of searching to find a &amp;ldquo;vscode debugger mcp&amp;rdquo; that lets agent use VSCode integrated debugging (not that I would trust it enough to install it, but we&amp;rsquo;re bound to have an official one someday). We&amp;rsquo;re already at the point where a multiple agent setup can create an app, launch it, interact with it in a browser, and debug the backend, without human assistance. Am I a better debugger than a swarm of Claude-5.2-banana agents running in the background ? I don&amp;rsquo;t believe so.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Logic riddle (October update)</title>
      <link>https://blog.jmarhic.com/post/2025-10-15-october-update/</link>
      <pubDate>Wed, 15 Oct 2025 15:04:24 +0900</pubDate>
      <guid>https://blog.jmarhic.com/post/2025-10-15-october-update/</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;A programmer says &amp;ldquo;I have 2 kids, and the sum of their age is 4&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;The logician thinks and says &amp;ldquo;not enough info&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;The programmer adds &amp;ldquo;The eldest likes Bluey&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;The logician smiles and replies &amp;ldquo;Ah ! You must be using vibe coding a lot&amp;rdquo;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Alright, I&amp;rsquo;ve been working on a new project, &lt;a href=&#34;https://github.com/goverture/goxy&#34;&gt;Goxy&lt;/a&gt;: an OpenAI proxy that track &amp;amp; limit spending. You can set an hourly limit (say 1$ per hour) and the proxy will return 429 errors when the spend reaches the limit. That lets you release LLM using projects while being confident you won&amp;rsquo;t get hit with a thousand-dollar bill at the end of the month.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Training a small LLM</title>
      <link>https://blog.jmarhic.com/post/2025-08-16-training-a-small-llm/</link>
      <pubDate>Sat, 16 Aug 2025 00:00:00 +0000</pubDate>
      <guid>https://blog.jmarhic.com/post/2025-08-16-training-a-small-llm/</guid>
      <description>&lt;p&gt;So in my [last post about Pilish]({% post_url 2025-08-09-pillmish %}) I mentioned that a follow up to get better results would be to use a LLM with word level tokenization. It&amp;rsquo;s actually a bad idea in general because the vocabulary size can be huge, and that&amp;rsquo;s why most LLM these days use BPE or subword tokenization, but I decided to give it a quick try and train a LLM from scratch with word level tokenization. Back in 2023 I used to be quite into finetuning and all that but this year I haven&amp;rsquo;t done much low level tinkering with LLM so it was a good exercise.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Pillmish</title>
      <link>https://blog.jmarhic.com/post/2025-08-09-pillmish/</link>
      <pubDate>Sat, 09 Aug 2025 00:00:00 +0000</pubDate>
      <guid>https://blog.jmarhic.com/post/2025-08-09-pillmish/</guid>
      <description>&lt;p&gt;A few days ago, I heard about &lt;a href=&#34;https://en.wikipedia.org/wiki/Pilish&#34;&gt;Pilish&lt;/a&gt; for the first time. As Wikipedia puts it, &lt;code&gt;Pilish is a style of constrained writing in which the lengths of consecutive words or sentences match the digits of the number π (pi).&lt;/code&gt; My second thought (right after &amp;ldquo;who would enjoy doing that&amp;rdquo;) was, this sounds easy for LLMs! So I set out to make a minimal proof of concept.&lt;/p&gt;
&lt;p&gt;Long story short, the trick is to constrain the output to follow the digits of Pi—the same way that structured output (JSON, etc.) works. With Hugging Face Transformers, it&amp;rsquo;s easy to do with a custom &lt;code&gt;logits_processor&lt;/code&gt;. Here, we just constrain the tokens to those matching the desired number of characters at each step. I shared the code on &lt;a href=&#34;https://gist.github.com/MarhicJeromeGIT/d01f79363420c8c10d5aeba10c4c9960&#34;&gt;GitHub&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>August 2025 Update (GPT-5, Veo 3, Gemini CLI, Open Source)</title>
      <link>https://blog.jmarhic.com/post/2025-08-08-august-2025-update/</link>
      <pubDate>Fri, 08 Aug 2025 00:00:00 +0000</pubDate>
      <guid>https://blog.jmarhic.com/post/2025-08-08-august-2025-update/</guid>
      <description>&lt;p&gt;Lot of things going on this summer, but yesterday&amp;rsquo;s big news was the release of ChatGPT 5. I don&amp;rsquo;t have an opinion on it yet, but I guess it&amp;rsquo;s nice to have a single model (at least exposed, even if this is routed under the hood) instead of switching between 4o and o4-mini-high, etc.&lt;/p&gt;
&lt;p&gt;Recently I&amp;rsquo;ve been on the market for a &amp;ldquo;CLI Agent&amp;rdquo; (synchronous, like Claude Code, not async like Devin and co.). I&amp;rsquo;ve been using &lt;a href=&#34;https://github.com/google-gemini/gemini-cli&#34;&gt;Gemini CLI&lt;/a&gt; with good results — as long as I&amp;rsquo;m within the free PRO requests. As soon as it switches to the &amp;ldquo;flash&amp;rdquo; model it becomes useless, can&amp;rsquo;t edit a file properly, and just loops on itself. I wouldn&amp;rsquo;t pay for it. Claude Code seems too expensive; I might give &lt;a href=&#34;https://github.com/openai/codex&#34;&gt;OpenAI Codex&lt;/a&gt; a try with GPT-5, but I haven&amp;rsquo;t heard much about it.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Maths notes (1)</title>
      <link>https://blog.jmarhic.com/post/2025-07-30-maths-notes-1/</link>
      <pubDate>Wed, 30 Jul 2025 00:00:00 +0000</pubDate>
      <guid>https://blog.jmarhic.com/post/2025-07-30-maths-notes-1/</guid>
      <description>&lt;p&gt;So I started reading a paper about diffusion (the original &lt;a href=&#34;https://arxiv.org/abs/2006.11239&#34;&gt;DDPM paper&lt;/a&gt;) and I was quickly out of my depth. I needed a refresher about probabilities, and actually even more basic stuff like exponential and integration. And I thought why not share the notes here! So this blog post is the content of a python notebook about exponential and the normal distribution, exported to markdown with &lt;code&gt;jupyter nbconvert&lt;/code&gt;. It&amp;rsquo;s not deep or anything, just a nice refresher for myself. Kind of a pain to write math formulas and get them displayed in my Jekyll blog but got it working with &lt;a href=&#34;https://www.mathjax.org/&#34;&gt;Mathjax&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>July Update</title>
      <link>https://blog.jmarhic.com/post/2025-07-05-july-update/</link>
      <pubDate>Sat, 05 Jul 2025 00:00:00 +0000</pubDate>
      <guid>https://blog.jmarhic.com/post/2025-07-05-july-update/</guid>
      <description>&lt;p&gt;Just a quick update to say I am still making progress on the Password Game Agent project I mentioned last post. I have now reached up to step 16 where we need to solve a chess position&amp;hellip; Seems like a suitable job for a reasoning model !&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;Step 16 of the password game require solving a chess puzzle.&#34; loading=&#34;lazy&#34; src=&#34;https://blog.jmarhic.com/assets/images/password_game_step16.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;The main changes that enabled going from step 11 (Wordle answer) to 16 were adding a &amp;ldquo;search tool&amp;rdquo; based on &lt;a href=&#34;https://platform.openai.com/docs/guides/tools-web-search&#34;&gt;OpenAI web search tool&lt;/a&gt; and changing the reasoning effort from &amp;ldquo;medium&amp;rdquo; to &amp;ldquo;high&amp;rdquo;.
The current version of the code is here : &lt;a href=&#34;https://github.com/goverture/password-game-agent/blob/master/manually.py&#34;&gt;https://github.com/goverture/password-game-agent/blob/master/manually.py&lt;/a&gt; I&amp;rsquo;m still making regular changes and trying new ideas to make progress. I&amp;rsquo;ve noticed we often seem to get stuck for various reason (for instance a badly recognized Capcha), so I want to add a new step to ensure that we make progress consistently, or backtrack, in order to not get stuck.&lt;/p&gt;</description>
    </item>
    <item>
      <title>The password game agent</title>
      <link>https://blog.jmarhic.com/post/2025-06-18-the-password-game-agent/</link>
      <pubDate>Wed, 18 Jun 2025 00:00:00 +0000</pubDate>
      <guid>https://blog.jmarhic.com/post/2025-06-18-the-password-game-agent/</guid>
      <description>&lt;p&gt;There is this javascript game called &lt;a href=&#34;https://neal.fun/password-game/&#34;&gt;The Password Game&lt;/a&gt; where you have to chose a password, following increasingly ludicrous requirements.
Agentic coding/research is all the rage today and I got the idea of making an &amp;ldquo;agent&amp;rdquo; that would solve it. Conceptually it&amp;rsquo;s just about calling a LLM in a loop, giving it the proper tools and context until it solved the task at hand.&lt;/p&gt;
&lt;p&gt;Here&amp;rsquo;s where I got so far, using ChatGPT 4o and &lt;a href=&#34;https://github.com/microsoft/playwright-mcp&#34;&gt;Playwright MCP&lt;/a&gt; (only gave it the navigate and type tools for now). It&amp;rsquo;s solving correctly the first few steps, but gets stuck at the &amp;ldquo;sponsor&amp;rdquo; rule because it cannot view the image. The next step is to give it access to the playwright&amp;rsquo;s screenshot tool. Let&amp;rsquo;s see how far it can go !&lt;/p&gt;</description>
    </item>
    <item>
      <title>May update</title>
      <link>https://blog.jmarhic.com/post/2025-05-25-may-update/</link>
      <pubDate>Sun, 25 May 2025 00:00:00 +0000</pubDate>
      <guid>https://blog.jmarhic.com/post/2025-05-25-may-update/</guid>
      <description>&lt;p&gt;Another May update ! Not much going on as usual, rainy season arrived in Ho Chi Minh city so we get some strong rain and nice sunsets.&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;Rainy season sunset&#34; loading=&#34;lazy&#34; src=&#34;https://blog.jmarhic.com/assets/images/sunset.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;Yesterday we got the announcement that &lt;a href=&#34;https://support.mozilla.org/en-US/kb/future-of-pocket&#34;&gt;Pocket was saying goodbye&lt;/a&gt;. Kind of bummed because I found the service convenient, though I just used it as a link bookmark (I never cared much about the reading mode, I always go to the original link - though apparently that worked well with the Kobo e-reader). Anyway I switched to a self-hosted alternative immediately: &lt;a href=&#34;https://wallabag.org/&#34;&gt;Wallabag&lt;/a&gt;. It&amp;rsquo;s kind of sluggish but it does the job, and it has an Android app so I can still &amp;ldquo;share link&amp;rdquo; to save a link from my phone.&lt;/p&gt;</description>
    </item>
    <item>
      <title>My First MCP server</title>
      <link>https://blog.jmarhic.com/post/2025-05-04-my-first-mcp-server/</link>
      <pubDate>Sun, 04 May 2025 00:00:00 +0000</pubDate>
      <guid>https://blog.jmarhic.com/post/2025-05-04-my-first-mcp-server/</guid>
      <description>&lt;p&gt;So MCP is all the rage these days, and it&amp;rsquo;s not very complex: it&amp;rsquo;s basically a standardized way to provide tools to LLMs. So you have an RPC server that provides a description of the tools and the parameters they expect, and your client (a LLM based application) can connect to it and tell the LLM what tools are available, and the LLM can decide to call them when appropriate. Easy stuff and the &lt;a href=&#34;https://github.com/modelcontextprotocol/typescript-sdk&#34;&gt;SDK provided&lt;/a&gt; do most of the heavy lifting.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Welcome to Liam</title>
      <link>https://blog.jmarhic.com/post/2025-03-23-welcome-to-liam/</link>
      <pubDate>Sun, 23 Mar 2025 00:00:00 +0000</pubDate>
      <guid>https://blog.jmarhic.com/post/2025-03-23-welcome-to-liam/</guid>
      <description>&lt;p&gt;My son Liam was born this Monday! He is healthy and everything is good. I haven&amp;rsquo;t touched the computer for the week, and as a result I don&amp;rsquo;t have anything technical to share.&lt;/p&gt;
&lt;p&gt;The week before however I gave a try to &lt;a href=&#34;https://browser-use.com/&#34;&gt;Browser Use&lt;/a&gt;, a tool that allows LLMs to use the browser more effectively. I haven&amp;rsquo;t read in detail how it works but it seems to highlight the interactive areas (buttons etc.) and then take a screenshot for analysis, instead of only sending the DOM as text. It worked pretty well, I was able to fill a form entirely with it (prompting it to not press submit!), and to use Google Translate as well. I don&amp;rsquo;t have a special use case idea for it at the moment.&lt;/p&gt;</description>
    </item>
    <item>
      <title>February update</title>
      <link>https://blog.jmarhic.com/post/2025-02-28-february-update/</link>
      <pubDate>Fri, 28 Feb 2025 00:00:00 +0000</pubDate>
      <guid>https://blog.jmarhic.com/post/2025-02-28-february-update/</guid>
      <description>&lt;p&gt;February went by in a blink! I barely had any time for myself this month between work, a pregnant wife, and my 2-year-old being in the &amp;ldquo;I want papa only&amp;rdquo; phase. These days, the first thing I do in the morning is play Lego. It beats doomscrolling, but at 7 a.m. and before my coffee, it&amp;rsquo;s tough to be creative. Here&amp;rsquo;s an elephant I made this morning—the trunk moves.&lt;/p&gt;
&lt;div style=&#34;text-align: center;&#34;&gt;
    &lt;img src=&#34;https://blog.jmarhic.com/assets/images/lego_elephant.jpg&#34; alt=&#34;An elephant in Lego&#34; width=&#34;300&#34;&gt;
&lt;/div&gt;
&lt;p&gt;I&amp;rsquo;ve also rewritten a big part of the backend of &lt;a href=&#34;https://prosettr.com&#34;&gt;Prosettr.com&lt;/a&gt;. In a HackerNews thread about Donald Knuth (&lt;a href=&#34;https://news.ycombinator.com/item?id=42970240&#34;&gt;Donald Knuth&amp;rsquo;s 2024 Christmas Lecture: Strong and Weak Components&lt;/a&gt;), I learned there was an improvement to the algorithm that my app is based on, Dancing Links. I&amp;rsquo;m not going to go into much detail here (maybe in a future post), but I procured &lt;em&gt;The Art of Computer Programming&lt;/em&gt; Volume 4B, and indeed, the improved version uses half the memory, with each option&amp;rsquo;s items having only up and down links, and no left and right links—those being replaced by a &amp;ldquo;spacer&amp;rdquo; node. Here&amp;rsquo;s my original implementation in Go I made while following the chapter: &lt;a href=&#34;https://github.com/goverture/exact_cover/blob/master/examples/backtrack_aocp/main.go&#34;&gt;/backtrack_aocp/main.go&lt;/a&gt;. Then I replaced the previous implementation with this one, with some added optimizations (support for secondary columns, using channels instead of an input matrix, another channel to output the solutions, etc.).&lt;/p&gt;</description>
    </item>
    <item>
      <title>OpenAI o3-mini first impressions</title>
      <link>https://blog.jmarhic.com/post/2025-02-02-openai-o3-mini-first-impressions/</link>
      <pubDate>Sun, 02 Feb 2025 00:00:00 +0000</pubDate>
      <guid>https://blog.jmarhic.com/post/2025-02-02-openai-o3-mini-first-impressions/</guid>
      <description>&lt;p&gt;Two days ago, OpenAI released their latest model, &lt;a href=&#34;https://openai.com/index/openai-o3-mini/&#34;&gt;OpenAI o3-mini&lt;/a&gt;, a follow-up to the reasoning models o1 and o1-mini. They were immediately available on chatgpt.com, so I had a chance to put them to work. I had a simple task in mind (writing a Python script that would prompt an LLM to rate a list of words for use in my crossword app, &lt;a href=&#34;https://prosettr.com&#34;&gt;prosettr.com&lt;/a&gt;). The first output was good, but when I asked for a few minor tweaks I was presented with a refusal:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Happy Lunar New Year</title>
      <link>https://blog.jmarhic.com/post/2025-01-27-happy-lunar-new-year/</link>
      <pubDate>Mon, 27 Jan 2025 00:00:00 +0000</pubDate>
      <guid>https://blog.jmarhic.com/post/2025-01-27-happy-lunar-new-year/</guid>
      <description>&lt;p&gt;This week it&amp;rsquo;s Lunar New Year, or Têt celebrations in Vietnam. Which means my daughter&amp;rsquo;s school is off, which means I get approximately 30 seconds of free time per day. Despite that, it was hard to miss the hype regarding the release of Deepseek R1. I didn&amp;rsquo;t have time to read the paper or anything, but I gave it a quick try at &lt;a href=&#34;chat.deepseek.com&#34;&gt;chat.deepseek.com&lt;/a&gt;. I still don&amp;rsquo;t have a good handle on what is a good &amp;ldquo;reasoning question,&amp;rdquo; but I came up with a good use case today: coming up with a memorable port number for a service I&amp;rsquo;m hosting locally.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How I use GitHub Copilot</title>
      <link>https://blog.jmarhic.com/post/2024-12-25-how-i-use-github-copilot/</link>
      <pubDate>Wed, 25 Dec 2024 00:00:00 +0000</pubDate>
      <guid>https://blog.jmarhic.com/post/2024-12-25-how-i-use-github-copilot/</guid>
      <description>&lt;p&gt;Since the release of ChatGPT more than 2 years ago, I have felt a strong disconnect with the opinions on HackerNews about AI. It really feels like an Anti-AI (especially anti-OpenAI) echo chamber, neverendingly predicting the advent of AI winters, always repeating the same arguments (usually some flavor of &amp;ldquo;it&amp;rsquo;s not intelligent&amp;rdquo;, &amp;ldquo;what is AGI?&amp;rdquo;, &amp;ldquo;how can you trust it?&amp;rdquo;). Well, given that the generated code compiles, the tests pass and the program works as expected, I&amp;rsquo;m not sure what there is to complain about. I feel that HN is about as wrong about AI as it was about cryptocurrencies. Eventually, I mostly stopped reading the comments, I just use it as a link aggregator now.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
