So I'd call this a "viable reality".
PS -- I think you meant "GNU/Hurd", not "GNU Mach".
112 karma · joined March 28, 2021
So I'd call this a "viable reality".
PS -- I think you meant "GNU/Hurd", not "GNU Mach".
Not that I'm not a big fan. These things are exactly what I need for travel. And my company sends me places with iffy Internet connectivity, so I have found it incredibly useful to have a tiny device which can set WAN to be wireless, wired, or cell-modem. I used to wipe it and reload with OpenWRT.
When you find a company who sees what users are doing (like populating the serial port), and that company changes their device to do that by default, you've got someone who actually cares about customers.
The problem, really, is China. Just like Russia, China has laws requiring full cooperation with the MSS by all electronics manufacturers. So I just assume breach, meaning my devices are either back-doored at the factory, or are sigint-ready just by pushing out a new system image. If they have your device ID and external IP address, they can probably target specific people who are high-value.
Just to be fair, the NSA has been caught fiddling with crypto to make it "sigint ready". Snowden showed photos of NSA re-boxing Cisco gear (where do you suppose they got that Cisco-branded anti-tamper tape?) Everyone spies; it's just a fact of life.
The company noticed that 1) folks were upgrading storage, and 2) hackers were adding pins so they could connect to the serial port. They then modified their production to include both of those hacks. They called it the "6416".
I've gone on to buy many of the GL.iNet devices. I take a Brume with me on travel. Their built-in software (OpenWRT with a custom WebGUI) is so handy that, despite knowing they have anti-features built in, I just use it as-is. I normally use it's 802.11ac radio to connect to the hotel, and copper Ethernet to my machine. But with dual antennas, you can also connect wirelessly without going half-duplex.
That DIY 6416? I use it as my home WAP, configured as a bridge to my central switch. It's been running 24/7 since 2015 or so.
GL.iNet also make an open-source hardware design. So if you're uber-paranoid, you can build your own.
I always found it useful to have a question in mind when you start tearing into something. In my case, it was "how does it know that an "A" on this TV should be composed of just those dots? Why can't I have other fonts? You can't search for only these answers, or you'll miss the important stuff. Eventually, I learned mostly how it worked (the A2D2 Disk Interface card was a revelation).
Then I decided to close the loop on my question, and modify the Character Generator ROM to use a typeface of my own choosing. The chars were stored backwards, due to how the bits were clocked out of the ROM. So I had to do a bit of fiddling to get everything right, then I burned it into an EPROM (2708, IIRC). The stock ROM used a 2500 series PROM, and the enable pins were different. So I wired up two sockets, jumpering the 3 enable pins to line up for the EPROM. The entire mobo was socketed, which made this sort of hardware hacking easy. After a couple of tries, it was working. My //e still has my own custom font on it to this day.
So I was able to learn at a good time. But I missed out on learning about big systems, which were still the mainstream at the time. I even worked with some of them (a Data General Nova at work, and an IBM System/3 to learn FORTRAN IV), but did not realize they were an opportunity to get in to the scene early. Others my age, who lived in more affluent areas, were able to learn early machines, even being paid to program them.
The past always looks better, or simpler, or more understandable, but it never is. The "Good Old Days" never were. You can learn things with today's systems that I will probably never be able to understand. And that's the proper way of things.
When I see something like Kindle or Audible, the first thing I do is check to see if I can strip off the DRM. If I'm buying it, I have the right to use it anyway I see fit (short of copying and redistributing...obviously).
I still check the DRM-free places first, because they deserve the sale, even if the price is higher. If I can't, I'll buy it and strip the DRM off (super simple, with the right software). If that won't work, I'll check the darknet. If there's a decent copy there, then I'll buy the useless DRM work (so the author gets paid), and use the darknet copy for my library.
Technically, this probably breaks several US laws. But I don't think any lawyer wants to try a case where I paid for the books/audiobooks, then removed their DRM. Kinda hard to show damages, or bad intent.
So I've adapted to the reality that "email client" is now a web page on a service somewhere, and "email message" is another web page. I don't have to like it, I don't have to use it, but raging against it is a waste of everyone's time.
It's good to remember that Outlook isn't actually an email client. It was bought by Microsoft back in the days before TCP/IP became common. Outlook (still) calls messages "memos". The _first_ thing Outlook does with an RFC-compliant email is convert it into the Outlook "memo" format. There is no option to view the original email message at all. Microsoft simply bolted on a filter to deal with emails. I had hoped that the "Mail" client in Windows 10 would be a real mail user agent, but it's _worse_ than Outlook, without the excuse of predating email and being another program MS bought and rebranded.
I think it's also important to realize that Brooks' project had to succeed, or IBM would go out of business. The company was nearly done for, and Brooks tried to write down what he learned because those lessons saved IBM.
A history of the integrated circuit, starting from vacuum tubes and ending with the politics of today (-ish; it's a 2020 book).
If you liked "The Soul of a New Machine", this is your jam.
I had no idea he had written this up. Thanks for posting!
I'd like to suggest a larger project: a history of the features we've come to call a "computer". For example, the stack. The PDP-8 didn't have one. Programmers would roll their own in software, usually with the limitation that you could only have 1 level of call, because you only stored one return address.
So; what machine gave us the first hardware version of the stack? When did using a stack become the job of the designer, not the programmer? As far as I can tell, the first one was the Burroughs B5000. In fact, I'd wager the B5000 architecture pretty much set the standard for all computers that followed.
But I think that story would be really interesting. As long as it's not only about the tech, but about all the people who tried, and the one(s) who succeeded. Not just a single feature, but the set of features that we now consider to be required for a "real" computer.
I'd also recommend "The Career Programmer": The only book I've seen that deals with a realistic view of programming in a corporate environment. For example, what to do when your boss stops you in the hall and asks, "We need a tool to do X. How soon can you get that done?" It's subtitled "Guerilla Tactics for an Imperfect World", which is _just_ what you need to break free of the fantasy land that books and classes put you in. (APress publishes this.)
And don't be fooled by the title: "My Job Went to India And All I Got Was This Lousy Shirt". It's the distilled experience of a programmer who spent a year (or two?) in India when his company outsourced code, and sent him to manage the new group. There are some really important tactics inside, like the chapter on "reading the boss's mind". You don't really, of course, but it explains how to capitalize on "wouldn't it be nice if we..." throw-away comments in meetings. (Pragmatic Programmers publish(ed) this one.)
Oh, and don't be shy about using the Internet Archive to sample all the books recommended in this thread. I haven't seen any bad recommendations, but you don't want to spend more money or read more pages than necessary. The IA will help you decide which books answer your needs the best.
Good luck!
About halfway through the book, they build an explicit dispatch table, and I instantly understood 1) why my C code was so crappy, and B) why C++ and OO languages miss the boat (hint: they only implement the dispatch table in one orientation)
Worth struggling through, even if you never write a line of Lisp code. It has a lot in it about nice designs, abstraction barriers, and how languages actually work.
Now I see that the One is getting Android 11, but there's no sign of a build for the 6. It's probably coming, but I find it ironic that the phone that "wouldn't be supported" has a zero-day build, but the phone that _is_ supported doesn't have one (yet).
The "Five Guys" committee that President Obama authorized, reported back with findings and recommendations. One of them, which that committee felt was the most important one, was to split NSA and US Cyber Command apart. They felt it was dangerous to have one person in charge of both communications security, and in command of their own Army, Navy, and Air Force.
Giving them more authority, especially authority that is already vested in a different agency, is a Yuge mistake.