What is the meaning of `Forward compatible` code? - terminology

Backward compatibility means (as I understand it) that newer versions of the code will:
Still be able to read data written by older versions
Still be able to operate with older versions using some network protocol
Basically, nothing will break when I upgrade a system to a newer version, even if it is just one part of a larger system, or uses resources created by the older system
But what is "Forward Compaitible"?

Forward compatible bascially means that the code will be compatible with newer versions of the software. In other words, code you enter now will smoothly transition to the next software version. You could also think of it that the next version(s) of software will be reverse compatible with the current version.
https://en.wikipedia.org/wiki/Forward_compatibility

Backward compatibility vs forward compatibility
We have two versions of a software: the version A, and a newer version B. We say:
B is backward compatible with A if everything that works on A will still work on B.
A is forward compatible with B if everything that works on A will still work on B.
B is backward compatible if it is backward compatible with all the versions < B.
A is forward compatible if it is forward compatible with all the versions > A.

Related

Using local installed lib in site page

Is it possible to use libraries (.dll, .ocx) in modern browsers that were written for the OS Windows and registered in system32 to transfer part of the logic of the site's work and calculations from the server to the power of the local machine? For example, if a web-application is being written as a private app for private user use and you need to transfer part of the system's working logic to a local user's machine to offload the application server's capacities - how can I solve that challange?
Previously, I managed to implement a similar scheme of work in IE when I used the tag with 'codebase' parameter, but now I need to switch to modern browsers, because IE is outdated, but so far it has not been possible to find a working way to duplicate the principle used. Maybe I can somehow use libs that worked in IE in modern browsers?
In IE we can use ActiveX controls. In modern browsers, Microsoft Edge supports IE mode and IE mode supports ActiveX controls, so we can still use the same way in Edge IE mode.
But in other modern browsers, they don't support ActiveX controls and there's no way to use libraries (.dll,.ocx). I think you can only develop a program for users to download and install. You can also refer to the similar threads: thread 1, thread 2. Except some out-of-date solutions, the conclusion is we can't do this in other modern browsers.

Nuxt js/Babel `SyntaxError: Unexpected keyword 'const'. Const declarations are not supported in strict mode.`

I have a web application that I create on Nuxt.js, But I have noticed that there are compiling bugs in some of the browsers (Like Safari, IE), I think this is the fault of the Babel configuration, then i run npm run build ES6 is not compiled, and I have errors in my console
for cross-browsing testing, I am using Browserstack
I have following errors in the console:
Unexpected token '...'. Expected a property name
SyntaxError: Unexpected keyword 'const'. Const declarations are not supported in strict mode.
How can i configure Babel to compile ES6?
Apparently, your code is not working on Safari v10 and below. Looking at some stats here:
https://gs.statcounter.com/browser-version-partially-combined-market-share#monthly-202007-202107
https://www.w3schools.com/browsers/browsers_safari.asp
https://caniuse.com/?search=flex
https://en.wikipedia.org/wiki/Safari_version_history#Safari_10_2
It looks like Safari is used with a minority of versions but those are mostly v13 and v14. Those are far more modern then then one you do not support.
Safari v10 is actually from 2007, so I can think that it's safe to say that you can ditch this version totally.
Even if Safari is not an evergreen browser (meaning updating-itself like Firefox or Chrome), people still using it are not on that old of a version.
You need to remember that if you want to support a version that old, you will heavily impact the overall performance of the whole website for every user. Okay, 0.5% of people will have a better experience (those stuck in 2007) but everybody else will need to carry the weight of that old babel-transpiled version.
You could make 2 bundles (one modern and for super old legacy browsers) and serve either one or the other depending if they do support ES modules. I cannot find the Google/HTTP 203 talking about this one.
But IMO, this is a lot of work (not that trivial) for a super tiny population, I'd rather pass on this and focus on more important things to handle.
Even a11y is reaching more people. Even tho, it's probably on a lower priority than Safari v10.
Here are my 2cts. If I find the video, I may update my answer.

Older version of mysql-devel seems to be missing from Yum?

I have been using mysql-devel-5.1.69-1.el6_4 from yum, and in the last day the only available option I can now see is mysql-devel-5.1.73-3.el6_5. Is there a way to get the older version from yum? Is this a regular thing to remove older versions? I would prefer to use the older version because I know it will work with my other libraries/code.
Many repository mirrors only mirror the most recent updated packages because that's what most people need and the disk space for older versions can be high.
If you really need a specific version (and I would generally suggest that you do not and should not rely on a version like that whenever possible) you should be able to get the older package from http://vault.centos.org .

The difference between QAPlug-CheckStyle and CheckStyle-IDEA

Found a similar question about the difference between QAPlug-FindBugs and FindBugs-IDEA, but not about CheckStyle...
I think (from previous experience) with these plug-ins that one difference is that the QAPlug's CheckStyle version seems to be behind the CheckStyle-IDEA's CheckStyle version (I'm not referring to the versions of the plug-ins, but of the version of CheckStyle that's embedded in them).
Anyone knows of any other differences between those?
Advantages of CheckStyle-IDEA over QAPlug – Checkstyle:
Newer version of Checkstyle used
Community on GitHub
Fast scan before commit
Support for multiple configurations
Support for third-party checks
I haven't noticed any use case when QAPlug is better.

Are there documented rendering differences between different versions of an operating system and same versions of browsers?

I'm involved in some browser-compatibility testing, and we're looking at tools and so forth. One thing we need to do is visual inspection of our site in a range of different browsers on different OSs and platforms.
My question is whether there are documented differences (or someone can post some HTML+CSS) where a page will render differently in IE6 on Windows 2000 than it will in IE6 on Windows XP (say). Or IE7/XP vs IE7/Vista. Or Safari4/MacOSX Leopard vs Safari4/MacOSX Snow Leopard.
We're hoping to be able to slim down the count of combinations.
I've seen this other SO question, and don't think it's quite the same thing. The answers direct me to quirksmode.org. We're not looking for a breakdown of which elements/CSS-rules are supported in which browsers; we've got an existing site that for better or worse uses what it uses, and we'd like to get it under test to be able to make changes more safely.
You can submit to http://browsershots.org/ multiple times, eventually a different OS version will get called for the same browser version. This is not the ideal solution.