<jhass>
or maybe $GITHUB_RUN_ID is not the run id....
<oprypin>
jhass, set -e is the default btw. needs set -x though
<oprypin>
> shell: sh -e {0}
<jhass>
ah
<jhass>
well anyways, my problem is that it seems to find the run but has no artifacts for it
<oprypin>
could you add set -x pls :s
<jhass>
If I hit the same URL now it has them
<jhass>
maybe I try just sleeping for half a minute or os
<oprypin>
that's a choice selection of words
<oprypin>
seeing as how you seemingly were up at 4:46 AM 😂
<jhass>
yeah, couldn't sleep :D
<jhass>
so forgive me if I'm any tired :D
<jhass>
what's your timezone btw?
<oprypin>
same presumably
<jhass>
gotcha
<jhass>
I mean, I could abandon this experiment, drone is still not fast enough and aborts at 1 hour build time
<oprypin>
:(
<jhass>
but I kinda want it to work on principle
<oprypin>
whats the point of it, that drone provides ARM machines or something?
<jhass>
yeha
<jhass>
yeah
<oprypin>
ok
<jhass>
I tried QEMU on GH actions and it takes like at least 4.5 hours
<oprypin>
wow
<jhass>
by now I suspect the ubuntu build is secretly WSL 😂
<oprypin>
lol what
<jhass>
anyways, if I have this working like this, I might be able to try Travis alpha support for ARM in the same way
<oprypin>
why do u need github actions in the first place then
<oprypin>
drone has multi stage builds, last i heard?
<jhass>
it's ridicoulus, Travis provides proper multi stage ordering (drone not even that). But you still need to put in your own S3 or whatever to get files across
<jhass>
like their exammples are literally calling aws s3 sync
<oprypin>
:(
ryanprior has quit [Ping timeout: 256 seconds]
chachasmooth has quit [Ping timeout: 256 seconds]
<jhass>
drone doesn't have multi stage as far as I can tell. Their terminology is confusing. Their "pipeline" is job in GH, so you basically can only have a single of what GH calls workflow, but no ordering between the pipelines within. You can only parallelize and order the steps within a pipeline, which all runs on the same VM booted for the pipeline
maxpowa has quit [Ping timeout: 256 seconds]
<oprypin>
right
<jhass>
so no cross architecture multi stage
<jhass>
Travis can do that but yeah, big hassle getting files across
<raz>
jhass: so this should stay under the 1h limit now?
<jhass>
nah
<jhass>
this is triggering the drone build from GH actions after cross compiling the compiler on it, then passing enough info to drone to scrape the artifact from GH actions and download it there xD
<raz>
that looks less convoluted than i would've thought
<raz>
but these build systems should really stop using yaml
<raz>
almost everyone should stop using yaml...
<raz>
i suppose to make the bikeshed complete you could set the commit status to pending at the end of the GH action, and only have drone set it to green when it succeeds
<jhass>
it has the same issues as drone but I kinda overcame them for drone now using GH actions to cross compile, so if travis has a way to trigger per API with custom parameters too the same approach might work as well there
<Stephie>
Crystal on POWER time
<jhass>
thing is any ex employes since they got aquired suggest to stay away
<Stephie>
i think that we should just host a bootstrap binary of the previous release
<Stephie>
jhass, hmm?
<Stephie>
travis?
<jhass>
for travis
<Stephie>
oh...
<Stephie>
by who
<jhass>
uh, some weird ass company, that's the thing
<jhass>
2018 already I think?
<Stephie>
oh
<Stephie>
either way
<jhass>
Idera it was
<Stephie>
im gonna set up nightly builds for the BSDs
<raz>
looks like they offer arm servers starting at $30/mo
<jhass>
2 or 8 GB RAM
<jhass>
makes total sense. not.
<straight-shoota>
The big plan says "multi-node cluster"
<straight-shoota>
So it's not even a single machine
<straight-shoota>
They're probably just running rpi's or similar cheap hardware
<raz>
cheap, easy to setup, lots of ram. pick any two :P
<jhass>
yeah, similar. I don't think there's 1.8Ghz RPis
<jhass>
I pick fastish CPU, lots of RAM, big pockets and sponsor happy
<straight-shoota>
yeah
<straight-shoota>
For Crystal CI we'd definitely need server CPUs with huge memory support
<raz>
well, i suppose it wouldn't need to be pricey on AWS. make an AMI (hashicorp packer), set an auto scaling group to keep an a1.metal spot instance alive... ~$60/mo
<raz>
just not sure about retaining ip / dns across restarts, but that can likely be wired, too
<raz>
just the setup is gonna take a day or two...
<jhass>
for ARM, 4-8 threads, 16-32GB RAM, -> 4 VMs with a GHA runner each, we're good
<Stephie>
if someone offered an arm server i have somewhere to rack it
<Stephie>
but
<jhass>
mmh, scaleway should have some to get rid of :D
<Stephie>
..in america
<Stephie>
shipping would be a lot
<jhass>
okay, 18 instead of 12 months on sponsors page for paying that too :D
<FromGitter>
<AlesLulak> Hello, newbie here. Is it possible to convert string to symbol? I wish to create hash Symbol => something from each cycle. Lets say ["first", "seconds"] converts to {symbol_1: "first", symbol_2: "second"}
<jhass>
No :)
<FromGitter>
<AlesLulak> Yes, sorry, I just found it cannot bet done, thanks :)
<jhass>
Crystal doesn't have a runtime symbol table, it's just compile time, that's why
<jhass>
if you compare string literals to string literals it'll be as fast really
<FromGitter>
<AlesLulak> Thank you, I'll use strings
<FromGitter>
<anoopjoker7_twitter> Is crystal-lang better than Kotlinscript
<jhass>
Is icecream better than canke? 🤔
<jhass>
*cake, even
<FromGitter>
<anoopjoker7_twitter> Or applescript
<jhass>
mmh, apple cake
<FromGitter>
<wyhaines> Anyone awake who is conversant with the msgpack library? I'm trying to simulate pushing data into a socket and then getting it back out at the other end using an IO::Memory. ⏎ ⏎ https://imgur.com/a/p9GWLo2
<FromGitter>
<Blacksmoke16> @wyhaines i think it works similarly to like `JSON::PullParser`
<Stephie>
jhass, i think submitting for a build machine there would be worth doing
<jhass>
yeah, definitely
<jhass>
not sure if I can or somebody from Manas should though
<Stephie>
nah
<jhass>
I mean they want to be on the sponsors page from what I gathered
<Stephie>
im sure thats easy to arrange
<jhass>
yeah, I'll give the manas guys a day or so to react and if not I just go ahead
<Stephie>
as long as we're communicating what we're doing
<Stephie>
yeah
<FromGitter>
<wyhaines> New question. Since IO.select doesn't exist, how can I test whether there is readable data on a socket (or any IO) before I try to read from it? Rescuing `MessagePack::EofError` when `unpacker.read` fails seems like a poor life choice.
<Stephie>
you're not supposed to do that
<Stephie>
there should be an unpacker.read? which returns nil on EOF
<Stephie>
it seems to me like just bad library design if you want this just to discover EOF
<Stephie>
that being said, the unpacker has a "current_token" method
<Stephie>
which seems like what you want to check
<Stephie>
i'd make an issue on the msgpack library
<Stephie>
and workaround it with checking current_token for now
<Stephie>
oh, ugh
<Stephie>
they raise EofError everywhere
<FromGitter>
<wyhaines> current_token also just raises EOF if there is nothing...
<FromGitter>
<wyhaines> yeah.
<FromGitter>
<wyhaines> :)
<Stephie>
this is the point where i rewrite the library in anger
<Stephie>
but, i guess you're not interested in that solution
<FromGitter>
<wyhaines> Hahaha. I've only been productively using Crystal for a relatively short time, so I'm still adapting to the things that my Ruby brain wants to do that is fundamentally different with Crystal.
<Stephie>
well in ruby, it was still a bad idea
<Stephie>
disovering "will this read succeed" is more of an operating system art, not a science, and asking the question is almost always a terrible idea
<Stephie>
it's just ruby caved and let you do this
<Stephie>
instead of saying "no that horrible"
<FromGitter>
<wyhaines> Using select? Yeah, with the Ruby msgpack implementation, I don't have to. I was just casting about for possible solutions to the problem that don't involve me rewriting part of the library or something.
<Stephie>
well select asks a different question
<Stephie>
it asks if there's data to read
<FromGitter>
<wyhaines> I know.
<Stephie>
if you're reading from a network socket that's very different to knowing if there's an EOF
<Stephie>
you basically have "definitely no EOF" and "who knows" as answers
<Stephie>
which is not what you want
<Stephie>
for now, i'd probably just rescue EOF, create an issue, and work out a better solution if it does become a performance problem
<FromGitter>
<wyhaines> I know. That's tangential to the quandary, though, which is -- is there an efficient way to do this with the current msgpack library?
<FromGitter>
<wyhaines> *nod* That's where I am at right now.
<Stephie>
ah, no
<Stephie>
sorry for the slightly disappointing answer
<raz>
that new macbook just gave less of a boost than i hoped
<raz>
funny how windows still hurts me even two decades after i stopped using it, now by taking precedence over features i care about :p
<FromGitter>
<naqvis> yeah, who knows newer version of windows might be just a WDM running on linux :D
<raz>
i really don't get how people are still using it. the one thing it had going for it was games and a solid window manager.
<raz>
now all that's left is games...
<FromGitter>
<naqvis> but this shows the power of linux and how it frightened and forcing M$ to incorporate this into their totally unrelated OS
<FromGitter>
<Blacksmoke16> most games work fine via wine/proton at this point
<FromGitter>
<Blacksmoke16> only ran into like 1 i want to play that doesnt work
<raz>
well, ok then i don't know what's left. unless you're into malware. i guess then it's still the platform of choice
JuanMiguel has joined #crystal-lang
JuanMiguel has quit [Client Quit]
HumanGeek has quit [Ping timeout: 256 seconds]
<FromGitter>
<kinxer> Right now I think what they have going for them is ubiquity and "just works"-ness. There's just a lot of software that people are used to that works well (likely best, due to greater support) on Windows, and it requires less work than Linux. In public perception, Windows is a normal-person OS, whereas Apple OSes are for rich people, and Linux is for "geeks" (i.e. someone with some technical know-how, or at least
<FromGitter>
... a desire to tinker). Honestly, my experience with those three options (Windows, Apple personal computer OSes, and Linux) mostly confirms that perception. I suppose maybe something like Elementary OS could flout that, but I don't have experience with it.
<FromGitter>
<kinxer> Also, realistically, there's a lot of corporate support for Windows and Microsoft products generally due to the inertia of already using them.
DTZUZU has quit [Quit: WeeChat 2.8]
<oprypin>
wow nothing at all happening on the weekends in Crystal. that's crazy
<jhass>
make something happen!
<oprypin>
no i gave up 2:30am yesterday/today
<jhass>
:P
HumanG33k has joined #crystal-lang
sarmonsiill has quit [Ping timeout: 256 seconds]
alexherbo27 has joined #crystal-lang
<FromGitter>
<kinxer> I'm hoping to convert some Python scripts I have for doing data crunching on PHOIBLE (phoible.org) into Crystal soon, but I didn't have time this weekend.
alexherbo2 has quit [Ping timeout: 256 seconds]
alexherbo27 is now known as alexherbo2
<raz>
hmm. does `crystal spec` really not have a --fail-fast option
<jhass>
it does?
<jhass>
maybe not documented?
<raz>
crystal spec --help doesn't tell me
<jhass>
hum, I could swear I've seen it the other day somewhere
<FromGitter>
<GaryMiller> <raz> Microsoft is assimilating Linux and you're too foolish to recognize it. Microsoft will make the billions of dollars in the cloud while people like you do all their coding for free! People like you used to be called slaves. But now you call yourselves Open Source Developers. Windows still hurts you two decades after you quit using it because because every year you say to yourself that people will
<FromGitter>
... wake up and this will be the year of Linux and every year it is now. Every year new players in the Linux field fragment it more and more and the only company to big enough to create a standard around is your mortal enemy. And the language that you want to promote can't even support it.
<jhass>
oh noes
<jhass>
do we have mods in gitter?
<raz>
lol. i must've hurt his feelings
<jhass>
by that argument amazon, orcale, google, ibm and idk who else is "assimilating", whatever that really means, for decades already :D
<raz>
calling that an "argument" is very polite of you ;)
<FromGitter>
<Blacksmoke16> > <jhass> ah it's an option on the spec binary rather than crystal spec
<FromGitter>
<Blacksmoke16> hm? `crystal spec --fail-fast` works fine
<jhass>
yeah I guess it forwards any arguments it doesn't know
<jhass>
raz: I am polite!
<jhass>
sometimes
<raz>
ah gtk!
<raz>
must be the brainwash from all the free slave labor ¯\_(ツ)_/¯
<FromGitter>
<Blacksmoke16> unsure if thats sarcasm or real...