Re: semantics of ! on closed channels

2014-01-24 Thread John Szakmeister
On Thu, Jan 23, 2014 at 9:17 PM, Cedric Greevey cgree...@gmail.com wrote:
 [meta, but about something apparently triggered by the message, from this
 thread, that I'm quoting]

 Why did reading this post cause gmail to go bonkers? I saw this thread had
 new articles since earlier today, brought it up, and read the previous
 message, then just after I'd scrolled down to this one, leaned back, and
 started reading it the browser just suddenly began spinning on its own and
 navigated by itself. Apparently about 10 seconds after I sat back
 *something* input a click on the little down-triangle in the upper right
 corner of the page and then clicked sign out because it went to the gmail
 login page. And a second or so before that the chat thingy at the left
 crashed as a popup there distracted me by appearing suddenly and saying
 something like Oops, problem connecting to chat.

GMail's sessions time out periodically.  I forget the interval (or if
it's random... it seems to be at times), but when it does, it has
similar behavior to what you've described.  Chat goes a little wonky,
and then you're brought to the sign in page some moments later.  I
think the behavior is slightly worse if you have two accounts in GMail
(I have a regular GMail account and one that's in the Apps for
Business).  They sometimes interact badly, especially around starting
and ending sessions.

-John

-- 
-- 
You received this message because you are subscribed to the Google
Groups Clojure group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
Clojure group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Re: semantics of ! on closed channels

2014-01-24 Thread Cedric Greevey
That shouldn't affect anything until the next time I try to navigate, say
to the next thread with unread messages.

Something caused the browser to spontaneously start navigating on its own.
I didn't click a link and get redirected to the signin page at that time.
It went there all by itself without my hands even being on the keyboard or
mouse.

Web browsers are not supposed to have minds of their own and start browsing
around by themselves.

Now it is possible that the session had timed out while I was reading those
messages, and a prank navigation-triggering thingy thus triggered the
signin page instead of doing something else ... which, if anything, is
worrying. If the session had not been timed out at the time the prank input
was generated, could it have taken gmail actions on my behalf such as
deleting messages or even sending mail impersonating me? As it is it cost
me my read/unread information for this thread at the time, and I had to
review the whole thing to find the messages it had marked read that I
hadn't actually read. Rather rude.

I'd like to know how to protect myself against any message display
triggering any kind of auto-navigation by the browser, partly because it
clearly can cause inconvenience (what if this thread had been one of the
real long ones, with 50+ messages, and I'd lost my place in that?) and
partly because of the risk of the auto-navigation command being the
equivalent of a phantom click on delete or send or something. Even if
the cause in this case was something that would have been harmless even
without a timed-out session preventing it from doing anything but send me
to the gmail login prompt, the next time might be something more malicious,
and might happen without the session being timed out.



On Fri, Jan 24, 2014 at 3:20 AM, John Szakmeister j...@szakmeister.netwrote:

 On Thu, Jan 23, 2014 at 9:17 PM, Cedric Greevey cgree...@gmail.com
 wrote:
  [meta, but about something apparently triggered by the message, from this
  thread, that I'm quoting]
 
  Why did reading this post cause gmail to go bonkers? I saw this thread
 had
  new articles since earlier today, brought it up, and read the previous
  message, then just after I'd scrolled down to this one, leaned back, and
  started reading it the browser just suddenly began spinning on its own
 and
  navigated by itself. Apparently about 10 seconds after I sat back
  *something* input a click on the little down-triangle in the upper right
  corner of the page and then clicked sign out because it went to the
 gmail
  login page. And a second or so before that the chat thingy at the left
  crashed as a popup there distracted me by appearing suddenly and saying
  something like Oops, problem connecting to chat.

 GMail's sessions time out periodically.  I forget the interval (or if
 it's random... it seems to be at times), but when it does, it has
 similar behavior to what you've described.  Chat goes a little wonky,
 and then you're brought to the sign in page some moments later.  I
 think the behavior is slightly worse if you have two accounts in GMail
 (I have a regular GMail account and one that's in the Apps for
 Business).  They sometimes interact badly, especially around starting
 and ending sessions.

 -John

 --
 --
 You received this message because you are subscribed to the Google
 Groups Clojure group.
 To post to this group, send email to clojure@googlegroups.com
 Note that posts from new members are moderated - please be patient with
 your first post.
 To unsubscribe from this group, send email to
 clojure+unsubscr...@googlegroups.com
 For more options, visit this group at
 http://groups.google.com/group/clojure?hl=en
 ---
 You received this message because you are subscribed to the Google Groups
 Clojure group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to clojure+unsubscr...@googlegroups.com.
 For more options, visit https://groups.google.com/groups/opt_out.


-- 
-- 
You received this message because you are subscribed to the Google
Groups Clojure group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
Clojure group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Re: semantics of ! on closed channels

2014-01-23 Thread Meikel Brandmeyer (kotarak)
Hi,

probably the idea is, that the one who's feeding the channel is the one in 
charge of closing it. After all, they know when there is no more input 
available. Do you have a use case where this problem manifests? Or is that 
just a vague fear that it might happen?

Kind regards
Meikel

-- 
-- 
You received this message because you are subscribed to the Google
Groups Clojure group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
Clojure group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Re: semantics of ! on closed channels

2014-01-23 Thread t x
Hi,

  * This is the time I've heard the one who's feeding the channel is the
one in charge of closing it -- previously, my channel code was fairly
ad-hoc and agressive (since I need to kill many (go-loop [msg (! ... )]
(when msg ...)) blocks).

  * I still feel this breaks the conveyor belt metaphor -- when a
conveyor belt shuts down, it's understandable that we after we take what's
on the belt, in future takes, we get nothing.

  However, when putting items on a stopped conveyor belt, messages should
not just *poof* vanish into the void. :-)

  * This existing semantics makes debugging annoying (perhaps this is due
to my lack of skill). When something should be happening, and nothing is
happening, I'm basically going around hunting for where did I do a put on
a closed channel, whereas if it threw an exception of some form, it'd be
easier to handle then this silent fail.




On Thu, Jan 23, 2014 at 3:50 AM, Meikel Brandmeyer (kotarak) 
m...@kotka.dewrote:

 Hi,

 probably the idea is, that the one who's feeding the channel is the one in
 charge of closing it. After all, they know when there is no more input
 available. Do you have a use case where this problem manifests? Or is that
 just a vague fear that it might happen?

 Kind regards
 Meikel

  --
 --
 You received this message because you are subscribed to the Google
 Groups Clojure group.
 To post to this group, send email to clojure@googlegroups.com
 Note that posts from new members are moderated - please be patient with
 your first post.
 To unsubscribe from this group, send email to
 clojure+unsubscr...@googlegroups.com
 For more options, visit this group at
 http://groups.google.com/group/clojure?hl=en
 ---
 You received this message because you are subscribed to the Google Groups
 Clojure group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to clojure+unsubscr...@googlegroups.com.
 For more options, visit https://groups.google.com/groups/opt_out.


-- 
-- 
You received this message because you are subscribed to the Google
Groups Clojure group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
Clojure group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Re: semantics of ! on closed channels

2014-01-23 Thread t x
Following up on this, will something terrible happen if:

https://github.com/clojure/core.async/blob/master/src/main/clojure/clojure/core/async/impl/channels.clj#L59

was changed from
(box nil)
to
(box :chan-closed)


On Thu, Jan 23, 2014 at 4:21 AM, t x txrev...@gmail.com wrote:

 Hi,

   * This is the time I've heard the one who's feeding the channel is the
 one in charge of closing it -- previously, my channel code was fairly
 ad-hoc and agressive (since I need to kill many (go-loop [msg (! ... )]
 (when msg ...)) blocks).

   * I still feel this breaks the conveyor belt metaphor -- when a
 conveyor belt shuts down, it's understandable that we after we take what's
 on the belt, in future takes, we get nothing.

   However, when putting items on a stopped conveyor belt, messages should
 not just *poof* vanish into the void. :-)

   * This existing semantics makes debugging annoying (perhaps this is due
 to my lack of skill). When something should be happening, and nothing is
 happening, I'm basically going around hunting for where did I do a put on
 a closed channel, whereas if it threw an exception of some form, it'd be
 easier to handle then this silent fail.




 On Thu, Jan 23, 2014 at 3:50 AM, Meikel Brandmeyer (kotarak) 
 m...@kotka.dewrote:

 Hi,

 probably the idea is, that the one who's feeding the channel is the one
 in charge of closing it. After all, they know when there is no more input
 available. Do you have a use case where this problem manifests? Or is that
 just a vague fear that it might happen?

 Kind regards
 Meikel

  --
 --
 You received this message because you are subscribed to the Google
 Groups Clojure group.
 To post to this group, send email to clojure@googlegroups.com
 Note that posts from new members are moderated - please be patient with
 your first post.
 To unsubscribe from this group, send email to
 clojure+unsubscr...@googlegroups.com
 For more options, visit this group at
 http://groups.google.com/group/clojure?hl=en
 ---
 You received this message because you are subscribed to the Google Groups
 Clojure group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to clojure+unsubscr...@googlegroups.com.
 For more options, visit https://groups.google.com/groups/opt_out.




-- 
-- 
You received this message because you are subscribed to the Google
Groups Clojure group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
Clojure group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Re: semantics of ! on closed channels

2014-01-23 Thread Meikel Brandmeyer (kotarak)
Hi,

there is only one reason I can imagine to close a channel: the one in 
charge determined that there is not more input. And the one in charge is 
either the producing side, or a kind of supervisor. In the latter case a 
separate way of communication is needed to inform the sender, that they 
should stop sending. This could be done via the channel. Or something 
completely separate.

I haven't used core.async much. I'm trying to understand myself what useful 
patterns are. Do you have a simple use case, where the pattern you describe 
(a supervisor closes an input channel without notifying senders about it) 
is the most straight-forward way?

(All that doesn't mean that core.async couldn't be modified as you suggest.)

Meikel

-- 
-- 
You received this message because you are subscribed to the Google
Groups Clojure group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
Clojure group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Re: semantics of ! on closed channels

2014-01-23 Thread Timothy Baldridge
t x, these change you suggest are almost exactly what we have done in the
put ret branch. I merged these changes into master this morning, and
would be interested in your feedback. Within a few hours these changes
should be available via the 0.1.0-SNAPSHOT version of core.async, or via
downloading the core.async source and doing lein install from the
directory.

I just sent an email to this mailing list that explains these changes and
the updated semantics.

I hope this helps,

Timothy Baldridge


On Thu, Jan 23, 2014 at 5:53 AM, Meikel Brandmeyer (kotarak) 
m...@kotka.dewrote:

 Hi,

 there is only one reason I can imagine to close a channel: the one in
 charge determined that there is not more input. And the one in charge is
 either the producing side, or a kind of supervisor. In the latter case a
 separate way of communication is needed to inform the sender, that they
 should stop sending. This could be done via the channel. Or something
 completely separate.

 I haven't used core.async much. I'm trying to understand myself what
 useful patterns are. Do you have a simple use case, where the pattern you
 describe (a supervisor closes an input channel without notifying senders
 about it) is the most straight-forward way?

 (All that doesn't mean that core.async couldn't be modified as you
 suggest.)

 Meikel

 --
 --
 You received this message because you are subscribed to the Google
 Groups Clojure group.
 To post to this group, send email to clojure@googlegroups.com
 Note that posts from new members are moderated - please be patient with
 your first post.
 To unsubscribe from this group, send email to
 clojure+unsubscr...@googlegroups.com
 For more options, visit this group at
 http://groups.google.com/group/clojure?hl=en
 ---
 You received this message because you are subscribed to the Google Groups
 Clojure group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to clojure+unsubscr...@googlegroups.com.
 For more options, visit https://groups.google.com/groups/opt_out.




-- 
One of the main causes of the fall of the Roman Empire was that-lacking
zero-they had no way to indicate successful termination of their C
programs.
(Robert Firth)

-- 
-- 
You received this message because you are subscribed to the Google
Groups Clojure group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
Clojure group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Re: semantics of ! on closed channels

2014-01-23 Thread t x
With apologies for my ignorance:

Is there a way to tell lein:

  I want to pull the code state defined by this commit: ?
https://github.com/clojure/core.async/commit/76b25bf91c670b0c3542ed9cb687ff29fb2183a7

(I tried 0.1.0-SNAPSHOT but it appears not updated yet.)


On Thu, Jan 23, 2014 at 6:07 AM, Timothy Baldridge tbaldri...@gmail.comwrote:

 t x, these change you suggest are almost exactly what we have done in the
 put ret branch. I merged these changes into master this morning, and
 would be interested in your feedback. Within a few hours these changes
 should be available via the 0.1.0-SNAPSHOT version of core.async, or via
 downloading the core.async source and doing lein install from the
 directory.

 I just sent an email to this mailing list that explains these changes and
 the updated semantics.

 I hope this helps,

 Timothy Baldridge


 On Thu, Jan 23, 2014 at 5:53 AM, Meikel Brandmeyer (kotarak) 
 m...@kotka.dewrote:

 Hi,

 there is only one reason I can imagine to close a channel: the one in
 charge determined that there is not more input. And the one in charge is
 either the producing side, or a kind of supervisor. In the latter case a
 separate way of communication is needed to inform the sender, that they
 should stop sending. This could be done via the channel. Or something
 completely separate.

 I haven't used core.async much. I'm trying to understand myself what
 useful patterns are. Do you have a simple use case, where the pattern you
 describe (a supervisor closes an input channel without notifying senders
 about it) is the most straight-forward way?

 (All that doesn't mean that core.async couldn't be modified as you
 suggest.)

 Meikel

 --
 --
 You received this message because you are subscribed to the Google
 Groups Clojure group.
 To post to this group, send email to clojure@googlegroups.com
 Note that posts from new members are moderated - please be patient with
 your first post.
 To unsubscribe from this group, send email to
 clojure+unsubscr...@googlegroups.com
 For more options, visit this group at
 http://groups.google.com/group/clojure?hl=en
 ---
 You received this message because you are subscribed to the Google Groups
 Clojure group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to clojure+unsubscr...@googlegroups.com.
 For more options, visit https://groups.google.com/groups/opt_out.




 --
 “One of the main causes of the fall of the Roman Empire was that–lacking
 zero–they had no way to indicate successful termination of their C
 programs.”
 (Robert Firth)

 --
 --
 You received this message because you are subscribed to the Google
 Groups Clojure group.
 To post to this group, send email to clojure@googlegroups.com
 Note that posts from new members are moderated - please be patient with
 your first post.
 To unsubscribe from this group, send email to
 clojure+unsubscr...@googlegroups.com
 For more options, visit this group at
 http://groups.google.com/group/clojure?hl=en
 ---
 You received this message because you are subscribed to the Google Groups
 Clojure group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to clojure+unsubscr...@googlegroups.com.
 For more options, visit https://groups.google.com/groups/opt_out.


-- 
-- 
You received this message because you are subscribed to the Google
Groups Clojure group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
Clojure group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Re: semantics of ! on closed channels

2014-01-23 Thread Timothy Baldridge
This document should help you find the repo you need to add:

http://dev.clojure.org/display/community/Maven+Settings+and+Repositories

Timothy


On Thu, Jan 23, 2014 at 1:49 PM, t x txrev...@gmail.com wrote:

 With apologies for my ignorance:

 Is there a way to tell lein:

   I want to pull the code state defined by this commit: ?

 https://github.com/clojure/core.async/commit/76b25bf91c670b0c3542ed9cb687ff29fb2183a7

 (I tried 0.1.0-SNAPSHOT but it appears not updated yet.)


 On Thu, Jan 23, 2014 at 6:07 AM, Timothy Baldridge 
 tbaldri...@gmail.comwrote:

 t x, these change you suggest are almost exactly what we have done in the
 put ret branch. I merged these changes into master this morning, and
 would be interested in your feedback. Within a few hours these changes
 should be available via the 0.1.0-SNAPSHOT version of core.async, or via
 downloading the core.async source and doing lein install from the
 directory.

 I just sent an email to this mailing list that explains these changes and
 the updated semantics.

 I hope this helps,

 Timothy Baldridge


 On Thu, Jan 23, 2014 at 5:53 AM, Meikel Brandmeyer (kotarak) m...@kotka.de
  wrote:

 Hi,

 there is only one reason I can imagine to close a channel: the one in
 charge determined that there is not more input. And the one in charge is
 either the producing side, or a kind of supervisor. In the latter case a
 separate way of communication is needed to inform the sender, that they
 should stop sending. This could be done via the channel. Or something
 completely separate.

 I haven't used core.async much. I'm trying to understand myself what
 useful patterns are. Do you have a simple use case, where the pattern you
 describe (a supervisor closes an input channel without notifying senders
 about it) is the most straight-forward way?

 (All that doesn't mean that core.async couldn't be modified as you
 suggest.)

 Meikel

 --
 --
 You received this message because you are subscribed to the Google
 Groups Clojure group.
 To post to this group, send email to clojure@googlegroups.com
 Note that posts from new members are moderated - please be patient with
 your first post.
 To unsubscribe from this group, send email to
 clojure+unsubscr...@googlegroups.com
 For more options, visit this group at
 http://groups.google.com/group/clojure?hl=en
 ---
 You received this message because you are subscribed to the Google
 Groups Clojure group.
 To unsubscribe from this group and stop receiving emails from it, send
 an email to clojure+unsubscr...@googlegroups.com.
 For more options, visit https://groups.google.com/groups/opt_out.




 --
 “One of the main causes of the fall of the Roman Empire was that–lacking
 zero–they had no way to indicate successful termination of their C
 programs.”
 (Robert Firth)

 --
 --
 You received this message because you are subscribed to the Google
 Groups Clojure group.
 To post to this group, send email to clojure@googlegroups.com
 Note that posts from new members are moderated - please be patient with
 your first post.
 To unsubscribe from this group, send email to
 clojure+unsubscr...@googlegroups.com
 For more options, visit this group at
 http://groups.google.com/group/clojure?hl=en
 ---
 You received this message because you are subscribed to the Google Groups
 Clojure group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to clojure+unsubscr...@googlegroups.com.
 For more options, visit https://groups.google.com/groups/opt_out.


  --
 --
 You received this message because you are subscribed to the Google
 Groups Clojure group.
 To post to this group, send email to clojure@googlegroups.com
 Note that posts from new members are moderated - please be patient with
 your first post.
 To unsubscribe from this group, send email to
 clojure+unsubscr...@googlegroups.com
 For more options, visit this group at
 http://groups.google.com/group/clojure?hl=en
 ---
 You received this message because you are subscribed to the Google Groups
 Clojure group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to clojure+unsubscr...@googlegroups.com.
 For more options, visit https://groups.google.com/groups/opt_out.




-- 
“One of the main causes of the fall of the Roman Empire was that–lacking
zero–they had no way to indicate successful termination of their C
programs.”
(Robert Firth)

-- 
-- 
You received this message because you are subscribed to the Google
Groups Clojure group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
Clojure group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to 

Re: semantics of ! on closed channels

2014-01-23 Thread t x
Everything works as expected now.

Thanks!


On Thu, Jan 23, 2014 at 12:54 PM, Timothy Baldridge tbaldri...@gmail.comwrote:

 This document should help you find the repo you need to add:

 http://dev.clojure.org/display/community/Maven+Settings+and+Repositories

 Timothy


 On Thu, Jan 23, 2014 at 1:49 PM, t x txrev...@gmail.com wrote:

 With apologies for my ignorance:

 Is there a way to tell lein:

   I want to pull the code state defined by this commit: ?

 https://github.com/clojure/core.async/commit/76b25bf91c670b0c3542ed9cb687ff29fb2183a7

 (I tried 0.1.0-SNAPSHOT but it appears not updated yet.)


 On Thu, Jan 23, 2014 at 6:07 AM, Timothy Baldridge 
 tbaldri...@gmail.comwrote:

 t x, these change you suggest are almost exactly what we have done in
 the put ret branch. I merged these changes into master this morning, and
 would be interested in your feedback. Within a few hours these changes
 should be available via the 0.1.0-SNAPSHOT version of core.async, or via
 downloading the core.async source and doing lein install from the
 directory.

 I just sent an email to this mailing list that explains these changes
 and the updated semantics.

 I hope this helps,

 Timothy Baldridge


 On Thu, Jan 23, 2014 at 5:53 AM, Meikel Brandmeyer (kotarak) 
 m...@kotka.de wrote:

 Hi,

 there is only one reason I can imagine to close a channel: the one in
 charge determined that there is not more input. And the one in charge is
 either the producing side, or a kind of supervisor. In the latter case a
 separate way of communication is needed to inform the sender, that they
 should stop sending. This could be done via the channel. Or something
 completely separate.

 I haven't used core.async much. I'm trying to understand myself what
 useful patterns are. Do you have a simple use case, where the pattern you
 describe (a supervisor closes an input channel without notifying senders
 about it) is the most straight-forward way?

 (All that doesn't mean that core.async couldn't be modified as you
 suggest.)

 Meikel

 --
 --
 You received this message because you are subscribed to the Google
 Groups Clojure group.
 To post to this group, send email to clojure@googlegroups.com
 Note that posts from new members are moderated - please be patient with
 your first post.
 To unsubscribe from this group, send email to
 clojure+unsubscr...@googlegroups.com
 For more options, visit this group at
 http://groups.google.com/group/clojure?hl=en
 ---
 You received this message because you are subscribed to the Google
 Groups Clojure group.
 To unsubscribe from this group and stop receiving emails from it, send
 an email to clojure+unsubscr...@googlegroups.com.
 For more options, visit https://groups.google.com/groups/opt_out.




 --
 “One of the main causes of the fall of the Roman Empire was that–lacking
 zero–they had no way to indicate successful termination of their C
 programs.”
 (Robert Firth)

 --
 --
 You received this message because you are subscribed to the Google
 Groups Clojure group.
 To post to this group, send email to clojure@googlegroups.com
 Note that posts from new members are moderated - please be patient with
 your first post.
 To unsubscribe from this group, send email to
 clojure+unsubscr...@googlegroups.com
 For more options, visit this group at
 http://groups.google.com/group/clojure?hl=en
 ---
 You received this message because you are subscribed to the Google
 Groups Clojure group.
 To unsubscribe from this group and stop receiving emails from it, send
 an email to clojure+unsubscr...@googlegroups.com.
 For more options, visit https://groups.google.com/groups/opt_out.


  --
 --
 You received this message because you are subscribed to the Google
 Groups Clojure group.
 To post to this group, send email to clojure@googlegroups.com
 Note that posts from new members are moderated - please be patient with
 your first post.
 To unsubscribe from this group, send email to
 clojure+unsubscr...@googlegroups.com
 For more options, visit this group at
 http://groups.google.com/group/clojure?hl=en
 ---
 You received this message because you are subscribed to the Google Groups
 Clojure group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to clojure+unsubscr...@googlegroups.com.
 For more options, visit https://groups.google.com/groups/opt_out.




 --
 “One of the main causes of the fall of the Roman Empire was that–lacking
 zero–they had no way to indicate successful termination of their C
 programs.”
 (Robert Firth)

 --
 --
 You received this message because you are subscribed to the Google
 Groups Clojure group.
 To post to this group, send email to clojure@googlegroups.com
 Note that posts from new members are moderated - please be patient with
 your first post.
 To unsubscribe from this group, send email to
 clojure+unsubscr...@googlegroups.com
 For more options, visit this group at
 http://groups.google.com/group/clojure?hl=en
 ---
 You received this message because you are 

Re: semantics of ! on closed channels

2014-01-23 Thread Cedric Greevey
[meta, but about something apparently triggered by the message, from this
thread, that I'm quoting]

Why did reading this post cause gmail to go bonkers? I saw this thread had
new articles since earlier today, brought it up, and read the previous
message, then just after I'd scrolled down to this one, leaned back, and
started reading it the browser just suddenly began spinning on its own and
navigated by itself. Apparently about 10 seconds after I sat back
*something* input a click on the little down-triangle in the upper right
corner of the page and then clicked sign out because it went to the gmail
login page. And a second or so before that the chat thingy at the left
crashed as a popup there distracted me by appearing suddenly and saying
something like Oops, problem connecting to chat.

I don't like having my stuff suddenly go spinning out of control like that.
I wasn't touching the keyboard or the mouse at the time. The browser should
not have done anything but sit there patiently displaying this page until
*I* *CHOSE* to navigate away from it. If there is something in your message
that hijacks the browsers of people reading it, then I would like you to
know that I consider such a thing to be extremely poor etiquette and in
extremely poor taste. Do not do it again. If it was not that particular
message then I'd like to know what *did* reach into *MY* computer and start
issuing instructions on *MY* behalf *without* *MY* permission, and how to
stop that from ever happening again. This is *MY* copy of Firefox and it
goes where *I* say it does, when *I* say it does it, and not a moment
sooner. Is that absofrickinglutely clear? That is non-negotiable. Anyone
who willfully violates this edict *will* be added to my spam filter and I
will not see any future post by that author. Is *that* clear?




On Thu, Jan 23, 2014 at 7:21 AM, t x txrev...@gmail.com wrote:

 Hi,

   * This is the time I've heard the one who's feeding the channel is the
 one in charge of closing it -- previously, my channel code was fairly
 ad-hoc and agressive (since I need to kill many (go-loop [msg (! ... )]
 (when msg ...)) blocks).

   * I still feel this breaks the conveyor belt metaphor -- when a
 conveyor belt shuts down, it's understandable that we after we take what's
 on the belt, in future takes, we get nothing.

   However, when putting items on a stopped conveyor belt, messages should
 not just *poof* vanish into the void. :-)

   * This existing semantics makes debugging annoying (perhaps this is due
 to my lack of skill). When something should be happening, and nothing is
 happening, I'm basically going around hunting for where did I do a put on
 a closed channel, whereas if it threw an exception of some form, it'd be
 easier to handle then this silent fail.




 On Thu, Jan 23, 2014 at 3:50 AM, Meikel Brandmeyer (kotarak) 
 m...@kotka.dewrote:

 Hi,

 probably the idea is, that the one who's feeding the channel is the one
 in charge of closing it. After all, they know when there is no more input
 available. Do you have a use case where this problem manifests? Or is that
 just a vague fear that it might happen?

 Kind regards
 Meikel

  --
 --
 You received this message because you are subscribed to the Google
 Groups Clojure group.
 To post to this group, send email to clojure@googlegroups.com
 Note that posts from new members are moderated - please be patient with
 your first post.
 To unsubscribe from this group, send email to
 clojure+unsubscr...@googlegroups.com
 For more options, visit this group at
 http://groups.google.com/group/clojure?hl=en
 ---
 You received this message because you are subscribed to the Google Groups
 Clojure group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to clojure+unsubscr...@googlegroups.com.
 For more options, visit https://groups.google.com/groups/opt_out.


  --
 --
 You received this message because you are subscribed to the Google
 Groups Clojure group.
 To post to this group, send email to clojure@googlegroups.com
 Note that posts from new members are moderated - please be patient with
 your first post.
 To unsubscribe from this group, send email to
 clojure+unsubscr...@googlegroups.com
 For more options, visit this group at
 http://groups.google.com/group/clojure?hl=en
 ---
 You received this message because you are subscribed to the Google Groups
 Clojure group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to clojure+unsubscr...@googlegroups.com.
 For more options, visit https://groups.google.com/groups/opt_out.


-- 
-- 
You received this message because you are subscribed to the Google
Groups Clojure group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at

Re: semantics of ! on closed channels

2014-01-23 Thread Timothy Baldridge
Umwat?
On Jan 23, 2014 7:17 PM, Cedric Greevey cgree...@gmail.com wrote:

 [meta, but about something apparently triggered by the message, from this
 thread, that I'm quoting]

 Why did reading this post cause gmail to go bonkers? I saw this thread had
 new articles since earlier today, brought it up, and read the previous
 message, then just after I'd scrolled down to this one, leaned back, and
 started reading it the browser just suddenly began spinning on its own and
 navigated by itself. Apparently about 10 seconds after I sat back
 *something* input a click on the little down-triangle in the upper right
 corner of the page and then clicked sign out because it went to the gmail
 login page. And a second or so before that the chat thingy at the left
 crashed as a popup there distracted me by appearing suddenly and saying
 something like Oops, problem connecting to chat.

 I don't like having my stuff suddenly go spinning out of control like
 that. I wasn't touching the keyboard or the mouse at the time. The browser
 should not have done anything but sit there patiently displaying this page
 until *I* *CHOSE* to navigate away from it. If there is something in your
 message that hijacks the browsers of people reading it, then I would like
 you to know that I consider such a thing to be extremely poor etiquette and
 in extremely poor taste. Do not do it again. If it was not that particular
 message then I'd like to know what *did* reach into *MY* computer and start
 issuing instructions on *MY* behalf *without* *MY* permission, and how to
 stop that from ever happening again. This is *MY* copy of Firefox and it
 goes where *I* say it does, when *I* say it does it, and not a moment
 sooner. Is that absofrickinglutely clear? That is non-negotiable. Anyone
 who willfully violates this edict *will* be added to my spam filter and I
 will not see any future post by that author. Is *that* clear?




 On Thu, Jan 23, 2014 at 7:21 AM, t x txrev...@gmail.com wrote:

 Hi,

   * This is the time I've heard the one who's feeding the channel is the
 one in charge of closing it -- previously, my channel code was fairly
 ad-hoc and agressive (since I need to kill many (go-loop [msg (! ... )]
 (when msg ...)) blocks).

   * I still feel this breaks the conveyor belt metaphor -- when a
 conveyor belt shuts down, it's understandable that we after we take what's
 on the belt, in future takes, we get nothing.

   However, when putting items on a stopped conveyor belt, messages should
 not just *poof* vanish into the void. :-)

   * This existing semantics makes debugging annoying (perhaps this is due
 to my lack of skill). When something should be happening, and nothing is
 happening, I'm basically going around hunting for where did I do a put on
 a closed channel, whereas if it threw an exception of some form, it'd be
 easier to handle then this silent fail.




 On Thu, Jan 23, 2014 at 3:50 AM, Meikel Brandmeyer (kotarak) m...@kotka.de
  wrote:

 Hi,

 probably the idea is, that the one who's feeding the channel is the one
 in charge of closing it. After all, they know when there is no more input
 available. Do you have a use case where this problem manifests? Or is that
 just a vague fear that it might happen?

 Kind regards
 Meikel

  --
 --
 You received this message because you are subscribed to the Google
 Groups Clojure group.
 To post to this group, send email to clojure@googlegroups.com
 Note that posts from new members are moderated - please be patient with
 your first post.
 To unsubscribe from this group, send email to
 clojure+unsubscr...@googlegroups.com
 For more options, visit this group at
 http://groups.google.com/group/clojure?hl=en
 ---
 You received this message because you are subscribed to the Google
 Groups Clojure group.
 To unsubscribe from this group and stop receiving emails from it, send
 an email to clojure+unsubscr...@googlegroups.com.
 For more options, visit https://groups.google.com/groups/opt_out.


  --
 --
 You received this message because you are subscribed to the Google
 Groups Clojure group.
 To post to this group, send email to clojure@googlegroups.com
 Note that posts from new members are moderated - please be patient with
 your first post.
 To unsubscribe from this group, send email to
 clojure+unsubscr...@googlegroups.com
 For more options, visit this group at
 http://groups.google.com/group/clojure?hl=en
 ---
 You received this message because you are subscribed to the Google Groups
 Clojure group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to clojure+unsubscr...@googlegroups.com.
 For more options, visit https://groups.google.com/groups/opt_out.


  --
 --
 You received this message because you are subscribed to the Google
 Groups Clojure group.
 To post to this group, send email to clojure@googlegroups.com
 Note that posts from new members are moderated - please be patient with
 your first post.
 To unsubscribe from this group, 

Re: semantics of ! on closed channels

2014-01-23 Thread Cedric Greevey
Which part didn't you understand? When I scrolled down to t x's message,
after a short delay *something* wrested control of Firefox away from me and
issued a sequence of navigation commands the effect of which was to log me
out of gmail, much as if I'd clicked the little down arrow by my username
and then clicked signout.

I don't know if it was something in t x's message that triggered it (if
so, it didn't have the same effect when I viewed it again after logging
back in), but I do know that I do not appreciate having my computer
hijacked. I'm sure you can understand how it's rather alarming to have your
stuff just suddenly start acting on its own initiative, right in front of
your eyes, when the damned thing isn't supposed to *have* its own
initiative.

In any event, if anyone can shed any light on this incident I'd appreciate
information. (For example: does an expert on browser security see anything
in t x's post, or any other in this thread, that could have triggered
anything unusual in susceptible versions of Firefox? Should I wipe and
reinstall this machine on the presumption that the seemingly superficial
hijack left it infected with a nasty rootkit of some sort, or was it just a
prank, or even a known software bug somewhere?)


On Thu, Jan 23, 2014 at 9:20 PM, Timothy Baldridge tbaldri...@gmail.comwrote:

 Umwat?
 On Jan 23, 2014 7:17 PM, Cedric Greevey cgree...@gmail.com wrote:

 [meta, but about something apparently triggered by the message, from this
 thread, that I'm quoting]

 Why did reading this post cause gmail to go bonkers? I saw this thread
 had new articles since earlier today, brought it up, and read the previous
 message, then just after I'd scrolled down to this one, leaned back, and
 started reading it the browser just suddenly began spinning on its own and
 navigated by itself. Apparently about 10 seconds after I sat back
 *something* input a click on the little down-triangle in the upper right
 corner of the page and then clicked sign out because it went to the gmail
 login page. And a second or so before that the chat thingy at the left
 crashed as a popup there distracted me by appearing suddenly and saying
 something like Oops, problem connecting to chat.

 I don't like having my stuff suddenly go spinning out of control like
 that. I wasn't touching the keyboard or the mouse at the time. The browser
 should not have done anything but sit there patiently displaying this page
 until *I* *CHOSE* to navigate away from it. If there is something in your
 message that hijacks the browsers of people reading it, then I would like
 you to know that I consider such a thing to be extremely poor etiquette and
 in extremely poor taste. Do not do it again. If it was not that particular
 message then I'd like to know what *did* reach into *MY* computer and start
 issuing instructions on *MY* behalf *without* *MY* permission, and how to
 stop that from ever happening again. This is *MY* copy of Firefox and it
 goes where *I* say it does, when *I* say it does it, and not a moment
 sooner. Is that absofrickinglutely clear? That is non-negotiable. Anyone
 who willfully violates this edict *will* be added to my spam filter and I
 will not see any future post by that author. Is *that* clear?




 On Thu, Jan 23, 2014 at 7:21 AM, t x txrev...@gmail.com wrote:

 Hi,

   * This is the time I've heard the one who's feeding the channel is
 the one in charge of closing it -- previously, my channel code was fairly
 ad-hoc and agressive (since I need to kill many (go-loop [msg (! ... )]
 (when msg ...)) blocks).

   * I still feel this breaks the conveyor belt metaphor -- when a
 conveyor belt shuts down, it's understandable that we after we take what's
 on the belt, in future takes, we get nothing.

   However, when putting items on a stopped conveyor belt, messages
 should not just *poof* vanish into the void. :-)

   * This existing semantics makes debugging annoying (perhaps this is
 due to my lack of skill). When something should be happening, and nothing
 is happening, I'm basically going around hunting for where did I do a put
 on a closed channel, whereas if it threw an exception of some form, it'd
 be easier to handle then this silent fail.




 On Thu, Jan 23, 2014 at 3:50 AM, Meikel Brandmeyer (kotarak) 
 m...@kotka.de wrote:

 Hi,

 probably the idea is, that the one who's feeding the channel is the one
 in charge of closing it. After all, they know when there is no more input
 available. Do you have a use case where this problem manifests? Or is that
 just a vague fear that it might happen?

 Kind regards
 Meikel

  --
 --
 You received this message because you are subscribed to the Google
 Groups Clojure group.
 To post to this group, send email to clojure@googlegroups.com
 Note that posts from new members are moderated - please be patient with
 your first post.
 To unsubscribe from this group, send email to
 clojure+unsubscr...@googlegroups.com
 For more options, visit this group at

Re: semantics of ! on closed channels

2014-01-23 Thread Timothy Baldridge
Which part didn't you understand?

The part where you think that this is the appropriate channel for
discussing general IT problems you are having with your computer

 I don't know if it was something in t x's message that triggered it

Well you accused him of that pretty much right off the bat...

 In any event, if anyone can shed any light on this incident I'd
appreciate information.

Sure, it can be a number of things. a) a bug in your mouse driver. b) a
failing mouse battery. c) dirt on/in the mouse d) a bug in your browser e)
a virus on your computer. f) a bug in gmail.

