Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
ianthehenry
searching Neon…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
5 ms
·
1.
▲
by
ianthehenry
11d ago
Well the only moving part in a typing keyboards is a mass-produced switch that you slot into a PCB. There are mass-produced hall effect switches that can provide velocity sensitivity, but it's a pretty distant comparison. The keys on a
2.
▲
by
ianthehenry
1mo ago
I like this website a lot and used it as the base recipe book for a program that will tell you what cocktails you can make with the ingredients you have, but also what cocktails you are “one ingredient away from.” https://github.
3.
▲
by
ianthehenry
3mo ago
https://github.com/ianthehenry/janet-module/blob/master/init... This is a very very barebones version of this, but it’s not too hard to construct environment tables dynamically
4.
▲
by
ianthehenry
3mo ago
The `import` macro extends the current environment with prefixed symbols from another environment. But the environment is a first-class object that you can hold and manipulate and use in arbitrary ways — `require` is the lower level primiti
5.
▲
by
ianthehenry
3mo ago
And a Blue Planet II video of a brine pool, stronger content warning for much more horrifying death: https://www.youtube.com/watch?v=ZwuVpNYrKPY
6.
▲
by
ianthehenry
10mo ago
The next chapter is about SDFs, but it is not available yet. https://www.makingsoftware.com/chapters/rays-and-sdfs
7.
▲
by
ianthehenry
1y ago
Bonsai is a frontend framework that models data as an explicit graph, separate from any “component hierarchy” or DOM structure. State can live anywhere in the application graph, whether or not it’s associated with DOM nodes, and you elimina
8.
▲
by
ianthehenry
1y ago
I'm working on adding something like https://graphtoy.com/ to my lisp-based 3D art tool https://bauble.studio/ . It's really useful to visualize functions like this, especially when writing animati
9.
▲
by
ianthehenry
2y ago
If this kinda thing piqued your interest and you want to play around with this idea, paste the following code into https://bauble.studio/ : (def octaves 4) (def lacunarity 2.00) (def persistence 0.50) (def
10.
▲
by
ianthehenry
2y ago
okay, that's helpful. the "undefined is not an object" bit is definitely a function of the "failed to create webgl2 context" error -- it tries to reference it unconditionally. no idea why it can't create the gr
11.
▲
by
ianthehenry
2y ago
huh, that's no good. it works fine for me on safari 18.1. would you share the line that it's raising on? no other errors before that one?
12.
▲
by
ianthehenry
2y ago
I ordered them from sculpteo — the only service I could find that would do it. Very happy with everything I’ve gotten from them. It is very very expensive if you want to make anything large, but for small jewelry-scale stuff it’s not too cr
13.
▲
Building Bauble
(ianthehenry.com)
205 points
by
ianthehenry
2y ago
|
26 comments
14.
▲
by
ianthehenry
2y ago
It's complicated; Calvin Rose was the original creator of Fennel ("fnl"), but I understand it was just a little side project that he made over the course of a week or so in college. Phil Hagelberg found the project years late
15.
▲
by
ianthehenry
2y ago
hi, i am the author of this book and i agree with you. it's not a good connotation. i chose it because: 1. it is kinda memorable (look there are so many programming books with exactly the same name) 2. the language is named after an im
16.
▲
by
ianthehenry
2y ago
delete the contents of the script and then refresh — you’ve loaded an old version of bauble before and have the old tutorial cached in localStorage :/
17.
▲
by
ianthehenry
2y ago
hey thanks!
18.
▲
by
ianthehenry
2y ago
Thanks! Here's the source: (color r2 (vec3 (fbm 8 :f (fn [q] (rotate (q * 2) (pi * sin (t / 100)) + [t 0])) (fn [q] (cos q.x + sin q.y /)) q (osc t 30 30 10) | remap+))) Basically taking the function (1
19.
▲
by
ianthehenry
2y ago
Oh yeah if you clear localStorage like from dev tools, Bauble will re-save the script before refresh, putting it right back where it was. But if you like cmd-a backspace to empty the contents of the script and then refresh it’ll load the de
20.
▲
by
ianthehenry
2y ago
Depending on the data, maybe? SDFs aren't great at rendering large numbers of enumerated objects -- something like a point cloud would be prohibitively expensive, so I wouldn't think to use them for like traditional graphing.
21.
▲
by
ianthehenry
2y ago
So if you've ever loaded Bauble before you might have a stale and no-longer-working version of the tutorial cached in localStorage -- if you just clear out the script and refresh it will restore the default one. If that's still er
22.
▲
by
ianthehenry
2y ago
oh yeah good point. i probably shouldn't link to that anymore. it's all on mastodon too! https://mastodon.social/@ianthehenry
23.
▲
by
ianthehenry
2y ago
https://bauble.studio/ is a programmatic 3D art playground that I've been working on for a while now, and I'm pretty excited about it! It's based around signed distance functions, which are a way to represent
24.
▲
by
ianthehenry
2y ago
Yep! It just outputs GLSL. It doesn't do anything smart -- it's a single giant shader that gets recompiled whenever you change anything, so it wouldn't really work for something like a game. I mean, it could handle like basic
25.
▲
by
ianthehenry
2y ago
https://bauble.studio/ is a lisp-based procedural 3D art playground that I hacked together a while ago. It's fun to play with, but it's a very limiting tool: you can do a lot to compose signed distance functions,
26.
▲
by
ianthehenry
2y ago
Ah, thanks! Got it. Okay that's wild. I would not expect that to be stable across dynamically-generated template functions, but it seems to work!
27.
▲
by
ianthehenry
2y ago
Wait this is very interesting but I don't follow -- how do the template arguments let you identify the callsite? I thought this was basically just syntax sugar for memoize(doSomethingVeryExpensive, x)([""]), but there's
28.
▲
by
ianthehenry
2y ago
Eh, by recursion I meant specifically the exponential "fib(n - 1) + fib(n - 2)" flavored definition. If you're writing the linear-time algorithm and happen to do the iteration via tail recursion, I don't think there'
29.
▲
by
ianthehenry
2y ago
Are there any existing compilers that could compile a function like this -- non-tail recursive and non-tail recursive modulo cons -- into something that executes in sub-exponential time? How would that even work? I've never heard of a
30.
▲
by
ianthehenry
2y ago
Yeah this is kinda like... this is definitely an advanced topic within the topic of macro writing and not very intelligible if you haven't written simpler macros for a while already. I wrote a book whose third chapter is a much "g
More ›