HNHacker News
TopNewBestAskShowJobs

danwills

561 karma · joined February 17, 2011

G'day! Dan Wills 'ere! I'm a full-time Houdini VFX Pipeline TD and Teacher (at RSP). I contribute a bit to a software called 'Ready', that enables explorations into 'reaction-diffusion'-type (ie field-based) simulations. Separately to work I've explored 2d fractals quite a lot, and dabbled with fractals and RD and other stuff in GLSL shaders (in an on-phone shader app) more recently.

I'm on YouTube as 'danwills' and there's the ol' UltraIterator blog below, and a flickr, which is probably the best view for my fractal images at present.

http://www.ultraiterator.blogspot.com/

https://www.flickr.com/photos/57934548@N02/albums

I'm always keen to chat about anything! I would love to turn some of these things into apps or cool games or shaders, so many possibilities! Send me an email:

gdanzo@gmail.com

submissionscomments
danwills··on Why is Good Friday called Good Friday?
Thanks for the correction there! I was not aware that Easter Bunny was much more like Santa than something associated with Eostre or Pagan.

I guess the bunny still got something similar to the Coke-branding that Santa got to help product sales, but for chocolate sales instead!?

I retract the 'rabbits' part of what I said, but I still think it's ultimately a fairly weird taken-over/hybrid-mythology festival! I'm only able to talk about Easter as I know it in Aus though!.. I totally acknowledge festivals and their timing/meaning are very different in other places.

danwills··on Why is Good Friday called Good Friday?
I find it odd how Easter, a pre-Christian Pagan festival (worshipping goddess of fertility: Eostre) has become seemingly-arbitrarily connected to the purported events at the end of Jesus' life.. yet it still includes a good amount of the prior symbolism (rabbits, eggs etc)!

Still great to have a short break from work! Not arguing against it at all, it just seems a bit bizarre to me overall.

danwills··on A flowing WebGL gradient, deconstructed
Guess it depends on the browser as it looks sharp and free of aliasing for me, including when zooming in (Opera on Android)
danwills··on A flowing WebGL gradient, deconstructed
Quite right! I think if the values were linearized (~gamma 0.5) lerp might be mostly ok though, right?

And what about doing rgb->hsv, then lerp, then hsv->rgb? I'm unclear whether that also needs linearization, or whether the gamma can maybe just be done to the 'v' component before lerping?

Color is a surprisingly deep and fascinating topic, that's for sure! :)

danwills··on How much do you think it costs to make a pair of Nike shoes in Asia?
Thanks for that threadreaderapp link neonate!

For some reason there's no reply-link to your post, but this is the first time in a very long time I've even read a twitter thread because of how much more pleasant it was at threadreaderapp!

Very interesting analysis/breakdown of the various layers of costs as well!

danwills··on North America Is Dripping from Below, Geoscientists Discover
The one I've heard is 'just remember ants in pants: the mites go up, the tites come down'
danwills··on Tell HN: Announcing tomhow as a public moderator
Thanks for taking on this role tomhow! It's seriously appreciated and I'm also heaps happy that there's now someone in Oz that can moderate while dang gets some no doubt much-needed sleep! Champions! Thanks for making HN so bloody choice! Over of the best places on the 'net for damned sure!
danwills··on Shared DNA in Music
Reminds me of 'Wonder Riff' by Baterz, although it's mainly about arguing with David Whiffler about how it's not actually a copy of Stevie Wonder, just slightly similar. Good fun Aussie pub-rock vibe tho I reckon it's great:

https://youtu.be/Pe5x6asEkgs?si=qTfwIva1_fRY6973

danwills··on Excitable cells
Definitely have a look at gollygang/Ready I reckon! There are some really fascinating things in the pattern library (including some that I contributed).

https://github.com/GollyGang/ready

danwills··on Excitable cells
I think many types can if you broaden the definition of automata to include 'reaction diffusion' you can even simulate things like the Schrödinger equation under a RD scheme! (there are some examples in gollygang/Ready).

