ChanServ changed the topic of #crystal-lang to: The Crystal programming language | http://crystal-lang.org | Crystal 0.34.0 | 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
deavmi has quit [Read error: No route to host]
deavmi has joined #crystal-lang
<FromGitter> <Blacksmoke16> @watzon ⏎ ⏎ ```code paste, see link``` [https://gitter.im/crystal-lang/crystal?at=5ebddf7370997963d559a0fd]
<FromGitter> <Blacksmoke16> why not just `n : Int32 = 1`?
_whitelogger has joined #crystal-lang
<FromGitter> <wrq> I'm experiencing that exhaustiveness in case is only being warned if that code actually executes, is that a bug?
<FromGitter> <Blacksmoke16> Pretty sure that would happen with any compiler error. Since the code essentially just gets removed from the binary
<FromGitter> <Blacksmoke16> Specs ftw
<FromGitter> <wrq> ahhh, I see
<FromGitter> <wrq> I haven't learned about specs yet
<FromGitter> <Blacksmoke16> Aka tests
<FromGitter> <Blacksmoke16> Aka unit tests
<FromGitter> <wrq> oh
<FromGitter> <Blacksmoke16> Yea
<FromGitter> <wrq> I should probably learn to use Spec
<FromGitter> <Blacksmoke16> i would say testing your code is a good practice yes :p
<FromGitter> <watzon> @Blacksmoke16 good question haha
<FromGitter> <Blacksmoke16> :p
<FromGitter> <watzon> How are we doing on 128 bit integers btw? It would be nice for the parser to support them at some point...
<FromGitter> <watzon> Looking like LLVM is the bottleneck. Yay.
<FromGitter> <tenebrousedge> what do you need them for?
<FromGitter> <tenebrousedge> do you mean 256 bit integers?
rocx has quit [Ping timeout: 260 seconds]
<FromGitter> <watzon> No, 128. I don't know that I will need them for sure right now, at least not in a way that the parser needs to handle them, but they've been sitting in a state of only half working for a long time.
<FromGitter> <tenebrousedge> half working how?
Dreamer3 has joined #crystal-lang
<FromGitter> <watzon> 128 bit integers work, but don't parse
<FromGitter> <watzon> And afaik they don't work natively, Crystal uses a C library to deal with them
<FromGitter> <tenebrousedge> don't parse how?
<FromGitter> <watzon> Like the parser can't handle them. It can't handle anything above a 64 bit integer.
<FromGitter> <tenebrousedge> uh
<FromGitter> <tenebrousedge> `1_i128` works for me?
<FromGitter> <watzon> This is what I mean
lanodan has quit [Read error: Connection reset by peer]
<FromGitter> <watzon> You can cast to a i128, but the parser can't actually read a full 128 bit integer
<FromGitter> <tenebrousedge> ah
<FromGitter> <tenebrousedge> okay
<FromGitter> <tenebrousedge> well poke it until it acts nice
<FromGitter> <watzon> Of course BigInt exists, but you do take a performance impact. And `BigInt` doesn't have a `#to_io`.
<FromGitter> <watzon> We should add that btw
<FromGitter> <watzon> Maybe I'll PR
<FromGitter> <tenebrousedge> o.o k
lanodan has joined #crystal-lang
hightower3 has quit [Remote host closed the connection]
DTZUZU has quit [Quit: WeeChat 2.8]
Dreamer3 has quit [Ping timeout: 258 seconds]
alexherbo2 has joined #crystal-lang
Mikaela has quit [Ping timeout: 246 seconds]
Dreamer3 has joined #crystal-lang
_ht has joined #crystal-lang
fifr[m] has joined #crystal-lang
<fifr[m]> Hi, I have a question. In this example https://play.crystal-lang.org/#/r/92tl why doesn't the compiler raise an error if `SubA` implements the (abstract) method `foo` from `Base` but with a different return type? Is this expected?
<raz> oO that looks wrong to me
<FromGitter> <naqvis> I'll also vote for this approach
<FromGitter> <naqvis> mismatching return types are `warnings` not errors yet. So error took precedence in your example code. if you turn off line 22,23, you should see the warning generated by compiler ⏎ ⏎ ```code paste, see link``` [https://gitter.im/crystal-lang/crystal?at=5ebe4dfd20d9bf3057677303]
<raz> no warning in the sandbox tho
<FromGitter> <naqvis> yeah, play doesn't reveal warnings
<raz> ah ok, makes sense then. (although i think it should! :))
<FromGitter> <naqvis> it should be though
<FromGitter> <naqvis> might be a good fit for an issue against play :)
<raz> yup, altho in the grand scheme of things prob not the most urgent one
<FromGitter> <naqvis> yeah, so many things on the priority list
<FromGitter> <naqvis> but technically speaking compiler should be displaying all warnings + errors
<raz> as long it does that on my local machine i'm happy. :D
<FromGitter> <naqvis> :cheers:
<raz> and there it indeed does, like in your pastie above
<raz> (just verified it, to soothe my paranoia)
<FromGitter> <naqvis> hahaha
<FromGitter> <naqvis> lol
<raz> i just don't understand how/why play even hides them. it looks like warnings are printed in the same way as errors (to stderr)
<raz> oh well... mysteries
<fifr[m]> @naqvis: thanks, now I see the warning. For some reason I do not see the warning if I compile my larger project (as a shard), that's why I missed it
<FromGitter> <naqvis> 👍
<FromGitter> <naqvis> I just played around and notice `--error-on-warnings` is not working the way it said it will
<FromGitter> <naqvis> using the same example from fifr[m], using `crystal build --error-on-warnings` compiles fine by spitting out the warning
_ht has quit [Remote host closed the connection]
_ht has joined #crystal-lang
<FromGitter> <alex-lairan> Hello ! ⏎ ⏎ There is a cleaner way to do ⏎ ⏎ ```(candidate.skills - recruiter.skills).empty?``` ... [https://gitter.im/crystal-lang/crystal?at=5ebe5e0d6675d830b1a90fa4]
<FromGitter> <alex-lairan> The objective is that the recruiter have all the skills (or more) the candidate have
<FromGitter> <naqvis> shouldn't you be using `set` here?
<FromGitter> <alex-lairan> it can be
<FromGitter> <alex-lairan> I have tried this with set : ⏎ ⏎ ```code paste, see link``` [https://gitter.im/crystal-lang/crystal?at=5ebe606fecc55a312d0438e8]
<FromGitter> <naqvis> `intersects?` Returns true if the set and the given set have at least one element in common.
<FromGitter> <naqvis> and that indeed is the case in above example
f1reflyylmao has quit [Quit: bye fags]
f1refly has joined #crystal-lang
zorp has joined #crystal-lang
Mikaela2 has joined #crystal-lang
Mikaela2 is now known as Mikaela
alexherbo2 has quit [Ping timeout: 256 seconds]
Dreamer3 has quit [Quit: Leaving...]
rocx has joined #crystal-lang
<FromGitter> <Blacksmoke16> actually it wouldnt work since the navigators need to be instantiated with some data in the serializer. So new plan is to have some `NavigatorFactory` thats used within the serializer. Then that type would have the object constructor. Factory would expose like `.get_deserialization_visitor` and return/cache the instance
Human_G33k has quit [Ping timeout: 240 seconds]
<FromGitter> <naqvis> sounds more Javaish lol
<FromGitter> <naqvis> though I love Java and have been programming in Java since more than a decade
<FromGitter> <Blacksmoke16> avg user shouldnt care, and would make DI easier so :shrug: seems like a good solution
<FromGitter> <Blacksmoke16> imagine most will just use the `ASR.serializer`
<FromGitter> <tenebrousedge> you can use `subset?` / `superset?`
<FromGitter> <tenebrousedge> seems like enums might be good for that too
<FromGitter> <naqvis> yeah sure, as long as encapsulation is in place and you only expose limited workload to-end user, internal details doesn't matter
<FromGitter> <Blacksmoke16> yup, ill see how it goes
<FromGitter> <naqvis> can you plz. share the repo link where I can see the existing code?
<FromGitter> <Blacksmoke16> dont have the factory part implemented yet tho
<FromGitter> <naqvis> thank you
<FromGitter> <Blacksmoke16> np
HumanG33k has joined #crystal-lang
<FromGitter> <j8r> what people think about https://github.com/ysbaddaden/pool, can I use it for a `HTTP::Client` pool?
<FromGitter> <naqvis> i will definitely vote yes
<FromGitter> <naqvis> https://github.com/stefanwille/crystal-redis is using this for connection pooling
<FromGitter> <naqvis> and performance seems to be great
<FromGitter> <j8r> hum, the pool can't grow dynamically...
<FromGitter> <j8r> as an example having `5` by default, then fall back to create new ones out of the pool when the pool is full. Or, having a max than can be reached
<FromGitter> <j8r> maybe that's not the role of the pool
<FromGitter> <j8r> I would like to just use the pool for more perf, and fallback to no pool when full
<FromGitter> <naqvis> pool shouldn't auto-size or else that beats the purpose
<FromGitter> <naqvis> main intention of pool is to have pre-allocated connections and re-use
<FromGitter> <naqvis> to avoid the overhead of establishing new connection
<FromGitter> <j8r> yep I know
<FromGitter> <j8r> But if I have more traffic
<FromGitter> <j8r> I would like not to recompile my application, just grow the pool accordingly
<FromGitter> <naqvis> aahh got your point
<FromGitter> <naqvis> then i think you need to add another abstraction on top of it
<FromGitter> <naqvis> kind of pool factory, which you can make configurable via params or so
<FromGitter> <Blacksmoke16> does the the db shard have something like that
<FromGitter> <naqvis> none i'm aware of
<FromGitter> <Blacksmoke16> doesnt*
<FromGitter> <naqvis> db api is quite small
<FromGitter> <Blacksmoke16> i know it does
<FromGitter> <j8r> Ho that's exactly what I was saying, thanks @Blacksmoke16
<FromGitter> <jwaldrip> Why would this fail?
<FromGitter> <jwaldrip> ```"13b65e6529c44e6ab0e944b686a0461b".to_i64(base: 16)```
<FromGitter> <Blacksmoke16> whats the error?
<FromGitter> <jwaldrip> ```code paste, see link``` [https://gitter.im/crystal-lang/crystal?at=5ebeab580e8a3131e4c2b44d]
<FromGitter> <jwaldrip> ```code paste, see link``` [https://gitter.im/crystal-lang/crystal?at=5ebeabc30e8a3131e4c2b66d]
sagax has quit [Ping timeout: 260 seconds]
<FromGitter> <naqvis> this definitely exceeds the `Int64` max boundary
<FromGitter> <naqvis> ```converted = 26202244509640102587290779019284334107 ⏎ Int64::MAX = 9223372036854775807``` [https://gitter.im/crystal-lang/crystal?at=5ebeac3528b5313149098f3b]
<FromGitter> <Blacksmoke16> prob be more clear to raise an overflow error
sagax has joined #crystal-lang
alexherbo2 has joined #crystal-lang
<FromGitter> <naqvis> ```code paste, see link``` [https://gitter.im/crystal-lang/crystal?at=5ebeaff9ecc55a312d050e99]
<FromGitter> <Blacksmoke16> ```require "big" ⏎ pp "13b65e6529c44e6ab0e944b686a0461b".to_big_i 16``` [https://gitter.im/crystal-lang/crystal?at=5ebeb02090f6db31beeac71a]
<FromGitter> <Blacksmoke16> shortcut
<FromGitter> <naqvis> 👍
Human_G33k has joined #crystal-lang
<FromGitter> <naqvis> i notice almost every `to_iXX` doesn't take into consideration `Int128`. Seems addition of 128 was more of an afterthought lol
<FromGitter> <Blacksmoke16> pretty sure Int128 isnt really supported atm anyway
<FromGitter> <tenebrousedge> it has issues
<FromGitter> <naqvis> there is big 'TODO`
HumanG33k has quit [Ping timeout: 258 seconds]
<yxhuvud> Bleh. I wish I better understood how the crystal mode code worked. C libs are such a pain to work with :/
<FromGitter> <tenebrousedge> why a pain?
<yxhuvud> because `fun` definitions indent 4 spaces wrong.
<yxhuvud> or well, they do when you have more than one.
<FromGitter> <tenebrousedge> o.o
<FromGitter> <Blacksmoke16> hm?
olbat has quit [Max SendQ exceeded]
olbat has joined #crystal-lang
alexherbo2 has quit [Ping timeout: 256 seconds]
alexherbo2 has joined #crystal-lang
ht_ has joined #crystal-lang
_ht has quit [Ping timeout: 264 seconds]
ht_ is now known as _ht
<sorcus> Hi.
<FromGitter> <tenebrousedge> o/
<sorcus> Can someone explain, why `fopen` not available in the Crystal?
<yxhuvud> sorcus: Are you aware of File.open, and if so, what is it you miss from that?
<livcd> so i've seen that Crystal kinda works on Windows?
<FromGitter> <tenebrousedge> kinda
<livcd> what are the gotchas?
<FromGitter> <tenebrousedge> probably anything thread related
<oprypin> haha no
<FromGitter> <tenebrousedge> no?
<oprypin> anything anything related
<FromGitter> <tenebrousedge> well, okay
<oprypin> anything network related is the big thing
<FromGitter> <tenebrousedge> probably scanning the GitHub issues list would be informative
<livcd> ah ok i thought the situation was much better hah
<oprypin> CrSFML can be your gateway to networking but SFML's networking is shitty :3
alexherbo2 has quit [Ping timeout: 240 seconds]
<FromGitter> <watzon> Anyone know of an HTTP client benchmarking tool? Like the opposite of `wrk`?
<FromGitter> <j8r> It would be a kind of server registering metrics for a given client, performing requests
<FromGitter> <j8r> Does anyone knows how to execute a container (which has an entrypoint) in GitHub Workflows?
<FromGitter> <j8r> It requires me to have a `steps` key in the yaml
<FromGitter> <j8r> Note: A volume has also to be mounted, which prevents to use `uses`
<FromGitter> <j8r> May do the trick, thanks, even if it is not a service
<oprypin> j8r, that assumes running it in the background and exposing ports or volumes https://help.github.com/en/actions/reference/workflow-syntax-for-github-actions#jobsjob_idservicesimage
<FromGitter> <j8r> Ha, but this is just a little script to run - like 10 seconds
<oprypin> j8r, *another* thing is creating a "docker action" https://help.github.com/en/actions/building-actions/creating-a-docker-container-action
<oprypin> i think you just create an action.yml anywhere and use it within the same repo https://help.github.com/en/actions/building-actions/creating-a-docker-container-action#example-using-a-private-action
<oprypin> this would probably be the most direct way even though it seems indirect due to needing an additional file
<oprypin> disclaimer: never used docker, let alone with github actions
<oprypin> yeah this is definitely it
zorp has quit [Ping timeout: 258 seconds]
<FromGitter> <j8r> How can I use a volume then?
<oprypin> i dont know but im sure theres a way
<oprypin> i donteven know what a volume is 😂
<FromGitter> <j8r> lol, a word for a local NFS
<FromGitter> <j8r> new technologies loves using new names...
<FromGitter> <watzon> This is crazy: ⏎ ⏎ Crystal basic HTTP server example with no optimizations: ⏎ ⏎ ```code paste, see link``` [https://gitter.im/crystal-lang/crystal?at=5ebee5d00e8a3131e4c3598c]
<FromGitter> <Blacksmoke16> does python's do routing?
<FromGitter> <Blacksmoke16> idt it would make that big of a diff but would be a diff
<FromGitter> <watzon> I don't believe so, it's just a generic HTTP server
<FromGitter> <Blacksmoke16> 👍
<FromGitter> <watzon> And in the Python case it's not even serving anything, the Crystal one is at least sending "hello world"
<FromGitter> <watzon> Here's the Crystal one in release mode ⏎ ⏎ ```code paste, see link``` [https://gitter.im/crystal-lang/crystal?at=5ebee66e16ae6a315f1efe6a]
<FromGitter> <Blacksmoke16> turn on MT mode 😉
<FromGitter> <watzon> `-Dpreview_mt` right?
<FromGitter> <Blacksmoke16> ```crystal build --release -Dpreview_mt server.cr ⏎ CRYSTAL_WORKERS=8 ./server``` [https://gitter.im/crystal-lang/crystal?at=5ebee6b4aac441316a7e1448]
<FromGitter> <Blacksmoke16> replace 8 with how many threads you have
<FromGitter> <watzon> ```code paste, see link``` [https://gitter.im/crystal-lang/crystal?at=5ebee7506675d830b1aa8772]
<FromGitter> <watzon> Nice!
<FromGitter> <rishavs> I am using plain crystal http module for my WIP api server and I am also getting great performance
<FromGitter> <watzon> That's only with 4 threads too, unfortunately that's all I've got
<FromGitter> <rishavs> the only thing I feel holding the app back right now is the db connection
<FromGitter> <watzon> @rishavs we just need good HTTP2 supprot
<FromGitter> <rishavs> Personally, I would settle for db connection mulktiplexing
<FromGitter> <rishavs> https://github.com/will/crystal-pg/issues/155 This one
<raz> reliability > performance
<FromGitter> <rishavs> tru dat. :D
<FromGitter> <rishavs> I really liked the idea there that elijspr had of just wrapping libpq (postgres reference c driver)
<FromGitter> <rishavs> and making that available as a shard
<raz> yup, sounds like a good idea (although i gotta say i know zero about the current internals of the pg shard)
<FromGitter> <rishavs> till our own native crystal solutions catch, up - a crystal wrapper for libpq would be an amazing boost
<raz> yep, i'm not sure what we'd lose feature-wise (does it have a conn pool baked in?)
<raz> but using as much pg code as possible seems like a good idea. their stuff is as rock solid as it gets
<FromGitter> <rishavs> it should. It is the reference driver after all
<FromGitter> <sam0x17> that's so funny it never occurred to me that `crystal-pg` wasn't using libpq
<FromGitter> <sam0x17> that explains some things though
<FromGitter> <rishavs> i think will's intention was to have a pure crystal lib
<FromGitter> <sam0x17> gotcha gotcha
<raz> i think in many cases that's prob a good idea. but for pg, not so sure
<FromGitter> <rishavs> IMO, right now this is the lowest hanging fruit to make webdev on crystal much better
<raz> possibly. it works fine for me in dev so far, but i'm a bit worried about production time
<FromGitter> <rishavs> even in techempower benchmarks, all the frameworks above crystal make heavy use of multiplexing and async db connections
<raz> yeh, performance is the least of my concerns. but if your quest for those last 100k conns/sec gives me a bulletproof pg driver, i'll take it! :D
<raz> (and then run it red hot at the ~10 conns/sec that my apps actually deal with :p)
<FromGitter> <tenebrousedge> :plus1:
<FromGitter> <rishavs> 😆
<raz> everyone benefits from the formula1 after all, even if you only drive a fiat panda :D
<sorcus> yxhuvud: I mean what if a C function require `FILE pointer`? What i should pass to this function in Crystal?
<FromGitter> <watzon> You have to wrap fopen yourself
<FromGitter> <watzon> I've asked this question before. For some reason they're opposed to exposing it in the Crystal C bindings.
<FromGitter> <Blacksmoke16> would the raw file descriptor help?
<FromGitter> <Blacksmoke16> nvm, thats just an int
<FromGitter> <Blacksmoke16> @bcardiff / @straight-shoota docs are broken on master
<FromGitter> <Blacksmoke16> trying to go to `https://github.com/crystal-lang/crystal.git/xxx` now
<FromGitter> <Blacksmoke16> when viewing source
<FromGitter> <Blacksmoke16> ill make an issue
<sorcus> watzon: Hmm... Ok..
<sorcus> Blacksmoke16: Yeah, fd is just an int. But `fopen` returns `FILE pointer`, not just an int.
alexherbo2 has joined #crystal-lang
alexherbo28 has joined #crystal-lang
alexherbo2 has quit [Ping timeout: 272 seconds]
alexherbo28 is now known as alexherbo2
<sorcus> Good night :-)
alexherbo2 has quit [Remote host closed the connection]
alexherbo2 has joined #crystal-lang
Welog has quit [Read error: Connection reset by peer]
alexherbo2 has quit [Quit: The Lounge - https://thelounge.chat]
<FromGitter> <christopherzimmerman> My city has a monthly meetup for software engineers, this months topic is going to be numerical computing in Crystal, really excited!
<FromGitter> <bararchy> @christopherzimmerman that's cool!
<FromGitter> <bararchy> if it goes online share
hightower2 has joined #crystal-lang
_ht has quit [Ping timeout: 256 seconds]
<hightower2> Hey folks, just a heads up that in the past week we've worked on updating 'bindgen' to work with latest Crystal, pass specs out of the box, etc. The qt bindings for Crystal are produced using bindgen, so this was a pre-requirement for now starting to bring Qt bindings up to date.
<hightower2> Even if you do not have interest in writing bindings for C/C++/Qt libs yourself,
<hightower2> you can contribute a user report by just trying to compile bindgen and run its specs. It should work out of the box and if it doesn't please report a new issue
<hightower2> on github.
<hightower2> The only thing you need for this (i.e. to compile bindgen and run its specs) is to clone https://github.com/Papierkorb/bindgen and run `cd clang; cmake .; make -j; cd ..; crystal s`
<oprypin> wow that's so cool
<oprypin> i didnt realize there are so many contributors
<oprypin> hightower2, are you any of those contributors?
<hightower2> yes
<oprypin> which one? 👀
<oprypin> (or more 😂)
<hightower2> the last commit visible currently is from me
<oprypin> 👍👍
<oprypin> hightower2, what about that super advanced .travis.yml? doesn't it do it for you?
<hightower2> although the large majority of work is purely Papierkorb's... it's astonishing what he was able to come up with (i.e. the bindgen and working qt bindings)
<oprypin> i know right
<oprypin> i keep saying like this is the single best made crystal project
<hightower2> my #1 concern is that with crystal reaching 1.0 release, it will be hugely important that there are good/usable shards, and not just half-finished projects that once worked but then went out of date
<oprypin> 1.01.01.01.01.01.01.01.01.01.0 aaaa
<oprypin> crsfml will always be there for you 😂
<FromGitter> <bararchy> oprypin: just know that crSFML is my main point of "you're a game dev? you HAVE to checkout crystal"
<FromGitter> <bararchy> I've pitched it to multiple people
<oprypin> thanks <3
<hightower2> oprypin, hehe, that travis.yml is from Stefan's setup... good point though, it needs an update
<hightower2> hey @watzon did you see https://github.com/dankamongmen/notcurses .. not sure if applicable to crystal-term, I just found it by chance couple mins ago
zorp has joined #crystal-lang
<oprypin> hightower2, tried running it on windows lol but running into a weird problem. -- LLVM Tools Dir: C:/code/llvm/$(Configuration)/bin -- Using clang++ exec: clang_bin-NOTFOUND
<hightower2> mm, windows - interesting target... clang++ and llvm-config are discovered by CMake itself
zorp has quit [Ping timeout: 246 seconds]
<hightower2> do you have llvm-config and clang++ in PATH? if yes, what are their names, is it just llvm-config or llvm-config-10 etc?
<oprypin> oh i should add them to path? ok i'll try
<hightower2> yeah, I'm not sure what effort CMake makes to find them, other than looking in PATH
<hightower2> oprypin oh btw, you're the right man to ask - is it safe to always add add -fPIC to flags when building bindgen which links LLVM's .a libs? I am trying to determine when to include -fPIC and when not, but it doesn't appear literally in any of the clang++/llvm-config diagnostic commands, so I'm trying to determine what's the right check for that
<oprypin> hightower2, no sorry i dont know
<oprypin> never used that flag myself
<hightower2> It was needed on debian to get it compile; otherwise an error came up
<hightower2> OK, that's the solution I applied. Hopefully people will submit an issue if it fails in practice
<hightower2> hehe :) that's great though, I will set up some machine here to work on it, would be very important to have windows support working too
<FromGitter> <j8r> @Blacksmoke16 Did you know https://github.com/grip-framework/gripen/blob/master/.github/workflows/documentation.yml#L20 is enough to publish to GitHub Pages?
<FromGitter> <j8r> It may be longer than using a random github action, but that's simpler to setup and more secure
<oprypin> yea that particular gh action is shit too
<FromGitter> <j8r> what particular one?
<FromGitter> <Blacksmoke16> @j8r not sure
<FromGitter> <j8r> those pushing to`gh-pages` generally?
<oprypin> j8r, i checked 2 of them, disliked both, but yeah i think the one that Blacksmoke16 is using - i glimpsed that one from the forum
<FromGitter> <Blacksmoke16> :shrug: it does its job
<FromGitter> <j8r> haha :) And even more, if compromised
<FromGitter> <Blacksmoke16> meh
<FromGitter> <j8r> It won't be able to do much, because of your token permissions?
<FromGitter> <Blacksmoke16> mhm
<FromGitter> <j8r> My issue here I am in an organization. Using personal tokens is very not ideal
<FromGitter> <Blacksmoke16> once that bug is fixed with actions, you wont even need a token, as you can use the one built into actions
<oprypin> i dont understand how people use github actions not pinned to commit hash, they literally can any time change and overwrite your entire repo if they choose so
<FromGitter> <j8r> yeah, like with `shards` :(
<oprypin> lul
<oprypin> well no, shards has shard.lock with hah
<oprypin> hash*
<oprypin> wait it doesnt?
<FromGitter> <Blacksmoke16> not atm
<FromGitter> <Blacksmoke16> is an issue for that
<oprypin> ... ok
<FromGitter> <j8r> no, unless yo use an hash in the `shard.yml`
<FromGitter> <j8r> I know because I opened the issue :P
<FromGitter> <j8r> omg lots of thumbs up
<FromGitter> <Blacksmoke16> looks like that bug was fixed, so can just use `GITHUB_TOKEN` now
<FromGitter> <Blacksmoke16> ill have to update to that and delete my keys