<FromGitter>
<drosehn> *aside:* Gitter will show you the full timestamp. Pick someone's comment in your timeline, and then move your mouse cursor over the `hour:minute` timestamp. It should pop up a little note which tells you the full timestamp of when that comment was made. The note disappears once you move the cursor.
<FromGitter>
<anamba> it also says you can do this, which is handy:
<FromGitter>
<drosehn> Huh! Is that the behavior of alt-click? I never tried that. I assumed alt-click would just copy the text down to the input area.
<FromGitter>
<drosehn> except that the timestamp that shows is (apparently) in the timezone of the person who did the alt-click 😄
<FromGitter>
<dscottboggs_gitlab> yeah, it's still kinda a hack
<FromGitter>
<anamba> oh, somehow i thought it might appear differently depending on the viewer's timezone. well then that's not great. but at least you can click it and it highlights
Raimondi has joined #crystal-lang
non-aristotelian has quit [Quit: non-aristotelian]
yxhuvud has quit [Quit: No Ping reply in 180 seconds.]
Raimondii has joined #crystal-lang
Raimondi has quit [Ping timeout: 240 seconds]
Raimondii is now known as Raimondi
Raimondii has joined #crystal-lang
Raimondi has quit [Ping timeout: 240 seconds]
Raimondii is now known as Raimondi
Raimondi has quit [Ping timeout: 240 seconds]
yxhuvud has joined #crystal-lang
rohitpaulk has joined #crystal-lang
<FromGitter>
<anamba> @yxhuvud part 2 is... interesting
DTZUZO has quit [Ping timeout: 250 seconds]
rohitpaulk has quit [Remote host closed the connection]
rohitpaulk has joined #crystal-lang
<FromGitter>
<proyb6> @anamba Someone outsource that part 2 to Wolframalpha url to get the value, it's also interesting
rohitpaulk has quit [Remote host closed the connection]
<FromGitter>
<kingsleyh> oh I know why! It's because I'm doing require "openssl" because I need some of the default stuff too
<FromGitter>
<kingsleyh> so openssl is bringing in the default one - and mine is being ignored :(
<FromGitter>
<r00ster91> but when you require openssl and then define your binding after it, shouldn't the openssl LD settings be overriden?
<FromGitter>
<kingsleyh> I had the require before the require for the bindings - however still not working :(
<FromGitter>
<j8r> try to pass as cli flags
<FromGitter>
<kingsleyh> @j8r yay! that works by passing it
<FromGitter>
<kingsleyh> but it means I can't use the default openssl at the same time
<FromGitter>
<kingsleyh> hmm probably I should try to get the latest version of openssl install on my operating system
<FromGitter>
<r00ster91> it should probably be made similar to `at_exit` so that you can pass multiple DL settings
<FromGitter>
<r00ster91> maybe create an issue?
<FromGitter>
<girng> what is a "DL setting"?
<FromGitter>
<r00ster91> it's something you pass to the linker like `-llibrary` so that a c library can be found
<FromGitter>
<girng> oh, c
<FromGitter>
<girng> i like crystal
<FromGitter>
<kingsleyh> I don't understand how this openssl brew install on OSX is working though - I just updated to `OpenSSL 1.0.2q 20 Nov 2018`
<FromGitter>
<kingsleyh> if I look in `/usr/local/opt/openssl/include` there is an ecdsa.h that contains: `ECDSA_SIG_get0`
<FromGitter>
<kingsleyh> but if I run `nm -gU ./libcrypto.dylib | grep ECDSA_SIG` on the dylib in the `/usr/local/Cellar/openssl/1.0.2q/lib` - It does not have it listed
<FromGitter>
<kingsleyh> this is pretty confusing
<FromGitter>
<girng> damn @kingsleyh you been having problems with ssl this entire week it seems like lol
<FromGitter>
<girng> i feel ya though, i've been stuck on some issues for a long time, very annoying. sometimes i stop and work on something else, then come back, and think of it differently and it helps
<FromGitter>
<kingsleyh> yeah - I don't understand why brew install gives me 1.0.2q
<FromGitter>
<kingsleyh> the Openssl website says: All users of 1.0.2 and 1.1.0 are encouraged to upgrade to 1.1.1 as soon as possible
<FromGitter>
<girng> i don't know the mac world, but isthere an alternative to brew?
<FromGitter>
<girng> seems like it's the crux of all your issues
<FromGitter>
<kingsleyh> woop! fixed it!
<FromGitter>
<kingsleyh> I uninstalled 1.0.2 and installed 1.1.1a
<FromGitter>
<kingsleyh> as the default one
<FromGitter>
<girng> 👍
<FromGitter>
<kingsleyh> so this means wherever I need to use this code - needs to have 1.1.1a installed
<FromGitter>
<kingsleyh> oprypin thanks for your help - figured out finally!
<FromGitter>
<greenbigfrog> (I want to modify the canvas before writing in my actual use)
<FromGitter>
<l3kn> @greenbigfrog Do you want each of the squares to be 1x1 pixels in size in the final image?
akaiiro has joined #crystal-lang
<FromGitter>
<greenbigfrog> Not really
<FromGitter>
<l3kn> You could use the block constructor for `Canvas` and look up the bytes inside `qr.data`, ⏎ I imagine the performance will be the same but the code would be shorter
<FromGitter>
<greenbigfrog> Probably gonna write a whole QR code generation API on it... All currently available are horribly overpriced (unless you only want stock/basic codes, which only google offers)
<woodruffw>
awesome! best of luck :D
<oprypin>
greenbigfrog, is `dead = 1` by any chance??
<FromGitter>
<greenbigfrog> oh. that's what you meant :)
<FromGitter>
<l3kn> the problem is that you are scaling `dead` by `scale` when calculating the canvas size
<FromGitter>
<l3kn> the top and left paddings (?) are correct and 10px wide
<oprypin>
yes
<oprypin>
i intentionally made `dead` not tied to scale
<FromGitter>
<l3kn> *margins
<oprypin>
the only mistake here then is ` + (scale * dead * 2)` should be ` + (dead * 2)`
<FromGitter>
<greenbigfrog> oh. right...
<FromGitter>
<greenbigfrog> thanks guys
<oprypin>
OR go in the other direction and just do `x = x / scale - dead`
<FromGitter>
<greenbigfrog> smh I must be sleeping or sth... but I'm failing to make the `size` constant. As in, if I have `size`, the output should always be `300x300`
<FromGitter>
<l3kn> By adjusting `dead` for some fixed `scale`?
<FromGitter>
<greenbigfrog> wdym?
<FromGitter>
<l3kn> `dead = (size - (qr.width * scale)) / 2` + some checks to make sure this way of placement is possible
<FromGitter>
<l3kn> this works with the way you are calculating `scale`, too
<oprypin>
you know that `dead` is an absolute pixel value. and we're only adding that margin in addition to the original image. so just take the previous code you had and reduce the image size by `dead * 2`
<oprypin>
i'd think that people want `size` and `dead` to be both constant
<FromGitter>
<greenbigfrog> I just tried to reduce, and failed..
<oprypin>
qr_size always ends up equal to size so maybe u dont need to calculate
<oprypin>
that's the easy thing that i noticed
<FromGitter>
<talbergs> Hey, wanted to ask, how many lead developers you are for crystal? How do you get paid? ..Do you have stable income from maintaining/developing crystal? If it is only enthusiasm, when it will end (it's herring question I know, it must not end, let me give some context for these rude questions - "it's business perspective"). I am developer for company and product called Zabbix. Today tried to convince them to
<FromGitter>
... consider crystal (as php dies off slowly .. ). What arguments would You @j8r (+others) toss to convince them - that's a good decision to invest and switch to crystal?
<oprypin>
one thing's for sure is that it's not for money
<oprypin>
and enthusiasm is pretty low though not the all-time low
<oprypin>
btw i'm nowhere near being a core developer, just long-time bystander
<FromGitter>
<drosehn> There is some money coming in for compiler development, but not enough to say crystal is self-sufficient.
<FromGitter>
<l3kn> > *<oprypin>* figuring out why floating point division is absolutely required is left as an exercise to the reader ⏎ ⏎ https://gist.github.com/l3kn/2c38ad3cd9cc73b72fe0bc800f9ce19f (not pixel prefect, but should be somewhat correct)
<FromGitter>
<l3kn> without floating point division (sorry, I could not resist when reading the “absolutely required”)
<FromGitter>
<greenbigfrog> ```code paste, see link``` ⏎ ⏎ I guess this is a tad nicer ⏎ Any suggestions what else to improve/reduce? (pointers are totally fine... I can only learn if I do stuff myself) [https://gitter.im/crystal-lang/crystal?at=5c1ac1ea1287f05a1e340270]
<oprypin>
l3kn, well geez
<oprypin>
wasn't supposed to be a challenge
<FromGitter>
<j8r> @talbergs Zabbix?! We have it at work, I've seen your company in Paris Open Source Summit too
<FromGitter>
<j8r> I dunno, Zabbix itself becomes legacy because it's doesn't scale as well as prometheus
<FromGitter>
<j8r> A totally new Monitoting could be in Crystal, Prometheus did with Go. But rewriting Zabbix in PHP doens't look like a good idea. Maybe the Zabbix agent in Crystal (I guess it's in C today)
<FromGitter>
<j8r> *I mean rewriting Zabbix which is in PHP to Crystal
<FromGitter>
<kevinelliott> > *<oprypin>* and enthusiasm is pretty low though not the all-time low ⏎ Why do you think this is?
Raimondi has joined #crystal-lang
<FromGitter>
<talbergs> Aight, thanks for input! ;) Some php developers with 15yr of xp say that php is not for web any more. Web demands a ton of functionality - yes there are hacks - like Hack, php->llvm, php-swoole. But still we need real concurrency management and a lot more (speed too).
<FromGitter>
<kevinelliott> PHP is definitely not for web apps and APIs that scale.
<FromGitter>
<j8r> How do you plan to integrate Crystal in Zabbix? Micro services?
<FromGitter>
<greenbigfrog> Put it on github: https://github.com/greenbigfrog/qrcr ⏎ Any suggestions on how I should/could spec this? ( CC oprypin)
<oprypin>
i dunno
<oprypin>
lately i've been all into golden testing
<oprypin>
so, say that with these particular inputs it should produce literally this exact image, etv.
<oprypin>
c
<oprypin>
obviously it's kind of a stupid test because whenever you want to change something it'll just fail. but the value is in acknowledging that it changed and looking at the way it changed
<oprypin>
works best if the sample can be automatically updated
<FromGitter>
<greenbigfrog> hm. I guess I could generate images and compare to them
<oprypin>
well that's what i mean, i dont mean that you should make it in MS paint first :>