Subject: General Tech | August 22, 2017 - 10:12 PM | Scott Michaud
Tagged: mozilla, firefox, servo, Rust
If you’re on Firefox Nightly, you are able to enable their new CSS engine with an about:config flag, called layout.css.servo.enabled. For a few years now, Mozilla has been working on a separate rendering engine, aided by Samsung, which was called Servo. Browsers are very single-threaded, so there was a lot of room for improvement, especially on devices that can afford more cores than per-core performance, like mobile. It is also more secure, as its programming language, Rust, is more strict with data accesses than C/C++, which is also great for a web browser.
Eventually, Mozilla decided to, instead of replacing Gecko, replace chunks of it with tech derived from Servo. Up to now, it’s been mostly security-related components, like the parsing of untrusted media headers. This one is about speed. I'm curious to see how it feels to our readers. I know that, personally, going from Firefox 54 to Firefox 55 was a significant difference, although that was due to other changes.
If you’re interested, download Firefox Nightly. I mean, it’s free.
Subject: General Tech | October 30, 2016 - 01:09 AM | Scott Michaud
Tagged: mozilla, servo, gecko, firefox
One of the big announcements at Mozilla Summit 2013, despite Firefox OS being the focus of the event, was their research (with Samsung) into a new rendering engine, Servo. Rendering HTML5 is horrifically complex, so creating a new rendering engine from scratch is a big “nope!” for basically all organizations. Mozilla saw this as a big potential, because current engines are very difficult to scale to multiple cores, so they went in to this as a no-assumptions experiment.
At the time, they didn't know whether Servo would be built up into a full rendering engine, or whether it would be picked apart and pulled back into their current engine, Gecko. Mozilla has now unveiled Quantum, and the first sentence of its MozillaWiki entry is “Quantum is not a new web browser.” They go on to say that they will be “building on the Gecko engine as a solid foundation”. So it seems pretty clear that, like they've recently done with their media file parser in Firefox 48.
While this will likely not have the major impact that “boom, new engine” would, in terms of performance, this piece-wise method should be quicker than bulking up Servo. Mozilla expects that big changes will begin to land next year.
The New Corinthian Leather?
I really do not know what happened to me, but I used to hate racing games. I mean, really hate them. I played old, old racing games on Atari. I had some of the first ones available on PC. They did not appeal to me in the least. Instant buyer’s remorse for the most part. Then something strange happened. 3D graphics technology changed that opinion. Not only did hardware accelerated 3D help me get over my dislike, but the improvements in physical simulations also allowed a greater depth of experience. Throw in getting my first force feedback device and NFS: Porsche Unleashed and I was hooked from then on out.
The front of the box shows the lovely Ferrari 599XX supercar with the wheel in the foreground.
The itch to improve the driving experience only grows as time goes on. More and more flashy looking titles are released, some of which actually improve upon the simulation with complex physics rewrites, all of which consume more horsepower from the CPU and GPU. This then leads to more hardware upgrades. The next thing a person knows they are ordering multiple monitors so they can just experience racing in Surround/Eyefinity (probably the best overall usage for the technology).
One bad thing about having a passion for something is that itch to improve the experience never goes away. DiRT 2 inspired me to purchase my first FFB wheel, the TM Ferrari F420 model. Several games later and my disappointment for the F420’s 270 degree steering had me pursue my next purchase which was a TX F458 Ferrari Edition racing wheel. This featured the TX base, the stock/plastic Ferrari wheel, and the two pedal set. This was a tremendous upgrade from the older TM F420 and the improvement to 900 degrees of rotation and far better FFB effects was tremendous. Not only that, but the TX platform could be upgradeable. The gate leading to madness was now open.
The TX base can fit a variety of 2 and 3 pedal systems, but the big push is towards the actual wheel itself. Thrustmaster has several products that fit the base that feature a materials such as plastic, rubber, and leather. These products go from $120 on up to around $150. These are comprised of three GT style wheels and one F1 wheel. All of them look pretty interesting and are a big step up from the bundled F458 replica that comes standard with the TX set.
The rear shows the rim itself at actual size.
I honestly had not thought about upgrading to any of these units as I was pleased with the feel and performance of the stock wheel. It seemed to have fit my needs. Then it happened. Thrustmaster announced the Ferrari 599XX EVO wheel with honest-to-goodness Alcantara ™ construction. The more I read about this wheel, the more I wanted it. The only problem in my mind is that it is priced at a rather dramatic $179. I had purchased the entire TX F458 setup on sale for only $280 some months before! Was the purchase of the 599XX worth it? Would it dramatically change my gaming experience? I guess there is only one way to find out. I hid the credit card statement and told my wife, “Hey, look what I got in for review!”
Subject: General Tech | July 1, 2016 - 07:12 PM | Scott Michaud
Tagged: web browser, gecko, servo, Rust, mozilla, Samsung
No love for Windows at the moment, but Mozilla is showing previews of their new browser rendering engine, Servo. This one is developed in Rust, which is a highly parallel yet very memory safe language, which are two great features for a web browser, especially on mobile and multi-core desktops. You are currently able to pick it up on Mac and Linux, although it is not ready to be your primary browser yet. Windows and Android builds “should be available soon”.
Basically, Mozilla has been spending the last few years re-thinking how to design a web browser. Most Web standards are based on assumptions that the browser is going through a main loop, and that these items will occur in sequence. Back in 2013, most of the research was to see far a browser could travel into parallelization before compatibility just stops following. Samsung, who is obviously interested in smartphone technology, partnered with them, because it's easier to add more cores onto a mobile SoC than it is to make existing ones faster.
At the time, they weren't sure whether this research would be used to improve Gecko, the current rendering engine that has been around since Netscape 6, or create a suitable replacement for it. As far as I know, that decision has still not been made, but they also haven't bailed on it yet.
Perhaps we'll see a new wave of Web technology coming soon? Maybe even break up the Webkit monopoly that seems to be forming, led by iOS and Android devices?
Subject: General Tech | March 18, 2016 - 09:26 PM | Scott Michaud
Tagged: mozilla, servo, Rust
Mozilla, the open-source creators of Firefox and Thunderbird, have announced that their Servo project will reach public alpha in June. Nightly builds will be available, presumably around that time, for Linux, OSX, Windows, and Android. Servo is a browser engine that is built in Rust, which emphasizes security and high performance (especially in multi-threaded scenarios).
The technology is really interesting, although it is still quite early. Web browsers are massively single-threaded by design, which limits their potential performance as CPUs widen in core count but stagnate in per-thread performance. This is especially true in mobile, which is why Samsung has been collaborating on Servo for almost all of its life.
Rust, being so strict about memory access, also has the advantage of security and memory management. It is designed in such a way that it's easier for the compiler to know, at compile time, whether you will be trying to access data that is no longer available. The trade-off is that it's harder to program, because if your code isn't robust enough, the compiler just won't accept it. This is beneficial for web browsers, though, because basically everything they access is untrusted, third-party data. It's better to fight your compiler than to fight people trying to exploit your users.
Again, it's still a way off, though. It might be good for web developers to keep an eye on, though, in case any of their optimizations implement standards either correctly, but differently from other browsers and highlights a bug in your website, or incorrectly, which exposes a bug in Servo. Making a web browser is immensely difficult.