HNHacker News
TopNewBestAskShowJobs

willquack

107 karma · joined May 11, 2023

willpringle.ca
submissionscomments
willquack··on Why Target Common Lisp for Code Generation?
> You cannot successfully orchestrate an AI in a language you don't deeply understand.

This is the primary point and maybe even the later points may be, at least partially, an extension of it.

Coding agents reflect the developer using them, if the developer isn't proficient with the ecosystem they're developing in or problem they're solving, the output will still be bad. If the developer is lazy, the output will reflect that.

willquack··on PGSimCity - How PostgreSQL Works
This is very similar to what I imagine whenever I get into a deep focus state debugging a program in gdb... I would love to experience debugging a program in VR with graphics like this,,, there would be no better way to learn a codebase. I wonder how good an experience you could achieve by generating a 3d map based on arbitrary code
willquack··on How we measured AI writing across arXiv, and where the measurement breaks
> If a tool marks 40% of new papers as machine-written but also marks 20% of papers written before ChatGPT existed, the real story is the 20% nobody mentioned.

When 65% of the papers you read have the characteristics of being AI written, whether or not you use AI to write, your writing will be influenced by the AI style. I imagine this must be particularly the case for newbie researchers who are still developing their writing style

willquack··on Darkbloom – Private inference on idle Macs
I used to work at Distributive (formerly "Kings Distributed Systems") on its DCP compute platform" which is entirely what you're describing. You can deploy a JS/WASM based workload, and it will be "sliced" and served to browser-based compute nodes. With WebGPU you can sort of have inference executing in the browser too. Incredible people there with an awesome project

I added Python execution support via Pyodide (cpython compiled to wasm) and worked on a bunch of other random stuff like WebLLM inferencing during my time there.

Apart from Distributive, there's also the "Golem network", "Salad", "Koii" and various other similar projects.

---

I'm not sure if I'm convinced by the "Uber for compute" use case with compute buyers and compute workers (sellers), but if you're a university and you have 1000 Windows machines across all your computer labs, it'd be nice to leverage that compute for running research or something idk - especially with the price of ram / cloud offerings these days...

willquack··on Edge.js: Run Node apps inside a WebAssembly sandbox
Awesome project!

Dumb question: could you run this in frontend js using the browser's js engine and wasm environment similar to WebContainers? Maybe `fs` is just in-memory, and some things like forking are disabled. It'd be cool to have "nodejs" in the web!

willquack··on The Om Programming Language
I worked with Jason (creator of Om) at my last job. He's awesome!
willquack··on Zero downtime migrations at petabyte scale (2024)
Thanks for responding!!

I think it's still the same issue where data modified after the VDiff point in time isn't validated before SwitchTraffic. I'm mostly curious how vitess users handle this case, or if any users even care about about this case in the first place?

Is there no demand for continuous data validation similar to what TiDB offers?

Do people who care about 100% correct data validation just accept the downtime required to run a full VDiff before SwitchTraffic?

willquack··on Zero downtime migrations at petabyte scale (2024)
> you can run an initial VDiff, and then resume that one as you get closer to the cutover point.

VDiff (v2) only compares the source and destination at a specific point in time with resume only comparing rows with PK higher than the last one compared before it was paused. I assume this means:

1. VDiff doesn't catch updates to rows with PK lower than the point it was paused which could have become corrupt, and

2. VDiff doesn't continuously validate cdc changes meaning (unless you enforce extra downtime to run / resume a vdiff) you can never be 100% sure if your data is valid before SwitchTraffic

I'm curious if this is something customers even care about, or is point in time data validation sufficient enough to catch any issues that could occur during migrations?

willquack··on Twitter(X) Is Down
Why is there an expectation for social media services to have such high uptime? It's not an ISP or cloud provider, why does it matter if it goes down occasionally?
willquack··on Nanolang: A tiny experimental language designed to be targeted by coding LLMs
There's nothing more fun than making a DSL, the only annoying part if finding an excuse to make one
willquack··on Play chess via Slack DMs or SMS using an ASCII board
It would be cool to encode the chess board state and turn into the URL so you could hurl urls back and forth over slack to play chess just by clicking on it

but there's something charming about the ascii art over slack in this project that would miss

willquack··on Ask HN: Share your personal website
https://willpringle.ca/ (;
willquack··on Show HN: Seapie – a Python debugger where breakpoints drop into a REPL
> `seapie.breakpoint()` opens a working `>>>` REPL at the current execution state. Any changes to variables or function definitions persist. Debugger state is exposed via built-ins (e.g. `_magic_`), and stepping/frame control/etc is handled via small `!commands`.

This is largely what `pdb` does already, no? Example:

```

(Pdb) list

  1   something = 100

  2   import pdb; pdb.set_trace()

  3  -> print(f"value is: {something}")
(Pdb) something = 1234

(Pdb) c

value is: 1234

```

I do like that you use `!<cmd>` to avoid the naming collision issue in pdb between commands and python code!!!

