Skip to content

Comment on A Love Letter to Tinkerable Software

Comments

I think there’s a bit of survivorship bias in the tech industry. Many of us got into tech because we were able to explore computers with few limitations. But I’m not convinced it was mostly due to the tech of the 90s being more open.

We are the ones who did that kind of stuff, so we’re a filtered audience posting on HN about tinkerable software. We likely tinkered for a lot of reasons that didn’t have much to do what tech was like - we had unfettered access to tech in some form, for instance, or we were encouraged to do so by our parents or society or our peers.

Making our tech more accessible is a fine goal, but that’s likely not the biggest blocker for the next generation of technologists. Rather, I'm starting to think that, given recent advancements in UI, social media, etc. our belief of what makes a great engineer is totally off base for what we’ll actually need in the next decade.

I think it is reasonable to say the prevalence of smart phones with a better security model means that young people do not have the same skillset you possessed in general.

https://www.fastcompany.com/90859083/gen-z-tech-skills-gap-d...

Add to this console gaming, and "view source" not working as well with the prevalence of optimised web frameworks, or the centralisation of compute services (you can't resedit Tinder or Snapchat and change what others experience); tinkering via tech is much much harder.

The creative types who want to have fun are off making innovative tiktok memes.

To help fix this, we need more open source apps with a "view source" button in the about tab taking you straight to GitHub with a "code now" button, to kill the app store in favour of sideloading apks from your local sneakernet, and an absolute buttload of Easter eggs.

Software is plenty tinkerable now, especially with so much of it being open source. Though applications rarely are, I don't know if that was all that different back then either for most people.

edit: I think I misunderstood your last paragraph to mean we'll need to keep low level skills available so we don't lose the knowledge. I think you actually meant that we don't currently understand what the next generation will need to know to be effective which is a fair point, though have we ever known what skills the future requires?

/edit

There are still companies producing lower level engineering work, and the world still needs it. If academia and industry can't maintain the skills needed, bigger corporations will be able to run their own internal programs in collaboration with universities to produce the talent and those people would be paid handsomely.

With open source operating systems out there I also see it as being a recorded knowledge. Something that can be re-learned from, what will one day be referred to as, Ancient Codebases.

tl
Though applications rarely are, I don't know if that was all that different back then either for most people.

It was. Another commenter mentioned ResEdit and being able to tinker with classic Mac applications. Two things were universally true back then:

1. In a pre-internet world, the entire application had to be hackable in some fashion, even if the application's creator tried to make that difficult.

2. Most parts of an application boiled down to simple text files, simple binary layouts or compiled source code. Obfuscation, encryption or even compression all cost CPU cycles which were often too previous of a resource.

As an example, Civilization stored much of its data in *.txt files you could edit in notepad to change the strength of units, etc...

The author's piece refers to the ability to inspect web documents to see how markup works. This is an order of magnitude harder to do in mobile apps often providing the same functionality.

If you look at the state of drones an robotics right now, the 90's were nowhere near that.

So to any kid that is interested in technical things, there are currently 0 things holding you back: You all of the worlds information at your fingertips, can order any electronics part for cheap, can build cool things with tiny computers.

Drones has no more relation to software then an M16A4 to the metal crafting.

Agree and disagree.

In the realm specifically of computers, I think kiddos today who do have the inclination to tinker in the ways we remember fondly doing so are going to have a lot harder time of it. I personally have spent time around Zoomers who were raised on iPads, and they love and are interested in learning more about technology, but at the same time are coming at it with what I perceive at least to be a far lower skill average than what I had at their age because all they know are iPads and smartphones, which are more and more locked down and untinkerable and who's muscle memory and general knowledge pool just isn't transferable to "real" computers, if you will. For example: a younger person once asked me where the file browser was on a Windows PC. I had to explain to them that's Explorer, but it didn't connect with them because it was configured on this machine to open their share drive on a university system which is just a drive letter, not a set of curated folders like "Documents," "Downloads," "Gallery," etc. And to be completely clear here: I am not calling this kid stupid, they weren't. They were untrained and ignorant, akin to someone who wants to learn to drive a sports car only ever being given access to the PlaySkool red and yellow pedal car.

Now that being said, there are still plenty of ways kiddos can tinker with software and electronics. 3D printers immediately come to mind. You (usually) can't just bang your sausage fingers on a capacitive screen and get good quality prints from go. There's calibration, for many there's assembly, for still others there's less computery-stuff but more things like chemistry if you're going the resin route, not to mention materials safety and of course, inevitable troubleshooting. It's not quite the same but IMO, it still promotes analytical, problem-solving, learning-to-research-and-self-teach type thinking which is critical to developing engineer brains.

That being said, if you do want your kid to go into software, if it isn't already obvious to you, take away their stupid phone and give them a proper computer. And if you don't want them necessarily going into software then just take away their stupid phone, at least sometimes, so the social media companies can't completely rot their brains out before they're even out of school.

given recent advancements in UI

Also I have to push back on this specific point: I don't know of a single thing, except MAYBE iOS, that is consistently good with regard to UI. Windows is downright atrocious at this point, MacOS is fine (apart from Finder which is awful but it's always been awful), Android is a complete mess, every AAA game sports an interface that's even worse than the last, embedded systems are almost universally badly coded/organized and full to the brim with chinglish (is that term offensive?), web apps are slow as fuck with everything designed "mobile first" by which they mean they took out all the text and made everything stupid icons inside drawers so you end up sitting there translating some designer's idea of how hieroglyphs could work...

