chicken-hackers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Chicken-hackers] [Chicken-meisters] Let's have a roadmap, just like


From: Alaric Snell-Pym
Subject: Re: [Chicken-hackers] [Chicken-meisters] Let's have a roadmap, just like the grown-ups
Date: Wed, 07 Sep 2011 23:04:24 +0100
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.18) Gecko/20110617 Thunderbird/3.1.11

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 09/07/2011 09:25 PM, Christian Kellermann wrote:
> * felix winkelmann <address@hidden> [110907 11:22]:
>> This touches on the subject of a general development
>> roadmap or "strategy", which is probably a good thing to have, as long
>> as we don't become too dogmatic about it.
>
> Yes a plan is a good thing. Having inspiration behind the plan is better.
> Following a plan without inspiration is the way of the robot.

Plans, also, are one of the few things I can readily help with. My time
is limited, but in one hour I can come up with more plans than I could
ever execute by myself in a month :-)

They may not be perfect plans; I am not perfect, nor do I have perfect
knowledge of everyone's future needs - I expect people to point out
their flaws, and for me to revise them until there's some consensus.

>> I personally don't have any big plans about the core system. What I
>> thought useful to implement is there, but needs a lot of polishing.
>> R7RS will come sooner or later. I think CHICKEN should support WG1,
>> but I'm not keen on putting any work into it.

I think that's a noble goal, as it's my sincere hope that WG1 scheme
will lead to practical levels of library interoperability between
Schemes. This may lead to issues of compatability between Chicken Eggs
and some form of cross-Scheme library manager - I hope we can resolve
that by a simple, automated to some degree, way of converting such
portable libraries into eggs. They'll only depend on each other, SRFIs,
or the WG1 core, so it shouldn't be too hard to integrate them into the
egg system.

>> I also need to hack less
>> on the stuff, seriously.  I'll become a mindless and depressed
>> maintenance zombie if I continue like this.

We definitely don't want that. We love you, Felix! You've given us
Chicken, and we need to do what we can to make that be a pleasure for
you, in exchange for the pleasure and utility it brings us - not a burden.

>> You and the other chicken
>> hackers need to get know the core system and compiler more thoroughly
>> and there should be more commits from others. This needs some sort of
>> "process" (the patch review offered by ckeen recently is one possible
>> approach - slow, but thorough and it is IMHO vital to inform all core
>> developers of changes that take place, otherwise confusion will arise
>> and code-quality suffer. We had this already once). CRs also will help
>> to avoid (some) unneeded breakage.

git allows good workflow here. People can propose patches as "pull
requests" from their own publicallly-accessible chicken repos, or as
mailed patches, and a team of "gateway folks" who are qualified to
reject bad patches can then decide whether to pull them. Linux has a
system of people in charge of subsystems, who accept patches to their
subsystem, then "Linux" itself arises from their subsystems being
merged, as I understand it - so it's possible to make this process
scalable by spreading it between people.

> Yes maintenance sucks, and most bugs are more or less easy, *if*
> you know how things fit together. That's the reason why you are
> doing the fixes on your own and at this speed. I do hope that I
> will have enough will to just grab one of these bug reports and
> solve them.

It'd be good for people to grab bugs they know they can't fix alone, and
ask Felix (for now) for guidance and tips on where to start. Then,
slowly, they'll start to understand the parts of the system they work on.

I've just started a new job, on a totally alien codebase, and that's
basically how I'm being brought up to speed on it :-)

>> - rewrite the scheduler, perhaps rethink the whole threading stuff
>>   (srfi-18 is complicated and error-prone and particularly uninspired,
>>   being mainly a port of pthreads/java to Scheme)
>
> This will need a good plan and some engineering but definitely solvable.

If I have some time, I'd kinda like to do this. Schedulers are a bit of
a Thing of mine. Perhaps I'm a megalomaniac... or perhaps I just wish I
had a train set as a kid...

Felix, if you give me a quick rundown of where the scheduler is and what
its responsibilities and interfaces are (even if that's just pointing me
to all the places to look in the code) I can:

1) Try and become some kind of expert on it, so I can at least guide
others to where problems might be, for them to fix them

2) Try and come up with a design for a new scheduler

3) Maybe implement it myself

How about that as a start?

> Maybe we should priorise all the points that have been mentioned
> so far? This will keep us busy all year (the next one too) and it
> is easy to get lost in details. I would prefer a sequence of small
> steps in the right direction.

Shall we put them on a wiki page, so we can order them for priority, and
ask Felix to attach notes pointing to where to find out more under each?

>> Another issue is native threading. I've seen repeated requests for it.
>> I think nobody is really doing himself a service using native threads,
>> it has mostly "hype"-value. On the other hand, CHICKEN doesn't offer
>> any help with interfacing to threaded code or taking advantage of
>> multiple cores for computationally intensive applications. The basic
>> execution model does not allow for separate native Scheme threads, but
>> at least we could offer multiple, complete execution contexts (which
>> will heavily slow down everything, but could be made a build-time
>> option and will make it easier to embed) or some sort of built-in
>> efficient IPC device. Or something else.
>
> Termite comes to mind, this should also be fixed either way. I would
> forget about native threading and make it easier to talk to processes
> (local or remote).  Threads will die soon.

I agree entirely. There may be some scope for running multiple
independent Chickens as threads within a single process, purely to allow
some level of zero-copy messaging between them, but that's probably more
effort than it's worth. A nice Erlang clone would be a better direction
to go in than threads + mutexes + etc.

>> Also, I've noticed (or think I have noticed) that users get lost in
>> the number of available eggs. Tagging, ranking or some other sort of
>> "meta"-view of the egg library might be something to think about.
>
> Yes I have been asked about this today as well. But it is so easy
> to get lost in details. Maybe we should split those "easy" parts
> up into stuff for potential newbies that can ask a "mentor" about
> stuff? I know that everyone wants to do the cool and easy stuff but
> if we take our list of priorities and look at it we may see some
> things that are solvable by someone else and that may be the beginning
> of a long....bikeshed on chicken-users...

Interesting... I wonder what the actual user story is for a typical
egg-searcher. I can imagine people wanting to find an egg that
implements an RFC, or a particular data structure... I normally just
search the eggs page in my browser and find a match in the egg name or
one-line description...

> Ah Mr Kuhn. Ivan, did you tell him good bye already? I've lost track
> about this and you probably too.  As for donations I would say yeah,
> just ask people. I once thought that transparency might be an issue
> but now I am not so sure. Let's put up the donation button and pour
> all money into Marios and Alaric's server budgets until they cry
> for help because they drown in money.

I might need a little for helping with server costs from time to time,
but I'd prefer to wait until I'm desperate and ask than have it pile up,
as the server does a lot of other things for other people; Chicken is a
small part of its workload :-) But I do sometimes need to spend money on
it, and I don't always have that money available myself.

> And if mario goes to lunch with his wife with the money or Alaric's
> kids get a new bike that is also fine with me. If anyone else has
> continuous expenses and I have not taken note of it please forgive
> my ignorance and enlighten me.

Heheheh! I think we should buy Felix a nice present, to be honest. To
say thankyou. I'd put £50 in the pot for that, without batting an
eyelid. More if I have a chance to save up.

> I would like to concentrate on code. Programming, you know?

Yes!

> Kind regards,
>
> Christian
>

ABS

- --
Alaric Snell-Pym
http://www.snell-pym.org.uk/alaric/
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk5n6mcACgkQRgz/WHNxCGr/rwCgjrK+SbsqbQoGSnxYQbo6JUcw
c1AAnj4ZRoLBx1gUb5h9JTa9YU+UoUXh
=o/g+
-----END PGP SIGNATURE-----



reply via email to

[Prev in Thread] Current Thread [Next in Thread]