unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: ludo@gnu.org (Ludovic Courtès)
To: Caleb Ristvedt <caleb.ristvedt@cune.org>
Cc: guix-devel@gnu.org
Subject: Re: GSoC final update
Date: Wed, 30 Aug 2017 11:50:54 +0200	[thread overview]
Message-ID: <87ziah4c5d.fsf@gnu.org> (raw)
In-Reply-To: <87lgm224xz.fsf@cune.org> (Caleb Ristvedt's message of "Tue, 29 Aug 2017 02:44:56 -0500")

Hi reepca!

Caleb Ristvedt <caleb.ristvedt@cune.org> skribis:

> As the official work time for GSoC draws to a close, it seems fitting to
> summarize where the project is at right now. *deep breath*
>
> What works: building hello. I tried building SBCL as well, but building
> one of the dependencies caused hanging (but the same thing happened when
> I tried building it with the C++ daemon). In short, for at least simple
> derivations, building derivations works.
>
> What doesn't: Way too much. RPCs aren't implemented (for testing
> building I've been manually running builds from a REPL within test-env),
> scheduling of multiple concurrent derivations isn't implemented, garbage
> collection isn't implemented, and a lot of features even of
> derivation-building aren't implemented (substitutes, offloading,
> etc). call-with-container is also in a semi-broken state, though the big
> issues could be fixed by going back to the way it was and bind-mounting
> a store directory to collect output in (bind-mounts mess with my head
> for some reason... thanks for mentioning that, Ricardo). The list goes
> on.

Thanks for the status update!  I think you don’t have to be so negative
about what you did, though.  The things that you implemented look
well-thought-out to me, which to me suggests that maybe you worked
“depth-first” rather than “breadth-first”.  It does mean that some of
the things initially planned for are missing, but it also means that
existing bits are more polished than one would expect for a GSoC.

> Maybe I should describe my experience a bit. Reading the C++ source was
> extremely tedious.

I can sympathize with this.  This code base is rather good and
well-commented, but yeah, C++ scoping rules and the fully imperative
style make it hard to follow.

> The scheme side of things was nice. The most frustrating part was not
> knowing what was already implemented, especially what was implemented
> but used an RPC for a low-level task. I also didn't know that a scanner
> already existed (in hindsight it should have been obvious - how else
> would grafts work?) and so ended up writing my own inefficient version
> (though I intuitively think for some reason that it could be made fast).

[...]

> In short, I've failed to achieve the goals I set out in my
> proposal. Worst of all is that I failed to regularly communicate. I
> specifically said that I would regularly communicate, and then I failed
> to do so, especially during the second half of the summer. It seems that
> the less I communicated, the more afraid of communicating I
> became.

Communication is hard, but I think it’s crucial on short-term projects
like this one, as I think I said when you got started.  For example,
asking “do we have a reference scanner?” on IRC could have saved you
quite a bit of time.  In general, it’s often better to ask than to
remain stuck on something for ages—we’re here to help.

It seems to me that GSoC’s mentor-student relationship is sometimes seen
as boss-subordinate.  That’s really not the way I see it; I think the
student is just another person learning about the project and willing to
help, and they shouldn’t be any more afraid of asking for help than
anyone else.  I hope I didn’t give you the wrong impression.

> Currently nothing has been merged - I don't think it's in a fit state to
> be merged presently. I intend to continue working on this as time
> allows.  School started last week, though, and it's kept me quite busy
> so far.

It can’t be merged as-is, but most of the bits look solid enough as a
foundation.  I hope we can keep you on board in the coming months to
pursue this endeavor!

Thanks for the update, thanks for the code!

Ludo’.

  parent reply	other threads:[~2017-08-30  9:51 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-08-29  7:44 GSoC final update Caleb Ristvedt
2017-08-29  8:32 ` Andy Wingo
2017-08-29 10:59 ` Efraim Flashner
2017-08-29 22:52 ` Leo Famulari
2017-08-30  9:50 ` Ludovic Courtès [this message]
2017-08-30 12:03 ` Ricardo Wurmus
2017-08-30 16:04 ` Andreas Enge
2017-08-31 14:49   ` Ludovic Courtès

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87ziah4c5d.fsf@gnu.org \
    --to=ludo@gnu.org \
    --cc=caleb.ristvedt@cune.org \
    --cc=guix-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).