Asus Prime Z370-P Review
In this review, I talk about the Asus Prime Z370-P in detail and why I believe it's a niche motherboard made for the few Coffee Lake users who only want a pathway into the Z370 Coffee Lake overclocking world.
CPU 8P connectors
Amps on 12v Rail
Type of Sleeving (ATX 24-pin)
Type of Sleeving (Everything Else)
Cost on EVGA's Website
Indy Sleeving Option
JonnyGuru Score (If applicable
JonnyGuru Link (If applicable
K & M w/ Black Sleeving
K & M NONE
From Microsoft's documentation Windows 7, Windows 8 and Windows 10 Telemetry Updates (Diagnostic Tracking).
Under "Microsoft Data Management Service".
Microsoft isn't its own partner. A partner means a 3rd-party. A business agreement with a 3rd-party means a profitable transaction. What Microsoft is saying, in a sterilized PR manner, is that they sell the data they collect through Windows 10 to whoever has the money to pay for it just like Facebook, Google, Amazon, Twitter, do.
A key difference between Microsoft's harvesting of personal data and those other companies' harvesting of personal data, though, is that Microsoft collects data from people's personally-owned OS environments and activities that those individual Windows 10 owners host and pay for the housing, hardware, software, electricity, maintenance of, whereas the other mentioned companies collect data from online services that each of those companies hosts and pays for the housing, hardware, software, electricity, maintenance, of.
From Microsoft's document Configure Windows diagnostic data in your organization, in the "Data use and access" section.
From Microsoft's "privacy statement", in the "Advertising" section.
From Microsoft's "privacy statement", in the "Reasons We Share Personal Data" section.
If Microsoft opts to think of the personal data that Microsoft has harvested through Windows 10 as theirs to sell (a position I think is legally indefensible and amounting to unjust enrichment), then Microsoft would count that data as their assets. And so, a "sale of assets" as a corporate transaction would describe the sale of collected personal and personally-owned (by the individual Windows 10 instance owners the data is harvested from) data for the sake of Microsoft's profit.
Additional thoughts and resources
While Microsoft claims in one case that the data they share with 3rd-party companies has been made anonymous due to aggregation, it should be noted that Microsoft does not claim the data they share is exclusively anonymous. And in some situations, such as sharing data with law enforcement (which Microsoft states they do elsewhere in the "privacy statement"), it would logically not be anonymous. So, Microsoft hasn't given a clear answer as to how much of the data that it shares is anonymous, and how much isn't, and has only offered that some data which they share has been made anonymous.
It should also be remembered that Microsoft originally claimed that all of the data they collect is anonymous to begin with, but the year-long Dutch DPA investigation revealed that claim to be a lie and that all data harvested by Microsoft is attached with identifiers cataloguing it according to the person, the device, the network, and more that it came from, so that all collected data on each person can form a comprehensive virtual profile of that person:
"It turns out that Microsoft’s operating system follows about every step you take on your computer. That results in an intrusive profile of yourself. What does that mean? Do people know about this, do they want this? Microsoft needs to give users a fair opportunity to decide about this themselves." - Wilbert Tomesen, vice-chairman of the Dutch DPA
"In our full report (only available in Dutch unfortunately), we deal extensively with the points of forced install. We also explain why all the telemetry data collected by Microsoft are indeed personal data, and certainly not anonymous, regardless of the view of MS that they would only relate to the system/be 'mere' technical data." - Dutch DPA
For more information about how data collected in Windows 10 is tagged according to the type of account that is logged into a Windows 10 session, see this post:
An incomplete documentation of the minimum data that Microsoft harvests from all devices running a copy of Windows 10 Home or Pro as of version 1803 of Windows 10 can be viewed on Microsoft's website. Microsoft's website documentation of data that's harvested at the "Basic" setting is revealed to be incomplete when comparing the transmitted data reported by Microsoft's Diagnostic Data Viewer to the data that is documented on Microsoft's website.
Microsoft Ad Monetization platform
7 ways Windows 10 pushes ads at you, and how to stop them
Windows 10 isn't an operating system, it's an advertising platform
Most of the bottom half of this post is a paste of a message I sent to Steam support following the seemingly-bullying actions of a Steam Discussions moderator, who falsely claimed that Steam rents / leases games through their service and doesn't sell them, and who couldn't stand anybody telling them they're wrong and likes to lock any threads where people say otherwise.
To be clear, that Steam Discussions moderator's assertion is wrong, and top courts covering a sizeable amount of the world's population have ruled that they're wrong, and Valve themselves have also explicitly stated that they sell, not rent or lease, games to those people who purchase them through their Steam service (I've included that information in the second-half of this post). So, here is...
Software licenses, purchasing and owning software 101:
A license is a right to use a property or intellectual property that belongs to somebody else. When you read "this software is licensed, not sold" in a software EULA, whether it's for Windows 10 or a game or an application, "this software" refers to the software Intellectual Property and not the copy of that intellectual property that you've purchased via a software license. Software licenses and the instances of a software intellectual property that they represent are indeed and obviously sold. Both of the following phrases are simultaneously true: This software (IP) is licensed, not sold; This software (instance / license) is sold, not licensed or leased.
All the mass-produced items you've bought, including your clothing, your vehicles, your TV, your computer hardware, are licensed instances of the intellectual property (IP) for those things. When you purchase any of those things, you aren't purchasing the intellectual property (IP) and so you don't become entitled to mass-produce, to market, to receive profits from the first-sale of any of those things, and you don't gain any ownership of the patents for the patented technology in those things. But you are purchasing a one-off copy of the IP of those things, and upon the point of sale of the instances of those IPs there is a transfer of ownership over those instances and you become the sole owner of that instance of that IP. This is exactly the same with software as it is with physical goods - you own your instance and have full property rights over it.
There are perpetual software licenses and there are subscription software licenses. A perpetual license is non-exhaustive, meaning that the right it grants is eternal, forever-lasting, and never expires. A subscription license is a duration-limited right to access a software or service. All the most common software including games, OSes, and programs are perpetual licenses. Some games that are sold via perpetual licenses, like MMOs, require an additional service subscription to use the base software with a publisher's own servers, with the software not being functional on its own due to the servers handling the game world's AI, and other systems. Steam itself is a subscription service, but the games sold through Steam are perpetual licensed software.
A perpetual license is a product, and whenever a perpetual license is sold it undergoes transfer of ownership upon the point of sale. Whoever owns a perpetual license owns the instance of software it grants a right to use the intellectual property (IP) of. After the transfer of ownership of a perpetual licensed software, the seller of the license no longer holds any rightful say over anything regarding that non-reproduceable instance of software represented by its perpetual license. This legal fact is not always honoured by perpetual license software sellers (for example, Microsoft with Windows 10 automatic updates and data-harvesting) and it can take lawsuits to force software companies to comply with their legal and moral obligations and to respect the property of others and not violate that property, including software, system, and data property.
EULAs are not laws but are subject to laws. And corporations do not possess law-making powers. Many EULAs are not written by legal experts but by people who just see the formats of previous EULAs and make assumptions from seeing those about what the nature of an EULA is, and then just copy and paste the terms they like the sound of from other EULAs. And many EULAs even from large companies like Microsoft (for example, the Windows 10 EULA) contain made-up and non legally-enforceable stuff in them. EULAs are also used to psychologically ward off potential challenges and to provoke the type of customer behaviour a publisher wishes there to be, by claiming and suggesting publisher rights and powers beyond what actually exist.
EULAs are also used as a tool of manipulation to psychologically ward off potential challenges and to provoke the type of customer behaviour a publisher wishes there to be, by claiming, or, by phrasing things (without literally saying them) in a way that suggests publisher rights and powers beyond what actually exist. There are countless examples of this, but one very familiar one is "this software is licensed, not sold", which plays on the semantics of "software". Another example is anything that is followed by a phrase that says to the effect of of 'except where regional law permits otherwise'.
Ownership over a thing is what establishes one's decision-making authority over the thing. To sell something is to relinquish it as one's property and so to relinquish all of one's decision-making authority over that thing and to transfer decision-making authority over that thing to the person who bought the thing. Anything sold via a perpetual (meaning non-exhausting, eternal, lasting-forever) license is a product that becomes the sole possession of whoever purchases it, and upon its purchase all property rights including decision-making authority transfer from the seller to the purchaser. And then the seller no longer has any rightful say over anything regarding that non-reproduceable instance of software represented by its perpetual license.
The European Union's highest court, the Court of Justice, has ruled that software, whether sold via a license and whether physically or digitally-distributed, represents a good rather than a service, and that any purchaser of a perpetually-licensed software becomes the exclusive owner over that instance of the software, just as when they purchase any physical good.
In a 2016 Australian case regarding Valve's refund policy for Steam, Australia's High Court carefully examined whether computer games sold through Steam are goods (and therefore property and consumer rights apply to them) or services (and therefore no property rights or services apply to them), and concluded that they are fully goods, and that Valve doesn't merely sell a license to use the software, but in-fact sells the software itself, and that whoever buys a game from Steam becomes owner of the software that they purchased. Australia's High Court concluded: "Each of Valve’s challenges to the applicability of the Australian Consumer Law fails. The conflict of laws provisions in the Australian Consumer Law did not essentially carve out an exception for conduct by foreign corporations like Valve governed by a different contractual proper law. Valve supplied goods (which are defined as including computer software)."
In Canada, software distributed by all means is legally defined as a good and not a service. The government of Canada's Goods and Services Manual declares as Class 9 goods "all computer programs and software regardless of recording media or means of dissemination, that is, software recorded on magnetic media or downloaded from a remote computer network". As a good, software is therefore a private property that is sold and purchased, and which is owned by its purchasers.
In the USA, there have been some inconsistent lower court rulings on software licenses. But they have not all been in agreement with each other and lower court rulings and don't apply to all of the USA but only to the specific districts that the rulings were made in. A specific matter of software ownership has never gone to the USA's Supreme Court and it's likely that software publishers would prefer that it doesn't, because in all likeliness the verdict will be the same as it was in the EU and in Australia. Because this matter has never gone to the USA's Supreme Court and because regional court verdicts have conflicted with each other in their conclusions, it is baseless for anyone to claim that people in the USA don't own their purchased software.
However, on March 19, 2013, the USA's Supreme Court ruled that people in the USA and elsewhere are entitled to resell their copyrighted goods (which includes purchased software / software licenses) without the copyright-holder's permission, in accordance with the first-sale doctrine which states that a seller retains no decision-making authority over a product once they have sold it to someone else. Therefore, any claim in an EULA that a license is non-transferable between people is deemed invalid in the USA just as it is in Europe.
Here is some excepted content from my message to Steam support proving that games are sold through Steam and not rented or leased, and that Valve has officially accepted in court that they sell games and that the games they sell are the owned property of those who purchase them through Steam, with all property rights for games sold through Steam belonging to Valve's customers and not Valve.
-------------------- start of excerpt --------------------
Here's the message that the Australian court has required Valve to display for 12 months following the loss of Valve's appeal of a ruling against the company concerning Valve's refund policy for Australians:
And here's that message still on the Steam website:
The message presented by Steam says “When you buy video games from Valve Corporation”, which clearly expresses that people buy games from Valve through Steam, and that they don’t rent or lease them.
Here's the full verdict from the Australian court:
The verdict carefully examines whether games sold through Steam are goods and concludes that the games sold through Steam are goods and not services, and that property laws apply to the goods (games) sold through Steam, and that the property rights rest with the purchaser of the games who is not Valve but is whichever of Steam's service subscribers have bought games through Steam.
The European Union's top court has also ruled on the matter for over half a billion people that software licenses are property and goods that are sold and therefore bought, and that property rights over the instances of software that software licenses represent therefore belong to the purchasers of those licenses:
EU Court: When You Buy Software You Own It
The EU court also verified that EULAs are not laws, but are subject to laws. If what a publisher writes in an EULA is unreasonable, it risks invalidating the entire EULA.
EU highest court says software licence terms can be ignored EU Court Says, Yes, You Can Resell Your Software, Even If The Software Company Says You Can't
European Court confirms the right to resell used software licences
Top EU court upholds right to resell downloaded software
A German court has also ruled that games bought through Steam are the properties of those who purchased them through Steam – but also ruled that Valve, being a private company, is not obligated to build into their service design any facilitation for people to transfer their games out of their Steam accounts and into other people’s accounts for the purpose of reselling them.
In the Australian case's verdict, Valve has explicitly accepted that games sold through Steam are goods, and that Steam customers who purchase games through Steam are the sole owners of those games:
“The second issue is whether there was a “supply of goods” by Valve. Valve accepted that if “goods” were provided by it to consumers then the goods had been “supplied” (ts 218).”
“The legal meaning of “goods” can be analogised to the strict definition of “property” which is “a description of a legal relationship with a thing”: Yanner v Eaton  HCA 53; (1999) 201 CLR 351, 365-366  (Gleeson CJ, Gaudron, Kirby, and Hayne JJ describing the word “property”).”
“137 Valve supplied consumers with a good.”
-------------------- end of excerpt --------------------
I hope that all software owners become aware of the fact that they personally own the software they've purchased licenses for and that claims they do not are baseless and urban myth at best, and at worst are deliberate malicious disinformation and corporate propaganda.
A lot of the abuses and software vandalism that software owners have experienced and are currently experiencing at the hands of publishers like Microsoft have only come about because software owners were ignorant and naive of the fact that they do own their software just like you own yours. So, if you want those publisher abuses to stop, then use this information to stamp out misguided disinformation claims of people not owning their software anywhere you see those claims appearing.
Well, that’s not so great.
You might have heard that Apple recently refreshed the MacBook Pros with the new 8th-generation Intel Coffee Lake CPUs, including the top-of-the-line Core i9 8950HK. And you may have also heard that the very same configuration generates so much heat to the point where the MacBook’s chassis and cooling system could simply not handle and resulted in the CPU being unable to maintain base clocks. Obviously, this is quite a big issue and it really begs the question of why Apple decided to offer a $300 option for a better CPU when the chassis and cooling solution may not be up to snuff and can result in performance being worse than the i7 from the 8th and even 7th generation.
But why exactly is fitting such a CPU in a chassis as compact as the MacBook Pro such a risky proposition? It’s a lot to do with space and heat. Let me explain;
To do work, a CPU requires electrical energy, which it receives from the computer’s power supply unit. When it receives electrical energy, the CPU is then able to perform any potential given task, but it also generates heat as a byproduct. The amount of heat generated depends on factors such as workload, utilization, core count, clockspeed and TDP among others, though it is assumed that the higher-end the chip is, the more heat it will generate.
Heat is a form of energy, meaning it cannot be destroyed, only transferred or converted. Heat is transferred in one of 3 ways;
Conduction: Transfer through contact
Convection: Transfer of heat through motion
Radiation: Transfer through electromagnetic rays
We’ll be focusing particularly on radiation for this one.
Most computers utilize active cooling, which utilizes fans and heatsinks alongside heatpipes (higher end solutions use liquid or vapor chambers) to whisk heat away from the processor and uses thermal compound between the cooler and processor to improve conductivity. Some laptops also utilize passive cooling, which uses the chassis to aid in cooling. The MacBook Pro for instance, utilizes a mix of both.
However, herein lies the problem with the MacBook Pro with Core i9 alongside other similarly equipped notebooks with a similar form factor like the refreshed Dell XPS15; space.
While these laptops utilize active cooling, not all of that heat is conducted and whisked away by the cooling system. Some amount will be radiated throughout the chassis. Not much of an issue on big desktop replacements and actual desktops due to their large internal volume but in thin machines, there's far less space to radiate that heat, which is why some machines like the aforementioned MacBook Pro and Razer Blade Pro w/ GTX 1080 have very high surface temperatures. This also translates to higher internal temperatures which increases the potential for the CPU to throttle.
A double whammy for the MacBook Pro and others like the XPS15 is the choice of cooling system. To recap, the Core I9 8950HK is a high-end 6C 12T CPU which has a 2.9GHz base clock but goes up to 4.8GHz when turbo boosted on single-treaded tasks if power and temperature limits allow. The CPU has a 45W TDP but is also known to consume up to 150W of power when in its boosted state. Obviously, that's a very power-hungry CPU and that also translates into a lot of heat, hence why the CPU is usually seen in big, bulky gaming laptops (and many of those struggle to maintain turbo but can maintain base). It's not uncommon for these laptops alongside some 8750H laptops to gain upgraded cooling systems to aid in whisking heat away, such as the refreshed ASUS RoG STRIX GL line which has a significantly upgraded cooling system to accommodate the beefier CPU.
The issue with the MacBook and XPS is that while the cooling system is (barely) adequate to handle a Kaby Lake 4C 8T Core i7 CPU without throttling below base, the cooling solution itself does not appear to have been upgraded for the 6C 12T Coffee Lake parts, especially for the 8950HK. I'm not going to make assumptions here since I probably don't know as much as the engineers who did these, but conventional wisdom would tell me that to handle a CPU that is much more powerful and generates more heat as a consequence, the cooling system should be upgraded to better handle the increased thermal load. Sadly, that doesn't appear to be the case for both the MacBook and XPS especially since the latter has had issues with VRM throttling. It's also worth noting that despite the throttling, the XPS's cooling system is better able to handle the heat load, although the VRM temperatures are still a bit of a concern.
There is one outlier that we haven't talked about yet; liquid metal. In some laptops, applying liquid metal thermal paste can significantly improve temperatures to the point where throttling disappears. The reason why I haven't yet mentioned it is because these laptops are very new and haven't have had LM repasted. There is a chance that LM can improve thermals, but not much info is out there.
Bottom line is this. Thin machines combined with super beefy CPUs will always run into heating issues particularly due to their limited internal volume for better cooling and extra space for heat to radiate. It's one of the reasons why I've kept saying that the whole thinness race should really end if we want these super powerful CPUs to run in laptops without a lot of compromise. The MacBook Pro is already in ultra portable territory when it comes to size and that combined with a power-hungry Core i9 and a cooling system that is unable to keep the fury in check results in a machine that just runs too hot to maintain base.
I don't think an i9 should have been offered in the first place if it was found that it could have throttled to the point of being worse than a last generation product. While I'm all for increased portability, there's a balance to be had and I think Apple (and Dell plus Razer) probably tipped the portability scale a bit too far.
A highly important aspect of owning property, such as your computer hardware, the data on it as well as any data it generates, your Windows operating system, and other software you've purchased, is exclusively being the person that has the authority to make decisions over it, and being able to make the decisions that you know are the best for your situation.
As the European Union and Australia's top courts have ruled, and as even the US Supreme Court has indirectly supported, you own the software that you purchase, and you possess full property rights apply to your personally-owned software (with no comparable court in the world ruling contradictory to the European Union and Australia's top court rulings). The ownership rights that people possess over their software naturally includes full decision-making authority concerning whether their software may become modified or not, such as by updates.
In recent years, ever since the release of Windows 10, Microsoft has shown itself to be struggling to grasp the understanding of these things. Microsoft's efforts to oppose and sabotage Windows and PC system owners' ability to control and stop updates from being installed on their machines and modifying their OSes and storage drives against their wills constitutes a clear violation of property laws and is vandalism of people's computer systems and their personally-owned Windows OSes.
If you'd like more information about your ownership of your software, including Windows 10, and to learn about the nature of software licenses and EULAs, you can check out this link: You legally own the software that you purchase, and any claims otherwise are urban myth or corporate propaganda
Despite Microsoft's ongoing failure to meet its legal obligations to respect Windows owners' rights and property, there are a variety ways to take back control of your OS and make it more secure and reliable by controlling Windows Update. Here are 10 of them:
One method is by using the Group Policy editor. The Group Policy editor is only available in Windows 10 Pro and Enterprise. If you have Home edition, you will have to follow one of the other methods.
Setting the Group Policy editor policy for Automatic Updates to Disabled does the following: "If the status for this policy is set to Disabled, any updates that are available on Windows Update must be downloaded and installed manually. To do this, search for Windows Update using Start."
To Disable the automatic updates group policy:
Step 1 - In the start menu, search for Group Policy, and open the policy editor
Step 2 - Navigate to: Computer Configuration -> Administrative Templates -> Windows Components -> Windows Update
Step 3 - In the folder containing policies for Windows Update, double-click on the policy titled "Configure Automatic Updates"
Step 4 - In the top-left area of the window that pops up, check the box that says Disabled
Step 5 - Press OK to close that window
If you don't want to stop Windows Update from letting you know when new updates are available, but want to stop automatic downloads and installations of updates, then follow this guide:
If following that video guide to stop automatic downloads and installs of Windows updates, then after about 2 months, you might start getting full-screen pop-ups after you boot into the OS saying that updates are available for your OS. There are additional guides online showing how to disable those full-screen pop-ups (which shouldn't be happening in the first place, but Microsoft is not a good company and acts abusively by nature).
Method 2 --- only for older versions of Windows 10 (testing suggests this method doesn't work in Windows 10 1803)
The Windows Update service can be fully disabled by disabling some related services and then disabling the Windows Update service itself. To re-enable Windows Update at a later time, just re-enable these services.
If using Windows 10 1803:
Step 1 - In the start menu, search for and open Services
Step 2 - In the Services window, search for Background Intelligent Transfer Service and open it. Press Stop, and then set the Startup Type to Disabled. Then press OK to close the window.
Step 3 - In the Services window, search for Cryptographic Services and open it. Press Stop, and then set the Startup Type to Disabled. Then press OK to close the window.
Step 4 - In the Services window, search for Windows Update and open it. Press Stop, and then set the Startup Type to Disabled. Then press OK to close the window.
If using Windows 10 1709 and earlier:
Step 1 - In the start menu, search for and open Services
Step 2 - In the Services window, search for Windows Update and open it. Press Stop, and the set the Startup Type to Disabled. Then press OK to close the window.
Here is another Group Policy editor method. If you have Windows 10 Pro or Enterprise, you can run the Group Policy editor (GPEdit.msc) and set the Windows Update Source to a non-existent URL.
Step 1 - In the start menu, search for Group Policy, and open the policy editor
Step 2 - Navigate to: Computer Configuration -> Administrative Templates -> Windows Components -> Windows Update
Step 3 - In the folder containing policies for Windows Update, double-click on the policy titled "Specify Intranet Microsoft update service location"
Step 4 - In the upper-left of the Set the policy to "Enabled"
Step 4 - In the top-left area of the window that pops up, check the box that says Disabled
Step 4 - In the lower-left area of the window, under Options, set the intranet update service address and the intranet statistics server address to a URL that doesn't exist
Step 5 - Press OK to close that window
In Windows 10 1803, Microsoft behaves criminally and vandalizes Windows owners' OSes by re-enabling WU-restarting scheduled tasks and the WU service via a new service titled "Windows Update Medic Service". If "Windows Update Medic Service" could be independently disabled, it would be possible to first disable that service and then disable the Windows Update service and have it stay disabled. However, Microsoft is not an honest and fair player, and doesn't respect their customers nor even treats them as people with legitimate interests and goals concerning their personally-owned OS. So, things aren't quite that straight-forward.
However, they're still somewhat straight-forward, and here are some programs that will block Windows Update and disable the offending Windows Update Medic service:
Block Updates on Windows 10 using StopUpdates10, a 3rd-party tool which disables Windows Update:
Block Updates on Windows 10 using Windows Update Blocker, a 3rd-party tool which disables Windows Update:
Block Updates on Windows 10 using StopWinUpdates, a 3rd-party tool which disables Windows Update:
There is a method to disable Windows Update involving using an offline Windows account (instead of a Microsoft account) described here:
For people not wanting their personal and personally-identifiable data harvested by Microsoft, it is strongly recommended to use a regular, "local" Windows account anyway and not a Microsoft account to log into Windows, as using a Microsoft account significantly increases the amount of personally-identifiable Windows usage data that is harvested by Microsoft.
SimpleWall is a 3rd-party firewall program that has built-in protection rules for Windows Update that can be enabled.
There is a registry tweak to disable Windows Update, which might work for people on Home editions of Windows 10:
- Open the Run command (Win + R), in it type: regedit and press enter
- Navigate to: HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU
- In there create a ‘32-bit DWORD’ value called ‘AuOptions’ and under ‘Value Data’ type 2 and click ‘OK’
- Open the Settings app (Win + I) and navigate to -> Update and Security -> Windows Updates. Click ‘Check for updates’ which applies the new configuration setting
- Restart your PC
Alternatively, you can try this registry edit:
- Key: NoAutoUpdate
- Type: DWORD
- Value: 1
- To enable updates again, remove AU registry key or delete NoAutoUpdate DWORD.
This Microsoft documentation offers alternate registry edits to disable Windows Update:
You can also manually block Windows Update in your router's firewall, or in 3rd-party firewall software such as Comodo Firewall and PeerBlock. An advantage of using this method is that there is nothing that Microsoft can do to over-ride, reset, or ignore the block.
Be aware that adding servers to the Windows hosts file and to the Windows Defender Firewall will not block Microsoft's servers, as Windows 10 is maliciously designed to ignore any instructed blocking of Microsoft's own servers. So, if you're going to block Microsoft's servers in a software firewall, a 3rd-party program such as those mentioned will have to be used.
These are all or some of the Microsoft servers to block in your router's firewall or 3rd-party firewall software to block Windows Update:
That list was last updated in 2015, so there could be some servers to add to it. There is an updated list of Microsoft's data-harvesting servers to block, and a hosts file with Microsoft's data-harvesting servers already included in it, here:
There might be an updated list of Microsoft's Windows Update servers on that site, too.
You can turn off your Windows 10 OS' connection to Microsoft's Windows Update server.
"Used to download operating system patches and updates. If you turn off traffic for these endpoints, the device will not be able to download updates for the operating system."
Source process: svchost
For more information on that approach, see this link: https://mspoweruser.com/these-are-the-websites-your-clean-install-windows-pc-connects-to-by-itself/
Remove the files for all Windows 10 services that violate the commands of the system and Windows OS owner.
As of Windows 10 1803, the three offending Windows 10 services are:
- Windows Update (wuauserv)
- Windows Update Medic Service (WaaSMedic)
- Update Orchestrator Service (UsoSvc)
Background Intelligent Transfer Service (BITS), which might be thought of as also being involved, reportedly doesn't have any influence over the Windows 10 updates regime.
The files to be removed to stop the 3 offending services are all in the directory Windows\System32, and are the following files:
wusa.exe - windows update stand alone installer
wuapi.dll - windows update
wuaueng.dll - windows update
wuauclt.exe - old windows update
UsoClient.exe - update orchestrator
usoapi.dll - update orchestrator
usocore.dll - update orchestrator
WaaSMedicAssessment.dll - new medic service
WaaSMedicSvc.dll - new medic service
WaaSMedicPL.dll - new medic service
One Windows owner has reported that removing these files has fixed the Windows Update service from re-starting without authorization, without any detrimental effects on the rest of their system's operation. I haven't tried this method myself, and if anyone wants to add their feedback after trying it, please do.
Old bonus info:
In Windows 10 version 1803 and onward, the "Windows Update Medic Service" keep re-starting Windows Update and related scheduled tasks and re-creates Windows Update related scheduled tasks even after a person manually stops them, disables them, and removes the scheduled tasks. You could find another way to disable Windows Update Medic Service, which otherwise keeps re-starting Windows Update, and then disable Windows Update and any associated scheduled tasks.
One way to disable Windows Update Medic Service might be to disable Remote Procedure Call, which is what starts Windows Update Medic Service: http://batcmd.com/windows/10/services/rpcss/
Or by deleting the file "WaaSMedicSvc.dll" that's in the %WinDir%\System32 folder or possibly replacing it with another file and setting its permissions to "read only".
There is some information on disabling Windows Update medic Service and preventing it from re-enabling on this page: https://www.sordum.org/9470/windows-update-blocker-v1-1/
People should be aware that the reason why Microsoft tries to prevent Windows Update from being disabled is not due to security of your PC (if that was Microsoft's goal there would be a security-only updates setting, and it would be truly security-only), or making things easier for Microsoft's support efforts (which are dedicated from the outset of a new Windows release to run for a certain time-frame, and can't be reduced otherwise Microsoft would be guilty of false advertising), but is to provide Microsoft as many opportunities as possible to reset your Windows and default programs settings, as well as your data-harvesting settings, all back to the Microsoft defaults where Microsoft is able to harvest as much personal and personally-identifiable data about you as possible, while having lots of opportunities to add more data-harvesting to your OS.
And at the "Basic" setting, which is the most minimal data-harvesting setting in Windows 10 Home and Pro versions, Microsoft is continuously harvesting your personal and personally-identifiable data from over 3,500 individual data points. Altogether, that data forms a meticulous and comprehensive picture of all your activities in your Windows OS.
Also, Microsoft's documentation on the volume of data they are harvesting at the Basic setting is incomplete, as watching Microsoft's Diagnostic Data Viewer tool on the transmitted data reveals transmitted data containers that can't be referenced in Microsoft's documentation.
Selling your personal and personally-identifiable data is a big part of Microsoft's business model now - despite that it is actually illegal for Microsoft to do it because Windows 10 is legally and factually a product (which you own) and not a service (which you merely access). So, Microsoft harvesting your data is analogous to a thief entering your home, taking your possessions, and selling them for profit. This activity by Microsoft, where they commercialize Windows owners' PCs without a license, constitutes the indictable crime of unjust enrichment.
Another major reason why Microsoft wants to force Windows updates on people's personal Windows OSes is because the large bi-annual Windows 10 updates grant Microsoft frequent opportunity to deliberately break any 3rd-party UI customization software twice a year.
Microsoft does this because any 3rd-party UI customization software stops Microsoft's own UI systems from harvesting your personal and personally-identifiable data. Since Microsoft wants to steal as much of that data from you as possible so that Microsoft can then sell it for their unjust enrichment, Microsoft seeks for chances to break your custom software, and typically does so with each major update when Microsoft resets your Windows, program defaults, and data-privacy settings at the same time.
Trying to reason with Microsoft is like talking to a deranged psychopath who doesn't care about you in the least and who is only looking to exploit you as though you are not even human, and expecting them to see common sense and express empathy. Microsoft seeks to dominate and harvest, and not to serve and take into account its customers' needs and interests. Under Satya Nadella, Microsoft views its customers as its enemies to be defeated.
I hope this help many people regain their rightful control control of their operating system and to have a much more comfortable and stress-free experience in their own OS.
Koala Gene Promises Chlamydia Treatment
So a lot of you may have seen the news recently on a group of Australian scientists decoding the genome of the Koalas, which is a fairly large 26,000 genes. To put that in perspective Homo Sapiens has around 28,000 genes and one of the most studies model organisms, which are organisms we use instead of humans, is Bakers Yeast (Saccharomyces cerevisae) has around 5300 to 5400 genes. I should probably add to this, and if you are looking at this blog you may be familiar that many regulatory genes of yeast are orthologs with human genes - and in most instances processes controlled by one gene may be controlled by two in humans. This is taken in instance with the NPR2 gene, which has a well known role in autophagy and has the human ortholog NPRL2 - and coincidentally is also a Tumour Suppressor gene as C6 in Koalas. So C6 as a gene may have many orthologs in humans and so we could potentially unlock more than one target for cancer treatment.
The gene in quesiton in Koalas, is activated in infants in the womb and early development of koalas. We have a gene that up-regulates immune response as part of the complement system (For those not so informed the complement system is part of our antibodies and these molecules float around in our bloodstream and activate during different responses, for instance the IgE antibody activates mast cells to provide a histamine response to cause inflammation). So in this case the C6 gene is a precursor for this complement system and helps gain an innate immune response.
Unlocking the aspect of the C6 gene in the Koala genome and activating the gene throughout adulthood may provide an aspect for treating the Chlamydia epidemic. This is just the start for the five-year project in decoding the Koala genome. The main direction of the Koala genome project is to find out how Koalas are able to eat the Eukalyptus leaves, which are fairly common in Australia but only Koalas are able to digest the leaves. As Chlamydia is a large problem for Koalas, and the only treatment available at the moment is Antibiotics - which due to their unique metabolism are very hard to get an accurate dose, you have to give them a large dose, but at the same time it's hard on their microbiota.
I'm looking forward to seeing the results of this and hope to lend a hand to their work. I'll follow it very closely.
This post contains an analysis of the v2 G-Sync module's features and behavior. This analysis was performed with a Dell S2417DG, but is not intended to be a review of the monitor itself.
Input / Output
This G-Sync module supports a single DisplayPort 1.2 input and a single HDMI 1.4 input. G-Sync is only supported over DisplayPort.
This monitor supports up to 165 Hz at 2560×1440 through DisplayPort. The timing parameters used by this monitor can be viewed here: https://linustechtips.com/main/gallery/album/4127-dell-s2417dg-edid-and-timing-parameters/
The DisplayPort EDID on this monitor reports a vertical frequency range of 30–165 Hz and a maximum bandwidth of 19.2 Gbit/s (640 Mpx/s with 8 bpc RGB color), just enough for the maximum format (2560×1440 @ 165 Hz 8 bpc RGB), which operates at a pixel rate of 635 Mpx/s, requiring 19.07 Gbit/s of bandwidth (about 88% of the 21.6 Gbit/s provided by the DisplayPort 1.2 interface).
The HDMI EDID reports a vertical frequency range of 24–60 Hz, and a maximum bandwidth of 9.0 Gbit/s (300 Mpx/s with 8 bpc RGB color). This indicates support for around 83% of the 10.2 Gbit/s limit specified by the HDMI 1.4 standard. The maximum format (2560×1440 @ 60 Hz 8 bpc RGB) uses standard CVT-RB timings by default, for a pixel rate of 241.5 Mpx/s and 7.24 Gbit/s bandwidth consumed, about 80% of the monitor's reported maximum.
Unfortunately, the G-Sync module carries the same behavioral flaws that other DisplayPort monitors have. When the monitor is powered down, the operating system considers the display disconnected, and will re-shuffle application windows and icons to the remaining screens. However, this particular monitor has a "Power Saving" option which, when disabled, prevents this behavior. When "Power Saving" is off, the monitor can be powered down without disconnecting from the operating system, and applications will not be moved around. I don't know whether other G-Sync monitors have a similar menu option.
This behavior does not occur with DVI or HDMI (in general, but also including the HDMI port on the G-Sync module), since DVI and HDMI supply a small amount of power from the source to read the sink EDID of the connected device even when it is powered down, which allows the operating system to still recognize the display. DisplayPort does not allow power to be transmitted from source to sink, as the DP_PWR pin is only intended for use by attached devices (such as adapters). Presumably, when the "Power Saving" option on this monitor is disabled, the monitor keeps its internal control chip powered up to some extent even when the monitor is off.
The HDMI port on the v2 G-Sync module has a flat 60 Hz limit regardless of resolution or bandwidth. While many 144 Hz monitors (particularly older ones) are limited to 60 Hz at full resolution over HDMI, this is usually due to a simple bandwidth limit of the hardware.
For example, in older 1080p 144 Hz monitors like the ASUS VG248QE, the manufacturers chose to implement HDMI controllers that were only capable of up to ≈210 Mpx/s, enough for only 60 Hz at 1080p (with an absolute upper limit of around 85 Hz at 1080p if the user sets custom resolutions). 100+ Hz at 1080p over HDMI was simply not possible on these monitors. However, since it was only a matter of limited bandwidth, higher refresh rates over HDMI could at least be achieved at lower resolutions. Usually something like 720p (which has less than half as many pixels as 1080p) would be enough to get 120 Hz.
However, the G-Sync module seems to have a software restriction which actually enforces a strict 60 Hz limit over HDMI at all resolutions, regardless of bandwidth. The monitor does work at up to 60 Hz at 2560×1440 over HDMI, so it supports at least that much bandwidth, but when attempting higher refresh rates at a lower resolution such as 1080p 120 Hz, 100 Hz, and even 75 Hz, it only results in a black screen despite the fact that 1080p 100 Hz and 75 Hz use less bandwidth than 1440p 60 Hz.
This limitation is not due to GPU scaling as one might suspect (which would scale the image to 1440p prior to transmitting it across the cable, which would mean the transmitted video is always 1440p no matter what resolution is selected, and would therefore be subject to the monitor's maximum refresh frequency for 1440p video, which is 60 Hz when connected via HDMI). Although display-side scaling is not supported over DisplayPort for some mysterious reason, display scaling is supported over HDMI and I made sure it was set when I tested >60 Hz formats.
This is an unfortunate and seemingly needless software restriction.
Can AMD graphics cards run a G-Sync monitor at full refresh rate?
There has been some concern in the past as to whether G-Sync monitors will be limited to 60 Hz when using AMD graphics cards. Unsurprisingly, there are not very many people with the means to test this, as most people with G-Sync monitors don't have AMD graphics cards laying around or vice versa, and there don't seem to be any reviewers who have seen any reason to test it either (at least to my knowledge).
Fortunately, I have an AMD RX 480 on hand, so I have tested it and found that this monitor (the Dell S2417DG) works perfectly fine up to its maximum overclock of 1440p 165 Hz on AMD cards. G-Sync, of course, is not supported, but there does not appear to be any restriction requiring you to have an NVIDIA graphics card to achieve the full resolution and refresh rate of a G-Sync monitor.
G-Sync behavior at low frame rates
G-Sync operates from 0 Hz to the maximum refresh rate of the monitor (in this case, 0–165 Hz). Some people are under the impression that G-Sync has a "minimum range" below which it does not operate, such as 30–165 Hz. This is untrue, and comes from people incorrectly assuming that G-Sync stops operating once the framerate drops below the monitor's physical operating limits. Although monitors do have a minimum refresh frequency, usually around 24–30 Hz, G-Sync does continue to operate below the monitor's physical limit by duplicating frames. This technique is visually indistinguishable from single long frames, so there are no disadvantages caused by this behavior. Using this technique, G-Sync can operate at any framerate below the monitor's maximum refresh frequency, even at extremely low framerates.
I demonstrate this on the S2417DG here, where you can see G-Sync continuing to operate at around 18.5 FPS:
Does G-Sync work through a DisplayPort daisy-chain?
No. I tested this monitor daisy-chained from a Dell U2414H. The S2417DG was recognized, and worked at up to 1440p 120 Hz (higher refresh rates are not available since it exceeds the bandwidth limitations of DP 1.2 when combined with the 1080p 60 Hz U2414H). However, it was not recognized as a G-Sync monitor, and the G-Sync (and ULMB) options were missing from the NVIDIA control panel.
Does G-Sync work through a DisplayPort MST hub?
No. I tested this monitor through an Accell K088B-004B two-port DisplayPort 1.2 MST hub. The S2417DG was recognized, and worked at up to 1440p 165 Hz. However, it was not recognized as a G-Sync monitor, and the G-Sync (and ULMB) options were missing from the NVIDIA control panel.
ULMB (Ultra-Low Motion Blur) is NVIDIA's implementation of backlight strobing built in to G-Sync monitors. Backlight strobing is a form of reducing perceived motion blur by eliminating the "sample-and-hold" behavior of LCDs. It makes the screen behave in a manner more similar to CRTs, where the image fades to black shortly after it is drawn. This changes the way that the human eye tracks motion, resulting in less perceived motion blur. Backlight strobing does reduce the maximum brightness of the monitor significantly, since the monitor only spends a fraction of the time illuminated, which reduces the total light output of the monitor.
Similar to PWM brightness control, backlight strobing can cause noticeable flickering if the strobing is done at low frequencies. Usually 85 Hz is the recommended minimum for strobing, which is why 85 Hz was a standard refresh frequency in the days of CRTs, where it seems most people stop noticing flickering at or above that level.
PWM brightness control does not achieve the same effect as backlight strobing because the pulses are not synchronized with the monitor's refresh operations, and PWM brightness control usually operates at a much higher frequency than backlight strobing does.
NVIDIA's backlight strobing implementation, ULMB, is only available at 85 Hz, 100 Hz, and 120 Hz. It cannot be activated at other refresh frequenies. ULMB uses single strobes, so at 85 Hz refresh rate, the backlight strobes at 85 Hz, and so forth.
For technical reasons, ULMB is not compatible with variable refresh technologies like G-Sync. The user must choose between either ULMB or G-Sync, they cannot be used at the same time.
Relationship between ULMB Pulse Width setting and actual pulse width
Monitors often give settings in unitless quantities. The most universal example of this is the "brightness" setting, which most monitors allow you to adjust between "0" and "100", but with no indication of what these numbers actually represent, other than arbitrary relative values.
Since these settings usually go between 0 and 100, many people use the term "percent" when discussing these settings (i.e. "I set the monitor to 50% brightness"). However, some people will recognize that these numbers do not actually represent a percentage of the maximum setting, otherwise a brightness setting of "0" would leave the monitor completely dark. This being the case, a brightness setting of 50 is not actually half as bright as the 100 setting and so forth; in reality, the setting follows an arbitrary (and in some cases, non-linear) scale which differs from display to display, so it can be informative to measure the actual values of these types of settings.
In this case, the subject of discussion is the ULMB pulse width setting. Naturally, the "100" setting does not equate to a 100% pulse width (which would mean no strobing at all), so I decided to measure the strobe at various settings to determine the actual pulse width, and to see how it reacts when the setting is adjusted. Since ULMB is available at three different refresh frequencies, I performed the tests on all three to see if that affected the behavior too.
The ULMB Pulse Width setting does behave differently at different refresh rates; neither the pulse width nor the duty cycle remains the same. The setting is variable between "10" and "100", in increments of 1. The pulse width responds linearly to the setting, meaning that each decrease of 1 in the setting decreases the pulse width by the same amount every time. When set to 100, the pulse width is twice as long as when set to 50, and ten times as long as when set to 10.
Pulse width is often represented in terms of the duty cycle, which is the pulse width as a percentage of the total period. For example, at 100 Hz a single period would be ¹⁄₁₀₀ seconds or 10 ms. A duty cycle of 20% would mean 20% of that period (2 ms) would be spent with the backlight active, and the remaining 80% (8 ms) would be spent off.
At 120 Hz, the pulse width was configurable between 2.22% (185 µs) at pulse width setting "10", and 22.1% (1.84 ms) at pulse width setting "100".
At 100 Hz, the pulse width was configurable between 2.44% (244 µs) at "10", and 24.1% (2.41 ms) at "100".
At 85 Hz, the pulse width was configurable between 3.03% (356 µs) at "10" and 30.1% (3.55 ms) at "100".
Actual measurements at every interval of 10 may be viewed here: https://linustechtips.com/main/gallery/album/4129-dell-s2417dg-ulmb-pulse-width-measurements/
Brightness reduction when using ULMB
Lowering the strobe duty cycle will reduce the total light output of the monitor, which reduces the overall brightness. Brightness is directly proportional to strobe duty cycle; cutting the duty cycle in half will cut the brightness in half. Since the duty cycle scales linearly with the monitor's ULMB Pulse Width setting, the brightness will also scale linearly with it.
Since the monitor uses DC brightness control, it has a "100% duty cycle" when not in ULMB mode. Activating ULMB will reduce the brightness significantly from the monitor's maximum, since the duty cycle will drop to 30% or less. This is not as much of a problem as it might sound, since the monitor has a powerful backlight capable of excessively high brightness (well over 400 cd/m2), presumably for this exact reason. Even 20% of maximum brightness will be enough for most users, and most people will not have the brightness set anywhere near maximum in normal mode. The monitor also keeps separate brightness settings when switching between normal and ULMB mode.
Can ULMB be used with AMD graphics cards?
No. The ULMB settings in the monitor's internal menu are greyed out in any situation where the monitor isn't recognized as a G-Sync monitor, including when the monitor is attached to an AMD graphics card. ULMB must be enabled through the NVIDIA control panel, and the monitor will not show up in the NVIDIA control panel unless the monitor is plugged into an NVIDIA graphics card.
Does ULMB work through a DisplayPort daisy-chain?
No. I tested this monitor daisy-chained from a Dell U2414H. The S2417DG was recognized, and worked at up to 1440p 120 Hz (higher refresh rates are not available since it exceeds the bandwidth limitations of DP 1.2 when combined with the 1080p 60 Hz U2414H). However, it was not recognized as a G-Sync monitor, and the G-Sync (and ULMB) options were missing from the NVIDIA control panel. The ULMB settings were also greyed out in the monitor's internal menu.
Does ULMB work through a DisplayPort MST hub?
No. I tested this monitor through an Accell K088B-004B two-port DisplayPort 1.2 MST hub. The S2417DG was recognized, and worked at up to 1440p 165 Hz. However, it was not recognized as a G-Sync monitor, and the G-Sync (and ULMB) options were missing from the NVIDIA control panel. The ULMB settings were also greyed out in the monitor's internal menu.
Just looked at my new shift at Amazon, and am thinking about applying to either Lowe's or Home Depot for a better shift (with possibly better pay). This would be nice, since those companies might be more flexible with shift hours than Amazon, and that would definitely help with being able to keep a job during the school year. I really would like to have stable income during the year, and leaving Amazon would kinda kill that. If I could get a higher hourly rate from a different company (higher than 12.50 USD/hour), that would also really be beneficial to any future projects I might have. So, I'm looking for a second job, that could (in time) possibly overtake my current job. Risky, but could be rewarding if I pull this off right during the Summer (non-School) months I have left. Gotta send in a few applications to see what happens if I decide to go through with this. Time to see if anyone's still hiring college students in mid-Summer...
On a side-note, the GPU purchase will have to wait until I've saved enough. I get ~100 USD/per week from Amazon (after taxes and other school-based deductions). Another reason to possibly switch jobs.
Sorry it wasn't done yesterday as promised, there were a few things I needed to confirm before I could post it!
Sorry for the sounds of the bike at around 3:50, window was open and this was the third attempt at recording!
Cancer Research: https://fundraise.cancerresearchuk.org/page/adams-5k-run-to-beat-cancer
Facebook Page: https://www.facebook.com/adamcarderhealthandfitness/
So I went and had my weigh in day today I've lost 7 lbs and gained 4.2% muscle mass, so it works out I've lost about 12lbs! That's a better result than I hoped for! So proud of my self! I will have another announcement tomorrow for you all
Today, I was able to fly in both the morning and afternoon.
Our morning flight was delayed by an hour due to fog/mist however it did clear and thus we were able to fly. We did 7 circuits however they were all low passes. Circuits were suprsingly less demanding that I had expected.
In the afternoon flight, I did my first landing! We did 3 touch n go before we exited the circuit to go over what to do in an engine failure. We then came back to do a shortfield landing.
My first (ever) touch n go was slightly rough but it got better on the two touch n go afterward. For the shortfield landing, I was coming in a little too low, increased the throttle too much and lets just say that it was an incredibly hard landing however as saying goes, "if its a landing that you can walk away, its a good landing"...
With today completed, this means that I can now do everything from startup to shutdown, as long as we ignore navigation and emergencies.
So, it's been a while since I posted, I am still going to the gym, eating healthy and still feeling positive about myself! I went to my first class on Sunday, it was supposed to be 1 hour but I only lasted 30 mins, I knackered myself out and it has hurt for a couple of days, but I'm still continuing! No pain No Gain as they say. I will have my first weight check since starting on Thursday I will keep you all posted
Please comment if you like my blog posts or if you have any suggestions!
Thanks for reading again as always.
Hehe, I did the take off first time today! (did it for the second flight as well). First time was on a grass strip and the second time was on tarmac. To be honest, taking off on grass was probably easier as although its more bumpy and whatnot, it requires a lot less tweaking for it to go straight, meaning when you first select full-thrust for take off, you don't even have to kick the rudder right. Deliberately stalled today as well. Went over how to recover from a clean stall without using the engine and with the engine, while the are flaps down, while the engine is not idling (unlike clean stall) ect.
I had a different instructor for my first flight (scheduled to have the same instructor until I finish). This had shown me how 2 instructors cared about very different things. One cares about keeping the altitude and heading very much while the other one cannot care less about it however, he cares about how you should be constantly trimming, doing HASELL/HELL every time you do a maneuver ect.
I guess in the best case scenario, having both instructors would actually be best. Regardless of what other people say about "one flight instructor is best", although its true that it massively helps with progress, only having one means that what you end up doing is you may end up picking up potentially bad habits (or at least undesirable habits). However, if you had more than one (and they have completely different priorities), they would cancel each other out.
Talking about the takeoffs and runways, there are three, one grass and two tarmac.
As the three runways are oriented in a triangle, it does mean unless the winds are constantly over 20kts, as long as visibility and cloudbase is all fine, we can always take off. This does mean I've taken off in 15kts~ winds and done training in 20kts+ winds (with the instructor landing with a 20kts~ headwind ). Of course, I prefer to train in calmer weather (as the constant gusts makes trimming unnecessarily difficult) but to be fair, if you can fly in bumpy weather, you can fly in nice n calm weather whereas you may not be able to if its the other way round so I can't complain.
Sorry if its a little hard to follow. This is just a bunch of thoughts plastered onto a post so I guess its hard for me to organise it logically. Ah wells.
So what's occurred so far?
First day (11th June):
Due to bad weather, first lesson was cancelled.
The second lesson became how to do the pre-flight checks.
Weather was still a little nasty so my instructor did ground school on "the effects of control" (Note: she technically isn't supposed to do ground school with meh as its an "extra").
For the second lesson, the weather finally cleared up enough for me to do my familiarisation flight.
Today was the day I also went to get my class two medical, found out that I may potentially have a heart problem (murmur and ECG didn't come back clean) so I've got to see a cardiologist. F*ck.
Met my instructor (who would be doing the vast majority of my training) today.
Was able to fly for both lessons. Nothing noteworthy really.
Due to high school ball, I only flew during the morning. Nothing noteworthy.
Flew both in the morning and afternoon. Nothing noteworthy to report.
Flew in the morning however due to the bad weather in the afternoon, flight was cancelled .
Flew both in the morning and afternoon however due to time conflicts with another student, there was a 4 hours gap between my morning and afternoon flight. Considering I live 1.2 hours~ away from the airport, I couldn't really go home.
Yeah, that's about it. Up to this point I have roughly 7 hours of flight time.
Had my first Cardio session today, 25 minutes on the treadmill (pace walk at 4.2mph), 20 minutes on Cross trainer and 10 minutes on the bike, take into account the 10 minute walk there and back again, not a bad work out
Last night for dinner we had a prawn salad along with a fruit salad for pudding, both home made
Still feeling positive even though my body aches like hell!
Had my induction today at the gym, feel absolutely knackered but well worth it, i was also weighed and measured, they are:
Weight: 23st 8lb | Chest: 55" | Waist: 60" | Arm: 15" | Leg: 23" | Hips: 57"
I will be attending the gym three days a week, the workout given to me are as follows:
10 minute cardio warm up followed by a High-intensity interval training session:
Kettlebell Squats | Kettlebell Swings | Battle Ropes | Star Jumps | High Knees | Ladder | Steps
You do each one for 30 seconds then have a 10 second break, at the end you have a 2 minute break then do it again 3 more times, so 4 times in total.
Then 10 minutes cool down on the cardio machines again
2nd Day: 45mins-1hr on cardio machines
3rd Day same as Day 1
My aim is to get to 17st!
When you install an application using some install process, you'd think a lot is going on in the background aside from copying files to the install location. But for the most part, that's all it's really doing. Depending on how the application was designed and programmed, it'll be looking for files or libraries in certain places. So if said files or libraries don't already exist, the installer is making sure they get put in the right place. The only other thing that happens is to write some entry in the application manager that this application exists how to uninstall it. All uninstalling then is it's the reverse of this process. However, the uninstaller may not remove everything the installer put on, because some of those files may be libraries that other applications might use. An example of this is if the installer put on a version of Microsoft's Visual C++ runtime. The actual app uninstaller won't remove that because it's a library.
On that note, if all of the support files for the application are in place and anything extra it needs comes with the application, then there's really no need to "install" it. The application won't care it's not in the application manager nor will the OS (unless it's locked down for some reason).
( I need a name for blog posts like these, but all the good ones are taken )
While I don't think it's often brought up, an idea might come about that when using multiple video cards, such as in SLI or Crossfire, their VRAM combines. So if you have two 8GB cards, you effectively get the same thing as a 16GB card. However, this isn't the case. You might be asking... but why? If these setups combine GPU power, how come VRAM doesn't combine?
On a broader view, the video cards are given the same data so that they can work on the same thing. After all, they're generating frames from the same scene in the application. But wouldn't it be cool if you weren't limited to just the amount of VRAM on the card and expand beyond it? There's just a few problems with it:
How is the data going to be transferred? If we look at PCI Express, it's a relatively slow interface compared to VRAM. PCIe 3.0 x16 caps at about 15.75 GB/s. NVIDIA's Titan V's VRAM has a bandwidth of a mind boggling 652 GB/s (imagine having that for your internet speed). So transferring data to and from cards would be an incredibly slow affair that would introduce stalls. To put in perspective, this speed difference is larger than that between SATA SSDs and DDR4-2133
VRAM works basically like a huge RAID-0 system. That is, each chip only has a fraction of the bandwidth of the card and it's the combined total of all of the chips performing that gives the bandwidth. So in order to transfer the data as fast as necessary to other cards, you would need a huge number of lines. I don't think connecting say 200 pin cables would be fun (nor would manufacturing them)
Data transfers would have to be over a parallel bus. I've talked about this in some detail why high-speed parallel buses for usage outside of relatively short ranges stopped being a thing. But aside from the bulky cabling, there's also the issue of signal timing. It's going to be very hard to ensure that all the bits of a 7GHz signal will reach its destination at the same time, even if it's only say six inches end to end.
A similar issue exists in systems with multiple physical processors. Though in this case, since all of the interconnects are on the motherboard itself, there's little issue with either making a huge cable or signal propagation. However, even in such cases, the system has to be aware of how to schedule tasks. As there's still a significant amount of latency accessing another processor's memory, some tasks will perform worse if scheduling considerations aren't taken into account.
It’s official. NVIDIA’s GeForce Partner Program has been killed off by NVIDIA after weeks of controversy surrounding the potential implications, not helped by the news that ASUS launched the AREZ line as their new home for formerly RoG-branded products which utilized Radeon GPUs.
In a blog post, NVIDIA had the following to say;
If you’re like some of the other guys on here, you may be cringing a bit at the statement, especially the part where it was implied that the purpose of the GPP was to ensure that gamers who want NVIDIA tech know what they’re getting (which is contradicted with the fact that the boxes already do the job more than well enough). Well, don’t feel too awkward because this is pretty much a typical damage-control type of PR statement aimed to reduce whatever damage the controversy had done to NVIDIA’s image.
If you need a refresher, the GeForce Partner Program is a program for AIBs which grants them first-level access to new tech from NVIDIA along with advice from engineers along with free publicity. NVIDIA states that it is not compulsory to join the program though it would be fair to assume that companies may lose out on competitiveness if they do not join versus those that have joined. However, one unmentioned portion (and one that has been controversial) is that when part of the program, the respective company’s core gaming brand must be exclusively aligned towards GeForce GPUs, meaning that if for instance, ASUS joined the GPP (which they did), that would mean that their core gaming brand, the Republic of Gamers, would need to have their GPU-line be GeForce-exclusive, which also means that the Radeon cards would need to have the RoG branding stripped and branded as something else.
This has several implications, chief among which is that this places AMD and other potential competitors in a further uncompetitive position in the mainstream sector due to the general Tom, Dick and Harry’s tendency to pick parts based on brand rather than based on the actual product. A customer who isn’t tech-savvy would definitely know “Republic of Gamers” but “AREZ” may be relatively unknown to them. NVIDIA’s cancellation of the GPP has a lot to do with this controversy but even though the GPP is dead, the damage is already done.
Many of the rival offerings have already had their gaming brands from their respective companies stripped and either placed in a lower, “non-gaming” tier or placed in a new brand that has been created due to the GPP (such as the aforementioned AREZ lineup from ASUS). The death of the GPP does not necessarily mean that companies will immediately start to put the Radeon GPUs back into their gaming lineup as rebranding isn’t as simple and requires a bit of resources to make it work, especially when trying to build it up again. Plus, there’s no reason to doubt that NVIDIA may try something similar in the future, albeit in a more subtle manner.
While the effects of the GPP wouldn’t affect the product that you and I enthusiasts end up getting since the basic product is the same with a different brand, competition is important in the industry and what NVIDIA has done shouldn’t be overlooked. The GPP may be dead but its effects linger on.
With yet another security bug found on processors, one has to think how anyone would've let this through for this long. People would like to think there's incompetent engineering out there and while sure, they exist, what people also don't see are the designs that even you would agree with all of the knowledge and experience in the world that seems sound without experiencing it in the real world. So I have an example of such. This one I love to share, partly because pride (I was a junior developer who found a bug in senior developer designed code, showing that even people with 5-10 years experience can make mistakes), partly because this illustrates the point well.
A description of the system
I was working on a system that comprised of a main controller unit and several wireless sensors. We had a rule with wireless communication in that we had to assume it's unreliable, even if 99.9999% of the time it appears reliable. This required that if a device transmits something, the recipient had to acknowledge it, or send an ACK. If the transmitter doesn't receive an ACK within some time, it'll retry sending the message. If three retries happened, then the device gives up on sending the message.
To handle this in software, we used a state machine. I forget the exact details, but this is what it looks like more or less on the transmitter side.
This particular style of state machine is called a hierarchical state machine. The lines with arrows represent state transition with the event that triggers it.
The default state is "Tx Idle"
When it gets a "send message" trigger, it transitions to the "Tx Busy" state.
After the message is sent, it goes to the "Waiting for ACK" state.
This is a sub-state of the "Tx Busy" state because until the last request has been ACK'd, the transmitter won't transmit another message.
If another message request comes in while in the "Tx Busy" state or its substates, it gets queued.
If an ACK wasn't received in time, it moves up to the "Tx Busy" state again as the message is sent again.
If an ACK was received or the message was retried enough times, it goes back to the "Tx Idle" state.
If the system needs to send an ACK for any reason, the system immediately moves to the "Tx Busy" state.
I forget the exact detail of this mechanism, but sending an ACK basically had priority over anything else this thing was doing.
A buffer was included to queue up any messages (except ACKs) that needed to be sent if the hardware transmitter was busy sending something.
The problem: The message queue gets too full and breaks
So the problem started when a project manager working on the system with us was doing a random test on his own. The system had 8 nodes that needed to transmit and receive data back and forth between a main unit. He invoked all of the nodes causing them to flood the main unit with messages that needed to be handled. If he did this long enough, the system would basically stop and "hang." There was a queue for requests in the state machine and if another one comes in but the queue was full, it'd trigger this behavior. Not that it was bug (i.e., hitting some overflow case), it basically failed an assertion check
My investigation led to the cause being that the number of requests coming into the transmission queue was outpacing how fast this state machine could go through it.
While I'll go over what happened, I want you to think about what the solution would be. You don't have to make a comment but stew on it. Just so you're not going blind, here are the parameters you'll be working with:
The hardware this ran on at the time was an OMAP 3430. For those that don't know their SoCs, this was the same one that powered the Motorola Droid
The devices connect through a ZigBee wireless network system. Unlike say Wi-Fi, ZigBee uses a mesh topology. This allows a device to only send data to the closest one, which will then send it to the next closest one until the ZigBee coordinator (the equivalent of a router in Wi-Fi) is within range.
The ZigBee coordinator is within the main controller unit and communicates to the main board over a serial line at 115200 baud (or about 115.2 kbps)
The messages were at most 300 or so bytes in length.
Retry time is 100 milliseconds.
At the time this problem happens, the system appears more or less fine (i.e., retries aren't piling up)
The root cause: There's an issue with the ACKing system
The problem lies with the priority need for ACKs to be transmitted. The reason for having a "Tx Busy" state in the first place is not really as a courtesy, but that the serial lines are asynchronous. That is, once we fed the serial line some data and how much of it there is, it'll take care of the rest and the application is free to do other things. The state machine is waiting for the serial line to say "Okay, I'm done" before moving to the next state. However, whenever a "send ACK" request comes it, it gets sent regardless of what's going on.
Because of the way ACKs are short cutting the process, they are constantly keeping the serial line busy. This unintentionally can introduce a stall in the state machine where it never gets to the "Waiting for ACK" state. Or rather it gets there, but it's constantly pulled away from it. To put in another way, let's say you need to talk to someone, but there are other people who have higher priority than you who are allowed to interrupt you whenever. So whenever one of these higher priority people come in, they butt you out, speak to the person, and leave. But there's a ton of these people, and eventually your request never gets served (and you'll feel like punching one of these higher priority people).
(Note: I don't recall the exact way the serial line behavior was on the main unit, so there's some holes in the explanation here that I can't answer)
The solution is to deffer all transmission requests until the transmission is completed. So now the state machine looks something like this:
The fun part was the original state machine was also used in a few other places where some sort of communication with another device was happening. As you can imagine, this fix had to be propagated to various other parts of the system. And not only that, but we already had documentation with these state machine diagrams and such, so those had to be updated.
So remember: just because something looks sound, doesn't mean it's bulletproof. If you want to critique a huge issue cropping up, you're free to do so as long as you understand most of the time, these things go overlooked because they're not readily visible.