HNHacker News
TopNewBestAskShowJobs

modernerd

5,521 karma · joined November 4, 2010

nick [at] cern [dot] is
submissionscomments
modernerd··on Zed AI
> Extensions can add the following capabilities to Zed: Languages, Themes, Slash Commands

This is a great start but it's far from what most would accept as "programmable" or richly extensible.

modernerd··on Zed AI
I just want a fast programmable text editor with a native GUI and good defaults.

But that seems really tough to find, for some reason.

Zed is so close, but I’d much rather see a focus on the “programmable” part and let the AI and collaboration features emerge later out of rich extensibility (i.e. as plugins, perhaps even paid plugins) than have them built-in behind a sign-in and unknown future pricing model.

modernerd··on Don't make your own game engine [video]
The speakers suggest that people:

1. Choose a game design to build by copying an existing game loop in a game you like.

2. Build everything you need to make that game.

The "don't make your own game engine" advice applies to not falling into the trap of building a generic game engine before step 1 or 2 — just build the game itself and your "engine" is everything that's needed for that one game.

Oogabooga seems to be their Windows-only set of C libs (including a replacement for the C standard library and a build system) to help people build Windows games, and seems focussed on top-down 2D games. https://github.com/alpinestudios/oogabooga. They intend you to fork the repo and use that as the starting point for your game.

They also mentioned that it includes hot reloading but I don't see anything about that in the docs or repo. It looks like there's a free group that might have a more guided walkthrough here but it's gated behind a sign-up: https://www.skool.com/game-dev/about

modernerd··on Coinbase awarded a $500k bug bounty
Payments seem to be in Ethereum, based on the description of the "Immunefi vault platform":

> This project utilizes a decentralized vault for their bounty rewards to ensure trust by showing that they have the collateral to cover their bounties. Payments are processed directly on-chain inside the Immunefi webapp.

https://immunefi.com/bug-bounty/beanstalk/

An interesting side-effect is that you can view payments from the public vault for each project, for example:

https://etherscan.io/address/0x66Efac6e6d58D4058CF017E66a003...

Top payment so far is 3 payments of about 8,500 USD to the same recipient. The maximum claimed achievable payment is 1.1m USD.

It does at least imply that they've set aside magic beans to pay researchers, and that someone is being paid from the bean fund, for whatever that's worth.

modernerd··on Coinbase awarded a $500k bug bounty
Crypto skeptics probably don't trust crypto firms to pay the "rewards up to $15,000,000" bounties advertised at places like https://immunefi.com/.

Immunefi has a similar payouts table to h1's at https://immunefi.com/bug-bounty/ implying people are getting paid, but it could boost credibility by linking to write-ups and findings from researchers if any exist.

modernerd··on Writing HTML by hand is easier than debugging your static site generator
> "Do you enjoy debugging programming language installations? What about the language’s package ecosystem? What about the language’s deployment model (or lack thereof)?"

Switching to a generator that ships as a single binary largely resolved this for me.

With https://www.getzola.org and similar you only need worry about installing the same version as the one that's building your site in production.

modernerd··on Local First, Forever
I delete the div.pointers element from the DOM to read Tonksy's site when it hits HN:

document.querySelector('.pointers').remove();

modernerd··on Ted Chiang has won the PEN/Faulkner Foundation's short story prize
”What's expected of us” is wonderful.

https://www.nature.com/articles/436150a

modernerd··on WordPress next, and beyond: breaking the technical enclosure
wp-env is a good option too.

https://developer.wordpress.org/block-editor/reference-guide...

modernerd··on WP21
21! At this point WP is “boring technology” which makes it a great choice for many sites. It still does much that's hard to get anywhere else:

- The core update process. It's long been one-click. Almost no other CMS or self-hosted framework offers as smooth an update process. (With Laravel, for example, I end up paying for Laravel Shift and even then it requires manual intervention that would be hard for a non-dev to handle.) For WP, services now exist to do automated updates with health checks and rollbacks to counter potential plugin incompatibility[1].

- The plugin ecosystem. WP went from "democratizing publishing" to "democratizing user-owned sites and businesses". From learning management systems to stores to paid newsletters, it's pretty cool what people with no programming experience can spin up.

Things I'd love to see for WP in the next 21 years (that we'll probably get sooner if enough people contribute):

- Built-in multilingual support. The web is global but WP isn't really, yet, except via third-party plugins. It's on the roadmap[2] but it's been a long time coming.

- Improved education around Full Site Editing (FSE) and the new editor. The tools are getting good now, but there's still an education gap. Lots of people are helping to close this, though. Jamie Marsland's YouTube videos do a great job of showing what's possible with FSE, for example. [3]

- Background batch processing/queues. These are only available via third-party solutions (and bundled with things like WooCommerce), but should probably be built into core.

