In the thread “CS for 5th graders” on the ACM SIGCSE members mailing list, Beth Simon writes:
The unequivocal winner is “Computer Science Unplugged”
A book available in print or electronically at:
The summary also points to math games and puzzles.
Oh joy, Blender and Python go together nicely. Useful links:
- Blender Exporter – From
the site: This Python export script dumps everything having to do with
3D models to a readable external text file. Also see http://jetresourceutil.sourceforge.net/BlenderFileConverter.html .
Yesterday I had a thanksgiving party for the computer science faculty
and staff. People who went: Dr. Vergara, Dr. Manalastas, Sir Olpoc, Sir Mike,
Sir Maguyon, Ate Lisa, Ate Marivi, Reagan, Sir Mark, Ate Nanette, and
Maan. We played Trivial Pursuit for a short while, but found the
questions too America-centric. Taboo! was a lot of fun. Here’s an excerpt:
Sir Maguyon (? Who was it?): Doc Mana is a… ?
People: Pervert! Sex maniac!
(Turns out the word was “sexist”.)
Then we had grilled steak, salmon and sausages, with portabello
mushrooms and vegetarian pizza for Doc Mana.
It was lots of fun.
Also, got invited to the faculty R&R this 2003.04.14 and 2003.04.15. Practically
required to bring games along.
The deadline for applying to the graduate school of education in Ateneo is the second week of May, or 2003.05.05.
This is the Nth bad sector that I’ve come across. It’s starting to get a little annoying.
Susan Fox (SIGCSE) has a student double-majoring in CS and Psychology. From the message:
A part of her project is collecting anecdotes on personal experiences
with gender stereotypes, primarily but not only from women in the field.
If you might have an anecdote to contribute, she has an online form to
use at: http://www.enderton.com/maria/womeninCSrequest.html
On the compsci mailing list, Migz Paraz mentions the
Hacking Society, a pretty cool
I’d love a real-life space like this. Currently, I get this sort of
stimulation in irc.freenode.net#emacs, which has a high concentration
of – what else? – Emacs geeks who speak little LISP snippets like
it was their native language.
It would be nice to have this happen in real-life; a space where we
can pair-program on anything that comes along. All we really need is a
space with computers (or bring your own!), a common time to meet, and
a common desire to learn something new and hack on something cool.
I’m all for it.
Another cool project can be found at http://cards.sourceforge.net . It
was started by Sam Watkins, one of my friends and an all-around nice
guy. Check it out and add your card!
EmacsWiki:ProgrammingEffectivelyWithEmacs has a lot of productivity-boosting tips. In particular, it links to a Kuro5hin article about making Emacs stand up to Microsoft Visual Studyio 7.
NealStephenson is cool.
Cyclops writes in with this nice link about adopting orphan kittens.
By the way, my kitten (we’re thinking of naming her Catastrophix;
looks like the parents are letting me keep her!) now eats solid food,
although she hasn’t figured out how to drink water yet.
Mail works without a hitch now that I’ve set up a totally small-time
domain name server, but apparently, Microsoft Outlook 2000′s shared
calendaring does not work as advertised. Argh. Must find another way
to do shared calendars. I’m already fine with using categories to keep
track of what resources are needed when, but I would really prefer a
native (not web-based) calendar application because of user interface
limitations for web-based apps.
On the wear-hard mailing list, Doug Sutherland tells us about some interesting keyboards:
Maltron 3D One Handed Keyboard
Maltron 3D One Finger Keyboard
CyKey Chording Keyboard
LUCY Hands Free
Nikolay V. Shilov and Kwangkeun Yi
“Training sessions are good opportunities to present students with
challenging programming problems that cannot be solved without
theoretical background in spite of simple formulation. The trainers
should provide students with background theory as soon as
students realize the programming complexity of these problems.”
- Kwangkeun Yi’s site has a lot of papers on formal methods. Puzzles for Learning Model Checking, Model Checking for Programming Puzzles, Puzzles for Testing Model Checkers seems interesting.
Andrea Beth Campbell and Roy P. Pargas
This paper is about mandatory laptop use in the classroom, but since
our labs are one-computer-one-student, the insights are useful. Here
were the uses they observed:
- posting instructional material online
- animating and demonstrating concepts
- collaborative learning exercises
- instant feedback
- automatic program execution and visualization
- evaluation and testing
The instant feedback thing looks particularly useful, and I will certainly try to write an online system for that – or adapt http://www.moodle.org, which greatly impressed me when I last checked it.
Amanda Miller, Judy Kay
I can’t find a free online URL for this, but it’s in the ACM Digital Library.
Maybe it might be a good idea to have compulsory group mentoring for freshmen computer science students…
http://www.cs.usyd.edu.au/~judy/CSERP/ is the course page for a class
that deals with computer science education research. This is the sort
of stuff I want to get into. If you come across anything related, please
tell me – firstname.lastname@example.org . Thanks! =)
There’s a fairly large chance that I will be taking a masteral degree
in Education at the Ateneo de Manila University. I need to have at
least half-time load in order to be eligible.
The Department of Information Systems and Computer Science
(http://discs.ateneo.net) can be reached at +632 426 6001 loc 5660 or
Catastrophix the kitten is alive and well, although somewhat
fishy-smelling (we’ve been feeding her solid kitten food). She still
hasn’t figured out the litter box or the water dish, but she makes up
for it with quite an appetite.
Some confusion about her age. I’ll go with the vet’s guess placing her
at around a month old. My sister contends that she’s far younger. At
any rate, Catastrophix can walk around (albeit unsteadily), purr
(quite delightfully), and snuggle (rather contentedly).
It’s been hard to type with one hand, but it’s worth it for that
Thomas has been patiently helping me figure out how to become a better
maintainer, with loads of useful comments, patches, and tips on
maintaining better changelogs. Thanks also to people like Jody Klymak
and David Forrest for the recent burst of feature additions and
Aadisht Khanna’s recent W-Fillet is right. Plain T-shirts are
useful. I can write trendy political messages on them (geek code
alert!), advertise my website, and generally have fun.
Unfortunately I will probably have to more or less dress like a
teacher next semester, and I feel an urge to be somewhat dressier than
the T-shirt and shorts/pants guys at the CS department.
In other clothes news, my mom (in a fit of indulgence, no doubt) got
me a red leather dress. Ooooooooh, goodie… =)
Some computer science education links can be found at http://www.iste.org/LL/30/2/resources.cfm .
http://www.softpanorama.org/index.shtml offers a pretty well-balanced look at open source in education.
10.3 Ethics and Computer Science
10.4 Computer Science Education – Write an article about open source and computer science education?
Could a Palm user please check out
http://www.alphaworks.ibm.com/tech/atomik and see if it’s any good? If
so, I’d love an image or text file of the keyboard layout so that I
can try it out on the iPAQ. =)
John Wiegley, the author of planner.el, remember.el and emacs-wiki.el (the only reasons why I can maintain this kind of website with very little effort) has moved from http://www.gci-net.com/users/j/johnw/WelcomePage.html to http://www.emacswiki.org/johnw/ .
http://www.tldp.org/authors/unmaint.html is the list of unmaintained HOWTOs. Gain some free software karma by helping out! =)
yvonne on freenode#emacs reports a problem using emacs-wiki.el and
httpd.el; I thought I had reproduced it earlier, but it
disappeared. No idea what’s wrong with yvonne’s setup since mine
works, and have been trying to figure out what’s wrong. No clue.
My blogger code, from http://www.leatheregg.com/cgi-local/bloggercode.cgi:
B5 d- t++ k- s+ u— f+ i++ o+ x- e l c—
She’s developing quite an appetite, although she still persists in
attempting to swim through her food. She’s grooming herself now!
Aadisht Khanna is working on text summarization for a school
project. Interesting area. You can drop him a line at
email@example.com if you know anything that might be useful. =)
I was tracking down a Redhat Japanese language support problem for
someone on #linuxhelp. Sampizcat wanted to turn off the kana-kanji
conversion, but it wasn’t straightforward, so he or she is doing a
reinstall. Wish I could have helped more.
Marco Changho informs me of my schedule as a new faculty member.
Ok, Sacha. We'll have you aboard in the summer. You will teach CS 21a and the schedule is as I previously noted in my email Daily 9:00-10:30.
Which means I have to start preparing… fast!
You know, I really should check out stroke mode under Emacs for sheer
The faculty R&R on April 14-15 has been postponed, so that means I can
go to Diane’s grad ball without complications. I love the way life
works out! =)
Automated Newspaper Article Summarizer
Description: Limited to online World News text articles only, this
summarizer utilizes the algorithms presented by R. Barzilay and M.
Elhadad in their paper Using Lexical Chains for Text Summarization
(1997). The techniques and methods they primarily used are Text
Segmentation, Lexical Chains Computation and Sentence Selection and
Extraction. The summarizer also uses the WordNet Lexical Database as its
knowledgebase for word sense disambiguation and a Part-of-Speech Tagging
Algorithm for the selection of candidate words from the input text. The
algorithms used are based on shallow Linguistic Analysis Approach, which
doesn’t require a full semantic interpretation of the texts to produce
Group Members: Marco Carmelo Solomon, Paul John Serrano, Gerardo
Tutorials – off-class tutorials
Note: send him some HTML and CSS tutorial links.
I’m very curious as to how you get so much done with a
console based (?) text editor. Like do you have sort of summary view
of your calendar, tasks, etc in emacs? Maybe you can post a few
screenshots of what you look at everyday. Personally, I’d be lost
without an app like Evolution or Korganizer. I can’t imagine how you
manage all that with emacs.
Migs, that is precisely it. =) planner.el is an Emacs module that
gives me a summary view of my tasks, schedule, and notes inside Emacs
(which incidentally has a nice graphical interface, too). Together
with emacs-wiki.el, it lets me easily manage my website. Another
ultra-handy thing is M-x remember from remember.el, which pops up a
buffer asking me what I want to remember and stores a note in my daily
planner page. For example, this is one such note created by
remember.el. A patch contributed by Thomas Gehrlein allows easy
navigation of planner pages – simply select dates from M-x calendar.
Personally, I prefer this text-file-based system to Evolution or
Korganizer. I remember dropping down to M-x grep to quickly search for
something in my daily planner files. I can backup my data files in a
.tar.gz. I can perform diffs and version control (although I haven’t
gotten around to doing so yet! =) ). I can even run it in
conjunction with the Remembrance Agent.
My tasks and notes can be linked to my address book through BBDB
integration with Planner, and I’ve modified the BBDB url support to
take advantage of certain fields in my database. For example, typing
Sacha Chua results in the
following link: Sacha Chua. Locally, this brings up the address book
record that matches that regular expression. On the Web, it is
transformed into a URL following these rules of preference: blog, web,
e-mail. That allows me to link to other people and even sites much
more easily than HTML or the usual blogging systems might let me do,
since HTML and http://www.blogger.com still require me to type the
URLs to which I want to link.
Because all of these things run inside GNU Emacs, I can easily
access all of my data. I can embed Emacs LISP code into my planner
files and have them automatically evaluated and displayed. I can
switch to my planner file easily from my IRC chat session or from my
mail. I can hook into built-in Emacs functionality or make use of
modules developed by other people. It’s tons of fun!
And I didn’t even write planner.el. Ubercoder John Wiegley did. I
discovered planner.el around 2001.11.03. I liked it so much I e-mailed
John Wiegley to volunteer tech support and bugfixing for it, and he
suggested that I take over maintaining planner.el
instead. (2002.11.21) Open source is so much fun! =)
To see a sample of the text files I work with, you can check out my
planner directory at http://richip.dhs.org/~sachac/notebook/plans/ .
The published files are listed at
People interested in duplicating my setup may want to check out my
configuration files. They are all found in my notebook/emacs/
directory. Files of interest are planner-config.el,
emacs-wiki-config.el, and remember-config.el. Please write to me
at firstname.lastname@example.org if you have any comments or suggestions, and
don’t hesitate to ask for help in setting up a wonderful personal
information management system in Emacs.
Hmm, http://www.pinoyblogs.com exists. (2003.12.30: Does not exist any more, I think.)
On email@example.com, Ritchie Roi Y. Chua writes:
Computer Science is a science, but not an exact science like physics…
Interestingly enough, computer science is as exact as you can get. =)
Physics? Even grade-schoolers know about experimental errors and the
fact that measurements are never completely exact. Biology is
similarly based on guesswork. In contrast, you know that 3 in
mathematics is exactly that – 3, not 3.000000000001 or
2.99999999999999999. Computers are somewhat less precise due to the
limitations of our hardware, but the theory can be as precise as you
want. Think of Turing machines. Think of algorithms.
One of the things I find pretty darn fascinating about computer
science is that it is far cleaner and more exact than the natural
MrMusiko (mrmusiko AT eastern DOT com DOT ph) writes on the firstname.lastname@example.org mailing list:
Hello! Those who are into game development or into gaming may want to
join the Philippine chapter of the International Game Developers
Association. We had our first meeting last April 4. Those interested to
join may look up the Manila (Philippine) chapter in http://www.igda.org.
Eric might be interested in this. I suspect a majority will be all talk and no code, but who knows?
Make schedule from syllabus – a rough estimate of what we did last time.
|Two spreadsheets – week||day||topic||subtopics||labs, homework, projects|
Note to self: We really need to keep better notes about teaching. I’ll
have an expected schedule, actual schedule and comments.
If it wasn’t obvious by now, the SFiles mailing
list is pretty dead. I’ll be merging those into my planner archive
Really Soon. =)
So, Dominique Cimafranca, rest assured that the messages in the
SFiles archives – and this website – are meant for public
consumption. If you’re into browsing through other people’s mail,
might I recommend Griffin and Sabine by Nick Bantock? ;)
On the wear-hard mailing list, uberborg Doug Sutherland mentions
Developing Voice-only Applications in the Absence of Speech Recognition Technology
Caiviar is an Interactive Voice Response (IVR) System based on CAPI.
It runs on Linux and Windows systems, and supports Text-To-Speech
(most notably Realspeak and Festival), multithreading, Barge In,
3 Party Conference, G3 Fax etc. It has a very simple interface,
allowing fast creation of Telephony applications, like e.g. Voiceboxes,
Authentication systems, automatic Callcenters etc. Languages supported
include Java, C++ and Perl. The source code for Caiviar is freely
On the Compsat2003 Yahoogroups, Cha Gascon has this extremely wonderful post:
A Call for Applicants
The department chair of DISCS, Dr. Mercedes “Didith” T. Rodrigo,
is seeking for an undergraduate student, preferably not a senior, who
is willing to dedicate his/her time and effort to undertake a
designated task. That is, to search for wearable computing gadgets,
paraphernalia and related technologies here in the Philippines and
abroad (something like the wearable computer gadgets that Sacha Chua
has, featured in the poster of “Reboot” Compsat Launch Party),
which may have relevance in computer science, technologies that may be
of use with the department and the students and has potential for
further research and development. This is an official position in the
Must have the following:
- internet access (to research wearable technologies online)
- know-how in online ordering / purchasing of computer gadgets
- compare prices, recommend products and technologies
- willing to compile reports, price comparisons and summaries
- willing to do extensive canvassing of wearable gadgets and
technologies, where and how they could be bought here in the
Philippines and abroad
- willing to go shopping!!
The chosen one will receive a salary from the department however the
exact price wasn’t disclosed to us.
Interested applicants may email me at cha_gascon @ yahoo.com. Please
include your name, contacts, how you could be an asset with the
department in relation to the task stated above. Apply ASAP. Email to
me, not to the egroup so as to avoid inbox clutter.
Wonderful wonderful wonderful wonderful wonderful wonderful wonderful! =)
I am sooooo excited. =D
My mom and I had a somewhat stressful discussion about the vagueness
of my employment. To wit: I know that I am going to teach, but I
don’t know under what terms or even how much I’ll earn. (Whoever goes
into teaching for the money is nuts, but it would help to know how
much rent I can afford!)
I guess what stresses me out is the fact that at 10:37 PM in the
evening, I can’t do anything to improve the situation, and all these
questions are making my department seem so bad. The CS department is
really nice (although a bit disorganized), although yes, I’m somewhat
peeved that they can’t really bend the rules for me. <wry grin>
Case in point: after bugging the finance department for a little over
a month, I’ve just recently been told that faculty housing is going to
be nearly impossible for me to get because I already have housing in
Manila. Makes sense. In fact, I felt somewhat guilty about having
stayed in the dorm for so long, taking up a slot that may have let
someone from the provinces study in Ateneo instead. The main thing
that stresses me out, however, is the possibly firm stance my parents
might have on the necessity of on-campus housing.
My mom seems to be softening a bit – she was offering to help me
search for an apartment or a ‘bedspacing’ arrangement. However, this
didn’t prevent her from checking with another school that was looking
for teachers (an IT school – I want to teach computer science, not
information technology!), which of course completely freaked me out.
I spent the next half hour having a nice good cry with my kitten. I
really, really want to teach in Ateneo because I’m more used to the
school culture and I’ll have a better chance of being allowed enough
latitude to experiment and possibly make a difference. I _hope_ my
parents won’t make me choose another school, but if they express
Another source of stress is the vagueness of the terms of my
employment – aforementioned lack of information about such basic
things as salary and job expectations. From the way things have been
going around the department, I’d probably do more than your typical
fresh-grad teacher. Me? Typical? But how does one consider these
atypical things, then? I already do the work gratis, but it would
be… somewhat nice to be appreciated, or… at least meet someone
else who is as into these things as I am.
Maybe I should just set my sights on the Most Outstanding Junior
Teacher award. I’ll need a lot of luck and practice to get that.
My mom basically thinks that they’re taking me for granted. I’m
supposed to be the best in the Philippines, but there’s a very, very
fine line between asserting that I deserve more than this… and being
completely annoying and arrogant.
All I really want to do is teach. And learn. And have fun. And help
other people learn and have fun. Not necessarily in that order.
Mental note: Be much more assertive.
How assertive can I get, anyway? <wry grin> I can’t very well
threaten not to teach in Ateneo, because everyone knows I really want
to do so. I guess the better approach would be, “Wouldn’t that be the
professional thing to do?”
Or something like that.
Update: Okay, now that I’ve gotten my employment jitters out of
the way, I can concentrate on preparing for class. =) I really, really
love our school.
This is, after all, my journal. Not a strictly utilitarian and
informative blog, but rather a site where the usual M-x remember’d
stuff might find itself interrupted by a cat story or, in this case, a
lot of mumbling…
Sleep. I should probably sleep.
Torquil Macdonald on the debian-user mailing list says that
http://www.pdfeverywhere.com/pdfsplit.tar.gz can be used to merge
several PDFs into one big one.
glark supports Perl-compatible regexes, match highlighting, complex expressions and exclusion of non-text files.
A6FA E1C8 E93A 6647 CE4D 99C9 64EE 32AC BE2D 08EC
passes lintian checks and builds with debbuild. Yay! Now to figure out what to do next..
None yet. Hmmm.
Unfortunately there’s a Debian Developer named “sacha”, so I guess I’ll have to settle for sachac if ever…
From now on, planner page stories will be written in past tense
whenever appropriate. Present tense just sounded too weird. Old
planner pages will not be updated to reflect this.
I don’t have access to my email@example.com account and I’ll be out
this weekend anyway.
Radam on PLUG linked to http://www.aduni.org/courses/ as a good source of online books for computer science.
Another must-read, according to Brian Baquiran, is Structure and
Interpretation of Computer Programs. Full text can be found at
Panthera Altaica is into wearable computing because of computer accessibility.
Hmmm. Interesting. From e-mail:
I’m working on a interface that’s is basicaly a suped up CLI based on
Multi User Forth(RPN, stack), Perl(CPAN, moduals) and HTML 4(programs
control the information that is display not how to display the
information). It should allow the quick intery of commands and the
commands should be independant from the UI.
I’m plaining on a Forth and Lisp displays for the stack for the
demostration. I still only have vagist ideas on how to handle the
File system, text, images.
Vito Miliano is also into assistive technology. Vito presented the “Dasher Communicator” recently, and has
stuff up at http://www.perilith.com/~vito/dashcomm/
In-cooperation with ACM SIGMOBILE (pending)
OCTOBER 21-23, 2003
Crowne Plaza Hotel, White Plains, NY 10601
I really wish I could go, but it’s highly unlikely.
Moodle’s postgres7.sql is missing a
lang char(5) default declaration in prefix_user. This causes user additions to
fail. To fix an already set up database, simply
ALTER TABLE moodle ADD COLUMN lang CHAR(5); ALTER TABLE moodle ALTER lang SET DEFAULT 'en';
Picture should not have an empty string. Fixed by adding $user->picture = -1 .
Just discovered http://www.softwarequotes.com =)
The spaghetti exercise was a big success, as it underscored real-life
application of algorithmic thinking. Adding two numbers took a fair
amount of time, but was somewhat effective. Note: tomorrow, assign a
beadle, prepare a seat plan, prepare history notes, prepare questions
about piracy, DRM, reliability, industry/academe… =)
Where is Sir Olpoc?
Apparently, Sir Olpoc also loves this book. =) I figured as much by
the “Yo, teach!” quote on his website, but still…
Silly me. Well, I guess that means I’ll be working on the CS21A
breakdown on the Mac and I’ll be sleeping early tonight. I guess I
should make the most use of it, then. Since my CS21 curriculum review
notes are on the web (they are, aren’t they?), all I have to do is
move the cs21a and cs21b mirrors into my public web hierarchy.
Dominique Cimafranca pointed me to http://www.ibiblio.org/obp/thinkCSpy/ . Now if only I could teach Python! =)
Quiz took too long. Next time I do an algorithmic thinking quiz, do this in two parts:
- identify input, output and test case(s)
- discuss input, output and test case(s)
- write an algorithm
- discussion next time, because I need to read everyone’s algos in order to identify common errors
An anonymous person comments:
Sacha, there’s also a Java equivalent to this at
You might also be interested in Bruce Eckels’ books,
http://www.mindview.net/Books/TIJ/ Too abstract for me, but I’m only
Oooh, yummy. Built-in wireless on the U101!
Of course Eric probably already knows about http://books.slashdot.org/article.pl?sid=03/04/24/1338208&mode=flat&tid=152&tid=156 …
Dired integration `gnus-dired-minor-mode’ installs key bindings in
dired buffers to send a file as an attachment (`C-c C-a’), open a file
using the approriate mailcap entry (`C-c C-f’), and print a file using
the mailcap entry (`C-c P’). It is enabled with
(add-hook ‘dired-mode-hook ‘turn-on-gnus-dired-mode)
Gnus can display RSS newsfeeds as a newsgroup. To get started do `B
nnrss RET RET’ in the Group buffer.
Look! ruler-mode is pretty darn nifty. =)
Geek blog. Good read. Nice novels, too – and free.
Glad to say that students get to seriously work with Linux in Ateneo -
you can thank Horatio Bogbindero and Dr. Manalastas for that! =)
Never underestimate the importance of playing. I play with Emacs all the time,
and I learn something new every day.
(Incidentally, I should also figure out this trackback thing… I wonder if emacs-wiki.el can handle that.)