<yomimono>
Please feel free to add items that you'd like to discuss today.
<yomimono>
Here's a moment to wave if you want unpurecamelbot to record that you were here!
* yomimono
waves
<avsm>
Group greets!
* noddy
waves
<talex5>
~
<amirmc>
yo
<dbuenzli>
v
<djwillia>
o/
<GemmaG>
:)
<yomimono>
So first on the agenda is our recurring "quality and test" item.
* mattg
waves
<yomimono>
Nobody's noted anything, but perhaps now's a good moment to mention that I broke all of our tests by releasing a version of functoria with an undeclared hard dependency.
<talex5>
Could we add some REVDEPS to detect that in future?
<avsm>
exciting news on that front
<Drup>
yomimono: it's not really your fault
<Drup>
I blame the topkg transition :>
jermar has quit [Ping timeout: 240 seconds]
<yomimono>
drup: me too :P
<avsm>
I now have a DataKit VM with GitHub integration working thanks to talex5 and samoht -- with a little easter egg here https://github.com/mirage/ocaml-github/pull/110 (look at the bottom)
<yomimono>
avsm: can you tell us why that's rad real quick?
<avsm>
So I'm working on checking that DataKit wont destroy all our repositories by using it on a few small repositories first, but then hooking in REVDEPS tests as the first thing it checks
<avsm>
the 50 minute limit is what was blocking REVDEPS before
<hannes>
github #110 is sexp support..?!??
<avsm>
This will let us write custom CI checks that: 1) directly interface with OPAM 2) do not have a 50 minute limit and 3) run on our infrastructure (so can deploy archive servers and so on) and 4) are multidistro
<avsm>
hannes: look at the "Some checks were not successful" box at the bottom
<yomimono>
I think avsm wants us to scroll all the way down and see that there's a continuous-integration/anil-testing/pr in addition to travis-ci and appveyor
<avsm>
DataKit makes it really easy to hook in custom stuff there
<yomimono>
so we might have non-terrible CI sometime soon :D
<avsm>
in fact, it live updates
<avsm>
keep an eye on that URL now...
yallop has joined #mirage
<yomimono>
that's indeed exciting! it will be great when we can see some updates -- right now I just get a link to anil.recoil.org
<yomimono>
which is a nice website but a bit scant on details
ChristopheT has quit [Ping timeout: 258 seconds]
dexterph has quit [Ping timeout: 250 seconds]
<yomimono>
unless there's more on this, let's move on
<djwillia>
that's awesome! hello-hannes tests should be standard
<avsm>
that's pretty much it! more as we get it working
<yomimono>
great!
<yomimono>
next up we've got an item to discuss "ocamlfind predicates", which is really a discussion of this pr:
<yomimono>
I don't see pqwy here but maybe I should be looking for a different name on irc?
<noddy>
i already waved!
<yomimono>
oh! sorry!
<yomimono>
want to give us a quick summary?
<noddy>
yeah; i want to externalize dep resolution from the mirage tool a bit. we have a nice language where we can do stuff like separately compile against a particular interface, then link against a particular implementation later on. i'd like to use that in mirage.
<noddy>
note that this is less "linking tricks" pr and more "let's make ocamlfind know about targets, there's stuff it knows how to do" pr.
<avsm>
Its true that this does duplicate some ocamlfind functionality
<avsm>
and we do have a hard dependency on ocamlfind right now for everything else
<avsm>
so pushing the linking hacks into ocamlfind lets us focus on "migrate all ocamlfind functionality" in the future
<noddy>
it's also a dep hack; you can condition dep on a predicate in ocamlfind.
<avsm>
yeah, which could be useful to help us compile multiple C library variants, e.g. across solo5/xen
<dbuenzli>
Note that this solution actually scales with the number of backends and avoids solving problems by encoding them as package names.
<avsm>
I'm broadly in favour, with talex5's caution noted: we should encourage library authors to not depend on this functionality
<avsm>
_as an abstraction mechanism_
<noddy>
it's unclear to me where this can lead. it could certainly be abused.
<dbuenzli>
What are the exact dangers ?
<noddy>
it can also be nicely used to automate satisfaction of a single interface without stuff downstream being tainted by the same problem
<noddy>
people playing _nasty_ linking tricks i guess
<dbuenzli>
It's not tricks.
<noddy>
my mind cannot anticipate all the horrid abuses of this people can come up with.
<avsm>
yeah. they're really a valid part of the toolchain from ocaml land
<dbuenzli>
It link time selection of implementation.
<dbuenzli>
its
<avsm>
and ocaml blocks you from the worst errors via CRC checks
<dbuenzli>
it's
<noddy>
in this usage, it is
<noddy>
and it this usage it's kosher imho
<hannes>
can we pass the CFLAGS this way as well?
<avsm>
the danger is in C libraries really -- should we decide on a convention where C archives have their own predicate names that are reserved for them?
<avsm>
hannes: not cflags, but we can pick a predicate name for a CFLAGS definition and always use that
<avsm>
but cant enforce it
<dbuenzli>
C libraries should be recorded in the archive implementations
<noddy>
we already have that convention
<noddy>
it's called xen_linkflags.
<noddy>
and freestanding_linkflags.
<avsm>
yeah
<noddy>
in this case, not too much is gained:
<noddy>
as ld is called directly (on all targets i checked), extra logic is needed to extract linkflags(predicate) from METAs and propagate that to the ld invocation
<noddy>
so at best, we standardize on a standard META field as opposed to inventing arbitraty ones
<noddy>
if the final linking is done via ocamlfind, then it becomes automagic
<noddy>
but still... i want ocamlfind to know about the target. it's useful.
<avsm>
I think it's worth the experiment, particularly as we continue solo5 merging
<talex5>
Would be very good to have ocamlfind get the linker flags, not mirage, indeed.
<avsm>
we can always revert it if it goes wrong before the mirage3 release
<noddy>
it can't go wrong in itself
<dbuenzli>
Well I have a picture drawn in my notebook by pqwy in what the future looks without this, it's not pretty I can scan it if you want.
<noddy>
and if someone uses it for diabolical schemes... we can rant against them on twitter!
<dbuenzli>
(and it's for a library which shouldn't be tied to mirage, nocrypto)
<noddy>
ok, related --
<avsm>
ok, sounds like we have consensus on a merge then...
<noddy>
this pr in itself enables certain things, and one of those is shimming OS
<noddy>
i'd like to draft a signature for this and get it somewhere, say, in types
<noddy>
so that all implementations can depend on, and check against, the same sig
<hannes>
noddy: you mean integrating your mirage-os-shim back into mirage-types?
<noddy>
no, i mean spelling out the signature os several modules in OS and having that signature in mirage-types
<noddy>
and having implementations import that signature as opposed to either copying it, or symlinking (as xen->unix does in some places)
<talex5>
Design question: should anyone except main.ml use OS directly?
<noddy>
i wrote i library that hooks into the event loop
<noddy>
s:i:a:
<avsm>
talex5: OS gets increasingly hard to maintain consistently as we add backends, so no
<avsm>
witness the lifecycle design conversation
<avsm>
just xen's suspend/resume model is sufficiently different from a hardware one
dexterph has joined #mirage
<talex5>
avsm: OK. We should document that somewhere (if we didn't already).
<mattg>
when I was first looking at Mirage, OS seemed like it didn't fit with the rest of mirage-types and was confusing to me
<avsm>
yeah, agreed.
<yomimono>
concur, you're not the only one who's been confused
<avsm>
its an evolutionary thing as well: we started off with OS about 5 years ago and then slowly disentangled it into smaller module
<noddy>
in that case, big chunks need to be moved to mirage-types and provided as functor parameters
<avsm>
guess it's time to kick the remainder to the kerb
<djwillia>
(have to drop off early - sorry bout that - bye all!)
<avsm>
GemmaG: all looks good to me, thanks for tracking the comments as well!
<avsm>
On the information architecture question, I've somewhat radically been learning the latest HTML wizardry again
<GemmaG>
As @hannes mentioned, it might require a bigger-picture thought process, but there are some quick and small changes that might make a huge difference
<avsm>
I wrote the current Zurb one in a couple of days a few christmases ago, so it needs a refresh quite sorely
<avsm>
i reckon make the quick changes now to bring things up to a reasonable level, and then we can whiteboard up a few ideas for what the new website should look like closer to the 3.0 launch
<avsm>
i'm keen to automate the library tracking as much as possible, it's just not sustainable by any manual means any more
<dbuenzli>
Note that one problem with automated tracking is that it can quickly become noise.
<avsm>
yes absolutely
<avsm>
we still need curated newsletters and such, like the OCaml weekly news
<avsm>
so the feed isn't necessarily for direct human consumption, but it needs to exist for someone (even if just the weekly news editor)
<yomimono>
personally, anything less noisy than watching opam-repository via github would be an improvement
* avsm
seconds that
<avsm>
not that i can escape from having to watch it :P
<yomimono>
(there are large unlsted items which are already completed, among them solo5!)
<GemmaG>
I'm looking into options for a regular newsletter too - one that is more curated than the Weekly News, and combines all the info. Currently there are a few sources where things are missed. Suggestions and ideas welcome :)
<yomimono>
GemmaG - that would be a general OCaml newsletter, right?
<yomimono>
mentioning for the benefit of others here who might have more to add on that than a Mirage-specific one :)
<GemmaG>
Possibly yes - it started off being more of an OCaml Labs newsletter, but it makes sense to incorporate OCaml as a whole
<dbuenzli>
Well I think caml weekly news does a good job at that.
brson has joined #mirage
<dbuenzli>
Especially the ocaml mailing list is very well curated
<avsm>
yeah, so something a bit more mirage specific makes sense on those lines
<dbuenzli>
(and nowadays we have the blog posts of the planet + outsanding PR to the ocaml compiler)
<avsm>
the caml weekly news is fantastic
<avsm>
I find the Planet blog posts to be the opposite of the Caml Weekly News: automated noise that often have little to do with OCaml or Mirage
<dbuenzli>
I mean we have the blog posts of the planet in the caml-weekly news ( I don't know if they are curated though)
<GemmaG>
I found a lot of content from other sources that aren't in the weekly newsletter and the planet blog - it would be good to incorporate them too
<avsm>
so a "social" version of the Caml weekly news with interesting blog posts/links would be great, or offering to help Alan collate those and add them to his newsletter
<GemmaG>
Yes - I think getting in touch with Alan is a good plan
<avsm>
Sounds good to me! Happy to help hook in data feeds for this
<GemmaG>
There's a lot mentioned on Twitter for example that isn't part of the weekly news/planet blogs. I don't want to repeat content and add to noise, but having one place for ALL the info would be good
<GemmaG>
:)
<dbuenzli>
But twitter is for brain farts.
<GemmaG>
hahahah :P
<yomimono>
we've gotten a bit off-track, so maybe I could suggest that anyone with more additions contact GemmaG out-of-band?
<avsm>
I eat a lot of beans
<avsm>
good plan yomimono
<yomimono>
dbuenzli: also very important cat photos?
<yomimono>
wait, I meant !, not ?
<GemmaG>
Yes - please do :)
<yomimono>
next (I think? we got a bit lost) is that solo5 got merged!! yaaaaaay!
<yomimono>
sorry we didn't get to it before djwillia had to leave :(
<avsm>
WOOP!
<avsm>
dan had to go and martin is on a well deserved vacation
<noddy>
*BEST THING EVER*
<seangrove>
*wow*
<avsm>
but i am currently trying to compile up a static mirage-www without tls to go live
<hannes>
tls works..
<avsm>
got the KVM machine up now, so it'll be on solo5.mirage.io soon
<yomimono>
which is the next agenda item! yay!
<avsm>
is entropy all working now hannes?
<noddy>
NO.
<hannes>
noddy: hmm?
<noddy>
we discussed that 10 minutes ago, no?
<hannes>
well, so I do have entropy using some branches , see mirage-dev repo... noddy has fixes for build systems which avoid some copying around
<avsm>
anyway, static website incoming first without TLS as I'm keen to have a simpler version anyway
<dbuenzli>
Who needs tls anyways the certificate system is broken.
GemmaG has left #mirage [#mirage]
<yomimono>
dbuenzli: ...is this leading to a concrete proposal for something interesting?
<dbuenzli>
Yes drop support for it. Things get simpler.
<noddy>
steganography all the way
<avsm>
alright, off topic... :-)
<yomimono>
looks like that's where avsm is going, so yay. if that resolves everyone's questions about the current state of entropy, let's move on
<yomimono>
I stuck a hackathon recap item on the agenda but I don't think it's super necessary unless anyone else has something they're desperate to discuss
<yomimono>
going once, going twice...
<noddy>
the food was gone too early?
<yomimono>
noted.
<noddy>
thank you.
<avsm>
ENOTENOUGHWINE
<noddy>
no, there was plenty of that. :D
<yomimono>
unpurecamelbot, got that?
<yomimono>
avsm, tell us about TWiOPAM.
<avsm>
Done already, will figure out best way to hook it in
<avsm>
(if you scroll up to the website discussion, future log readers)
<yomimono>
great. next item is mirage.io updates and improvements, which I believe we've also already discussed?
<yomimono>
in that case, any other business?
<yomimono>
hearing none, I declare this meeting a resounding success..
<yomimono>
everyone did a great job except my . key.
<avsm>
woop woop. thanks everyone!
<noddy>
\O/ \O_
<dbuenzli>
bye
<noddy>
.o| \O/ |O/
talex5 has quit [Quit: Leaving]
dbuenzli has quit [Quit: Page closed]
amirmc has quit [Quit: Leaving.]
<engil>
unpurecamelbot: commit done
<unpurecamelbot>
done
<engil>
unpurecamelbot: bye
unpurecamelbot has quit [Quit: unpurecamelbot]
<yomimono>
thanks, engil and unpurecamelbot :)
<noddy>
engil has a minion
<engil>
too much work to do on this thing…
<mattg>
ah i missed my chagen to ask about PCLOCK and making it DEVICE
<mattg>
chance
<mattg>
anyway, i sent an email but would appreciate some review of the commits i linked to there
<yomimono>
aw, sorry mattg :( I saw your mail, I'll make sure to reply
<mattg>
No worries, my fault I was in 2 meetings at the same time!
<yomimono>
I know that feeling D:
<yomimono>
Anyway, I think the change is reasonable. Looking back it's actually a notification on your push for 5b83035 I got -- was there another mail as well?
<yomimono>
nm, found it
njb has joined #mirage
njb has quit [Client Quit]
<mattg>
Cool - the stuff with V1_LWT confused me a great deal and i'm not sure what i've done is correct
<mattg>
or in the spirit of how V1_LWT is supposed to work
<noddy>
you include the sig and replace 'a io with 'a Lwt.t
<noddy>
aha and buffer with Cstruct.t
<mattg>
I did that but had to do it in more places than i expected
<mattg>
but it probably just need to learn a bit more about functors and including sigs
<mattg>
in any case, I'll press on with MCLOCK device-ification
<mattg>
and redo changes to clock dependencies - these shouldn't need much work
<mattg>
and then mirage-skeleton
<mattg>
and then it should be DONE
ricarkol has quit [Ping timeout: 250 seconds]
noddy has quit [Ping timeout: 244 seconds]
yomimono has quit [Ping timeout: 250 seconds]
avsm has quit [Ping timeout: 250 seconds]
kayceesrk has joined #mirage
seangrove has quit [Ping timeout: 265 seconds]
noddy has joined #mirage
rgrinberg has quit [Ping timeout: 260 seconds]
kayceesrk has left #mirage [#mirage]
rgrinberg has joined #mirage
seangrove has joined #mirage
noddy has quit [Quit: "it's a bit backwards around here"]
rgrinberg has quit [Quit: WeeChat 1.5]
AltGr has left #mirage [#mirage]
rgrinberg has joined #mirage
brson_ has joined #mirage
brson has quit [Ping timeout: 276 seconds]
strykerkkd has joined #mirage
rgrinberg has quit [Ping timeout: 244 seconds]
rgrinberg has joined #mirage
copy` has quit [Quit: Connection closed for inactivity]
rgrinberg has quit [Ping timeout: 244 seconds]
strykerkkd has quit [Quit: Leaving]
copy` has joined #mirage
dexterph has quit [Ping timeout: 244 seconds]
seangrove has quit [Read error: Connection reset by peer]