Wow very comprehensive & well done. If mechanical watches tickle your fancy, there is a ton of watch repair video on YT. I particularly enjoy wristwatch revival ( https://www.youtube.com/channel/UCD80T1s2Za4K682CQDGwEKQ ). A warning though, if you consider to get into that hobby. I tried, it's really hard, expensive (I spend close to €1k and that is with b-quality stuff. Good stuff is 5-10x more expensive.) and can b…
Mechanical Watch
231–240 of 425 posts
Re: Mechanical Watch
#232Earlier quoted context omitted.
Here is "drawing a triangle" https://www.tutorialspoint.com/webgl/webgl_drawing_a_triangl...
Holy living crap. I was all with it up until I saw the actual full HTML example. That is an incredulous amount of overhead for what is essentially one of the most basic and fundamental operations in *GL. Comparing this to Canvas is almost like comparing assembly to C. I'm honestly very surprised.
Re: Mechanical Watch
#233Earlier quoted context omitted.
Holy living crap. I was all with it up until I saw the actual full HTML example. That is an incredulous amount of overhead for what is essentially one of the most basic and fundamental operations in *GL. Comparing this to Canvas is almost like comparing assembly to C. I'm honestly very surprised.
Though boilerplate is never acceptable, most of that is constant-factor overhead, not per-triangle overhead, and tutorialspoint is not a site you should trust under any circumstances. See my links above for better sources. If you put more vertices and indices in Step 2 you can draw an arbitrarily complex 3-D object with this same code. And there's a lot of stuff in GLSL where you can program directly with high-level…
Re: Mechanical Watch
#234Earlier quoted context omitted.
Here is "drawing a triangle" https://www.tutorialspoint.com/webgl/webgl_drawing_a_triangl...
That looks like a fair bit of boilerplate, and a shitty tutorial with comments that mostly just repeat what the code says, but the API doesn't look unusable. https://github.com/patriciogonzalezvivo/glslCanvas/blob/mast... has most of that same boilerplate in a less repulsive form. https://github.com/patriciogonzalezvivo/glslCanvas/blob/mast... has other bits.
It’s a very bad, non-object oriented API in an object oriented language. It was designed for and by people who know GL in other C like languages, not for people who know JavaScript. It is unlike any other part of the language.
The fact that I have to write a shader myself, as a fricken string like I’m writing SQL over here, just to draw a triangle is absurd. There should at the very least be some sort of provided builder for simple shaders.
Re: Mechanical Watch
#235There's something magical about mechanical watches. Maybe it's just knowing that you have this perpetually winding machine on your hand (in the case of "automatic" mechanical watches). Also knowing that the thing will last forever, take care of it and it will probably outlive you. Can't say that about an Apple Watch. If you want a good mechanical watch that won't break the bank I suggest picking up a Seiko SKX (thoug…
Has kept brilliant time, maybe a minute a month, and taught me that my watch being accurate to the second was something that, for me, just didn't matter. I started working around pulsed high voltage last year (100kV+) and now it loses a couple minutes a week.
Re: Mechanical Watch
#236Earlier quoted context omitted.
Couldn't the Wikimedia Foundation raise some money to produce these kinds of videos? I wonder why they don't.
I think one problem is that it's difficult to make videos easy for anyone to edit, the way a wiki text page is. - The skills to edit video are more difficult to acquire, in part because - The hardware and software requirements can be expensive, and are not universally available - Once you've made a video, not everyone has the bandwidth to view it in high quality (certainly the first step to editing it) Wikimedia coul…
For the unaware, Commons, a repository of media files, is but one of many Wikimedia "projects" (including Wikipedia). It's mostly used for images, but also hosts video, audio (including MIDI), 3D models (only STLs), and PDFs.Aside: considering what the Foundation seems to like doing, I'm surprised they don't do more to promote the "other" projects, especially to Wikipedia contributors—Wikipedia editors (even split by language) vastly outnumber those of the other projects, including Commons and Wikidata, which are multilingual.
Commons' request system connects those who recognize needed edits but cannot make them with those who check the requests pages and are able to. There's the Graphics Lab[0] for edits to existing uploads, and File requests[1] for new uploads that are needed. Judging by the archives, they seem quite underutilized, though that might only be a sign of how few Commons contributors there are. Probably also has to do with the offloading of requests to local pages in many languages of Wikipedia.[2]
[0] https://commons.wikimedia.org/wiki/Commons:Graphic_Lab
[1] https://commons.wikimedia.org/wiki/Commons:File_requests
[2] https://www.wikidata.org/wiki/Q5324355
There's an interesting variation in the nature of barriers to being able to edit. Hardware and bandwidth cost money, but skills cost only time and software can be free. I'd say the Graphics Lab does decently in "teaching how to fish" through tutorials and lists of FOSS software. This contrasts with file requests, where there's no equivalent, because the most common reason that someone can't take a photo of something is that there physically aren't any instances of it nearby.
This kind of barrier to contribution really isn't specific to media; analogously, not everyone has access to the same resources for researching edits to Wikipedia. Wikimedia's also trying to address that: everyone with >10 monthly edits in any project has free access to the databases participating in The Wikipedia Library.[3] Most are relatively specialized, however (IIRC, JSTOR is the most generally useful of the lot).
Re: Mechanical Watch
#237Earlier quoted context omitted.
That looks like a fair bit of boilerplate, and a shitty tutorial with comments that mostly just repeat what the code says, but the API doesn't look unusable. https://github.com/patriciogonzalezvivo/glslCanvas/blob/mast... has most of that same boilerplate in a less repulsive form. https://github.com/patriciogonzalezvivo/glslCanvas/blob/mast... has other bits.
Honestly I think your examples are both genuinely less comprehendible to someone without a deep understanding of GL going in than my example. It’s a very bad, non-object oriented API in an object oriented language. It was designed for and by people who know GL in other C like languages, not for people who know JavaScript. It is unlike any other part of the language. The fact that I have to write a shader myself, as a…
Object-oriented languages are not a good way to do 3-D rendering. If you want to write pixel shaders in JS you can totally do that but you will have to run them on the CPU; as it happens I wrote a program last week that works that way: http://canonical.org/~kragen/sw/dev3/trama. If you want to run them on the GPU you need a language that exposes the GPU's capabilities.
In essence your primary complaint is that the GPU instruction set is not object-oriented (and neither is your database). Well, you can design your own GPU, but I've got some bad news for you about Verilog, Chisel, and BlueSpec! And you may find out that the real problem is that solid-state physics isn't object-oriented, so your OO GPU will end up underperforming, like the Burroughs B5000 and the Symbolics 3600 (hopefully not as badly as the Intel iAPX432). You'll probably have more success writing an object-oriented database.
However, I do agree that WebGL is a bad API, because boilerplate is never acceptable.
Re: Mechanical Watch
#238Earlier quoted context omitted.
Holy living crap. I was all with it up until I saw the actual full HTML example. That is an incredulous amount of overhead for what is essentially one of the most basic and fundamental operations in *GL. Comparing this to Canvas is almost like comparing assembly to C. I'm honestly very surprised.
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.
Re: Mechanical Watch
#239Earlier quoted context omitted.
I mostly agree with you, but I don’t mind minification when appropriate, as it can serve a functional purpose with tangible end-user-friendly benefits (less downloaded over the network = faster response times). But if you want to be friendly to the tinkerers, you could always host both the *.js and *.min.js versions, and have the webpage just pull the latter - anyone who wants the unminified source can remove the “mi…
minified js is not greatly smaller than gzipped js, I think the whole minification thing is a swing and a miss and now we have to deal with source maps and shit, and build pipelines and etc $ ls -la -rw-r--r-- 1 jack 197609 330905 May 4 22:56 watch.js -rw-r--r-- 1 jack 197609 152172 May 4 22:55 watch.min.js $ gzip watch.js $ gzip watch.min.js $ ls -la -rw-r--r-- 1 jack 197609 43690 May 4 22:56 watch.js.gz -rw-r--r--…
$ ls -l *.js
-rw-r--r-- 1 mrd staff 330904 5 May 01:04 watch.js
-rw-r--r-- 1 mrd staff 152172 5 May 01:10 watch.min.js
$ brotli watch.js
$ brotli watch.min.js
$ ls -l *.br
-rw-r--r-- 1 mrd staff 34461 5 May 01:04 watch.js.br
-rw-r--r-- 1 mrd staff 27122 5 May 01:10 watch.min.js.br
If I were serving this content, and if my web server and all of my target browsers supported Brotli, I'd be somewhat more content to ship an un-minified + Brotli-compressed file than an un-minified + gzip'd one. I'm sure it's some rule of thumb stuck in my head from the Web 2.0 era, but a JavaScript payload in excess of 40KB crosses some warning line in my head. (Probably 40KB / ~4KB/s throughput on a good dial-up connection = 10s transfer time, about the longest you'd want to wait for even a pretty spiffy page to load.)Re: Mechanical Watch
#240Earlier quoted context omitted.
Though boilerplate is never acceptable, most of that is constant-factor overhead, not per-triangle overhead, and tutorialspoint is not a site you should trust under any circumstances. See my links above for better sources. If you put more vertices and indices in Step 2 you can draw an arbitrarily complex 3-D object with this same code. And there's a lot of stuff in GLSL where you can program directly with high-level…
Using a framework is also constant factor overhead (at least in LoC, which is what I assume we're talking about here)