179 karma · joined September 1, 2011
> it reduces or eliminates the tax disadvantages of distributing dividends to shareholders by only requiring them to pay the difference between the corporate rate and their marginal rate.
Similarly for "Auckland NZ to Christchurch UK" - people might be getting more than they bargained for there. :)
From the docs:
"You should be very careful about marking fields as required. If at some point you wish to stop writing or sending a required field, it will be problematic to change the field to an optional field – old readers will consider messages without this field to be incomplete and may reject or drop them unintentionally. You should consider writing application-specific custom validation routines for your buffers instead. Some engineers at Google have come to the conclusion that using required does more harm than good; they prefer to use only optional and repeated. However, this view is not universal."
Encrypted data is indistinguishable from random data, so it is incompressible. The chances of finding anything significant to deduplicate are so low that it's not worth trying.
I agree that eventually the stories should be forgotten, but initially, they are significantly better than my normal memory.
In fact I am starting to forget the stories of the kanji that I am exposed to regularly. However, some of the general use characters appear pretty infrequently, and for those the stories are still invaluable. I like Greg's training wheels analogy below.
Another advantage is that the stories provide a check for characters I also know visually. So if I'm writing a character from my visual memory I might be reasonably confident that I'm writing it correctly, but if I can also remember the story then I am sure.
Of course doing RtK doesn't teach you any Japanese, but since I did it I find Japanese vocab acquisition much easier. Maybe it's like learning English when you already know Greek and Latin.
- collection.fetch() now correctly calls model.parse() (I patched Backbone.Collection.prototype.parse(), but their fix is nicer)
- 'add' and 'remove' events now include the index (I had to work it out from scratch with sortedIndex())
- event 'bind' is now called 'on' (sensible as _.bind is already used for partial application)
- confusion over this.el and $()-wrapping is now cleared up
- events hash can now include functions (I like to avoid reflection where possible - even in JS)
- collection.create() now fires 'add' before the server replies (this makes writing a responsive UI much easier)
The last one is quite a significant change! Luckily my app is easy to fix, as I've only spent a few days on it.
http://stackoverflow.com/questions/282099/whats-the-hi-lo-al...
http://lambda-the-ultimate.org/node/4009
It's based on Typestate, a really good 1986 paper:
http://www.cs.cmu.edu/~aldrich/papers/classic/tse12-typestat...
I hope this idea catches on in other programming languages.