Sign in

Shreyas Mididoddi

@shreyascodes.tech
787 followers 238 following 3.5K posts

passionate developer, htmx.ceo 🤷 btw! always happy / *never sad (same thing) mental af ? 🤔 señor junior dev, I'm here to have fun and make friends * = almost

PostsRepliesMedia
Shreyas Mididoddi @shreyascodes.tech · 26/07/2026
porffor by @CanadaHonk is sooo cool. built a @svelte.dev ssr app into native code and it just works
a screenshot showing 2 windows side by side one with some code that sets up a porffor server request handler that renders a simple svelte file. on the right is a browser window showing Hello world in big text
1120
Shreyas Mididoddi @shreyascodes.tech · 18/07/2026
Really well produced video about java by @cultrepo.bsky.social really cool video! 10/10 much recommend youtu.be/ZqGSg4b_cZA
youtu.be
The Java Story | The Official Documentary
YouTube video by CultRepo
120
Shreyas Mididoddi @shreyascodes.tech · 13/07/2026
Haha just replied with this to someone who asked if you can still write code by hand "I can read and write x64 assembly too being able to do things is fun" Learn things for the fun of it!
020
Reposted by Shreyas Mididoddi
danielroe @danielroe.dev · 08/07/2026
if you want to play, reply with your suggested reply! I'll pick the best or funniest option
341
Shreyas Mididoddi @shreyascodes.tech · 07/07/2026
who at @npmjs.com decided the syntax highlighting should stay the same even in dark mode? anyone at npm actually use what they build?? like, just open the damnn thing to see if it actually works. i am not even asking a lot i don't think
a screenshot from an npm package docs that says the following with bad color contrast in dark mode making it hard to read

Use AesGcmCypher.generateKey() once per key ID, then store the generated value in your secret manager. The generated string is an unpadded base64url-encoded 32-byte AES-256 key.

import { AesGcmCypher } from "@joyful/secrets/cyphers/aes-gcm";

