ChanServ changed the topic of #crystal-lang to: The Crystal programming language | http://crystal-lang.org | Crystal 0.31.1 | Fund Crystal's development: http://is.gd/X7PRtI | GH: https://github.com/crystal-lang/crystal | Docs: http://crystal-lang.org/docs/ | API: http://crystal-lang.org/api/ | Gitter: https://gitter.im/crystal-lang/crystal
teardown has joined #crystal-lang
<FromGitter> <didactic-drunk> Is there an dynamic `StaticArray` type similar to `alloca` for stack allocation?
<FromGitter> <Daniel-Worrall> should I be moving `libruby.so` to `/usr/local/lib` or specifying the path on compile (somehow, not sure how yet)
<FromGitter> <watzon> Does anyone else think it would be handy to be able to descructure an array into another array in a similar way to how you can do it in JS? Something like: ⏎ ⏎ ```arr = [2, 3, 4] ⏎ merged = [1, *arr, 5] ⏎ pp merged ⏎ # => [1, 2, 3, 4, 5]``` [https://gitter.im/crystal-lang/crystal?at=5dc37b23e1c5e91508488797]
<FromGitter> <watzon> There isn't a way to do this currently right?
<FromGitter> <watzon> This is possible in Ruby as well, but in Crystal you get the error `Unterminated Array literal`
<FromGitter> <christopherzimmerman> I doubt splatting arrays will ever be supported
<FromGitter> <christopherzimmerman> Because IIUC that would require the compiler to know the size of the array at compile time for an array to be splatted as function arguments for example.
<woodruffw> hmm, it probably wouldn't be too hard to introduce constrained splatting -- it's semantically the same as `lhs + thing + rhs` in a method body
<FromGitter> <watzon> Basically yeah
<woodruffw> splatting into a method call would be tough though -- i guess the closest thing could be sugar for array-to-tuple, then splat the tuple
<woodruffw> with a runtime exception if the tuple isn't the right size
<woodruffw> not too familiar with the parser internals, but i *think* this is the right location for array literals: https://github.com/crystal-lang/crystal/blob/master/src/compiler/crystal/syntax/parser.cr#L2262
<FromGitter> <asterite> Chris Watson: I want that too: https://github.com/crystal-lang/crystal/issues/462
<FromGitter> <asterite> I might implement it, I can't remember why I closed it
<FromGitter> <watzon> @asterite maybe it would be good to reopen it? Maybe someone will PR it at some point
<FromGitter> <ImAHopelessDev_gitlab> I love METHODS!
f1refly has joined #crystal-lang
f1reflyylmao has quit [Ping timeout: 265 seconds]
<FromGitter> <ImAHopelessDev_gitlab> hi @Blacksmoke16
ht_ has joined #crystal-lang
_whitelogger has joined #crystal-lang
ht_ has quit [Quit: ht_]
yukai has quit [Ping timeout: 240 seconds]
DTZUZO has quit [Ping timeout: 252 seconds]
DTZUZO has joined #crystal-lang
DTZUZO has quit [Ping timeout: 276 seconds]
alexherbo2 has joined #crystal-lang
DTZUZO has joined #crystal-lang
DTZUZO has quit [Ping timeout: 252 seconds]
<repo> hey.. i get a segfault when trying to build a project with --release...
<repo> it worked before
<FromGitter> <j8r> before... what?
<repo> before building with --release
<repo> also it worked before _with_ --release. i just updated the underlying image
DTZUZO has joined #crystal-lang
<repo> it's built in docker
<repo> also alpine
<repo> and --static
<repo> so alllll the flags
<repo> it's not very helpful
<repo> i was just wondering if this is a known glitch and if there's a way to circumvent it
DTZUZO has quit [Ping timeout: 268 seconds]
<repo> oh boy....
<repo> now it works
<repo> wanna know what i did?
<repo> i added a newline
<repo> wtf..
DTZUZO has joined #crystal-lang
DTZUZO has quit [Ping timeout: 245 seconds]
DTZUZO has joined #crystal-lang
DTZUZO has quit [Ping timeout: 276 seconds]
<FromGitter> <j8r> one thing to try is also clean your cache
DTZUZO has joined #crystal-lang
DTZUZO has quit [Ping timeout: 265 seconds]
DTZUZO has joined #crystal-lang
<FromGitter> <marynowac> hi. ⏎ is there any way to do the ldap authentication in crystal? ⏎ i've looked at awesome crystal (https://github.com/veelenga/awesome-crystal) and crystalshards (https://crystalshards.xyz/), but nothing was found. googling's returned nothing too… ⏎ ⏎ i'm looking for something similar to ruby net ldap (https://github.com/ruby-ldap/ruby-net-ldap) or php basic ldap
alexherbo2 has quit [Quit: The Lounge - https://thelounge.chat]
<FromGitter> <Daniel-Worrall> Is it intended that `crystal docs` expands `#{__DIR__}` for macros definining constants? ⏎ My Constants are getting generated with travis filepaths which might confuse people `CSS_BEAUTIFY_JS = {{ read_file("/home/travis/build/Daniel-Worrall/beautify/src/../js-beautify/beautify-css.js") }}`
DTZUZO has quit [Ping timeout: 240 seconds]
alexherbo2 has joined #crystal-lang
DTZUZO has joined #crystal-lang
<FromGitter> <Daniel-Worrall> I don't claim to know much about shell scripting but I put together a pre-commit githook file to check `crystal tool format`, `ameba` (and shards dependencies for ameba), `crystal spec` ⏎ It only runs on files that are to be commited and the specs run with --fail-fast to speed execution. ⏎ ⏎ Note: --fail-fast doesn't give a correct error code on return, but should be fixed for next release so I'm
<FromGitter> <Daniel-Worrall> and ofc, forgot to include the link in the message :^)
<FromGitter> <tenebrousedge> I would just use the `shards check` and other return value directly. And why not run the appropriate fix command?
<FromGitter> <Daniel-Worrall> People may want to run them themselves, or be aware that it was run
<FromGitter> <Daniel-Worrall> I'm unsure how to do taht kai. As I said, I don't really know much about shell scripting
<FromGitter> <j8r> in you script, you can directly do `if mycommand ; then`
<FromGitter> <j8r> or, `if !mycommand; then echo "Ooops"; fi`
<FromGitter> <Daniel-Worrall> gotcha
<FromGitter> <tenebrousedge> being aware that they are run is fine, but unless there are potential side effects (which for some of these seems unlikely) then personally I would assume that the person wanting to automate their workflow would want to automate as much as was practical
<FromGitter> <tenebrousedge> you can also do `command || exit`
<FromGitter> <j8r> Yep, I don't think having an error message is necessary
<FromGitter> <j8r> it could be just ⏎ ⏎ ```#!/bin/sh -eu ⏎ crystal tool format ⏎ bin/ameba``` [https://gitter.im/crystal-lang/crystal?at=5dc42afc9c39821509fcd7ff]
<FromGitter> <Daniel-Worrall> I'd rather avoid a lot of console messages for every commit
<FromGitter> <Daniel-Worrall> Especially if the output is large
<FromGitter> <Daniel-Worrall> in the case of specs
<FromGitter> <j8r> so add `>/dev/null` yes
<FromGitter> <Daniel-Worrall> In that case, you don't know which one failed :^)
<FromGitter> <j8r> But you have this issue with ameba already
<FromGitter> <j8r> with your script
<FromGitter> <Daniel-Worrall> I do?
<FromGitter> <Daniel-Worrall> oh, I mean which of the 4
<FromGitter> <j8r> Yes `bin/ameba >/dev/null`
<FromGitter> <Daniel-Worrall> Yeah, but you at least know it was ameba that failed
<FromGitter> <j8r> `bin/ameba --silent` can be used, but I would rather store the output in a var
alexherbo23 has joined #crystal-lang
<FromGitter> <Daniel-Worrall> I'd like to store the output and then parse how many files failed and where
alexherbo2 has quit [Ping timeout: 268 seconds]
<FromGitter> <Daniel-Worrall> but not all the errors
<FromGitter> <j8r> not all ameba errors?
<FromGitter> <Daniel-Worrall> As in... not all the stdout it usually gives
<FromGitter> <Daniel-Worrall> ```code paste, see link``` [https://gitter.im/crystal-lang/crystal?at=5dc42cfae1c5e915084d91a2]
<FromGitter> <Daniel-Worrall> for example
<FromGitter> <Daniel-Worrall> I'd say, src/beautify.cr failed
<FromGitter> <j8r> @Daniel-Worrall `bin/ameba -f flycheck`
<FromGitter> <Daniel-Worrall> I didn't see that in --help, thanks
<FromGitter> <Daniel-Worrall> oh it was there
<FromGitter> <Daniel-Worrall> I'm just bad at reading
<FromGitter> <j8r> :)
<FromGitter> <j8r> So, just 2/3 command in the pre-commit
<FromGitter> <j8r> 4 more precisely
<FromGitter> <tenebrousedge> I'd rather have the ton of information in every commit, personally
<FromGitter> <Daniel-Worrall> Well, it's customisable ;)
<FromGitter> <Daniel-Worrall> It is a template after all
<FromGitter> <Daniel-Worrall> I feel like `shards check` should output to stderr if dependencies aren't satisfied
<FromGitter> <j8r> It would be good indeed
<repo> j8r: the cache is clean. i built with docker build . --no-cache
<repo> it seems totally random
<repo> here is how my Dockerfile looks like: https://p.jokke.space/mpk/
<FromGitter> <j8r> you compile with no other flags than `--release`?
<repo> i do
<repo> see the dockerfile
<FromGitter> <j8r> `build --production` is likely useless
<FromGitter> <j8r> ho yes I know why
<FromGitter> <j8r> yo uare building statically
<FromGitter> <Daniel-Worrall> It depends on the app, but yeah, that helps
<FromGitter> <Daniel-Worrall> I'd actually recommend you put it in a `static.cr` file and then `require "./app"`
<FromGitter> <Daniel-Worrall> though I guess it *is* macro'd
<repo> ahhhh!
<repo> sweet j8r!
<repo> i'll give it a go!
<repo> j8r: why don't you write it directly to the source file?
<repo> so this would have to be in the file passed to crystal build?
<repo> does it matter where?
<repo> and how on earth did you figure this out?
<FromGitter> <Daniel-Worrall> Just stick it in the main app right at the top
<FromGitter> <Daniel-Worrall> before any other code
<repo> ok thanks
<FromGitter> <Daniel-Worrall> I'll update the spec one to give a better spec output once I see what it's like in next release
<FromGitter> <j8r> repo: because this is a generic Dockerfile
<repo> ok i see
<FromGitter> <j8r> @Daniel-Worrall I think you can drop failed spec, and all `exit 1`
<FromGitter> <j8r> and have `#!/bin/sh -e`
<FromGitter> <tenebrousedge> lots of people say `-e` is bad
<FromGitter> <Daniel-Worrall> The output to `--fail-fast` isn't very useful
<FromGitter> <Daniel-Worrall> which is why I put the echo temporarily
<FromGitter> <j8r> @tenebrousedge That's the opposite for me
<FromGitter> <j8r> Ok, so you can just add `-e` and drop `exit 1`
<FromGitter> <j8r> and have at the end `| | { echo "Specs failed."; exit 1 } `
<FromGitter> <j8r> it isn't said it's bad
<FromGitter> <j8r> like other scripting languages, Python, Ruby, this make the script end when there is an error
<FromGitter> <tenebrousedge> lots of people on SO think it's bad
<FromGitter> <j8r> I always have `#!/bin/sh -eu`
<FromGitter> <tenebrousedge> that's nice
<FromGitter> <j8r> why it is bad?
<FromGitter> <tenebrousedge> read the links
alexherbo235 has joined #crystal-lang
<FromGitter> <j8r> the links didn't say it's bad, per se
<FromGitter> <j8r> it's imperfect, that's totally true
<FromGitter> <Daniel-Worrall> This is weird, I have to put the `}` on a newline
<FromGitter> <j8r> @Daniel-Worrall or add `;`
<FromGitter> <Daniel-Worrall> ah
<FromGitter> <Daniel-Worrall> gotcha
alexherbo23 has quit [Ping timeout: 240 seconds]
<FromGitter> <j8r> That's why in Bash, there is `-opipefail`
<FromGitter> <j8r> The first link recommends using custom error handling ⏎ Of course it may be better, but it is manual and error prone
<FromGitter> <j8r> For some scripts `-eux` may be good, when the logs are only meant to be read for debugging
<FromGitter> <Daniel-Worrall> For now, with such simple scripting, it's fine, but I'll look into how to handle more complicated things better
<FromGitter> <j8r> indeed
<FromGitter> <j8r> repo: also, keep in mind that static linking means empty stack traces
<FromGitter> <Daniel-Worrall> What does that mean, j8r?
<FromGitter> <Daniel-Worrall> Though not directed at me, I do statically link with your dockerfile
<repo> damn
<repo> here's my dockerfile: https://p.jokke.space/LQEP/
<FromGitter> <Daniel-Worrall> so that `-e` is causing it to not exit with 0
<repo> i guess it's not safe to assume i get a compatible version of the libs in the non-edge alpine image
<FromGitter> <j8r> repo: take my image ;)
<FromGitter> <wontruefree> just a reminder http://chicagocrystal.org/events/bbhsjryzpbkb/ is tonight
<FromGitter> <j8r> @Daniel-Worrall for empty stack traces? https://github.com/crystal-lang/crystal/issues/4276#issuecomment-313678321
<repo> j8r: i don't see a 0.31.1 image
<FromGitter> <j8r> you can use latest
<FromGitter> <j8r> and there is `0.31.1` https://hub.docker.com/r/jrei/crystal-alpine/tags
<repo> jah cool
<repo> ah
<repo> i'll use it!
<FromGitter> <j8r> I didn't put it in the README because this version is still on the Alpine Edge repos
<repo> thanks!
<repo> ah
<repo> yeah
<repo> so the 0.31.1 image is based on alpine edge?
<repo> you know what's funny? we were both "jrei"s :)
<FromGitter> <j8r> yes
<repo> i got married and now i'm jrep
<repo> :)
<FromGitter> <j8r> haha :)
<FromGitter> <j8r> your name is `repository` :D
<repo> well my full name is repomaa
<FromGitter> <j8r> 1) married with git haha
<repo> :D
<FromGitter> <j8r> oh ok 👍
<repo> we actually made that name up
<repo> we're the first people in the world with that name :)
<FromGitter> <Daniel-Worrall> Thanks for the help, I've put it in the forum
<repo> on topic: my 0.31.1 build somehow worked with alpine:3.10
<repo> but now it doesn't anymore...
<FromGitter> <j8r> I may also change my name, too, in the future - so no more jrei
<repo> oh :)
<repo> i can tell you it's quite the buerocratic hell
<FromGitter> <j8r> 💀
<FromGitter> <j8r> Alpine:3.10
<FromGitter> <Daniel-Worrall> Name consistency is a bitch :^)
<FromGitter> <j8r> 1) 10 has Crystal 0.29.0
<repo> yeah i know
<repo> but you can check out my dockerfile.
<repo> i'm kinda cheating
<repo> i install crystal in edge and then copy it over to 3.10
<repo> but because it's dynamically linked that goes wrong now
<FromGitter> <j8r> -_-' ...
<repo> but i got lucky before
<FromGitter> <j8r> why doing that?
<repo> because you might want the latest crystal version but a stable release of alpine underneath?
<FromGitter> <j8r> It's kinda two opposite sentence in one
<repo> have you thought of using a custom prelude for this static linking stuff?
<FromGitter> <j8r> because latest Crystal will be in Edge
<repo> yes
<repo> that's why i just use edge for fetching it
<repo> and base the final image on a stable alpine version
<repo> which contains crystal from edge
<FromGitter> <j8r> and having edge package in a latest image, will result of a mix edge-latest , which cannot be considered "stable"
<repo> it's not even a package
<repo> just files copied over
<repo> it's like you haven't even installed crystal as a package
<repo> just the deps
<FromGitter> <j8r> Why not static link, then copy it in a from scratch?
<repo> i mostly do that
<repo> anyhow: about the llvm requires: wouldn't a custom prelude make sense for this?
<FromGitter> <j8r> I doubt it will solve the issue
<FromGitter> <j8r> which is about unwinding the stack
<repo> how come? it does exactly what you want?
<repo> insert the hack before any of your code
<repo> and doesn't require you to change the source files
<FromGitter> <j8r> yes, it prevents segfaults
<FromGitter> <j8r> just put it anywhere, no need a custom prelude
<repo> ok
<FromGitter> <j8r> in the past I tried to merge this in master
<FromGitter> <j8r> but this wasn't working as intended
<repo> j8r do you know if it's possible to get any stack traces in statc builds?
<FromGitter> <j8r> no :(
<repo> :/
<FromGitter> <j8r> But I have kind of a workaround
<repo> that's a major bummer
<repo> you do?
<repo> i'm all ears
<FromGitter> <j8r> Avoiding using exceptions :/
<FromGitter> <j8r> pretender
<FromGitter> <j8r> sorry copy-paste error
<FromGitter> <j8r> but exceptions are of course easy to use, compared to use custom `Error` types and handling unions
<repo> oh boy
<repo> if i wanna use go, i'll use go
<repo> rust at least has some syntax sugar for this
<repo> but i guess you can do something like that with macros
<FromGitter> <j8r> One thing I would like is errors without exceptions, like Rust
<repo> yeah
<repo> but i think how go does it is just terrible
<FromGitter> <j8r> yes
<FromGitter> <j8r> verbose and not really high-level
<FromGitter> <j8r> Swift and Rust do better with a dedicated type
<repo> yeah
<repo> and pattern matching
<FromGitter> <j8r> > Error handling in Swift resembles exception handling in other languages, with the use of the try, catch and throw keywords. Unlike exception handling in many languages—including Objective-C—error handling in Swift does not involve unwinding the call stack, a process that can be computationally expensive. As such, the performance characteristics of a throw statement are comparable to those of a return
<FromGitter> ... statement.
<repo> hm ok now i don't get a segfault but a cryptic message! :)
<FromGitter> <j8r> llvm missing
<FromGitter> <j8r> you use my image?
<repo> yeah
<FromGitter> <j8r> why there is `entrypoint health_check` at the end of the `shards build`?
<repo> because those are the two targets i'm building
<FromGitter> <j8r> strange, no issues on my side
<FromGitter> <j8r> you can try to set `LLVM_CONFIG=llvm8-config`
<repo> where?
<repo> as env?
<FromGitter> <j8r> yes
<repo> seems to be working
ht_ has joined #crystal-lang
<repo> at least it's still building
<repo> still building ^^
<repo> yeah it built \o/
<FromGitter> <j8r> the llvm logic is messy, I will have a look how to improve this
<repo> cool thanks! :)
<FromGitter> <j8r> np, you're welcome
OvermindDL1 has joined #crystal-lang
<FromGitter> <bajro17> Do you know when is meeting on GMT?
<FromGitter> <bajro17> In Chicago
<FromGitter> <asterite> should be 6 gmt, not sure
dannyAAM has quit [Quit: znc.saru.moe : ZNC 1.6.2 - http://znc.in]
dannyAAM has joined #crystal-lang
<hightower4> Hey quick consultation, I have STDIN, I've set it to raw mode, what's the best way to now run a loop listening for keypresses on it?
<oprypin> hightower4, see samples/2048.cr ?
<hightower4> o hey oprypin , will do, thanks!
<oprypin> hi
sorcus has quit [Ping timeout: 250 seconds]
Human_G33k has quit [Ping timeout: 276 seconds]
HumanG33k has joined #crystal-lang
<hightower4> Hey do SDL apps require X to run, or they can run on the console too?
<hightower4> ah seems obvious it requires X
sorcus has joined #crystal-lang
<hightower4> Is there a way in crystal to get symbolic names of keys, like 'enter', 'kp_up' and similar? I've tried grepping for KEY, KP, and ENTER but didn't find anything. Does it link with some C lib which exposes this, or it's simply not there?
<oprypin> hightower4, u talking abot the terminal? it's linux specific probably
<oprypin> i think you're much better off not looking for such constants then
<hightower4> yeah was looking in the direction of SDL. Now just trying to see whether SDL is usable in the linux console, like if I avoid initializing video, would just the event loop with kb/mouse events work or not.
<hightower4> (for sfml I assume it doesn't)
<hightower4> ehm, doesn't. needs a (GUI) window before it'll process any events
<hightower4> ok then I'm left with your pointers to the files containing those symbols, thanks!
<oprypin> > SDL is usable in the linux console - well of course not!
<oprypin> these key codes have nothing in common with terminal codes
<oprypin> hightower4, then these files are worse than useless
<hightower4> yes, I was just playing around seeing what's possible.
<hightower4> Hey how would I convert bytes to string, honoring certain encoding? I am looking at #to_s and don't see encoding-related options
<hightower4> aha looks like String.new() does it
<FromGitter> <kinxer> Is there any way to get the `TypeNode` of `@type`'s enclosing scope? ⏎ ⏎ ```code paste, see link``` [https://gitter.im/crystal-lang/crystal?at=5dc48317196ffb4db9251ee3]
<FromGitter> <Blacksmoke16> i.e. you want to reference `A`?
<FromGitter> <Blacksmoke16> why not just do `A.subclasses`?
<FromGitter> <kinxer> That makes entirely too much sense. Thank you.
<hightower4> Ehm, how to create a string from a codepoint, such as 193?
<FromGitter> <Daniel-Worrall> `You can use a backslash followed by an u and four hexadecimal characters to denote a unicode codepoint written:`
<hightower4> I have the codepoint in a variable
<FromGitter> <Daniel-Worrall> `String.new(Bytes["193".to_i])`?
<hightower4> mm, possibly...
<FromGitter> <tenebrousedge> `193.chr`
<FromGitter> <tenebrousedge> or `chr.to_s` if you need the string
<hightower4> ++!
<FromGitter> <kinxer> Any idea what I might be doing wrong in macro-land here? https://play.crystal-lang.org/#/r/7zay
<FromGitter> <kinxer> Ah... https://play.crystal-lang.org/#/r/7zb4
ht_ has quit [Quit: ht_]
<hightower4> where do I find the definition of that to_s which prints classes like #<Class::Ptr properties...> ?
<hightower4> ah solved it
<FromGitter> <bew> Reading the pr about :ditto:, I see that the warning are donce with `@program.warning_failures << "some text"` does it mean that there is no location with the warning?
<FromGitter> <bew> (can't test right now)
FromGitter has quit [Remote host closed the connection]
FromGitter has joined #crystal-lang
<FromGitter> <jwoertink> Anyone know what the equiv for Ruby's https://ruby-doc.org/stdlib-2.5.1/libdoc/openssl/rdoc/OpenSSL/PKey/RSA.html is?
<FromGitter> <jwoertink> Doing `OpenSSL::PKey::RSA.new`
<FromGitter> <Daniel-Worrall> using a shard https://github.com/Exilor/openssl.cr
<FromGitter> <Daniel-Worrall> #3941 says use a shard
<DeBot> https://github.com/crystal-lang/crystal/issues/3941 (Porting\Adding OpenSSL RSA\Pkey features)
<FromGitter> <jwoertink> Yeah, I came across that. I was hoping there was a more built in way to do it
<FromGitter> <didactic-drunk> @jwoertink RSA for a new project or compatibility with an existing one.
<FromGitter> <jwoertink> Trying to do these amazon signed cookies
<hightower4> mmm.. how would I get the effect of io.read_char, but with blocking?
<FromGitter> <Daniel-Worrall> maybe something like ⏎ ⏎ ```select ⏎ when io.read_char ⏎ # code ⏎ end``` [https://gitter.im/crystal-lang/crystal?at=5dc4a33cea7d147cb33bceff]
<FromGitter> <Daniel-Worrall> hm, can irc users see codeblocks?
<hightower4> oh but wait, it seems like read_char already blocks... I thought it didn't due to type Char?
<hightower4> but seems it does
<hightower4> (no I can't see them, but the link is given which then opens gitter)
<hightower4> ok this is great, thanks
<FromGitter> <Daniel-Worrall> I thought read_char just returns nil if it doesn't find something
<FromGitter> <Daniel-Worrall> so it's not blocking
<FromGitter> <Daniel-Worrall> what IO are you using?
<hightower4> I just tried it and it waits until I press something
<hightower4> STDIN
<hightower4> in raw mode
<FromGitter> <Daniel-Worrall> code?
<hightower4> STDIN.raw do |io| p io.read_char end
<hightower4> this waits until I press something
<FromGitter> <Daniel-Worrall> doesn't that just loop and keep printing nil
<hightower4> there's no loop, just a single read
<FromGitter> <Daniel-Worrall> huh, so it is
<FromGitter> <Daniel-Worrall> must be a side effect of raw mode
<repo> any idea what might be wrong with this xpath? .//(input[@type='text']|input[@type='hidden']|select|textarea)[@name='j_username']
<repo> i get an XML::Error
<repo> i tried it on xpather.com and it worked fine there
yukai has joined #crystal-lang
<FromGitter> <Blacksmoke16> whats the erro
<repo> jsut that
<repo> XML::Error
<FromGitter> <Blacksmoke16> hm
<FromGitter> <Blacksmoke16> have to escape something?
<FromGitter> <Daniel-Worrall> perhaps ParserOptions?
<repo> the parentheses seem to be the problem
<repo> hm or rather the pipes
<repo> can you get any kind of xpath work with pipes?
<FromGitter> <wontruefree> @here if anyone is interested in hearing talk on datastream from @bcardiff we will be staring in 10 min https://zoom.us/j/3541015445