George Chiramattel
@georgeck.me
Lifelong learner | Exploring topics mostly related to technology & sharing knowledge.
Previously: Intuit Inc.
Previously: Intuit Inc.
Visited Conservatory of Flowers at Golden Gate Park.
Always wanted to visit this place with a good camera.
Always wanted to visit this place with a good camera.
November 11, 2025 at 7:41 AM
Visited Conservatory of Flowers at Golden Gate Park.
Always wanted to visit this place with a good camera.
Always wanted to visit this place with a good camera.
I found this issue when I was trying to use @bluecrawler.com's 'handle history checker'.
As you can see in the screenshot, when I pasted my handle that I copied from my own profile page, the tool failed.
That is because of the invisible unicode text in the copied handle.
As you can see in the screenshot, when I pasted my handle that I copied from my own profile page, the tool failed.
That is because of the invisible unicode text in the copied handle.
July 18, 2025 at 5:32 AM
I found this issue when I was trying to use @bluecrawler.com's 'handle history checker'.
As you can see in the screenshot, when I pasted my handle that I copied from my own profile page, the tool failed.
That is because of the invisible unicode text in the copied handle.
As you can see in the screenshot, when I pasted my handle that I copied from my own profile page, the tool failed.
That is because of the invisible unicode text in the copied handle.
TIL: When you copy a Bluesky handle from someone's profile page, it includes invisible Unicode characters (U+202A & U+202C).
This is because, the web app wraps handles in HTML like:
‪@username‬
This is a problem if you try to use the copied handle directly, for e.g. in an API call.
This is because, the web app wraps handles in HTML like:
‪@username‬
This is a problem if you try to use the copied handle directly, for e.g. in an API call.
July 18, 2025 at 5:32 AM
TIL: When you copy a Bluesky handle from someone's profile page, it includes invisible Unicode characters (U+202A & U+202C).
This is because, the web app wraps handles in HTML like:
‪@username‬
This is a problem if you try to use the copied handle directly, for e.g. in an API call.
This is because, the web app wraps handles in HTML like:
‪@username‬
This is a problem if you try to use the copied handle directly, for e.g. in an API call.
Hi 👋,
Along with @annjose.com, I have been working on a side-project we're excited about - a bot that makes sense of the often overwhelming but informative Hacker News comments.
It's called Hacker News Companion @hncompanion.com
bsky.app/profile/hnco...
Along with @annjose.com, I have been working on a side-project we're excited about - a bot that makes sense of the often overwhelming but informative Hacker News comments.
It's called Hacker News Companion @hncompanion.com
bsky.app/profile/hnco...
May 23, 2025 at 10:54 PM
Hi 👋,
Along with @annjose.com, I have been working on a side-project we're excited about - a bot that makes sense of the often overwhelming but informative Hacker News comments.
It's called Hacker News Companion @hncompanion.com
bsky.app/profile/hnco...
Along with @annjose.com, I have been working on a side-project we're excited about - a bot that makes sense of the often overwhelming but informative Hacker News comments.
It's called Hacker News Companion @hncompanion.com
bsky.app/profile/hnco...
Published a detailed guide on fine-tuning Gemma-3 27B using RunPod. This is a follow-up to my previous blog about using do-it-for-me solutions.
I cover when the DIY approach makes financial sense with a real cost analysis showing 7x savings compared to managed services.
#llm #fine-tuning #gemma3
I cover when the DIY approach makes financial sense with a real cost analysis showing 7x savings compared to managed services.
#llm #fine-tuning #gemma3
April 11, 2025 at 6:19 AM
Published a detailed guide on fine-tuning Gemma-3 27B using RunPod. This is a follow-up to my previous blog about using do-it-for-me solutions.
I cover when the DIY approach makes financial sense with a real cost analysis showing 7x savings compared to managed services.
#llm #fine-tuning #gemma3
I cover when the DIY approach makes financial sense with a real cost analysis showing 7x savings compared to managed services.
#llm #fine-tuning #gemma3
3/7 Why fine-tune?
A quantized 8B model when fine-tuned can often outperform frontier models on specific tasks! Lower costs, lower latency, higher accuracy, and more control - what's not to like? 😎
A quantized 8B model when fine-tuned can often outperform frontier models on specific tasks! Lower costs, lower latency, higher accuracy, and more control - what's not to like? 😎
March 30, 2025 at 2:53 AM
3/7 Why fine-tune?
A quantized 8B model when fine-tuned can often outperform frontier models on specific tasks! Lower costs, lower latency, higher accuracy, and more control - what's not to like? 😎
A quantized 8B model when fine-tuned can often outperform frontier models on specific tasks! Lower costs, lower latency, higher accuracy, and more control - what's not to like? 😎
And, yes. I got it to work using the same method that you suggested. So thanks.
Before solving it, here is me chatting with Claude about why it is not using my prompt - and I think it is hilarious 😁
Before solving it, here is me chatting with Claude about why it is not using my prompt - and I think it is hilarious 😁
March 24, 2025 at 11:58 PM
And, yes. I got it to work using the same method that you suggested. So thanks.
Before solving it, here is me chatting with Claude about why it is not using my prompt - and I think it is hilarious 😁
Before solving it, here is me chatting with Claude about why it is not using my prompt - and I think it is hilarious 😁
This is Claude code working it way through the migration - fixing multiple errors in the process.
I though I will include a screenshot :)
I though I will include a screenshot :)
March 18, 2025 at 7:37 PM
This is Claude code working it way through the migration - fixing multiple errors in the process.
I though I will include a screenshot :)
I though I will include a screenshot :)
After 6 years without updates to my blog project, I needed to upgrade its packages to install @vercel.com analytics, which required newer dependencies.
My first approach—using `npx npm-check -u` to move everything to the latest versions—failed spectacularly.
My first approach—using `npx npm-check -u` to move everything to the latest versions—failed spectacularly.
March 18, 2025 at 7:15 PM
After 6 years without updates to my blog project, I needed to upgrade its packages to install @vercel.com analytics, which required newer dependencies.
My first approach—using `npx npm-check -u` to move everything to the latest versions—failed spectacularly.
My first approach—using `npx npm-check -u` to move everything to the latest versions—failed spectacularly.
When you want to check on your job later, just SSH back to the server and type "tmux a" (short for attach). You'll reconnect to your session with everything exactly as you left it. If you have multiple sessions, use "tmux ls" to list them, then "tmux attach -t session_number" to connect to it.
March 15, 2025 at 6:20 AM
When you want to check on your job later, just SSH back to the server and type "tmux a" (short for attach). You'll reconnect to your session with everything exactly as you left it. If you have multiple sessions, use "tmux ls" to list them, then "tmux attach -t session_number" to connect to it.
Run any terminal commands here just like you normally would in any terminal. The magic happens when you need to disconnect. Press Ctrl+b then d to "detach" from the session. Your job keeps running but you're free to close SSH and shut your laptop.
March 15, 2025 at 6:20 AM
Run any terminal commands here just like you normally would in any terminal. The magic happens when you need to disconnect. Press Ctrl+b then d to "detach" from the session. Your job keeps running but you're free to close SSH and shut your laptop.
Here's how:
After ssh-ing to the remote server, start tmux by simply typing "tmux" and pressing enter. This creates a persistent session that stays alive even when your connection drops.
The tmux window looks like a normal shell but with a status bar at the bottom.
After ssh-ing to the remote server, start tmux by simply typing "tmux" and pressing enter. This creates a persistent session that stays alive even when your connection drops.
The tmux window looks like a normal shell but with a status bar at the bottom.
March 15, 2025 at 6:20 AM
Here's how:
After ssh-ing to the remote server, start tmux by simply typing "tmux" and pressing enter. This creates a persistent session that stays alive even when your connection drops.
The tmux window looks like a normal shell but with a status bar at the bottom.
After ssh-ing to the remote server, start tmux by simply typing "tmux" and pressing enter. This creates a persistent session that stays alive even when your connection drops.
The tmux window looks like a normal shell but with a status bar at the bottom.
With the introduction of DuckDB UI, you can now start a full-featured local web user interface to query your data with the following command.
CALL start_ui();
More details here: duckdb.org/2025/03/12/d...
CALL start_ui();
More details here: duckdb.org/2025/03/12/d...
March 14, 2025 at 8:13 AM
With the introduction of DuckDB UI, you can now start a full-featured local web user interface to query your data with the following command.
CALL start_ui();
More details here: duckdb.org/2025/03/12/d...
CALL start_ui();
More details here: duckdb.org/2025/03/12/d...
This is the link to the HuggingFace Dataset:
huggingface.co/datasets/geo...
You can create a DuckDB table from this dataset with this query
CREATE TABLE hn_data AS
SELECT *
FROM 'hf://datasets/georgeck/hacker-news-discussion-summarization-large/data/*.parquet';
huggingface.co/datasets/geo...
You can create a DuckDB table from this dataset with this query
CREATE TABLE hn_data AS
SELECT *
FROM 'hf://datasets/georgeck/hacker-news-discussion-summarization-large/data/*.parquet';
March 14, 2025 at 8:13 AM
This is the link to the HuggingFace Dataset:
huggingface.co/datasets/geo...
You can create a DuckDB table from this dataset with this query
CREATE TABLE hn_data AS
SELECT *
FROM 'hf://datasets/georgeck/hacker-news-discussion-summarization-large/data/*.parquet';
huggingface.co/datasets/geo...
You can create a DuckDB table from this dataset with this query
CREATE TABLE hn_data AS
SELECT *
FROM 'hf://datasets/georgeck/hacker-news-discussion-summarization-large/data/*.parquet';
DuckDB query showing the most popular HackerNews posts as measured by total points between early Feb 2025 and Oct 2023.
I got this from a dataset that I created from HackerNews stories that hit front-page between these two dates.
I could query this easily b/c DuckDB can pull data directly from 🤗
I got this from a dataset that I created from HackerNews stories that hit front-page between these two dates.
I could query this easily b/c DuckDB can pull data directly from 🤗
March 14, 2025 at 8:13 AM
DuckDB query showing the most popular HackerNews posts as measured by total points between early Feb 2025 and Oct 2023.
I got this from a dataset that I created from HackerNews stories that hit front-page between these two dates.
I could query this easily b/c DuckDB can pull data directly from 🤗
I got this from a dataset that I created from HackerNews stories that hit front-page between these two dates.
I could query this easily b/c DuckDB can pull data directly from 🤗
If you are using the Ghostty 👻 terminal (ghostty.org) and find that the terminal is not behaving the way you want on remote machines, you might need to update the terminfo database on the remote server with Ghostty's details. Here's how to do it:
infocmp -x | ssh user@remote-server -- tic -x -
infocmp -x | ssh user@remote-server -- tic -x -
March 14, 2025 at 1:22 AM
If you are using the Ghostty 👻 terminal (ghostty.org) and find that the terminal is not behaving the way you want on remote machines, you might need to update the terminfo database on the remote server with Ghostty's details. Here's how to do it:
infocmp -x | ssh user@remote-server -- tic -x -
infocmp -x | ssh user@remote-server -- tic -x -
This is LLM Training job and been running for more than 14 hours and has decided it doesn't want to learn anymore. 😂
March 7, 2025 at 10:29 PM
This is LLM Training job and been running for more than 14 hours and has decided it doesn't want to learn anymore. 😂
Exploring cloud GPU providers and feeling lost - Wish there was a simple table or diagram explaining the capabilities of each GPU hardware. Anyone know where I can find this?
I’m fine-tuning LLMs, but 15+ hour training sessions on my 4090 at home are no longer fun.
I’m fine-tuning LLMs, but 15+ hour training sessions on my 4090 at home are no longer fun.
March 7, 2025 at 10:14 PM
Exploring cloud GPU providers and feeling lost - Wish there was a simple table or diagram explaining the capabilities of each GPU hardware. Anyone know where I can find this?
I’m fine-tuning LLMs, but 15+ hour training sessions on my 4090 at home are no longer fun.
I’m fine-tuning LLMs, but 15+ hour training sessions on my 4090 at home are no longer fun.
Yep! This is what FOMO for 'AI assisted' coding looks like...😂
January 29, 2025 at 3:56 AM
Yep! This is what FOMO for 'AI assisted' coding looks like...😂
As many of you, @annjose.com and I were looking for a simple bookmarking solution. After exploring options (standalone Bluesky client, browser extensions), we landed on a lightweight bookmarklet approach.
This has the convenience of drag-drop install and the simplicity of a Javascript snippet.
This has the convenience of drag-drop install and the simplicity of a Javascript snippet.
November 27, 2024 at 3:48 AM
As many of you, @annjose.com and I were looking for a simple bookmarking solution. After exploring options (standalone Bluesky client, browser extensions), we landed on a lightweight bookmarklet approach.
This has the convenience of drag-drop install and the simplicity of a Javascript snippet.
This has the convenience of drag-drop install and the simplicity of a Javascript snippet.
Here is an example editor screen capture from the helix-editor.com homepage.
Since videos are limited to 1 min, this is playing at 1.2x and clipped at 1 min.
Since videos are limited to 1 min, this is playing at 1.2x and clipped at 1 min.
November 24, 2024 at 8:07 PM
Here is an example editor screen capture from the helix-editor.com homepage.
Since videos are limited to 1 min, this is playing at 1.2x and clipped at 1 min.
Since videos are limited to 1 min, this is playing at 1.2x and clipped at 1 min.
Pro tip for @bitwarden.bsky.social users:
Configure Maccy to ignore passwords by adding:
'org.nspasteboard.ConcealedType'.
Your clipboard history stays clean & secure!
Configure Maccy to ignore passwords by adding:
'org.nspasteboard.ConcealedType'.
Your clipboard history stays clean & secure!
November 22, 2024 at 9:56 AM
Pro tip for @bitwarden.bsky.social users:
Configure Maccy to ignore passwords by adding:
'org.nspasteboard.ConcealedType'.
Your clipboard history stays clean & secure!
Configure Maccy to ignore passwords by adding:
'org.nspasteboard.ConcealedType'.
Your clipboard history stays clean & secure!
We ended up working on a knowledge discovery app - a blend between read-it-later app (like readwise) and Obsidian graphs.
November 22, 2024 at 4:09 AM
We ended up working on a knowledge discovery app - a blend between read-it-later app (like readwise) and Obsidian graphs.