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 · 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 · 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 · 24/06/2026
Fuck
A screenshot that says "you were blocked by l422y.com"
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 · 18/06/2026
okay so you were right did some strace bc and v8 was just holding on to the memory. It did release it after a few gc calls tho this new one is even simpler and i like it lol
intentionally leaks memory in js using closures and timeout that effectively never runs
010
Shreyas Mididoddi @shreyascodes.tech · 18/06/2026
or this
a javascript program that demos memory leak.
110
Shreyas Mididoddi @shreyascodes.tech · 18/06/2026
does this count?
a screenshot that show a javascript program that leaks memory.
110
Shreyas Mididoddi @shreyascodes.tech · 20/05/2026
Uhh nvm I understand what's going on now (btw whoever is blocking me... I'm sorry if I hurt you or something. We could be friends)
a screenshot showing a reply to the original post that says "post blocked"
110
Shreyas Mididoddi @shreyascodes.tech · 20/05/2026
Uhh what is happening here?
Screenshot of my home feed showing me a thread with people replying to the post by aron I'm replying to rnScreenshot of the original post by aron showing there's no replies in the post screen
110
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
Shreyas Mididoddi @shreyascodes.tech · 06/04/2026
Dark-themed social app UI showing a reply modal with typed text (“test from desktop… ctrl + return should send…”). On the right, browser dev console displays errors: missing “post” route and a failed POST request (HTTP 400) with “Invalid app.bsky.feed.post record” message.
120
Shreyas Mididoddi @shreyascodes.tech · 06/04/2026
110
Shreyas Mididoddi @shreyascodes.tech · 01/03/2026
this was my prompt
initi git, create a new sveltekit project with tailwind and drizzle, setup oxlint and oxfmt, enable sveltekit remote functions, setup project local opencode svelte plugin, make sure the deps are up to date, add better auth. look up the docs for latest instructions and don't assume anything. make daddy proud
130
Shreyas Mididoddi @shreyascodes.tech · 01/03/2026
first thing gippity did was do a --help and it has no info on how to run it non interactively and then it did this whole chain of y commands and stuff to get what it wanted :)
a screenshot of running npx sv --helpa screenshot of running npx sv add --helpa screenshot of running npx sv create --help
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
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 · 31/10/2025
Not sure how this works if you can just not login and clone my shit but cool feature ig
000
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 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
Shreyas Mididoddi @shreyascodes.tech · 19/10/2025
that is sooo much better already
A black image with white outlined letters "JB3G15" rotated slightly clockwise. Each character is individually boxed.
030
Shreyas Mididoddi @shreyascodes.tech · 19/10/2025
pure zig ocr? (well sort of i just started but this is soo cool already no llms or deps)
A black image with the text "T3K23G" in white, outlined in red boxes, against a black background.
010
Shreyas Mididoddi @shreyascodes.tech · 08/10/2025
closures (okay well not really capturing but still v cool) in zig lfg i need some tree sitter and lsp hacking but this is soo nice already lol
const std = @import("std");

pub const main = @fn(() void {
    std.log.info("Hello, World!", .{});
});

# zig build run
info: Hello, World!
120
Shreyas Mididoddi @shreyascodes.tech · 28/09/2025
lol when you don't know what you're doing and you don't have any examples to go off of cuz people been doing this the shitty way forever
 git log --oneline --decorate | head -n 8
5700902 (HEAD -> main) ai slop
bad4762 it works?
1b2a6ae stuffff
40c71fd feat: stuff
20fc00c fix errors
dbab007 moar manifest
b3c0eb9 better manifest generation
a77e70f docs?
010
Shreyas Mididoddi @shreyascodes.tech · 28/09/2025
oh?
a screenshot with with 3 windows, a terminal with the following code
const std = @import("std");
const c = @cImport({
    @cInclude("android/log.h");
    @cInclude("android/native_activity.h");
});

export fn ANativeActivity_onCreate(activity: ?*c.ANativeActivity, savedState: ?*anyopaque, savedStateSize: usize) callconv(.c) void {
    _ = activity; // autofix
    _ = savedState; // autofix
    _ = savedStateSize; // autofix

    _ = c.__android_log_write(
        c.ANDROID_LOG_INFO,
        "Sugon",
        "Deez Nuts haha gottem",
    );
}

another terminal with the following output
➜ zig build -Doptimize=ReleaseFast
➜ adb install -r zig-out/app-x86_64.apk
Performing Streamed Install
Success
➜ adb shell am start -n codes.shreyas.mydroidshit/android.app.NativeActivity
Starting: Intent { cmp=codes.shreyas.mydroidshit/android.app.NativeActivity }
➜ adb logcat -d | rg -i sugon
09-28 15:55:27.364 12575 12575 I Sugon   : Deez Nuts haha gottem
and than another window with an android device preview with a black screen
120
Shreyas Mididoddi @shreyascodes.tech · 26/09/2025
f xml and java and gradle and maven I am going to rewrite the world to not use those
const Manifest = @import("manifest");

