This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
Lol I've been wondering for some hours why I can't get the hyphenation to work
I'm using en-gb rules and but testing en-us 😄
@juhoteperi: do you still think task splitting is necessary btw?
@martinklepsch: Not sure. I'm not sure which phase would be the best for hyphnation or highlighting.
Highlighting should either find markdown code blocks or html code blocks.
hyphenation should change words in all except some html tags
I think it would be easiest to work with the html in hiccup representation
Another possibility might be a Pegdown plugin
Looks like Pegdown plugins could easily edit paragraphs and code blocks
My concern with splitting is mostly that we make assumptions about render functions, i.e. that they need to return hiccup. Imho it would be nice to be agnostic to whatever people want to use
Can I help with perun http://prismic.io support? Have used it a lot from node but would really like a clojure solution @micha @podviaznikov
hi there. i’m just trying to run 2 boot repl sessions in the same project dir and seems it’s harder than I thought first “boot repl” went ok and repl session has opened but second “boot repl” ends up with "Error: Exception thrown by the agent : java.lang.NullPointerException"
well.. it’s even worse. i’m not able to run boot outside of my project. NPE is thrown everytime as long as first session is alive.
@michal: what’s the output of boot -V
Mostly marketing websites like: http://asas.nl, http://avisi.nl, http://dash.avisi.com
Via prismic hooks
Tot our build server (bamboo)
Currently using baked.js which really sucks but has some good ideas
And we deploy to S3
Are you interested in prismic @micha ?
Will you be at Euroclojure?
Hmm might have to go there
The Netherlands
A lot of rain haha
Haha lol
Aha nice
Well I might go to clojutre looks fun!
Anyhow if you need help with prismic don't hesitate to ask been using it for 2 years now
i'm not sure if we want to go with static site generator or single page app consuming prismic data in the client yet
possibly a combination of the two, with front page content handled dynamically in the client and archives/permalinks via static site
Sounds like a fun project
A combination is pretty easy todo
Yes never failed us
Not perfect but better then the alternatives
Cool, would love to help out want to do more open source clojure
I am the only clojure developer @ work so don't get a lot of feedback
Awesome!
@martinklepsch: #https://github.com/boot-clj/boot #Sun Jun 21 15:04:15 CEST 2015 BOOT_CLOJURE_VERSION=1.7.0-RC2 BOOT_VERSION=2.1.2 #App version: 2.0.0
~ % boot repl -vv Error: Exception thrown by the agent : java.lang.NullPointerException
user=> (clojure.string/replace (hyphenate-word fi/rules "lentokone") +hyphen+ \-)
"len-to-ko-ne"
wohoo!
eh, soft hyphens aren't displayed here
~ % java -version java version "1.8.0_05" Java(TM) SE Runtime Environment (build 1.8.0_05-b13) Java HotSpot(TM) 64-Bit Server VM (build 25.5-b02, mixed mode)
ahhh I know what happened. sorry for taking your time, I’ve added -Dcom.sun.management.jmxremote to BOOT_JVM_OPTIONS to have jmx enabled
I think, the problem was the same port I was trying to use. full BOOT_JVM_OPTIONS look like this:
-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=7091 -Dcom.sun.management.jmxremote.rmi.port=7091 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false
actually it’s more complicated if you have machine behind firewall. jmx uses 2 ports to communicate
as far as I know these 2 ports might be exactly the same, but still you have to provide them explicite in jmxremote.port and jmxremote.rmi.port
sure. boot can start up jmx and provide additional beans, statistics and things like this. it’s really useful for regular java based servers, so maybe boot could also utilize that
jmx gives almost endless posibilites to extend applications but usually it’s used for gathering statistics
dropwizard’s metrics (https://dropwizard.github.io/metrics/3.1.0/) nicely integrate with jmx
michal: this sounds great, if you would like to sort of sketch out some initial requirements i will write the code
sure! i’m just creating clojure app with jmx extensions in mind, so I will try to gather and describe some of my ideas
we use datadog extensively at my job, i'm imagining doing stats for applications via jmx maybe
like if we want to connect a different collector to the jmx agent we could and then we'd have metrics there too
with clojure i imagine we could write some macros and functions and whatnot to present an api applications can use to send metrics that's as easy to use as datadog
like if i wanted to monitor latency of dynamodb update requests, for example, i could make an mbean for that?
jvm related metrics (cpu/memory/thread and so on) you have for free. any other metrics you have to provide to jmx by yourself. I’m doing it via https://github.com/sjl/metrics-clojure
jmx tools like jconsole or visualvm give you even realtime graphs to observe how these metrics change
but what’s most interesting you may integrate any other tool that is able to connect to jmx and consume your metrics in your special way
like you could see a list of all pods, and send a command to a pod to start a repl server you can connect to
to debug issues that are happening in some pod that's not accessible directly from the build.boot context
anyway, the basic thing that would help a lot would be just a jmx plugin which would expose jmx agent on given port (possibly with user/pass) and attach some mbeans
like if i register mbeans do i need to worry about references being held somewhere that will prevent things from being collected?
garbage collector? you may enforce garbage collecting via jmx, but as you probably know it doesn’t really mean that GC will release mem immediately. it works more like a “suggest”.
this is especially cool because with this we have a way to compare datadog against something
Will that make a running boot automatically pick up the new one? Say in the next watch
triggered cycle.
I have 2 running boot, one with dependencies on the other. I'd like to have changes in the dependent one being picked up without having to restart my boot process.
i use it for example when working on the hoplon compiler, where i'm working with an example application for instance, but i want modifications to hoplon compiler to be part of the watcher pipeline
that runs an incremental build that builds hoplon and installs the hoplon jar in local .m2 whenever anyhting changes
it's more powerful than :checkout-deps in lein because everything synchronizes around the jars
so your checkout build could be doing a lot of things that the secondary project doesn't need to know about
Next level would be to enable this for all dependencies (like checkout :all
?) and even better to resolve changes to the buid.boot
I mean that I don't have to specify the checkout dependencies but it just resolves my build dependencies.
Would it make sense to have build dependencies resolved per 'run'? Not sure if this is technically feasible.
yes this is already great. The downside is that you can't really have a generic build file.
that would solve all kinds of annoying problems, for example it would make reloading of clojure code obsolete really
and then you realize that you've been writing code for the past hour using some stale state in the repl
Also I was wondering if boot had the necessary hooks to have some dashboard similar to https://github.com/oakmac/cuttle
Expect it could be a generic tool for any build.boot
.
i imagine maybe if we add jmx support to boot and boot tasks participate, you can use a number of already existing jmx frontends to visualize and interact with the running boot process
@micha: https://www.dropbox.com/s/bolelkz613aocs7/906a6334-04a0-4153-b3c1-ca0da5e8b022.png?dl=0 Hyphenation is sort of working (for some reason some words are hyphenated incorrectly :D) but CSS columns are horribly broken
Right. jmx is nice but pretty constrained and limited to the Java world. A dumb HTTP server would allow to interact with something as simple as curl.
jeluard: i bet there are lots of awesome http-->jmx things out there already that we could use
@micha: Padding and margin from previous column continues into second column, so the column contents start in random positions
@martinklepsch: @podviaznikov: Very rought version of hyphenation: https://github.com/hashobject/perun/compare/hyphenation
It is currently tied to clj representation of markdown AST
@micha: it still makes some errors, "let-t-ers" vs. "let-ters", "hy-phen-a-tion" vs "hy-phen-ation"
patterns from hyphenator.js don't include exclusion rules
Exclusions can also be represented as regular patterns
e.g. ta-ble would be 6t6a7b6l6e6 or something 😄
in the paper they describe applying patterns, then exclusion rules that override the patterns, then inclusion rules that override the exclusions, then exclusions ... 5 layers deep i believe
Yeah I glanced through the paper quicky
@juhoteperi: clj-hyphenate
looks useful. I wasn’t aware of http://mnater.github.io/Hyphenator/ - I like how text is more readable that way (and takes more horizontal space). I’m going to try it
Did you notice that Slack was written in atom-shell? Which is javascript-based. Which makes it compatible with Clojurescript. But who has written/will write a boot-atom-shell
task to build a project?
also this build tool is really sweet: https://github.com/apenwarr/redo
About redo, this is legendary stuff. Daniel J. Bernstein laid out his vision for this, then never wrote it.
Off-topic: I’ve spent an epic few days rethinking my email workflow, and I switched from a regular Mail.app/Gmail setup to a mbsync + msmtp + mu4e + emacs setup. It still needs to pass the test of time, but I already enjoy the benefit of a 100% portable configuration across the board (mac and linux, server and desktop). Config is under revision control (except credentials of course), exactly like dot files. It feels amazing.
I think gmail is more portable than alternatives. It works on Android and Pebble :D
@danielsz: Well, the notifications are great and voice reply seems to work surprisingly well. (Obviously nothing prevents using Gmail on Android when using mailclient on desktop)
This is my new setup. I love it. ihttp://www.ict4g.net/adolfo/notes/2014/12/27/EmacsIMAP.html
@micha: Should be a lot more readable now: https://github.com/Deraen/clj-hyphenate/blob/master/src/clj_hyphenate/core.clj still does't work correctly though. I guess I need to take a look at pattern parsing & trie building.