announcements

Project/library announcements ONLY - use threaded replies for discussions. Do not cross post here from other channels. Consider #events or #news-and-articles for other announcements.
wilkerlucio 2021-04-09T04:17:21.363300Z

Released [com.wsscode/tailwind-garden "v2021.04.09"] ๐ŸŽ‰ , if you like Garden CSS and Tailwind, this has all the definitions and some variant helpers. https://github.com/wilkerlucio/tailwind-garden

๐Ÿ‘ 4
๐ŸŽ‰ 19
fjolne 2021-04-09T15:51:47.375400Z

@kslvsunil purge works fine for me in CLJS, for both hiccup notations

1
fjolne 2021-04-09T15:53:34.378200Z

with the default setup from tailwind docs; IIRC itโ€™s only triggered on release build, so beware to check bundle size diff against that

1
indy 2021-04-09T04:30:22.363800Z

Thank you for doing this service! I understand purge just uses a regex to remove unused classes. Do you have suggestions on what the regex will look like if you use purge?

wilkerlucio 2021-04-09T04:34:03.364200Z

if you are going to setup a CSS processing pipeline, its probably better to stick with the official Tailwind build, specially with their new JIT thing, which is awesome ๐Ÿ™‚ the target audience of this garden versions is for people that donโ€™t want to mess with more node things

wilkerlucio 2021-04-09T04:35:48.364400Z

that said, I think would be the same thing, that depends more on what you are using to write the HTML. If using hiccup for example, something like :div.text-sm.bg-gray-400 may not work by default, but if you use [:div {:class "text-sm bg-gray-400"} it probably works out of the box

indy 2021-04-09T04:38:57.364600Z

Wow, I just saw the JIT thing, will have to check how that can be leveraged. What I'm missing in CLJS with tailwind is autocomplete and purge (since the raw size is huge). But I think your tailwind-garden will give me more ideas.

wilkerlucio 2021-04-09T04:40:32.364800Z

there is this example configuration for tailwind jit with shadow: https://github.com/jacekschae/shadow-cljs-tailwindcss

indy 2021-04-09T04:46:43.365200Z

Thanks a lot, will check this one out ๐Ÿ™‚

em 2021-04-09T05:30:39.365600Z

Very cool stuff! Is there any reason why this needs to be an online hosted server, rather than a downloadable local database of error messages? I'd imagine it's just useful for now to community outsource types of exceptions/error patterns etc., but to actually have people use this tool in more serious environments it should probably be entirely offline.

1
msolli 2021-04-09T06:19:51.366100Z

Announcing https://github.com/msolli/proletarian, a durable job queuing and worker system for Clojure backed by PostgreSQL. It provides at least once processing guarantees with customizable retry strategies. Use Proletarian for asynchronously executing tasks in the background. Itโ€™s useful for offloading long-running tasks from the request thread in user-facing web applications. The initial public release is https://clojars.org/msolli/proletarian. Itโ€™s in alpha since public scrutiny and adoption might necessitate API changes, but I consider Proletarian mostly done and ready for production use. Please give it a spin! Iโ€™m happy to discuss and answer questions over at #proletarian. Repo: https://github.com/msolli/proletarian Simple example usage: https://cljdoc.org/d/msolli/proletarian/1.0.32-alpha/doc/example-a-the-basics

๐Ÿ‘ 18
1
๐ŸŽ‰ 10
lukasz 2021-04-09T14:00:16.369700Z

Looks really cool! I made an attempt at something very similar a while back https://github.com/lukaszkorecki/taskmaster

๐Ÿ‘ 1
avi 2021-04-09T15:22:08.373300Z

Super cool! I was just looking for something like this a month agoโ€ฆ I ended up putting the project on hold so didnโ€™t make a choice, but I was thinking of trying https://contribsys.com/faktory/ with https://github.com/apa512/clj-faktory. This is now bookmarked for next time I need something similar.

avi 2021-04-09T15:26:15.373700Z

@msolli Kudos on the clear and comprehensive docs. Takes a lot of effort, and well worth it.

avi 2021-04-09T15:27:56.374100Z

Also I like how itโ€™s flexible enough to run the workers in the same VM as the rest of an app (e.g. a Web app/server) or in one or more discrete/dedicated VMs. Very nice!

โค๏ธ 1
msolli 2021-04-10T07:57:09.396200Z

@aviflax Thanks! Yeah, Iโ€™ve put some effort into the documentation. It really helps with the design process too, writing down how itโ€™s supposed to work. Hope it can be helpful to you in the future!

avi 2021-04-12T13:56:50.418700Z

> It really helps with the design process too, writing down how itโ€™s supposed to work. +1000000

danielsz 2021-04-14T13:47:14.432800Z

Cool name

1
chrisn 2021-04-09T14:47:20.370900Z

I have an example of using <http://tech.ml|tech.ml>.dataset including reading/writing parquet with graal native.ย  I spent a bunch of time tracking down things that were making the build bigger/slower than necessary and reworked the parquet bindings so they would work with the latest parquet/hadoop ecosystem pieces.ย  The example parses a csv, does some calculations, and the saves/loads from parquet to make sure everything is good -ย https://github.com/cnuernber/ds-graal.

๐Ÿ’ฏ 3
๐Ÿ‘ 3
๐Ÿš€ 8
chrisn 2021-04-09T14:48:42.372300Z

I should also say there getting that much working with the a full spark system perhaps not possible due to the fact that about 40% of the hadoop system finds it necessary to use reflection approximately every 10 lines ๐Ÿ™‚.

๐Ÿ˜” 3
quoll 2021-04-09T16:24:50.381100Z

Asami 2.0.0 has been released. Asami is a schema-less graph database for both Clojure and ClojureScript. Version 2.0.0 includes durable storage in Clojure. https://github.com/threatgrid/asami

๐Ÿ‘ 11
๐ŸŽ‰ 43
vlaaad 2021-04-09T16:36:34.381600Z

Long ago, the four nations lived together in harmony...

๐Ÿ‘ 1
1
โ˜ฎ๏ธ 1
quoll 2021-04-09T16:39:06.381900Z

I think itโ€™s interesting how we have different use cases. For instance, I wouldnโ€™t use Asami for high speed small transactions (especially on disk!) but itโ€™s good for querying

quoll 2021-04-09T16:40:00.382100Z

Also, being schema-less can be far more convenient (e.g. you can just load arbitrary JSON into it, and it automatically turns it into a graph). But this has implications for upsert

quoll 2021-04-09T16:53:44.383100Z

I just have to wonderโ€ฆ which project is the Fire Nation?

๐Ÿš’ 1
danielcompton 2021-04-09T19:10:00.388200Z

Voting has started for Clojurists Together board members! If youโ€™re a member, you should have a ballot by now. If you don't, get in touch! :clojurists-together: https://www.clojuriststogether.org/news/announcing-board-nominations/

๐Ÿ‘ 7
6
Helins 2021-04-09T21:17:28.392800Z

A peculiar hook for Shadow-CLJS: https://github.com/helins/coload.cljc It formalizes the act of "coloading". When working with CLJC files, this hook ensures they are loaded both as Clojurescript in your JS engine and Clojure on the JVM. Each such namespace exists in two universes, and both universes are kept in sync everytime something is changed. Why? Well, I'll release a novel CSS library soon which leverages this heavily ๐Ÿ™‚

๐Ÿ‘ 8
๐Ÿ˜ฎ 6