> I come from a family with 4 generations of carpenters. It's a profession more similar to software engineering that most engineering jobs I can think of. The main difference is that in our domain so often the results of our work just don't feel real.
That is the core issue I have with software development, it can feel ephemeral and extremely temporary.
My remediation for this is partially game development too, since the artifact you create is immersive and directly enjoyed by others, it can make you feel surprisingly connected to the world.
It sucks how temporary software is, especially Web software. If you don’t pay the hosting bill it’s gone. If you don’t upgrade to 64 but it’s useless. Essentially it’s a plate spinning on a stick and it needs constant attention to survive.
Contrast that to a fine piece of furniture which barring fire or flood can just sit abandoned in a warehouse for 300 years and then be even more valuable than it was initially.
I dunno, as someone with a lot of antique furnishings in a 19th-century house, I'd say that there's quite a bit of ongoing maintenance to prevent the march of time and usual wear and tear from grinding everything to dust!
I met a traveller from an antique land,
Who said—“Two vast and trunkless legs of stone
Stand in the desert. . . . Near them, on the sand,
Half sunk a shattered visage lies, whose frown,
And wrinkled lip, and sneer of cold command,
Tell that its sculptor well those passions read
Which yet survive, stamped on these lifeless things,
The hand that mocked them, and the heart that fed;
And on the pedestal, these words appear:
My name is Ozymandias, King of Kings;
Look on my Works, ye Mighty, and despair!
Nothing beside remains. Round the decay
Of that colossal Wreck, boundless and bare
The lone and level sands stretch far away.”
The poem reminds me of the Coen Brothers movie "Ballad of Buster Scruggs", released on Netflix a few years ago, which presents four (or five) vignettes.
In one of these Harry Melling plays a handicapped performer of poems in the "wild west", and the segment starts with him reciting this poem. Liam Neeson plays his manager. The segment is one of the most Darwinian, cold things I've ever seen. The whole movie is great, but this vignette especially.
I can’t tell if you’re joking, half-joking, or serious, but in any case, bravo for this response.
On the other hand, some ephemera does stand the test of time pretty well, whether by being ensconced in an environmentally controlled room like a tomb (ie incorporated as part of a long lasting work) or via heavy replication and meme-worthiness, like the Odyssey, the Bible, or the works of Shakespeare.
I don't collect antique furniture, but I do cook with and maintain 100-year old cast iron and a very nice German chef's knife.
I think the biggest difference between software maintenance and maintenance of most physical objects is that physical maintenance is calming, tactile and pleasant.
Routine software maintenance, on the other hand, is hacky, frustrating and stressful.
I would much rather sharpen my knife on a whetstone than fix a dependency on a CI server or wrap my head around Apple's latest code signing bullshit.
> I think the biggest difference between software maintenance and maintenance of most physical objects is that physical maintenance is calming, tactile and pleasant.
A lot of folks don't think this way. I do, but I know many who don't so it's important to remember that, especially when trying to make systemic judgements on fields of industry.
Fair point. I've not met many people who are actually excited by this stuff, but that doesn't mean they don't exist.
I may be a little bit biased in this area as I had to spend a lot of time dealing with a build system that my company had rolled themselves, with one maintainer that spent his entire week just putting out fires, all while under high pressure from deadlines and also external pressure from home eviction, wedding, side businesses).
I just cannot relax or have fun when dealing with WiX or qmake failures or dependencies disappearing.
Right - whereas I find this the most exciting series of things I get to do, by far. It's always a game of hunt the wocket - especially when you're trying to not just hack a solution together.
I have had several existential crisis wondering *"what the fuck am I doing this for, we produce nothing."*
---
This happened to me at FB, SF, Lucas, Brocade...
I was like "yeah, im doing well professionally, making money - but at the end of the day, it was just "we produce nothing of intrinsic value"
I find it ironic that NFTs are now the version of creating something of digital content, but it has non-fungible (intrinsic value) and they are attempting to make a money laundering network out of NFTs (if you may not be aware, the art market is the largest money laundering scheme ever devised up until where we are at present.
I am currently going through a mid-life, as I can't stand tech at all - but its all I know, so I am attempting to just get into gardening and maybe work at a nursery...
> I was like "yeah, im doing well professionally, making money - but at the end of the day, it was just "we produce nothing of intrinsic value"
I think it depends on what you work on. For example, I once created a small program to split some file for my mother. She uses it every day at work and saves ~30 minutes of manual work. It's a source of pride for me. She can use that time to work on more substantial things, maybe come out of work earlier sometimes, and in general avoid some mind-numbing work. Many people use computers these days, and by being programmers we have a lot of power in our hands. You can reason that saving a bit of time will amount to nothing in the end, but it usually generates lots of positive feelings.
I'm a little younger than you, so I want to ask this:
If it were up to you, alone or with a team you're in charge of, do you think you could come up with a piece of software which would be less ephemeral and more lasting, perhaps being able to work unadministered or requiring minimum administration for a while, and be usable AND useful for years without any major changes?
What would it look like, and what would its pieces be made of?
> do you think you could come up with a piece of software which would be less ephemeral and more lasting
Take a look at the sort of old software people write emulators for.
There's an active scene that resurrects 70/80s video games - Space Invaders/Galaga/Defender et al have way way longer useful life than most of the software written in the subsequent ~40 years.
IBM maintain a VAX/VMS emulator, and there are various ports if it (including OpenVMS and an x86 version). This is mostly (I think?) used for "legacy apps" particularly finacuial/governemnt/adacemic/military software written in Cobol, Fortran, or Ada.
Looking at those sorts of software would be interesting in terms of knowing what sort of 40+ year old software people still care about...
I LOVE this challenging thought experiment. (I was on "commenting too fast" restrictions (Shakes fist @Dang)...
---
With that said - I love this question!
---
The premise, as interpreted:
**"A self-teaching application which can adjust behavior and performance with minimal input"**
---
Proposal A: [NMAP/PRISM/ETC for AI/ML systems] ((I'd be sure Palantir has this covered...))
This one will be long winded and off-the-cuff based on some work we did with tracking software in the past (people places, things, things-that-kill-people-places-and-things, etc)
I would like an AI awareness layer whereby an AI/ML system can locate adjacent 'other' systems and either silently learn - or actively map/learn etc...
We have had netmon tools for decades. I'd prefer a single firewall device;
I plug it in at home - and its my VPN/PROXY that ALL my familial devices run through. ALL.
So its just a simple VPN etc - all my mobile devices in the family of devices only route through my home device - which in-turn also keeps a small constellation of other nodes several hops out - such that BGP is sorta accomplished - cant get to primary node, go here instead.
I've designed SDNs on mass-fiber btwn HK, JP, Indonesia, Malaysia, etc...
Its doable (this is when Palo Alto Networks was just coming online with their product line...)
Doing this in a manner which utilized AI/ML/etc to more intelligently setup these systems...
Yes I could lead a team that does that....
Lets think this thing out into the zeitgeist and if its lame, then let it die - if it is not lame - then I will work with anyone who may want to explore it?
Network, storage, memory and compute (GPU is included in compute). Aside from any other mortar you may need which can be available as a service, that is the premise of all that we do with machines.
Honestly, its a straightforward concept - and products exist in the enterprise for just this: MDM (Mobile Device Management) -- you can deploy and manage (and monitor and spy on) any provisioned device through your ITMS...
There should be a product for homes that provides all that you said - with archive, backup, MDM, blogs, calendar, todo, etc...
I pitched this years ago "Facebook in a box for the home"
You were told "nobody will want that" by people who wouldn't want it to exist as it flies in the face of those walled gardens. I know plenty of people that want that now for sure, myself included. People are tired of their data being "owned" by these companies and subsequently having it lost or stolen. Something like this would be like mixing bitdefender box and a NAS with HumHub or some other open source social network software maybe?
Idk about that. You could say the same about a farmer or a banker or a teacher etc. Even the guys who build the Empire State building - there were probably hundreds of them, each only building a small part - and someday that will get lost in time also.
“Intrinsic value” is whatever you define it to be. I guess if you’re working for some ad-sales-management company making software for other big companies, then you probably don’t think you’re making much intrinsic value. But my philosophy is, just try to make the world a slightly better place to live in when you leave. And even a small library or project may help others working on bigger projects, which influence bigger projects, which cause real change.
> we produce nothing of intrinsic value
Idk about that. You could say the same about a farmer or a banker or a teacher etc.
Absolutely not. None of these professionals are ever working on superfluous projects of unknown worth to the society. In fact, their worth to the society is immediate and totally tangible: you couldn’t eat without the farmer’s work, you wouldn’t have a house without the banker, and you would be dumb without the teacher.
However for most software projects, you would have a hard time to define their positive contribution to the society. Not saying useful and positive software doesn’t exists : there are plenty of those. But they are a visible minority in a sea of unknown, buggy, driven by bankable MVPs rather than useful and well crafted user centered software.
"Wouldn't have a house without the banker". In some societies this is/was called usury - the opposite of intrinsic value. Banks leech value instead of creating any.
Someone who maintains an event space will find that they have to do the same tasks every day and that their hard-fought progress is often destroyed by the very events that they host; meanwhile, even their optimized routines will randomly become obsolete due to changing circumstance of construction, government, and behavior... and yet I don't think it would be fair that they are producing nothing of intrinsic value: the value of Facebook isn't the software you developed while working there, but (as they like to say) "the friends we made along the way".
Imagine your whole life has been spent flipping bits. Highly frustrating, I'm really happy that I also have some real world skills and I'm always wondering whether the buildings that I put up will outlive me.
Core idea is how can you design a software system that avoids the pitfalls of spinning plate on a stick that requires constant maintenance as the world shifts around it, 'the big ball of mud'.
One way to do this is to design a system where all events of the system can be replayed from start to finish in an immutable/repeatable way. Taking the advantages of state guarantees from functional language design and applying something similar to an entire OS.
You can design something that abstracts this general design away from specific implementations of pieces that interact with the underlying system today (*nix).
It's a little hard to summarize in a really short comment because there's a lot of new/first principles thinking that doesn't analogize super cleanly to the existing software stack people are familiar with (which is why it's interesting).
Yeah that's Curtis Yarvin, I think his neo-reactionary politics are wrong [0], but the design and ideas behind urbit are good (and he's no longer directly involved in the project).
Ha! Fantastic.
> I come from a family with 4 generations of carpenters. It's a profession more similar to software engineering that most engineering jobs I can think of. The main difference is that in our domain so often the results of our work just don't feel real.
That is the core issue I have with software development, it can feel ephemeral and extremely temporary.
My remediation for this is partially game development too, since the artifact you create is immersive and directly enjoyed by others, it can make you feel surprisingly connected to the world.