Specifically about British computing is Electronic Dreams (Tom Lean) (disclosure: I went to university with the author).
The Cogwheel Brain: Charles Babbage and the Quest to Build the First Computer (Doron Swade) is also an interesting read, especially as Babbage's ideas were eventually vindicated when the Science Museum built it in the 1990s and it worked.
The -S flag also works in clang, although the output may differ. For example, last time I checked a comparison check of i < 10 in a for loop would become:
cmpl $9, -4(%rbp)
jle .L3
under GCC ('if i <= 9, loop') and:
cmpl $10, -8(%rbp)
jge .LBB0_4
under clang ('if i >= 10, end the loop'). Neither GCC or clang does an exact conversion, and they both produce different assembly instructions (optimisations disabled in both cases).
If you build a cross-compiler, you can also output assembly for architectures other than your local machine, though this can be quite fiddly (see crosstool-ng for a project which has done most of the work for you).
When I worked at a university, we had several pieces of legacy 32-bit software, mostly written in C, which were essential to some courses. It became more and more difficult to run them as Linux distributions stopped shipping 32-bit libraries by default (I think Scientific Linux 7.1 caused a lot of problems because of this).
Despite its age, ARM System-on-Chip Architecture (Steve Furber) is still a good introduction to the processor and assembly (I'm re-reading it at the moment). ARM Assembly Language - an Introduction (J.R. Gibson) is worth reading if you want to learn ARM assembly.
The materials page for COMP22712 also has some interesting resources, including the lab manuals and a small ARM assembler written in C (source is also on GitHub: https://github.com/uomcs/aasm). Unfortunately COMP15111 is now hosted on Blackboard so you can only get at the materials if you're a current student enrolled on the course.
(I've been an undergrad, postgrad and staff in CS at Manchester, so I'm familiar with the courses - other universities may have similar resources with fewer access restrictions).
The three applications I use every single day without fail are an editor, an email client and a web browser (I'm a developer/sysadmin). If you provide one of those, I'm going to see your brand all the time, even if I'm not directly aware of it. That's quite a powerful position to be in.
I don't think this is the same thing. If you want to hire the vast majority of people, it may well be easier to acquire the company. What happens if the other company is much bigger than you though? Stripe would never be able to buy Google, Microsoft, Apple etc., but they could potentially hire a small internal team from them.
I wonder how much litigation risk is involved with this. If you poach one key employee, the original company is likely to be a bit grumpy but probably won't do anything. If you poach an entire team, litigation may be worthwhile - especially if that team is their entire development staff (I've seen this happen in the UK insurance industry, cases go on for months and potentially involve millions of pounds).
I'm a freelance consultant, and I charge for my time rather than per-project (except for very small well-defined projects), so I end up doing planning and execution for some clients. If someone is paying me by the hour/day, I'm happy to jump in wherever they want in the process -- I'll even make tea all day if required. :)
I don't think there's anything wrong with an individual choosing only to do strategy though, in the same way that I only choose to work with certain programming languages. I do think it's wrong to say that consultants should never do execution, unless you have a very narrow view of 'consultant'.
I do value pricing and for execution that was always difficult, but i've realised I can do value pricing on the actual strategising that I do, and just time based or project based on the execution my staff will do.
The advantage of -v is that you can see what is being extracted as it happens. This is useful if you have a tarball with thousands of small files, as otherwise it's hard to tell whether tar has got stuck or there are just a lot of files.