pub const manifest = Manifest{
    .package = "codes.shreyas.mydroidshit",
    .android_versionName = "0.0.1",
    .application = .{
        .android_label = "@string/app_name",
        .android_icon = "",
        .activity = &.{Manifest.Activity{
            .android_name = ".MainActivity",
            .android_exported = true,
            .meta_data = &.{
                // ... collapsed content
            },
            .intent_filter = &.{
                Manifest.IntentFilter.main_launcher,
            },
        }},
    },
};
110
Shreyas Mididoddi @shreyascodes.tech · 20/09/2025
i am very new to this whole writing articles thing you think this a good way to start one?
Let’s say you have to build an application that runs on windows, all 69,420 versions of Linux (did I tell you I use arch btw?) and macOS, x86 and arm architectures. What do you do?

Well, you just use Java and be done with it. Thanks for coming to my ted talk. Bye Bye!
010
Shreyas Mididoddi @shreyascodes.tech · 11/09/2025
if you are building any native cross platform stuff and you're on linux get wine and darling and qemu amazing what linux can do these days
$ rm -rf zig-out
$ rm orange-out.png
$ zig build -Dtarget=x86_64-linux
$ zig build -Dtarget=x86_64-windows
$ mv zig-out/bin/odiff zig-out/bin/odiff-linux
$ zig build -Dtarget=x86_64-macos
$ ./zig-out/bin/odiff-linux ./test/png/orange.png ./test/png/orange_changed.png ./orange-out.png
Found 1366 different pixels (1.14%)
$ file orange-out.png
orange-out.png: PNG image data
$ rm orange-out.png
$ darling shell ./zig-out/bin/odiff <..options>
Found 1366 different pixels (1.14%)
$ file orange-out.png                                                                                                                     
orange-out.png: PNG image data
$ rm orange-out.png
$ ./zig-out/bin/odiff.exe <..options>
$ file orange-out.png
orange-out.png: PNG image data
120
Shreyas Mididoddi @shreyascodes.tech · 10/09/2025
this is me building odiff (by @neogoose.bsky.social go check it out it is cool) from my arch (btw) linux machine it has 4 c native deps (not like we have disabled cgo or whatever) built from source btw no cheating by linking against pre built binaries zig ftw
➜ zig build -Dtarget=x86_64-windows
➜ zig build -Dtarget=x86_64-macos
➜ zig build -Dtarget=x86_64-linux
➜ zig build -Dtarget=aarch64-macos
➜ zig build -Dtarget=aarch64-windows                                                                                                       
➜ zig build -Dtarget=aarch64-linux                                                                                                        
➜ uname -a                                                                                                                                 
Linux shreyas 6.15.9-arch1-1 #1
121
Shreyas Mididoddi @shreyascodes.tech · 06/09/2025
to draw this from scratch: - 1500+ lines of wayland code - 322 lines of xml parser - 320 lines of webgpu wrapper code - 17 lines of shader - 70 lines of driver code
a screenshot of a white window running on wayland with a small rectangle inside with a colorful gradient
260
Shreyas Mididoddi @shreyascodes.tech · 30/08/2025
it's weird, it's javascript
let arr = [1, 2, 3];

arr.map(async (x, _, self) => {
  // self == arr here
  console.log(self === arr);
  await new Promise((resolve) => setTimeout(resolve, 100));
  // self != arr here
  console.log(self === arr);
  return x + self[0];
});

