Top all-time · #996
Redirecting...
Personal blog · codecommit.comprogramming
Redirecting... is a personal blog at codecommit.com about programming. Since 2007, 70 different Hacker News readers have linked it 82 times, most often “Understanding and Applying Operational Transformation”. No feed was found, so read it on the site itself.
Most-linked posts?
- Understanding and Applying Operational Transformation15 people · 15 mentions · first linked 2010-05-29
- Monads Are Not Metaphors (2010)5 people · 5 mentions · first linked 2010-12-27
- What is Hindley-Milner and why is it cool? (2008)4 people · 4 mentions · first linked 2008-12-29
- Scala for Java Refugees4 people · 4 mentions · first linked 2009-04-20
- The Magic Behind Parser Combinators3 people · 3 mentions · first linked 2009-03-25
- Universal Type Inference is a Bad Thing2 people · 2 mentions · first linked 2010-12-16
- Is Scala Not “Functional Enough”?2 people · 2 mentions · first linked 2008-10-20
- The Joy of Concatenative Languages (Part 2)2 people · 2 mentions · first linked 2008-12-15
- Software Transactional Memory in Scala (2008)2 people · 2 mentions · first linked 2008-10-06
- /blog/scala/scala-for-java-refugees-part-62 people · 2 mentions · first linked 2009-04-08
What Hacker News says?
A while ago Google Docs even switched to using Etherpad-style operational transformation instead of diff-match-patch. Some pretty mind-bending technology here: http://www.codecommit.com/blog/java/understanding-and-applyi...
Comment linking /blog/java/understanding-and-applying-operational-transformation
on “Google Kills Wave”Submitted What is Hindley-Milner and why is it cool? (2008) as a story · 185 points
HN discussionA number of years back, I wrote an OT implementation in Clojure/ClojureScript as a hobby project [1] and learned a lot along the way. I even extracting out the core client/server implementations to their own package [2]. It's an incredibly fun topic, and one that's also really challenging. It also gave me first-hand experience with fuzz-testing where I could simulate all kinds of concurrent-edit conflicts and ensure…
Comment linking /blog/java/understanding-and-applying-operational-transformation
on “Open source collaborative text editors”Submitted Operational Transformation (algorithm behind Wave, Google Docs) as a story · 125 points
HN discussionRich Hickey makes a similar argument: http://www.codecommit.com/blog/scala/is-scala-not-functional...
Comment linking /blog/scala/is-scala-not-functional-enough
on “Java Developers”Submitted Monads Are Not Metaphors as a story · 96 points
HN discussionwell the top-level git data structure is pretty close to eg, Scala's Vector, which is an immutable container implemented as a tree with a high branching factor of 32. Modification to such a vector, rebound to a new variable, relies on structural sharing of the original ( http://www.codecommit.com/blog/scala/implementing-persistent... )
Comment linking /blog/scala/implementing-persistent-vectors-in-scala
on “Git is a purely functional data structure (2013)”Submitted Monads Are Not Metaphors (2010) as a story · 71 points
HN discussion> 6 months is a very optimistic scenario ;) Oh. > A guy responsible for OT in Google Wave wrote once that he spent 5 years on it and it still does not work well in all cases. After 3 years of struggling to get it right, we know what he meant. ...Wow, I see. (As an aside, I think it's really sad Wave's "cool" UI was never properly released.) > Anyway, I believe that you can find a good entry point to OT here: http://…
Comment linking /blog/java/understanding-and-applying-operational-transformation
on “CKEditor 5: New approach to rich text editing on the web”Submitted Hindley-Milner type inference algorithim, explained as a story · 28 points
HN discussion6 months is a very optimistic scenario ;) A guy responsible for OT in Google Wave wrote once that he spent 5 years on it and it still does not work well in all cases. After 3 years of struggling to get it right, we know what he meant. Anyway, I believe that you can find a good entry point to OT here: http://www.codecommit.com/blog/java/understanding-and-applyi... . It gives a nice overview of the problem – in a huma…
Comment linking /blog/java/understanding-and-applying-operational-transformation
on “CKEditor 5: New approach to rich text editing on the web”Submitted Software Transactional Memory in Scala (2008) as a story · 16 points
HN discussionI've seen most the points discussed several times already on python-ideas, python-dev lists -- that is at the very least some of the points have merit and if the author has anything new to add then these lists might be also the place to do it. > Even weirder, str and list both have find, but list does not have index (a related method). It is in reverse: both str and list has index() methods. str has find(). To find…
Comment linking /blog/scala/case-classes-are-cool
on “Problems I Have with Python”Submitted Monads Are Not Metaphors as a story · 15 points
HN discussionBecause they're not new. Check this XML DSL for Ruby, March 2008 http://www.codecommit.com/blog/ruby/xmlbuilder-a-ruby-dsl-ca... What's happened here is that it's being done in a statically typed language which is harder than in a dynamically typed on. So, good job done.
Comment linking /blog/ruby/xmlbuilder-a-ruby-dsl-case-study
on “Fantastic DSLs and where to find them”Submitted The Joy of Concatenative Languages (Part 2) as a story · 13 points
HN discussionWell, Antlr ( http://www.antlr.org/ ) has replaced yacc for most of the practical work already. Daniel Spiewak also mentions parser combinators and how GLL parsers can be much easier to use and yet fast enough most of the time ( http://www.codecommit.com/blog/scala/unveiling-the-mysteries... ). He mentions parser combinators as domain specif languages for creating parsers ( http://www.codecommit.com/blog/scala/the-m…
Comment linking /blog/scala/the-magic-behind-parser-combinators
on “Yacc is dead”Submitted Is Scala Really the Next C++? as a story · 12 points
HN discussionwow, just googled that. here's a great summary of Operational Transforms. http://www.codecommit.com/blog/java/understanding-and-applyi...
Comment linking /blog/java/understanding-and-applying-operational-transformation
on “Google Wave open source next steps: "Wave in a Box"”Submitted Understanding and Applying Operational Transformation as a story · 11 points
HN discussionReminds me of the operational transformation used in Wave. http://www.codecommit.com/blog/java/understanding-and-applyi... I see they mention it in the paper, saying the difference is that Wave requires a central server to impose a total ordering of operations.
Comment linking /blog/java/understanding-and-applying-operational-transformation
on “A Conflict-Free Replicated JSON Datatype”Submitted Should ORMs Insulate Developers from SQL? as a story · 11 points
HN discussionSince you've been deep diving into OT, you've probably already seen: http://www.codecommit.com/blog/java/understanding-and-applyi... But just in case you haven't, it has a nice high level overview of how Google Wave implemented rich text on a tree using annotation boundaries.
Comment linking /blog/java/understanding-and-applying-operational-transformation
on “Show HN: Working code for Operational Transformation/CRDT hybrid”Submitted Monads explained in clear text as a story · 10 points
HN discussionI love Heroku's little "language and community" section of these articles when they add a new supported platform. For example, the link to the explanation of Scala's Hindley-Milner type inference method ( http://www.codecommit.com/blog/scala/what-is-hindley-milner-... ) definitely taught me something new about the internals of Scala, and in general a new topic in Computer Science. Congrats on shipping yet another su…
Comment linking /blog/scala/what-is-hindley-milner-and-why-is-it-cool
on “Scala on Heroku”Submitted Function Currying in Scala as a story · 10 points
HN discussionYour concerns seem ill-founded given that these are solved problems. There are working implementations of low-barrier cross-language compatibility, today, for both the JVM and the CLR. Here's one example; Rhino provides pretty seamless bridging from JavaScript to Java: https://developer.mozilla.org/en/Scripting_Java I've used it to run user-supplied JS inside the JVM. PHP is pretty easy too: http://quercus.caucho.co…
Comment linking /blog/java/interop-between-java-and-scala
on “Why don't they implement Python and Ruby on the web browsers?”Submitted Odersky on Scala's type inference as a story · 5 points
HN discussionI really liked Daniel Spiewak article about it: http://www.codecommit.com/blog/scala/bloom-filters-in-scala
Comment linking /blog/scala/bloom-filters-in-scala
on “What are Bloom filters? (2015)”Submitted The Joy of Concatenative Languages as a story · 5 points
HN discussion