Archive for the ‘development’ Category

Windows 10 version 1903 heads for the finish line

March 20th, 2019
Who doesn't love some new Windows?

Enlarge / Who doesn't love some new Windows? (credit: Peter Bright / Flickr)

It's clear that Microsoft is in the very final stages of development of Windows 10 version 1903, the April 2019 Update. The fast distribution ring has seen two builds arrive this week after two last week, bringing with them no new features but a slowly whittled-down bug list following the development pattern we've seen in previous updates. In the past, the company has tried to release Windows 10 feature upgrades on Patch Tuesday, the second Tuesday of each month, meaning there's just under three weeks left to go.

A little alarmingly, a couple of long-standing issues with the release still appear to be unresolved. A green-screen-of-death error caused when games with BattlEye anti-cheat software are used has been a feature of the 1903 previews for many months, and Microsoft is still listing it as unresolved. The scope and impact of this bug was so significant that the slow distribution ring didn't receive a preview of 1903 for much of its development process; Microsoft felt that it was too likely to affect too many people to be usable. This is eminently plausible, as BattlEye is used by PUBG and Fortnite, among other games. The company finally relented in February, pushing out a new build on the slow ring but blacklisting any systems with the offending third-party software.

The bug was first listed as a known issue with build 18298, released on December 10 last year. Microsoft says it's working with BattlEye to resolve the problem, but there has been no visible progress so far. BattlEye boasts of using a kernel-mode component as part of its anti-cheat software. Running in the kernel means that it's harder for cheat software to hide from or otherwise interfere with what BattlEye does, but with this comes the temptation to mess with operating system data structures and functions that aren't documented, which then leads to system crashes when the operating system is updated.

Read 3 remaining paragraphs | Comments

Posted in development, insider program, microsoft, Tech, Windows | Comments (0)

Any Steam game can now use Valve’s low-latency, DoS-proofed networking

March 15th, 2019
Any Steam game can now use Valve’s low-latency, DoS-proofed networking

Enlarge (credit: massmatt)

Valve is opening up its latency-reducing, DoS-protecting network relay infrastructure to every developer using its Steamworks platform.

A few years ago, large-scale denial-of-service attacks against game servers were making the news and becoming a frustratingly frequent occurrence in online gaming and e-sports. To protect its own games, Valve has for a number of years been working on developing a networking infrastructure that makes the system more resilient against denial-of-service attacks and lower latency to boot, and the company is using this system for both Dota 2 and CS:GO.

At 30 different locations around the world, Valve has established relaying servers that route networking traffic between clients and servers. These relay points provide DoS-resilience in several ways. They're equipped with an aggregate of several terabits of bandwidth, so they can handle a certain amount of flooding in any case. Games can also switch from one relay to another without necessarily interrupting their connection. This switching can be to another relay in the same location or even to another point-of-presence entirely.

Read 5 remaining paragraphs | Comments

Posted in APIs, development, Gaming & Culture, networking, Open Source, PC gaming, Tech, Valve | Comments (0)

The real reason that Microsoft is already testing a 2020 Windows release? Azure

February 28th, 2019
Stylized image of glass skyscrapers under construction.

Enlarge / Windows is now perpetually under construction. (credit: David Holt / Flickr)

The release earlier this month of a preview Windows 10 build that isn't due until 2020 was a little strange. At the time, Microsoft said vaguely that it was because of features that "require a longer lead time," with no indication of what those features are.

The well-connected Mary Jo Foley tells a different story: the release is actually a consequence of parts of Windows' development moving to the Azure group.

The core parts of Windows—the kernel, file system, networking stack, hypervisor, security subsystem, and so on—underpin a wide range of Windows variants, including Windows 10, Windows Server 2019, HoloLens, Xbox One, and Azure. According to Foley, Microsoft makes two releases of these core parts each year, in June and December. The various Windows variants build on these dual releases.

Read 3 remaining paragraphs | Comments

Posted in azure, development, microsoft, Tech, Windows | Comments (0)

Google turbo-charging the back button with Chrome’s new “back/forward cache”

February 28th, 2019
Now that's some shiny chrome.

Enlarge / Now that's some shiny chrome. (credit: Marc Ellis / Flickr)

Google is developing a new cache for Chrome (via CNET)that should make some page loads extremely fast. The only catch? They'll have to be pages you've already seen and are revisiting after hitting the browser's back button.

Chrome already caches the files that make up a page, so revisiting a page in most circumstances shouldn't force the browser to retrieve the images, JavaScripts, and CSS that are used to build the page. But currently, the browser has to re-parse the HTML and re-build the page's programmatic representation, uncompress the images, re-execute all the JavaScript, reapply all the stylesheets, and so on. It's just the networking step that gets skipped.

