Re: [ANN] Clojure 1.10.0-RC1 (please test!)
On Thu, Oct 11, 2018 at 08:11:45AM -0700, Alex Miller wrote: > 1.10.0-RC1 is now available. You can try it with clj using: > > clj -Sdeps '{:deps {org.clojure/clojure {:mvn/version "1.10.0-RC1"}}}' > > 1.10.0-RC1 is the same code as beta2 (only change are some changelog > fixes). > You can read the full 1.10 changelog here: > https://github.com/clojure/clojure/blob/master/changes.md > > *Note: This is a release candidate! Please try this release candidate with > your project and provide feedback (both whether it works as expected and > any issues).* If there are issues we will assess, otherwise we intend to > move towards a final release of 1.10. > I ran the 3 projects at work that use 1.9.0 in production, and they passed unit tests with 1.10.0 RC1. -ken -- 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: Version control at the function level - a la Rich
On Fri, Feb 17, 2017 at 01:56:04PM -0800, Josh Tilles wrote: > I’m pretty sure you’re looking for codeq: > http://blog.datomic.com/2012/10/codeq.html > > On Friday, February 17, 2017 at 4:39:12 PM UTC-5, Terje Dahl wrote: > > > > I recall Rich Hickey talking about this a few years back, but can't find > > anything about it. > > Am I just imaging it? > > Or could someone point me in the right direction > > > I also remember him making some good points about this in his "Spec-ulation" keynote recently. https://www.youtube.com/watch?v=oyLBGkS5ICk -ken -- 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: RIP Anthony Grimes (Raynes)
Many people who have been here a while know what a bright, talented, and promising young programmer he was, and of his impressive list of contributions to the Clojure community. He seemed relentlessly curious, and worked professionally in Clojure, Haskell, NodeJS, CoffeeScript, Python, and last week was selling me on the virtues of some new javascript thing called Svelte.technology. My project.clj's-- and I'm sure many other people's as well-- are filled with calls to his fine libraries. What a lot of people might not know about Anthony is how much his first love (perhaps even more than programming) appeared to have been music. He regularly made videos of his singing and rapping covers. He could spend hours talking about and playing music, and he was as fearless and eclectic in his tastes in music as in technology. Only a subset of the music he loved made it into my playlist, but I will never again be able to hear Eminiem, Watsky, Yelawolf, twentyone pilots, George Jones, Adam Lambert, Panic! at the Disco, The Pretty Reckless, CHVRCHES, Fall Out Boy, Kitty Pryde, One Republic, Dolly Parton, Paramore, Lana del Rey, and a few others, without thinking of him. If you've never heard some of these artists, and you look up their music find that you like it, I'd venture a guess that he'd have been happy to have been a motivation for your discovery. -ken -- - On Wed, Dec 07, 2016 at 08:32:06AM -0500, Chas Emerick wrote: > As some may have already seen on Twitter or other channels, our friend > Anthony Grimes (Raynes in #clojure IRC and elsewhere, @StRaynes on Twitter) > has passed away. > > The most immediate announcement of this came via Lance Bradley, one of > Anthony's closer friends from the Clojure community: > > https://www.facebook.com/lancepantz/posts/10104155686547809?pnref=story > > Anthony's family set up a fundraiser to help with his final expenses, but > people are going well beyond the target set there; in any case, the family > would certainly appreciate any help you can offer: > > https://www.gofundme.com/32m55h4 > > If you don't know of Anthony, he was a constant inspiration and helping hand > in Clojure's earlier days, especially in #clojure IRC where he tutored and > encouraged people daily for years. He was also the creator or a significant > contributor to dozens of Clojure projects, some of which I guarantee you > still rely upon every day. > > Anthony himself wrote about some of his history in the Clojure community, > and also happened to recount at length the most significant memory I'll have > of him, when we all helped to get a kind 16-year-old to the first Clojure > Conj in 2010: > http://blog.raynes.me/blog/2011/11/27/the-clojure-community-and-me/ > > I have other memories of and about Anthony that I'd like to share, but not > now, not yet. Of course, the family will be having a local service for him > in their time and way. ABecause so many people around the world knew, worked > with, and called Anthony a friend, I'm hoping we can all have an > online/remote memorial (maybe an any-comers Hangout or something). That's > just an idea at the moment, details TBD. > > If you'd like to talk a bit about how Anthony influenced or inspired you, > please feel free to, here. Some people are also using the #RIPRaynes > hashtag, if that's your game. > > Rest easy, dude. > > love, > > - Chas > > -- > 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. -- 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: core.async top use cases
On Sat, Sep 17, 2016 at 11:37:38PM -0700, Matan Safriel wrote: > Hi, > > It's very easy to see how core.async solves callback hell for front-end > development with clojurescript. > In what use cases would you use it for server-side? we already have > non-blocking IO from Java, and we have clojure agents. So what's a bunch of > salient use cases? > Are there prominent clojure http server implementations which rely on it > for transcending the threaded web service paradigm? > Decoupling components within a system, similar to what one would use queues or a messaging architecture for. Used it extensively in two projects (one open source, one for a client) some years ago. Rather than coupling the components via namespace dependencies and a call API, I just had the components passing data via async channels (queues), including pub/sub and topic subscription. Worked great for its intended purpose. -ken -- 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: clojars down?
For deploys, I use uberjars. They don't need any dependencies. It's also arguably more secure to have a jar that I know has everything in it, rather than trusting lein to fetch it from somewhere that might have been DNS spoofed, maliciously proxied, etc. Of course, builds can be broken by clojars going down, but most everything I'd need at build time is in ~/.m2/repository anyway. -ken -- On Fri, Jan 01, 2016 at 07:10:36PM -0800, Alex Miller wrote: > I agree with Kyle - I've usually run a company proxy which gives you a lot of > options (it's good to publish company forks of libs too). > > I believe one of the items the Clojars maintainers are working on with their > new funding is support for mirrors. > > -- > 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. -- 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: Reducing the pain of a clojars outage
Any tooling would also have to upgrade to clj-http 2.0.0 and/or HttpClient 4.5, because before that SNI was broken even on Java 8: https://issues.apache.org/jira/browse/HTTPCLIENT-1613?devStatusDetailDialog=repository Supposedly fixed in 4.5 of HttpClient, which 2.0.0 of clj-http pulls in, but I haven't tested to confirm. -ken -- - On Fri, Jan 01, 2016 at 10:49:13PM -0500, Toby Crawley wrote: > One potential issue with the mirrors is java 6 and HTTPS - the mirrors > couldn't use 2048-bit dhparams[1] or SNI[2], since neither are > supported in java 6. Yes, we all should be on java 7 or 8 at this > point, but I believe Intellij still uses java 6 on MacOS, which would > mean Cursive couldn't download from the mirrors. > > [1]: https://weakdh.org/sysadmin.html > [2]: https://en.wikipedia.org/wiki/Server_Name_Indication > > On Fri, Jan 1, 2016 at 10:31 PM, Toby Crawleywrote: > > Given the recent DDoS-triggered outages at linode (including the one > > today that has been the worst yet, currently 10 hours at the time I'm > > writing this), I've been giving some more thought to how we can make > > future outages less painful for the community. > > > > I have an open issue[1] (but no code yet) to move the repository off > > of the server and on to a block store (s3, etc), with the goal there > > to make repo reads (which is what we use clojars for 99.9% of the > > time) independent of the status of the server. But I'm not sure that > > really solves the problem we are seeing today. Currently, we have two > > points of failure for repo reads: > > > > (1) the server itself (hosted on linode) > > (2) DNS for the clojars.org domain (also hosted on linode) > > > > moving the repo off of the server to a block store still has two > > points of failure: > > > > (1) the block store (aws, rackspace, etc) > > (2) DNS for the clojars.org domain, since we would CNAME the block > > store (hosted on linode) > > > > Though the block store provider would probably be better distributed, > > and have more resources to withstand a DDoS (but do any block store > > providers have 100% uptime?). > > > > The block store solution is complex - it introduces more moving parts > > into clojars, and requires reworking the way we generate usage stats, > > and how the api gets its data. It also requires reworking the way we > > administer the repo (deletion requests, cleaning up failed/partial > > deploys). And it may not solve the availability problem at all, since > > we still have two points of failure. > > > > I think a better solution may be to have multiple mirrors of the repo, > > either run by concerned citizens or maintained by the clojars staff. I > > know some folks in the community already run internal caching proxies > > or rsynced mirrors (and are probably chuckling knowingly at those of > > us affected by the outage), but those proxies don't really help those > > in the community that don't have that internal infrastructure. And I > > don't want to recommend that everyone set up a private mirror - that > > seems like a lot of wasted effort. > > > > Ideally, it would be nice if we had a turn-key tool for creating a > > mirror of clojars. We currently provide a way to rsync the repo[2], so > > the seed for a mirror could be small, and could then slurp down the > > full repo (and could continue to do so on a schedule to remain up to > > date). We could then publish a list of mirrors that the community > > could turn to in times of need (or use all the time, if they are > > closer geographically or just generally more responsive). Any deploys > > would still need to hit the primary server, but deploys are are > > dwarfed by reads. > > > > There are a few issues with using mirrors: > > > > (1) security - with artifacts in more places, there are more > > opportunities to to introduce malicious versions. This could be > > prevented if we had better tools for verifying that the artifacts > > are signed by trusted keys, and we required that all artifacts be > > signed, but that's not the case currently. But if we had a regular > > process that crawled all of the mirrors and the canonical repo to > > verify that the checksums every artifact are identical, this could > > actually improve security, since we could detect if any checksum > > had been changed (a malicious party would have to change the > > checksum of a modified artifact, since maven/lein/boot all confirm > > checksums by default). > > > > (2) download stats - any downloads from a mirror wouldn't get > > reflected in the stats for the artifact unless we had some way to > > report those stats back to clojars.org. We currently generate the > > stats by parsing the nginx access logs, mirrors could do the same > > and report stats back to clojars.org if we care enough about > > this. We don't get stats from the existing private mirrors, and > > the stats aren't critical, so this may
San Francisco Meetup at Climate Corp still active?
Meetup.com sends me notices every month about "N Clojure programmers are attending the monthly Clojure Meetup at Climate Corp". I've shown up at the last two on the scheduled date and time, and there are much less than N Clojure programmers there. In fact there's been exactly 1: me. Wandering around their office trying to find out if anyone knows what's going on. Is Meetup posting zombie meetups? Has the meetup changed location, or is it no longer active? I get notices about Zach's office hours event at Factual, but I'm not sure if it's the same thing renamed, or what. -ken -- 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: Timbre corrupting EDN via prn-str
I've dug into this more, and it seems there's a third factor at work: conch. In one of the functions called before this data is written, conch is shelling out to a command. Obviously it's also mucking around with stdin/stdout/stderr. Only when conch is called, is this error generated. Not shelling out makes the problem go away. So it's an interaction between pr-str, conch and/or clojure.java.shell, and Timbre-- all three of which are manipulating *out* which I'm guessing is not thread-safe. I don't know the solution yet but starting to understand the problem anyway. -ken -- --- On Wed, Oct 07, 2015 at 11:45:02AM +0300, Atamert Ölçgen wrote: > So you actually want to print your data. I don't think it can be helped > then, two threads writing to the same buffer. I would have one of them use > a different buffer, write the logs to a file and tail it for instance. > > On Wed, Oct 7, 2015 at 11:36 AM, Ken Restivo <k...@restivo.org> wrote: > > > Yep. It doesn't help. > > > > I also tried (.flush *out*) before... no dice. > > > > -ken > > -- > > - > > On Wed, Oct 07, 2015 at 11:31:12AM +0300, Atamert Ölçgen wrote: > > > Hi Ken, > > > > > > Have you tried with-out-str? > > > > > > On Wed, Oct 7, 2015 at 11:18 AM, Ken Restivo <k...@restivo.org> wrote: > > > > > > > I was trying to save a data structure using prn-str. > > > > > > > > However, I'm also using Timbre for logging. > > > > > > > > My nice data structure is getting corrupted by INFO and DEBUG and other > > > > log messages from Timbre. > > > > > > > > Is there any way to turn a Clojure data structure into EDN without > > mucking > > > > around with things like pr-str that use *out*, which apparently is > > used for > > > > logging, among other things? > > > > > > > > -ken > > > > > > > > -- > > > > 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. > > > > > > > > > > > > > > > > -- > > > Kind Regards, > > > Atamert Ölçgen > > > > > > ◻◼◻ > > > ◻◻◼ > > > ◼◼◼ > > > > > > www.muhuk.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. > > > > -- > > 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" gro
Timbre corrupting EDN via prn-str
I was trying to save a data structure using prn-str. However, I'm also using Timbre for logging. My nice data structure is getting corrupted by INFO and DEBUG and other log messages from Timbre. Is there any way to turn a Clojure data structure into EDN without mucking around with things like pr-str that use *out*, which apparently is used for logging, among other things? -ken -- 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: Timbre corrupting EDN via prn-str
Yep. It doesn't help. I also tried (.flush *out*) before... no dice. -ken -- - On Wed, Oct 07, 2015 at 11:31:12AM +0300, Atamert Ölçgen wrote: > Hi Ken, > > Have you tried with-out-str? > > On Wed, Oct 7, 2015 at 11:18 AM, Ken Restivo <k...@restivo.org> wrote: > > > I was trying to save a data structure using prn-str. > > > > However, I'm also using Timbre for logging. > > > > My nice data structure is getting corrupted by INFO and DEBUG and other > > log messages from Timbre. > > > > Is there any way to turn a Clojure data structure into EDN without mucking > > around with things like pr-str that use *out*, which apparently is used for > > logging, among other things? > > > > -ken > > > > -- > > 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. > > > > > > -- > Kind Regards, > Atamert Ölçgen > > ◻◼◻ > ◻◻◼ > ◼◼◼ > > www.muhuk.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. -- 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: Status of lean runtime?
Thanks. I wasn't expecting anything to be released soon. Based on replies here and elsewhere, so far it seems there is: 1) The fastload branch of Clojure https://github.com/clojure/clojure/tree/fastload (status unknown) 2) Oxcart https://github.com/oxlang/oxcart (looks abandoned?) 3) Android Clojure https://github.com/clojure-android/clojure (unclear if it will or is intended to work on JVM or only on Android) It seems as though release-track development on this would be blocked waiting for multiple-build-profiles tooling first anyway. Thanks again for your reply. -ken -- --- On Tue, Dec 09, 2014 at 07:33:05PM -0800, Alex Miller wrote: We are still very interested in improving both Clojure load times and pursuing multiple build profiles. That work will not be part of 1.7. Alex -- 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. -- 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.
Status of lean runtime?
I recall that at CljWest there was a talk regarding lean Clojure JVM runtimes for faster startup on Android and other embedded platforms. During the QA Rich endorsed the effort to create one, and to integrate it into Clojure core. I also recall hearing that there might have been a GSoc effort towards this. Did that effort ever get underway? If so, what would be the best place to track the current status of this? Thanks. -ken -- 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: Status of lean runtime?
Update: I'm already aware of http://dev.clojure.org/display/design/%27Lean%27+Runtime but it hasn't been updated since May, hence, I'm asking if maybe that link is not the best place to look for current information. Also, context: http://www.youtube.com/watch?v=8NUI07y1SlQ Thanks. -ken -- --- On Sat, Dec 06, 2014 at 02:38:51PM -0800, Ken Restivo wrote: I recall that at CljWest there was a talk regarding lean Clojure JVM runtimes for faster startup on Android and other embedded platforms. During the QA Rich endorsed the effort to create one, and to integrate it into Clojure core. I also recall hearing that there might have been a GSoc effort towards this. Did that effort ever get underway? If so, what would be the best place to track the current status of this? Thanks. -ken -- 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: Recursive codec/frames in gloss?
After this is decoded, I want the the payload, and it'd be nice to have the length too but not necessary. Described in clojure instead of prose: (defn get-payload-from-recursive-header-frame [[hlenlen raw-bytes]] (let [hlen (apply + (take hlenlen raw-bytes))] (drop hlenlen raw-bytes))) Alternately, if I wanted to try to preserve the headers too: (defn get-payload-from-recursive-header-frame-with-intermediate [[hlenlen raw-bytes]] (let [hlens (take hlenlen raw-bytes) hlen (apply + hlens)] {:header-length hlenlen :segment-lengths hlens :payload (drop hlenlen raw-bytes)})) Assuming raw-bytes is the whole packet including the header. In fact, I tested the above on some sample data and confirmed it works... without gloss. I'll bet there's a place where I could just slot in one of the above functions within the gloss framework and it'd work, but I have not been able to figure out exactly where. -ken -- - On Fri, Oct 10, 2014 at 10:32:59AM -0700, john walker wrote: What information do you want after this is decoded? Do you want the sum of byte0 ... byten, as well as the actual payload? Do you also want the header-length? On Thursday, October 9, 2014 11:34:59 PM UTC-7, Ken Restivo wrote: I'm playing around with Gloss, trying to decode a packet, part of which has the following nested struture: header-length (1 byte, value n) byte0 ... byten (count defined by that header-length byte) actual payload (length of which is the sum of the values of the above bytes) So instead of a fixed-size value (uint16, uint32, uint64, etc) defining the size of the payload, there's a variable-length list of bytes (up to 255), which has to be summed, to determine the length of the payload. Pretty easy to do imperatively, but I got lost in the dense forest of gloss's abstractions, and couldn't figure out if it makes sense to try to handle a case like this with it. -ken -- 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. -- 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: Recursive codec/frames in gloss?
Correction: this actually is what I'm trying to do: (defn get-payload-from-recursive-header-frame [[hlenlen raw-bytes]] (let [hlen (apply + (take hlenlen raw-bytes))] (take hlen (drop hlenlen raw-bytes Or with the headers preserved: (defn get-payload-from-recursive-header-frame-with-intermediate [[hlenlen raw-bytes]] (let [hlens (take hlenlen raw-bytes) hlen (apply + hlens)] {:header-length hlenlen :segment-lengths hlens :payload (take hlen (drop hlenlen raw-bytes))})) Though after playing around some more it seems the gloss.core/header function might be the place to put this. -ken -- On Fri, Oct 10, 2014 at 10:32:59AM -0700, john walker wrote: What information do you want after this is decoded? Do you want the sum of byte0 ... byten, as well as the actual payload? Do you also want the header-length? On Thursday, October 9, 2014 11:34:59 PM UTC-7, Ken Restivo wrote: I'm playing around with Gloss, trying to decode a packet, part of which has the following nested struture: header-length (1 byte, value n) byte0 ... byten (count defined by that header-length byte) actual payload (length of which is the sum of the values of the above bytes) So instead of a fixed-size value (uint16, uint32, uint64, etc) defining the size of the payload, there's a variable-length list of bytes (up to 255), which has to be summed, to determine the length of the payload. Pretty easy to do imperatively, but I got lost in the dense forest of gloss's abstractions, and couldn't figure out if it makes sense to try to handle a case like this with it. -ken -- 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. -- 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: Recursive codec/frames in gloss? -- SOLVED
Solved: (g/header (g/repeated :ubyte :prefix :ubyte) (fn [h] (g/finite-block (apply + h))) (fn [b] ...)) That did it. On Fri, Oct 10, 2014 at 10:32:59AM -0700, john walker wrote: What information do you want after this is decoded? Do you want the sum of byte0 ... byten, as well as the actual payload? Do you also want the header-length? On Thursday, October 9, 2014 11:34:59 PM UTC-7, Ken Restivo wrote: I'm playing around with Gloss, trying to decode a packet, part of which has the following nested struture: header-length (1 byte, value n) byte0 ... byten (count defined by that header-length byte) actual payload (length of which is the sum of the values of the above bytes) So instead of a fixed-size value (uint16, uint32, uint64, etc) defining the size of the payload, there's a variable-length list of bytes (up to 255), which has to be summed, to determine the length of the payload. Pretty easy to do imperatively, but I got lost in the dense forest of gloss's abstractions, and couldn't figure out if it makes sense to try to handle a case like this with it. -ken -- 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. -- 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.
Recursive codec/frames in gloss?
I'm playing around with Gloss, trying to decode a packet, part of which has the following nested struture: header-length (1 byte, value n) byte0 ... byten (count defined by that header-length byte) actual payload (length of which is the sum of the values of the above bytes) So instead of a fixed-size value (uint16, uint32, uint64, etc) defining the size of the payload, there's a variable-length list of bytes (up to 255), which has to be summed, to determine the length of the payload. Pretty easy to do imperatively, but I got lost in the dense forest of gloss's abstractions, and couldn't figure out if it makes sense to try to handle a case like this with it. -ken -- 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: Granularity in Leiningen profile loading
On Wed, Jan 08, 2014 at 08:52:34PM +, gvim wrote: In ~/.lein/profiles.clj I have: {:user {:plugins [[lein-ritz 0.7.0] [lein-ancient 0.5.4]] :dependencies [[org.clojure/core.typed 0.2.21] [org.clojure/core.match 0.2.0] [co.paralleluniverse/pulsar 0.3.0]]}} ... and I ~/.lein/projfiles.d/cljs.clj I have: {:plugins [[lein-cljsbuild 1.0.1]] :dependencies [[org.clojure/clojurescript 0.0-2138] [om 0.1.5]]} After `line new cljs1` I added a profiles entry and now have: (defproject yes 0.1.0-SNAPSHOT :description FIXME: write description :url http://example.com/FIXME; :license {:name Eclipse Public License :url http://www.eclipse.org/legal/epl-v10.html} :dependencies [[org.clojure/clojure 1.5.1]] :profiles {:clj {}}) ... but after `lein deps` the cljs profile still isn't loaded. Any suggestions? gvim Just a wild guess, but have you tried this patch? https://github.com/technomancy/leiningen/commit/3d50e8c9baedfcc54c4b21b2bb3fbbc676b9a713 -ken -- -- 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.
as- macro enhancement request?
I like the as- macro, mostly because it'd theoretically obviate the need to include the Swiss Arrows library anymore. There's one reason why I keep going back to Swiss Arrows though: the ability to include single-arg functions in the chain that do not have the explicit token. i.e. in Swiss Arrows, I can do: (- foo bar (baz quux) blah) Note, it's clean and simple, no need for a bunch of noise and 's where not needed, only when calling functions with arity 1. But with as-, I have to do: (as- foo (bar ) (baz quux) (blah )) And that just seems unnecessarily noisy to me. Would love it if as- allowed removing unnecessary characters, this way: (as- foo bar (baz quux) blah) Anyway, very minor quibble, just putting it out there. Thanks. -ken -- -- 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: Database migrations
Migratus seems to be pretty similar to this, is a nice small library. I've used it and it works well. https://github.com/pjstadig/migratus -ken -- On Fri, Jun 14, 2013 at 11:44:08AM -0500, Steven Degutis wrote: Phil uses this really cool trick: https://github.com/technomancy/syme/blob/master/src/syme/db.clj#L66-L119 The benefit is that your migrations are just Clojure functions. No messing around with files or timestamps or whatever. Dead simple. I hope someone extracts it into a lib with tests around it. He won't on principle, saying copy/pasting it emphasizes just how simply this problem can be solved. But there's something to be said for using a tested lib in production code. On Fri, Jun 14, 2013 at 11:24 AM, Reginald Choudari adnanchowdhur...@gmail.com wrote: Hello all, I am trying to implement database migrations with Clojure. So far I have been looking at Drift (https://github.com/macourtney/drift) as a candidate for implementing this. My question is, does anyone have a database migration workflow that they use and would like to share? One problem I have been thinking is how to tackle database credentials/db name configuration. I know in Rails its common to use a YAML to provide this info, wondering if there was something more idiosyncratic to clojure? Thanks in advance -- -- 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 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.
nrepl-ritz without jack-in?
nrepl-ritz looks very interesting, and I've been meaning to try it out. The problem is that I don't use jack-in. I have long-running processes, sometimes running on a separate machine, and connect and disconnect from them from emacs, using (nrepl localhost portnum). I haven't figured out how to get nrepl-ritz to deal with this situation. I've got the profiles set up according to the docs (middleware, plugis, dependencies, etc) and restarted the processes. I've run nrepl-break-on-exception and then tried (/ 1 0) in the nrepl. No break, no debugger, just the usual pst+ output. Is it possible to do what I'm attempting with nrepl-ritz? If I've got something misconfigured, I'll figure it out, but if it's not a supported option, I'd rather know now before spending too much time trying to get it to work. Thanks. -ken -- -- 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: No show?
On Thu, Feb 09, 2012 at 11:41:31AM -0400, Stuart Halloway wrote: clojure.reflect/reflect gets you the same information as a big 'ole data structure. You can pprint it for readability. The only thing that was not ported was the formatted text output, which would be easy enough to reproduce based on `reflect`. In particular, reflect + clojure.pprint/print-table. = (require 'clojure.reflect) nil = (require 'clojure.pprint) nil = (clojure.pprint/print-table (clojure.reflect/reflect Math)) ClassCastException clojure.lang.Keyword cannot be cast to java.util.Map$Entry clojure.lang.APersistentMap$KeySeq.first (APersistentMap.java:132) But reflect is useful enough just as a map, so problem solved, thanks! -ken -- 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
No show?
Hi all, I'm curious why the show function got abandoned when migrating from monolithic contrib.repl-utils to clojure.repl? http://dev.clojure.org/display/design/Where+Did+Clojure.Contrib+Go It looks like it would have been useful. Does anything replace it? Thanks. -ken -- 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