HNHacker News
TopNewBestAskShowJobs

kylebebak

92 karma · joined December 9, 2015

submissionscomments
kylebebak··on Sublime Text Build 4213
The headline changes in this release are related to the Python plugin host:

- 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.

kylebebak··on Anthropic's ‘watermark’ text adulteration in Claude is a perversion of writing
That is not a good way to think about this. I don't have deep knowledge of how LLM's work, but the following is accurate enough to illustrate the point.

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).

kylebebak··on Mexico crackdown on coastal development
> In a bold move that signals a major shift in Mexico’s approach to environmental protection, the Federal Attorney’s Office for Environmental Protection (Profepa) has launched an aggressive campaign against unauthorized real estate developments along the picturesque Yucatán coast.

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...

kylebebak··on Malicious npm packages detected across Red Hat Cloud Services
npm supports this now as well, with e.g. `min-release-age=7` in `.npmrc`
kylebebak··on 'The Secret Agent': Exploring a Vibrant, yet Violent Brazil (2025)
There's no such thing (parent likely borrowed this term from the video game industry)
kylebebak··on Flock CEO calls Deflock a “terrorist organization” (2025) [video]
"For my friends, everything; for my enemies, the law"
kylebebak··on Trump says Venezuela’s Maduro captured after strikes
> You think it’s a good idea for foreign countries to overturn domestic elections?

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...

kylebebak··on Hemp ban hidden inside government shutdown bill
There are terms for the combined effects of drinking alcohol and smoking weed. Cross-faded in English, pachipedo in Spanish. I find these terms and the effects they refer to enjoyable.
kylebebak··on Brian Wilson has died
Adiós Brian, thanks for the music

https://www.youtube.com/watch?v=3wWBV3QCbGE&list=PLhinduWcIK...

kylebebak··on Sly Stone has died
Everybody is a star

https://www.youtube.com/watch?v=3-1s2gqDs_U

kylebebak··on Lotka–Volterra Equations
In each frame of the simulation there's a small random chance that a fox dies (of starvation), and that a rabbit reproduces. The start positions and velocities of the rabbits and foxes are also random

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

kylebebak··on Lotka–Volterra Equations
A long time ago I wrote code to run a visual simulation that combines flocking behavior with Lotka-Volterra dynamics

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

kylebebak··on Sublime Text 3.0
Just to clarify: the docs are rustic but complete. The API itself is immensely powerful.
kylebebak··on Sublime Text 3.0
I love Sublime for writing anything, not just code.

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.

kylebebak··on Sublime Text 3.0
I've found the docs to be complete but lacking in examples.

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.

kylebebak··on Sublime Text 3.0
Speed and stability, search, command palette, file navigation, Goto.

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.

kylebebak··on Sublime Text 3.0
Sublime Text is among the best pieces of software I've used. I bought the license a couple of years ago, and would gladly pay the same amount again.

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.

kylebebak··on Requester: ridiculously powerful, elegant REST client for Sublime Text
Thanks!

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?

kylebebak··on Why does Google prepend while(1); to their JSON responses?
I read about this recently. It's hard to believe these cookies didn't exist until 2016.

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.

kylebebak··on Why does Google prepend while(1); to their JSON responses?
I like to think web browsers take the worse is better approach to security.

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...

kylebebak··on LinkedIn shares drop 40%, erasing $10B of company's value
This about sums it up
kylebebak··on Reported Bitcoin 'founder' Craig Wright's home raided by Australian police
Agreed...

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.