<FromGitter>
<cpunion> Is there a way to speed up building? it takes 10+ seconds when change a file.
<FromGitter>
<Blacksmoke16> mmm is one of the downsides of a compiled language
<FromGitter>
<Blacksmoke16> there might be but i dont know of any ways off the top of my head :/
<FromGitter>
<cpunion> Ah. I felt it was more and more slowly when I added more models, controllers, and views. Seems Crystal doesn’t support incremental building?
<FromGitter>
<Blacksmoke16> the new table/columns files on the annotation prototype
<FromGitter>
<Blacksmoke16> migrator uses the properties `ColumnInfo` to define PK/ NOT NULL/NULL etc for each column
<FromGitter>
<anamba> happened to be looking through amber/server/server.cr and noticed it uses `Time.now - time`. that should probably be `Time.monotonic - time` right? (where `time` is also initialized using `Time.monotonic`)
snsei has joined #amber
<FromGitter>
<robacarp> @anamba perhaps, but I’ll be honest I’m not sure I understand the problem monotonic is solving.
<FromGitter>
<anamba> @robacarp dst, leap seconds and clock slewing... the computer's clock doesn't always count time at the same rate all the time, and occasionally goes backwards. not super critical in this case, we're not measuring anything important, but it's nice to do things the right way anyway. I'll open a PR at some point if it doesn't get fixed (and look for other similar cases)
<FromGitter>
<robacarp> Ah, I see. So it’s about counting real time, not comparing wallclock approximations. I’d welcome a pull for that, sounds like and easy upgrade that will prevent strange data from creeping into the analytics of apps
<FromGitter>
<Blacksmoke16> 👍
snsei has quit [Remote host closed the connection]
snsei has joined #amber
snsei has quit [Remote host closed the connection]
snsei has joined #amber
<robacarp>
@blacsmoke16 I really like the structs you have in this pull
<FromGitter>
<Blacksmoke16> with the `ColumnInfo`?
<robacarp>
yeah
<FromGitter>
<Blacksmoke16> is pretty slick, needed a way to pass around the data from the macro generation
<FromGitter>
<Blacksmoke16> also going to add default value to it
<FromGitter>
<Blacksmoke16> later on we'd want to decide how to handle the annotations, atm i merged them into one
<FromGitter>
<Blacksmoke16> where each property that has the column annotation gets persisted
<FromGitter>
<Blacksmoke16> would be doable to persist them by default unless you include a like `@[Granite::Exclude]` or something
<FromGitter>
<Blacksmoke16> but that might cause issues with third party stuff that might be included as well that you cant really annotate
<FromGitter>
<Blacksmoke16> @robacarp Do you mean return the full union and let them deal with it, or how it is currently where they tell which it should return as
<robacarp>
how it currently is
<FromGitter>
<Blacksmoke16> 👍
<robacarp>
perhaps an overloaded method which does return the union, just for those who might want it
snsei has quit [Remote host closed the connection]
snsei has joined #amber
snsei has quit [Ping timeout: 268 seconds]
<FromGitter>
<drujensen> @Blacksmoke16 I prefer the explicit declaration over the implicit with exceptions.
<FromGitter>
<Blacksmoke16> 👌 i do too
<FromGitter>
<drujensen> I will look over the PR later tonight
<FromGitter>
<drujensen> How does module Class work?
<FromGitter>
<drujensen> That seemed strange to me
<FromGitter>
<drujensen> Structs do look nice. I agree with @robacarp 💯
<FromGitter>
<Blacksmoke16> well its not really a PR, just a WIP branch i got going
<FromGitter>
<Blacksmoke16> that module is extended, while the main `Columns` module is included
<FromGitter>
<Blacksmoke16> so that it sets class vs instance methods correctly