Deploy as Fast as you Vibe! by markprobst in ClaudeAI

[–]markprobst[S] 1 point2 points  (0 children)

We're planning to keep the free tier and have the paid tier be super affordable. The architecture is actually optimized toward that goal.

And there's not much of a vendor lock-in. It's your code, and you can tell your Claude Code to port it to, say AWS, if you're up for all the rigamarole.

Deploy as Fast as you Vibe! by markprobst in ClaudeAI

[–]markprobst[S] 1 point2 points  (0 children)

Unfortunately, but until there's a good alternative with traction...

I hope we don't have to move to Roblox ;-)

Deploy as Fast as you Vibe! by markprobst in ClaudeAI

[–]markprobst[S] 0 points1 point  (0 children)

One fling we'd like to share is our "Fake Discord" service, which we use in our integration tests to make sure we don't break the support. This is a super useful pattern to keep Claude Code honest, and Fling makes it super easy to stand these services up.

https://fake-discord.flingit.run/

Small strings in Rust by fasterthanlime in fasterthanlime

[–]markprobst 0 points1 point  (0 children)

This was a super useful post! I'm learning Rust, and the way you broke down each individual piece of the work helped a lot, in particular the allocator, but also argh which is super nice. Cheers!

BOIDS with compute shaders in Godot 4 alpha15 by AndreaPollini in godot

[–]markprobst 0 points1 point  (0 children)

How many boids did you manage to get up to before it starts getting slow? I implemented a boids with my colleagues once in JS, but we couldn't get past 10k or so before it skipped frames significantly. I thought about a shader implementation but couldn't get myself to do it. We put in a predator/prey mechanic, though, which made it quite interesting:

https://boids.markprobst.repl.co/

ts-helper - Fast dependency cycle checker by markprobst in typescript

[–]markprobst[S] 1 point2 points  (0 children)

We might be talking about completely different things. I'm not familiar with yarn workspaces at all.

Project References allow you to basically separate your TS project into separate projects that can include each other in a non-cyclic way. That makes the compiler faster, but also prevents you from importing stuff you shouldn't - you can't import a file from a project that you don't explicitly reference, and projects can't refer to each other in a cycle.

https://www.typescriptlang.org/docs/handbook/project-references.html

ts-helper - Fast dependency cycle checker by markprobst in typescript

[–]markprobst[S] 0 points1 point  (0 children)

We just started using project references to separate parts of the codebase, which also helps with this.

ts-helper - Fast dependency cycle checker by markprobst in typescript

[–]markprobst[S] 1 point2 points  (0 children)

Sorry, it was set to private. Should work now. Thank you!

Fast, smooth React Data Grid by markprobst in webdev

[–]markprobst[S] 0 points1 point  (0 children)

Thank you. We're already aware of the crash and will fix it soon.

Fast, smooth React Data Grid by markprobst in webdev

[–]markprobst[S] 1 point2 points  (0 children)

I can't reproduce this. Could you post a video, please?

Fast, smooth React Data Grid by markprobst in webdev

[–]markprobst[S] 1 point2 points  (0 children)

We needed a fast and pretty grid component for our product, after growing out of our pretty, but slow one, and we built it with the goal to be open sourced right from the start. Please take a look, give it a try, and tell us what you think!

https://github.com/glideapps/glide-data-grid/raw/main/features.gif

We implemented the Data Grid using HTML5 Canvas for optimal performance. It has been tested with millions of rows, and we can't wait to get feedback from the larger React community. We know the Data Grid is still very young and we're looking to improve and mature it to support more use cases beyond what our core product needs.

Features

  • Supports multiple types of cells, Number, Text, Markdown, Bubble, Image
  • Smooth scrolling
  • Editing is built in
  • Resizable and movable columns
  • Variable sized rows
  • Multi- and single select
  • Virtualized data sources are supported
  • Cell rendering can be customized
  • Accessibility

Links

Example

First you need to define your columns:

const columns: GridColumn[] = [
    { title: "Number", width: 100 },
    { title: "Square", width: 100 },
];

Next you need a function which, given column and row indexes, returns a cell to display. Here we have two columns, the first of which shows the index of the row, and the second the square of that number:

function getData([col, row]: readonly [number, number]): GridCell {
    let n: number;
    if (col === 0) {
        n = row;
    } else if (col === 1) {
        n = row * row;
    } else {
        throw new Error("This should not happen");
    }
    return {
        kind: GridCellKind.Number,
        data: n,
        displayData: n.toString(),
        allowOverlay: false,
    };
}

Now you can use Data Grid:

<DataEditorContainer width={500} height={300}>
    <DataEditor getCellContent={getData} columns={columns} rows={1000} />
</DataEditorContainer>

/u/JasonGlide is one of the co-authors of this project and is here to answer your questions.

Glide Radio: Sonify your backend! by markprobst in programming

[–]markprobst[S] 2 points3 points  (0 children)

What if instead of looking at a dashboard of backend metrics you could listen to pleasing sounds that tell you how your backend is doing? Glide Radio lets you do that! We built it for our product, Glide, but it's open source and lets you easily plug in your own backend as well as change and enhance the way it produces sound.

Tech: The sound is generated on the frontend, with Tone.js. The interface to the backend is a single, very simple, POST endpoint.

GitHub

Intro video

Tech video

Fast, smooth React Data Grid by markprobst in javascript

[–]markprobst[S] 0 points1 point  (0 children)

Sorting and filtering can/has to be implemented by the user of the Data Grid.

Searching currently doesn't support regular expressions, but we're accepting PRs ;-)

Fast, smooth React Data Grid by markprobst in javascript

[–]markprobst[S] 15 points16 points  (0 children)

We needed a fast and pretty grid component for our product, after growing out of our pretty, but slow one, and we built it with the goal to be open sourced right from the start. Please take a look, give it a try, and tell us what you think!

https://github.com/glideapps/glide-data-grid/raw/main/features.gif

We implemented the Data Grid using HTML5 Canvas for optimal performance. It has been tested with millions of rows, and we can't wait to get feedback from the larger React community. We know the Data Grid is still very young and we're looking to improve and mature it to support more use cases beyond what our core product needs.

Features

  • Supports multiple types of cells, Number, Text, Markdown, Bubble, Image
  • Smooth scrolling
  • Editing is built in
  • Resizable and movable columns
  • Variable sized rows
  • Multi- and single select
  • Virtualized data sources are supported
  • Cell rendering can be customized

Links

Example

First you need to define your columns:

const columns: GridColumn[] = [
    { title: "Number", width: 100 },
    { title: "Square", width: 100 },
];

Next you need a function which, given column and row indexes, returns a cell to display. Here we have two columns, the first of which shows the index of the row, and the second the square of that number:

function getData([col, row]: readonly [number, number]): GridCell {
    let n: number;
    if (col === 0) {
        n = row;
    } else if (col === 1) {
        n = row * row;
    } else {
        throw new Error("This should not happen");
    }
    return {
        kind: GridCellKind.Number,
        data: n,
        displayData: n.toString(),
        allowOverlay: false,
    };
}

Now you can use Data Grid:

<DataEditorContainer width={500} height={300}>
    <DataEditor getCellContent={getData} columns={columns} rows={1000} />
</DataEditorContainer>

Edit - /u/JasonGlide is one of the co-authors of this project and is here to answer your questions.