// because we re-assign arr here
arr = [3, 4, 5];
# deno main.ts
true
true
true
false
false
false
210
Shreyas Mididoddi @shreyascodes.tech · 27/08/2025
guess how much time it took me to get to this simple red triangle on screen and it involved writing an xml parser from scratch
# zig build run
debug(wayland): Wayland display connected
debug(wayland): Wayland registry connected
debug(wayland): Wayland roundtrip completed in 0ms
debug(wayland): Wayland initialized
debug(wayland): EGL display acquired
debug(wayland): EGL initialized
debug(wayland): EGL context created
debug(wayland): Wayland surface created
debug(wayland): Layer shell surface created
debug(wayland): EGL window created
debug(wayland): EGL surface attached
debug(wayland): Wayland roundtrip completed in 5ms
010
Shreyas Mididoddi @shreyascodes.tech · 27/08/2025
A 9 year old youtube comment lmao
I'm a huge fan of Rob Pike but he dresses really weird! A carrot-coloured suit with turquoise T-shirt? WTF!
010
Shreyas Mididoddi @shreyascodes.tech · 27/08/2025
you mean like this?
(() => {
  const proxyUrl = env("GEMINI_PROXY");
  if (!proxyUrl) return;
  const oldFetch = globalThis.fetch;
  function isGeminiReq(url: URL | RequestInfo) {
    const { hostname } =
      typeof url === "string"
        ? new URL(url)
        : url instanceof Request
          ? new URL(url.url)
          : url;
    return hostname === "generativelanguage.googleapis.com";
  }

  if ("Deno" in globalThis) {
    console.log("using deno proxy");
    const client = Deno.createHttpClient({
      proxy: {
        url: proxyUrl,
      },
    });
    globalThis.fetch = (url: URL | RequestInfo, init?: RequestInit) => {
      if (!isGeminiReq(url)) return oldFetch(url, init);
      return oldFetch(url, {
        ...init,
        // @ts-expect-error - deno supports this
        client,
      });
    };
  } else {
    console.log("using node proxy");
    const dispatcher = new ProxyAgent(proxyUrl);
    globalThis.fetch = (url: URL | RequestInfo, init?: RequestInit) => {
      if (!isGeminiReq(url)) return oldFetch(url, init);
      return oldFetch(url, {
        ...init,
        // @ts-expect-error - node supports this
        dispatcher,
      });
    };
  }
})();
010
Shreyas Mididoddi @shreyascodes.tech · 07/08/2025
A screenshot of a music player notification showing song titled Adhento Gaani Vunnapaatuga
110
Shreyas Mididoddi @shreyascodes.tech · 03/08/2025
based
-> yay -Q | rg -i electron
electron32 32.3.3-1
electron33 33.4.11-2
electron34 34.5.8-1
electron35 35.7.2-1
electron36 36.7.3-1
110
Shreyas Mididoddi @shreyascodes.tech · 20/07/2025
Congratulations
000
Shreyas Mididoddi @shreyascodes.tech · 18/07/2025
lol love when the compiler outsmarts me in a subtle way and gives a free 5% boost just by doing less (the asm is soo close, i just missed a tiny detail but it didn't/couldn't)
> git log --oneline --decorate | head -n 1
729f471 (HEAD -> main) get rid of all the inlines to make the lexer go brrr (trust the compiler ig?)
010
Shreyas Mididoddi @shreyascodes.tech · 13/07/2025
push down automata ftw
pub fn parse(self: *Self) !Node.NodeIndex {
	const BinOp = Node.BinOp;
	const UnOp = Node.UnOp;
	try self.reset();
	const parser = self.parent();
	var frame: *StackFrame = undefined;
	parsing: switch (StackFrame.State.start) {
		.start => {
				frame = try self.pushFrame(.min);
				continue :parsing .expression;
		},
		.expression => { ⋯                                                                                                                   
		},
		.parenthesized_expr => { ⋯                                                                                                           
		},
		.expect_unary => { ⋯                                                                                                                 
		},
		.expect_primary => { ⋯                                                                                                               
		},
		.maybe_operator => { ⋯                                                                                                               
		},
		.pop_and_reduce => { ⋯                                                                                                               
		},
	}
	std.debug.assert(self.expr_stack.items.len == 0 and self.expr_stack.capacity > 0);
	// safe to call cuz capacity > 0
	self.expr_stack.items.len = 1;
	return self.expr_stack.items[0].lhs;
}
010
Shreyas Mididoddi @shreyascodes.tech · 13/07/2025
should i keep the source? what do you think?? (this is just after lexing and the ast will be atleast 3x this i think)
/// from testing it seems like for average code, tokens/source byte
/// is around 0.17 so let's say it's 0.2
///
/// if we only store source bytes for dynamic tokens like id, string, int etc
/// dynamic token bytes/source byte is around 0.47 so let's say it's 0.5
///
/// we know token_size = 4 bytes
/// let source_bytes = x
/// total_tokens = 0.2x
/// token_bytes = total_tokens * token_size
/// => 0.2x * 4 = 0.8x
///
/// ## if we keep the source and tokens
/// => total_memory = token_bytes + source_bytes
/// =>  0.8x + x
/// => total_memory = 1.8x bytes
///
/// ## if we keep the source and only store the source bytes for dynamic tokens
/// => total_memory = token_bytes + dynamic_token_bytes
/// =>  0.8x + 0.5x
/// => total_memory = 1.3x bytes
pub const Token = packed struct(u32) {
    kind: Kind,
    has_end: bool,
    offset: u24,
};➜ zig build run -Doptimize=ReleaseFast -- ./big.zig
error(parser): lexer errors: 261472
error(main): Token size: 4 bytes
error(main): Tokens: 111039104
error(main): Source bytes: 620516576
error(main): Tokens per byte: 0.17894623333962315 tokens
error(main): Token bytes: 444156416
error(main): Total memory: 1064672992 bytes
error(main): Total memory per byte: 1.7157849333584927 bytes
error(main): Dynamic token bytes per byte: 0.47682712669387256 bytes
error(main): Total memory with dynamic tokens: 740035552 bytes
error(main): Total memory with dynamic tokens per byte: 1.192612060052365 bytes
100
Shreyas Mididoddi @shreyascodes.tech · 16/06/2025
too late
030
Shreyas Mididoddi @shreyascodes.tech · 21/05/2025
NO WAY!!!
a screenshot that says Lu wilson @todepond.com
010
Shreyas Mididoddi @shreyascodes.tech · 21/05/2025
so i did a byte pair encoding on all my teets and tried to decode the encoded mess of numbers starting at index 420 and here's the first two tokens lmao 😂😂😂
an image showing output of byte pair encoding being "start" and "I  use neovim btw"
120
Shreyas Mididoddi @shreyascodes.tech · 19/05/2025
chat we're simding haarrd rn
Output of the git log command showing a bunch of commit messages
- (HEAD -> main) simdeez nuts??
- idk even more consistent faster ig?? not sure
- more speeeed
- try a bunch of hashing techniques but nothing seems to be good idk
- fasterrrrr
- use fnv1a for hashing keys and update freq map
- fix hashing and pair handling
- update
- restructure
- make the freq calc faster
- it's working now i think
- still wrong and over complicated
- a wrong zig impl
- move ts to scripts
- whatever this is
040
Shreyas Mididoddi @shreyascodes.tech · 16/05/2025
no you can't
Diagnostics:
1. expected type 'bool', found '?u16'

        if (self.first_child or 4 > value) |first_child| {
            log.info("first child: {}", .{first_child});
        }