The new bfcache (for "back/forward cache") changes that: it lets the browser capture the entire state of a running page—including scripts that are in the middle of execution, the rendered images, and even the scroll position—and reload that state later. With bfcache, rather than having to reload the page from scratch, the page will look as if it was paused when you click a link to a new page and subsequently resumed when you hit back.

Read 4 remaining paragraphs | Comments

Posted in browsers, chrome, Chromium, development, google, Tech | Comments (0)

Google partially backtracks on Chrome changes that would break ad blockers

February 18th, 2019

Google has said that it will revise the proposed changes to Chrome's extension API that would have broken or reduced the functionality of a wide range of ad-blocking extensions, to ensure that the current variety of content-blocking extensions is preserved. The initial plans generated a wide backlash from both the developers and users of those extensions, but Google maintains that "It is not, nor has it ever been, our goal to prevent or break content blocking" [emphasis Google's] and says that it will work to update its proposal to address the capability gaps and pain points.

The advertising company is planning an overhaul of its extension interface to, among other things, increase user privacy, make it harder for extensions to perform malicious actions, and make the browser's performance more consistent. Together, this work is documented as Manifest V3.

One of these changes in particular had grave consequences for ad blockers. Currently, ad blockers make extensive use of an API named webRequest. This API allows extensions to examine every single network request made by a page and either modify it (to, for example, redirect it to a different address or add or remove cookies), block it altogether, or allow it to continue unhindered. This has both a substantial privacy impact (an extension can see and steal your cookies and hence masquerade as you) and, Google said, some performance impact, as every single network request (of which there may be dozens in a single page) has to wait for the extension to perform its analysis.

Read 7 remaining paragraphs | Comments

Posted in ad blockers, chrome, Chromium, development, google, Open Source, Tech, Web | Comments (0)

Microsoft begins work on its 2020 Windows releases in new preview

February 14th, 2019
Stylized image of glass skyscrapers under construction.

Enlarge / Windows is now perpetually under construction. (credit: David Holt)

Microsoft has published a new preview release of Windows 10, build 18836, to participants of the "Skip Ahead" group. But it's not quite the preview that they were expecting to get.

Microsoft's preview program has a number of different channels to let people use and test Windows feature updates, Microsoft's twice-yearly Windows 10 upgrades. The two main channels are Fast and Slow; Fast receives builds more regularly, while Slow generally receives only those builds that are felt to be stable. Both channels look ahead to the next feature update. For example, right now, the stable Windows 10 version is 1809. The Fast and Slow channels are receiving previews of version 1903, codenamed 19H1, which is due for release in April.

Skip Ahead is a third channel. Most of the time, Skip Ahead is identical to the Fast channel, but in the last few weeks of each update's development, the two diverged. The Fast ring continues to receive builds of the next feature update; Skip Ahead, well, skips ahead to the update after the next one. As such, one would expect today's Skip Ahead release to be a preview of 19H2, version 1909, due in October. But it isn't; it's skipping ahead not one but two releases, all the way to 20H1, due in April 2020.

Read 2 remaining paragraphs | Comments

Posted in development, microsoft, Tech, Windows, Windows 10, windows insider program | Comments (0)

Mozilla to use machine learning to find code bugs before they ship

February 12th, 2019

Ubisoft's Commit-Assistant

In a bid to cut the number of coding errors made in its Firefox browser, Mozilla is deploying Clever-Commit, a machine-learning-driven coding assistant developed in conjunction with game developer Ubisoft.

Clever-Commit analyzes code changes as developers commit them to the Firefox codebase. It compares them to all the code it has seen before to see if they look similar to code that the system knows to be buggy. If the assistant thinks that a commit looks suspicious, it warns the developer. Presuming its analysis is correct, it means that the bug can be fixed before it gets committed into the source repository. Clever-Commit can even suggest fixes for the bugs that it finds. Initially, Mozilla plans to use Clever-Commit during code reviews, and in time this will expand to other phases of development, too. It works with all three of the languages that Mozilla uses for Firefox: C++, JavaScript, and Rust.

The tool builds on work by Ubisoft La Forge, Ubisoft's research lab. Last year, Ubisoft presented the Commit-Assistant, based on research called CLEVER, a system for finding bugs and suggesting fixes. That system found some 60-70 percent of buggy commits, though it also had a false positive rate of 30 percent. Even though this false positive rate is quite high, users of this system nonetheless felt that it was worthwhile, thanks to the time saved when it did correctly identify a bug.

