companion_cube changed the topic of #ocaml to: Discussions about the OCaml programming language | http://www.ocaml.org | OCaml 4.05.0 release notes: https://caml.inria.fr/pub/distrib/ocaml-4.05/notes/Changes | Try OCaml in your browser: http://try.ocamlpro.com | Public channel logs at http://irclog.whitequark.org/ocaml
_whitelogger has joined #ocaml
mengu has joined #ocaml
zolk3ri has quit [Quit: Lost terminal]
benq has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
kerrhau has joined #ocaml
kerrhau has joined #ocaml
kerrhau has quit [Changing host]
mengu has quit [Ping timeout: 248 seconds]
pmetzger has quit [Ping timeout: 240 seconds]
johnelse has quit [Ping timeout: 240 seconds]
marcux has quit [Ping timeout: 248 seconds]
Associat0r has quit [Read error: Connection reset by peer]
mengu has joined #ocaml
mengu has quit [Ping timeout: 255 seconds]
Associat0r has joined #ocaml
Associat0r has quit [Changing host]
Associat0r has joined #ocaml
mengu has joined #ocaml
mengu has quit [Ping timeout: 248 seconds]
mfp has quit [Ping timeout: 264 seconds]
shinnya has quit [Ping timeout: 255 seconds]
marcux has joined #ocaml
superherointj has quit [Quit: Leaving]
mengu has joined #ocaml
mengu has quit [Ping timeout: 255 seconds]
jbrown has quit [Ping timeout: 248 seconds]
<Khady> <smondet[m]> Khady: for me `merlin-locate-indent` asks for an indent with a prompt? // yes, but it is ignoring the identifier that I provide. It was a bug in merlin. Fixed now :)
marcux has quit [Ping timeout: 255 seconds]
cbot has joined #ocaml
cbot_ has quit [Ping timeout: 240 seconds]
mengu has joined #ocaml
govg has quit [Ping timeout: 255 seconds]
mengu has quit [Ping timeout: 260 seconds]
spion_ has quit [Ping timeout: 240 seconds]
mengu has joined #ocaml
spion has joined #ocaml
mengu has quit [Ping timeout: 255 seconds]
cbot has quit [Ping timeout: 240 seconds]
pmetzger has joined #ocaml
ncthom91 has joined #ocaml
cbot has joined #ocaml
ncthom91 has quit [Client Quit]
iitalics has joined #ocaml
cschneid has quit [Ping timeout: 246 seconds]
fredcy has quit [Ping timeout: 252 seconds]
_habnabit has quit [Ping timeout: 248 seconds]
pmetzger has quit [Remote host closed the connection]
pmetzger has joined #ocaml
fredcy has joined #ocaml
_habnabit has joined #ocaml
pmetzger has quit [Remote host closed the connection]
cschneid has joined #ocaml
pmetzger has joined #ocaml
Denommus has joined #ocaml
<Denommus> I had to completely redesign my react-react library
pmetzger has quit [Remote host closed the connection]
<Denommus> I was needlessly instancing components
pmetzger has joined #ocaml
pmetzger has quit [Remote host closed the connection]
<Denommus> But the change was positive, because now I treat the component's props as signals
pmetzger has joined #ocaml
pmetzger has quit [Ping timeout: 255 seconds]
Denommus` has joined #ocaml
Denommus has quit [Ping timeout: 264 seconds]
mengu has joined #ocaml
govg has joined #ocaml
mengu has quit [Ping timeout: 255 seconds]
enterprisey has quit [Quit: Leaving]
eikke has quit [Remote host closed the connection]
pmetzger has joined #ocaml
nicoo has quit [Remote host closed the connection]
pmetzger has quit [Ping timeout: 255 seconds]
nicoo has joined #ocaml
Associat0r has quit [Ping timeout: 240 seconds]
pmetzger has joined #ocaml
iitalics has quit [Quit: /thread]
mengu has joined #ocaml
pmetzger has quit [Ping timeout: 240 seconds]
mengu has quit [Ping timeout: 248 seconds]
pmetzger has joined #ocaml
mengu has joined #ocaml
pmetzger has quit [Ping timeout: 255 seconds]
bombastus has quit [Remote host closed the connection]
mengu has quit [Ping timeout: 248 seconds]
jonasen has joined #ocaml
enterprisey has joined #ocaml
pmetzger has joined #ocaml
mbuf has joined #ocaml
jonasen has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
jonasen has joined #ocaml
lgd has quit [Read error: Connection reset by peer]
lgd has joined #ocaml
pete_8 has joined #ocaml
al-damiri has quit [Quit: Connection closed for inactivity]
kerrhau has quit [Ping timeout: 260 seconds]
MercurialAlchemi has joined #ocaml
cbot has quit [Quit: Leaving]
pmetzger has quit [Ping timeout: 240 seconds]
infinity0_ has joined #ocaml
infinity0 is now known as Guest86878
infinity0_ has joined #ocaml
infinity0_ has quit [Changing host]
Guest86878 has quit [Killed (card.freenode.net (Nickname regained by services))]
infinity0_ is now known as infinity0
pmetzger has joined #ocaml
Simn has joined #ocaml
pmetzger has quit [Ping timeout: 240 seconds]
Associat0r has joined #ocaml
Associat0r has quit [Changing host]
Associat0r has joined #ocaml
dhil has joined #ocaml
pmetzger has joined #ocaml
pete_8 has quit [Ping timeout: 246 seconds]
pete_8 has joined #ocaml
dhil has quit [Ping timeout: 248 seconds]
andreas__ has joined #ocaml
AltGr has joined #ocaml
dakk has joined #ocaml
pete_8 has quit [Ping timeout: 240 seconds]
johnelse has joined #ocaml
pmetzger has quit [Ping timeout: 240 seconds]
benq has joined #ocaml
enterprisey has quit [Quit: Leaving]
ia0 has quit [Quit: reboot]
ia0 has joined #ocaml
pmetzger has joined #ocaml
pmetzger has quit [Ping timeout: 248 seconds]
pmetzger has joined #ocaml
pmetzger has quit [Ping timeout: 240 seconds]
ygrek has joined #ocaml
freusque has joined #ocaml
pmetzger has joined #ocaml
argent_smith has joined #ocaml
butts_butts has joined #ocaml
<ousado> I'm getting an Error: Corrupted compiled interface when loading http://ocsigen.org/js_of_ocaml/2.8.4/files/toplevel/index.html
<flux> works for me(TM). try cleaning caches?
benq has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<flux> pretty cool that sharing thingy
<ousado> was a temporary hickup I guess
<ousado> works now
<flux> wow, the graphics things are even cooler
<flux> now a little bit work and we'll get those cool F# live 3d scene editing demos.. ;)
<ousado> yeah, a teeny tiny bit of work :)
<def`> flux: what are you talking about?
<flux> that page
<flux> or did you mean f#?
<flux> you can click "Graphics: PingPong" on that page, press enter, and magic happens!
benq has joined #ocaml
<def`> which page :P? I think I missed some message
<flux> quite web2.0 toplevel that is
<def`> ah thanks
mengu has joined #ocaml
nahra has quit [Remote host closed the connection]
mfp has joined #ocaml
pmetzger has quit [Ping timeout: 255 seconds]
jonasen has quit [Read error: Connection reset by peer]
nahra has joined #ocaml
dhil has joined #ocaml
pete_8 has joined #ocaml
pete_8 has quit [Ping timeout: 255 seconds]
pmetzger has joined #ocaml
pmetzger has quit [Ping timeout: 240 seconds]
pmetzger has joined #ocaml
pmetzger has quit [Ping timeout: 240 seconds]
jonasen has joined #ocaml
ygrek_ has joined #ocaml
ygrek has quit [Ping timeout: 240 seconds]
tizoc has quit [Quit: Coyote finally caught me]
mal`` has quit [Quit: Leaving]
kakadu has joined #ocaml
mal`` has joined #ocaml
pmetzger has joined #ocaml
shinnya has joined #ocaml
chenglou has quit [Read error: Connection reset by peer]
cbarrett has quit [Ping timeout: 246 seconds]
mattg has quit [Read error: Connection reset by peer]
chenglou has joined #ocaml
mattg has joined #ocaml
TheLemonMan has joined #ocaml
TheLemonMan has quit [Client Quit]
dhil has quit [Ping timeout: 240 seconds]
pmetzger has quit [Ping timeout: 255 seconds]
Denommus` is now known as Denommus
Denommus` has joined #ocaml
Denommus has quit [Ping timeout: 255 seconds]
Denommus` is now known as Denommus
jonasen has quit [Read error: Connection reset by peer]
fraya_ has joined #ocaml
mengu has quit [Remote host closed the connection]
Denommus` has joined #ocaml
Denommus has quit [Ping timeout: 255 seconds]
Denommus has joined #ocaml
Denommus` has quit [Quit: Bye]
freusque has quit [Quit: WeeChat 1.7.1]
sepp2k has joined #ocaml
butts_butts has quit [Remote host closed the connection]
pmetzger has joined #ocaml
superherointj has joined #ocaml
<superherointj> Hi
pmetzger has quit [Ping timeout: 248 seconds]
jonasen has joined #ocaml
dhil has joined #ocaml
nadako[m] has joined #ocaml
tizoc has joined #ocaml
freusque has joined #ocaml
<Denommus> superherointj: hi
<superherointj> Hi Denommus
mbuf has quit [Ping timeout: 248 seconds]
<superherointj> Denommus, I'm lost on the amount of different ways to get Ocaml working on Windows. My goal is to have a native Merlin running in Windows so I can use VSCode reasonml extension properly.
<Denommus> superherointj: sadly I don't use Windows :-/
fraya_ has quit [Quit: Leaving]
<superherointj> There is a lot of misinformation and fragmentation, right on official page there are 7 methods and there are errors on official documentation.
<superherointj> *right now
<superherointj> Do you know where I should be asking this question?
<superherointj> Maybe I'm asking at wrong place.
<def`> https://discuss.ocaml.org/ is probably the best place
fraya_ has joined #ocaml
pmetzger has joined #ocaml
freusque has quit [Ping timeout: 240 seconds]
ziyourenxiang has joined #ocaml
dhil has quit [Ping timeout: 240 seconds]
<superherointj> def` are you let-def?
govg has quit [Ping timeout: 240 seconds]
jbrown has joined #ocaml
<def`> yes
govg has joined #ocaml
<superherointj> It's you!! I was looking after! I want to install Merlin3 on Windows! Which is the recommended toolchain/environment/toolchain for it?
cbarrett has joined #ocaml
pmetzger has quit [Ping timeout: 255 seconds]
rks` is now known as yno_
pmetzger has joined #ocaml
_andre has joined #ocaml
pmetzger has quit []
mengu has joined #ocaml
fraya_ has quit [Quit: Leaving]
<Denommus> superherointj: isn't it better for you to install a Linux VM and develop from there?
<superherointj> For production, yes.
<superherointj> I was trying to fix the windows guide.
<Denommus> superherointj: but if that's not possible: I'm not sure whether OPAM is available in Windows, but if it is, I think it's the correct approach is to install merlin from OPAM
<superherointj> I did install it from OPAM. I also did: opam pin add merlin --dev-repo
<def`> I don't think you need the --dev-repo part, 3.0.3 has windows support.
<def`> What is failing in your setup?
snhmib has joined #ocaml
<superherointj> On Cygwin, "ocamlmerlin -version" outputs "The Merlin toolkit version git-8978ef2c0e81b0cb2869732fa0bf676b0928febe, for Ocaml 4.04.0"
<superherointj> My goal is to have Merlin working with VSCode extension. And in that regard, opening VSCode from Cygwin, I'm not able to edit files, it opens as readonly. Which is odd.
<superherointj> I don't know how to test Merlin isolated.
<superherointj> And I don't understand how integration of Merlin & VSCode extension happens.
<superherointj> Merlin seems to be on path, it is showing the version as you can see above.
<superherointj> But it doesn't work.
<def`> There is no log?
<superherointj> Where should I look after logs?
<def`> no idea \o/ :)
<def`> somewhere in vscode
<Denommus> superherointj: what about merlin 3.0.3?
<superherointj> Is there a way to test Merlin without VSCode extension?
<def`> main editors are vim, emacs
<def`> there is also some support for sublime text
<flux> didn't it have some command line functionality as well?
<def`> it does
<Denommus> I guess you can check ocamlmerlin -help and try to use it on the command line?
<def`> echo | ocamlmerlin single findlib-list
<def`> Should list findlib libraries
<superherointj> On Cygwin, it shows a list.
<def`> can you start vscode from your cygwin terminal?
<superherointj> I did so.
<superherointj> Actually there is something else you should know.
<superherointj> Running Merlin on WSL worked fine. And there was only a problem with extension. The key thing was to run Bucklescript on WSL not windows. So it generated a unix valid Merlin file.
<superherointj> By running Bucklescript on Windows, it was generating Windows paths that failed, because Merlin was running on WSL.
<def`> Ok?
<superherointj> And extension was looking after Merlin by proxy of 'bash -ci'.
<def`> You should be able to build a pure windows merlin (without WSL I think)
<superherointj> That is what I want.
<superherointj> How can I do so?
<def`> with msys, mingw, whatever is the non-broken compiler of the day on windows.
<def`> There should be a build of opam using that
<superherointj> I've installed fdopen installer (http://fdopen.github.io/opam-repository-mingw/). What I don't know is how to generate the Merlin native executable.
<superherointj> The recommended way.
<superherointj> How would you do it?
<def`> opam install merlin?
<superherointj> Ah found binaries at: C:\OCaml64\home\user\.opam\4.04.0+mingw64c\bin
shinnya has quit [Ping timeout: 255 seconds]
aciniglio has joined #ocaml
MercurialAlchemi has quit [Ping timeout: 260 seconds]
jonasen has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
xttraces has joined #ocaml
marcux has joined #ocaml
mk9 has joined #ocaml
superherointj2 has joined #ocaml
superherointj has quit [Ping timeout: 248 seconds]
sz0 has joined #ocaml
yomimono has joined #ocaml
mengu has quit [Remote host closed the connection]
mengu has joined #ocaml
mengu has quit [Ping timeout: 260 seconds]
jonasen has joined #ocaml
<Drup> Leonidas: Can I assume you already read my blog post ? :p
Simn has quit [Ping timeout: 255 seconds]
ygrek_ has quit [Ping timeout: 240 seconds]
superherointj2 has quit [Quit: Leaving]
aciniglio has quit [Ping timeout: 246 seconds]
FreeBirdLjj has joined #ocaml
andreas__ has quit [Quit: Connection closed for inactivity]
mbuf has joined #ocaml
<mk9> Is it possible to load module in the repl without compiling it before hand?
<mk9> I'm working w/ emacs+tuareg
<mk9> Or should I rebuild each module on save?
<def`> #mod_use
<mk9> oh thanks! Is it ok to keep this definition in the source files?
<mk9> I haven't seen it anywhere
<def`> It's a top level directive, it is only understood by the toplevel
<def`> the compiler will reject a file that contains it
slash^ has joined #ocaml
<mk9> hm. So general flow for developing different modules is using distinct REPL's?
<mk9> e.g. developing multi-module package
yomimono has quit [Quit: Ex-Chat]
<def`> What do you mean?
<def`> I don't know if there are recommended workflows with the REPL -- generally I write the modules separately and test them with the REPL, copy-pasting important pieces of code from the REPL to a separate file when I am satisfied.
<def`> (I agree it is not an optimal workflow, I don't have an opinion on how to do better, other people might know)
Simn has joined #ocaml
<mk9> Thanks! I think I get what and how I need to do
enterprisey has joined #ocaml
zolk3ri has joined #ocaml
lgd_ has joined #ocaml
lgd has quit [Remote host closed the connection]
pete_8 has joined #ocaml
ShalokShalom_ has joined #ocaml
ShalokShalom has quit [Ping timeout: 240 seconds]
AltGr has left #ocaml [#ocaml]
lgd_ has quit [Read error: Connection reset by peer]
lgd_ has joined #ocaml
<Leonidas> Drup: if you could kindly send me a link, you'll be able to assume I'll have read it :)
Denommus has quit [Quit: rebooting]
nullifidian has quit [Ping timeout: 258 seconds]
lgd_ has quit [Remote host closed the connection]
lgd_ has joined #ocaml
nullifidian has joined #ocaml
ziyourenxiang has quit [Ping timeout: 240 seconds]
<Leonidas> Drup: thanks!
<zolk3ri> Is there a shorter way to extract string between two chars than to use "String.concat "" (String.split_on_char ']' (String.concat "" (String.split_on_char '[' "[test]")));;"?
Simn has quit [Read error: Connection reset by peer]
<zolk3ri> It prints "test" as expected, but damn it's long!
pete_8 has quit [Ping timeout: 264 seconds]
<zozozo> zolk3ri: why not use String.index and String.rindex to search for the positions of your delimitors, and then use String.sub ?
nahra has quit [Remote host closed the connection]
nahra has joined #ocaml
fraggle_ has quit [Remote host closed the connection]
nahra has quit [Remote host closed the connection]
mk9 has quit [Quit: mk9]
fraggle_ has joined #ocaml
malina has joined #ocaml
xttraces has quit [Quit: Connection closed for inactivity]
chelfi has quit [Ping timeout: 246 seconds]
chelfi has joined #ocaml
<kakadu> Yahoo!
<kakadu> ✗ echo "effect Foo : string -> int" | MERLIN_LOG=/tmp/merlineff ./ocamlmerlin single errors
<kakadu> {"class":"return","value":[],"notifications":[],"timing":{"total":4.0,"query":0.0,"reader":0.0,"ppx":0.0,"typer":4.0,"error":0.0}}
pete_8 has joined #ocaml
<def`> good job :)
<def`> (impressive :))
andreas__ has joined #ocaml
kakadu has quit [Quit: Konversation terminated!]
argent_smith has quit [Quit: Leaving.]
benq has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
FreeBirdLjj has quit [Remote host closed the connection]
mbuf has quit [Quit: Leaving]
FreeBirdLjj has joined #ocaml
pete_8 has quit [Ping timeout: 240 seconds]
kakadu has joined #ocaml
kakadu_ has joined #ocaml
kakadu has quit [Ping timeout: 248 seconds]
jbrown has quit [Remote host closed the connection]
enterprisey has quit [Ping timeout: 240 seconds]
TheLemonMan has joined #ocaml
slash^ has quit [Read error: Connection reset by peer]
<zolk3ri> https://ptpb.pw/AEdIQZP7XCcgK3gdpRUwO6GMtlun/ocaml <- My first OCaml program... Any idea as to how to make it more OCaml-y... and faster? Roughly it would take 20 seconds in total if I were to continue to implement everything... and that's undesired.
jnavila has joined #ocaml
<def`> zolk3ri: what does a line look like?
<companion_cube> not a circle
<zolk3ri> Example of ClientConnect: 0:00 ClientConnect: 0 [47.148.224.212] (8ABCA93BB539B8FBE82D772447AA5E86) "^7moder^1a^3t^7ion^7" ("moderation")
<zolk3ri> ClientAuth: 38:23 ClientAuth: 0 [82.35.253.217] "(>R)IronClaw*" authenticated to admin level 3 using GUID 0A671925AF7766F4C01DB2152B61FC32 ((>R)IronClaw*)
<zolk3ri> And lots of unnecessary garbage.
<zolk3ri> The size of the log files are around 120 MB.
<zolk3ri> is
<def`> Maybe just write a regex for the line?
<zolk3ri> It has been written in Perl, Go, and C++. Perl took 27 seconds with regexes, haven't tried without, and both Go and C++ code were significantly slower with regexes than without, so I assumed it would be the case with OCaml, too.
<def`> can you share the regex?
<zolk3ri> /(?=([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}))(?=.*([0-9a-zA-Z][0-9a-zA-Z]{31})).+$/
<zolk3ri> This is what I used in the Perl script.
<def`> ok it is recognising something quite different from the OCaml code :) (even though in your case I can imagine it matches)
<zolk3ri> def`: Well, the end result is the same, it extracts the IP and the GUID. I would really like to speed up the OCaml code though. I am looking for a language as a replacement for C for throwaway code, OCaml seemed different so I gave it a try. :D
<Drup> well, the OCaml code you wrote scan the same string repeateidely (String.index is not constant time ...)
<Drup> so Yeah, it's going to be slow
<Armael> (regex noob here) is the regex you shown using backtracking?
<zolk3ri> Drup: Someone here suggested it, initially I used "String.concat "" (String.split_on_char ']' (String.concat "" (String.split_on_char '[' "[test]")))".
<Drup> Armael: no
argent_smith has joined #ocaml
<Armael> you should be able to just reuse it in ocaml then?
<Drup> zolk3ri: sure, that's even worse :p
<zolk3ri> :P
argent_smith has quit [Client Quit]
<def`> zolk3ri: can you share a ClientAuth line too ?
jonasen has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<zolk3ri> 38:23 ClientAuth: 0 [82.35.253.217] "(>R)IronClaw*" authenticated to admin level 3 using GUID 0A671925AF7766F4C01DB2152B61FC32 ((>R)IronClaw*)
<def`> a slightly better index based approach: https://gist.github.com/let-def/b2c834180b4c012e0be87e50b074b7da
<def`> (with some potential off-by-ones :P)
jnavila has quit [Quit: Konversation terminated!]
jnavila has joined #ocaml
<zolk3ri> def`: Hmm, I'm not getting printed anything.
<def`> change start to 7 maybe
<zolk3ri> Ahh, works. :P
<def`> (there were some spaces in printing that might have been introduced by irc client, so I guessed the format :P)
<zolk3ri> Although somewhere it prints "GUID " along with the GUID, so yeah, hold on. :P
<zolk3ri> ok fixed
FreeBirdLjj has quit [Remote host closed the connection]
<zolk3ri> This is significantly faster for sure, thanks def`. I'll compare the two, and learn from it. :D
FreeBirdLjj has joined #ocaml
FreeBirdLjj has quit [Ping timeout: 260 seconds]
eni has joined #ocaml
<zolk3ri> Hmm, I'm getting Invalid_argument("Str.string_match").
<Drup> def`: doh, not even re ?
<zolk3ri> def`: Probably because of the garbage lines...
<zolk3ri> def`: Fails right at the first line. xD
argent_smith has joined #ocaml
argent_smith has quit [Client Quit]
<zolk3ri> Isn't it supposed to just move to the next line anyway?
<zolk3ri> Oh, invalid_argument, nvm
<def`> Drup: bah Str is part of stdlib :)
igstan has joined #ocaml
ousado has quit [Quit: Konversation terminated!]
ousado has joined #ocaml
<Drup> def`: that's not necessarely a good argument
ousado has quit [Changing host]
ousado has joined #ocaml
<Drup> (pretty sure re is quite a bit faster too)
pierpa has joined #ocaml
<zolk3ri> def`: It's only a bit slower than the previous one. :D
_andre has quit [Quit: leaving]
pete_8 has joined #ocaml
pete_8 has quit [Ping timeout: 240 seconds]
jnavila has quit [Ping timeout: 240 seconds]
pete_8 has joined #ocaml
igstan has quit [Quit: igstan]
TheLemonMan has quit [Quit: "It's now safe to turn off your computer."]
superherointj has joined #ocaml
<superherointj> def`, Merlin 2.5 worked fine with Reason VSCode extension. But it doesn't work with Merlin 3.0.3. Even in WSL.
<superherointj> In order to work on WSL merlin, It was necessary to call Merlin over 'bash -ic ocamlmerlin'. And it was fine. Problem was between 2.5 version and 3.0.3.
eni has quit [Remote host closed the connection]
sepp2k has quit [Quit: Leaving.]
ShalokShalom_ has quit [Ping timeout: 240 seconds]
nahra has joined #ocaml
<hannes> is there a standard way to get a random element from a Set? I mean it provides choose : t -> elt, but this always returns min_elt (according to the code)
cbot has joined #ocaml
malina has quit [Ping timeout: 240 seconds]
snhmib has quit [Ping timeout: 240 seconds]
kerrhau has joined #ocaml
kerrhau has quit [Changing host]
kerrhau has joined #ocaml
shinnya has joined #ocaml
mnemem has joined #ocaml
ousado has quit [Quit: Konversation terminated!]
ousado has joined #ocaml
lgd_ has quit [Quit: Leaving]
sz0 has quit [Quit: Connection closed for inactivity]
infinity0 has quit [Remote host closed the connection]
infinity0 has joined #ocaml
kakadu_ has quit [Remote host closed the connection]
dakk has quit [Ping timeout: 240 seconds]
Soni has quit [Ping timeout: 240 seconds]
mnemem has quit [Ping timeout: 240 seconds]
pete_8 has quit [Ping timeout: 240 seconds]