HNHacker News
TopNewBestAskShowJobs

james2doyle

902 karma · joined May 11, 2014

https://ohdoylerules.com/

[ my public key: https://keybase.io/james2doyle; my proof: https://keybase.io/james2doyle/sigs/3yx8K6dwFtyhoCBUzraSx5DeL40Y5Zj1_WDpvmmTWak ]

submissionscomments
james2doyle··on Kaiju – General purpose 3D/2D game engine in Go and Vulkan with built in editor
Still not "9 times faster", and still seems disingenuous, but here is one comparison that is at least given with some more context: https://x.com/ShieldCrush/status/1943516032674537958
james2doyle··on Cloudflare outage on December 5, 2025
This is just using robots.txt and asking "pretty please, don’t scrape me".

Here is an article (from TODAY) about the case where Perplexity is being accused of ignoring robots.txt: https://www.theverge.com/news/839006/new-york-times-perplexi...

If you think a robots.txt is the answer to stopping the billion-dollar AI machine from scraping you, I don’t know what to say.

james2doyle··on Cloudflare outage on December 5, 2025
You call it extortion of the AI companies, but isn’t stealing/crawling/hammering a site to scrape their content to resell just as nefarious? I would say Cloudflare is giving these site owners an option to protect their content and as a byproduct, reduce their own costs of subsidizing their thieves. They can choose to turn off the crawl protection. If they aren't, that tells you that they want it, doesn’t it?
james2doyle··on OpenAI needs to raise at least $207B by 2030
How often do you buy the first result on an Amazon search? Because that's delegating your labour, isn't it? Surely the best products are getting to the top, right? Well no, they're being paid to get to the top. An LLM that has in-app shopping is gonna be the same thing
james2doyle··on OpenAI needs to raise at least $207B by 2030
Do you buy the first item that pops up on Amazon for a search that you've made? Because that's letting the robot do it for you.

If the answer is "no because that's an ad", well, how do you know that the output from ChatGPT isn't all just products that have bought their rank in the results?

james2doyle··on Fast Lua runtime written in Rust
There seems to be quite a few of projects like this these days:

* https://github.com/Scythe-Technology/zune * https://github.com/lune-org/lune * https://github.com/luau-lang/lute * https://github.com/seal-runtime/seal

All slightly different. Personally, I like Lune and Zune. Have used both to play around and find them fun to use

james2doyle··on Ask HN: Who uses open LLMs and coding assistants locally? Share setup and laptop
I was playing with the new IBM Granite models. They are quick/small and they do seem accurate. You can even try them online in the browser because they are small enough to be loaded via the filesystem: https://huggingface.co/spaces/ibm-granite/Granite-4.0-Nano-W...

Not only are they a lot more recent than gemma, they seem really good at tool calling, so probably good for coding tools. I haven’t personally tried it myself for that.

The actual page is here: https://huggingface.co/ibm-granite/granite-4.0-h-1b

james2doyle··on Zune – A Luau Runtime, Similar to Lune, Node, or Bun, Written in Zig
* Comprehensive API: Includes fully featured APIs for filesystem operations, networking, and standard I/O. * Rich Standard Library: A rich standard library with utilities for basic needs, reducing the need for external dependencies. * Cross-Platform Compatibility: Fully compatible with Linux, macOS, and Windows, ensuring broad usability across different operating systems. * High Performance: Built with Zig, designed for high performance and low memory usage.
james2doyle··on Now open for building: Introducing Gemini CLI extensions
Check this out: https://github.com/gemini-cli-extensions/security

This one seems to showcase a bunch of the "extension" features, including a custom MCP for dealing with file line numbers.

james2doyle··on The evolution of Lua, continued [pdf]
There is also nelua (https://nelua.io/) which can use WASM to compile allow its usage in the browser: https://github.com/edubart/nelua-game2048/
james2doyle··on Simple Hotkey Daemon for macOS, Ported to Zig
Yeah hammerspoon seems a lot more capable.

I wrote two articles on using global hotkeys with hammerspoon:

https://ohdoylerules.com/tricks/hammerspoon-hyper-key/ https://ohdoylerules.com/tricks/hammerspoon-number-pad-short...

One think you can even do is detect which devices are being used and handle shortcuts differently. You can write a full on workflow that can be triggered with a keyboard shortcut if you’re using hammerspoon.

I recently switched from a homecooked keyboard "expansion" plugin to using Espanso but it can do that as well!

james2doyle··on Luau – Fast, small, safe, gradually typed scripting language derived from Lua
https://pluto-lang.org/docs/New%20Features/Type%20Hinting

They have "type hints" which looks to be pretty close to what luau has except they use `any` instead of `unknown` it seems

james2doyle··on Thoughts on Mechanical Keyboards and the ZSA Moonlander
Not a split but I found that an Alice layout fixed a lot of the hangups I had with typos on my ErgoDox EZ.

I got the Keycron Q8 which is actually still on sale: https://www.keychron.com/products/keychron-q8-alice-layout-q...

I also found I could type way faster on it than I even could on a split.

I do miss the thumb cluster though... but this is close with the split thumb setup

james2doyle··on Luau – Fast, small, safe, gradually typed scripting language derived from Lua
I actually came across https://github.com/PlutoLang/Pluto and it seems to be all the things you would want from Luau but without the connection to Roblox
james2doyle··on Ask HN: Is anyone else sick of AI splattered code
Totally agree. I use for chores (generate an initial README, document the changes from this diff, summarize this release, scaffold out a new $LANG/$FRAMEWORK project) that are well understood. I have also been using it to work in languages that I can/have written in the past but are out of practice with (python) but I’m still babysitting it.

I recently used it to write a Sublime Text plugin for me and forked a Chrome extension and added a bunch of features to. Both open source and pretty trivial projects.

However, I rarely use it to write code for me in client projects. I need to know and understand everything going out that we are getting paid for.

james2doyle··on Google will allow only apps from verified developers to be installed on Android
Understood. Poor wording on my part!
james2doyle··on Google will allow only apps from verified developers to be installed on Android
Wasn’t Apple the one actually caught throttling devices with an update to slow phones down under the guise of "saving battery"?

Leaving Google for Apple, and expecting a more open app store, is going to be disappointing. I’m not a Google fanboy by any means, just pointing out the landscape out there

james2doyle··on Claude Opus 4 and 4.1 can now end a rare subset of conversations
I use https://chatwise.app/ and it has this in the form of "start new chat from here" on messages
james2doyle··on Gemini CLI GitHub Actions
I’ve actually been using Gemini on my phone to create appointments from details on my screen. For example, I have a delivery coming so there is an email with the date and time range. I can press and hold my power button and Gemini pops up. I press a button to use screen context. Then say, "put this in my calendar". Then it does. It isn’t perfect. Events that cross multiple days or odd location details in the description sometimes don’t get included. But that is more and more rare. I’m using an Android phone. So maybe that is why it seems to work. I do see that "mostly works" is not the same as "always works".

Also, if you are a Google Workspace customer, you can connect your workspace to the Gemini web app. It can then search and manipulate your calendar and your drive. It will also summarize documents and a few other tasks. I have less use for this but it is far from "it _can’t_ make appointments".

james2doyle··on Up to date prices for LLM APIs all in one place
Nice. I think I prefer https://models.dev/ as it seems more complete
james2doyle··on DaisyUI: Tailwind CSS Components
There are a boatload for Vue:

https://www.radix-vue.com/ https://vuetifyjs.com/en/ https://www.unaui.com/ https://vuesax.com/ https://primevue.org/ https://inspira-ui.com/ https://www.naiveui.com/

And for Nuxt there is https://ui.nuxt.com/

james2doyle··on Show HN: I rewrote my Mac Electron app in Rust
True. But this is actively being worked on by Canonical: https://ubuntu.com/blog/multiple-window-flutter-desktop
james2doyle··on Migrating a JavaScript Project from Prettier and ESLint to BiomeJS
Running the tool is easy. Installing, configuring, and keeping it updated? Well, those tasks have taken up many lifetimes.

Replacing prettier and eslint in my projects will typically remove about 5 dependencies. Sometimes up to 10 if you have a lot of specific plugins.

Another amazing benefit is that because Biome is a compiled binary, it can run _without npm install_ which means you can use it in your CI for linting before running any expensive build steps.

Those things save me time.

james2doyle··on Lune (Rust-based Luau runtime) 0.9.0 released
Yep. Luau has an LSP so you should be able to get all that.

There is no support for Luau in Love2D though. You would have to author your code in Teal (typed lua to lua compiler) and then compile that to Lua to be run in Love: https://github.com/teal-language/tl

You can get the Lua LSP working in Love2D with full completion support by the way. The Lua LSP has 3rd party libraries included in it. You can see all the preinstalled ones here: https://github.com/LuaLS/lua-language-server/tree/master/3rd

Support for them as built-ins will be removed at some point though. But you can always add them yourself: https://github.com/LuaLS/lua-language-server/wiki/Settings#w... using the files from here: https://github.com/LuaCATS/love2d/

It looks like the easiest way to support them is using a `.luarc.json` file though: https://github.com/LuaLS/lua-language-server/wiki/Configurat...

Here is a project that is already set up with a config file that you should be able to just copy: https://github.com/jonasgeiler/love2d-joystick-tester/blob/m...

james2doyle··on Lune (Rust-based Luau runtime) 0.9.0 released
Lune is a standalone Luau runtime. You can write and run programs, similar to runtimes for other languages such as Node, Deno, Bun, or Luvit for vanilla Lua.

Lune provides fully asynchronous APIs wherever possible, and is built in Rust for speed, safety, and correctness.

Lune version 0.9.0 introduces changes to the require behavior, process spawning functions, and WebSocket methods, while also adding new features to the roblox and datetime standard libraries, improving documentation, and fixing several bugs. Serde support is also expanded

james2doyle··on I still like Sublime Text
A lot of the LSP plugins have a format feature, so you can format your code. I set most of mine up to trigger on save
james2doyle··on I still like Sublime Text
I have actually tried Lapce because I like Lua and I thought it would be a nice alternative to building plugins in Lua rather than Python. But I can't get over how clunky the UI is in Lapce. I also find it will randomly crash on me and I can't really tell why. There's also no easy way to add additional LSPs. You have to look at these extensions, and there is a very limited number of them. I wish they would just allow you to configure the LSP through a JSON object like Sublime does.
james2doyle··on I still like Sublime Text
There is a lot to like about Zed. But I still can't get past how it doesn't feel as snappy as Sublime. As I mentioned in the post, their snippet solution is not ideal for my needs. Something I didn't mention, though, was that I find the LSP configuration to be really frustrating in Zed. Their configuration/settings file is kind of a mess. They've clearly gone through a couple different versions of how to configure things because every couple of releases. They have changed the way that LSP formatting is configured at least twice.
james2doyle··on I still like Sublime Text
It sounds like you've had some unfortunate issues with Sublime in the past. Maybe it's just the different types of projects that we're both working on or what plugins we have installed. I haven't encountered any day-destroying bugs since at least version 3 came out. I think the most recent bug I came across was that a language-specific syntax broke, but that was because I updated Sublime and the syntax wasn't updated for it. I don't really know who's to blame in that scenario, though.
james2doyle··on I still like Sublime Text
I got you
← PreviousPage 4 of 7Next →