All of these are much, much more likely than what you originally suggested.
The idea that someone posting to a google group can get a virus through a
text email, and that that virus somehow affected your browser, is just
laughable.

Timothy


On Thu, Jan 23, 2014 at 7:34 PM, Cedric Greevey cgree...@gmail.com wrote:

 Which part didn't you understand? When I scrolled down to t x's message,
 after a short delay *something* wrested control of Firefox away from me and
 issued a sequence of navigation commands the effect of which was to log me
 out of gmail, much as if I'd clicked the little down arrow by my username
 and then clicked signout.

 I don't know if it was something in t x's message that triggered it (if
 so, it didn't have the same effect when I viewed it again after logging
 back in), but I do know that I do not appreciate having my computer
 hijacked. I'm sure you can understand how it's rather alarming to have your
 stuff just suddenly start acting on its own initiative, right in front of
 your eyes, when the damned thing isn't supposed to *have* its own
 initiative.

 In any event, if anyone can shed any light on this incident I'd appreciate
 information. (For example: does an expert on browser security see anything
 in t x's post, or any other in this thread, that could have triggered
 anything unusual in susceptible versions of Firefox? Should I wipe and
 reinstall this machine on the presumption that the seemingly superficial
 hijack left it infected with a nasty rootkit of some sort, or was it just a
 prank, or even a known software bug somewhere?)


 On Thu, Jan 23, 2014 at 9:20 PM, Timothy Baldridge 
 tbaldri...@gmail.comwrote:

 Umwat?
 On Jan 23, 2014 7:17 PM, Cedric Greevey cgree...@gmail.com wrote:

 [meta, but about something apparently triggered by the message, from
 this thread, that I'm quoting]

 Why did reading this post cause gmail to go bonkers? I saw this thread
 had new articles since earlier today, brought it up, and read the previous
 message, then just after I'd scrolled down to this one, leaned back, and
 started reading it the browser just suddenly began spinning on its own and
 navigated by itself. Apparently about 10 seconds after I sat back
 *something* input a click on the little down-triangle in the upper right
 corner of the page and then clicked sign out because it went to the gmail
 login page. And a second or so before that the chat thingy at the left
 crashed as a popup there distracted me by appearing suddenly and saying
 something like Oops, problem connecting to chat.

 I don't like having my stuff suddenly go spinning out of control like
 that. I wasn't touching the keyboard or the mouse at the time. The browser
 should not have done anything but sit there patiently displaying this page
 until *I* *CHOSE* to navigate away from it. If there is something in your
 message that hijacks the browsers of people reading it, then I would like
 you to know that I consider such a thing to be extremely poor etiquette and
 in extremely poor taste. Do not do it again. If it was not that particular
 message then I'd like to know what *did* reach into *MY* computer and start
 issuing instructions on *MY* behalf *without* *MY* permission, and how to
 stop that from ever happening again. This is *MY* copy of Firefox and it
 goes where *I* say it does, when *I* say it does it, and not a moment
 sooner. Is that absofrickinglutely clear? That is non-negotiable. Anyone
 who willfully violates this edict *will* be added to my spam filter and I
 will not see any future post by that author. Is *that* clear?




 On Thu, Jan 23, 2014 at 7:21 AM, t x txrev...@gmail.com wrote:

 Hi,

   * This is the time I've heard the one who's feeding the channel is
 the one in charge of closing it -- previously, my channel code was fairly
 ad-hoc and agressive (since I need to kill many (go-loop [msg (! ... )]
 (when msg ...)) blocks).

   * I still feel this breaks the conveyor belt metaphor -- when a
 conveyor belt shuts down, it's understandable that we after we take what's
 on the belt, in future takes, we get nothing.

   However, when putting items on a stopped conveyor belt, messages
 should not just *poof* vanish into the void. :-)

   * This existing semantics makes debugging annoying (perhaps this is
 due to my lack of skill). When something should be happening, and nothing
 is happening, I'm basically 