RD was invented by Alan Turing as a way to model animal coat patterns too, and I think it's exceptionally good at that (I did a talk at Houdini Hive SiggraphAsia2019 about it: https://youtu.be/K_7TkoIkFhk?si=afhcjZ8TeysNJxRH)

danwills··on The demoscene as a UNESCO heritage in Sweden
And Impulse tracker is from South Australia! Jeff Lim is totally one of my local heroes!
danwills··on C. Elegans: The worm that no computer scientist can crack
What a great, thought-provoking question! Thanks mromanuk!

I started reading the Wikipedia page about free-will to try to work out where I stand on this. I think I quite like the classical way of thinking about free will as simply: Being free from coercion in one's decision-making! I guess the source of such limits could be either internal or external or both though! So I don't know whether that helps much in answering your question.

The Wikipedia page says about 'compatibilism' (which holds that free will and determinism are compatible) that it is "the absence of various impediments" and that "a coerced agent's choices can still be free if such coercion coincides with the agent's personal intentions and desires", so that still doesn't really help answer the question.

I accept quantum-mechanics enough to be slightly skeptical of strict-determinism, so I guess maybe I fall more into the 'metaphysical libertarianism' point of view, but I still feel like the non-determinism that QM introduces probably acts more like a limit to how 'free' free-will can possibly be, rather than being a kind of 'secret sauce' that makes it possible for us or some external factor to be able to meddle with what reality (or ourselves) get up to in a meaningful way.

I also think that the internal/external distinction breaks down when examined very closely. For me this leads to the idea that I am actually the same thing (same 'wavefront' or whatnot?) as what caused the existence of the universe that I am a part of. I am both myself and the environment at the same time, but with a limited ability to sense very far into the external universe and its workings, beyond input from senses like sight/hearing/etc (I guess realms of pure-thought should also be included too though! Do we 'sense' reason/philosophy/mathematics/algorithms when we think about them?).

I think one answer (or the avoidance of a clear answer) to your question is that people have been arguing about this for thousands of years, and we (as a collective/species) are still really not very close to being firmly decided about it at all!

danwills··on C. Elegans: The Worm That No Computer Scientist Can Crack
No hate from me! You can believe what you like but I do disagree I'm afraid.

I think any rule-following (ie ~computational) system is either below, or at the same level of dynamic complexity as all others.

I also think that it's truly impossible to draw a sharp line between alive and not-alive, so the idea of 'free will' would have to extend all the way down to the smallest things like atoms/quarks/space etc.

Is it really meaningful to suggest that it could be anything like 'free will' at that size? Sure some quantum stuff seems indeterminate but could be fed by something that looks random to us - it might not actually be (dunno!?), but the idea that things at a larger scale could be meaningfully controlled by feeding-in different values (that still somehow have to look perfectly random!) seems extremely far-fetched to me.

Larger things like a molecule, a transistor or a human! generally stay as coherent and predictable/controllable (or self-controlling) things, even in the face of indeterminate-ness at the smallest scales underneath. I just can't see how there's any utility in connecting the idea of free-will/consciousness to this indeterminacy.. it's like saying free will is just fuzziness, and how does that really help in understanding life, the universe and everything?

danwills··on Giant, fungus-like organism may be a completely unknown branch of life
I think prokaryotic bacteria can form biofilms which seems like one step on the road to multicellularity, but that's more like a community, and iiuc most biofilms these days at least contain eukaryotic yeasts. I don't know of any actually-properly-multicellular prokaryotes, but maybe I need to read up?
danwills··on Blender releases their Oscar winning version tool
I would love to check out touchdesigner some day, I'm a Houdini pipeline TD (and creative too) and Touch started as a fork of Houdini from quite some time ago specialised for real-time (and the real-time-ness of demoscene is one of my favourite things ever!) However iiuc Touch is Windows-only.

I wonder whether under wine it might benefit from the 'ntsync' thing that just got added to the Linux kernel (as a module) (Currently also on hn front-page) as long as there's a free training version of Touch I'll definitely check it out once the new kernel gets into Gentoo!

