atnnn | 28 days ago | on: Points on a ring: An interactive walkthrough of a popular math problem
atnnn's comments
atnnn | 2 years ago | on: Untranslatable
I think the meaning of "Agreed" or "Right on" is rare and more implicit. Like saying "therefore" might mean "I accept the premise".
As a question, "donc?", like "so?", can mean "and then?", "then what?", "meaning what?", "what next?" or "so what?"
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".
atnnn | 9 years ago | on: Show HN: Nomouse
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.
atnnn | 9 years ago | on: MongoDB 3.4.0-rc3
atnnn | 9 years ago | on: RethinkDB Postmortem
atnnn | 10 years ago | on: Developer Preview: RethinkDB Now Available for Windows
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.
atnnn | 11 years ago | on: A Comprehensive Guide to Moving from SQL to RethinkDB
What you shudder to think of could be expressed as
row('species').contains(function(s){ r.expr(['Saiyan', 'Human', 'Android']).contains(s) })
Or also as: row('species').setIntersection(['Saiyan', 'Human', 'Android']).isEmpty().not()
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.atnnn | 11 years ago | on: Video Streaming with RethinkDB Changefeeds
The code in the demo does this by performing a separate `between` query.
atnnn | 11 years ago | on: Video Streaming with RethinkDB Changefeeds
atnnn | 11 years ago | on: Video Streaming with RethinkDB Changefeeds
atnnn | 11 years ago | on: Video Streaming with RethinkDB Changefeeds
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.
atnnn | 11 years ago | on: RethinkDB 1.15: Geospatial queries
It looks like the lucid package is no longer compatible with wheezy.
You may have better luck using precise, trusty or saucy instead of lucid in your sources.list
I will run some tests and update the docs on rethinkdb.com.
atnnn | 12 years ago | on: RethinkDB now available on AWS marketplace
atnnn | 13 years ago | on: Ask HN: What's your motivational saying?
atnnn | 13 years ago | on: RethinkDB's first community client driver is for Haskell
It already is! Each expression is a simple wrapper around a monad, similar to this datatype:
data Expr = Expr (QueryM Term)
Where QueryM is the monad that helps build the query and Term is the raw protobuf expression that gets sent to the server.
atnnn | 13 years ago | on: Answers to common questions about RethinkDB
Only try this at home.
atnnn | 14 years ago | on: Bitcoin is Not Anonymous
It is one of the central ideas behind bitcoin and leaves no doubt about the anonymity of the transactions.
It is a well publicised idea and it is even mentioned on the main page of the bitcoin wiki (http://bitcoin.it).
atnnn | 14 years ago | on: Show HN: 114,444 Google+ profiles indexed and organized. What do you think?
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).