Re: semantics of ! on closed channels

2014-01-23 Thread Cedric Greevey
I didn't say a virus. I pointed out that it appeared to be triggered by
viewing a particular message in this thread. It may be that there's some
gimmick text you can embed in a mail that screws up gmail -- there's
certainly precedent, anyone on a dialup connection will get their line
dropped when they load this message because it contains +++ATH0. In any
case, what the incident most resembled to me was a prank of a similar sort
to that old classic from the BBS days and any of numerous commonplace
college dorm pranks; in which case the place to address it is right here
where the person who perpetrated the inappropriate prank can explain that
that's what it was (if that *is* what it was) and apologize, and/or the
group's moderators can take any appropriate action against the perpetrator.
(I'd be happy with their receiving a warning, *if* this was a first
offense.)


On Thu, Jan 23, 2014 at 9:49 PM, Timothy Baldridge tbaldri...@gmail.comwrote:

 
 Which part didn't you understand?

 The part where you think that this is the appropriate channel for
 discussing general IT problems you are having with your computer

  I don't know if it was something in t x's message that triggered it

 Well you accused him of that pretty much right off the bat...

  In any event, if anyone can shed any light on this incident I'd
 appreciate information.

 Sure, it can be a number of things. a) a bug in your mouse driver. b) a
 failing mouse battery. c) dirt on/in the mouse d) a bug in your browser e)
 a virus on your computer. f) a bug in gmail.

 All of these are much, much more likely than what
 you originally suggested. The idea that someone posting to a google group
 can get a virus through a text email, and that that virus somehow affected
 your browser, is just laughable.

 Timothy


 On Thu, Jan 23, 2014 at 7:34 PM, Cedric Greevey cgree...@gmail.comwrote:

 Which part didn't you understand? When I scrolled down to t x's
 message, after a short delay *something* wrested control of Firefox away
 from me and issued a sequence of navigation commands the effect of which
 was to log me out of gmail, much as if I'd clicked the little down arrow by
 my username and then clicked signout.

 I don't know if it was something in t x's message that triggered it (if
 so, it didn't have the same effect when I viewed it again after logging
 back in), but I do know that I do not appreciate having my computer
 hijacked. I'm sure you can understand how it's rather alarming to have your
 stuff just suddenly start acting on its own initiative, right in front of
 your eyes, when the damned thing isn't supposed to *have* its own
 initiative.

 In any event, if anyone can shed any light on this incident I'd
 appreciate information. (For example: does an expert on browser security
 see anything in t x's post, or any other in this thread, that could have
 triggered anything unusual in susceptible versions of Firefox? Should I
 wipe and reinstall this machine on the presumption that the seemingly
 superficial hijack left it infected with a nasty rootkit of some sort, or
 was it just a prank, or even a known software bug somewhere?)


 On Thu, Jan 23, 2014 at 9:20 PM, Timothy Baldridge 
 tbaldri...@gmail.comwrote:

 Umwat?
 On Jan 23, 2014 7:17 PM, Cedric Greevey cgree...@gmail.com wrote:

 [meta, but about something apparently triggered by the message, from
 this thread, that I'm quoting]

 Why did reading this post cause gmail to go bonkers? I saw this thread
 had new articles since earlier today, brought it up, and read the previous
 message, then just after I'd scrolled down to this one, leaned back, and
 started reading it the browser just suddenly began spinning on its own and
 navigated by itself. Apparently about 10 seconds after I sat back
 *something* input a click on the little down-triangle in the upper right
 corner of the page and then clicked sign out because it went to the gmail
 login page. And a second or so before that the chat thingy at the left
 crashed as a popup there distracted me by appearing suddenly and saying
 something like Oops, problem connecting to chat.

 I don't like having my stuff suddenly go spinning out of control like
 that. I wasn't touching the keyboard or the mouse at the time. The browser
 should not have done anything but sit there patiently displaying this page
 until *I* *CHOSE* to navigate away from it. If there is something in your
 message that hijacks the browsers of people reading it, then I would like
 you to know that I consider such a thing to be extremely poor etiquette and
 in extremely poor taste. Do not do it again. If it was not that particular
 message then I'd like to know what *did* reach into *MY* computer and start
 issuing instructions on *MY* behalf *without* *MY* permission, and how to
 stop that from ever happening again. This is *MY* copy of Firefox and it
 goes where *I* say it does, when *I* say it does it, and not a moment
 sooner. Is that absofrickinglutely clear? That 

Re: semantics of ! on closed channels

2014-01-23 Thread john walker
This is a common windows problem.

On Thursday, January 23, 2014 9:17:09 PM UTC-5, Cedric Greevey wrote:

 [meta, but about something apparently triggered by the message, from this 
 thread, that I'm quoting]

 Why did reading this post cause gmail to go bonkers? I saw this thread had 
 new articles since earlier today, brought it up, and read the previous 
 message, then just after I'd scrolled down to this one, leaned back, and 
 started reading it the browser just suddenly began spinning on its own and 
 navigated by itself. Apparently about 10 seconds after I sat back 
 *something* input a click on the little down-triangle in the upper right 
 corner of the page and then clicked sign out because it went to the gmail 
 login page. And a second or so before that the chat thingy at the left 
 crashed as a popup there distracted me by appearing suddenly and saying 
 something like Oops, problem connecting to chat.

 I don't like having my stuff suddenly go spinning out of control like 
 that. I wasn't touching the keyboard or the mouse at the time. The browser 
 should not have done anything but sit there patiently displaying this page 
 until *I* *CHOSE* to navigate away from it. If there is something in your 
 message that hijacks the browsers of people reading it, then I would like 
 you to know that I consider such a thing to be extremely poor etiquette and 
 in extremely poor taste. Do not do it again. If it was not that particular 
 message then I'd like to know what *did* reach into *MY* computer and start 
 issuing instructions on *MY* behalf *without* *MY* permission, and how to 
 stop that from ever happening again. This is *MY* copy of Firefox and it 
 goes where *I* say it does, when *I* say it does it, and not a moment 
 sooner. Is that absofrickinglutely clear? That is non-negotiable. Anyone 
 who willfully violates this edict *will* be added to my spam filter and I 
 will not see any future post by that author. Is *that* clear?




 On Thu, Jan 23, 2014 at 7:21 AM, t x txre...@gmail.com javascript:wrote:

 Hi,

   * This is the time I've heard the one who's feeding the channel is the 
 one in charge of closing it -- previously, my channel code was fairly 
 ad-hoc and agressive (since I need to kill many (go-loop [msg (! ... )] 
 (when msg ...)) blocks).

   * I still feel this breaks the conveyor belt metaphor -- when a 
 conveyor belt shuts down, it's understandable that we after we take what's 
 on the belt, in future takes, we get nothing.

   However, when putting items on a stopped conveyor belt, messages should 
 not just *poof* vanish into the void. :-)

   * This existing semantics makes debugging annoying (perhaps this is due 
 to my lack of skill). When something should be happening, and nothing is 
 happening, I'm basically going around hunting for where did I do a put on 
 a closed channel, whereas if it threw an exception of some form, it'd be 
 easier to handle then this silent fail.




 On Thu, Jan 23, 2014 at 3:50 AM, Meikel Brandmeyer (kotarak) 
 m...@kotka.de javascript: wrote:

 Hi,

 probably the idea is, that the one who's feeding the channel is the one 
 in charge of closing it. After all, they know when there is no more input 
 available. Do you have a use case where this problem manifests? Or is that 
 just a vague fear that it might happen?

 Kind regards
 Meikel

  -- 
 -- 
 You received this message because you are subscribed to the Google
 Groups Clojure group.
 To post to this group, send email to clo...@googlegroups.comjavascript:
 Note that posts from new members are moderated - please be patient with 
 your first post.
 To unsubscribe from this group, send email to
 clojure+u...@googlegroups.com javascript:
 For more options, visit this group at
 http://groups.google.com/group/clojure?hl=en
 --- 
 You received this message because you are subscribed to the Google 
 Groups Clojure group.
 To unsubscribe from this group and stop receiving emails from it, send 
 an email to clojure+u...@googlegroups.com javascript:.
 For more options, visit https://groups.google.com/groups/opt_out.


  -- 
 -- 
 You received this message because you are subscribed to the Google
 Groups Clojure group.
 To post to this group, send email to clo...@googlegroups.comjavascript:
 Note that posts from new members are moderated - please be patient with 
 your first post.
 To unsubscribe from this group, send email to
 clojure+u...@googlegroups.com javascript:
 For more options, visit this group at
 http://groups.google.com/group/clojure?hl=en
 --- 
 You received this message because you are subscribed to the Google Groups 
 Clojure group.
 To unsubscribe from this group and stop receiving emails from it, send an 
 email to clojure+u...@googlegroups.com javascript:.
 For more options, visit https://groups.google.com/groups/opt_out.




-- 
-- 
You received this message because you are subscribed to the Google
Groups Clojure group.
To post to this group, send email to