Sign in

Christian Grøngaard

@hamburger.cloud
169 followers 108 following 107 posts

Father of two children and countless software bugs Currently working on the text editor used in the very core of the @Sanity.io Content Operating System: github.com/portabletext/editor.

PostsRepliesMedia
Christian Grøngaard @hamburger.cloud · 02/08/2026
Spent some quality time with my son today
Nintendo 64 with GoldenEye 007 loaded up on the screen
030
Christian Grøngaard @hamburger.cloud · 16/05/2026
Spinning some super furry animals
Super Furry Animals - Radiator spinning vinyl
010
Christian Grøngaard @hamburger.cloud · 20/10/2025
Replaced the boring buttons with some type controls! (🤫 This is actually a really good showcase for input rules: github.com/portabletext...)
000
Christian Grøngaard @hamburger.cloud · 17/10/2025
Couldn't sleep so I built Game of Life in @sanity.io's Portable Text Editor 👉 portable-text-of-life.vercel.app 🧑‍💻 github.com/portabletext...
2195
Christian Grøngaard @hamburger.cloud · 04/08/2025
Now that's what I call vacation
GitHub contribution chart with three consecutive blank weeks
150
Christian Grøngaard @hamburger.cloud · 30/03/2025
Partial solar eclipse, March 29, as seen from Denmark (through the right glasses)
The sun, visible through dark clouds, partially eclipsed by the moon
030
Christian Grøngaard @hamburger.cloud · 16/03/2025
Found my Wolfenstein 3D floppy
Blue floppy disk containing Wolfenstein 3D Episode One: Escape from Wolfenstein
140
Christian Grøngaard @hamburger.cloud · 23/02/2025
My MacBook from 2007. Still boots. And I still hate computers.
MacBook A1181 with various stickers, including "I Hate Computers", on a couch
020
Christian Grøngaard @hamburger.cloud · 14/02/2025
Hi there! We are working on a new API (currently beta) for PTE that allows you to easier customise the editor behaviours: www.portabletext.org/concepts/beh... Behavious can be bundled in plugins and the most fully-fledged plugin we've made so far is a Markdown plugin: playground.portabletext.org
110
Christian Grøngaard @hamburger.cloud · 08/02/2025
It really is a special feeling sitting in your car, listening to a podcast, as you've done so many times before, but this time YOU'RE THE GUEST! Thank you, @simeongriggs.dev, for inviting me on to talk about Portable Text, text editors, Behaviours, Gherkin and state machines and more.
My car dashboard showing Code && Content episode "The final boss of front-end: block editors"
092
Christian Grøngaard @hamburger.cloud · 03/02/2025
The Behavior API for @sanity.io's Portable Text Editor will allow you to configure the editor in ways that where previously not possible. Behaviors can be bundled in Plugins to easily turn them on and off. Here's an example of a simple <OneLinePlugin /> that restricts the editor to one block.
2113
Christian Grøngaard @hamburger.cloud · 14/01/2025
Trying to use Copilot for a simple, boring task
Me asking GitHub Copilot how I can close it again (it was genuinely difficult to figure out)
020
Christian Grøngaard @hamburger.cloud · 05/01/2025
Me releasing I've spent the past 10 years writing JavaScript full-time
Small 7000(?) year old sculpture of a person, sitting with an open mouth and hands on their cheeks
130
Christian Grøngaard @hamburger.cloud · 02/01/2025
Opened up my work laptop after almost two weeks off and this is the first thing that meets me. I guess I left in the middle of a debug session?
Chromium Dev Tools "Paused in debugger" debug menu
040
Christian Grøngaard @hamburger.cloud · 17/12/2024
git: I'm dying me: git checkout -b docs-fix-typo-2
❯ git checkout -b docs-fix-typo                         
fatal: a branch named 'docs-fix-typo' already exists
030
Christian Grøngaard @hamburger.cloud · 08/12/2024
I want to see _the_ video 😭
Screenshot of https://jackiechan.com/video.htm showing only a single YouTube video embed: "The video is private"
010
Christian Grøngaard @hamburger.cloud · 02/12/2024
I've used Little Snitch for 16 years. Of course I'm going to upgrade when they release a new major version.
Prompt informing me about the successful registration of Little Snitch 6
010
Christian Grøngaard @hamburger.cloud · 15/11/2024
Looks like @github.com fixed the merge experience 😲
GitHub merge section with a clear summary of the CI checks, highlighting what checks failed
000
Christian Grøngaard @hamburger.cloud · 13/11/2024
Seeing this in the XState release notes takes me back to when I was first introduced to XState back in 2017. Just a little functional, stateless JS library where Machines had a `.transition()` method to advance to the next state. Still love and use XState to this day. github.com/statelyai/xs...
import { transition } from 'xstate';

const [nextState, actions] = transition(actorLogic, currentState, event);
// Execute actions as neededimport { Machine } from 'xstate';

const lightMachine = Machine({
  key: 'light',
  initial: 'green',
  states: {
    green: {
      on: {
        TIMER: 'yellow',
      }
    },
    yellow: {
      on: {
        TIMER: 'red',
      }
    },
    red: {
      on: {
        TIMER: 'green',
      }
    }
  }
});

const currentState = 'green';

const nextState = lightMachine
  .transition(currentState, 'TIMER')
  .value;

// => 'yellow'
000
Christian Grøngaard @hamburger.cloud · 07/11/2024
Time to get off that other platform
Email from the other platform stating my data is ready for download
160
Christian Grøngaard @hamburger.cloud · 04/11/2024
One of the things I love about Gherkin is that it literally only takes seconds to add new scenarios if you have a good set of existing steps to use. Here, I've expanded a Scenario Outline with a few more examples to root out an edge I just found in github.com/portabletext....
Four rows of examples added to an "Inserting text at the edge of a decorated annotation" Gherkin Scenario Outline
010
Christian Grøngaard @hamburger.cloud · 03/11/2024
It's absolutely wild that there exists more than 900,000,000 ways to combine six 2×4 LEGO bricks. Here's combo #659,297,982.
2×4 LEGO brick combo card
030
Christian Grøngaard @hamburger.cloud · 31/10/2024
"Testing is documenting" Especially if your tests are written in a human-readable language. I'm currently working on @sanity.io's text editor, and here Gherkin is working really well for documenting and keeping all the different behaviours in check. github.com/portabletext...
Gherkin Scenario Outline: Inserting text at the edge of a decorator
151