<FromGitter>
<tenebrousedge> the error just doesn't seem to have anything to do with the monkeypatch
<FromGitter>
<tenebrousedge> I would assume that the patch is correct and that there's some other problem elsewhere
<FromGitter>
<sam0x17> ah ok, I thought it was related because it's an abstract def and the abstract def checker is what is complaining
<FromGitter>
<tenebrousedge> hmmm.
<FromGitter>
<tenebrousedge> and your class there implements `Comparable` ?
<FromGitter>
<tenebrousedge> spose it must
<FromGitter>
<tenebrousedge> is `Nil` getting passed to that at some point?
<FromGitter>
<sam0x17> yeah what's interesting is I can't find where in `awscr-s3` the `Awscr::Signer::Header` class is defined. It's mentioned in a few places, but defined nowhere from what I can find searching on github
<jokke>
basically i need to spawn a process which will keep running after my crystal program exits
laaron has quit [Remote host closed the connection]
laaron has joined #crystal-lang
laaron has quit [Remote host closed the connection]
laaron has joined #crystal-lang
flaviodesousa has joined #crystal-lang
<FromGitter>
<naqvis> you can use `nohup` and append `&` in your command to execute the process. This will ensure process keep running in the backend, even if `tty` session is closed
<FromGitter>
<naqvis> I assume you are asking about `daemon` processes, which keep running even if you have terminated the `tty` session
alex`` has joined #crystal-lang
lucasb has joined #crystal-lang
<FromGitter>
<j8r> @naqvis I think jokke was asking about a Crystal solution
<FromGitter>
<j8r> jokke you can try `fork` and then `Process.exec`
<FromGitter>
<j8r> it seems possible to then kill the parent and let the child alive
<jokke>
mhm ok
devil_tux has joined #crystal-lang
laaron has quit [Remote host closed the connection]
devil_tux has quit [Ping timeout: 268 seconds]
laaron has joined #crystal-lang
sagax has quit [Remote host closed the connection]
devil_tux has joined #crystal-lang
duane has joined #crystal-lang
sorcus has joined #crystal-lang
laaron has quit [Remote host closed the connection]
<robacarp>
it seems like the extra fiber is causing the receive loop to run slow enough that the top sending fiber runs longer?
<sorcus>
robacarp: I don't know. :-(
<FromGitter>
<j8r> is there any plan to have let/const/final variables?
<FromGitter>
<naqvis> Is it possible to auto-invoke some kind of registration process for sub-types, without manually invoking them somewhere from the code? Just an example, developing some kind of extension classes, where each class can take care of one or few types to work on, after class is defined, it should auto-register with type of extension it can handle. So that top handler can invoke the extensions based on their
<FromGitter>
<Blacksmoke16> Just define an initializer on the parent?
laaron has quit [Remote host closed the connection]
laaron has joined #crystal-lang
<FromGitter>
<naqvis> yeah. I’m just trying to think if that is possible without me registring the individual handlers somewhere else from the code? My use case is main network handler, which receives different types of messages, so that main handler can invoke respective handlers for type of messages received.
<FromGitter>
<naqvis> kind of pub/sub but only registered handlers with respective type will be invoked, instead of broadcasting to all
<FromGitter>
<Blacksmoke16> and the expected result for `@@handles` would be like
<FromGitter>
<Blacksmoke16> might be better to have another class that is responsible for "managing" the diff handlers
<FromGitter>
<Blacksmoke16> vs lumping that in with the abstract?
<FromGitter>
<naqvis> Thank you so much @Blacksmoke16 , yeah agree, will have separate class for managing the handlers. I was just thinking if this could be doable and you helped me with that. Thanks again. 👏
laaron has quit [Remote host closed the connection]
laaron has joined #crystal-lang
<robacarp>
just mentioning the name works :) no @ required
<FromGitter>
<Blacksmoke16> oh really? thats how it doe sit?
<robacarp>
there's nothing special about IRC... just a telnet connection and a fancy ui
<FromGitter>
<Blacksmoke16> fair enough, i didnt actually know it alerted you when you're name was mentioned tho
<robacarp>
irc clients have a list of highlights, of which the username is a member. any chat line which matches on a highlight is subtly emphasized at some client/user defined level
<robacarp>
for me, it just changes the color of the username that posted the comment (in this channel, almost every user is FromGitter)
<FromGitter>
<Blacksmoke16> but instead of DI, use the `subclasses` macro to build out the hash of the manager
<FromGitter>
<naqvis> yeah very neat approach and excellent article. After reading your articles on `annotations` and `DI`, i had thought of writing some `annotations` for XML-mapping, but couldn’t get my thoughts consolidated and also got engaged with other stuff
<FromGitter>
<naqvis> maybe someday I’ll try to some kind of XML-Binding interface to be used in Crystal, as atm there is none like they have for `json` and `yaml`
<FromGitter>
<Blacksmoke16> would be more ideal to have a singular annotation like `SerializationContext` that could be used for any format
<FromGitter>
<Blacksmoke16> but each format would read diff properties off of it
<FromGitter>
<Blacksmoke16> er could read format specific things, or use common keys
<FromGitter>
<naqvis> yeah agree and I really miss Golang tags
<FromGitter>
<naqvis> unfortunately there is no RTTI yet available in Crystal, so would be difficult to write some code which could do the magic at run time
<FromGitter>
<Blacksmoke16> was the first iteration i did for `oq`
<FromGitter>
<Blacksmoke16> `from_xml` would be much harder
<FromGitter>
<Blacksmoke16> imo
<FromGitter>
<naqvis> true, i wrote little script in crystal to auto-generate crystal classes when feeded Golang like tags for XML 😆
<FromGitter>
<naqvis> which generates complete class along with to/from_xml methods, based on those tags info
<FromGitter>
<Blacksmoke16> was talk of moving the serialization stuff out of the stdlib
<FromGitter>
<Blacksmoke16> see if it ever happens
<FromGitter>
<naqvis> wow great, but they will still have to provide some interfaces for others to implement
<FromGitter>
<naqvis> like Java does, they have whole lot of interfaces and specifications, leaving the implementation details to 3rd party (though Java always comes with standard implementation for reference)
<FromGitter>
<Blacksmoke16> would be nice to have indeed :p
<FromGitter>
<naqvis> 😆
<FromGitter>
<naqvis> Crystal is awsome and coding in crystal is fun 👏
rohitpaulk has joined #crystal-lang
rohitpaulk has quit [Remote host closed the connection]
<robacarp>
the java model is difficult though, because the implementation is informed by the interface. the big benefit of using a 3rd party serializer could very well be that it performs in a way that is completely unexpected by the person writing the interface
<robacarp>
for example, the crystal-db shard is essentially a standardized interface, but relying on it means you suffer under the least-common-denominator for the database APIs it references
<FromGitter>
<absolutejam_gitlab> Does the Crystal Discord get much use?
<FromGitter>
<Blacksmoke16> are a few people on it
<FromGitter>
<absolutejam_gitlab> I think I'm a member; I guess I could just check
<FromGitter>
<absolutejam_gitlab> I'm not a big fan of the over-separation of things like Discord & Slack though
<FromGitter>
<absolutejam_gitlab> too many channels
<FromGitter>
<absolutejam_gitlab> It doesn't help conversation. I'd rather just have threaded conversations in a single channel
<FromGitter>
<Blacksmoke16> otherwise even if you're getting the bottled version it still does the download
<FromGitter>
<meltheadorable> that doesn’t scale to hundreds of people very well, if this room had more than 15-20 regular active participants you’d probably be happier to have multiple channels