120
Shreyas Mididoddi @shreyascodes.tech · 16/05/2025
does this zig code segfault?
    pub fn appendChild(self: *Node, tree: *Tree, value: i32) void {
        const new_node = tree.createNode();
        new_node.value = value;
        new_node.parent = self.id;

        self.child_count += 1;
        if (self.last_child) |last_child| {
            self.last_child = new_node.id;
            new_node.prev = last_child;
            tree.get(last_child).next = new_node.id;
        } else {
            self.first_child = new_node.id;
            self.last_child = new_node.id;
        }
    }inline fn createNode(self: *Tree) *Node {
    const id = self.nodes.items.len;
    const new_node = self.nodes.addOne() catch unreachable;
    new_node.* = .{
        .id = @intCast(id),
        .value = undefined,
    };
    return new_node;
}const Tree = struct {
    nodes: std.ArrayList(Node),
};
130
Shreyas Mididoddi @shreyascodes.tech · 14/05/2025
Screenshot of an android home screen with a status bar at the top with time, battery wifi, cellular signals and mute indicator 

in the center there's time in large font and date, weather below it

Below that there's a list of apps and a lock button at the bottom right corner of the screen
110
Shreyas Mididoddi @shreyascodes.tech · 13/05/2025
@nanami.codes mentioned on the other app lfgggg
Screenshot of a Twitter post by ilia @iliaaamiri with the caption "worshipping the product rn". The image in the tweet shows a person in a Hello Kitty costume raising a sledgehammer above a laptop in an office. Below the tweet are replies. The first reply is from Dev-Siri @DevSiriTweets, asking "is that nanami". The next reply is from Shreyas Mididoddi @Shreyassanthu77, saying "lol that's exactly what I was gonna say 😂". The final reply is from Charles Dong @chardon_cs, saying "that's exactly what I wanted to say also 😂🤣"
350
Shreyas Mididoddi @shreyascodes.tech · 12/05/2025
We'll continue to maintain the Supermaven plugins for VS Code, JetBrains, and Neovim, and provide functionality improvements and better models when they're available. As part of Cursor, we'll have the ability to design the editor UI together with the models, and there will be improvements to Cursor Tab incorporating long-context technology from Supermaven.
110
Shreyas Mididoddi @shreyascodes.tech · 10/05/2025
lol
+++++>
+++

< [ >>+>+ <<< - ] 
>>> [
	<<< + >>> -
] 
<< [
	>> + > + <<< -
]
>>> [
	<<< + >>> -
]
< [
	< + > -
]
++++++ [
	>++++++++ < -
] 
>[
	<< + >> -
] << .
110