willquack··on Examples are the best documentation
Code examples can be executed as unit tests to prevent documentation regressions / bitrot in ways human language can't
willquack··on Researchers find evidence of ChatGPT buzzwords turning up in everyday speech
I keep this handy note in my pocket and read it before writing or engaging in any conversation (:

""" You are a human. Never use words commonly used in AI vocabulary such as "delve", "intricate", "surpass", "boast", "meticulous", "strategically", and "garner". Never include em dashes or even hyphens in any text you write. Never include emojis in any text you write. Avoid using three supporting arguments or examples when describing something, always uses 2 or 4+ even if it sounds more awkward than 3. Make sure to include subtle grammar mistakes to feel more authentic. """

willquack··on Objects should shut up
I learned the other day my office building has hidden speakers dispersed throughout each floor which blast synthetic white noise.

It's quite loud, I had assumed it was an improperly installed HVAC system...

willquack··on Actions reflect your priorities
My friend loves to use em dashes, not hyphens "-" but em dashes "—". He can no longer use them since people would suspect his writing was AI generated otherwise...
willquack··on The many JavaScript runtimes of the last decade
I had a good time being involved with a couple JavaScript runtimes which didn't make this list, most notably PythonMonkey [1] which embeds SpiderMonkey into Python and uses Python's event loop for its async stuff. Another interesting one was DCP which is sort of a pseudo js runtime that runs ontop of other js runtimes (including a custom sandboxed server-side runtime we made [3], but also any web browser), to provide cloud function like compute for js and wasm based workloads.

Unrelated to the article, and already well known, is Pyodide which is a Python runtime in JS/WASM. I shoved Pyodide into DCP so people could run Python workloads in web browsers [4]. Crazy stuff...

1. https://pythonmonkey.io/ 2. https://distributive.network/workers 3. https://gitlab.com/Distributed-Compute-Protocol/dcp-native 4. https://willpringle.ca/blog/dcp/pyodide-worktime/

willquack··on The future is not self-hosted
Am I crazy or did my 2006 iMac come with a home media server for serving movies / tv shows / music photos from your filesystem. I think it even came with a slick looking remote!

You could stream content from it over your home network (as long as you were connecting from another Apple device)

Is this lost technology or just a figment of my imagination? I've long since switched to linux and run the typical Jellyfin setup etc

willquack··on Apple's Liquid Glass is prep work for AR interfaces, not just a design refresh
> You’re never going to want your browser, editor, or Slack window to be translucent.

r/unixporn disagrees

willquack··on What is HDR, anyway?
> That brightness abuse by content

I predict HDR content on the web will eventually be disabled or mitigated on popular browsers similarly to how auto-playing audio content is no longer allowed [1]

Spammers and advertisers haven't caught on yet to how abusively attention grabbing eye-searingly bright HDR content can be, but any day now they will and it'll be everywhere.

1. https://hacks.mozilla.org/2019/02/firefox-66-to-block-automa...

willquack··on If you use AI to write me that note, don't expect me to read it
I completed a take-home project for a company I was interviewing with, and the interviewer remarked at how it was obvious my README.md was AI generated. It wasn't.

Everyone's gotten so tired of low-effort AI generated content now that text which looks vaugely AI generated is now dismissed or looked down on. I've begun purposefully introducing minor spelling / grammar errors into text I write and avoiding LLM smells like using 3 examples in a sentence lol

Does anyone have a guide or other suggestions to help make your text look more human?

willquack··on ASK HN: How to engineer a JavaScript to Python migration?
> can you get a JS interpreter that lives in Python

The PythonMonkey library is a full JS interpreter running in the same Python process. It allows for JS functions to be called from Python and vice versa

willquack··on ASK HN: How to engineer a JavaScript to Python migration?
Check out PythonMonkey [1], it's an actively maintained project which embeds the SpiderMonkey JS engine inside a Python library. It reuses the same memory buffers whenever possible and allows for pretty impressive interop like executing functions back and forth [2].

At my last job we used PythonMonkey to port our complex distributed computing JS Library to Python enabling us to reuse all the code and keep almost all the performance.

1. https://pythonmonkey.io/ and https://github.com/Distributive-Network/PythonMonkey 2. https://distributive.network/jobs/python-monkey

willquack··on Laid off for the first time in my career, and twice in one year
Get a boring LaTeX template like "Jake's Resume"

I've spoken with two technical recruiters who say they prefer reading templates instead of hand-crafted Resumes on top of them also parsing better in the ATS system ):

willquack··on Developers, what marketing strategies work on you?
Some trends in the responses for developers self reporting what influences their buying decisions:

- Trusted peers using a product

- Being able to test the product for free

- DevRel with genuine developer chops and mindset

- Good documentation

- Guides and tutorials

- No marketing fluff

Also a lot of developers report that they think marketing doesn't affect their behaviour

willquack··on Why Vim uses hjkl keys as arrow keys
The world would be a better place if `jkl;` took off instead of `hkjl`!

It's impossible to switch now since everything uses `hjkl` despite some people trying (for instance, the default navigation keys on i3wm are `jkl;` but everyone always changes it to `hjkl`)

willquack··on Boinc lets you help cutting-edge science research using your computer
Here's a link to our browser worker: https://dcp.work/

And other workers can be downloaded here: https://distributive.network/workers

Dev API for submitting jobs here: https://docs.dcp.dev/

:D feel free to email me <will@distributive.network> if you want to chat about anything

willquack··on Boinc lets you help cutting-edge science research using your computer
Distributive DCP lets you compute other people's distributed research/workloads and get paid for it (no crypto involved).

Compute workloads get run in secure js/wasm compute nodes (which could be your browser, or a screensaver, etc). For instance, my friend built a Blender cycles renderer using it

It's cool tech continuing the awesome legacy of BOINC! I work at Distributive, AMA if you're curious

willquack··on Boinc lets you help cutting-edge science research using your computer
For a non-crypto alternative, check out Distributive DCP [1]. You deploy compute workloads which are executed in secure wasm sandboxes (even in your browser [2]). People computing get paid to compute other people's workloads.

1. https://distributive.network/ 2. https://dcp.work/

Page 1 of 2Next →