00:00
fowlduck has joined #crystal-lang
00:02
dylanmei has joined #crystal-lang
00:10
fowlduck has quit [Remote host closed the connection]
00:20
fowlduck has joined #crystal-lang
00:24
olek_poz has quit [Ping timeout: 246 seconds]
00:30
fowlduck has quit [Remote host closed the connection]
00:40
fowlduck has joined #crystal-lang
00:50
fowlduck has quit [Remote host closed the connection]
01:00
fowlduck has joined #crystal-lang
01:00
slash_nick is now known as slash_kick
01:09
akaiiro has quit [Ping timeout: 256 seconds]
01:10
fowlduck has quit [Remote host closed the connection]
01:18
daveshah has joined #crystal-lang
01:19
daveshah has quit [Client Quit]
01:19
daveshah has joined #crystal-lang
01:20
fowlduck has joined #crystal-lang
01:20
slash_kick is now known as slash_nick
01:23
slash_nick is now known as slash_kick
01:30
fowlduck has quit [Remote host closed the connection]
01:38
dylanmei has quit [Quit: ZZZzzz…]
01:40
fowlduck has joined #crystal-lang
01:50
fowlduck has quit [Remote host closed the connection]
02:00
fowlduck has joined #crystal-lang
02:10
fowlduck has quit [Remote host closed the connection]
02:20
fowlduck has joined #crystal-lang
02:30
fowlduck has quit [Remote host closed the connection]
02:35
waterlin1 has joined #crystal-lang
02:38
waterlink has quit [Ping timeout: 246 seconds]
02:40
fowlduck has joined #crystal-lang
02:40
daveshah has quit [Remote host closed the connection]
02:44
pawnbox has quit [Ping timeout: 260 seconds]
02:50
fowlduck has quit [Remote host closed the connection]
02:54
dylanmei has joined #crystal-lang
03:00
fowlduck has joined #crystal-lang
03:10
fowlduck has quit [Remote host closed the connection]
03:20
fowlduck has joined #crystal-lang
03:22
dylanmei has quit [Quit: ZZZzzz…]
03:25
dylanmei has joined #crystal-lang
03:25
dylanmei has quit [Client Quit]
03:30
fowlduck has quit [Remote host closed the connection]
03:40
fowlduck has joined #crystal-lang
03:50
fowlduck has quit [Remote host closed the connection]
03:52
pawnbox has joined #crystal-lang
03:57
pawnbox has quit [Ping timeout: 255 seconds]
04:00
fowlduck has joined #crystal-lang
04:10
fowlduck has quit [Remote host closed the connection]
04:20
fowlduck has joined #crystal-lang
04:30
fowlduck has quit [Remote host closed the connection]
04:40
fowlduck has joined #crystal-lang
04:50
fowlduck has quit [Remote host closed the connection]
04:57
buggs has quit [Ping timeout: 240 seconds]
05:00
fowlduck has joined #crystal-lang
05:00
buggs has joined #crystal-lang
05:01
waterlin1 has quit [Ping timeout: 265 seconds]
05:10
fowlduck has quit [Remote host closed the connection]
05:19
Philpax_ has joined #crystal-lang
05:20
fowlduck has joined #crystal-lang
05:22
Philpax has quit [Ping timeout: 256 seconds]
05:30
fowlduck has quit [Remote host closed the connection]
05:32
dylanmei has joined #crystal-lang
05:42
pawnbox has joined #crystal-lang
05:46
pawnbox has quit [Ping timeout: 246 seconds]
05:50
pawnbox has joined #crystal-lang
05:57
pawnbox has quit [Read error: Connection reset by peer]
05:58
pawnbox has joined #crystal-lang
06:03
pawnbox has quit [Ping timeout: 240 seconds]
06:05
n1ftyn8_ has quit [Ping timeout: 240 seconds]
06:11
n1ftyn8_ has joined #crystal-lang
06:31
fowlduck has joined #crystal-lang
06:35
fowlduck has quit [Ping timeout: 240 seconds]
07:00
fowlduck has joined #crystal-lang
07:10
fowlduck has quit [Remote host closed the connection]
07:14
dylanmei has quit [Quit: ZZZzzz…]
07:19
meatchicken has quit [Quit: Leaving]
07:20
fowlduck has joined #crystal-lang
07:26
trapped has joined #crystal-lang
07:30
fowlduck has quit [Remote host closed the connection]
07:40
fowlduck has joined #crystal-lang
07:50
fowlduck has quit [Remote host closed the connection]
08:00
fowlduck has joined #crystal-lang
08:04
olek_poz has joined #crystal-lang
08:10
fowlduck has quit [Remote host closed the connection]
08:18
pawnbox has joined #crystal-lang
08:20
fowlduck has joined #crystal-lang
08:30
fowlduck has quit [Remote host closed the connection]
08:34
gour has joined #crystal-lang
08:40
fowlduck has joined #crystal-lang
08:49
pawnbox has quit [Remote host closed the connection]
08:50
fowlduck has quit [Remote host closed the connection]
09:00
fowlduck has joined #crystal-lang
09:03
pawnbox has joined #crystal-lang
09:10
fowlduck has quit [Remote host closed the connection]
09:19
pawnbox has quit [Remote host closed the connection]
09:20
fowlduck has joined #crystal-lang
09:28
lokulin has joined #crystal-lang
09:30
fowlduck has quit [Remote host closed the connection]
09:38
<
crystal-gh >
[crystal] sdogruyol opened pull request #1958: Remove HTTP.listen_fork (master...master)
http://git.io/v0bJA
09:40
fowlduck has joined #crystal-lang
09:48
pawnbox has joined #crystal-lang
09:49
olek_poz has quit [Ping timeout: 246 seconds]
09:50
fowlduck has quit [Remote host closed the connection]
09:52
pawnbox has quit [Ping timeout: 265 seconds]
10:00
fowlduck has joined #crystal-lang
10:03
pawnbox has joined #crystal-lang
10:04
pawnbox has quit [Remote host closed the connection]
10:10
fowlduck has quit [Remote host closed the connection]
10:18
olek_poz has joined #crystal-lang
10:20
fowlduck has joined #crystal-lang
10:29
Philpax_ has quit [Ping timeout: 256 seconds]
10:30
fowlduck has quit [Remote host closed the connection]
10:30
Philpax_ has joined #crystal-lang
10:40
fowlduck has joined #crystal-lang
10:50
<
gour >
morning, how does writing of (multi-platform) desktop gui apps fit with crystal's language goals?
10:50
fowlduck has quit [Remote host closed the connection]
11:00
<
jhass >
gour: given we're backed by LLVM, in theory, supporting every platform LLVM supports is possibl
11:00
fowlduck has joined #crystal-lang
11:00
<
jhass >
though things like emscripten are less feasible due to the dependence on libevent etc
11:04
Philpax__ has joined #crystal-lang
11:07
Philpax_ has quit [Ping timeout: 256 seconds]
11:10
fowlduck has quit [Remote host closed the connection]
11:10
daveshah has joined #crystal-lang
11:14
daveshah has quit [Ping timeout: 246 seconds]
11:15
sdogruyol has joined #crystal-lang
11:20
fowlduck has joined #crystal-lang
11:20
<
gour >
jhass: what about practice? any interest for gui apps within community?
11:24
<
sdogruyol >
hey all
11:24
<
jhass >
gour: I've toyed a bit with a gobject-introspection binding
11:25
<
jhass >
there's a cocoa binding or two
11:25
<
jhass >
haven't noticed a QT one yet
11:30
fowlduck has quit [Remote host closed the connection]
11:32
* gour
is running linux (debian)
11:40
fowlduck has joined #crystal-lang
11:49
sdogruyol has quit [Remote host closed the connection]
11:50
fowlduck has quit [Remote host closed the connection]
11:52
sdogruyol has joined #crystal-lang
11:57
gour has left #crystal-lang ["WeeChat 1.3"]
12:00
fowlduck has joined #crystal-lang
12:08
pawnbox has joined #crystal-lang
12:10
fowlduck has quit [Remote host closed the connection]
12:12
sdogruyol has quit [Remote host closed the connection]
12:13
sdogruyol has joined #crystal-lang
12:13
sdogruyol has quit [Remote host closed the connection]
12:13
sdogruyol has joined #crystal-lang
12:18
sdogruyol has quit [Ping timeout: 256 seconds]
12:20
fowlduck has joined #crystal-lang
12:27
sdogruyol has joined #crystal-lang
12:30
fowlduck has quit [Remote host closed the connection]
12:40
fowlduck has joined #crystal-lang
12:46
luislavena has joined #crystal-lang
12:50
fowlduck has quit [Remote host closed the connection]
12:56
daveshah has joined #crystal-lang
13:00
fowlduck has joined #crystal-lang
13:01
daveshah has quit [Ping timeout: 272 seconds]
13:10
fowlduck has quit [Remote host closed the connection]
13:20
fowlduck has joined #crystal-lang
13:28
sdogruyol has quit [Remote host closed the connection]
13:30
fowlduck has quit [Remote host closed the connection]
13:40
fowlduck has joined #crystal-lang
13:50
fowlduck has quit [Remote host closed the connection]
13:57
daveshah has joined #crystal-lang
14:00
fowlduck has joined #crystal-lang
14:02
daveshah has quit [Ping timeout: 260 seconds]
14:06
akaiiro has joined #crystal-lang
14:10
fowlduck has quit [Remote host closed the connection]
14:20
fowlduck has joined #crystal-lang
14:24
ssvb has joined #crystal-lang
14:25
sdogruyo_ has joined #crystal-lang
14:26
dylanmei has joined #crystal-lang
14:30
fowlduck has quit [Remote host closed the connection]
14:39
olek_poz has quit [Ping timeout: 246 seconds]
14:40
fowlduck has joined #crystal-lang
14:40
sdogruyo_ has quit [Quit: Leaving...]
14:51
fowlduck has quit [Remote host closed the connection]
15:00
fowlduck has joined #crystal-lang
15:10
fowlduck has quit [Remote host closed the connection]
15:19
FLOOR_9_ has joined #crystal-lang
15:20
fowlduck has joined #crystal-lang
15:22
Philpax_ has joined #crystal-lang
15:24
Philpax__ has quit [Ping timeout: 256 seconds]
15:30
fowlduck has quit [Remote host closed the connection]
15:40
fowlduck has joined #crystal-lang
15:44
waterlink has joined #crystal-lang
15:47
Philpax_ has quit [Ping timeout: 256 seconds]
15:50
fowlduck has quit [Remote host closed the connection]
15:58
daveshah has joined #crystal-lang
15:59
imperator has joined #crystal-lang
16:00
fowlduck has joined #crystal-lang
16:02
daveshah has quit [Ping timeout: 240 seconds]
16:10
fowlduck has quit [Remote host closed the connection]
16:20
fowlduck has joined #crystal-lang
16:23
dylanmei has quit [Quit: ZZZzzz…]
16:23
dylanmei has joined #crystal-lang
16:24
dylanmei has quit [Client Quit]
16:28
FLOOR_9_ has quit [Remote host closed the connection]
16:30
fowlduck has quit [Remote host closed the connection]
16:40
fowlduck has joined #crystal-lang
16:51
fowlduck has quit [Remote host closed the connection]
16:59
<
crystal-gh >
crystal/master 768c081 Ary Borenszweig: Fixed #1960: make `parallel` work with nil values
16:59
<
crystal-gh >
crystal/master 1c193d3 Ary Borenszweig: Fixed #1959: incorrect ASTNode#to_s for infix operators
17:00
fowlduck has joined #crystal-lang
17:10
fowlduck has quit [Remote host closed the connection]
17:20
fowlduck has joined #crystal-lang
17:30
fowlduck has quit [Remote host closed the connection]
17:40
fowlduck has joined #crystal-lang
17:50
fowlduck has quit [Remote host closed the connection]
17:55
waterlink has quit [Ping timeout: 256 seconds]
17:58
daveshah has joined #crystal-lang
18:00
fowlduck has joined #crystal-lang
18:03
daveshah has quit [Ping timeout: 260 seconds]
18:10
fowlduck has quit [Remote host closed the connection]
18:20
fowlduck has joined #crystal-lang
18:30
fowlduck has quit [Remote host closed the connection]
18:40
fowlduck has joined #crystal-lang
18:50
fowlduck has quit [Remote host closed the connection]
18:52
olek_poz has joined #crystal-lang
19:00
fowlduck has joined #crystal-lang
19:10
fowlduck has quit [Remote host closed the connection]
19:14
pawnbox has quit [Remote host closed the connection]
19:20
FLOOR_9_ has joined #crystal-lang
19:20
fowlduck has joined #crystal-lang
19:21
<
FLOOR_9_ >
does anyone by change have experience with tcp framing?
19:21
<
FLOOR_9_ >
i made a tcpserver before, in both Ruby, Nodejs and now in crystal
19:22
<
FLOOR_9_ >
and because tcp is a streaming protocol, you have to have delimiters
19:23
<
FLOOR_9_ >
ytti: do you have experience with zeromq?
19:23
<
ytti >
no, but i know of it
19:23
<
ytti >
i'm not sure what you mena by delimiters
19:24
<
FLOOR_9_ >
indicators to use , with messages so you know the end of a stream, beginning
19:24
<
FLOOR_9_ >
with tcp
19:24
pawnbox has joined #crystal-lang
19:24
<
FLOOR_9_ >
because with a tcp server, the messages can get pretty scrambled
19:26
<
FLOOR_9_ >
what is an easy way of framing in tcp?
19:26
<
FLOOR_9_ >
there is no zeromq lib for crystal not yet, so , i quess i have to stick to tcp sockets
19:28
<
FLOOR_9_ >
ytti: i don't know if you have experience with tcp sockets and framing?
19:29
pawnbox has quit [Ping timeout: 272 seconds]
19:30
fowlduck has quit [Remote host closed the connection]
19:37
<
ytti >
sorry, it's not something i've done, so my solution might be arbitrarily bad
19:37
<
ytti >
but i would just read into buffer, until specific code is found
19:38
<
ytti >
or perhaps i'd do TLV based protocol
19:38
<
ytti >
and read until length
19:38
<
FLOOR_9_ >
yeah there 2 common approaches , length prefix and read the whole length of the stream till delimiter is found
19:39
<
FLOOR_9_ >
problem is, when the prefix or the delimiter itself is cut, have to deal with another problem
19:39
waterlink has joined #crystal-lang
19:40
fowlduck has joined #crystal-lang
19:40
<
FLOOR_9_ >
so it sounds like i need to write my own protocol
19:40
<
jhass >
or do a lib for an existing one
19:41
<
FLOOR_9_ >
well it's for a really specific small case, over lan, i don't know if i have the experience enough to write a lib
19:42
<
FLOOR_9_ >
would love to, but i am really new to crystal, and no experience with C, could be a problem :)
19:42
<
jhass >
you have if you have enough to make up a reliable protocol on your onw
19:43
<
FLOOR_9_ >
i have more experience in networking than with programming, that's why i can cook up a simple protocol
19:43
<
FLOOR_9_ >
but for it to be effecient and reliable is another thing hahahah
19:44
<
FLOOR_9_ >
best case scenario , we have both programmers that have experience with zeromq and networking people together
19:45
<
FLOOR_9_ >
to give you an example, zeromq benchmarks in ruby show 400.000 messages per second over pub/sub
19:45
<
FLOOR_9_ >
on the same machine, zeromq pub/sub for node shows 60.000 , nanomsg beats zeromq in node.
19:46
<
FLOOR_9_ >
but i am running it to the limits of my understanding of programming, Kernel stuff,
19:50
<
FLOOR_9_ >
and just to clarify, the zeroMQ benchmarks in C show 1 milliion messages per second
19:50
fowlduck has quit [Remote host closed the connection]
19:51
<
FLOOR_9_ >
but we are talking about messages in some bytes in size, not KB
19:51
<
FLOOR_9_ >
and on the TCP layer, so it has to go through the NIC stack, in contrast to IPC which can be even faster
19:52
<
FLOOR_9_ >
but i don't doubt that you already know that jhass :)
19:55
<
FLOOR_9_ >
because i see you are one of the contributors to the unix_server.cr
19:56
<
jhass >
well, also look at what I "contributed"
19:56
dylanmei has joined #crystal-lang
19:57
<
FLOOR_9_ >
ah yeah i see what you mean, you mean you renamed the cast to new
20:00
fowlduck has joined #crystal-lang
20:00
dylanmei has quit [Read error: Connection reset by peer]
20:01
<
FLOOR_9_ >
so now i am really in the dark on your experience with hhahahah
20:01
dylanmei has joined #crystal-lang
20:10
fowlduck has quit [Remote host closed the connection]
20:20
fowlduck has joined #crystal-lang
20:30
dylanmei has quit [Quit: ZZZzzz…]
20:31
fowlduck has quit [Remote host closed the connection]
20:31
<
FLOOR_9_ >
funny thing tho, that old guy in that youtube vid : "The internet is not something you just dump something on, its not a big truck. It's a series of tubes" was correct
20:35
<
ytti >
TLV is super easy to parse
20:35
<
ytti >
compared to some ascii thingy
20:36
<
ytti >
and more efficient too
20:38
<
FLOOR_9_ >
i'm looking into that now
20:40
fowlduck has joined #crystal-lang
20:50
fowlduck has quit [Remote host closed the connection]
20:51
sdogruyol has joined #crystal-lang
20:51
<
FLOOR_9_ >
hey there sdogruyol
20:52
<
FLOOR_9_ >
i did my benchmarking , not all complete , but raising the file descriptor limit doesn't improve your kemal
20:53
<
FLOOR_9_ >
if i try to lower the limit tho, i get a max file descriptor error, so it's a good indication when it reaches it top
20:54
<
FLOOR_9_ >
so far with 9999 in ulimit -n with wrk and kemal, it doesn't give that error
20:55
<
sdogruyol >
that's good to hear
20:56
<
FLOOR_9_ >
also i haven't tested http pipelining yet, don't know if you have implanted it?
20:57
<
sdogruyol >
you mean keep-alive?
20:57
<
FLOOR_9_ >
no http pipelining does require keep alive
20:57
<
FLOOR_9_ >
but it's sending multiple http over 1 stream
20:58
<
FLOOR_9_ >
most browser today have it disabled, but like nodejs enables it by default
20:58
<
sdogruyol >
i havent implemented anything related to that but i'm sure that i've seen keep-alive in Crystal's HTTP::Request implementation
20:59
<
FLOOR_9_ >
10 stands for the number of pipelined requests
20:59
<
FLOOR_9_ >
let me check right now if crystal http server supports it natively , one moment
21:00
fowlduck has joined #crystal-lang
21:02
<
FLOOR_9_ >
no it does not
21:02
<
FLOOR_9_ >
but i am running 0.6.1 here atm, you can check with a simple echo command
21:02
<
FLOOR_9_ >
echo -en "GET / HTTP/1.1\r\nHost: fropl.com\r\n\r\nGET / HTTP/1.1\r\nHost: fropl.com\r\n\r\n" | nc localhost 80
21:03
<
FLOOR_9_ >
if it supports http pipelining, it shows 2 http responses instead of 1
21:05
trapped has joined #crystal-lang
21:07
<
sdogruyol >
0.6.1 0f what?
21:07
<
sdogruyol >
Crystal?
21:07
<
FLOOR_9_ >
crystal version
21:07
<
sdogruyol >
that's too old
21:07
<
FLOOR_9_ >
for you kemal i had the latest version tho
21:07
<
FLOOR_9_ >
but right now i am testing on a different machine
21:07
luislavena has quit [Quit: Leaving]
21:08
<
FLOOR_9_ >
can you maybe test your http server with the echo command?
21:09
<
FLOOR_9_ >
i'm interested to know if it supports it
21:11
fowlduck has quit [Remote host closed the connection]
21:14
sdogruyol has quit [Remote host closed the connection]
21:20
dylanmei has joined #crystal-lang
21:20
fowlduck has joined #crystal-lang
21:27
akaiiro has quit [Ping timeout: 256 seconds]
21:30
fowlduck has quit [Remote host closed the connection]
21:30
<
crystal-gh >
crystal/master fbf66dd Ary Borenszweig: Some more Array docs
21:30
<
crystal-gh >
crystal/master 045eaa1 Ary Borenszweig: Fixed a couple of formatter bugs
21:37
Philpax_ has joined #crystal-lang
21:40
Philpax__ has joined #crystal-lang
21:40
fowlduck has joined #crystal-lang
21:43
Philpax_ has quit [Ping timeout: 256 seconds]
21:46
imperator has left #crystal-lang ["Leaving"]
21:51
fowlduck has quit [Remote host closed the connection]
21:51
dylanmei has quit [Quit: ZZZzzz…]
22:00
fowlduck has joined #crystal-lang
22:03
pawnbox has joined #crystal-lang
22:05
<
crystal-gh >
[crystal] ysbaddaden closed pull request #1958: Improve HTTP::Server (master...master)
http://git.io/v0bJA
22:08
pawnbox has quit [Ping timeout: 265 seconds]
22:10
fowlduck has quit [Remote host closed the connection]
22:14
<
BlaXpirit >
hmm how can I combine .all? and .each_cons ?
22:18
FLOOR_9_ has quit []
22:20
<
BlaXpirit >
>> [1,2,3].each_cons(2).all? { |a| a[0]+1 == a[1] }
22:20
fowlduck has joined #crystal-lang
22:20
<
BlaXpirit >
>> [1,3,2].each_cons(2).all? { |a| a[0]+1 == a[1] }
22:20
<
BlaXpirit >
how does this work if there is no iterator?
22:30
fowlduck has quit [Remote host closed the connection]
22:40
fowlduck has joined #crystal-lang
22:42
pawnbox has joined #crystal-lang
22:43
<
asterite >
BlaXpirit: what do you mean with "if there is no iterator"?
22:43
olek_poz has quit [Ping timeout: 246 seconds]
22:44
<
BlaXpirit >
asterite, I mean each_cons does not return an object that has a method `all?`
22:44
<
asterite >
Oh, it returns an Iterator, which includes Enumerable
22:44
<
BlaXpirit >
where does it return an Iterator?
22:46
<
asterite >
Oh, well, it's actually that Array includes Iterable, which defines it. That calls `each.cons(2)`, and `cons` is defined on Iterator
22:47
pawnbox has quit [Ping timeout: 246 seconds]
22:50
fowlduck has quit [Remote host closed the connection]
23:00
fowlduck has joined #crystal-lang
23:10
fowlduck has quit [Remote host closed the connection]
23:20
fowlduck has joined #crystal-lang
23:22
pawnbox has joined #crystal-lang
23:27
pawnbox has quit [Ping timeout: 256 seconds]
23:30
fowlduck has quit [Remote host closed the connection]
23:40
fowlduck has joined #crystal-lang
23:50
fowlduck has quit [Remote host closed the connection]