A question about prefab construction came up at a talk this year in Sydney with Lucy Turnbull (Former Sydney Mayor) and Alain Bertaud (planner and author order without design), Lucy mentioned someone tried this in Sydney and went under and they never heard from them again despite promising the world. Alain mentioned that tastes (think in terms of from finishes to floor plans) change often enough where prefabricating an entire house doesn't really make sense. Not to mention construction codes can change as well (I know in the US it can vary on a county level), they mentioned they saw more success with prefabricating components like windows or fireplaces or whatever.
Something like a factory requires an intensive upfront captial investment, if tastes change often enough the process would need to be amendable to adapt to changing tastes.
Combined with that, I think the fact there is no uniform standards for acceptable floor plans, compliant layouts and construction codes across the different jurisdictions really makes it hard for there to be economies of scale.
> note I don’t think construction codes are strictly a problem within the US, there’s apparently a manufactured housing code. However planning controls are a seperate thing and possibly still an issue.
An example from Sydney (which likely relates to other jurisdictions) Outsides construction code, in Sydney there is a quasi instrument called the apartment design guide which issues requirements on floor plans, floorspace, how far a bedroom wall can be from a window in a bedroom, ceiling heights a lot of things that act as constraints on the possible layouts of a home, and I have no doubt some form of this exists in other jurisdictions as well. I imagine when there is so much variation in different legislative constraints in different jurisdictions there isn't really economies of scales as there are actually several different non homogenous market segments with incompatible set of constraints, and where there's overlap it may not be a high demand end product.
I don't think this as much of a problem but I imagine there are cases where some unionised construction industries may refuse to use work on site using prefab components. I haven't really heard of such cases so I'm not convinced this is a real blocker.
> think the fact there is no uniform standards for acceptable floor plans, compliant layouts and construction codes across the different jurisdictions
FTA: “Conventional homebuilding is subject to different building code requirements in different jurisdictions, depending on what version of the code has been adopted. But manufactured homes are built to one set of national requirements, the federal HUD code.”
Even with that still leaves planning controls, which dictates a lot constraint’s on development. In some jurisdictions you can effectively have planning controls that ban some floor plans. Admittedly I’ve just heard of federal HUD maybe this is some unprecedented case where it overalls local government planning and state laws, though I think that’s unlikely, I do know there’s plenty of fragmentation of planning regimes.
Point being, you may be able to construct something and it to tick the construction code boxes, whether the building you can make with it is permitted under planning is a different matter. Which can implicit ban those buildings
For example the zoning code could limits the type of dwelling to something and that thing has a pedantic definition which unique to that jurisdiction, or there’s a combination of max floor space controls and height controls that makes off the shelf prefab components ineffective at making the most of the allowed building envelope. Or a jurisdictions could require design contests for buildings at certain sites or a certain area so it may not be a given you can even use available prefab.
It seems if you want you're allowed to set it up on your own property, which is surprising reasonable for Sydney standards. Just no more than 6 months after which you need to make a permit, possibly make a development application or something as it may be viewed as a permanent increase in floor space which tends to be tied infrastructure levies and maybe rates (think property tax). You can't set it up in the middle of the outback without some kind of planning proposal to rezone it to permit it.
At least with NSW (the state Sydney is in) the criteria are likely consistent across the state)
In Sydney Trailers likely aren't subject to Development control plans (DCPs) but other kinds of prefab/manufactured homes definitely are. Here's an example of a DCP, here is an example one from Randwick (one of 20-30 councils sydney is compromised of): https://hdp-au-prod-app-rcc-yoursay-files.s3.ap-southeast-2....
It regulates room size relative to floor ceiling distance, solar and privacy impacts on adjacent sites, minimum privacy and solar inside the dwelling (such as the amount of sunlight during the least sunny hour of the least sunniest day of the year), setbacks, etc, etc. If its next a heritage item it can't mimic it, it also can't take attention from it, has to confirm with some abstraction notion of sympathy to the heritage item
I witnessed this process with a friend, a freshly-happily-divorced doctor who moved away with her two kids and wanted a fast solution. Damn, they were quick. It took a few months to produce the components (they have a backlog), then something like 4 days to put together.
Idk, but it seems like you could attempt to use this argument for absolutely anything that is manufactured.
Why do people buy manufactured cars instead of custom ones? Is it because they dont care or is it because a custom car would be 10x more expensive?
If they could actually manufacture a house that is 1/10th or less the cost but the tradeoff is its a little outdated or the layout isnt exactly what they want, i have a hard time beliving people wouldnt take that trade.
communist countries before 1989 did this en masse producing large concrete panels with each wall being basically one, they could erect apartment blocks very fast and build thousands of apartments, they also used unified prefab "core" for bathroom/toilet
but it's difficult to say how economical it would be in market economy since they did it in centrally planned economy
Paneláks work, in the sense that after the necessary fixes and improvements, plenty of people still live in them happily.
Some comments from the Commie era, though:
* quality of work used to be shoddy in a legal environment where firing a drunkard was illegal and there were no competing firms. In a competitive market, this can only work if the people doing the building are reliable and competent,
* some level of personalization, if only decorative, goes a long way. If all the buildings look identical, it wears down on people:
* you really, really have to think about how people will use the resulting architecture. Some such buildings had a lot of various empty corners and dead ends where people would piss and worse, thus developing an extremely disgusting smell.
I don't think quality of work actually improved that much, people like to bash these commie buildings, but when you look at new buildings it's not really much better. Now you have competitive market, but the result in race to the bottom (price) is the same, they jsut hire the cheapest Ukrainian and you will get the expected result.
I have good examples, we had vote in our building who will upgrade our roof, we had offers for like 1.2M CZK, 1.8M CZK and 4-5M CZK, while they all had space specs, same warranty, I was the only one who voted for cheapest option, the rest of the people used logic "won't vote for the cheapest" option and the result was exactly as I expected, instead of the cheapest Ukrainians we paid 50% extra for very same Ukrainians doing the job under different company with bigger margin. Of course the roof which didn't leak before "upgrade" started to leak in my apartment, so much for the quality of work. When we asked them to fix it, they claimed it's leaking because of my A/C on the roof (which didnt leak for years before their "upgrade"), but 3rd party inspection confirmed they glued insulation wrong and surprise surprise after fixing it stopped leaking while nothing was done about my A/C. There was not a single Czech speaking person working on the roof since I could hear them shouting until very late and had to climb to roof at one instance when they kept working still around 9PM, why would they care when they go to dormitory without families...
Building across the road was fixing the roof as well, done by usual non-local suspects as well and the quality? Immediately after they "finished" their job I could see objects slowly falling from under the roof, which is now going on for years, but most of the residentof the building seem to not care or are unaware of this since it's empty wall without windows, which my kitchen window faces.
So yes, quality of work on panelaks was very inconsistent (there was no 90 degree corner in my bathroom/toilet when I was remodeling, my panelak has even concrete walls in toilet/bathroom unlike the cheaper prefab core in most newer panelak buildings, prefab with 90 degree corners would be in this aspect improvement), but so is quality of the work on new buildings by my experiences and I could add more.
I want to say from thousands of miles and an ocean between us, the roofing market is the same. Most contractors bid the work by hiring the same groups of people that have either low/no skill or are displaced/not exactly legal immigrants.
I was able to hire a company that employed locals and you know what, the price was 25% higher, they took twice the time to finish, and the roof still leaked. I've had one fixed and now have another leak to get fixed. I won't let them back on my property.
Yeah these are definitely some of the more well known examples, these early communist countries tended to have a lot of state capacity so if there were such things like local planning controls and they got in the way of state priorities they were simply rewritten or appealed.
The USA, and Australia actually use to have far greater state capacity.
Besides political will, the structure of institutions and distribution of authority in both Australia and USA act against the federal governments of either country enacting this.
Not only communist countries, Sweden had Miljonprogrammet[0] between 1965-1975, Wikipedia's page about it is a good read for more details:
> At the time, the intention to build one million new homes in a nation with a population of eight million made the Million Programme the most ambitious building programme in the world. In contrast to the social housing proposals of many other developed countries, which is targeted at those with low incomes, the Million Programme was a universal program intended to provide housing to Swedish people at a variety of income levels.
I currently live in a townhouse built during that period, the house is from 1974, around me in the same neighbourhood there are many houses of the exact same floorplan. Each row has 4-5 townhouses, 3-4 rows are built around a central playground where each row faces each other, this pattern repeats spreading across a 2km stretch between two lakes and a forest, there are around 200-300 of these townhouses in the neighbourhood. Closer to the metro station there are higher density buildings, the low-density ones (like mine) are built on the edges of the suburb, still a short 10-15 min walk to the station.
They are all based on pre-fabricated concrete structures, the finishing varying a bit (wooden panels, different colours). Also they were built in a way to make renovations and reconfigurations easy, accessing utilities is straightforward and it was easy to upgrade my house's electrical systems to have many more outlets in different rooms than it was originally planned for.
I wish similar programs would be discussed these days, it was an effective way to improve the housing stock in a short period of time.
> For many sectors of construction, difficulty in achieving economies of scale could be attributed to the fact that only a small number of buildings of a particular type get built in the US each year. There were, for instance, only 10 skyscrapers taller than 200 meters built in the US in 2025
But so on production productivity generally, relating to that
In New Zealand Auckland they did a board upzoning in 2016, it was the largest metro governed under the same planning regieme, they allowed many dwelling types by right, and increased planning controls. Economist Matt Maltman did some research on construction productivity during this period
His research (which showed productivity did increased) this is consistent with the idea the point above being productivity gains comes from the ability to repeat the same process over and over which was possible Auckland after they uniformly upzoned the city, after which most lots had higher zoned capacity than its existing built capacity (almost certainly with homogeneous allowed heights and floor space), allowing for this process of repeatedly building the same type of unit over and over. Matt has written more about construction productivity here in
Anyways if you'll note that the number of firms providing homes also increased, meaning the process of repeating construction over and over isn't isolated to a few firms. While the size of the industry almost certainly grew, the same number of builders likely were working more and more of similar buildings, and they are repeating similar processes over and over consuming similar inputs over and over.
- Those different housing projects due to some level of homogeneity will encounter similar hurdles where which creates a sufficiently large incentive and market for someone to sell solutions tailored to those problems which likely improves productivity (compliance is likely a big one).
- There was likely a greater rate of interaction of different people in these industries interacting with one another allowing for a greater distribution of construction related ideas, some more efficient than others. Think when you have a new coworker who introduces a new tool and suddenly every starts using, this process is able to happen more frequently.
- Likewise some of those inputs likely had an opportunity to efficient. Inputs from industries with fewer players would have been greater incentivised to sell as many units as possible and find ways to reduce their costs. If they performed price 2nd/3rd discrimination previously due to that market being insufficiently large relative others, they have an incentive to act otherwise.
> The problem with function color exists when you can't abstract over it
Hopefully it's safe read this as there's no common static type between function and async function meaning APIs (that take functions as arguments) have to provide seperate methods (or overloading) for these different colours.
Like in typescript you can write `<T>(f: () => T) => T` because an async function statically is just the return type wrapped in a Promise, not something like `async () => T` you can still pass in an async function as an argument.
I think that's a reasonable thing to take issue with, and its _possibly_ an avoidable design problem. That said I can see it being less avoidable if the async function requires some special kind of invocation (like being associated with some kind of async runtime and its a compiled language).
When I see people bring the issue of function colouring, the focus tends to be on the fact that a function is no longer interchangeable with a sync function and now you have to handle a promise, which I personally find unconvincing if the return type really should be a promise then it shouldn't be interchangeable with a sync function.
Your first paragraph links having the colour in the type system as allowing you to write functions that take arguments of parametric colour; your last paragraph says you're unconvinced that you might also like to write functions that return results of parametric colour.
An example: a vector of things to a thing of a vector, for "thing" in (promise, option, result<E>, ...). Such a function should only really return a promise if it's given a vector of promises, and, with an interface that "thing" supports, can be written generically for all those things.
(In Rust, there are separate implementations of that for Option and for Future.)
Higher-kinded types are the (a?) design solution, but they _do_ come at a cost, and for some that cost is higher than the cost of colours.
I think you're confused, I was talking to two different points, while I'm sure I could have communicated with more precision, either missed it, it was unclear or you don't understand, either way I don't really get the gotcha tone when you could ask for a clarification:
Anyways, the two points:
- The first point was, "not having a common way to generalise over both sync, async or blue, green, brown functions, seems avoidable and bad". This is when the type system struggling to common up with a common classification for function invocation independently of colour.
- The second point was that, was "so what if there are different return / wrapping / container / monad types", which focuses on a more common interpretation of this article but a different one.
In Haskell a type in a result, State, Config, Parsec, Maybe is in it for a reason, and thankfully we can generalise over that. Higher kind types (abstracting over abstractions) is a whole other basket, as an ex haskeller I would love to see them more mainstream but admittedly I don't think language authors are convinced and there isn't much we can do about it, so we should learn to make do with what we have outside of haskell.
I think I was simply not very good at expressing what I was trying to convey, sorry, and it is a fault of mine to come across as gotcha-y even when trying not to. Thank you for responding with patience despite that.
The first point I interpret as "colourful arguments are avoidable and bad", with which I agree.
The second point I interpret as "colourful returns are unavoidable but good", with which I disagree - even if that interpretation is too strong and is more "... are unavoidable".
A function's type is its full signature, including inputs and outputs. When you have first-class functions, you have values with function types, and those values are inputs to other functions. Necessarily, then, if you colour outputs you have also applied colour to inputs.
Transposing a vector of things to a thing of vectors is an example of where colourful output forces colourful input. If you cannot abstract over abstractions, you must write and re-write the sequence function for each abstraction.
I'm in agreement with your closing paragraph's sentiment. That HKTs aren't a broadly adopted solution is something I accept, but I reserve the right to low-key begrudge it.
(And the more I write about this, the more I wish the original article had used "flavour" rather than "colour" as I try and probably fail to find phrasing that doesn't simply sound like portions of a racist rant.)
> I think I was simply not very good at expressing what I was trying to convey, sorry
No its, and I appreciate you taking the time to read my reply and consider my perspective here.
> The second point I interpret as "colourful returns are unavoidable but good", with which I disagree - even if that interpretation is too strong and is more "... are unavoidable"
Thats fair, but yeah I wouldn't go so far to say its good or imply we should celebrate it in anyways, more so it as a unavoidable constraint that warrants engaging with.
For sure HKT would generalise many stray ends, and there are definately more complicated usecases where you can write much nicer types with HKT, although my experience has been theres been more pain in writing them without HKT than using them without HKT so the pain is a fixed cost of building the library and not an on going problem of using it. Although I am sure there are cases where it's also the case that usage of the library is more painful without HKT.
IDK, I haven't written a ton of Haskell in a while maybe I've forgotten some of its magic and internalised some of the suboptimal aspects of the absense of working without HKT.
But I do from time to time find problems that would be nicer to solve with HKT, I think generally quite a few of them are DSLs or some form of meta programming. I guess in typescript conditional types you can get away with a lot cooked things.
> Transposing a vector of things to a thing of vectors is an example of where colourful output forces colourful input. If you cannot abstract over abstractions, you must write and re-write the sequence function for each abstraction
I've unfortunately also had similar issues from the lack of HKTs with some linear algebra APIs so I don't find this too surprising.
Don't take this the wrong way but to anyone who has read the book "The High Price of Free Parking" this contribution to this thread reads like someone who came late to a meeting and missed half of the discussion and keeps asking questions that would have been answered had they joined earlier.
I can see why you might ask this, but the book very much focused on the idea that a piece of land much preserve space for a parking space. It might sound innocuous but it is the source of many issues within cities, a contributor to housing inaffordability, why so many buildings in the US are surrounded by miles of parking, why some of the lots in your city are derelict, etc.
The book very much addresses why mandated parking minimums even in suburban residential lots are also bad (specially the mandated minimum less so the carpark itself), I highly recommend the book mentioned above.
Very cool! I don't entirely understand some of the operations, but for what I do understand its pretty neat.
I wish in classes we were introduced to a notion of arithmetic on intervals as it comes up. Like in basic statistics with confidence intervals there's ±, as well as in the quadratic equation. It found some what dissatisfying we couldn't chain the resulting a series of operations and instead repeat the operations for the 2 seperate values of the ±. I get a teacher would rather not get hung up on this because they want to bring it back to the application generally, like solving a more complicated equation or hypothesis testing in basic stats. I just wish they hinted at the idea we can do arithmetic on these kinds of things more generally.
I realise what you've got here is well beyond this, but seeing this was some level of validation that treating the interval as a piece of data with its own behaviour of certain operations does make some sense.
As someone else has said it is publicly funded, it's the same with Australia's ABC news [1]. When you watch it on TV, I guess there are ads for its own shows but other than that they are not allowed run ads. Funnily there are ads shown on its stories on apple news, I always wondered if that was in some violation of the Australia Broadcasting Corporation Act [2].
heyo! you responded to a comment I made two months ago complimenting my personal site (https://concourse.codes & https://borice.exposed) and asking if I made the pixel art myself. I'm not sure how HackerNews notifications work so I'm just seeing it and wanted to say thank you, and also no, sadly, I did not make the pixel art myself. I am learning how as a separate endeavor, but in this case I fine-tuned midjourney on a set of windows 98 icons and then fed it photos of various things that I wanted to convert to pixel art. It works quite well and is fun tbh.
anyways, thanks again & hope you're doing well <3
I remember your site! I really like the consistent visual language, even if you didn't make the pixel art, at the very least they go well with your site. I entered my email on your other site, feel free to reach out or whatever, also this is my site https://akst.io
I opened the book, it looks kind of like an essay. But it says this at the start
> This book was created through an extended collaboration between the author, Claude (Anthropic), and ChatGPT (OpenAI). The structure, pedagogical framework, and frustrations catalog emerged from the author’s two decades of teaching creative coding.
I think it would have been better to make a series of blog posts and held off on writing the book until they felt comfortable doing it without AI and understood how to express this ideas without AI.
Before I saw the AI comment, I felt like giving that to someone looking to learn about this might be overwhelming tbh. Now I feel it would be incredibly harmful like telling the blind to follow the blind. A beginner would be better off just to being told to give whatever they want to do a go and use claude as needed or something if they don't understand it. I did wonder why there was no code, I figure maybe they want to keep it general and keep this more philosophical.
tbh I dig the aesthetic of the book, but idk seeing that in the intro just makes it feel like it isn't worth my time.
There’s something called menu pricing, in order to keep its existing customer base buying their more expensive higher end models there need to be an unjustifiable drop in quality to switch.
The gap in spec is no mistake, if it was appealing enough for existing air-book users to downgrade it would cannibalise their bottomline.
I’ve produced music through much of 2010-2020, I wasn’t there in the 1980-2010s but it wasn’t uncommon see discussion online about different samples or things like this. Never really seen any mention something like this unquantified “je ne sais quoi” or at least don’t really recall
My take is, it was the first of its kind to widely circulate exhibiting desirable quantities for sampling, a combination of good enough and path dependency. After a certain level of saturation/entrenchment it carried an aesthetic compared to readily available samples (maybe this is what you meant).
Whenever I couldn’t find a breakbeat sample (or wanted some starting point at least) I’d default to it. When I did music production it was very easy to get your hands on a loop but obviously that’s much later.
The fact you’re talking someone with this frustration shows maybe there are people with use cases other than yours?
When IDEs do resolve this it tends to be because they built some index to look up these identifiers, which is likely taking up a portion of your memory. A language that statically tells you with an identifier comes from will take out less resources, and your IDE can collapse the import anyways.
So not sure why you feel so strongly about a language design whose ambiguity necessitates consuming additional resources to show you your little drop-down menu.
Something like a factory requires an intensive upfront captial investment, if tastes change often enough the process would need to be amendable to adapt to changing tastes.
Combined with that, I think the fact there is no uniform standards for acceptable floor plans, compliant layouts and construction codes across the different jurisdictions really makes it hard for there to be economies of scale.
> note I don’t think construction codes are strictly a problem within the US, there’s apparently a manufactured housing code. However planning controls are a seperate thing and possibly still an issue.
An example from Sydney (which likely relates to other jurisdictions) Outsides construction code, in Sydney there is a quasi instrument called the apartment design guide which issues requirements on floor plans, floorspace, how far a bedroom wall can be from a window in a bedroom, ceiling heights a lot of things that act as constraints on the possible layouts of a home, and I have no doubt some form of this exists in other jurisdictions as well. I imagine when there is so much variation in different legislative constraints in different jurisdictions there isn't really economies of scales as there are actually several different non homogenous market segments with incompatible set of constraints, and where there's overlap it may not be a high demand end product.
I don't think this as much of a problem but I imagine there are cases where some unionised construction industries may refuse to use work on site using prefab components. I haven't really heard of such cases so I'm not convinced this is a real blocker.
reply