HN user

tommsy64

41 karma
Posts0
Comments19
View on HN
No posts found.

Rangeview (https://rangeview.com/) | Full-Stack Software Engineer | El Segundo, CA | ONSITE | $108k–$154k + equity

Rangeview is building the foundry system that reindustrializes America. We apply advanced software, deep automation, and materials science to making metal parts. You'd be an early engineer on FactoryOS, the application that runs our factory: production workflows, equipment telemetry, part tracking, and quality traceability.

High-ownership generalist role covering operator-facing frontends, backend services, and integrations with real machines on the floor. Stack: TypeScript/React, C#/ASP.NET, relational databases. MES/ERP, IoT, or manufacturing/aerospace/defense experience is a plus.

2+ years shipping production web apps. ITAR: must be a U.S. person. Hiring Level 1 or 2.

Apply: https://grnh.se/7eihn1ni9us (use this link please)

There is a GPU-over-network software called Juice [1]. I've used it on AWS for running CPU-intensive workloads that also happen to need some GPU without needing to use a huge GPU instance. I was able to use a small GPU instance, which had just 4 CPU cores, and stream its GPU to one with 128 CPU cores.

I found Juice to work decently for graphical applications too (e.g., games, CAD software). Latency was about what you'd expect for video encode + decode + network: 5-20ms on a LAN if I recall correctly.

[1] https://github.com/Juice-Labs/Juice-Labs

An interesting limitation mentioned in the README

"IPv4 Only: Like all of the best programs, the script does not support IPv6. I can't imagine there will be support for this anytime soon."

What are considered "all the best programs" these days? Is IPv6 adoption really so looked down upon?

Relevant excerpt of Dijkstra's own account (from EWD1308 [1]):

Finally a short story for the record. In 1968, the Communications of the ACM published a text of mine under the title "The goto statement considered harmful", which in later years would be most frequently referenced, regrettably, however, often by authors who had seen no more of it than its title, which became a cornerstone of my fame by becoming a template: we would see all sorts of articles under the title "X considered harmful" for almost any X, including one titled "Dijkstra considered harmful". But what had happened? I had submitted a paper under the title "A case against the goto statement", which, in order to speed up its publication, the editor had changed into a "letter to the Editor", and in the process he had given it a new title of his own invention! The editor was Niklaus Wirth.

[1] Transcription - https://www.cs.utexas.edu/%7EEWD/transcriptions/EWD13xx/EWD1... PDF - https://www.cs.utexas.edu/%7EEWD/ewd13xx/EWD1308.PDF

That reminds me of the Japanese word よし (yo shi) (which sounds like "Yosh"). Its meaning is very nearly identical: an expression of excitement or enthusiasm, equivalent to saying "all right!" or "okay!" in English. Was the model trained with the Japanese word and its definition?

I'm just starting to learn computer graphics and I've come across the Marching Cubes algorithm; however, I don't understand in this instance what you mean by "using one or more rays per pixel" and how that fits in with Marching Cubes. Could you point me in a direction to learn more about this? Thank you.

I've had this exact same project idea on my mind for a year or so, largely driven by a desire to see beautiful, to-scale mountain ranges in game (Thousands of blocks of render distance rather than a measly ~256). I wouldn't consider myself a computer graphics guy either; however, I recently started to dive into the world of computer graphics to at least figure out what it would take to implement something like this.

As a sibling commenter mentioned, using a marching cube algorithm is one approach. 0fps [1] has a good blog post about using Progressively Ordered Primitive buffers to implement Level of Detail in Minecraft-like games. (There is an interesting comment on that blog replying to that post.) Another blog [2] shows a similar implementation in a Minecraft-like game call "SeaOfMemes".

On a side note, I've never heard of Terasology—and it's been around for 9 years(!) it seems. I'll definitely check it out.

[1] https://0fps.net/2018/03/03/a-level-of-detail-method-for-blo... [2] - http://www.sea-of-memes.com/LetsCode64/LetsCode64.html and http://www.sea-of-memes.com/LetsCode67/LetsCode67.html

What you are thinking of is called Level of Detail (LOD). The principle being that 3D models further away can be rendered with fewer vertices/polygons, i.e., at a lower LOD. 3D models in Minecraft are almost all simple cubes or a collection of rectangles (e.g., torches, levers, slabs). There aren't really any extra polygons in these models that can be removed to create a less detailed representation, unlike, say in this [1] model of a rabbit.

Thus, you are right in thinking that Minecraft doesn't implement a LOD by changing the resolution of the models; however, it does use progressively lower resolution textures for texturing models that are farther away. This is a common technique called mipmapping [2].

[1] https://cathyatseneca.gitbooks.io/3d-modelling-for-programme... [2] - https://en.wikipedia.org/wiki/Mipmap

A quick search shows MathCraft Security Technologies [1] and MathCraft(TM): Math In Action [2] by Cycorp both exist.

On a similar note, I find it amusing that accidentally going to minecraft.com instead of minecraft.net brings you to the home page of a literal mining engineering consultancy [3].

"MineCraft Consulting provides innovative solutions and project management services for coal mining projects in Australia and Overseas."

"MineCraft is a registered trademark of MineCraft Consulting Pty Ltd."

[1] https://www.mathcraft.com/ [2] - http://mathcraft.ai/ [3] - http://www.minecraft.com/