While I think your point is valid, IMO, entering in tech is so much easier. There's much more information available and you can tinker with hardware much more easier due to low prices. But it's very much easier to watch Youtube and play games on a playstation, so they do that.

I can't speak for everyone but I can tell you what my ice-breaking moment was that got me into software: I was playing the original Driver game for PC, and via reading on Gamespot forums, learned you could give yourself god-mode + access to any map if you went into the files and edited the map configuration, which was stored as plain text and easily editable. I never completed more than like... 3 missions of that game back then, I was just too dumb, but I was smart enough to edit a text file and it was the first time I altered software without using an interface or settings menu.

Of course being a dumb kid I assumed all software was like this and broke many files and executables opening them in Notepad and changing random characters, but nevertheless I credit this with starting me down the path of being a software developer. I don't think most people get into this stuff because it's easy or hard, we get into it because we want the computer to do something that it isn't currently doing, and we look for a way to make it do that. And of course there are still innumerable ways to go about it now, but they are paradoxically more complicated (not able to be performed in something like notepad, usually) and also less complicated (installing mods via Nexus, for example, is not technically challenging: the software does the vast majority of the work for you).

if you do want your kid to go into software, if it isn't already obvious to you, take away their stupid phone and give them a proper computer

Or, better, give them two in one, i.e., a GNU/Linux phone.

Could you give an example of a different avenue we could pursue? Your thesis seems plausible to me but I don't understand what we would do differently in light of it.

- make more kid-accessible low-code app development environments

- train hackable LLMs on a corpus targeted for younger audiences

- offer built in “escape codes” to the lower levels of gaming systems like the playdate

- offer social networking sites meant to be customized/hacked on (eg myspace)

/edit These are ideas for how to bring tinker-ability to where kids are. But I don’t think I can say with confidence what is going to make a great explorative environment for the next generation. Bringing as much useful tech into the right places in kids’ lives, wherever they are and whatever background they have, is going to be the right start though.

Hmm, I'm confused. Those are all good ideas, but they all seem to be tinkerable?

Extrapolating it seems like what you're suggesting is making spaces where people can tinker socially rather than making tinkerability ubiquitous and trusting nerds like us to figure it out for themselves? Thus opening up the space to people we might not traditionally imagine as becoming software engineers?

I really like that assessment. Frankly I hadn’t thought that far so thanks for the extrapolation!

Could you give an example of a different avenue we could pursue?

FOSS.

AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.