HNHacker News
TopNewBestAskShowJobs

wyattjoh

207 karma · joined November 1, 2014

https://wyattjoh.ca/

[ my public key: https://keybase.io/wyattjoh; my proof: https://keybase.io/wyattjoh/sigs/XRtmk3sakt12LTLlwCXteoXHdeXrxSREUCaGMUT32hY ]

submissionscomments
wyattjoh··on Show HN: Rowboat – AI coworker that turns your work into a knowledge graph (OSS)
It would be fantastic if this supported email and calendar providers that weren't Google. Supporting protocols like IMAP or JMAP alongside CalDav would be a fantastic step, as well as open source note-taking apps like Hyprnote would be neat.
wyattjoh··on Garage – An S3 object store so reliable you can run it outside datacenters
Wasn't expecting to see it hosted on forgejo. Kind of a breath of fresh air to be honest.
wyattjoh··on So you want to speak at software conferences?
I struggled for a long time to figure out what would be "interesting enough" to give a talk about. Turns out that the way that we do different things in Next.js was not talked about enough. Did my first technical talk about some decisions and mechanisms that Next.js uses for dynamic detection and rendering and found a sweet spot.
wyattjoh··on Distributing your own scripts via Homebrew
I wrote my own version of the homebrew tap bumping workflow for GitHub Actions: https://github.com/wyattjoh/homebrew-bump-revision I use it for some of my personal projects
wyattjoh··on Show HN: JMAP MCP – Email for your agents
Interesting! I haven't. This MCP was really just about providing raw access to the underlying data (created it in an hour). Might have some interesting results with that.
wyattjoh··on Show HN: JMAP MCP – Email for your agents
It supports read-only mode! It negotiates it via the JMAP capabilities.
wyattjoh··on Show HN: JMAP MCP – Email for your agents
Have only tested it with Fastmail. Just a fun little project! Only supports the mail and submission claims right now (so no extension support).
wyattjoh··on Raycast for iOS
Would be amazing to get extension support even though Apple might not allow it :(
wyattjoh··on Remix Vite Is Now Stable
You can actually call `unstable_noStore()` from `next/cache` to do that without needing to set it on the segment level[1]! We're working on improving the DX around Dynamic API's to make it a seamless experience.

[1]: https://nextjs.org/docs/app/api-reference/functions/unstable...

wyattjoh··on Developers revolt over Apple's new app store rules
Absolutely by Apple. Any subscription or charge against the users account all collects to the same place where it's always the User that has absolute control over their subscriptions. Want to cancel it? Easy, one place, one tap, done.
wyattjoh··on Developers revolt over Apple's new app store rules
The allure of the Apple ecosystem is the whole "it just works". I would absolutely want to be warned (and have less technically minded family members warned) when they are being sent to some third-party payment system when they're used to the guaranteed safe environment that Apple provides.
wyattjoh··on Globalstar SEC filing, Apple to use 85% of its satellite network capacity
Except this (currently) requires users to point their phone at a satellite so it can connect and transmit, with clear line of site of the sky. It seems it will be more likely something you'd do when you get to your "campsite" and want friends/family to know where you are located.
wyattjoh··on An announcement about the comment section
Quite a good analogy by The Coral Project[0] on similar problems faced by other organizations with comment sections on their sites https://guides.coralproject.net/the-empty-box/

Edit: Adding this other source for some more deep details https://arxiv.org/abs/1702.01119

[0]: https://coralproject.net/

wyattjoh··on Show HN: I'm working on a open-source, self-hosted alternative to Disqus
Coral is definitely more focused on larger communities than it is for smaller sites. Mainly because of the multi-tenant, multi-site, and moderation features that allow it to be used for larger organizations!

(We're also hiring to work on this open source project!)

wyattjoh··on REST vs GraphQL vs gRPC
Seconded. I feel that the pagination style that Relay offers is typically better than 99% of the custom pagination implementations out there. There's no reason why the cursor impl can just do limit/skip under the hood (if that's what you want to do), but it unlocks you to change that to cursor based _easily_.

    {
      products(first: 3) {
        pageInfo {
          hasNextPage
          endCursor
        }
        edges {
          cursor
          node {
            handle
          }
        }
      }
    }
wyattjoh··on Disqus, a dark commenting system
Lead developer at Coral here (so some experience :P)

Coral is more suited typically to larger organizations trying to power multi-site community tools. It has a powerful moderation system that's all open source! It's probably overkill for a static blog or small site.

wyattjoh··on Elasticsearch does not belong to Elastic
> Any license which restricts a user's ability to use the software how they wish is no open source license

That's the thing though. The only thing (from my naive understanding) that SSPL limits is a business (Like Amazon) from offering Elasticsearch as a service. If an organization (Like Amazon) wanted to use Elasticsearch internally (to say, power some part of their shopping platform), they are free to do so with this license.

It's essentially protecting Elastic's business model, which quite honestly, should be the bare minimum offered by any open source product.

wyattjoh··on Dates and Times in JavaScript – A New API for Dates from TC39
I've switched most of my work that used to use moment over to Luxon[0] now. It's still written by the same authors, but fixes a lot of the drawbacks[1].

[0]: https://moment.github.io/luxon/index.html [1]: https://moment.github.io/luxon/docs/manual/moment.html

wyattjoh··on New German law would force ISPs to allow secret service to install trojans
From the promo video of it running an ancient version of iTunes on Windows Vista and the brochures it seems they inject their malware via software updates in general, not just iTunes.
wyattjoh··on Ask HN: How to self-host comments on your otherwise static blog?
Plug for the platform that I work on, Coral[0]. We support newsrooms in many regions (including those that need to be GDPR compliant). You can self host the application on Heroku pretty easily with the button or run on a server if you like too.

[0]: https://docs.coralproject.net/talk/

wyattjoh··on Postwoman – a free alternative to Postman
It's GraphQL support is lovely.
wyattjoh··on Cloudflare-sync – Tool for using Cloudflare as a dynamic DNS provider
Also contributing yet another Cloudflare DDNS updater[0]! It was a neat experiment to play with the API. I've ran it in cron and as a systemd timer.

[0]: https://github.com/wyattjoh/cloudflare-ddns

wyattjoh··on WebKit Tracking Prevention Policy
I only with that with the advent of all these different anti-tracking movements, that there was a clear, documented way for "good faith actors" that require technology like localstorage.

We've worked really hard to implement a embedded experience via an iframe, but it's becoming increasingly difficult for our software to walk on egg shells as to not trigger it being labelled as a tracker (as it is definitely not, we only utilize localstorage for storing authentication details). Combine that with the fact that without using cookies, there isn't any way for us to support AMP sites, which often incorrectly labels us as a third party tracker.

edit: I do realize that the WebKit Tracking Prevention Policy essentially is a guide of how it works, I'm mostly interested in a "this is how to work within these defined walls to not be flagged as harmful"

wyattjoh··on Talk: An open-source commenting platform focused on better conversation
We're working on a more public roadmap, but the move to Typescript also allowed us to switch out Apollo on the client side with Relay as well as some other pretty significant improvements to the software as a whole (as you said, TS is pretty great :) )
wyattjoh··on Talk: An open-source commenting platform focused on better conversation
We've considered doing that, we're just supporting a lot of newsrooms still on our latest stable release (v4) as we put the finishing touches on our newest release (v5). Super excited to share some of the advancements we've made, using lots of really neat tech!
wyattjoh··on Talk: An open-source commenting platform focused on better conversation
We’re doing all the development under the next branch, a big rewrite to typescript :)
wyattjoh··on To ORM or Not to ORM
We used to use Mongoose in our project[0], but found that at the volumes of interactions we were dealing with, it was orders of magnitude faster to just use the raw Node.JS driver.

[0]: https://github.com/coralproject/talk/tree/next

wyattjoh··on Browser Fingerprinting: A Survey
Definitely think that it would have been a good tool to counter fraud/abuse. The issue of course would be that abuse of said tooling and the rise of ad-tech is what's caused the major issues we see today. I'd imagine that it would be useful to perhaps, flag accounts that were created on the same machine as a tool to help detect when users are trying to circumvent abuse control tools.

Sure, someone can create another account using a new browser, within a VM, from another computer, inside a VPN. It's all about making it much harder. If the primary use of fingerprinting was to protect community from bad actors, like those violating a set of community guidelines, then maybe the extra effort it would take to get around those issues might give them enough time to diffuse.

wyattjoh··on TurboTax Uses Dark Patterns to Trick You into Paying to File Your Taxes
For us Canadians out there too, SimpleTax[0] is complexity free as well! Super simple design, easy to file. We've used it for a while.

[0]: https://simpletax.ca/

wyattjoh··on A physics master’s degree opens doors to myriad careers
Interesting!

Personally, I started with an B.Sc. Astrophysics, finished that. Realized that it may take a while before I could get in a job related to an area that I'm interested in. I went back and completed an B.Sc. Computer Sciences.

I've typically justified the two degrees by explaining that physics taught me how to learn, how to break apart a problem, and computer sciences provided the foundational basics as to how to associate abstract concepts into software. It was certainly an experience!

Page 1 of 3Next →