Live data from Hacker News

Mechanical Watch

ciechanow.ski

371–380 of 425 posts

Re: Mechanical Watch

#371

I was curious how he did those visualizations so I looked at the source code. Turns out he codes everything by hand in WebGL [1]. Absolutely impressive stuff. Source code is non-minified so you can have a look and understand everything as well. [1]: https://ciechanow.ski/js/watch.js

" Turns out he codes everything by hand in WebGL" You really have to admire people who do stuff like that (I can't imagine that I would ever have the patience to do that). What I'm mildly curious about is why would anyone want to do it? Is there a demand for such stuff? I can understand it if the exercise was for training people but wouldn't most people who were interested in the internal workings of watches already…

> I can understand it if the exercise was for training people but wouldn't most people who were interested in the internal workings of watches already be familiar with them?

Most young people don’t even have access to a mechanical watch these days.

Re: Mechanical Watch

#372
One thing that hasn't been mentioned is how the parts were modeled. I asked @BCiechanowski on Twitter and the response was "Modeled in Shapr3D [0], animated manually in JS". Another person asked about the gears, and he said "Gears are just generated programmatically, it made it very easy to tweak their shape as needed".

Overall, a fascinating workflow.

[0] https://www.shapr3d.com

Re: Mechanical Watch

#374
post #348

Earlier quoted context omitted.

Funny, I would argue that the rock on my table is very definitely an object ;)

Examine it more closely; you will find that it is a dynamical system composed of sextillions of parts, constantly entering and leaving the rock, and that the boundaries between the rock, the table, and the air are very fuzzy indeed. It isn't even encapsulated, nor are its interactions with its environment mediated by messages to which it freely chooses a response; it is its environment.

Your insight is remarkably well-written. I wish we could see our bodies in the same way, all of the time. The world might be a kinder place overall. Do you meditate?

Re: Mechanical Watch

#376
post #348

Earlier quoted context omitted.

Examine it more closely; you will find that it is a dynamical system composed of sextillions of parts, constantly entering and leaving the rock, and that the boundaries between the rock, the table, and the air are very fuzzy indeed. It isn't even encapsulated, nor are its interactions with its environment mediated by messages to which it freely chooses a response; it is its environment.

Your insight is remarkably well-written. I wish we could see our bodies in the same way, all of the time. The world might be a kinder place overall. Do you meditate?

Not enough to be useful. But I'm glad you enjoyed it!

Re: Mechanical Watch

#377
post #285
post #232

Earlier quoted context omitted.

Yup. This is why my crappy little 3D game engine still uses canvas and not WebGL. I can’t feel good about myself and deal with all that.

Neat, you do the math yourself and then render the tris/quads in canvas? I did something like that recently (in C/SDL, later RayLib). I found it amusing that to get performant 2D rendering you have to use a 3D API, so my "software rendered" 3D engine which just uses the gfx api for 2D draw calls ends up using 3D for the 2D under the hood... There's at least one (great) game written like that though, Need for Madness…

I did this in 02007 in JS: http://canonical.org/~kragen/sw/torus

Except that WebGL didn't exist so I just had to use the 2-D . There's probably some trick for getting antialiased polygon edges in to not show cracks...

Re: Mechanical Watch

#378
post #332
post #324

Earlier quoted context omitted.

Well, if the abstractions were peer reviewed and put through the same rigour as mathematical proofs, that's a whole different topic. The equivalent would be a mathematical services company, who created "free" abstraction packages that required you to rewrite all your math, away from the scientific community standards, to fit their abstractions, and who also made money on consulting and selling books. And the big bene…

But it is not math - we only have empirical evidence and not even much from that. Who is to tell whether the OSI model is ideal? It is more than likely not it, but we can’t measure these things up front, there is an insane cost associated with changing it, etc. Yet again, what is the alternative? We can’t manage complexity any other way, and essential complexity can’t be reduced.

> Who is to tell whether the OSI model is ideal?

The current idea of the OSI model was also retrofitted from what it originally was.

Re: Mechanical Watch

#379

I was curious how he did those visualizations so I looked at the source code. Turns out he codes everything by hand in WebGL [1]. Absolutely impressive stuff. Source code is non-minified so you can have a look and understand everything as well. [1]: https://ciechanow.ski/js/watch.js

Apart from going to each post and manually looking at the JS codes, is it possible to get them all in one go? https://ciechanow.ski/js/ returns 403 error.

wget will do what you want, with the right flags. Try `wget -r https://ciechanow.ski/mechanical-watch/ --include-directories=js/`, the resulting `ciechanow.ski/js/` dir should have it.

Adjust the flags as necessary to crawl more of the site if needed (omitting `--include-directories` without an `-l {limit}` flag will eventually crawl the whole site, please be kinder to their bandwidth than that).

Re: Mechanical Watch

#380

I was curious how he did those visualizations so I looked at the source code. Turns out he codes everything by hand in WebGL [1]. Absolutely impressive stuff. Source code is non-minified so you can have a look and understand everything as well. [1]: https://ciechanow.ski/js/watch.js

" Turns out he codes everything by hand in WebGL" You really have to admire people who do stuff like that (I can't imagine that I would ever have the patience to do that). What I'm mildly curious about is why would anyone want to do it? Is there a demand for such stuff? I can understand it if the exercise was for training people but wouldn't most people who were interested in the internal workings of watches already…

There's little benefit to writing your own asm these days[1], yet we need people who know asm intimately to write compilers.

It's the same here. Without people who deeply understand a tool's input and output, we won't ever write a better tool.

[1] don't @ me, cryptographers and kernel programmers.

Post reply on HN