6 ms·
Lately I've been finding an analogy with food production quite useful. It's possible we have enough restaurant-style software and we should stop (but we never w
by akkartik 6y ago
Lately I've been finding an analogy with food production quite useful. It's possible we have enough restaurant-style software and we should stop (but we never will, because restaurant-style software production rots if it stands still). However, we have almost zero home-cooked software production. Perhaps we should do more of that.
It's challenging, because we got the restaurants first, and we didn't have millennia of home-cooked tradition built up before the restaurants arrived. And we've all only trained in restaurant software, and our instincts don't always carry over to home-cooked software. Creating a culture of home-cooked software must happen in the margins, without capital, because capital by nature goes to restaurants.
It's challenging, but it seems worth trying.
(This comment has been percolating over the course of many conversations in the Future of Coding forum: https://futureofcoding.org/community https://futureofcoding.org/community)
- quicklyfrozen 6y agoWe started down a road with more home cooking through things like Visual Basic. I remember seeing lots of useful things built by non-professionals during the era of VB 6, but it seems like nothing in the web era has filled that void.
- Jtsummers 6y agoPython, though predominantly by technical non-programmer professionals. And it doesn't have quite the same RAD aspect with making GUIs that VB6 offered. I saw a lot of non-technical professionals using VB6 to make quick applications to solve their problem. The code would make you cry, but it worked. And it wasn't web-based nonsense that's hosted on someone else's server for a monthly cost. They actually owned the results. That's a big difference versus what companies would offer today. TCL/TK was great for making quick GUIs, but I never saw non-technical people use it for that purpose. Still seemed to be non-programmer, but still technical, professionals.
- akkartik 6y agoMany languages seem to give the impression of being home-cooked early on. Ever do factories start small. But it's inevitably a mirage. If we want something that won't grow into something "industrial strength" that needs pip and virtualenv and God knows what else, we have to consciously make some scale-hostile design choices. I've been poking at this problem: https://github.com/akkartik/mu https://github.com/akkartik/mu
- rvense 6y agoI really wish there wasn't this big distinction between using a computer and programming a computer.
- akkartik 6y agoYes. <3 The old hobbyist computers would put you in front of a prompt when they booted up. I'm working on something like this, actually. Here are some 2-minute videos: https://archive.org/details/@kartik_agaram https://archive.org/details/@kartik_agaram
- qayxc 6y agoIt's all fun and games until you expose an SQL interface to your mainframe database in Excel so that the guys and gals in accounting, purchase, and marketing finally stop pestering you with change requests to their reports, just to find out that some extra-curious and clever gal in purchase managed to bring down the entire mainframe by constructing a SQL statement using a bunch of nested outer joins... And while the blinkenlights in the server room start to morse at you through the window in the door in a menacing pattern, the guys and gals in server ops demand answers as they point at the avalanche of warning- and error messages that started lighting up the terminals like a Jedi knight fighting a swarm of mosquitoes in the swamps of Dagobar at midnight with his light sabre. At this moment you can only begin to fathom what happens in operations at this moment, with orders being delayed, fulfilment rates dropping by the minute, pickers and lorry drivers starting to get pissed off at the nerd in IT who must have screwed up again and they know where your car is parked. I guess what I really wanted to say is: be careful what you wish for, it might bite you in the end :)
- rvense 6y agoMainframe? Where we're going, we don't need mainframes.
- quicklyfrozen 6y agoI've seen the exact same scenario play out with an e-commerce site using MySQL.
- meredydd 6y agoI have to jump in and plug Anvil (https://anvil.works https://anvil.works) here - it's a Python web app builder very explicitly modelled on VB6 and other RAD systems. Drag'n'drop UI, Python in the browser and the server, one-click deployment - we're aiming for exactly that niche!
- npsimons 6y ago> Creating a culture of home-cooked software must happen in the margins, without capital, because capital by nature goes to restaurants. I honestly think this is the root of the problem, and that there is "too much software" is merely a symptom caused by this. As someone who didn't eat out often before quarantines, and is only a fair-to-middling cook, I can say that restaurants have crippled us in many respects. The overall cost is more than cooking at home, it's less healthy for you to eat at restaurants, fast food in particular has a bigger environmental impact, and to top it all off, these corporations are warping the political landscape with lobbying, never mind what other concerns there might be (much like the oil lobbies). I find it funny that you claim that "we didn't have millennia of home-cooked tradition built up before the restaurants arrived" as I'm pretty sure the exact opposite is true. So it would appear that as with all victors, restaurants are re-writing history, too. Take all of these observations and apply them to software, and it fits, perfectly. What's the commonality? It has to do with certain unchecked forms of certain economic engines . . .
- akkartik 6y ago> we didn't have millennia of home-cooked tradition built up before the restaurants arrived Just to be clear, I was alluding to software here, not real food and real restaurants.
- npsimons 6y ago> Just to be clear, I was alluding to software here, not real food and real restaurants. Fair. I guess I'm being dense today. It's a very good point that despite the feeling of the software industry being old, it's still younger by far than any other human endeavor (that I'm aware of). It's a field that is chaotic and still hasn't had time to settle down, really.
- tartoran 6y agoThe lower the cost the higher it is in the grand scheme of things. I’d like people to understand food is expensive and should treat it as such: reduce food waste and stop taking shortcuts via long routes, aka importing non seasonal food from the other side of the planet. I support locally grown food and local farms as much as I can!
- carapace 6y ago(I find it hella ironic that Future of Coding community uses Slack. Is there another way to participate? Or read transcripts?)
- akkartik 6y agoBoring, boring topic :) It's been discussed to death, but there's just not an option that the bulk of the community is willing to commit to. There's a searchable archive at http://history.futureofcoding.org http://history.futureofcoding.org. It still has issues, but it's getting better. And it's also built with the present of coding :p
- carapace 6y ago> Boring, boring topic :) Oh absolutely, I'm bored of it too. I was just struck by the irony. :) > There's a searchable archive at http://history.futureofcoding.org http://history.futureofcoding.org. Brilliant! > It still has issues, but it's getting better. And it's also built with the present of coding :p >_< blank page with JS diabled... ;) BTW, Mu is really cool!
- akkartik 6y agoI just remembered our conversation from just about a year ago! https://news.ycombinator.com/item?id=21268252#21293237 https://news.ycombinator.com/item?id=21268252#21293237
- webmaven 6y ago> It's challenging, because we got the restaurants first, and we didn't have millennia of home-cooked tradition built up before the restaurants arrived. That's a bit ahistorical, so your analogy is actually better than you think. Computers started out essentially hand built one at a time and hand programmed by changing the wiring (this is analogous to building and cooking over an open fire). Gradually (but quickly) they progressed through craft and guild stages to the point that computers were being mass produced, at which point software was being physically traded on spools of magnetic tape (analogous to cooking for your family, band, clan, tribe & trading recipes with other cooks, marketplaces for staples and specialized implements), then software & patches being posted to Usenet and emailed around (cookbooks, large-scale food production, the local inn, home kitchens), and only then did software start to become a product that people mostly bought and used rather than making yourself unless you had to. The closest food analogy to this transition is probably baking bread, which was quite specialized for a while (even if you had a kitchen with a stove and used it, you almost certainly bought your bread, and even if you baked your own bread, you definitely bought your flour) and technology had a strong role in decentralization by making home kitchen ovens reliable and common, although any baking you did was probably cakes rather than bread. This was equivalent to the personal computer and operating systems vs. applications. You can extend the analogy further and say that modern smartphones and app stores are like an an apartment with a kitchenette that only has a microwave oven so all your food is bought pre-packaged at the supermarket. Sometimes you go out to eat, sometimes you order pizza delivered, sometimes you grab fast-food. In all this the restaurant (an evolution of the inn) hasn't gone away, and in fact some of those restaurants scaled up to the point that the pre-packaged food you buy has restaurant branding (eg. Marie Calendar's). No-code solutions (starting with IFTTT) are a lot like making your own sandwiches from store-bought ingredients, including pre-sliced bread. Now, you're pointing out that the computer software equivalent transition from cooking all your own food to centralized and industrialized food production and preparation only took an eyeblink in comparison, but you are wrong in stating that software production didn't go through all the same stages of evolution and just sprang fully formed into the equivalent of restaurants and microwaved meals, or that the food production and preparation value chain wasn't subject to the same kind of technology-driven swings between centralization and decentralization as software, they just don't apply to all parts of the chain at the same rate which can lead to reversals in other parts of the chaoin. For example, industrialization of appliances wasn't the only development that pushed decentralization of food preparation; canned vegetables, refrigerated transportation, gas/electric/water infra, increasing sophistication of ready-to-use ingredients, and other similar developments were necessary and responsible too. So, basically, this sort of irregular ratchet that always moves in the direction of standardization and industrialization sometimes pushes some particular layer toward centralization, and sometimes toward decentralization, sometimes adds more layers on top, and this has been just as true for food as it is for software.