I find this easier to visualize with an equivalent way to pick points: drop four (n) lines through the center of the circle. For each line, randomly pick one of the two points that intersect the circle.
Independent of the lines dropped, there are eight (2n) ways to pick adjacent points and sixteen (n^2) different combinations of points.
There are four (n) adjacent points iif the points lie on the same half of the circle (proof by interactive visualization).
Like saying "therefore" might mean "I accept the premise".
I basically never hear that as a standalone reply in English!
As an interjection or at the beginning of a sentence, "donc", like "so", can mean "now then", "that said", "moving on" or "without further ado".
I'm not sure, but I think sometimes when my wife is saying, "schma" it's somewhat like "donc" you describe above. But sometimes, I think she expressing agreement with a person that a third party was a bit mistaken or off the mark, so it's expressing a kind of disagreement. Not sure.
Using a mouse is distracting. It steals our focus away.
Programming can seem like a slow process because the bulk of the process happens in our minds. Keeping our focus on our precious mental models makes us more productive.
Keyboard shortcuts become mechanical. When we're in the middle of editing code, whether we type "F8" "C-c C-l" or ":make", we can keep your focus where it belongs. But if we use a mouse to click on the "Build" button instead, we lose part of our focus looking for and aiming at the button. Menus and file explorers are especially bad at this: when opening a menu item or looking for a nested file, every single subfolder or submenu steals more of our focus away.
I know a few programmers who never use auto-completion for file names or methods. It surprised me and frustrated me a lot at first. Typing long file names without tab completion can be so. much. slower. But then I realised we can be much more efficient that way! Auto-completion interrupts our focus. We need to take in new information and make decisions. It's all about eliminating the step where we ask ourself "Why did I open this file?" or "What goes next?". It is easier to think about what arguments we want to pass to a method when we're not focused on selecting that method from a drop-down list. That is also why precise touch-typing is so important. We don't want to focus on either the pointer or the keyboard, we want to focus on our code.
The mouse itself isn't the problem, in fact some editors such as ACME or Blender make very good use of the mouse. The problem is inefficient UI design that interrupts our concentration.
See, for me it's the complete opposite, typing words unrelated to the actual code makes me lose part of my focus, whereas navigating the mouse or a dropdown list isn't requiring me to "create" words or strings in my mind.
Maybe that's just because I haven't gone through the learning curve, but I suspect the difference would be negligible.
[Edit] That's only for keybindings that force me to input string though, I vigorously use keybindings.
Some of us are keeping the RethinkDB database and community alive. The code is open source, and development continues slowly. The next release is almost ready. It'll have new features and performance improvements.
RethinkDB uses custom abstractions to hide the lower-level OS-specific code. We were able to port the low-level code to Windows with very little changes in these abstractions, and thus minimal changes to the rest of the code base.
The proper way to use libuv would be to replace those abstractions with libuv's own, which would affect a lot more code and possibly break a lot of implicit invariants.
In retrospect, perhaps we should have given alternatives like libuv, libevent or boost::asio more consideration.
The succintness of ReQL depends on that of the host language. JavaScript's bulky syntax for functions and lack of operator overloading make queries a lot more cluttered.
An app usually sit between the database and the user, isolating them from each other. This demo does not isolate the database, it is just a proof of concept.
Changefeeds are for getting updates to the results of queries on the database. So for example, getting the top 5 users ordered by their score. The app leaves a connection open to the database, and the database pushes changes to the query results whenever they happen.
The app can then also have a persistent websocket connection or whatever to the client, so you're able to get push architecture all the way from the data source to the client.
I told ffmpeg to use `-r 25` but the console output says `fps=7.6`.
I just put it together in a few hours to see if it was possible. Given the unexpected interest in it, I'll put some more work to see where we can take it.
Independent of the lines dropped, there are eight (2n) ways to pick adjacent points and sixteen (n^2) different combinations of points.
There are four (n) adjacent points iif the points lie on the same half of the circle (proof by interactive visualization).
So the answer is eight sixteenths (2n/2^n).