Re: [ANN] Taoensso library updates / 2014 September
No problem. I just wanted to check that it was an intentional change, and not some unknown bug that had crept in. Sure, appreciate that. And one had (buggy CHANGELOG) - so good that you checked ;-) I just switched my app from Om/Sablono + Sente to Reagent + Sente and I'm currently working on cleaning things up now that Reagent has allowed for quite a bit of simplification so I'm in refactoring mode at the moment... Reagent's great, can't recommend it enough. About the only thing I could ask for is IE8 compatibility :) Hmm, yeah - haven't looked into that myself. Can't think of anything off-hand that'd make it impossible, PR would absolutely be welcome. Cheers! -- 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/d/optout.
Sente 1.0.0 (was: [ANN] Taoensso library updates / 2014 September
Peter, I just upgraded from Sente 0.15.1 to 1.0.0 and it looks like the values that come in ch-recv have changed format? I used to have the following: (go (loop [[op arg] (! ch-recv)] (case op :chsk/recv (do-something-with arg) ...))) But now I get a map back instead of a pair and have to do this: (go (loop [{:keys [event} (! ch-recv)] (let [[op arg] event] (case op :chsk/recv (do-something-with arg) ... Is that an intentional change? I ask because you claimed the release was major but non-breaking - and this seems to be a breaking change...? Sean On Sep 2, 2014, at 7:28 AM, Peter Taoussanis ptaoussa...@gmail.com wrote: (All new releases are now on BreakVersioning, https://github.com/ptaoussanis/encore/blob/master/BREAK-VERSIONING.md). Sente - v1.0.0 / 2014 Sep 2 (today) == Realtime web comms for Clojure/Script (think Socket.IO but with Transit core.async). https://github.com/ptaoussanis/sente/releases Notable recent changes: v1 release, optional Transit support, efficiency improvements (perf+bandwidth). signature.asc Description: Message signed with OpenPGP using GPGMail
Re: Sente 1.0.0 (was: [ANN] Taoensso library updates / 2014 September
s...@corfield.org writes: Is that an intentional change? I ask because you claimed the release was major but non-breaking - and this seems to be a breaking change...? Did you change `start-chsk-router-loop!` to `start-chsk-router!`? The former maintains the previous event handler signature (and is thus non-breaking), but the later requires the new signature. Hugo signature.asc Description: PGP signature
Re: [ANN] Taoensso library updates / 2014 September
Hi Sean, thank you for pinging about this. The upgrade to v1.0.0 *is* actually breaking *if* you've been reading from the client-side :ch-recv directly. Most folks use the provided router utils, so it slipped my mind to document that - I'm really sorry. Will update the README and CHANGELOG now. In the meantime, the change you need to make: Server-side :ch-recv used to receive `event-msg` maps, and still does (no change). Client-side :ch-recv used to receive `event` vectors, and now instead receives `event-msg` maps like the server. Server-side `event-msg` maps contain keys: :ch-recv, :send-fn, :connected-uids, :client-uuid, :ring-req, :event, :?reply-fn. Client-side `event-msg` maps contain keys: :ch-recv, :send-fn, :state, :event. So (:event event-msg) will get you the old event vector. Motivations behind this change: 1. Client+server :ch-recv values are now consistent (both receive `event-msg`s). 2. Client+server routing is therefore now consistent. 3. The extra data in `event-msg`s makes it easier to write functional event handlers (i.e. that don't need access to a global send-fn or ch-recv). 4. That all event handlers now take a map makes future changes easier/non-breaking (we can add extra interesting keys in time w/o needing event handlers to change, etc.). Definitely should be documented though, again - really sorry about that! Please feel free to drop me an email if you run into any more trouble. Cheers! :-) - Peter Taoussanis -- 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/d/optout.
Re: [ANN] Taoensso library updates / 2014 September
On Sep 6, 2014, at 5:01 AM, Peter Taoussanis ptaoussa...@gmail.com wrote: The upgrade to v1.0.0 *is* actually breaking *if* you've been reading from the client-side :ch-recv directly. Most folks use the provided router utils, so it slipped my mind to document that - I'm really sorry. No problem. I just wanted to check that it was an intentional change, and not some unknown bug that had crept in. Client-side :ch-recv used to receive `event` vectors, and now instead receives `event-msg` maps like the server. Yup, this makes much more sense. It just took a while to figure out why my app broke, but it was an easy fix. 3. The extra data in `event-msg`s makes it easier to write functional event handlers (i.e. that don't need access to a global send-fn or ch-recv). I'll have to see if that can make my code easier to work with. I may try to refactor my code to work with the regular router loop but when I first started out, there were things I needed to do that wouldn't quite fit that mould. 4. That all event handlers now take a map makes future changes easier/non-breaking (we can add extra interesting keys in time w/o needing event handlers to change, etc.). Definitely an improvement. I just switched my app from Om/Sablono + Sente to Reagent + Sente and I'm currently working on cleaning things up now that Reagent has allowed for quite a bit of simplification so I'm in refactoring mode at the moment... Please feel free to drop me an email if you run into any more trouble. About the only thing I could ask for is IE8 compatibility :) I haven't poked at that area too much but it looked like something in XhrIo failed in IE8 (related to Web Sockets and not failing back gracefully I think?). If we had IE8 compatibility, I could use Sente for several user-facing things in production, as opposed to just internal-facing stuff in production. Sean Corfield -- (904) 302-SEAN An Architect's View -- http://corfield.org/ Perfection is the enemy of the good. -- Gustave Flaubert, French realist novelist (1821-1880) signature.asc Description: Message signed with OpenPGP using GPGMail
Re: Sente 1.0.0 (was: [ANN] Taoensso library updates / 2014 September
On Sep 6, 2014, at 3:55 AM, Hugo Duncan duncan.h...@gmail.com wrote: Did you change `start-chsk-router-loop!` to `start-chsk-router!`? I don't use those. I read directly from ch-recv due to some of the stuff I needed to do (when I first started using Sente). I may revisit this now... Sean Corfield -- (904) 302-SEAN An Architect's View -- http://corfield.org/ Perfection is the enemy of the good. -- Gustave Flaubert, French realist novelist (1821-1880) signature.asc Description: Message signed with OpenPGP using GPGMail
Re: Sente 1.0.0 (was: [ANN] Taoensso library updates / 2014 September
Ah, I remember why now: Since the event loop is in a 'go' block and because I didn't want slow event handlers blocking everything, I wanted to dispatch my event handler in a (thread ...) call. Perhaps start-chsk-router! could take an optional argument to indicate the handler call should be spun off in a thread? I'll go open an issue for this on Sente's Github repo for discussion. Sean On Sep 6, 2014, at 3:48 PM, Sean Corfield s...@corfield.org wrote: On Sep 6, 2014, at 3:55 AM, Hugo Duncan duncan.h...@gmail.com wrote: Did you change `start-chsk-router-loop!` to `start-chsk-router!`? I don't use those. I read directly from ch-recv due to some of the stuff I needed to do (when I first started using Sente). I may revisit this now... signature.asc Description: Message signed with OpenPGP using GPGMail
Re: [ANN] Taoensso library updates / 2014 September
Thanks Sun, appreciate all your input on v2.7 - cheers! :-) -- 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/d/optout.
[ANN] Taoensso library updates / 2014 September
(All new releases are now on BreakVersioning, https://github.com/ptaoussanis/encore/blob/master/BREAK-VERSIONING.md). *Sente - v1.0.0 / 2014 Sep 2 (today)* *==* *Realtime web comms for Clojure/Script (think Socket.IO but with Transit core.async).* https://github.com/ptaoussanis/sente/releases Notable recent changes: v1 release, optional Transit support, efficiency improvements (perf+bandwidth). *Carmine - v2.7.0 / 2014 Aug 27 (-6days)* *==* *Clojure Redis client + message queue.* https://github.com/ptaoussanis/carmine/releases Notable recent changes: lock-free Apache Commons Pool 2 pooling, updated Redis commands. *Faraday - v1.5.0 / 2014 July 26 (-38days)* *==* *Clojure DynamoDB client.* https://github.com/ptaoussanis/faraday/releases Notable recent changes: allow reading of unserialized bin values written with other clients. *Nippy - v2.7.0-RC1 / 2014 Aug 27 (-6days)* *==* *High-performance Clojure binary serialization.* https://github.com/ptaoussanis/nippy/releases Notable recent changes: ~40% perf bump over v2.6.0, LZ4 compressor, id'd extension types, Fressian comparison benchmarks. *Timbre - v3.3.0 / 2014 May 8 (-4months)* *==* *Pure-Clojure logging + profiling.* https://github.com/ptaoussanis/timbre/releases Recent changes: some minor fixes, appender updates. *Tower - v3.0.0 / 2014 Aug 28 (-5days)* *==* *i18n and L10n library for Clojure.* https://github.com/ptaoussanis/tower/releases Recent changes: final ClojureScript support, a bunch of general API improvements. *Touchstone - v2.0.2 / 2014 Mar 30 (-5months)* *==* *A/B testing for Clojure.* https://github.com/ptaoussanis/touchstone/releases Recent changes: stable. *Encore - v1.7.3 / 2014 Sep 1 (yesterday)* *==* *General cross-platform Clojure/Script utils.* https://github.com/ptaoussanis/encore/releases Recent changes: nothing major- a few new utils, a few fixes. *Useful links* *==* Libs on GitHub: https://github.com/ptaoussanis?tab=repositories Libs homepage: https://www.taoensso.com/clojure-libraries Twitter (lib announcements, etc.): https://twitter.com/ptaoussanis As usual, please feel free to ping with any questions/problems/suggestions/whatever. Happy hacking/Tuesday, cheers! :-) -- *Peter Taoussanis*ptaoussanis at taoensso.com -- 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/d/optout.
Re: [ANN] Taoensso library updates / 2014 September
Good job! I will adapt Nippy 2.7.0 in my projects soon. On 09/02/2014 10:28 PM, Peter Taoussanis wrote: (All new releases are now on BreakVersioning, https://github.com/ptaoussanis/encore/blob/master/BREAK-VERSIONING.md). *Sente - v1.0.0 / 2014 Sep 2 (today)* *==* /Realtime web comms for Clojure/Script (think Socket.IO but with Transit core.async)./ https://github.com/ptaoussanis/sente/releases https://github.com/ptaoussanis/sente/releases Notable recent changes: v1 release, optional Transit support, efficiency improvements (perf+bandwidth). *Carmine - v2.7.0 / 2014 Aug 27 (-6days)* *==* /Clojure Redis client + message queue./ https://github.com/ptaoussanis/carmine/releases https://github.com/ptaoussanis/carmine/releases Notable recent changes: lock-free Apache Commons Pool 2 pooling, updated Redis commands. *Faraday - v1.5.0 / 2014 July 26 (-38days)* *==* /Clojure DynamoDB client./ https://github.com/ptaoussanis/faraday/releases https://github.com/ptaoussanis/faraday/releases Notable recent changes: allow reading of unserialized bin values written with other clients. *Nippy - v2.7.0-RC1 / 2014 Aug 27 (-6days)* *==* /High-performance Clojure binary serialization./ https://github.com/ptaoussanis/nippy/releases https://github.com/ptaoussanis/nippy/releases Notable recent changes: ~40% perf bump over v2.6.0, LZ4 compressor, id'd extension types, Fressian comparison benchmarks. *Timbre - v3.3.0 / 2014 May 8 (-4months)* *==* /Pure-Clojure logging + profiling./ https://github.com/ptaoussanis/timbre/releases https://github.com/ptaoussanis/timbre/releases Recent changes: some minor fixes, appender updates. *Tower - v3.0.0 / 2014 Aug 28 (-5days)* *==* /i18n and L10n library for Clojure./ https://github.com/ptaoussanis/tower/releases https://github.com/ptaoussanis/tower/releases Recent changes: final ClojureScript support, a bunch of general API improvements. *Touchstone - v2.0.2 / 2014 Mar 30 (-5months)* *==* /A/B testing for Clojure./ https://github.com/ptaoussanis/touchstone/releases https://github.com/ptaoussanis/touchstone/releases Recent changes: stable. *Encore - v1.7.3 / 2014 Sep 1 (yesterday)* *==* /General cross-platform Clojure/Script utils./ https://github.com/ptaoussanis/encore/releases Recent changes: nothing major- a few new utils, a few fixes. *Useful links* *==** * Libs on GitHub: https://github.com/ptaoussanis?tab=repositories https://github.com/ptaoussanis?tab=repositories Libs homepage: https://www.taoensso.com/clojure-libraries https://www.taoensso.com/clojure-libraries Twitter (lib announcements, etc.): https://twitter.com/ptaoussanis https://twitter.com/ptaoussanis As usual, please feel free to ping with any questions/problems/suggestions/whatever. Happy hacking/Tuesday, cheers! :-) -- *Peter Taoussanis *ptaoussanis at taoensso.com http://taoensso.com/ -- 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 mailto:clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout. -- 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/d/optout.