danwills··on Better Shell History Search
It is possible to change the history length in most shells including bash, when I googled it I found this baeldung.com article which says it can be set to unlimited using this (or use a big number if you'd prefer!):

export HISTSIZE=-1; export HISTFILESIZE=-1

Also, one can bind the 'up' key to do the search action too, which I think is pretty convenient, my bindings are for zsh but I think it should also work in bash:

bindkey '^[[5~' up-line-or-history

bindkey '^[[6~' down-line-or-history

danwills··on They're Close to My Body: A Hagiography of Nine Inch Nails and Robin Finck (2020)
English is my first language and I had to look it up too (at least the 'hagi' part!) I think it's a relatively-rarely-used word for sure! Maybe it's recently re-entered the zeitgeist? (And there's another fairly-uncommon word for ya! Hehe)
danwills··on Athena landed in a dark crater where the temperature was -280° F / -173° C
I don't think a photon can exist outside of space, but I'd be very interested to hear of any alternate points of view on that!
danwills··on Indentation Style: Notable Styles
Same!

To me it's a bit like formatting any document nicely.. we wouldn't usually let paragraphs run into each other, and I think in general it can be helpful to split up long blocks of anything into concept-sized chunks whenever possible for easier reading! (I think of this as a type of weird antialiasing)

danwills··on Indentation Style: Notable Styles
Agreed 100%! I haven't written in go yet but whenever there are brackets I like for them to be vertically aligned with each other like Allman (even in Python!).

Agreeing with sibling comment too that K&R can be ok.. seems like K&R function declarations have Allman-like vertically-aligned brackets, but why not make that consistent for blocks inside the function too? 1TBS goes in the opposite direction, so not heaps of a fan of that.

I am a big fan of whitespace in code though, running afoul of various style-guides at times (like PEP8) because of the desire to put space between things to make things clearer.

I reckon code is already a very-condensed form of information, so it can help to make it easier to distinguish the meaningfully-different pieces by having some space around them. I know this is not everyone's jam, but that's what I like when reading code.

danwills··on Animate Anyone 2: High-Fidelity Character Image Animation
Where I work in VFX (RSP) we have an ML department and a lot of what they do is about replacing things in footage (face replacement onto double-actors, de-ageing and so on). What they achieve (that brings significant value) seems fairly adjacent to the tech in the article. Our ML crew have the benefit of a strong compositing department (and other support) that can help integrate the results nicely and smooth over any rough edges. The ML team were nominated for a VES award for their work on Furiosa recently!
danwills··on Scientists invent "slime" – could be used in medical, energy, robot applications
While this seems cool and fascinating, I think it'd be good to call it something other than 'slime'! That word is already taken, several times over.. why not get creative? "Electro-squeeze-goo"? "Piezoelectric-paste"?
danwills··on The Art of Dithering and Retro Shading for the Web (2024)
This would've been meticulously dithered by-hand by the artist to achieve a particular look and the quality of that is what gp was praising iiuc.
danwills··on The Graphics Codex
Thanks heaps dahart for your extremely thoughtful reply! I totally see what you're getting at and I feel silly for having even accidentally suggested that Morgan was not across anything tbh!

I still think that even an extremely cursory mention about how to make pixels like 'We will average samples from N rays within each pixel as our antialiasing strategy, this is equivalent to box-filtering (see citations [X][Y][Z])" I think something like that would be pretty helpful just to connect the dots between the amazing ideas in the book and actual-pixel-production. (Filtering/signal-processing is not totally a pet-favorite idea btw, I just think it's good to have a mention of it so that it's at least connected with the rest of a graphics-HOWTO in a non-abstract way)

Very interesting point about AI-based denoisers too.. definitely changes the pixel-filtering situation in an interesting way! Although I'm super interested in it I'm sticking my fingers in my ears about that for the moment!

danwills··on The Graphics Codex
Thanks! I see what you're getting-at and mostly agree but I think it really would be helpful to mention a bit more about the actual pixel-production side of things in a document like this, to help make it a more complete picture of the whole rendering process.

For instance, just shooting N-samples-per-pixel and then averaging them, is not what most 'Production'-renderers used in VFX actually get up to. There's also the 'Pixel Filter' (Box, Gaussian, Catmull-rom, Sinc, Nearest, Farthest, Highest-coverage etc) that the samples have to go through too! And I think it's useful and interesting to cover some aspects of that, even if it's not a full-on signal-processing section.

danwills··on The Graphics Codex
These are not requirements (it's your book!) but here are some suggestions for things that I'd find interesting:

Convolution (including via-FFT where it's mainly just complex-multiplication). Different neighborhoods and operations on them: Laplacian, curl/divergence, derivatives/slopes, completely-custom-weights/operations etc. Non-raster (ie analytical) convolution is something I find fascinating and haven't experimented with.

Noises both in the Perlin sense and the Blue-noise sense. Such a fundamentally useful building block!

Dealing with anisotropy both in shading, and texture filtering.

Color spaces. Hardly need to say more than that (apart from maybe 'HSV' should get a solid go). I think getting some solid clarity on what 'linear-to-light- color spaces are and how and when to work with them, is a critically important thing that is very often overlooked.

Acceleration structures - you often see stuff written about these for 3d (to speed up ray-intersection-tests for example) but I think there's probably lots of interesting acceleration stuff for 2d graphics too!

Feedback (ie 'solvers') in the 2D pixel realm - Game of Life (I have HashLife in mind) is just the tiniest-tip of the iceberg there, and Reaction Diffusion takes some solid steps but there's also repeated-warping (ie cheap 'advection') and repeated neighborhood-based pixel/cell operations that I think are an under-explored area.

Complex numbers and Orbits-based fractal-rendering. Mainly because I think it's fascinating, but also very useful for getting more comfortable with complex numbers and antialiasing these beasts that can indeed cause a LOT of aliasing!

Lots-of-points style fractal/etc rendering (eg Flame fractals, IFS, Buddhabrot, that kind of thing, or just HEAPS of particles!) Including how to cope with zooming-in when using that rendering scheme (I have not used it myself but I heard-about and saw great things that used 'Metropolis sampling' in order to make zooming practical.)

I think it would be great to include a section covering all the amazing work that originates in the demoscene and all the great techniques that have come from it. ShaderToy is one example of this, and there are many more.

That's enough for now! Best of luck with your book! Happy to talk further if u want! Email is on my profile.

danwills··on The Graphics Codex
Ah nice! That is very cool thanks for the heads-up!
danwills··on The Graphics Codex
I definitely have a big interest in this (It sounds like it'd be the more advanced-bits mainly (I've worked in VFX for 23 years)) but was a bit disheartened to learn that it was a paid service.

I also searched the 'try it for free' version and the word 'aliasing' only seemed-to-be-mentioned once!? I would've thought that the arch-enemy of computer graphics (at least the raster-display kind) might have gotten more of a mention!?

It also seemed odd to not really talk about 'filtering' and (at least from a brief investigation) it doesn't seem to really concern itself much with pixels at all! Maybe that's why there's a section titled "Rendering is Very Hard"?) Edit: I read-on from there a bit and this turns out to be about algorithmic complexity side of the rendering equation and not that it's hard to talk about pixels! fair enough! this document still seems more about CG in-the-abstract than the practical to me!

At least 'smootherstep()' got a mention, although what about 'smootheststep()'!? (easier to read if u split the words up: "smoothest step" example here: https://www.shadertoy.com/view/ltSfWV)

danwills··on 417-megapixel Andromeda galaxy panorama took over a decade to make
Thanks heaps!
danwills··on Mathematicians discover new way for spheres to 'kiss'
I'd really love to know what the mathematicians are actually doing when they work this stuff out? Is it all on computers now? Can they somehow visualize 24-dimensional-sphere-packings in their minds? Are they maybe rigorously checking results of a 'test function' that tells them they found a correct/optimal packing? I would love to know more about what the day-to-day work involved in this type of research actually would be!
← PreviousPage 3 of 13Next →