- SQLite support. Already pretty good but not officially supported in core yet.

- Built-in site migrations. Also on the roadmap.[4]

- Enhanced Playground tech. Distributing WP as a single binary for dependency-free local development (i.e. without Node.js) feels achievable and worthwhile.

- Version control. It's too hard to store a WP site's state in a git repo and keep that synced with production and staging environments, especially when those with admin access can install and upgrade plugins independently of the repo.

[1] Like Automattic's own scheduled updater on WP.com (https://wordpress.com/blog/2024/05/20/scheduled-plugin-updat...) and WP Engine's Smart Plugin Manager (https://wpengine.com/smart-plugin-manager/).

[2] Current state of multilingual sites in WP: https://developer.wordpress.org/advanced-administration/word...

[3] I like Jamie's videos showing how to recreate famous layouts with FSE: https://www.youtube.com/watch?v=WrdXCSIP578

[4] Site Transfer Protocol: https://core.trac.wordpress.org/ticket/60375

modernerd··on JetBrains releases RustRover IDE for Rust development
They’re still building it. There was a new version 3 days ago.

https://blog.jetbrains.com/fleet/2024/05/fleet-1-35-is-out-i...

modernerd··on Leaving Rust gamedev after 3 years
Allan Blomquist's tooling demo they mention is incredible, go watch it:

https://www.youtube.com/watch?v=72y2EC5fkcE

Really sells the value of having a tight developer feedback loop: it shows hot reloading for code and graphics, a reversible debugger, live profiling with flame graphs, a data inspector with data breakpoints, time travel inspection with a scrub bar, session sharing and replay with the same scrub bar and direct links from the call stack to a breakpoint, and more.

Above the many niggles they had with Rust itself, this greatly helps me understand why Rust left them wanting more from their working environment. They say they've switched back to Unity with https://hotreload.net/ to try to capture some of that, and now I see why. (It's a shame that hot reloading tooling in Rust wasn't ready for them yet, but I see why they've moved on instead of waiting/contributing.)

modernerd··on The Next Big Step in Mojo Open Source
Right, but with improved ergonomics that make Mojo easier to learn and write than Rust, the biggest difference being “borrow by default” as described here:

https://www.modular.com/blog/mojo-vs-rust-is-mojo-faster-tha...

modernerd··on The Next Big Step in Mojo Open Source
Yes! But also games and other hard real-time systems, desktop apps, microcontrollers and so much more…

I think it will get there with packaging. (Modular was recently hiring someone to work on Mojo's dev tooling full time, which sounds awesome, and I don't see that role any more so perhaps it was filled.)

Mojo is already the language I want to reach for for 100 things outside of AI. It would just help to know that the team behind it will actively support/encourage use of it in those spaces first.

modernerd··on The Next Big Step in Mojo Open Source
Mojo feels like a great fit for so many domains outside of AI. It could be a killer general purpose language.

It's easy to read and write, offers memory safety without RC or GC or even much mental overhead, will (eventually) be a superset of Python, and it's very performant already.

So far I've been hesitant to invest more time in it when it's pitched as "the programming language for all AI developers", when it's distributed inside the MAX package[1], and when Modular is prioritising features around AI over all else. (I understand why for all these things, I just wish it were otherwise.)

It's great to see the library in the open, but it would be much more compelling for me if Mojo were a separate entity, with its own open site and foundation, to be used by Modular but with more diverse adoption encouraged. Of course it's early days, but I hope it takes on a life more like Rust than Swift (which — despite its potential as a general-purpose language‚ is still largely used in one ecosystem).

1: https://www.modular.com/blog/max-is-here-what-does-that-mean...

modernerd··on Difftastic, a structural diff tool that understands syntax
SemanticDiff is probably the closest for now, although I don't think it uses tree-sitter.

https://semanticdiff.com/

Found via https://github.com/Wilfred/difftastic/issues/194.

modernerd··on Vice website is shutting down
So many words to say:

"Vice will stop publishing on vice.com, sell Refinery 29, reduce our workforce, and publish on other platforms instead."

modernerd··on So You Want to Ship a Command-Line Tool for macOS (2022)
I think Win 10 had SmartScreen too, but haven’t tested unsigned apps there yet.
modernerd··on So You Want to Ship a Command-Line Tool for macOS (2022)
No, Windows 11 presents two scary-looking popups for unsigned apps:

- “Windows protected your PC” with some tiny blurb no-one seems to read and a single button labelled “Don’t run”.

- If you do read the tiny blurb and spot the “More info” link, you can click it to get a summary about Windows Defender SmartScreen having saved the day by protecting you from this app by an “unknown publisher”, and then a second button becomes available that says, “Run anyway”.

