ralferoo
Joined 5 years ago
Joined 5 years ago
And content recommendations, services and advertisements are exactly what most customers don't want.
But anyway, the method of software delivery is tangential to the main point. Plenty of software exists that runs locally, regardless of how is paid for - whether subscription or one-off purchases, if it runs on your computer it relies on copyright law to protect the revenue stream for the developers. Without copyright laws, if one physical sale could be freely copied with impunity, sales would be vastly diminished to the point that many developers would just not bother and find a different industry to work in to earn a salary.
Very occasionally one of the monitor glitches out for about 5 seconds (maybe happens about once every 2-3 months), and they both seem to take much longer to wake up from the lock screen, again in the order of 5 seconds. Other than that had no problems whatsoever, and definitely the sound is much reduced. I only hear it at all when the GPU is maxxed out, and it's not unbearable like it is when it's right next to you. 4 years ago, the cables were £9 each for 5M DP M-M and £10 for the 5M active USB3 cable, but it's pretty cheap for the quality of life improvement.
But there is far, far more in the world that just SaaS or internal only software. Sure, companies are generally shifting towards SaaS (in part because it allows them another way to combat piracy, but also to extract recurring revenue rather than one off purchases), but there's still plenty of software you can go out to the shop and buy. Most of that wouldn't exist without copyright laws, because those developers would have found some other way of making a living instead.
Let's say you write some software for your employer and they sell the product to several customers with a contract not to distribute it. However, the product appears on some pirate website anyway, and you can't identify who allowed the product to be leaked. Once it's there, your contracts are worthless as nobody who downloads it from the pirate site will be bound by your contract. You need copyright laws to prevent subsequent distribution.
Without copyright laws, you'd then end up in the situation where people who paid for the software then are bound by the contract and would have to keep paying, and those who just downloaded it from a pirate site would be completely fine legally and could use the software with impunity. That would create a disincentive for anybody agreeing to buy the software and entering into a contract in the first place, essentially killing the industry.
You might not see a problem with that if you believe in Open Source, but most licences require copyright laws to exist to protect the software freedoms so that people don't just take the software and close source it.
Looking at London, the top rated place is Soho. Sure, a lot of people do choose to live there, but when I moved to London, I'm so glad I had to walk across central London on a couple of occasions before I actually found a flat. I went through Soho once on a Friday night and realised there was absolutely no way I'd ever be able to sleep at night and ruled it out. The next highest place is Seven Dials, which is fine for a night out, but again I wouldn't actually want to live there.
I actually chose to live about a minute walk from Hyde Park and 5 minutes from Paddington. That scores 89, so not much below the 96-ish of those top 2, but it's around 30-45 minutes walk from both of those. I think it only scores so highly because of the food options on Edgware Road, but there's not much else to do in that area, certainly not within 10 minutes walk, and I would frequently walk into more central London to do things. My cut-off before using the tube was 60-90 minutes walk each way depending on my mood, and would only use the tube on about 10% of days and averaged probably 90 minutes total walking on normal days. I guess my idea of walking distance is much higher than the 10 minutes suggested by the article. I'd definitely choose to live there again though if I went back to London.
EDIT: I've just looked at where I live now (a long way outside London). My current place scores 38 with only 1 in nightlife (a pub) and zero in all the other categories. Ironically, it gets the same score of 38 as an adjacent tile which somehow gets 0 in all the categories even though it's closer to the pub. Another adjacent tile scores 18 with basically the same stats, seemingly losing because it has fewer marked parking spots and no park (even though that tile is on a massive area of common land, hence why it doesn't have many facilities). The centre of the town, all the tiles score 96, which is true there are more things to do, but there's very few nice places to live in any of them. The whole thing seems a little odd to me, and I certainly wouldn't use this to decide where to live.
Most applications don't really care about their logical address space, and also most applications probably don't actually need significantly large address space - so restricting everything to 32 bit is probably bad, but there should be ample address space in 64 bit for many applications to coexist largely in the same address space. Certain applications like databases that want to memory map files don't fit this model, but many of today's applications do.
Since the introduction of TLB tags, using segment registers as selectors does largely support this model and allowing protection between processes without requiring TLB flushes on each swap, so I don't think it's a bad compromise, except that 12-bits for processes isn't really close to being enough.
In the UK at least, people usually take them to a second hand / charity shop, who sort through them and send the valuable ones to auction (typically early editions, 100+ years old) and then either sell them themselves (for recent books that are easy to get rid of) or sell them to specialised second-hand bookshops.
Most of the specialised second-hand bookshops rarely throw books away, usually if nobody buys them after a couple of years they end up in the extreme discount piles (20p, 50p etc) and probably only trashed if they still don't sell from there.
But, anyway this was on SunOS and specifically some Sun4c machines with a PROM password. I discovered a couple of new machines were put into the labs without a PROM password, so you could press STOP-A and get into the forth debugger, and read/write system memory. This seemed interesting, but I wasn't sure what I should be changing.
Then one day, I was reading some documentation, and there was a system call [1] that returned a pointer to some information about the current process (or maybe it was for a specific pid), and one of those fields was marked as reserved. I discovered that the field seemed to contain some kind of pointer, but I couldn't de-reference it, so I guessed it was something in kernel space, probably the information about the task needed for the task switcher. This also seemed interesting!
Using the PROM monitor to dump memory starting at that address gave a lot of interesting stuff, and at something like offset 22 there was a pointer to another structure and dumping the memory at this one showed my uid and gid, IIRC the uid was offset 6. Sure enough, overwriting the uid changed the euid of my process.
So, I could reliably get root on any machine without a PROM password by running my program, using the PROM to read the contents of the address it printed out, add 22, use the PROM to read that address, add 6 and write a zero to that address. (Assuming they are the correct numbers after 30 years of brain rot).
So, anyway, I had a bit of fun locally, and noticed that there was a memory mapped file that let you read the PROM contents. I then decided that I wanted to examine this on a machine that had a PROM password set, but this was harder than I expected. My initial plan was to rsh into the other machine as root, but that was forbidden by policy (and this would have been logged). I then thought about creating a setuid script with my new found root access, but that was thwarted as each machine had NFS mounted with root-squashing and their own local root partition. So, I decided I needed to create an additional "system" user in /etc/passwd with a password I knew (because that owned the binaries and wouldn't have root squash). The specifics of what went wrong I forget now because things rapidly got stressful so a lot of it became a blur, but the long and the short of it was that I managed to completely delete the NIS password file on that machine and so I couldn't log into it any more to attempt to undo my damage. However, I discovered that the non-NIS passwd file was still intact, and so I had to use my previous PROM trick to hack the "bin" user on a different machine, which allowed me to rsh as "bin" into the machine I'd just trashed (and that would definitely have stood out in the logs). Once I had a shell as "bin" on that machine, I was able to use the PROM trick again to upgrade that to a root shell and undo the damage I'd done before.
Some time later, there was some other root exploit knocking around, and I used that on a machine with a PROM password set, and discovered I could easily read what the password was just by reading that memory mapped file. As luck would have it, every machine had the same PROM password, and so from that point I could always have gotten root if I wanted it, but was always too worried about causing other damage that I never actually used it.
However, when I later became a sysadmin at the university, the other sysadmin was very confused one time when I did the same hacking root trick after he'd managed to mess up something similar on the root partition of a couple of machines and he thought he'd have to reinstall them all!
I just did STOP-A and entered the PROM password that he'd never told me, and did the same thing I'd done before and just said "yeah, we should probably change this password as it's the same as it was 2 years ago". The process of changing the password was annoyingly fiddly as the PROM password change tool was designed to only work on the console, which is why they'd never changed, so I wrote something to pretend to be an actual TTY so I could update all 100 odd machines remotely via rsh instead of logging on at the console of each of them. Fun times!
[1] I have some recollection it was an ioctl, but I'm a bit hazy on that now as it was over 30 years ago. I suspect it was the SunOS 4.3 version of the prpsinfo structure described in this: https://www.typewritten.org/Manual/Sun/SunOS/5.1/SPARC/man4/...
TBH, if using quarter here is just shorthand for "a decade", so it might be easier just to say plainly "I spent over a decade in each of A, B and C".