515 karma · joined April 28, 2011
Engineer / Learning Architect at Minerva Project. https://minervaproject.com
[ my public key: https://keybase.io/houshuang; my proof: https://keybase.io/houshuang/sigs/Y_rXPmmrtVbU1K9cHyNJ7NLuZUHHDd04rA-i7IjA7fs ]
At current company, we're open to hiring in Europe, and we do a ~4 hr take home assignment, which is then discussed in the meeting. Evaluation is just as much around documentation and showing your thinking, as it is around the code quality - very important qualities for a remote team.
This made me think about my own process of learning and improving Chinese, wrote up a bunch of rough notes here. Might try to experiment with a few things going forwards. https://notes.reganmian.net/a--chinese
Or go to https://icchilisrv3.epfl.ch/wiki/hn/Home?login=YOURNAME to test it immediately. (I added a tiny bit of content).
I guess one reason you could need custom types would be to ensure consistency - if two keys depend on each other, and one user sets one key, and the other user sets another key, and the document is now invalid, you'd need the engine to be able to reconcile at a higher level?
So this discussion about visual languages, data transformation etc, is very relevant to us. One thing we're working on is how to make data transformation more intuitive... Right now we are using JSONPath to enable selection of one field to aggregate on (ie. you have a form where people input ideas, and another activity that takes a list of ideas, so you can input a JSONPath for the field to get aggregated). However, looking at JMESPath (http://jmespath.org/examples.html), it looks much more powerful. Has anyone seen any examples of graphical interfaces for going from one data representation to another, with preview, selecting fields, aggregation etc?
I decided to see if I could find any Chinese sources writing about this, since they might be more clued in. Sohu.com's article (http://news.sohu.com/20160708/n458318443.shtml) says that the rumor was spread that this is where parts of Harry Potter (the Dursleys) was filmed.
I also love the focus on international writers. As a voracious foreign language learner, discovery becomes even more difficult, and seeing interesting literature available in other languages is a great motivation to learn. And in the meantime, we can rely on translation to at least get a sense of some of these works.
One thing I like is the concept that a function can operate on a single well-defined data structure, without worrying about the fact that this structure is part of a much larger state tree.
I wonder if there are things that a strongly typed implementation (Haskell) can do, which this cannot do (as well)?
Also wondering at what point it becomes better to switch to an in-memory database (like Datascript), instead of a simple nested data structure. I guess transparency is a benefit of a single data structure, whereas things like Datascript might be faster(?) and can also handle things like storing history and building in undo-functionality etc (which you'd have to add manually otherwise).
Very exciting that they are branching out to support MongoDB as well. I'd love if they could support more untraditional Postgres operators for arrays and json (I guess there's always a tension between least common denominator and using the specialized features of each DB). You can get around it with partials, but it makes the code more messy.
Note that this was my first Elixir library and I was very much learning as I went along. Lot's of code that I want to refactor and extract.
I've actually been playing around with "translating" the server backend for share.js to Elixir, to be able to host it as part of a Phoenix app. Playing with ways of integrating with erlnode to run the actual test cases (including a fuzzer) from JS directly on my Elixir code.
If this gets opensourced, I wonder how complex the backend will be (I'm assuming it will be written in Node?), given that it seems like the front-end is doing most of the work.