<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/xhtml; charset=utf-8">
</head>
<body>
<div style="font-family:sans-serif"><div style="white-space:normal">
<p dir="auto">On 23 Sep 2016, at 15:27, Monica Granfield wrote:</p>

<p dir="auto"></p></div>
<div style="white-space:pre-wrap"><blockquote style="border-left:2px solid #777; color:#777; margin:0 0 5px; padding-left:5px"><div dir="auto">Work item type and work item are generic enough to represent and
</div><div dir="auto">understand. As someone mentioned earlier, planner item would imply that the
</div><div dir="auto">object only relates to the planning phase.
</div></blockquote></div>
<div style="white-space:normal">

<p dir="auto">Or that these items would <em>only</em> be created by or used by the planner which is not the case imo.</p>

<p dir="auto"></p></div>
<div style="white-space:pre-wrap"><blockquote style="border-left:2px solid #777; color:#777; margin:0 0 5px; padding-left:5px"><div dir="auto">Labels and flexibility sound good, would just want to make sure that we
</div><div dir="auto">create a better end user experience than Google and not create the
</div><div dir="auto">usability mistakes that Google has made with all that flexibility : )
</div></blockquote></div>
<div style="white-space:normal">

<p dir="auto">Yes, google really messed up their UX around this across their product lines.<br>
i.e. label are folders in gmail but not really, in google drive you have folders<br>
but not labels and their folder ui is super-rigid/arcane.</p>

