It would have been, except for one problem: The owners of MIPS (Imagination Technologies) did not own any MIPS64 IP cores. They only had 32-bit cores available to license. All of the 64-bit cores were either developed by third parties, or retained by third parties during the many sales of the MIPS IP. Oh, and they decided to go batshit insane and make a modern ISA with MIPSr6 that reuses opcodes that were defined in MIPS III to MIPSr5 with incompatible definitions (e.g. replacing the branch-likely instructions, which have a delay slot that's only reached if the branch is taken, with compact branches that don't have a delay slot) and claiming that you can do binary translation to work around the differences (but not providing a reference implementation of the binary translation).
It's only easy on most modern ISAs because they have unified integer and address registers. Usually we use the size of an address register and implicitly assume that it's the same as the size of an integer register. This gets a bit confusing in some cases: I played with a highly specialised DSP a few years ago that had 64-bit integer registers but only 256-bit address registers (it was intended for a streaming computation that had very few temporary values, though the addresses were all to 64-bit words [it only had 64-bit load and store instructions], so it could address 2KB of SRAM). Was that an 8-bit processor? Generally, for this kind of thing, the designation just doesn't make sense and it's whatever the marketing folks decide (the same ones who decided that the Pentium was a 64-bit processor because it had 64-bit integer operations).
For a user-space programmer, the ISA is completely hidden by the compiler and the system libraries
There are a few places where it might matter. For example, AArch64 can do atomic operations on pairs of pointers. This is particularly important for some of the RCU code in the Linux kernel, but will be similarly important for some userspace atomic operations. If you're writing a userspace threading library (fairly niche) then the different structure of ucontext_t will be important. It can also be important if you're looking at the ucontext_t that's delivered as an argument to signal handlers (though most signal handling code doesn't do anything with it).
The barrier elision work is based on something that one of my students did. It hasn't yet been applied to AArch64 because the memory model is slightly different and they're working with some of my colleagues on a formal proof that the transforms would be valid, but it will appear there at some point. One of the slightly tricky things with ARMv8.1 is that atomic read-modify-write instructions are sometimes slower than the equivalent load-exclusive, modify, store-exclusive loop, depending on the microarchitecture.
If you're going to define socialism by the fact that the NAZIs and the USSR had socialist in their name, then you also need to define democratic based on the Democratic Republic of Congo. Or you can try using the definitions that you'll find in a politics textbook and then people might be able to have a sensible conversation with you.
The instruction set for ARM64 is a bit more like MIPS than ARM
That's not really true. MIPS has no condition codes, has branch delay slots, has no PC-relative addressing and no complex addressing modes. About the only thing where AArch64 is more like MIPS than AArch32 is in having a non-architectural PC, which is a decision made by most modern architectures as making the PC a possible destination register complicates a lot of things microarchitecturally. A few similarities between AArch32 and AArch64 that are not shared with MIPS:
They both have a set of condition codes.
They both have conditional moves that operate on the condition codes (though AArch32 also has a lot of other predicated instructions).
They both have complex addressing modes.
They both have the same SIMD extensions.
They can both load and store more than one integer register at once (AArch32 has load/store multiple, which are horrible to implement in a complex pipeline, AArch64 has load/store pair).
I don't think it would matter to an end user, but this new 64-bit mode has made for a lot of extra work for compiler developers as many of the optimizations developed over the years are no longer effective for 64-bit code
Speaking as a compiler writer... no. About the only AArch32-specific optimisations relate to if-conversion (which you can still do with a conditional move, unless they would require a predicated load / store) and prolog / epilog compression (which now you do with load/store pair instead of load/store multiple).
I prefer to call it aarch64 or ARMv8
AArch64 an ARMv8 are not interchangeable. ARMv8.1 is also AArch64, though includes a few nice additions, such as atomic read-modify-write instructions.
I'd be inclined to approach the EFF and ask if they'd cover legal fees. I bet that you could cite that as precedent and claim $150,000 for each YouTube view in between the 48 hours expiring (when the license was terminated) and Sony complying with the license (during which period they were knowingly distributing copyrighted work without a license) as damages. Point out in the court that the defendant has prosecuted cases of the same nature and therefore knows that it is a crime and agrees with the size of the damages being awarded.
I've flagged this problem at a few places that were trying to get more women into STEM subjects, and it's starting to see some traction. The two are closely related, if you believe a study from a few years ago that looked at the origins of fear of mathematics in women. Their conclusion was that it's largely due to three factors:
Girls tend to develop empathy at a younger age.
Most primary school maths teachers are women.
Most primary school maths teachers are not actually maths teachers, they're general education teachers and are not confident at mathematics.
The girls develop empathy at a younger age, but will only empathise with female teachers. If the teacher is confident and female, then they'll pick this up. Similarly, if the teacher is unconfident and female, then they will adopt her fear of mathematics. The boys don't tend to develop similar levels of empathy until after they've already developed an ingrained attitude to mathematics (positive or negative). There are two possible solutions:
Get more men into primary education.
Get more women with strong mathematical skills into primary education.
The former is a lot easier and cheaper than the latter.
There's a difference between doing inspections and requiring sign-off. It's perfectly acceptable not to require regulatory sign-off until the end, but still have people confirming along the way that you're meeting the requirements that the person doing the eventual audit will require.
Might not be a problem. Cite in court the fines that Sony has asked for non-commercial copyright infringement. Say that you're willing to be generous and only ask for the same for their commercial infringement. You should get a few million...
Unless the toaster can also cut the bread and insert it, then there isn't much value in being able to turn it on remotely. There are lots of reasons where it might be nice to have some connectivity though:
If the toaster can detecting when I've finished showering, I can program it so that my toast will pop up when I've showed and dressed.
If my doorbell or telephone rings, then it can pause and resume later, so the toast hasn't had time to cool down before I get to it.
Communication in the other direction would let it notify me in whatever room I'm in when the toast is ready.
It could communicate with the fridge that I was likely to get butter out soon, which would mean that I'd be likely to open the door soon. This would let the fridge postpone running the compressor until afterwards (no point chilling air that's just about to be removed from the fridge).
These are just the ones that come to mind immediately. I'm sure there are other applications.
A poster would be a better analogy. There's a difference between putting up a poster endorsing a candidate in your front garden and on the front of the school. I on case, it's simply the individual endorsing the candidate, in the other it's implicitly the school's endorsement. I'd say that canvasing would count the same way. I wouldn't have a problem with the principle, off school property, talking to voters and asking them to support the candidate of his choice. I would, if he did so wearing a badge saying 'Principle of Liberty Common School', or if his endorsements started with 'Well, as Principle of Liberty Common School, I think that...' He can endorse whoever he wants, but he can't use his position as an appeal to authority when he does so and he can't do it using school resources.
You could probably streamline the entire process a lot by removing all (except for normal planning approval) of the regulation for building the plant and moving it all into the approval for fuelling the plant. If you need to make changes during the building process, that's fine, you can make any changes you want, as long as you pass the safety audit before trying to turn it on.
HL1 had three renderer back ends. A software one, an OpenGL one, and a Direct3D one. The software one omitted a lot of the effects of the others (and supported lower resolutions). If you still have that P166, you can make it use the default (software) OpenGL implementation. I got about 0.3fps when doing that, though with the software implementation it could manage a playable frame rate quite easily. For Quake 2, AMD also released a custom version of the software renderer that used 3DNow and ran a bit faster than the default one on chips that supported these extensions.
The main difference is that the warranty is usually offered by the manufacturer, whereas the Sale of Goods Act governs interaction between people who buy and sell things. It's often easier to get a refund / repair directly from the manufacturer, but this requires a manufacturer warranty. If you don't have one, then you can return it (under the SoGA) to the retailer, they can return it (also under the SoGA) to the wholesaler, who has to return it to the manufacturer. This can take a lot longer. A lot of store-provided extended warranties are a complete scam, because they will charge you for things that the law requires them to provide anyway.
You don't need an explicit warranty anywhere with sensible consumer protection laws. The Sale of Goods Act in the UK (and equivalents in most EU countries) allow you to return the goods for a full refund if they do not meet the promises made at time of sale. I had a battery fail in an Apple laptop after four and a half years, but within the number of charge cycles that their ads claimed. They replaced it (couriered out a replacement that arrived at 9am the day after I called them at 3pm - better service than I've ever had from them for anything under warranty) as soon as I mentioned the Sale of Goods Act.
Google Play also takes a cut. Of course, Google doesn't care because it's just going to a different bit of Google. Antitrust regulators may have a different opinion, as this is a cross-subsidy between business units, where Google is the dominant player in both markets and is attempting to use their influence in one market to affect another.
They should also go back to displaying ads relevant to the content of the page that I'm looking at, not relevant to some crappy model of what I might be interested in in general. I actually clicked on a few ads back when they did this, because I was interested in the thing that they were advertising at exactly the time that they showed me the ad. It's been years since I've seen a Google ad that's been remotely interesting to me.
It amazes me that Google managed to disrupt the ad industry by adding non-intrusive, relevant, ads to pages that people were far more likely to click on than the annoying crap that their competitors were offering, yet now does exactly the same thing as everyone else.
Researchgate also has a "request full paper" button that allows the researcher to respond by sending privately or by uploading.
This is the most annoying thing. ResearchGate is as bad as LinkedIn for spam. I've never signed up to them, but I get 'X has requested a copy of your paper' emails from them every couple of pages. If you type the title of any of the requested papers in a search engine, the PDF will be one of the top links. Some people apparently are too lazy to do this, yet feel that I should bother to do this work for them.
It's called a search engine. Most journals permit the author to put a copy of the paper (sometimes only a preprint, before the journal's formatting is applied) on their own web site. Anything published by the ACM has a nice way of doing this where they even host it. Their author-izer service allows you to generate a link into the ACM digital library that, if the referrer header shows that it came from your web site, will allow anyone to download the paper. Most of the time, if you search for the paper title, you'll find the author's page and be able to find the link. If you can't, it's generally an indication that the paper isn't worth reading.
I don't even license any of the code I release - I just give it away without any license at all
These two are contradictory, unless you live in a jurisdiction where you can explicitly place things in the public domain and you are doing so. Without a license, no one who receives the code has the right to do anything with it.
It would have been, except for one problem: The owners of MIPS (Imagination Technologies) did not own any MIPS64 IP cores. They only had 32-bit cores available to license. All of the 64-bit cores were either developed by third parties, or retained by third parties during the many sales of the MIPS IP. Oh, and they decided to go batshit insane and make a modern ISA with MIPSr6 that reuses opcodes that were defined in MIPS III to MIPSr5 with incompatible definitions (e.g. replacing the branch-likely instructions, which have a delay slot that's only reached if the branch is taken, with compact branches that don't have a delay slot) and claiming that you can do binary translation to work around the differences (but not providing a reference implementation of the binary translation).
It's only easy on most modern ISAs because they have unified integer and address registers. Usually we use the size of an address register and implicitly assume that it's the same as the size of an integer register. This gets a bit confusing in some cases: I played with a highly specialised DSP a few years ago that had 64-bit integer registers but only 256-bit address registers (it was intended for a streaming computation that had very few temporary values, though the addresses were all to 64-bit words [it only had 64-bit load and store instructions], so it could address 2KB of SRAM). Was that an 8-bit processor? Generally, for this kind of thing, the designation just doesn't make sense and it's whatever the marketing folks decide (the same ones who decided that the Pentium was a 64-bit processor because it had 64-bit integer operations).
For a user-space programmer, the ISA is completely hidden by the compiler and the system libraries
There are a few places where it might matter. For example, AArch64 can do atomic operations on pairs of pointers. This is particularly important for some of the RCU code in the Linux kernel, but will be similarly important for some userspace atomic operations. If you're writing a userspace threading library (fairly niche) then the different structure of ucontext_t will be important. It can also be important if you're looking at the ucontext_t that's delivered as an argument to signal handlers (though most signal handling code doesn't do anything with it).
The barrier elision work is based on something that one of my students did. It hasn't yet been applied to AArch64 because the memory model is slightly different and they're working with some of my colleagues on a formal proof that the transforms would be valid, but it will appear there at some point. One of the slightly tricky things with ARMv8.1 is that atomic read-modify-write instructions are sometimes slower than the equivalent load-exclusive, modify, store-exclusive loop, depending on the microarchitecture.
If you're going to define socialism by the fact that the NAZIs and the USSR had socialist in their name, then you also need to define democratic based on the Democratic Republic of Congo. Or you can try using the definitions that you'll find in a politics textbook and then people might be able to have a sensible conversation with you.
The instruction set for ARM64 is a bit more like MIPS than ARM
That's not really true. MIPS has no condition codes, has branch delay slots, has no PC-relative addressing and no complex addressing modes. About the only thing where AArch64 is more like MIPS than AArch32 is in having a non-architectural PC, which is a decision made by most modern architectures as making the PC a possible destination register complicates a lot of things microarchitecturally. A few similarities between AArch32 and AArch64 that are not shared with MIPS:
I don't think it would matter to an end user, but this new 64-bit mode has made for a lot of extra work for compiler developers as many of the optimizations developed over the years are no longer effective for 64-bit code
Speaking as a compiler writer... no. About the only AArch32-specific optimisations relate to if-conversion (which you can still do with a conditional move, unless they would require a predicated load / store) and prolog / epilog compression (which now you do with load/store pair instead of load/store multiple).
I prefer to call it aarch64 or ARMv8
AArch64 an ARMv8 are not interchangeable. ARMv8.1 is also AArch64, though includes a few nice additions, such as atomic read-modify-write instructions.
I'd be inclined to approach the EFF and ask if they'd cover legal fees. I bet that you could cite that as precedent and claim $150,000 for each YouTube view in between the 48 hours expiring (when the license was terminated) and Sony complying with the license (during which period they were knowingly distributing copyrighted work without a license) as damages. Point out in the court that the defendant has prosecuted cases of the same nature and therefore knows that it is a crime and agrees with the size of the damages being awarded.
29556 students took it, with a pass rate of 63.78%,.
So, about $1,000 per student? That doesn't sound too bad, but what's the delta? How many more students did this $30M get to apply / pass?
Ugh. I obviously need more sleep / coffee today.
The girls develop empathy at a younger age, but will only empathise with female teachers. If the teacher is confident and female, then they'll pick this up. Similarly, if the teacher is unconfident and female, then they will adopt her fear of mathematics. The boys don't tend to develop similar levels of empathy until after they've already developed an ingrained attitude to mathematics (positive or negative). There are two possible solutions:
The former is a lot easier and cheaper than the latter.
There's a difference between doing inspections and requiring sign-off. It's perfectly acceptable not to require regulatory sign-off until the end, but still have people confirming along the way that you're meeting the requirements that the person doing the eventual audit will require.
The real question is whether he got the $150,000 for wilful copyright infringement form Sony, that Sony lobbied to have put into law.
Might not be a problem. Cite in court the fines that Sony has asked for non-commercial copyright infringement. Say that you're willing to be generous and only ask for the same for their commercial infringement. You should get a few million...
Communication in the other direction would let it notify me in whatever room I'm in when the toast is ready.
These are just the ones that come to mind immediately. I'm sure there are other applications.
A poster would be a better analogy. There's a difference between putting up a poster endorsing a candidate in your front garden and on the front of the school. I on case, it's simply the individual endorsing the candidate, in the other it's implicitly the school's endorsement. I'd say that canvasing would count the same way. I wouldn't have a problem with the principle, off school property, talking to voters and asking them to support the candidate of his choice. I would, if he did so wearing a badge saying 'Principle of Liberty Common School', or if his endorsements started with 'Well, as Principle of Liberty Common School, I think that...' He can endorse whoever he wants, but he can't use his position as an appeal to authority when he does so and he can't do it using school resources.
You could probably streamline the entire process a lot by removing all (except for normal planning approval) of the regulation for building the plant and moving it all into the approval for fuelling the plant. If you need to make changes during the building process, that's fine, you can make any changes you want, as long as you pass the safety audit before trying to turn it on.
Did you use Markov chains to generate that post?
HL1 had three renderer back ends. A software one, an OpenGL one, and a Direct3D one. The software one omitted a lot of the effects of the others (and supported lower resolutions). If you still have that P166, you can make it use the default (software) OpenGL implementation. I got about 0.3fps when doing that, though with the software implementation it could manage a playable frame rate quite easily. For Quake 2, AMD also released a custom version of the software renderer that used 3DNow and ran a bit faster than the default one on chips that supported these extensions.
The main difference is that the warranty is usually offered by the manufacturer, whereas the Sale of Goods Act governs interaction between people who buy and sell things. It's often easier to get a refund / repair directly from the manufacturer, but this requires a manufacturer warranty. If you don't have one, then you can return it (under the SoGA) to the retailer, they can return it (also under the SoGA) to the wholesaler, who has to return it to the manufacturer. This can take a lot longer. A lot of store-provided extended warranties are a complete scam, because they will charge you for things that the law requires them to provide anyway.
You don't need an explicit warranty anywhere with sensible consumer protection laws. The Sale of Goods Act in the UK (and equivalents in most EU countries) allow you to return the goods for a full refund if they do not meet the promises made at time of sale. I had a battery fail in an Apple laptop after four and a half years, but within the number of charge cycles that their ads claimed. They replaced it (couriered out a replacement that arrived at 9am the day after I called them at 3pm - better service than I've ever had from them for anything under warranty) as soon as I mentioned the Sale of Goods Act.
Google Play also takes a cut. Of course, Google doesn't care because it's just going to a different bit of Google. Antitrust regulators may have a different opinion, as this is a cross-subsidy between business units, where Google is the dominant player in both markets and is attempting to use their influence in one market to affect another.
They should also go back to displaying ads relevant to the content of the page that I'm looking at, not relevant to some crappy model of what I might be interested in in general. I actually clicked on a few ads back when they did this, because I was interested in the thing that they were advertising at exactly the time that they showed me the ad. It's been years since I've seen a Google ad that's been remotely interesting to me.
It amazes me that Google managed to disrupt the ad industry by adding non-intrusive, relevant, ads to pages that people were far more likely to click on than the annoying crap that their competitors were offering, yet now does exactly the same thing as everyone else.
Researchgate also has a "request full paper" button that allows the researcher to respond by sending privately or by uploading.
This is the most annoying thing. ResearchGate is as bad as LinkedIn for spam. I've never signed up to them, but I get 'X has requested a copy of your paper' emails from them every couple of pages. If you type the title of any of the requested papers in a search engine, the PDF will be one of the top links. Some people apparently are too lazy to do this, yet feel that I should bother to do this work for them.
It's called a search engine. Most journals permit the author to put a copy of the paper (sometimes only a preprint, before the journal's formatting is applied) on their own web site. Anything published by the ACM has a nice way of doing this where they even host it. Their author-izer service allows you to generate a link into the ACM digital library that, if the referrer header shows that it came from your web site, will allow anyone to download the paper. Most of the time, if you search for the paper title, you'll find the author's page and be able to find the link. If you can't, it's generally an indication that the paper isn't worth reading.
I don't even license any of the code I release - I just give it away without any license at all
These two are contradictory, unless you live in a jurisdiction where you can explicitly place things in the public domain and you are doing so. Without a license, no one who receives the code has the right to do anything with it.
It plugs into MESA in the same place as LLVMPipe and is entirely userspace. It will probably just work on *BSD.