Hi martin
hi,
i have been meaning to learn smalltalk for a while, but i always lacked a good
project that i could do with it, until recently. and figuring that teaching is
the best way to learn i put up my projects as tasks for google code-in as part
of FOSSASIA which is a code-in mentor organization.
Excellent!
since code-in targets middle and highschool students, it is quite unlikely that
any of them already know smalltalk, or have even heared about it. so in a way
this will introduce a few students to smalltalk.
i picked pharo because i feel it is going in the right direction trying to
improve and also adding things like commandline support.
for my tasks i have two major aims:
a desktop application that can search a given collection of text and browse the
search results.
Ok students should follow spec tutorial.
there is also (no idea of the status a fast search system developed
by benjmain areski
a web application in form if a RESTful user management system that can be used
as authentication server for nginx. (nginx makes a request for a given resource
and asks if a user is allowed access)
it has a dynamic frontend (angular.js or other) without generating html in the
server.
both projects are split up into several tasks.
the desktop application project starts out exploring the basics of how to
display text in a frame, covering the full pharo window, and switch between
multiple texts:
http://www.google-melange.com/gci/task/view/google/gci2014/5902940472606720
once completed a second task will add search capabilities:
http://www.google-melange.com/gci/task/view/google/gci2014/5904045940146176
for the web-project first a set of tasks explores various web frameworks by
letting the students walk through a tutorial and report on the results:
I would only list the one that are maintained. Because it is not fun to
work with dead projects.
aida:
http://www.google-melange.com/gci/task/view/google/gci2014/5858171612561408
http://awblog.blog.com/2014/12/21/hello-world-creating-a-simple-webpage-with-the-aidaweb-framework-on-pharo-smalltalk/
iliad:
http://www.google-melange.com/gci/task/view/google/gci2014/5888240192061440
http://awblog.blog.com/2014/12/22/hello-world-creating-a-simple-webpage-with-the-iliad-framework-on-pharo-smalltalk/
seaside:
http://www.google-melange.com/gci/task/view/google/gci2014/5786620192096256
zinc:
http://www.google-melange.com/gci/task/view/google/gci2014/5906919541702656
i may add another task for teapot, but i could not find any tutorial for tide
the next step is to figure out how to serve static files from the image:
http://www.google-melange.com/gci/task/view/google/gci2014/5814729360539648
the reason for that is that, this being a small application, i prefer easy
deployability over performance, so i'd rather have all assets within the image.
then the REST api:
http://www.google-melange.com/gci/task/view/google/gci2014/5880541949722624
personally i am now leaning towards either just zinc or teapot to build the API
since i have no need for most of the features of the larger frameworks.
Yes keep it simple.
initially i was interested in aida because of its support for user management,
but i am not sure it is needed.
there is of course also a frontend:
http://www.google-melange.com/gci/task/view/google/gci2014/5905960371486720
demo: http://idarbek.com/angular
and a task to connect the two:
http://www.google-melange.com/gci/task/view/google/gci2014/5240815429353472
for good measure, one task is exploring amber:
http://www.google-melange.com/gci/task/view/google/gci2014/5825641580593152
Yet another environment.
what does all of that have to do with you?
well, aside from the outreach to introduce pharo to students i'd like to invite
your feedback on the tasks, and i am wondering if you have suggestions for
other tasks that students could work on.
I would keep the list of tasks and frameworks to master to a nice limit.
essentially this is an opportunity for pharo (and other smalltalk projects) to
participate in google code-in. FOSSASIA is inviting Free Software and Open
Source projects to join as mentors. (well, primarily asian projects, but since
Free Software and Open Source are global that is hard to pin down. i am in
china, so...)
but even if you don't join as mentors, if you have tasks for one of your
projects that would be suitable, i can put them up, if i can mentor them.
(and if they are easy enough for beginners, then i probably can)
I would love to see tests and improvements on
Athens-svg
so that we can import svg files.
google code-in ends on the 20th of january, so there is still time for students
to pick up a few more smalltalk tasks.
Excellent
greetings, martin.