11,109 karma · joined November 7, 2010
---
Cofounder of a web mapping startup acquired by Apple.
Received awards from the US Coast Guard and the Governor General of Canada for creating a map that helped rescue 1,700 people during Hurricane Harvey.
---
Currently refurbishing laptops with robots! https://www.reviserobotics.com/ (YC W25)
Also working on Disco, an open source self-hosting software: https://disco.cloud/
See my talk about it at the Recurse Center: https://youtu.be/z2lP7C8VT6M
And this (slightly less chaotic) Devtools FM episode: https://www.youtube.com/watch?v=Xr3JJpbCRP0
---
And even more stuff that's wildly out of date - https://greg.technology • https://tandy.link/s/greg.technology
How realistic would it be to run fully custom firmware there, and even communicate over usb - for example, if I had a pi running in the car, and it used the usb connection to show things on the built-in display?
(I/AI had fun porting it to wasm/web! I don't want to seem too self-link'y, so if anyone asks, happy to share the link)
I also have a Polyend Tracker for sale if anyone's in the market..! It's a great device, I'm just trying to focus on having less right now.
Are you still going to use dqlite after this experience, or has it shaken your confidence in it? Also what’s been your experience with microk8s itself - I hadn’t heard of it before
IMHO support for transactions is a pretty important dividing line. Some engines support full SQLite transactions while others - like rqlite - don't officially support BEGIN/COMMIT [0], which matters if you rely on multi-statement transactions.
A friend/colleague has been building a pure-Python client for dqlite [1] (DB-API and SQLAlchemy), which may interest folks here. dqlite has full support for transactions, and like rqlite doesn't have external dependencies (ie no S3/Consul).
No knock on rqlite or any other engine - dqlite has warts too [2].
[0] https://rqlite.io/docs/faq/#does-rqlite-support-transactions
[1] https://github.com/letsdiscodev/python-dqlite-dbapi
[2] https://github.com/canonical/dqlite/issues/882 opened by my friend, https://github.com/canonical/dqlite/issues/908 , https://github.com/canonical/dqlite/issues/912 opened by me
the source code for the OS demo is not "regular" code, it's full of `emiRelu`... https://github.com/chenglou/handwired/blob/main/src/handwire...
The main site & readme seem to overclaim, while the docs say things like "With Handwired you write a numeric program" and "No tool converts existing JavaScript source into a program" - https://github.com/chenglou/handwired/tree/main/docs
happy to be proven wrong, to have misunderstood this, etc.
As in - could I connect to a site signed with those certificates and see that my browser/client accepted that certificate?
I assume these certificates have been pulled from most browsers - but - an un-updated curl or wget would still accept these, right?
EDIT: found https://emudhra.we-have-a-problem.com/ , scroll down to 'Does your client still trust the compromised intermediates?'
EDIT 2: a few tests you can also run...
curl https://dv-g3b-emudhra.we-have-a-problem.com/
and in Python: import urllib.request;print(urllib.request.urlopen("https://dv-g3b-emudhra.we-have-a-problem.com/").read().decode())Thanks!
it's http only, so the bookmarklet won't work on most sites. I fixed it up:
https://kathack.greg.technology/
thanks for the great reminder/reference!!
You can see a review for the synth here [3].
Wow, also see "Firmware Hub"! [4]
[0] https://github.com/aroum/fm1-custom-fw
[1] https://github.com/m-vave/fm1_open
[2] https://forum.m-vave.com/topic/4
“Function return: what happened at tiananmen square”
Ha!
[0] https://github.com/dom96/KillSwitch/blob/main/SPEC.md#cheats...
Re scaffolding, that’s exactly it - Disco deployments are “just” Docker images, so they’re fully portable and cloud/infra agnostic.
And original Delphi software homepage[2] and source[3].
[0] https://github.com/pdfernhout/plantstudio-js
[1] https://plantstudio.com/plantstudio-js-alpha1/tests-interact...
"there is a nand gate A connected to gate B through these wires, connected to another gate C, etc. what is the output value of gate C if i place a 1 at this gate"
Sort of like doing math "in their heads" (i.e. your "when adding numbers"), they would get it very right for simple/small cases (although the answer could have been in their training), then some LLMs would get it for harder cases (which were clearly not in their training), and all would fail at some point. This was all without any tool calling.
After a year of thinking about it, I made an eval [0] with ever-complexifying nand circuits - like, truly, bananas circuits [1] - and some models, do, in effect (through chain of thought? mostly?), get the right answer. ((what's nice is that you can always make a circuit at the very edge of what all models can correctly solve))
Tool-calling 100000% solves this problem for sure (evaluating a nand gate is trivial). But if you even prompt an llm to do math like a 5/6th grader (i.e. do it digit by digit, carry the 1, etc.) - I am quite certain most llms can, in fact, add numbers.
But yeah. These piles of weights are fascinating in how they seem flawed one day ("how many r's") and magical at once.
[0] https://lockstep.greg.technology
[1] https://lockstep.greg.technology/c/?id=rand_s4161_g160_d8
What does a bias oscillator do that would help, and is the ips speed slow ie it's a low "resolution" (so to speak) analog recording?
- OSC is a reasonable upgrade from MIDI, is IP-native (e.g. works with addresses and ports) and has messages/paths ie you can send some value (int/string) to `/some/path`
- OSC typically being transported over UDP (most libraries have UDP support, and only some TCP) means that you cannot get a confirmation that you're sending messages to the right IP or port, or that you're sending to the right port but that the path or payload is wrong
- and as mentioned in the article, UDP messages does not guarantee the order in which messages arrive
For sending a series of updates when a rotary knob is turned, I can see why you'd reach for UDP (even though out-of-order'ness can still bite you).
For sending one-shot not-idempotent messages, it seems terrible to me?
And... I also recently learned/saw that in very very big theatrical productions, audio professionals do reach for OSC and use it over UDP, which seemed not-the-best.
In any case, would love to hear thoughts from others on this topic!
The tooling is open source, and Fable in a loop - especially when paired with a digital scope that Fable interfaces with (the Saleae’s [1] are great) - gives you a level of verifiability that feels like beyond what software typically gives you. ie it feels more like Lean than code with tests.
I had ai implement a few toy circuits (sha hashing, 8088 emulation, a tiny llm) but yeah. Still looking for fun applications.
There have been a few recent fpga threads on hn, check them out. [2][3]
[0] https://1bitsquared.com/products/icebreaker
Also, you are the most incredibly generous person for lending me that extraordinary piece of computing history!! I recorded its relay sounds and actual resistances. I truly cannot tell you how happy it made me.
Yes, even more greg stuff here, what the heck: https://minivac.greg.technology/