
For an awesome interactive experience with this work of art, visit this site. It’s pretty cool with closeups of the art and audio narrative.

For an awesome interactive experience with this work of art, visit this site. It’s pretty cool with closeups of the art and audio narrative.
Source: Futility Closet

The inherent vice of capitalism is the unequal sharing of blessings. The inherent virtue of socialism is the equal sharing of miseries. ~ Churchill

Source: https://www.infoq.com/news/2018/06/.Net-4.8-Preview by Jonathan Allen
While most of the attention is on .NET Core, work continues on the classic .NET Framework. An “early access” preview of .NET 4.8 shows the areas that Microsoft is most concerned about including high graphics Dots per Inch (DPI), accessibility, and concurrency.
.NET 4.8 is expected to be released in 2019. The current expectation is that it will run on Windows 10 build 1607 at later, but that decision isn’t final.
Span<T>
Before we get into what is included, it should be noted that the most requested feature, Span<T>, is not going to be part of this release. According to Rich Lander of Microsoft,
Span is included in .NET Core 2.1. We explored including Span in .NET Framework 4.8 and decided against it due to compatibility concerns for existing applications. You can get access to Span and additional related types in the System.Memory Nuget package which enables some of the scenarios that are enabled on .NET Core. System.Memory: https://www.nuget.org/packages/System.Memory/
High DPI
High DPI continues to be a focus for .NET. As monitor resolutions continue to improve, applications need to be scaled up to compensate lest the text and images are too small to be legible. In this release, ClickOnce and WinForms are receiving high DPI updates.
There are a couple reasons why high DPI issues keep occurring. First is the availability of high resolution monitors. Microsoft couldn’t effectively test scaling at 200 and 300% until hardware that needed that amount of scaling became available. So until monitors stop improving, scaling will continue to be a problem.
Another challenge is multi-monitor setups. When an application moves between monitors with different resolutions, the scaling has to be recalculated and images swapped out. Even worse, an application can overlap two or more monitors with different resolutions. Various compromises are necessary to address this situation and the results aren’t always satisfying.
Performance
In addition to the usually internal tweaking such as reducing memory usage for AsyncLocal or fine-tuning spin locks, this release fixes an issue where SqlDataReader.ReadAsync wasn’t actually being performed asynchronously.
Deadlocks and Race Conditions
Given the maturity of the .NET Framework, it may come as a surprise to learn that many of the core libraries still harbor race conditions and dead locks. Here is a partial list of concurrency-related issues.
UIA concerns continue to be a priority with WinForms gaining new UIA behaviors and UIA bugs being fixed in both it and WPF. (Many non-UIA bugs were also fixed in both.)
For a full list of changes, see the .NET 4.8 release notes. The preview build itself is available via the .NET Blog.
One day an out of work mime was visiting the zoo trying to earn some money as a street performer. However, as soon as he started to draw a crowd, the zookeeper grabbed him and dragged him into his office.
The zookeeper explained to the mime that the zoo’s most popular attraction, a gorilla, had suddenly died. The keeper feared that attendance at the zoo would fall off. He offered the mime a job to dress up as the gorilla until they could get another one. The mime accepted.
The next morning, before the crowd arrived, the mime put on the gorilla suit and entered the cage. He discovered that it was a great job. He could sleep all he wanted, play and make fun of people, and he drew bigger crowds than he ever had as a mime.
However, eventually the crowds tired of him and he became bored just swinging on tires. He began to notice that the people were paying more attention to the lion in the cage next to his.
Not wanting to lose the attention of his audience, he climbed to the top of his cage, crawled across a partition, and dangled from the top to the lion’s cage. Of course, this made the lion furious, but the crowd loved it.
At the end of the day the zookeeper came and gives the mime a raise for being such a good attraction as a gorilla.
Well, this went on for some time. The mime kept taunting the lion, the crowds grew larger, and his salary kept going up. Then one terrible day when he was dangling over the furious lion, he slipped and fell. The mime was terrified. The lion gathered itself and prepared to pounce. The mime was so scared that he began to run round and round the cage with the lion close behind.
Finally, the mime started screaming and yelling, “Help! Help meee!!!”, but the lion was quick and pounced. The mime soon found himself flat on his back looking up at the angry lion.
The lion slowly lowered his snarling mouth towards him and said: “Shut UP you idiot! Do you want to get us BOTH fired?”