msclrhd
Given a single implementation, what incentive is there to develop open standards?
How do you innovate (in standards, JavaScript performance, rendering, etc.) if there is only one group working on them?
Case in point: Firefox is the only major browser to provide MathML support. Where is the incentive to get that implemented in the other browsers, especially given MathJax?
Where is the competition to innovate in things like web tools (layout analysis -- esp. for flexbox, etc., accessibility property (WCAG, WAI-ARIA) navigation/investigation) given a single implementation?
It's also interesting how the pronunciation is reconstructed. Looking at rhyming pairs that don't currently rhyme (e.g. loved/proved), looking at different accents of English (Irish, Scottish, American, etc.) to identify historic pronunciations, etc.
For lexer and parser tests, I tend to focus on the EBNF grammar. Do I have lexer test coverage for each symbol in a given EBNF, accepting duplicate token coverage across different EBNF symbol tests? Do I have parser tests for each valid path through the symbol? For error handling/recovery, do I have a test for a token in a symbol being missing (one per missing symbol)?
For equation/algorithm testing, do I have a test case for each value domain. For numbers: zero, negative number, positive number, min, max, values that yield the min/max representable output (and one above/below this to overflow).
I tend to organize tests in a hierarchy, so the tests higher up only focus on the relevant details, while the ones lower down focus on the variations they can have. For example, for a lexer I will test the different cases for a given token (e.g. '1e8' and '1E8' for a double token), then for the parser I only need to test a single double token format/variant as I know that the lexer handles the different variants correctly. Then, I can do a similar thing in the processing stages, ignoring the error handling/recovery cases that yield the same parse tree as the valid cases.
If you are implementing interfaces that plug into some other program (e.g. an IDE, or even different teams in a project), tests are invaluable to check that your code works as expected, and does not break when a new version of the program is released.
Yes, writing tests takes longer. Yes, writing tests makes it harder to change the code in the future. However, they have helped me identify cases in my code that I had not considered (when integrating my code with an IDE), and to prevent issues when refactoring and extending the code.
There are ways to mitigate the issues of changing the code, such as creating scaffolding to bridge the old and new code via adaptors, etc.
I don't know of an easier way to do this.
To manage the top sites (which Firefox 78 displays on address bar click or down arrow if enabled in the preferences [1]), you need to: 1) add the top sites on the home page, 2) hover over the page you want to remove, 3) click the "..." button in the top right ("Open Menu"), 4) click "unpin" if you don't want it to be kept there, but stil calculated in the ranking, 5) click "dismiss" if you don't want it displayed.
[1] This is a change in Firefox 78, as when pressing the down arrow key Firefox 77 displayed what Firefox 78 displays when pressing the space bar.
1. It is inconsistent with the behaviour of every other control, including other combobox/search/dropdown UI elements. The web search element on the new page/tab for both Firefox and Chrome only expand downward to show the results. (The one on Chrome adjusts the border radius slightly, but that is more to do with the way the border radius is calculated.)
2. I personally find it distracting, especially as it is moving in two directions at once. -- I don't like animated elements in the Windows start menu and YouTube's latest post section even more for the same reason (I notice the movement in the corner of my eye, then get distracted as it is drawing attention away from what I am doing).
3. It can happen when not user initiated, e.g. when switching to an already open tab where the focus then goes to the address bar. This further adds to the distracting "look at me!" nature of the new design, where you have to explicitly click away to get rid of. Couple that with reddit's behaviour of clicking outside a post navigating to the channels page and you have some fun times!
4. The dropdown of frequently visited pages can no longer be opened by the mouse only. You need to click on the address bar and then press the down arrow key.
I wonder if the Higgs particle could be a candidate for the force carrier in the QM representation of GR (e.g. the resulting higgs field interacts with and causes space-time curvature instead of energy-momentum doing it directly). That is speculation on my part from a lay-person perspective, so could be completely wrong.
The next standard library supports using the standard algorithms with ranges, so you can say things like `std::sort(v)` instead of `std::sort(v.begin(), v.end())`.
IIUC, views are ranges that can adapt the results of the underlying object without changing the contents of that object, such as a lower-case view, or a reversed view. These work by doing the lower-case conversion on dereference, or swapping the increment/decrement operations.
The whole programming landscape would need to be audited.
[1] https://www.cdc.gov/flu/about/burden/preliminary-in-season-e...
The different systems (klatt, MBROLA, etc.) build on these basic techniques. The *OLA systems are more space intensive, as they need more of the audio data to synthesize the voice, but tend to result in more natural voices.
The other complexity is how the individual phonemes (building blocks of speech) are stored. Different languages and accents have different sets of phonemes, so more complex languages require more data. Systems like MBROLA store the data as diphones (from the mid-point of the first phoneme to the mid-point of the second), to make it easier to join the phonemes. There are more diphones, although not all combinations are in a given language and accent.
This data is controlled by different prosodic parameters (e.g. pitch and duration). Neural nets can be used to control these parameters, or techniques like decision trees and probabilistic models.
IIUC, there are two approaches to neural nets when using audio generation: 1) generate the LPC/formant parameters; 2) generate the audio directly. These can either operate on phonemes, or on the text directly. Operating on the text directly limits the voice to a particular language and accent, but potentially allows the neural net to infer pronunciation rules itself.
This would allow you to model classes of colours, like purples. Shades of a colour could then be any similar colour in the range 0 to 0.5 (or 0.25).
Likewise, if you look at something like The News Quiz, that and the presenters/guests are left wing and pro-Remain.
When Wine runs an application or game, that program is executing directly on the computer's CPU, so it is not an emulator.
Think of it like when you have a Qt/KDE or Gtk/Gnome application and run that on the other platform, or on Windows or Mac. You have the APIs the application is calling (Qt or Gtk) which are the same regardless of the platform they are running on; for Wine these are the Windows APIs. The libraries then map the library APIs to the platform APIs, like how Wine is mapping the Windows APIs to Linux/Mac/etc.
Sigh!