6 ms·
If you define hacking as gaining access to scarce compute resources, then yes, hacking is dead because compute scarcity is dead. If you define hacking as contr
by javajosh 7y ago
If you define hacking as gaining access to scarce compute resources, then yes, hacking is dead because compute scarcity is dead.
If you define hacking as controlling your computer hardware at the lowest level, then hacking is dead because no-one wants to write device drivers.
If you define hacking as *making the lights blink in interesting ways"[1] then hacking is incredibly, richly, and totally alive! You can make the lights blink in so many interesting ways!
To sum up, that's one really good change, one somewhat unfortunate but understandable change, and another really incredibly good change. (BTW I don't think the OP's point about complex OSS really fits in this particular essay - minimalism is important topic and deserves it's own essay, but it's not related to hacking, IMHO).
[1] I don't recall where I read this, but Feynman wrote about being involved with the Manhattan project, with the simulations they were trying to run on very early, primitive computers, and how one or two scientists put on that part of the project had to be replaced because they got too fascinated with the "blinking lights" to get any work done. I find this anecdote very easy to believe.
- lsofzz 7y ago> If you define hacking as controlling your computer hardware at the lowest level, then hacking is dead because no-one wants to write device drivers. This is absurd. Dude, let me be clear - Just because you write Java all day long does not mean that there are hundreds if not thousands of embedded system developers who engineer (quite passionately!) the thing that powers your SSD or your wireless card or the thing that heats your home. We often take these substrates (in this context - the firmware and device drivers etc.) for granted in the modern hardware and often fail to even acknowledge them. I am not one of them and I vehemently defend these silent heroes of our generation.
- javajosh 7y agoYou know, I had a moment where I thought "perhaps I should add a disclaimer about what 'no-one' means", but then I decided against proactive defense against a pedantic retort, assuming that HN would understand how tiring it is to qualify statements like that. Clearly I was wrong. Thousands do care. So here's what I mean: When you take the ratio of the thousands that do compared to the millions who don't, you get a number that's pretty close to zero (one tenth of a percent, back of envelope).
- lsofzz 7y ago> Thousands do care. So here's what I mean: When you take the ratio of the thousands that do compared to the millions who don't, you get a number that's pretty close to zero (one tenth of a percent, back of envelope). Fair enough.
- wccrawford 7y agoHis same argument means there were never any hackers if you compare it to the entire human race. There have always been very few "true hackers". That continues to be the case. It doesn't mean they died out, it means that nothing has changed other than that it's harder to find them using the same search terms.
- deleted 7y ago[deleted]
- non-entity 7y ago> no-one wants to write device drivers I sure as hell do. I rediscovered my love for programming starting to integrate old hardware with new software after a few years of being burnt out working on trivial CRUD apps
- pjc50 7y agoI think people do sometimes want to "communicate directly with the machine", but they don't want to deal with the huge and often crufty layers of abstraction that are currently in the way. In the AT era, reading a byte from the keyboard could be done with a single IN instruction. In the present PC era, the bare minimum for doing that is a multitasking operating system capable of enumerating USB. Or indirecting it through something huge and opaque like UEFI. I see this occasionally on electronics.stackexchange: "how do I attach a light to the end of a USB cable and turn it on and off from the computer". The answer to that is astonishingly complicated.
- bittercynic 7y ago> The answer to that is astonishingly complicated. It is, and I think we've lost something valuable by having USB, which is pretty complicated, as the dominant interface. However, the Raspberry Pi makes it pretty easy to blink an LED, and it's pretty accessible. Certainly more accessible that a computer was in the era where it was easy to toggle a parallel port pin.
- spookthesunset 7y agoRight this instant you can talk to the bare metal of a computer with more power than anything you had way back when C64's roamed the planet. Get yourself an ESP32 and you can talk directly to the metal with no OS to get in your way. Get two, they only cost a few bucks each. > I see this occasionally on electronics.stackexchange: "how do I attach a light to the end of a USB cable and turn it on and off from the computer". The answer to that is astonishingly complicated. It is astonishingly complicated because what they are asking the wrong question.
- pjc50 7y ago> It is astonishingly complicated because what they are asking the wrong question. No, I see this argument a lot on electronics.stackexchange and I think it's over-used. That's their question. They have some larger objective in mind, which it may be useful to know; if they want to control the light from UI on the PC then that's a natural way of phrasing the question. If you want to do this over the ESP, sure, then you've got to get networking involved, and that's how you end up with all the usual IOT disasters. How do you "securely pair" an ESP32 with a PC? Again it involves a huge amount of software. Whereas if you just had a wire you wouldn't have to worry about security. Answers of the form "buy a different computer" or "install a different OS" serve to make the answerer feel smug without usually helping the questioner at all.
- scoutt 7y agoYour first 3 points reassembles too much to embedded programming + electronics. And no, there is not just a few or no-one of them: it's an entire industry. I do it all day long and I don't feel like I'm hacking if I know and understand what I am doing. You don't need to necessarily code to hack. You can hack with just electronics. Perhaps you are too inclined to java or upper layers of abstraction.
- javajosh 7y agoI disagree, but I think there's something here worth figuring out. Just like particle physicists aren't the only real scientists because their objects are the smallest ones, low-level programming (and FPGA/electronics work) isn't the only kind of hacking. People hacking genes with CRISPR are still hackers even though there are also people hacking the smaller components (at several levels of zoom) of those systems. Look, personally I want really clean memory layouts and elegant lead routing, simple causal chains, and open, verifiable designs in hardware. Even without that I would like to understand DRAM refresh protocols, Bluetooth, USB, and every detail of how PCI works. It's not that I don't want to, it's that I don't have time. (And honestly it's such a mess "down there" I'd really like someone to clean it up before I get in there.) Re Java: after using Python+MyPy I've never appreciated Java more. I've read the JVM spec and the language spec more than once; I'm sort of a "JVM hacker", if you will. I will happily edit a class file with a hex editor to achieve an effect. It's a simplified machine that is fully specified; it's a kind of opinionated VM that, unlike it's Xen counterparts, attempts to jettison some of the annoying stuff from real machines. Also ironically, Java was originally intended for embedded systems.
- scoutt 7y agoI was just referring to your 3 definitions of hacking... To hack doesn't necessarily mean to go particle-level or low-level, or learn something from the bottom-up or master some field. And your first comment also gave me the impression that you think hacking can happen only at low-levels, like embedded or electronics. Manipulating and hex-editing a binary... I call it a hack, and congrats, it seems like you are doing it already. Read (or watch) The Martian for one hack after the other, at several levels and different fields.