kylebebak
- Upgraded Python 3.8 to Python 3.14
- Python 3.3 is now disabled by default
By default, Sublime plugins now all run under the Python 3.14. The 3.8 plugin host was removed (Python 3.8 reached EOL in Oct 2024), and the 3.3 plugin host is deprecated, and will be removed in a future release.
This is great for plugin devs. They get improvements to syntax, performance, type hints, the standard library, etc, and they can depend on modern versions of Python packages. Many packages no longer receive updates for 3.8 (e.g. https://github.com/psf/requests), let alone 3.3, and many others simply don't run on these older python versions (e.g. https://github.com/xberg-io/tree-sitter-language-pack).
Like the plugin systems for Emacs/Neovim/VS Code (and unlike the sandboxed systems for e.g. Zed and Helix), Sublime's plugin API has low-level access to the editor, and the runtime has full OS access.
I think Sublime was smart to bet on Python for the plugin system. They released the plugin system in 2009, before Python was everywhere. The super flexible plugin API and the huge package ecosystem is a powerful combo.
Let's say the LLM is in the middle of text generation and "decides" that the next token is "dog" with p=0.55, or "cat" with p=0.45. With a temperature of 0, the model always picks dog, because it's the most likely next token. With a temperature of 1 the model picks dog 55% of the time and pick cat 45% of the time.
With this watermarking scheme, the model might alter these probabilities s.t. p_dog for this particular generated token goes up or down. Let's say it does down, s.t. p_dog is now 0.45 and p_cat=0.55. Now, with T=1 the model picks cat 55% of the time and dog 45% of the time. Regardless of whether the "watermarking function" raises or lowers p_dog, the probability distribution for this token has changed, and whatever math this trillion dollar company and its brainiacs came up with to decide that p_dog ought to be 0.55 has been "adulterated". As others have mentioned there is no way around this.
---
Regarding the watermarking scheme, it works because it doesn't just alter p_dog for this single output token. It alters probabilities for many of the generated tokens (it could do this to all of the output tokens; it's an implementation detail). E.g. at token N, it favors "cat", at token N+1 it favors "house", etc. This way, if you have the secret key that lets you generate the watermarking function for any output token, you can analyze a run of tokens and check whether it's likely they were generated according to your watermarking scheme. The longer the run of tokens, the more certain this check becomes (it becomes extremely certain quite fast).
I would take this story with a huge grain of salt. There's illegal development everywhere in Mexico. Here's a story (one of many, and from an actual newspaper) about illegal development in Tepoztlán: https://www.jornada.com.mx/noticia/2022/08/15/estados/edific.... This goes on in the open -- you can look towards the mountains from town and see fancy houses that are literally within the national park.
I picked Tepoztlán because it's very beautiful, very close to the capital, and is one of Mexico's most visited "Pueblos Mágicos" (the most visited so far in 2026). If the government isn't stopping obvious illegal development here then one would wager they aren't really stopping it anywhere. Insitutions are weak, so crackdowns are limited and temporary, and they're usually just aimed at developers that aren't properly "connected". "For my friends, everything; for my enemies, the law" and all that.
- https://en.wikipedia.org/wiki/Pueblos_M%C3%A1gicos
- https://www.infobae.com/mexico/2026/05/21/por-esta-razon-tep...
I certainly don't, and I don't speak for the person you replied to but I figure most people commenting here don't think that either
> The Bolivarian regime came to power in a free and fair election
Hugo Chavez was elected president legitimately in 1998, so it's true that the Bolivarian regime came to power fairly. But just about nobody that's paying attention thinks Maduro won the presidential election in 2024. Elections were held, Maduro lost (by a huge margin), and he continued being president anyway
https://en.wikipedia.org/wiki/2024_Venezuelan_presidential_e...
https://www.youtube.com/watch?v=3wWBV3QCbGE&list=PLhinduWcIK...
The foxes and rabbits code is the same code in the simulation, I just recently put it on GitHub so I wouldn't lose it
https://www.youtube.com/watch?v=-_JWAh0lP8Q
It's a stochastic simulation (no differential equations), but it produces predator-prey population swings that are pretty close to the Lotka-Volterra model
Cargo Cult Testing, and why there's no such thing as 100% coverage
MarkdownEditing (https://github.com/SublimeText-Markdown/MarkdownEditing), optionally combined with Distraction Free mode, is my preferred setup for anything that's not code: docs, blog posts, prose, etc.
Examples often say more in 10 lines of code than a page of docs, but I didn't find this to be an issue. To write Requester, I cloned plugins with features I wanted to implement (e.g. GitSavvy) and used them to complement the docs.
I think the docs could be improved with examples of small useful plugins that touch on various areas of the API. This might be a good project for the community.
And the excellent Python plugin API, which has made the plugin ecosystem so vibrant. Here's one I wrote, https://github.com/kylebebak/Requester, an HTTP client that goes toe to toe with Paw and Postman on features and outdoes them on usability.
I couldn't have have written something like this for any other editor, or any other platform.
I love its core functionality: speed and stability, search, command palette, file navigation, Goto. I've used a number of editors over the years, and none have felt as fundamentally sound as Sublime Text.
The best feature of all is the Python plugin API. Sublime lacks some OOTB functionality of newer editors, but the plugin ecosystem makes this a non-issue if you're willing to invest in extending your editor. If you write code 6+ hours a day, you should be. Git integration (GitGutter and GitSavvy) is awesome, as is linting (SublimeLinter) and project management (ProjectManager).
I wrote an HTTP client plugin for Sublime called Requester (https://github.com/kylebebak/Requester) in a few thousand lines of code. It matches Postman, Insomnia, Paw et al. on features, and in my opinion handily beats them on usability. It's the plugin API that makes this possible.
Here's my guess on what Jon Skinner set out to do with Sublime Text: build a rock-solid text editor and make it as extensible as possible. Until someone does this better, Sublime is the best editor out there.
I built Requester so that its syntax would be identical to Requests' syntax, so I wouldn't have to come up with my own syntax for the plugin. Requests' syntax is _extensively_ documented, and improving on it would be quite a tall order.
Are there any features you think would be nice that aren't here?
Requester: ridiculously powerful, elegant REST client for Sublime Text
The biggest problem solved by cookies has always been sessions. samesite is sufficient for most sessions. It seems like samesite should have been the default from the beginning.
Security takes a back seat to reproductive fitness of the web as a platform. JS made the web insecure, but it also made it the world's premier application platform.
I blogged about this: http://kylebebak.github.io/post/browser-security-worse-is-be...
Exhibit A (https://bitcoin.org/bitcoin.pdf)
This paper, and the technology it proposes, are as eloquent and ingenious as they come.
Exhibit B (from one of Wright's blog posts in the Wired exposé) "Well.. e-gold is down the toilet."
The telltale 2 dot ellipsis... Imagining this semi-literate blowhard writing that paper is a real stretch.