const key = AesGcmCypher.generateKey();
console.log(key);
250
Shreyas Mididoddi @shreyascodes.tech · 06/07/2026
ngl @svelte.dev library template makes it soooooo much nicer to go from nothing to smth on npm (well minus the npm bs that they can't fix) very recommend. 10/10
150
Shreyas Mididoddi @shreyascodes.tech · 02/07/2026
New zig library!! Webgpu bindings for zig! backend agnostic, works with wgvk and wgpu native rn and plan to add dawn once I figure out how to build it easily from source. github.com/shreyassanth...
github.com
GitHub - shreyassanthu77/webgpu_zig: WebGPU binings for zig generated from the official webgpu-headers
WebGPU binings for zig generated from the official webgpu-headers - shreyassanthu77/webgpu_zig
010
Shreyas Mididoddi @shreyascodes.tech · 02/07/2026
Lol my entire GitHub explore feed is just @rich-harris.dev doing his thing Super super excited for new sveltekit release!
1100
Shreyas Mididoddi @shreyascodes.tech · 28/06/2026
Released a new version of imgz to support zig 0.16 super simple build time only lib to statically compile and link spng, libtiff, webp or jpeg turbo into your c or zig projects. No bindings or anything just header files and static libs. github.com/shreyassanth...
github.com
GitHub - shreyassanthu77/imgz: Popular image libraries packaged for the zig build system
Popular image libraries packaged for the zig build system - shreyassanthu77/imgz
100
Shreyas Mididoddi @shreyascodes.tech · 27/06/2026
Delete your docker build caches people
000
Shreyas Mididoddi @shreyascodes.tech · 27/06/2026
60 loc for a webgpu clear screen in zig. Nice abstraction for simple things but still gives you all the power of entire API if you need it.
const std = @import("std");
const log = std.log.scoped(.speedmoto);
const c = @import("c");
const Window = @import("window.zig");
const Wgpu = @import("wgpu.zig");

pub fn main() !void {
    var window: Window = undefined;
    try window.init(.{
        .width = 640,
        .height = 480,
        .title = "Test",
        .transparent = true,
    });
    defer window.deinit();

    window.setKeyCallback({}, struct {
        fn f(w: *Window, key: Window.Key, _: c_int, action: Window.Action, _: Window.Mods, _: *void) void {
            if (key == .q and action == .press) w.setShouldClose(true);
            if (key == .F11 and action == .press) w.toggleFullscreen();
        }
    }.f);

    var wgpu: Wgpu = undefined;
    try wgpu.init(&window);
    defer wgpu.deinit();

    while (!window.shouldClose()) {
        // ... in the next screenshot
    }
}
    while (!window.shouldClose()) {
        Window.pollEvents();

        const current_texture = wgpu.getCurrentTexture() catch |err| switch (err) {
            error.CurrentTextureLost => continue,
            else => return err,
        };
        defer current_texture.deinit();

        const encoder = try wgpu.createCommandEncoder();
        const render_pass = try encoder.beginRenderPass(.{
            .label = Wgpu.str("Render Pass"),
            .colorAttachmentCount = 1,
            .colorAttachments = &c.WGPURenderPassColorAttachment{
                .view = current_texture.view,
                .loadOp = c.WGPULoadOp_Clear,
                .storeOp = c.WGPUStoreOp_Store,
                .clearValue = .{
                    .r = 0.3,
                    .g = 0.2,
                    .b = 0.2,
                    .a = 0.3,
                },
                .depthSlice = 0,
                .resolveTarget = null,
            },
        });
        render_pass.end();

        encoder.flushAndDeinit();
        try wgpu.present();
    }
050
Shreyas Mididoddi @shreyascodes.tech · 26/06/2026
> You're the author — so you know its internals better than I do. Let me check your own glfw example for the per-frame ownership pattern rather than assume wgpu-native semantics lmao
000
Shreyas Mididoddi @shreyascodes.tech · 26/06/2026
Is it bad if i reuse the textures and objects from the old game to rebuild it?
100
Shreyas Mididoddi @shreyascodes.tech · 26/06/2026
So i have an old (like android 2 old) apk of a game i haven't played in almost a decade It has a 32 bit only native library. It's old enough to not work any android device I have. Maybe i should disassemble and build from scratch with raykib or something
110
Shreyas Mididoddi @shreyascodes.tech · 25/06/2026
tried claude code after a while and mann it's rough how is it that we still talking about flickering in claude code?? Wth happened to 6 months until all software jobs are gone??
010
Shreyas Mididoddi @shreyascodes.tech · 24/06/2026
If you want to do anything with android ndk and building android native libs check out this thing i made. Makes it a lot nicer to work with ndk stuff. Auto version management and downloading the right sdk+ndk in the works too. github.com/shreyassanth...
github.com
GitHub - shreyassanthu77/zig-android: Android sdk resolution and compilation utils for zig build system
Android sdk resolution and compilation utils for zig build system - shreyassanthu77/zig-android
100
Shreyas Mididoddi @shreyascodes.tech · 24/06/2026
Mann if I see another problem summary heading in bold big letter I'm gonna explode please keep them 10 lines at most and if you can't... rethink everything before you expect someone else to read all the slop which you didn't even attempt to simplify I hate this so much
110
Shreyas Mididoddi @shreyascodes.tech · 24/06/2026
Lol i completely forgot about @lunafications.blue thing I get random blocked notifications time to time and it's kinda funny to watch
010
Shreyas Mididoddi @shreyascodes.tech · 24/06/2026
all it takes to build a simple raylib c project building cross platform using zig it can also cross compile with like 10 more lines to macos too. so any platform to any other it is just beautiful.
const std = @import("std");

pub fn build(b: *std.Build) !void {
    const target = b.standardTargetOptions(.{});
    const optimize = b.standardOptimizeOption(.{});

    const raylib_dep = b.dependency("raylib", .{
        .target = target,
        .optimize = optimize,
    });
    const libraylib = raylib_dep.artifact("raylib");

    const exe = b.addExecutable(.{
        .name = "laya",
        .root_module = b.createModule(.{
            .target = target,
            .optimize = optimize,
            .link_libc = true,
        }),
    });
    exe.root_module.addCSourceFile(.{
        .file = b.path("main.c"),
        // all the pointers are slices into `flags_file`
        .flags = try splitBySpaceAlloc(b.allocator, @embedFile("compile_flags.txt")),
    });
    exe.root_module.linkLibrary(libraylib);

    b.installArtifact(exe);

    const run_step = b.step("run", "Run the app");
    const run_exe = b.addRunArtifact(exe);
    if (b.args) |args| run_exe.addArgs(args);
    run_step.dependOn(&run_exe.step);
}


fn splitBySpaceAlloc(allocator: std.mem.Allocator, str: []const u8) ![][]const u8 {
    var it = std.mem.splitAny(u8, str, " \n\r\t");
    var res = std.ArrayList([]const u8).empty;
    while (it.next()) |arg| {
        try res.append(allocator, arg);
    }
    return try res.toOwnedSlice(allocator);
}
140
Shreyas Mididoddi @shreyascodes.tech · 24/06/2026
My x account is suspended for "inauthentic behaviour" so I'll be posting a lot more here now. Thank you for your attention to this matter. You will be hearing a lot of zig and svelte shilling 🫡
5402
Shreyas Mididoddi @shreyascodes.tech · 24/06/2026
Okay ai kinda sucks for what I do but man it fixed my audio on linux and it's the best setup I had in about a decade. Bro went and looked through obscure forums for me which i would have never done myself. The model is Kimi k 2.7 code btw
110
Shreyas Mididoddi @shreyascodes.tech · 24/06/2026
> But given the user is technically competent (using Arch, OBS, knows about monitoring latency), they can apply the fixes themselves if they want. Still, offering to do it is good. lol
020
Shreyas Mididoddi @shreyascodes.tech · 22/06/2026
@svelte.dev and not are so so good!! specially with remote functions and async it is absolutely beautiful.
020
Shreyas Mididoddi @shreyascodes.tech · 18/06/2026
It's dns every single time
000
Reposted by Shreyas Mididoddi
Konnor Rogers @konnorrogers.com · 08/06/2026
just reclaimed 600gb with this one simple trick: docker system prune --all
5392
Reposted by Shreyas Mididoddi
patak @patak.cat · 20/05/2026
Against the sea of noise, slow down. Take the time you need. Find community. Learn with them. Share with others. Dream long term. Build together. Have fun. Love. Care.
1758
Shreyas Mididoddi @shreyascodes.tech · 19/05/2026
Uhhh @rich-harris.dev @jyc.dev is there something like this?
It can even be like "Source code of this repo is good to refernece" - if I slop forked svelte 5 async I'd probably need a couple references locally
100
Reposted by Shreyas Mididoddi
lois @normal-people.com · 15/05/2026
finding someone is so hard. hard enough that i put a $5,000 bounty. normal-people.com/bf
0103
Reposted by Shreyas Mididoddi
Obsidian @obsidian.md · 04/04/2026
The Obsidian team is growing from three engineers to four engineers. Competitive SF salary. Fully remote, live anywhere. Apply below.
431653
Shreyas Mididoddi @shreyascodes.tech · 18/03/2026
Hope deno isn't dying I really want them to win
010
Shreyas Mididoddi @shreyascodes.tech · 18/03/2026
Wth is happening at deno? anybody know????
110
Shreyas Mididoddi @shreyascodes.tech · 08/03/2026
Anybody know what happened to Lexa's (qexat) account? I searched my following list and couldn't find the account
300
Shreyas Mididoddi @shreyascodes.tech · 01/03/2026
Uhhh @rich-harris.dev not sure who to tag but the sv cli is really not great for LLMs they just keep hitting the interactive prompts and waste a lot of time
210
Shreyas Mididoddi @shreyascodes.tech · 25/02/2026
I want to be like @danielroe.dev one day
0100
Shreyas Mididoddi @shreyascodes.tech · 25/02/2026
Hello @bb.shreyas.codes can you see this post?
100
Shreyas Mididoddi @shreyascodes.tech · 25/02/2026
Hi @bb.shreyas.codes
200
Shreyas Mididoddi @shreyascodes.tech · 24/02/2026
Why is there no content on yt about - database internals - compiler internals and type systems - lower level systems stuff in general I want more deep technical content please somebody make it happen
020
Shreyas Mididoddi @shreyascodes.tech · 23/01/2026
I just beat my personal best for writing a lexer from scratch total time 2 hours, can lex c, zig and rust, does about 16 ish million lines of zig and rust stdlib/sec average, 0 copy, stores ~6 bytes per token now time to abandon this and forget I wanted to make a language for couple months 😅
220
Shreyas Mididoddi @shreyascodes.tech · 31/12/2025
Happy new year everybody 🎉
120
Shreyas Mididoddi @shreyascodes.tech · 14/12/2025
why did I have to give my date of birth?? what if I lied? would you also ask for my driving licence too?
000
Shreyas Mididoddi @shreyascodes.tech · 19/11/2025
well apparently if you're not in rust discord you're not a rust dev lmao
a screenshot of a twitter convo
me: "I am in 0 of those discords but would love to know what those lies are"
reply: "If you claim to be involved in Rust and are in NONE of the open source community discords, then you're full of shit."
160
Shreyas Mididoddi @shreyascodes.tech · 07/11/2025
node modules rust build artifacts Zig cache Docker build artifacts ollama models don't forget to delete these things often
150
Shreyas Mididoddi @shreyascodes.tech · 07/11/2025
This is me procrastinating building my own md parser instead of publishing my blog post btw 😅
150
Shreyas Mididoddi @shreyascodes.tech · 07/11/2025
that's 23mil lines of markdown per second lol (not sure if this is fast or slow but the parser is not complete yet so not really fair to compare to others anyway)
$ wc -l ~/temp/rust-book/huge.md                                                                                                           took 4s
17357556 /home/shreyas/temp/rust-book/huge.md
$ zig build -Doptimize=ReleaseFast run -- ~/temp/rust-book/huge.md
elapsed time: 749 ms
150
Shreyas Mididoddi @shreyascodes.tech · 05/11/2025
I really want to write my own variant of markdown that is not so dumb to parse well
110
Shreyas Mididoddi @shreyascodes.tech · 24/10/2025
lol what do you people think of this as the start of a blog post?
A blog post titled "[Draft] The Zig Build System is F**king Awesome: So what the hell is a Zig?". Below the title, Andrew Kelly is Photoshopped onto Steve Jobs on stage, mimicking the classic iPhone reveal. He's presenting three distinct aspects of Zig: a C compiler (represented by the LLVM dragon icon), a build system (represented by the CMake pyramid icon), and a programming language (represented by the Zig logo). The text on screen reads "C compiler", "build system", and "Programming language" below each respective icon.
1100
Shreyas Mididoddi @shreyascodes.tech · 24/10/2025
I'd one day like to be able to say this
010
Shreyas Mididoddi @shreyascodes.tech · 24/10/2025
i love c but man a result type like in rust or zig error unions would be so much nicer than this
typedef enum load_image_error_t {
  load_image_error_unsupported_format,
  load_image_error_invalid_data,
  load_image_error_out_of_memory,
} load_image_error_t;

/// Return value of `load_image` and `load_image_with_format`.
/// `success` is set to `true` if the image was loaded successfully.
typedef struct load_image_result_t {
  bool success;
  union {
    image_t image;
    load_image_error_t error;
  };
} load_image_result_t;

/// Loads an image from a given file path.
/// Automatically detects the image format based on the file extension.
/// Image data is owned by the caller and must be freed using `image_free`.
///
/// Also checkout `load_image_with_format`
load_image_result_t load_image(const uint8_t *file_path);
020
Reposted by Shreyas Mididoddi
#1 text-overflow: ellipsis; hater @nekotachi.bsky.social · 21/10/2025
friendly reminder that unstyled html is more mobile friendly and accessible than half of the nonsense on corporate websites
1322