<p dir="auto"></p></div>
<div style="white-space:pre-wrap"><blockquote style="border-left:2px solid #777; color:#777; margin:0 0 5px; padding-left:5px"><div dir="auto">
</div><div dir="auto">-Monica
</div><div dir="auto">
</div><div dir="auto">On Thu, Sep 22, 2016 at 12:00 PM, <almighty-public-request@redhat.com>
</div><div dir="auto">wrote:
</div><div dir="auto">
</div><blockquote style="border-left:2px solid #777; color:#999; margin:0 0 5px; padding-left:5px; border-left-color:#999"><div dir="auto">Send almighty-public mailing list submissions to
</div><div dir="auto">        almighty-public@redhat.com
</div><div dir="auto">
</div><div dir="auto">To subscribe or unsubscribe via the World Wide Web, visit
</div><div dir="auto">        <a href="https://www.redhat.com/mailman/listinfo/almighty-public" style="color:#999">https://www.redhat.com/mailman/listinfo/almighty-public</a>
</div><div dir="auto">or, via email, send a message with subject or body 'help' to
</div><div dir="auto">        almighty-public-request@redhat.com
</div><div dir="auto">
</div><div dir="auto">You can reach the person managing the list at
</div><div dir="auto">        almighty-public-owner@redhat.com
</div><div dir="auto">
</div><div dir="auto">When replying, please edit your Subject line so it is more specific
</div><div dir="auto">than "Re: Contents of almighty-public digest..."
</div><div dir="auto">
</div><div dir="auto">
</div><div dir="auto">Today's Topics:
</div><div dir="auto">
</div><div dir="auto">   1. Re: Equaler considered harmful (Andrew Lee Rubinger)
</div><div dir="auto">   2. Terminology: work item -> planner item (Baiju Muthukadan)
</div><div dir="auto">   3. Re: Terminology: work item -> planner item (Andrew Lee Rubinger)
</div><div dir="auto">
</div><div dir="auto">
</div><div dir="auto">----------------------------------------------------------------------
</div><div dir="auto">
</div><div dir="auto">Message: 1
</div><div dir="auto">Date: Thu, 22 Sep 2016 11:35:34 -0400
</div><div dir="auto">From: Andrew Lee Rubinger <alr@redhat.com>
</div><div dir="auto">To: Konrad Kleine <kkleine@redhat.com>
</div><div dir="auto">Cc: ALMighty-public <almighty-public@redhat.com>, Thomas M?der
</div><div dir="auto">        <tmader@redhat.com>
</div><div dir="auto">Subject: Re: [almighty] Equaler considered harmful
</div><div dir="auto">Message-ID:
</div><div dir="auto">        <CABm567H_tRQYbeOhdEn_oS3G95Dfw8r1YhBo2ydDBQdenXSHTw
</div><div dir="auto">@mail.gmail.com>
</div><div dir="auto">Content-Type: text/plain; charset="utf-8"
</div><div dir="auto">
</div><div dir="auto">Also, a bit curious:
</div><div dir="auto">
</div><div dir="auto">Equality {
</div><div dir="auto">    Equals(left interface{}, right interface{}) bool
</div><div dir="auto">}
</div><div dir="auto">
</div><div dir="auto">What does the implementation of this look like?  Its usage?  Because now to
</div><div dir="auto">achieve your point 4) we've moved the responsibility of determining
</div><div dir="auto">equality from the object in question to some external equality-checker.
</div><div dir="auto">How does the equality-checker know about the various types it has to
</div><div dir="auto">support?
</div><div dir="auto">
</div><div dir="auto">S,
</div><div dir="auto">ALR
</div><div dir="auto">
</div><div dir="auto">On Thu, Sep 22, 2016 at 11:30 AM, Andrew Lee Rubinger <alr@redhat.com>
</div><div dir="auto">wrote:
</div><div dir="auto">
</div><blockquote style="border-left:2px solid #777; color:#BBB; margin:0 0 5px; padding-left:5px; border-left-color:#BBB"><div dir="auto">Java may have made an odd design design by putting "boolean
</div><div dir="auto">equals(Object)" in the root Object class as a mechanism to test equality
</div></blockquote><div dir="auto">by
</div><blockquote style="border-left:2px solid #777; color:#BBB; margin:0 0 5px; padding-left:5px; border-left-color:#BBB"><div dir="auto">value, but there's also:
</div><div dir="auto">
</div><div dir="auto">  <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html" style="color:#BBB">https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html</a>
</div><div dir="auto">
</div><div dir="auto">This approach handles not just equals but also greater/less than
</div><div dir="auto">comparisons for types that have ordered values.  You could retrofit it to
</div><div dir="auto">return an enum type instead of an int for better clarity.
</div><div dir="auto">
</div><div dir="auto">Something to consider :)
</div><div dir="auto">
</div><div dir="auto">S,
</div><div dir="auto">ALR
</div><div dir="auto">
</div><div dir="auto">On Thu, Sep 22, 2016 at 10:19 AM, Konrad Kleine <kkleine@redhat.com>
</div><div dir="auto">wrote:
</div><div dir="auto">
</div><blockquote style="border-left:2px solid #777; color:#BBB; margin:0 0 5px; padding-left:5px; border-left-color:#BBB"><div dir="auto">Hi Thomas,
</div><div dir="auto">
</div><div dir="auto">thanks for not pointing in my direction :)
</div><div dir="auto">
</div><div dir="auto">I can't wait to see a PR for this.
</div><div dir="auto">
</div><div dir="auto">Regards,
</div><div dir="auto">Konrad
</div><div dir="auto">
</div><div dir="auto">On Thu, Sep 22, 2016 at 3:32 PM, Thomas M?der <tmader@redhat.com>
</div></blockquote></blockquote><div dir="auto">wrote:
</div><blockquote style="border-left:2px solid #777; color:#BBB; margin:0 0 5px; padding-left:5px; border-left-color:#BBB"><blockquote style="border-left:2px solid #777; color:#BBB; margin:0 0 5px; padding-left:5px; border-left-color:#BBB"><div dir="auto">
</div><blockquote style="border-left:2px solid #777; color:#BBB; margin:0 0 5px; padding-left:5px; border-left-color:#BBB"><div dir="auto">Hi folks,
</div><div dir="auto">
</div><div dir="auto">some time back, we have introduced the "Equaler" interface. I believe
</div><div dir="auto">we're going down the wrong path with this: Java got this wrong
</div></blockquote></blockquote></blockquote><div dir="auto">initially
</div><blockquote style="border-left:2px solid #777; color:#BBB; margin:0 0 5px; padding-left:5px; border-left-color:#BBB"><blockquote style="border-left:2px solid #777; color:#BBB; margin:0 0 5px; padding-left:5px; border-left-color:#BBB"><blockquote style="border-left:2px solid #777; color:#BBB; margin:0 0 5px; padding-left:5px; border-left-color:#BBB"><div dir="auto">and we still suffer the consequences. Equaler looks like this:
</div><div dir="auto">
</div><div dir="auto">type Equaler interface {
</div><div dir="auto">    Equal(Equaler) bool
</div><div dir="auto">}
</div><div dir="auto">
</div><div dir="auto">There are a couple of drawbacks to this approach:
</div><div dir="auto">
</div><div dir="auto">   1. There can only be a single implementation of Equals for all time.
</div><div dir="auto">   But this too restrictive: for example, I might want to include the
</div></blockquote></blockquote></blockquote><div dir="auto">version
</div><blockquote style="border-left:2px solid #777; color:#BBB; margin:0 0 5px; padding-left:5px; border-left-color:#BBB"><blockquote style="border-left:2px solid #777; color:#BBB; margin:0 0 5px; padding-left:5px; border-left-color:#BBB"><blockquote style="border-left:2px solid #777; color:#BBB; margin:0 0 5px; padding-left:5px; border-left-color:#BBB"><div dir="auto">   field in a struct in the comparison for some cases, in other cases
</div></blockquote></blockquote></blockquote><div dir="auto">I simply
</div><blockquote style="border-left:2px solid #777; color:#BBB; margin:0 0 5px; padding-left:5px; border-left-color:#BBB"><blockquote style="border-left:2px solid #777; color:#BBB; margin:0 0 5px; padding-left:5px; border-left-color:#BBB"><blockquote style="border-left:2px solid #777; color:#BBB; margin:0 0 5px; padding-left:5px; border-left-color:#BBB"><div dir="auto">   don't care. Generally, there can be many equivalence relationships
</div></blockquote></blockquote></blockquote><div dir="auto">for a
</div><blockquote style="border-left:2px solid #777; color:#BBB; margin:0 0 5px; padding-left:5px; border-left-color:#BBB"><blockquote style="border-left:2px solid #777; color:#BBB; margin:0 0 5px; padding-left:5px; border-left-color:#BBB"><blockquote style="border-left:2px solid #777; color:#BBB; margin:0 0 5px; padding-left:5px; border-left-color:#BBB"><div dir="auto">   given set of objects. For all we know, we might consider two
</div></blockquote></blockquote></blockquote><div dir="auto">objects equal
</div><blockquote style="border-left:2px solid #777; color:#BBB; margin:0 0 5px; padding-left:5px; border-left-color:#BBB"><blockquote style="border-left:2px solid #777; color:#BBB; margin:0 0 5px; padding-left:5px; border-left-color:#BBB"><blockquote style="border-left:2px solid #777; color:#BBB; margin:0 0 5px; padding-left:5px; border-left-color:#BBB"><div dir="auto">   if they have the same color.
</div><div dir="auto">   2. You can't compose equality with this implementation
</div><div dir="auto">   In Java, this has given rise to classes like "EqualsBuilder" that
</div><div dir="auto">   allowed to do exactly that.
</div><div dir="auto">   3. We can't implement equality based on interfaces
</div><div dir="auto">   We'd have to reimplement equality for every struct (which is the
</div><div dir="auto">   first parameter).
</div><div dir="auto">   4. You always have to check for null before calling Equals()
</div><div dir="auto">
</div><div dir="auto">So I propose to rewrite the interface to :
</div><div dir="auto">
</div><div dir="auto">Equality {
</div><div dir="auto">
</div><div dir="auto">    Equals(left interface{}, right interface{}) bool
</div><div dir="auto">
</div><div dir="auto">}
</div><div dir="auto">
</div><div dir="auto">I think it would make sense that I prepare a PR to illustrate my
</div><div dir="auto">approach porting the current implementations in the "models" packe. A
</div></blockquote></blockquote></blockquote><div dir="auto">POC
</div><blockquote style="border-left:2px solid #777; color:#BBB; margin:0 0 5px; padding-left:5px; border-left-color:#BBB"><blockquote style="border-left:2px solid #777; color:#BBB; margin:0 0 5px; padding-left:5px; border-left-color:#BBB"><blockquote style="border-left:2px solid #777; color:#BBB; margin:0 0 5px; padding-left:5px; border-left-color:#BBB"><div dir="auto">shouldn't take too long.
</div><div dir="auto">
</div><div dir="auto">thoughts?
</div><div dir="auto">
</div><div dir="auto">/Thomas
</div><div dir="auto">
</div><div dir="auto">_______________________________________________
</div><div dir="auto">almighty-public mailing list
</div><div dir="auto">almighty-public@redhat.com
</div><div dir="auto"><a href="https://www.redhat.com/mailman/listinfo/almighty-public" style="color:#BBB">https://www.redhat.com/mailman/listinfo/almighty-public</a>
</div><div dir="auto">
</div><div dir="auto">
</div></blockquote><div dir="auto">
</div><div dir="auto">_______________________________________________
</div><div dir="auto">almighty-public mailing list
</div><div dir="auto">almighty-public@redhat.com
</div><div dir="auto"><a href="https://www.redhat.com/mailman/listinfo/almighty-public" style="color:#BBB">https://www.redhat.com/mailman/listinfo/almighty-public</a>
</div><div dir="auto">
</div><div dir="auto">
</div></blockquote><div dir="auto">
</div><div dir="auto">
</div><div dir="auto">--
</div><div dir="auto">Red Hat Developer Programs Architecture
</div><div dir="auto">@ALRubinger
</div><div dir="auto">
</div></blockquote><div dir="auto">
</div><div dir="auto">
</div><div dir="auto">
</div><div dir="auto">--
</div><div dir="auto">Red Hat Developer Programs Architecture
</div><div dir="auto">@ALRubinger
</div><div dir="auto">-------------- next part --------------
</div><div dir="auto">An HTML attachment was scrubbed...
</div><div dir="auto">URL: <<a href="https://www.redhat.com/archives/almighty-public/" style="color:#999">https://www.redhat.com/archives/almighty-public/</a>
</div><div dir="auto">attachments/20160922/b5cadb77/attachment.html>
</div><div dir="auto">
</div><div dir="auto">------------------------------
</div><div dir="auto">
</div><div dir="auto">Message: 2
</div><div dir="auto">Date: Thu, 22 Sep 2016 21:27:18 +0530
</div><div dir="auto">From: Baiju Muthukadan <bmuthuka@redhat.com>
</div><div dir="auto">To: ALMighty-public <almighty-public@redhat.com>
</div><div dir="auto">Subject: [almighty] Terminology: work item -> planner item
</div><div dir="auto">Message-ID:
</div><div dir="auto">        <CAJi4GASx7kzHDXi0w9sHf3Uw6qZwgiYXWqbD8WG62Ai-mXLV6w@mail.
</div><div dir="auto">gmail.com>
</div><div dir="auto">Content-Type: text/plain; charset="utf-8"
</div><div dir="auto">
</div><div dir="auto">Hi All,
</div><div dir="auto">
</div><div dir="auto">Can we change what we are calling today as work item to planner item ?
</div><div dir="auto">
</div><div dir="auto">Regards,
</div><div dir="auto">Baiju M
</div><div dir="auto">-------------- next part --------------
</div><div dir="auto">An HTML attachment was scrubbed...
</div><div dir="auto">URL: <<a href="https://www.redhat.com/archives/almighty-public/" style="color:#999">https://www.redhat.com/archives/almighty-public/</a>
</div><div dir="auto">attachments/20160922/a802b1dd/attachment.html>
</div><div dir="auto">
</div><div dir="auto">------------------------------
</div><div dir="auto">
</div><div dir="auto">Message: 3
</div><div dir="auto">Date: Thu, 22 Sep 2016 11:59:51 -0400
</div><div dir="auto">From: Andrew Lee Rubinger <alr@redhat.com>
</div><div dir="auto">To: Baiju Muthukadan <bmuthuka@redhat.com>
</div><div dir="auto">Cc: ALMighty-public <almighty-public@redhat.com>
</div><div dir="auto">Subject: Re: [almighty] Terminology: work item -> planner item
</div><div dir="auto">Message-ID:
</div><div dir="auto">        <CABm567HsNp1rWznzxV5j9jDbDa=JKNwh8mtwqFYzFJ=so9oUjw@mail.
</div><div dir="auto">gmail.com>
</div><div dir="auto">Content-Type: text/plain; charset="utf-8"
</div><div dir="auto">
</div><div dir="auto">On Thu, Sep 22, 2016 at 11:57 AM, Baiju Muthukadan <bmuthuka@redhat.com>
</div><div dir="auto">wrote:
</div><div dir="auto">
</div><blockquote style="border-left:2px solid #777; color:#BBB; margin:0 0 5px; padding-left:5px; border-left-color:#BBB"><div dir="auto">Hi All,
</div><div dir="auto">
</div><div dir="auto">Can we change what we are calling today as work item to planner item ?
</div><div dir="auto">
</div></blockquote><div dir="auto">
</div><div dir="auto">Nope. :)
</div><div dir="auto">
</div><div dir="auto">Work Items are more generic; they may represent entities not part of the
</div><div dir="auto">Planner, but instead in Build, Code, etc services.
</div><div dir="auto">
</div><div dir="auto">S,
</div><div dir="auto">ALR
</div><div dir="auto">
</div><div dir="auto">
</div><blockquote style="border-left:2px solid #777; color:#BBB; margin:0 0 5px; padding-left:5px; border-left-color:#BBB"><div dir="auto">
</div><div dir="auto">Regards,
</div><div dir="auto">Baiju M
</div><div dir="auto">
</div><div dir="auto">_______________________________________________
</div><div dir="auto">almighty-public mailing list
</div><div dir="auto">almighty-public@redhat.com
</div><div dir="auto"><a href="https://www.redhat.com/mailman/listinfo/almighty-public" style="color:#BBB">https://www.redhat.com/mailman/listinfo/almighty-public</a>
</div><div dir="auto">
</div><div dir="auto">
</div></blockquote><div dir="auto">
</div><div dir="auto">
</div><div dir="auto">--
</div><div dir="auto">Red Hat Developer Programs Architecture
</div><div dir="auto">@ALRubinger
</div><div dir="auto">-------------- next part --------------
</div><div dir="auto">An HTML attachment was scrubbed...
</div><div dir="auto">URL: <<a href="https://www.redhat.com/archives/almighty-public/" style="color:#999">https://www.redhat.com/archives/almighty-public/</a>
</div><div dir="auto">attachments/20160922/8152585a/attachment.html>
</div><div dir="auto">
</div><div dir="auto">------------------------------
</div><div dir="auto">
</div><div dir="auto">_______________________________________________
</div><div dir="auto">almighty-public mailing list
</div><div dir="auto">almighty-public@redhat.com
</div><div dir="auto"><a href="https://www.redhat.com/mailman/listinfo/almighty-public" style="color:#999">https://www.redhat.com/mailman/listinfo/almighty-public</a>
</div><div dir="auto">
</div><div dir="auto">
</div><div dir="auto">End of almighty-public Digest, Vol 5, Issue 35
</div><div dir="auto">**********************************************
</div><div dir="auto">
</div></blockquote></blockquote><div dir="auto">
</div><div dir="auto">
</div><blockquote style="border-left:2px solid #777; color:#777; margin:0 0 5px; padding-left:5px"><div dir="auto">_______________________________________________
</div><div dir="auto">almighty-public mailing list
</div><div dir="auto">almighty-public@redhat.com
</div><div dir="auto"><a href="https://www.redhat.com/mailman/listinfo/almighty-public" style="color:#777">https://www.redhat.com/mailman/listinfo/almighty-public</a>
</div></blockquote></div>
<div style="white-space:normal">

<p dir="auto">/max<br>
<a href="http://about.me/maxandersen" style="color:#3983C4">http://about.me/maxandersen</a></p>
</div>
</div>
</body>
</html>