This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2016-12-08
Channels
- # adventofcode (31)
- # beginners (97)
- # bigdata (2)
- # boot (276)
- # cider (17)
- # cljsrn (5)
- # clojure (150)
- # clojure-china (3)
- # clojure-conj (8)
- # clojure-greece (1)
- # clojure-india (1)
- # clojure-korea (1)
- # clojure-new-zealand (4)
- # clojure-russia (40)
- # clojure-spec (119)
- # clojure-uk (116)
- # clojurescript (87)
- # code-reviews (110)
- # core-async (4)
- # cursive (11)
- # datomic (26)
- # garden (4)
- # gorilla (7)
- # hoplon (82)
- # humor (1)
- # jobs (2)
- # jobs-discuss (10)
- # luminus (17)
- # onyx (60)
- # planck (2)
- # play-clj (2)
- # protorepl (70)
- # re-frame (121)
- # reagent (7)
- # ring-swagger (3)
- # rum (16)
- # test-check (16)
- # untangled (12)
- # yada (20)
I'm looking to dynamically add in some html
and cljs
files during the dev
phase. Using this to run devcards
just wondering what is the best way to add some files to the fileset on demand.
@grounded_sage you can make a temp dir, add files to it, then add the temp dir to the fileset
Ah yes that's right. I just thought there was a simple thing like doing a sift or set-env!
Figured it out. Just had to conj
the resource paths and return identity 🙂
@tmtwd i tried your demo project
https://dl.dropboxusercontent.com/u/12379861/Screenshots/b05a62c2-2fb4-4fca-bd75-6528c2a8f414.png
it works, but you have to require with the :reload
argument
ie after changing and saving epsilon.core, in omnicron i needed to run (require 'epsilon.core :reload)
. by default clj doesn't load & compile files that have already been loaded
there's also :reload-all
which forces reload of the files that ns requires
does that solve the problem you had or did you have a different problem?
maybe, i've never used it
i think even with it you need to call a function to doit
is there a way for me to invoke boot with a filename and have it run it similar to the shebang script method?
found this >Added -f, --file — evaluates the contents of a file just like with the shebang script, but easier to use on platforms like Windows that don't have great shebang support #465.
maybe also the new/experimental bash-on-windows thing? or cygwin
let's do it
changelog is lookin good
i'm game now? i can test things etc
oh time diff
party pizza
nah, that doesn’t work for some reason. I found a workaround though:
I don’t use : boot watch pom -p tim/eplon -v 1.1 jar install
and I do something like this:
what kinda system are you on btw?
oic, looks like mac
and java 8?
is your home directory mounted on a different disk?
hm another thing you can do is in omnicron, add (set-env! :resource-paths #(conj % "/path/to/epsilon/src")
and comment out the dependency
at least, that works if epsilon doesn't have dependencies you didn't already specify in omnicron
it will not
boot.user=> (clojure.core/load-file "/Users/timothy/programming/boot-presentation/2modules-sep/epsilon/src/epsilon/core.clj”)
that works
but i still need your computer's address so i can send it a nasty letter for mysteriously not doing checkouts
lemme do a quick screencast here
to show you what i did
i have recently mastered this technology
i will make a recording and put on youtube, 1 sec
hm, shoulda made the fonts bigger, sorry
I didn’t realize (require 'epsilon.core :reload)
has to be called each time you want to reload the changes
ah, i can see that
yup just tickles clj into invalidating cache
no prob
i'm sure there is fanciness to automatically reload things for you
but i don't use any of it
@alandipert off-topic: what window manager are you using?
@christianromney i3 4 eva
never heard of it!
checking it out now
wow ok
you’re running linux or osx?
it is?
so i can manage tabs in the window manager which means only one set of keyboard shortcuts etc
that’s neat
so you can't do scaling in a sane way, like on a laptop with a high resolution screen it's sketchy
i'd deal with it though, as there is no other alternative unless i was to write a window manager myself
barp $ BOOT_VERSION=2.6.0 boot -BP pom -p foo/bar -v 1.2.3 target
Writing pom.xml and pom.properties...
Writing target dir(s)...
barp $ tree target/
target/
└── META-INF
└── maven
└── foo
└── bar
├── pom.properties
└── pom.xml
4 directories, 2 files
another handy thing in the 'where is it' situations, pop show -f
or (show :fileset true)
in your pipeline... prints out fileset
@christianromney yes i3, a+, strong recommend, deploy to prod immediately
i have been using it to manage tabs/buffers/windows for both emacs and chrome, which has changed the game
no more tab/buffer islands
micha showed me a trick with chrome, yuo can install a plugin that pops new tabs into new windows... so you can use your tiling WM for tabbing
or accordian, or whatever you want. then i have a script that i can use to search everything, tabs, emacs frames, etc
sounds powerful
the perception of productivity is higher anyway lol
i feel amazing
ha. i was experimenting with amethyst for osx
mainly i’ve used things to sling windows around across monitors and resize them
oh cool. heard about it but never used. used a thing on mac called sizeup for similar purposes
e.g. size up, moom, but a full blown WM seems more robust
right i’ve used it
just got a new mac and am installing my usual suite of tools
but was experimenting with different tools
e.g. nix over brew (i gave that up)
now alternative WM options
cool. i landed on i3 after a similar period of reassessment
i slimmed my emacs config down and gained 3 seconds of my life every time i launch it
a walkabout
good term for it
does it run ok on OSX?
on your next walkabout, check out setting up emacs daemon
i have
but it pisses me off when i switch projects
and I have to M-x cd inside emacs
i’m peculiar about such things
i had emacs set up at one point to use the i3 reflection commands
i should just write something in elisp to hook into projectile
to start the client frame in the same directory the adjacent gnome terminal's cwd
ooh nice
it didn't work really lol
hehe A for effort though
but i enjoy that about i3, accessible hooks
re: i3 on mac, i suppose it could work in the X.app thinger, but i never tried it. not sure how the keybindings would work in that situation either
hmm yeah. going to see what google thinks
man, ppl really dig i3. on reddit: "I tried i3 today and now I hate my Mac"
this looks interesting: https://github.com/kasper/phoenix can use cljs to script the window manager...
@micha was this the exception change you were talkinga bout last night? https://github.com/boot-clj/boot/pull/532
@christianromney yeah, altho... i3 uses a set of cli things to interact with the wm while it's running, so yuo can use any language you want to collect info from them or run them w/ commands. the nice part about this is you can find and adapt many ppls' python/ruby/etc scripts
@hlship going through and testing things
@hlship noticing that pretty output is now italicized, which doesn't look great on my setup, is there a way to configure that ?
err, some output is italicized. .getMessage looks like
that's cool, i can alter-root it in my profile.boot i think
i bet most people like it
(def ^:dynamic *fonts*
"ANSI fonts for different elements in the formatted exception report."
{:exception bold-red-font
:reset reset-font
:message italic-font
:property bold-font
:source green-font
:function-name bold-yellow-font
:clojure-frame yellow-font
:java-frame white-font
:omitted-frame white-font})
The thing I’m most concerned about is the order of the stack frames; that’s swapped from Java traditional order (deepest/latest to shallowest/earliest) to Pythonic order (shallowlet/earliest to deepest/latest). That too can be controlled.
(def ^{:dynamic true
:added "0.1.15"}
*traditional*
"If bound to true, then exceptions will be formatted the traditional way (the only option prior to 0.1.15)."
false)
personally i think that's ok, since the formatting of an exception is very much a UI
as opposed to an interchange format that people would expect to be able to program against
It’s one of the reasons I’m really looking forward to a new official Boot release so I don’t have to go through the stage of “which end do I start from” when I see an exception.
hm it's not clear to me how to configure these as a user
oh, i guess i can eval-in the worker pod
that's the thing to do
ok nvm - this totally works, in my ~/.boot/profile.boot
:
(alter-var-root
#'boot.from.io.aviso.exception/*fonts*
assoc :message boot.from.io.aviso.ansi/white-font)
i will try to flip the ex msg that way and if i can come up with a recipe, add to changelog
thinking (alter-var-root #'boot.from.io.aviso.exception/*traditional* (constantly true))
should do it
totes mc 🐐 s
https://dl.dropboxusercontent.com/u/12379861/Screenshots/4135f41b-49a1-44f4-8936-e72a293b017b.png
@hlship what do you think about BOOT_? env var and flag to control exception order?
i have been using i3 wm for my laptop (have not moved my desktop to i3 yet, still in kde). i was using awesome wm before, now I cannot go back.
re: exception printouts being UI... it occurs to me that people might be piping output to a script or something, and it would be nice to control as env var. and maybe we don't change the default yet?
or maybe, this behavior is unforgivable and we forge ahead. @micha ⏫
do you guys have your i3 config files shared somewhere? may be i can pick a thing or two from there 🙂
@nux sure, got everything here - https://github.com/alandipert/dotfiles
@alandipert thanks I will check it out and see if i can add in my configs 🙂
@nux today is my sharing day 🙂 https://github.com/arichiardi/ar-settings/blob/master/dotfiles/.config/i3/config
I cannot see nm-applet
and co on here, so there might some problem in tray_output
on 2nd thought re: stack frame order, even ppl using boot non interactively who want the old behavior can still get it via profile.boot
@richiardiandrea in my case, i see the applets (even nm-applet), but after i close the lid and open again, even if the network is connected, i only see 'disconnected' icon there.. some thing must have gone wrong one of these days. it used to work good before
reminds me of node vs nodejs on ubuntu
the unix gods gave us the ability to rename files dudes
oh man, he suckered you into apologizing
for giving him amazing and free software that wasn't name a particular string he enjoys
I personally use b
lol
feel free to chime in lol
maybe we shouldn't even specify what it's called, anywhere
politically correct library tool $(cat /dev/urandom)
oh that's exactly the one I always use!
any thoughts on the pretty/exception stack frame flip? i've convinced myself that it's cool
also i've successfully brought back old behavior with profile.boot mods
i personally am ambivalent
I like it too (I think I also wrote it on the PR)
i'm just thinking about people who might be parsing these somehow, and if we care about them
or is it just too weird of an idea to think about covering down on
but as Rich was saying, we should maybe ask to b
users
hopefully you are right Micha, it should not break anything
(famous last words)
even if it does, people can still use the new version with a quick profile mod
if you're weird enough to parse stack traces
you should be ok with modifying your profile.boot
the only use I would see is in Jenkins' jobs
parse the stack, but ... who knows...
yeah, fortunately the msg is still in the same place
like the root .getMessage
ah cool
which i imagine is what people would put in ther CI build-broken email subject or whatever
https://github.com/boot-clj/boot/wiki/Configuring-Boot#configuring-stack-trace-display
^^ pls to review
looks good
re: the omit-stacktrace businses, it looks like the trace will not get printed even when -vv
since the check is a cond and the check for the kw on the ex-info precedes the verbosity checks
which i think is ok - because the thrower is making a statement that the stack trace shouldn't really matter for any purpose
ie test fail, cljs error, etc
as in, it was thrown to short circuit the pipeline, is not an actual totally unexpected condition
@hlship ready to merge https://github.com/boot-clj/boot/pull/531 but there's a small conflict in CHANGES.md, would you mind fixing?
and reword to your liking. i just added a link to my discoveries around restoring old behavior