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...
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...
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.