Hacker Newsnew | past | comments | ask | show | jobs | submit | cabidaher's commentslogin

My brain overheated just reading the words at first. Great puzzle!


Pitching in to your and parent comment but from the junior side to say that yes, this definitely helps :)


Thank you for sharing this. Many laughs were had!

The company you were applying to sure missed out!


Where can one find a list of those watches/manufacturers?


> just solving the problem for the input data

I think a lot of people here would be surprised how much of a step up this is from classic leetcode or DSA stuff. I have been involved in introducing people to AoC and helping them and the amount of people who have basic knowledge of algorithms but struggled to parse the input from a file was a little shocking to me at first. Of course, I do not blame anyone for not knowing something, classic academic courses can be misguided sometimes.

This doesn't negate the fact that there is somewhat of a lack in problems with more outside world interaction and it would be cool to see more of that.


I think this is because for a long time on the internet there was this intense discussion of "introvert vs extrovert" and memes about what it means to be in each camp that we have forgotten that it can vary greatly from one person to another and from one setting to another. It was also somehow "cool" to be an introvert on the internet, in some circles.

These days I feel like those conversations have dies down. And I've also realized that I', more social that I'd previously liked to admit. Maybe age also plays a factor here.


As a non-architect, I would love if you could explain some of what makes the non-duck designs _so_ horrible. Some of them looked more than fine to me at first glance. It's also something that can be rerun over and over with little interaction in-between runs so one could generate a handful of designs starting from different seeds and get inspiration.


You generally want your rooms to be not just rectilinear, but rectangular after you fill in all built-in storage spaces. And storage spaces have to be sized appropriately to their intended purpose: you don't want three-foot-deep shelves. Another thing this optimizer doesn't take into account is corridors. It has the notion of room connections and area ratios, but area ratios are the wrong way to think about corridors: you want them to be as small as possible while still having at least a certain width.


The algorithm prefers rectangular rooms, you'd just need to adjust it a bit. The wall loss function minimizes wall length and tries to regularize angles, so it naturally converges to square-ish rooms:

> we compute the norm of the tangent edge vector, which is equivalent to the norm of the 2D normal direction. Minimizing this loss has the following two effects: simplifying the wall between two adjacent rooms by penalizing its length, and aligning the boundary to the coordinate axis by making the coordinates of the tangent vector sparse in 2D.

The optimizer also seems like it should handle corridors okay as long as the corridor area is set to something reasonable. A corridor is just a room that is allowed to be long; since the other rooms will try to take up relatively square spaces you should be left with a long connecting area.

> And storage spaces have to be sized appropriately to their intended purpose: you don't want three-foot-deep shelves.

Like you said, this is the same minimum/maximum width problem that makes corridors wonky. I think this is relatively easily solved, though. A "minimum width" constraint is really just a requirement that no voronoi site is within X distance of a wall. A shelf is a sub-area in a room where there must be 2 borders within X distance of a voronoi point. Things like furniture and kitchen islands are also basically represented like that, as constrained areas.

A simpler alternative to complex per-point constraints would be to have area constraints per control point- a bunch of single-point "rooms" inside the actual rooms. In the case of a corridor, since the voronoi cells tend towards a square, you just need to set that area to the minimum width and they should avoid shrinking below that width.


I guess that one gripe is that it's clear that they looked at this as a math problem, and didn't really take into account people that have the accumulated wisdom of laying out hundreds of spaces, the pitfalls that fall when doing that, and the complaints that only surface when you are embodying that space. This is a case of the classic engineering mindset of 'let me go into a field which I have zero practical experience with, then reduce everything to a simple math problem and ignore everything you think you know about doing this'.


No, they didn't. When an artist draws a picture of Manhattan, they draw steam coming up from the streets and no utility poles. They don't need to know anything about the buried power infrastructure or steam pipes. It would probably be worse if they did; the point is to communicate the conception of the space. It does not matter if steam is coming up on a street where it shouldn't; they drew it to say "this is manhattan", not to depict a component of the infrastructure that exists off-canvas. It does not matter if businessmen are walking around at 3pm when they should be at work if the point is to indicate that business is happening. The kayfabe is more important than the reality.

This is for a computer graphics conference, not an architectural conference. The point is to generate more-plausible interiors instead of copy-pasting the same layout. They are generating the feeling of more realistic spaces. You're the one coming in and saying that they don't know what they're doing, and trying to simplify an art into something you understand.


My critique in the parent comment is exclusively on architectural terms. For video games or other spaces that won't have any actual people living there, I don't have a dog on that fight.


Based on some of the floor plans I've seen, architects also seem to have developed a habit of designing weird floor plans somewhere after the year 2000. I don't know why they thought apartments could need corridors with diverging or converging walls in the hallways, or why rooms without 90 degree angles are a good idea, but their decisions don't seem that far off the floor plans this tool generates.

These outputs are far from perfect but unfortunately they're not unrealistic.


If you just look at the plans in the initial diagram. Plan C is the only one that makes marginally useful spaces, avoiding excesive corners and awkward leftover space that ends up without use. It also happens to be the more obvious solution to the problem.

I could see the value in generating a bunch of rooms roughly accounting for the space requirements, but that's usually done in a more abstract way before taking into consideration things like privacy, thoroughfares, building conventions, spans, noise and light access, wind patterns, and things of that nature.


Wasn't this posted here a few days ago?


AFAICT there where (at least) two recent events where Torvalds had a chat with Hohndel.

I) KubeCon and Open Source Summit China (Hong Kong, 2024-08-23)

https://news.ycombinator.com/item?id=41355731 – posted to HN on 2024-08-26, 123 comments.

II) Open Source Summit Europe (Vienna, 2024-09-16)

I.e. this post. This talk was also referred in an article from The Register, and that was posted on HN about 23 hours ago: https://news.ycombinator.com/item?id=41593275 (11 comments)

It also looks like the current post (i.e. https://news.ycombinator.com/item?id=41559404) was originally submitted four days ago, and then reached the front page today via HN’s second-chance pool[0].

(This talk from Open Source Summit Europe has been submitted a bunch of times, but some of the submissions yielded very few comments.)

[0] See https://news.ycombinator.com/item?id=26998308 for more info about the second-chance pool.


Thank you for your reply. I had suspected it was the second chance pool but I had never seen that mechanism in action so I thought it'd get re-posted, not that it would appear as if it had just been posted. I had read it when it first appeared.


Yeah that part of the second-chance pool is a bit confusing, it has tripped me up a few times as well.

Pro-tip: If you look below the submission title you will see a text saying “3 days ago” or similar. Hover with the cursor over that text, and you will see the original publication timestamp. (Or use view source in your browser.)


Thanks for the tip!


Welcome to HN.


Did you experiment with different ways to format those included headers? Asking because I am doing something similar to that as well.


Nope, not yet. We have sticked with markdownish syntax so far.


from a quick look, I believe the code for the page is here: https://github.com/g-trees/g_trees


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: