Re: Ideas for a Guile tutorial to go with the new site

2015-10-18 Thread Luis Felipe López Acevedo

On 2015-10-18 10:41, Christopher Allan Webber wrote:

Hello!

So I've been thinking a bit about what a friendly "intro" tutorial 
would
look like that could fit with the direction the site is heading.  I 
came

up with some ideas I wanted to capture before I totally lost them.

I think we can keep with the kids playing with robot toys idea and
stretch that a bit.  Here's a brief outline:


 - Intro
 - Getting up and running
   (picture of one of those robots with a wind-up-toy-key on its back?)
   + How to start guile from the command line, add readline support
   + Editor setup, simple

 Details how to write some scheme with any editor, maybe makes a
 free software editor recommendation of something simple that's not
 too hard to get going with Scheme.  Would GEdit work?

 Shows how to write a file and then import it at the REPL,
 then reload it as you add things.

 Teaches the basic idea of writing code in a file + playing at the 
REPL.


   + Editor setup, advanced: Emacs + Geiser

 Explains that this is the advanced, but recommended version.
 It takes some time to get started with if you are not already an
 emacs user, but you may want to come back to it later.  Explains
 how to set things up.

 - First steps

   Much like The Little Schemer uses food as variable names, I think
   it's a good idea to stick with abstract fun concepts.  Here, I think
   it would be great to continue along with the "Guile is a playground,
   come play!" idea by using toys as variable names, and defining
   procedures that evoke nostalgia for older programmers and sound
   playful for younger ones.

   Some ideas:
 + could use building lists as putting toys in and out of a toy
   chest

   (define toy-chest '(robot teddy-bear doll-with-comb 
toy-soldier))


 + could have a simple-bake-oven set of procedures that takes
   arguments like flavor and dessert-type:

 #> (define (simple-bake-oven flavor dessert-type)
  (format #f "Yum!  You made a tasty ~a flavored ~a!"
  flavor dessert-type))
 #> (simple-bake-oven "banana" "cake")
 $20 = "Yum!  You made a tasty banana flavored cake!"

   and then we can increase the advanced features a bit:

 #> (define* (fancy-bake-oven flavor dessert-type
 #:optional topping)
  (if topping
  (format #f "Yum!  You made a tasty ~a flavored ~a
covered in ~a!"
  flavor dessert-type topping)
  (format #f "Yum!  You made a tasty ~a flavored ~a!"
  flavor dessert-type)))
 #> (fancy-bake-oven "mint" "ice cream" "chocolate fudge")
 $21 = "Yum!  You made a tasty mint flavored ice cream covered
in chocolate fudge!"

   Yes... the fancy bake oven version is so fancy it can even bake
   ice cream! ;)

 + Introduce modules as extensions for our robots.

I'm sure there are other things!  But I think a tutorial in this style
might be fun, and would fit the site well.  And the desire for a good
tutorial has been expressed many times.

What do others think?


Absolutely. This is in line with my thoughts about the intro tutorial.

The "Getting up and running" section looks like a good part to start 
materializing the tutorial.


--
Luis Felipe López Acevedo
http://sirgazil.bitbucket.org/



Re: Ideas for a Guile tutorial to go with the new site

2015-10-18 Thread Amirouche Boubekki

Le 2015-10-18 20:44, Luis Felipe López Acevedo a écrit :

On 2015-10-18 10:41, Christopher Allan Webber wrote:

Hello!

So I've been thinking a bit about what a friendly "intro" tutorial 
would
look like that could fit with the direction the site is heading.  I 
came

up with some ideas I wanted to capture before I totally lost them.

I think we can keep with the kids playing with robot toys idea and
stretch that a bit.  Here's a brief outline:


 - Intro
 - Getting up and running
   (picture of one of those robots with a wind-up-toy-key on its 
back?)

   + How to start guile from the command line, add readline support
   + Editor setup, simple

 Details how to write some scheme with any editor, maybe makes a
 free software editor recommendation of something simple that's 
not

 too hard to get going with Scheme.  Would GEdit work?

 Shows how to write a file and then import it at the REPL,
 then reload it as you add things.

 Teaches the basic idea of writing code in a file + playing at the 
REPL.


   + Editor setup, advanced: Emacs + Geiser

 Explains that this is the advanced, but recommended version.
 It takes some time to get started with if you are not already an
 emacs user, but you may want to come back to it later.  Explains
 how to set things up.

 - First steps

   Much like The Little Schemer uses food as variable names, I think
   it's a good idea to stick with abstract fun concepts.  Here, I 
think
   it would be great to continue along with the "Guile is a 
playground,

   come play!" idea by using toys as variable names, and defining
   procedures that evoke nostalgia for older programmers and sound
   playful for younger ones.

   Some ideas:
 + could use building lists as putting toys in and out of a toy
   chest

   (define toy-chest '(robot teddy-bear doll-with-comb 
toy-soldier))


 + could have a simple-bake-oven set of procedures that takes
   arguments like flavor and dessert-type:

 #> (define (simple-bake-oven flavor dessert-type)
  (format #f "Yum!  You made a tasty ~a flavored ~a!"
  flavor dessert-type))
 #> (simple-bake-oven "banana" "cake")
 $20 = "Yum!  You made a tasty banana flavored cake!"

   and then we can increase the advanced features a bit:

 #> (define* (fancy-bake-oven flavor dessert-type
 #:optional topping)
  (if topping
  (format #f "Yum!  You made a tasty ~a flavored ~a
covered in ~a!"
  flavor dessert-type topping)
  (format #f "Yum!  You made a tasty ~a flavored ~a!"
  flavor dessert-type)))
 #> (fancy-bake-oven "mint" "ice cream" "chocolate fudge")
 $21 = "Yum!  You made a tasty mint flavored ice cream covered
in chocolate fudge!"

   Yes... the fancy bake oven version is so fancy it can even bake
   ice cream! ;)

 + Introduce modules as extensions for our robots.

I'm sure there are other things!  But I think a tutorial in this style
might be fun, and would fit the site well.  And the desire for a good
tutorial has been expressed many times.

What do others think?


Absolutely. This is in line with my thoughts about the intro tutorial.


To the contrary I think it's not a good idea to start upfront the 
tutorial with which editor should be used is a good way to loose half of 
the readers, because they will feel more uncomfortable and not up to the 
task. To be useful emacs requires one 'Getting Started' tutorial in 
itself. Or anykind of setup for that matter. The tutorial should go as 
quickly as possible to the matter and start with coding.


I started a tutorial at http://hypermove.net/. I don't introduce 
readline until the user knows what the REPL is. Part 1 is all done in 
REPL. I subtly introduce emacs as a good choice for an editor in part 2 
which is done in an editor. But doesn't enforce it.


I don't think my tutorial is perfect, far away that idea is. I'll 
rewrite the tutorial to avoid any allusion to the Earth Software System 
and instead use The Little Lost Robot as storyline.


The "Getting up and running" section looks like a good part to start 
materializing the tutorial.


I sent a previous mail to the ML describing my work. Again feel free to 
comment.




Ideas for a Guile tutorial to go with the new site

2015-10-18 Thread Christopher Allan Webber
Hello!

So I've been thinking a bit about what a friendly "intro" tutorial would
look like that could fit with the direction the site is heading.  I came
up with some ideas I wanted to capture before I totally lost them.

I think we can keep with the kids playing with robot toys idea and
stretch that a bit.  Here's a brief outline:


 - Intro
 - Getting up and running
   (picture of one of those robots with a wind-up-toy-key on its back?)
   + How to start guile from the command line, add readline support
   + Editor setup, simple

 Details how to write some scheme with any editor, maybe makes a
 free software editor recommendation of something simple that's not
 too hard to get going with Scheme.  Would GEdit work?

 Shows how to write a file and then import it at the REPL,
 then reload it as you add things.

 Teaches the basic idea of writing code in a file + playing at the REPL.

   + Editor setup, advanced: Emacs + Geiser
   
 Explains that this is the advanced, but recommended version.
 It takes some time to get started with if you are not already an
 emacs user, but you may want to come back to it later.  Explains
 how to set things up.

 - First steps

   Much like The Little Schemer uses food as variable names, I think
   it's a good idea to stick with abstract fun concepts.  Here, I think
   it would be great to continue along with the "Guile is a playground,
   come play!" idea by using toys as variable names, and defining
   procedures that evoke nostalgia for older programmers and sound
   playful for younger ones.

   Some ideas:
 + could use building lists as putting toys in and out of a toy
   chest

   (define toy-chest '(robot teddy-bear doll-with-comb toy-soldier))

 + could have a simple-bake-oven set of procedures that takes
   arguments like flavor and dessert-type:

 #> (define (simple-bake-oven flavor dessert-type)
  (format #f "Yum!  You made a tasty ~a flavored ~a!"
  flavor dessert-type))
 #> (simple-bake-oven "banana" "cake")
 $20 = "Yum!  You made a tasty banana flavored cake!"

   and then we can increase the advanced features a bit:

 #> (define* (fancy-bake-oven flavor dessert-type
 #:optional topping)
  (if topping
  (format #f "Yum!  You made a tasty ~a flavored ~a covered in 
~a!"
  flavor dessert-type topping)
  (format #f "Yum!  You made a tasty ~a flavored ~a!"
  flavor dessert-type)))
 #> (fancy-bake-oven "mint" "ice cream" "chocolate fudge")
 $21 = "Yum!  You made a tasty mint flavored ice cream covered in 
chocolate fudge!"

   Yes... the fancy bake oven version is so fancy it can even bake
   ice cream! ;)

 + Introduce modules as extensions for our robots.

I'm sure there are other things!  But I think a tutorial in this style
might be fun, and would fit the site well.  And the desire for a good
tutorial has been expressed many times.

What do others think?



Re: Ideas for a Guile tutorial to go with the new site

2015-10-18 Thread Taylan Ulrich Bayırlı/Kammer
Christopher Allan Webber  writes:

> Hello!
>
> So I've been thinking a bit about what a friendly "intro" tutorial would
> look like that could fit with the direction the site is heading.  I came
> up with some ideas I wanted to capture before I totally lost them.
>
> I think we can keep with the kids playing with robot toys idea and
> stretch that a bit.  Here's a brief outline:
>
>  [... snip ...]
>
> I'm sure there are other things!  But I think a tutorial in this style
> might be fun, and would fit the site well.  And the desire for a good
> tutorial has been expressed many times.
>
> What do others think?

I'm not sure if I'd have time to contribute to it, but I'm all for the
idea. :-)

Taylan



Re: New logo and website design proposal

2015-10-18 Thread Ludovic Courtès
One last thing I noticed: The download section gives instructions for
Debian and Fedora, which is useful.  However, neither of these complies
with the GNU FSDG.

Thus I would suggest a change along these lines:

diff --git a/website/apps/base/download-page.scm b/website/apps/base/download-page.scm
index ff4f1c9..db08463 100644
--- a/website/apps/base/download-page.scm
+++ b/website/apps/base/download-page.scm
@@ -68,22 +68,19 @@
 	(pre
 	 (@ (class "shell"))
 	 "guix package --install guile")
-	(h3 (@ (id "debian")) "Debian")
-	(P "If you use " (a (@ (href "http://www.debian.org/;)) "Debian")
-	   " or any of its "
-	   (a (@ (href "https://wiki.debian.org/Derivatives/Census;))
-	  "derivatives") ", run the following command:")
+	(h3 (@ (id "debian")) "Trisquel, gNewSense, Debian, etc.")
+	(P "If you use " (a (@ (href "http://trisquel.info/;)) "Trisquel")
+   ", " (a (@ (href "http://gnewsense.org;)) "gNewSense")", "
+	   " or other Debian derivatives,, run the following command:")
 	(pre
 	 (@ (class "shell"))
 	 "apt-get install guile-2.0")
-	(h3 (@ (id "fedora")) "Fedora")
-	(P "If you use " (a (@ (href "https://getfedora.org/;)) "Fedora")
-	   " or any of its "
-	   (a (@ (href "https://fedoraproject.org/wiki/Derived_distributions;))
-	  "derivatives") ", run the following command:")
+	(h3 (@ (id "parabola")) "Parabola")
+	(P "If you use " (a (@ (href "http://www.parabola.nu/;)) "Parabola")
+   ", run the following command:")
 	(pre
 	 (@ (class "shell"))
-	 "yum install guile")
+	 "pacman FIXME guile")
 	(h2 (@ (id "releases")) "Releases")
 	(P "The latest releases of Guile are available via anonymous FTP. "
 	   "The " (a (@ (href "http://www.gnu.org/software/software.html;))

How does that sound?  (Anyone familiar with Parabola/Arch should fill in
the FIXME.  ;-))

Thanks,
Ludo’.


Re: New logo and website design proposal

2015-10-18 Thread Luis Felipe López Acevedo

On 2015-10-18 12:58, l...@gnu.org wrote:

One last thing I noticed: The download section gives instructions for
Debian and Fedora, which is useful.  However, neither of these complies
with the GNU FSDG.

Thus I would suggest a change along these lines:



How does that sound?  (Anyone familiar with Parabola/Arch should fill 
in

the FIXME.  ;-))

Thanks,
Ludo’.


Sounds good to me :)

--
Luis Felipe López Acevedo
http://sirgazil.bitbucket.org/