It’s pretty hostile and it effectively forces devs to throw 300-600usd/year at a cert provider plus spend time to configure signing via CI.

There are also two levels of certificate, and the better one is only available if you’ve been in business for several years with an office address and public phone number (cert providers need to call you at your public number to validate your business ID).

There are some ways around it (I think games distributed via Steam’s installer still don’t need to be signed) but those aren’t an option for many.

modernerd··on So You Want to Ship a Command-Line Tool for macOS (2022)
> Electron apps have tools for automatically signing on GitHub actions so looking though what they do might help?

These only sign/notarise the dmg or app bundles (or the binaries inside them), so I don’t think that will help the OP unless they’re willing to wrap their CLI app in an Electron app, unfortunately.

modernerd··on So You Want to Ship a Command-Line Tool for macOS (2022)
Apple’s tools really could emit better messages when things go wrong. It’s sad that they hit a dead-end with this after everything they went through.

Windows isn’t a cakewalk either (you now have to use a hardware security module to store your certs, which means USB stick based signing or using a cloud service that supports HSMs, plus certs themselves are a racket in terms of pricing).

modernerd··on The day I canceled my Spotify subscription
I use Doppler on Mac/iOS:

https://brushedtype.co/doppler/

It's not perfect (adding and syncing music from Bandcamp could be smoother; it requires their Doppler Sync app to sync over Wi-Fi/AirDrop instead of syncing via cloud storage, which would be my preference).

But the UX is decent, it supports playlists, and it just works offline. If you can see your music you can play it which — oddly — has not been my experience with apps for streaming services that are supposed to let you download playlists for use offline.

modernerd··on I bought mysqldump.com and built this, what ya think?
You could make it more clear that it just generates the dump command; it doesn't attempt a connection.

1. Remove the "Generate" button.

2. Move the "Generated CLI Statement" to the right of the form as a second column (at least on wider screens).

3. Pre-fill the form with dummy data so that the generated statement does not start empty.

4. Immediately update the generated statement when someone edits any form field (with an aria-live region for accessibility).

5. Consider making the password field non-editable, or omitting it but leaving a password in the output.

6. Change "We do not store your credentials. Tasks are done in your browser" to "No data is saved. View source on GitHub." with a link to the source if you feel comfortable providing it.

modernerd··on Gmail and Yahoo’s 2024 inbox protections and what they mean for email programs
I think they set it automatically, at least based on https://blog.cloudflare.com/email-routing-subdomains
modernerd··on How to learn chess as an adult (2021)
Losing hurts, but:

1. Instead of thinking, "sheesh, I suck" after losing, start thinking, "well played" (even if your opponent was in a losing position and beat you on time or with a sneaky pre-move; they still won). This simple reframing makes it less about the gaps in your abilities and more about having found an opponent who outplayed you that game. Finding better opponents is a good thing; you will learn more.

2. Actively make loss about growth: review games you lost. Find (a) the losing move and (b) the reason you made that move (harder, but important). Use that info to change your thought process to reduce future mistakes. This can be as simple as, "it's 2am and I've been playing blitz for 3 hours, I'm too tired to play my best, I'll stop playing after midnight". Or "I keep missing mate threats. I will say "checks, captures, threats" in my head after my opponent makes a move to train myself to systematically seek dangerous intent, until that process is so internalised that it's natural. I will also solve mate-in-one[1] or mate-in-two[2] puzzles on Lichess for 10 minutes a day until they feel obvious."

3. If you lose three games in a row, stop playing for a while (a few minutes/hours/days, whatever you need). If losses hugely affect your mood, a long string of them can make you feel really low. Pre-emptively break that cycle and do something else for a while.

[1] https://lichess.org/training/mateIn1

[2] https://lichess.org/training/mateIn2

modernerd··on IA Writer in Paper
It’s a physical paper notebook.
modernerd··on Ben Fry resigns from the Processing Foundation
If you were paying with PayPal, GitHub dropped support in February. Subscriptions may stop for those who did not change payment method: https://github.blog/changelog/2023-01-23-github-sponsors-wil...
modernerd··on What companies offer noteworthy discounts or startup programs for bootstrappers?
JetBrains offers a startups discount for 50% off its tools:

https://www.jetbrains.com/store/startups/

modernerd··on LÖVE: a framework to make 2D games in Lua
You might need to dig around a little for animated sprite sheets, but there are plenty of good quality free 2d assets:

https://www.kenney.nl/assets

https://itch.io/game-assets/free

https://opengameart.org/

modernerd··on Zig 0.11
As a contributor to 0.11 it was very impressive how quickly my (small) PR was triaged, reviewed and merged.

The Zig team are doing great work and they care about the contributor experience.

← PreviousPage 4 of 24Next →