This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
@martinklepsch: Not sure. I'm not sure which phase would be the best for hyphnation or highlighting.
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
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.
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
~ % 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"
~ % 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
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
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
@micha: it still makes some errors, "let-t-ers" vs. "let-ters", "hy-phen-a-tion" vs "hy-phen-ation"
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
boot-atom-shell task to build a project?
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.