Read 3 remaining paragraphs | Comments

Posted in bugs, C#, development, machine learning, Mozilla, Programming, Tech, Ubisoft | Comments (0)

Firefox taking a hard line against noisy video, banning it from autoplaying

February 5th, 2019
No red pandas were harmed in the making of this image, I promise.

Enlarge / No red pandas were harmed in the making of this image, I promise. (credit: Aurich / Getty)

Last year, Chrome introduced changes to try to prevent the persistent nuisance that is pages that automatically play noisy videos. Next month, Firefox will be following suit; Firefox 66, due on March 19, will prevent the automatic playback of any video that contains audio.

Mozilla's plan for Firefox is a great deal simpler, and a great deal stricter, than Chrome's system. In Chrome, Google has a heuristic that tries to distinguish between those sites where autoplaying is generally welcome (Netflix and YouTube, for example) and those where it isn't (those annoying sites that have autoplaying video tucked away in a corner to startle you when it starts making unexpected sounds). Firefox isn't doing anything like that; by default, any site that tries to play video with audio will have that video playback blocked.

Firefox users will be able to grant autoplay audio permission on a site-by-site basis.

Firefox users will be able to grant autoplay audio permission on a site-by-site basis.

Firefox users will be able to override this block on a site-by-site basis, so those sites where autoplay is inoffensive can have it re-enabled. This permission is automatically extended to sites that have previously been granted access to microphones or webcams, so that audio and video communications apps built using WebRTC will work as expected. Firefox will also allow muted video to play back automatically.

Read on Ars Technica | Comments

Posted in browsers, development, Firefox, Open Source, Tech, Web | Comments (0)

Post-mortem: Tying Edge to Windows 10 was a fatal error

December 6th, 2018
Post-mortem: Tying Edge to Windows 10 was a fatal error

Enlarge (credit: @AndreTelevise)

As reported earlier this week, Microsoft is going to use Google's Blink rendering engine and V8 JavaScript engine in its Edge browser, largely ending development of its own EdgeHTML rendering engine and Chakra JavaScript engine. This means that Microsoft will be using code from—and making contributions to—the Chromium open source project.

The company's browser will still be named Edge and should retain the current look and feel. The decision to switch was motivated primarily by compatibility problems: Web developers increasingly test their pages exclusively in Chrome, which has put Edge at a significant disadvantage. Microsoft's engineers have found that problematic pages could often be made Edge compatible with only very minor alterations, but because Web devs aren't using Edge at all, they don't even know that they need to change anything.

The story is, however, a little more complex. The initial version of Edge that shipped with the first version of Windows 10 was rudimentary, to say the least. It was the bare bones of a browser, but with extremely limited capabilities around things like tab management and password management, no extension model, and generally lacking in the creature comforts that represent the difference between a bare rendering engine and an actual usable browser. It also had stability issues; crashes and hangs were not uncommon.

Read 12 remaining paragraphs | Comments

Posted in Blink, chrome, Chromium, development, EDGE, google, JavaScript, microsoft, Open Source, Tech, WebKit | Comments (0)

Microsoft continues its quest to embrace every developer with Visual Studio 2019

December 4th, 2018
Visual Studio 2019 has a new icon; the left one for the release version, the right one for previews.

Enlarge / Visual Studio 2019 has a new icon; the left one for the release version, the right one for previews. (credit: Microsoft)

Microsoft today made a number of developer-oriented announcements that continue its theme of the last few years: the company wants its tools—and ultimately its platforms, especially Azure—to be the choice of every developer, no matter which languages and tools they use and no matter what platform they ultimately deploy on.

The centerpiece of Microsoft's developer tools remains Visual Studio, and a first preview of its 2019 edition is now available to download. It integrates the awesome Live Share feature first demonstrated last year and expands IntelliCode, a machine-learning-driven extension to the IntelliSense developer assistance that's been a part of Visual Studio for ages. IntelliCode examines source code repositories to build models of a range of different things, from code formatting preferences to library usage and development patterns.

Currently, IntelliCode works with C# in Visual Studio and Python in Visual Studio Code. It does so by using GitHub's open source repositories as its training data. Visual Studio 2019 expands this to enable analysis of private repositories. It also increases the language compatibility; Visual Studio will add C++ and XAML support, while Visual Studio Code will pick up JavaScript, TypeScript, and Java support.

Read 6 remaining paragraphs | Comments

Posted in development, microsoft, Open Source, Tech, visual studio | Comments (0)