March 2004

Bit’s blog

March 1, 2004 - Categories: -Uncategorized

On programming fundamentals

March 1, 2004 - Categories: -Uncategorized

Jino Noel wrote:

2004-01-30 15:42

Programming fundamentals

Everytime a programming exercise or project comes up I hear a lot of my classmates crying out in horror or dismay. I hear them complain about how hard is or even that it's impossible to create. And yet I see a few of us who don't care how complicated a project is, we just know that everyhting is doable. I believe the reason for this is that others still don't know what we've come to realize, you don't solve a problem as a whole, you break it into small pieces, and those small pieces into smaller pieces, until all you have are just a lot of small, easy to solve problems. When you've come to that point all you need then is time. Fact is, There's no programming project that can't be reduced into a series of simple arithmetic, true or false questions, and the separating and combining of strings. The trick of course is to be able to see the problems as a combination of smaller pieces, that's the skill that separates a coding wizard from a wannabe.

Take my PusoyDos as an example. I didn't program it all in one get go, I did it in pieces. First and foremost problem I had to solve was how to deal th ecards to the players. Eventually I was able to break it down into just a randomizing function, a few arithmetics, true or false question and string combination to create the values of the cards, and a boolean statement to pass it into the designated players. And I just went on from there.

Programming is actually simple, if you just look at it the right way.

Awwwww. =D

Of course, Jino's outlook on programming is completely not my fault, but I hope other people reading this feel encouraged.

Jino's World 2.0

Emacs LISP List, by date

March 1, 2004 - Categories: emacs

Emacs function of the day: rx

March 1, 2004 - Categories: emacs

Translate a regular expression REGEXP in sexp form to a regexp string. See also `rx-to-string' for how to do such a translation at run-time.

Tip from delysid.

ERC pseudo-AI assisted IRC help

March 1, 2004 - Categories: -Uncategorized
  Hmm. That gives me another nifty ERC idea - if we annotate BBDB records with timezones, we should be able to
          greet people good morning/day/evening appropriately. Plus points for greetings in native languages! ;)
  Now that's just insane, really. 
  laugh too
  sacha: I'm sure you'll have it done by tomorrow ;)
  sachac: that could be nice, yes
  ,there is also an evil place without a name -- it does not have emacs
  Added entry to the term "there"
  try:  Acknowledgments NowPlaying PostItNow WikiAcknowledgments WikiNow
  arete: Well, I've been thinking of rule-based matching on privmsgs received, with responses suggested in another
          buffer for easy selection with keysequence or mouse... =)
  sachac: good idea
  hehe yeah, saw you mention it the other day
  just one step away from eliza =P
  arete: I'm just thinking of how to do it nicely so that the matches don't take a terribly long time. I suppose
          match-string is my friend. I can build the regexp at the start, match it constantly, then match again based on
          the match string...
  ,df rx
  rx is a Lisp macro in `rx'.
  (rx REGEXP)
  Translate a regular expression REGEXP in sexp form to a regexp string.
  See also `rx-to-string' for how to do such a translation at run-time.
  The following are valid subforms of regular expressions in sexp
  STRING ..[Type ,more]
  arete: ... but of course that means I'll be working as a stateless machine for now. Oh well. Actually, no, the
          functions can keep state on their own; I just won't be able to add new keywords without recompiling the regular
          expression, which shouldn't be too hard.
  sachac: I guess the best way for the greeting is some standard text that gets translated at other ercs
  don't forget to weight the chosen responses so you don't have to look through them all each time the same choices
         come up =)
  sachac: use rx-to-string and a variable...
  myrkraverk: Actually, that will hook into my "hi" thing...
  oh, k, then
  myrkraverk: ERC should not only check which of your pals are online, but also which you haven't greeted yet, and
          people who aren't pals but who have greated you specifically. =)
  I haven't written said "hi" thing yet, though.
  myrkraverk: Ideally, ERC should compile a list of people to say Hi to, and hi them all on one line, appending a
          generic ", world" at the end or something like that. =)
  myrkraverk: An extension to BBDB could have custom greetings for hi. For example, I greet some people in other
  sachac: you have too many ppl to say hi to ;)
  myrkraverk: It's a proof of concept! ;)
  myrkraverk: If you tie that in with the funky timezone thing, that would be, well, pretty funky.
  btw, can erc let me know when someone is online?
  sacha: don't' forget the automated reply to a greeting =)
  myrkraverk: However, the timezone thing could be done without the funky hi thing...
  arete: My proposed system wouldn't be entirely automated. It would suggest responses, but it would allow the
          user to actually change them or select a different response from the buffer.
  howdy sachac
  arete: I'm thinking of a circular queue of 5 to 10 (of course, configurable) possible replies.
  zeDek: howdy zeDek
  Well, that's an easy way around it - just echo the greeting... ;)
 * sachac is the resident bot-in-training. ;)
  sachac: btw, I have a photo now on orkut (like you care :P )
  zeDek: did you find time to send me the new color-theme ? :)
  Lukhas, ok wait
  arete: I'm interested in this because I stay on a few help channels. My hippie-expansion from BBDB is pretty
          useful for expanding factoids, but (a) I don't want to have to remember what to expand, and (b) I want to be
          able to deal with questions I might not have paid attention to. ;)
 * zeDek was migrating old and
  lukhas -> free point fr
  myrkraverk: I'll check that out when I get around to starting up a graphical browser...
  did you find hosting room ?
  sacha: now there is a more productive use of it =)
  I can never remember what keyword fsbot wants
  delYsid: Hmmm, that should be interesting.
  arete: The human still filters the automatic responses, of course. =)
  I use it in chess-ics for a very complicated re (760 chars)
  arete: And automatic responses can be of the form :  already...
  arete: Naturally, if we allow functions and strings as canned responses, then we can even have a state machine.
  yumm, pseudo-AI assisted irc help
  arete: Yeah, something like that. 
  Lukhas, done
  arete: Worth hacking on in my spare time, I think.

Gary Vaughan’s blog

March 1, 2004 - Categories: -Uncategorized

He has a nice Slashdot-style blog. To do something like this, I would need to define the following behavior:

- remember.el should remember to a single page (or depending on the year) - remember.el should xref an index entry, not a separate heading - remember.el should also insert category icons

NetHack progress

March 2, 2004 - Categories: -Uncategorized

Another new character. Now level 11 and camping near an altar. Have picked up a couple of magic markers, blessed two of them, wrote ?oCharging. Recycling spellbooks: wrote +oIdentify and +oCM on the same spellbook. Have Magicbane, hope to get spellbooks off god.

So far so good. Potions and scrolls in short supply, though.

CS21B meeting

March 2, 2004 - Categories: -Uncategorized

- Design patterns - Make your own questions: 2 questions, 10 points - Composite (shapes), Observer (listeners), Strategy (sorting), Decorator (files)

Procedure for thinking about network programs - Who are talking? "hosts" - What info does each need? Think about data objects that will be passed on network - Who has what? - Sequence


A: design patterns or data structures B+: infinite connections B: no obvious bugs C+: documentation for install and play C: networked, two-player, multi-threaded

Sacha: linked lists today, announce extension and schedule of defense


March 2, 2004 - Categories: -Uncategorized

I think this is a pretty cool idea, but I want it inside Emacs, not as an external application - not even if I can use Emacs as an external editor. I remember running across something vaguely related - some form of category browser.

Nice, but I'll only use it if it works within Emacs. ;)


March 2, 2004 - Categories: -Uncategorized

It would be nice to have a tag that turns off implicit wikiname linking...

Why am I interested in short stories?

March 2, 2004 - Categories: -Uncategorized

Flash Art

Who can paint summer in fifty brushstrokes and three colors? Brushes and palettes clattered throughout the warehouse, artists bent on a challenge beyond mind-numbing portraits and caricatures. It didn't pay the rent, but it kept us sharp.

Hours passed. Still a blank canvas. The judges grew impatient. "The competition's only until three." I took no notice. Someone won. I don't know who.

Alone in a warehouse. Brush on paper - a broad, confident stroke. I smiled.

E-Mail to

“Visually Impaired Can Now ‘Surf’ Internet Thanks to Indian Software”

March 3, 2004 - Categories: -Uncategorized

More than a hundred visually-impaired children in India are using software that lets them surf the Internet. The software product, called Vachantar, is being used by students at the Government High School for Blind Girls in the south Indian state of Andhra Pradesh. Developed by the Center for ...

Note: Stuff like this has been around for a while, though. =)

E-Mail from

Monash university

March 3, 2004 - Categories: -Uncategorized

Postgraduate handbook 2004 Information Technology

Doctor of Philosophy

Course code: 0190 + Caulfield, Clayton, Gippsland, Berwick and Peninsula + School coordinators: Dr Leonid Churilov (Business Systems), Dr Graham Farr, Dr David Squire (School of Computer Science and Software Engineering), Dr Graeme Johansen (School of Information Management and Systems), Dr Manzur Murshed (Gippsland School of Computing and Information Technology), Dr Marian Quigley (School of Multimedia Systems) and Dr Asad Khan (School of Network Computing)

The Faculty of Information Technology offers a Doctor of Philosophy (PhD) program by research in each of the academic units of the faculty, across five of the university's campuses. The degree is awarded for a thesis which, in the opinion of the examiners, makes a significant contribution to knowledge or understanding of any field of study with which the university is directly concerned. The award of the degree is generally accepted as showing that the candidate is capable of carrying out independent research.

Areas for research include graphics and image processing, artificial intelligence, inductive inference, parallel and persistent computer architectures, systems analysis and design methodologies, knowledge-based systems, knowledge management, information systems management, inter-organisational systems, data modelling, electronic commerce, computer-assisted software engineering, programming paradigms and languages, object-oriented systems, formal specification, software metrics, decision support systems, executive information systems, network computing, computer and network security, human-machine interfaces, distributed systems, information storage and retrieval, robotics, digital communications, microelectronic circuit design, digital systems design, and librarianship, archives and records, network security, multimedia authoring, mobile and distributed computing systems, image processing and computer vision, multimedia computing and communication, electronic data interchange and internet commerce, multimedia standards and protocols, multimedia interfaces, GUI design and programming, multimedia applications in teaching and learning, multimedia narrative, animation, game design and development, creating content in digital environments, societal implications of multimedia.

The degree is usually undertaken on a full-time basis over three years. Part-time studies are available on conditions approved by the PhD and Scholarships Committee.

In appropriate circumstances, enrolment for a masters degree by research may be converted to enrolment for a PhD.

Entry requirements
The minimum qualifications for admission to PhD candidature are: (a) a bachelors degree requiring at least four years of full-time study and normally including a research component in the fourth year, leading to an honours degree at first or upper second class level (HI or HIIA); or (b) a course leading to a masters preliminary qualification at a level rated by the relevant school and faculty as equivalent to a first or upper second class honours degree; or (c) a masters degree that comprises a significant research component, at least equivalent to (a) above.

The degree of Doctor of Philosophy (PhD) at Monash signifies that the holder has completed a course of postgraduate training in research under proper academic supervision, and has submitted a thesis that the examiners have declared to be a significant contribution to knowledge, and that demonstrates the candidate's capacity to carry out independent research.

For further information about the PhD program and attendance requirements, contact the Monash Research Graduate School in the Research Services Division of Monash University, Clayton campus.

For further information about the research interests of each school within the faculty, refer to the section titled `School information'. School coordinators can provide advice and information about research topics and supervision.

Applications for PhD candidature can be made at any time of the year and application forms are available from the faculty offices.

Possible research areas

March 3, 2004 - Categories: -Uncategorized

- Wearable computing: I'm interested in things like Bradley Rhodes'

Remembrance Agent. I'd like to extend it to dynamically index new work and integrate more information sources.

- Intelligence/memory augmentation: Technical support assistance.

- Computer science education: Modelling of student misconceptions

based on a corpus of programs

- Social network analysis: Visualization of social networks

For augmentation, this is interesting: If I could tie together my interest in augmentation with the Semantic Web, that would be quite cool.

That probably means I’m heading more toward…

March 3, 2004 - Categories: -Uncategorized

Information storage and retrieval, augmented memory, personal assistants, knowledge retrieval and representation.

Hey, how does this guy do related posts?

I think it would be cool if, while remembering, I saw a list of related topics.

What would be a fun blog visualization hack to see if I can still get the hang of it?

March 3, 2004 - Categories: -Uncategorized

- Download the XML feeds for my blog and my friends' blogs, hacking RSS exports for them if necessary. - Perform either Bayesian or Kohonon self-organization clustering on the topics. - See how the topics cluster and who posts on what. - Figure out, based on that, where my interests lie... - ... and alert me when new posts are made that are close to those topics.

RSS library for Java

March 3, 2004 - Categories: -Uncategorized

Another RSS library for Java

March 3, 2004 - Categories: -Uncategorized

Social network visualization

March 3, 2004 - Categories: -Uncategorized

Atom library for Java

March 3, 2004 - Categories: -Uncategorized

RMAIL labels

March 3, 2004 - Categories: -Uncategorized

You know, labels are a pretty good idea. Gnus should have support for this...

Java and OO Best Practices

March 3, 2004 - Categories: -Uncategorized


Java and OO Best Practices

March 3, 2004 - Categories: -Uncategorized

This is in no way a comprehensive discussion on Java and OO Best Practices. This is a subset of the knowledge we pass around with each other. All of this is subject to programmer opinion and there's a lot more that needs to be learned.

bad practices ("code smells")

- duplicate code Have you ever copy-pasted your code? Follow the "Once and Only Once" rrule.

- accessible fields

Tight coupling, corruptible, inflexible. Should have accessors and mutators. Problems with threading.

- large class

A class should only be doing one thing. Follow the "one responsibility rule."

- large method - using magic literals - unnecessary class/instance variables

If it's only used in one method, make it local

- Initializing strings with "new" - Using floats and doubles for currency calculations - Returning null - Subclassing for functionality - Muffling exceptions - Unexceptional exceptions - Excessive use of switches - Middle man: methods that just delegate to other classes. Case of over-design.

good practices - validate your parameters - abstract or final - create local copies to prevent corruption (hmm... good for multithreading, but heck slow) - String, string buffer - favor immutability (now, there's a thought...)
software engineering best practices

Note to self: should have webcam-based project that tracks red laser pointer.

Got planner-rmail to work. Yay!

March 3, 2004 - Categories: emacs

Jerome’s Atom feed

March 3, 2004 - Categories: -Uncategorized

E-Mail from Jerome Punzalan

My dad was on NU 107.5

March 4, 2004 - Categories: -Uncategorized

He was interviewed for the Secret of My Success segment. Among other things, he told a very censored story of his youth...

In other news, I've been playing . Fun!

Oh, darn, I’m done with MOTAS.

March 4, 2004 - Categories: -Uncategorized


What is Chalow?

March 5, 2004 - Categories: -Uncategorized

Working from the Google cache of . This looks interesting.

Site that mentions PlannerMode

March 5, 2004 - Categories: emacs

Pre-final exemptions

March 5, 2004 - Categories: -Uncategorized


- Abrencillo, Gerald Vonn J. - Alvarez, Carlo G. - Cruz, Neil Martin P. - Domingo, Adrian Francis C. - Flores, Melvin S. - Gonzalez, Michael Philip G. - Sanggalang, John Francis A.


- Arguelles, Carlos-Miguel G. - Ching, James Henry Y. - Chua, Elgine O. - Cruz, Katrina Marie M. - Florencio, Trina Anne I. - Lee, Hee-Soo - Lim, Clifford Ian G. - Noel, Joseph Christian G. - Quinones, Amabelle S. - Rigor, Christopher John D. - Rivera, Paul Hercules M. - San Diego, Katrina Mae G. - Teo, Rockie Randall G. - Ting, Benito Y. - Uy, Lerrizah Lorraine L. - Velasco, Vincent Anthony M.


Personal metadata exchanger

March 5, 2004 - Categories: -Uncategorized

PMX is hybridly distributed chat & messaging server program. It will allow sending messages, receiving them only from trusted whitelisted sources and the creation of private personal chat networks. XML, JXTA and Jabber are the foundation for this project

Hmmm. It should be interesting to see if this could work with, like, RSS.

Programming Challenges

March 5, 2004 - Categories: -Uncategorized

the book was really interesting. The book is currently in the "new acquisitions" section of the library. I learned a lot from skimming through it. This is a good material for our future training sessions.

details at

Time to grab the book from the lib...

E-Mail from allan espinosa

Programming challenges

March 5, 2004 - Categories: -Uncategorized

Well, it _used_ to be on the New Acquisitions shelf. Now it's in my cubicle. ;)

Microsoft wearable?

March 5, 2004 - Categories: -Uncategorized

Using Common Lisp to build web applications

March 5, 2004 - Categories: -Uncategorized

Slime – an Emacs interface for Common LISP

March 5, 2004 - Categories: emacs

A CVS checkout worked out of the box. _And_ it's colored, too. Nifty.

My first LISP snippet!

March 5, 2004 - Categories: -Uncategorized

This parses my blog RDF and returns a sexp.

(require :xmls)
 (stream "../../notebook/wiki/blog.rdf" :direction :input)
 (xmls::parse stream))

Important things learned:

- with-open-file - how to load packages (require :package) - how to call functions (package::function)

RSS-Blog-Furl High School – a vision of the blogging future?

March 5, 2004 - Categories: -Uncategorized

Rest of the site is pretty cool too.

Girls just wanna defun

March 6, 2004 - Categories: emacs

Girls just wanna defun(1)
I can't wake up, in the morning
Cause of what I've been doing for most of the night.
Teacher don't you know my program is done?
And girls just wanna defun.


The phone rings, in the middle of the night
Advisor screams, "Watcha gonna do with your life?"
Patrick(2), how I relish double-oh-one(3)!
And girls just wanna defun.


They just wanna, just wanna, yeah
Girls just wanna defun.


Some people say
A beautiful girl can't tool all night like
The rest of the world.
I wanna be the one to welcome the sun.
And girls just wanna defun.


- 1 Defun, the Lisp command to define a procedure - 2 Winston, ai professor, MIT - 3 6.001, Structure and Interpretation of Computer Programs

Successful Lisp: How to Understand and Use Common Lisp

March 6, 2004 - Categories: -Uncategorized

Link from Will Glozer (arete on the emacs channel)

Warm and fuzzy feelings

March 6, 2004 - Categories: emacs
  Hi sachac :-)
  i've been following your planner mode pages for a while, I must say it's a great project
  dto: Awwwww, thanks! =)
  dto: You can go thank johnw for that. My job is just to patch the bugs I accidentally introduce, and
          occasionally make a bunch of people really happy by figuring out how to hack something cool into it. =)
  sachac: I use nnrss/gnus to read your feed :-)
  anyway I think you're doing great, i'd love to offer feedback
  dto: Awwwwww... =)
  i'm planning to use it for organizing my work, it's very hectic and i manage multiple
       projects/tasks/contacts/emails etc
  dto: Wow, neat! =)


March 6, 2004 - Categories: -Uncategorized

I think I smiley too much.

That's probably because I smile too much, too.

All this GoodKarma floating around...

Agh! I nearly put in another smiley there!

It's just like punctuation.

Heck, it is punctuation.

Okay, I think I really should go to sleep now.

My classes next sem

March 6, 2004 - Categories: -Uncategorized
CS21A B MW 8:30 - 9:30 F-227
CS21A B F 7:30 - 9:30 F-227
CS21A F MWF 10:30 - 11:30 F-228
CS152B A W 1:30 - 4:30 F-228
CS152B B F 1:30 - 4:30 F-228

Oooh, cool, MWF schedule.

“Warning: Blogs Can Be Infectious”

March 6, 2004 - Categories: -Uncategorized

Researchers at Hewlett-Packard Labs used Intelliseek's BlogPulse Web crawler to mine numerous Weblogs, after which they mapped out the connections and topics shared among a large number of sites. Analysis showed that topics would often appear on a small number of relatively ...

E-Mail from

Open house

March 6, 2004 - Categories: -Uncategorized

To formally welcome you to the DISCS open house is the Dean of SOSE, Dr. Fabian Dayrit.


- Recruitment activity, been offered a slot and we'd like to encourage you to come to the Ateneo - Also for us to introduce what the Ateneo stands for, what the Ateneo is. If you come to Ateneo, you will be spending four or five years here and it will probably determine your future. - Core curriculum, major curriculum

Education is a partnership. Student, faculty, school. Education is not a one-way affair. Students play a big role in the quality of the education. V. important that you know what Ateneo is. Best school really depends on the student.

Why come to the Ateneo to study Science and Engineering?

"Lux in Domino." Pursuit of knowledge and wisdom which is inspired by service to God's work.

Magis (more): service and excellence

One of the oldest Jesuit institutions of higher learning in Asia.

The core curriculum is the primary instrument of formation, through which the Ateneo spirit of excellence and service are articulated and passed on to students.

All S&E students take courses in history, social science, literature, philosophy and theology, in addition to their major courses.

Importance: Basic education ~ 10-11 years. Among the shortest in the world. Students enter at 15 or 16, 17 is old. Very young students. The core curriculum helps form students through the formative teenage years. Even in that sense, very important role.

Science not just for its sake.

Major curriculum trains students in the fundamentals of the field, the state-of-the-art, as well as its applied areas. Interdisciplinary dialogue is encouraged among the science and engineering disciplines, as well as with the humanities, social sciences and management.

All of our students get accepted into the schools of their choice, if they choose graduate school. No problem with the science part of our curriculum. If you look through the catalog, many of our degree programs are interdisciplinary. MIS is between CS and Management. Computational sciences. BS Management of Applied Chemistry. Skills not just found in one discipline.

Our Faculty

Leaders in their wown field, excellence in teaching and research, mentorship. Short list of awardees. About 5 in the school, the highest in any one school. Also awards that are more professionally oriented.

Our students

Leaders in their own field. 11.5% scholars in Loyola School, 47% in SSE. CHED requires 1% scholarship. Leaders in their own field.

SOSE departments: Bio, Chem, ECE, ES, DISCS, Math, Physics

Interdisciplinary areas

Information technology, environment, materials science and engineering, biochemistry and molecular biology, science and mathematics education

S&E education at the Ateneo

- Excellent faculty and staff - Solid foundation in fundamentals - Exposure to applied areas - Student-centered learning - Research and hands-on experience - Personal mentoring for the faculty - ...

Recruitment video

Academic requirements, core curriculum (Bong Olpoc) I like his slides!

Student activities

Preliminary VM support for planner

March 6, 2004 - Categories: emacs

You can create tasks from VM messages and virtual folders, and you can jump to URLs of the form vm:// INBOX / MESSAGE-ID. Right now it jumps to the message directly. It would be nice to jump to the summary.

See ../emacs/emacs-wiki/planner-vm.el


XML and Emacs Lisp

March 6, 2004 - Categories: emacs

How to get involved in Free Software (the bug method)

March 6, 2004 - Categories: -Uncategorized

Backlog of blog entries: MOTAS, March 5

March 6, 2004 - Categories: -Uncategorized

So I was playing Mystery of Time and Space in class, thanks to the students who pointed me to it. I did remember to tell students they could interrupt me any time, and I did answer a few CS21B questions while playing.

Apparently, they were surprised at the ease at which I solved the puzzles. Hey, I'm into adventure games and lateral thinking puzzles - makes sense.

People who have blogged about this episode:

- Marcelle - Peppy

plan and BBDB

March 7, 2004 - Categories: emacs

I want to collect all of my notes about people into wiki pages about them so that I can easily see timestamps. I will also need to cross-reference. In the meantime, I can keep this information in my daily notes.


- Privacy? I'd like some things public and some things encrypted. - planner-bbdb-remember dependencies. I think I'll need the condition-case idiom.


Techie dinner

March 7, 2004 - Categories: linux

Last night, I had dinner with William Yu, Miguel Paraz, and Jijo Sevilla. Jijo organized the get-together.

While waiting for Migs and William, Jijo and I chatted about his new IT consultancy. He described the fat client Debian-based system he had in mind, with computers automatically drawing updated packages from a central repository. Jijo wanted to know what I thought of the project.

I told him to check out FAI, a Debian package for doing fully-automated installs. I also told him about configure packages to help propagate configurations. He could set up a network-booting system, with CD backups in case the network went down. He was delighted - these tidbits would make his job a whole lot easier.

He asked me because he knew I watched the debian-user list and so might know of similar problems and solutions.

Here's how I keep an idea of all Debian packages in my head:

- I spent some time reading the package summaries of all the packages

available in Debian's unstable+experimental archives. This was part of choosing new packages to install, so it was fun.

- I use aptitude's "forget" command to mark all of those packages as old.

- Whenever I update my package lists, aptitude marks packages I

haven't seen as "new."

- I review those and then use "forget" again to mark all of them as old.

That's how I keep track of all existing packages available for i386. I still use apt-cache search and aptitude's search functions extensively, but at least I know what to look for.

I also watch debian-devel for Intent to Package (ITP) announcements. I used to keep track of, but found it too far from my normal workload, and not useful enough.

Looks like that's my Geek Power - I'm a search engine. ;)


March 7, 2004 - Categories: -Uncategorized

Company bonding, so we're out for billiards this afternoon. I spot an easy shot, although long - ricochet off the walls and pocket the last two balls. My gal claps when she sees how I've lined it up. The boss watches me intently, twisting his cue stick. I think of the rent, and carefully miss.

55 words

Googling for recipes

March 7, 2004 - Categories: -Uncategorized

Here's the incantation you need to use.

QUERY ( | inurl:epicurious | inurl:recipesource | | inurl:Recipezaar )

Hotshot — 55 words

March 8, 2004 - Categories: -Uncategorized

Hotshot programmer fresh from college thinks he can do everything, eh? I keep particularly nasty COBOL code for these special occasions. Just because it's on a computer doesn't mean it's legible. Looks like English, but it's worse than the Gordian knot. That'll show him his place - then maybe he'll be willing to learn something.

Wikibook — Cookbook

March 8, 2004 - Categories: -Uncategorized


March 8, 2004 - Categories: emacs

Just remembered why I had those planner compatibility functions in the first place. Mumble mumble. That's it, I'm packaging a deb...

C-u M-x planner-create-task-from-buffer

March 8, 2004 - Categories: emacs

dto on #emacs suggested a way to create tasks associated with planner pages. Arch repository and dev snapshot should have working version of this.

Adding a prefix argument to M-x planner-create-task-from-buffer will make it prompt for the plan page. If the plan page is different from the current annotation, it will move the annotation into the description of the task. Any other suggestions? =)


Planner supports Wanderlust

March 8, 2004 - Categories: emacs

Display subject on the first line, dynamically

March 8, 2004 - Categories: emacs
;;; gnus-summary-update-subject.el --- Display subject on the first line, dynamically

;;; Time-stamp: <2004-03-07 18:02:03 bojohan>

;; Modified by Sacha to work with subjects anywhere in the summary line.

;;; Code:

(defvar gnus-summary-update-subject-overlay nil)
(defvar gnus-summary-update-subject-hide-overlay nil)
(setq gnus-summary-same-subject (propertize " " 'gnus-summary-same-subject t))

(defvar gnus-summary-update-subject-thread-marker ">")

(defun gnus-summary-update-subject (&optional window start)
  (when gnus-summary-update-subject-overlay
      (goto-char (or start (window-start)))
      (when (re-search-forward gnus-summary-update-subject-thread-marker (line-end-position) t)
        (if (not (text-property-any (line-beginning-position)
                                    'gnus-summary-same-subject t))
              (delete-overlay gnus-summary-update-subject-overlay)
              (delete-overlay gnus-summary-update-subject-hide-overlay))
          (let ((subject (gnus-summary-subject-string
            (move-overlay gnus-summary-update-subject-hide-overlay
                          (+ (point) 2) (+ (point) 2 (length subject)))
            (move-overlay gnus-summary-update-subject-overlay
                          (point) (1+ (point)))
          ;;(overlay-put gnus-summary-subject-overlay 'window (selected-window))
            (overlay-put gnus-summary-update-subject-hide-overlay
                         'invisible t)
            (overlay-put gnus-summary-update-subject-hide-overlay
                         'intangible t)
            (overlay-put gnus-summary-update-subject-overlay
                         'after-string subject)))))))

(defun gnus-summary-update-subject-setup ()
  (add-hook 'window-scroll-functions 'gnus-summary-update-subject nil t)
  (set (make-local-variable 'gnus-summary-update-subject-overlay)
       (make-overlay 0 0))
  (set (make-local-variable 'gnus-summary-update-subject-hide-overlay)
       (make-overlay 0 0)))
(add-hook 'gnus-summary-prepared-hook 'gnus-summary-update-subject-setup)

(defadvice gnus-summary-position-point (after summary-update-subject activate)

(provide 'gnus-summary-update-subject)

;;; gnus-summary-update-subject.el ends here


Finite automata in LaTeX

March 8, 2004 - Categories: geek
  sachac: hey, remember I asked for something to draw FA's
 [finite automata] with, that was closely connected to LaTeX?
  sachac: well, I found something that seems to beat both
 xypic and metapost, "dot" from graphviz

New module: planner-notes-index.el

March 8, 2004 - Categories: emacs

planner-notes-index allows you to view and publish an index of notes in PlannerMode day pages. The roadmap for this module can be found at PlannerModeNotesIndex. Feel free to help out!


Jester: A test coverage tool that introduces bugs

March 9, 2004 - Categories: -Uncategorized

"Why just think your tests are good when you can know for sure? Sometimes Jester tells me my tests are airtight, but sometimes the changes it finds come as a bolt out of the blue. Highly recommended." Kent Beck

Jester finds code that is not covered by tests. Jester makes some change to your code, runs your tests, and if the tests pass Jester displays a message saying what it changed. Jester includes a script for generating web pages that show the changes made that did not cause the tests to fail.

E-Mail from Calen Martin D. Legaspi

Free calculus textbooks

March 9, 2004 - Categories: -Uncategorized

More stuff about finite automata in LaTeX

March 9, 2004 - Categories: emacs

I had exactly this issue when I was tutoring a group of Computability Theory students. I found that only GNU Pic gave good results. You can embed pic inline in LaTeX documents and have it render properly but it's probably better results to use a Makefile and run pic/groff to get EPS files.


P.S. thanks for all the planner-mode help... I am up and running!!

E-Mail from David O'Toole

CS161 Finals Schedule

March 9, 2004 - Categories: -Uncategorized

Whoops, we don't have a schedule for the CS161 finals yet. I'd like to have it on Thursday morning or on Wednesday. Tell all your classmates who are not currently exempted to e-mail me their schedule for the finals by Wednesday midnight. Urgent.

Should emacs-wiki links be easily editable?

March 10, 2004 - Categories: emacs

With the recent addition of `emacs-wiki-link-escape' and `emacs-wiki-link-unescape', links are now unescaped before displaying. This makes them uneditable. People probably shouldn't be editing the links manually as this can screw up planner links (among others), but I should provide an easy way to edit the link at point. I have a function in my emacs-wiki-config.el to do that. I'll probably bind to C-c C-e, which makes sense.


On snarfing Outlook schedule entries

March 10, 2004 - Categories: emacs

As we now mostly use ~/.diary for our schedule entries, Outlook schedule import is not PlannerMode's problem any more. ;) It would be kinda nice for RememberMode, though.


Template for CS21A project defense

March 10, 2004 - Categories: teaching

- How can we install and play your game? - What problems did you encounter programming the game, and how did you solve them? - What did you learn from this project and how did you learn that? - Aside from the things we learned in class, did you learn anything else while working on the game? - What would you like to learn how to do next?

ASTI Embedded Systems Group looking for interns

March 10, 2004 - Categories: -Uncategorized

The Embedded Systems Group of the Advanced Science and Technology Institute (ASTI-DOST) is looking for highly motivated techie undergrads for it's summer internship program. Qualified applicants should be undergraduates in Computer Science, Computer Engineering, ECE, and related fields. Knowledge in either C/C++, the Linux kernel and OS, or device drivers, etc. is a plus, but all other applicants are welcome to apply anyway. Send in your updated resume to and we would contact you asap. Flyers would hopefully be distributed to the individual departments within the week.

I highly recommend this. =) I was part of the embedded systems group during my summer practicum. Those guys are cool. (And I got to hack on the Linux iPAQ a bit more...)

E-Mail from Paolo Lim

Got httpd.el working. Now to figure out how to get it to work with emacs-wiki…

March 10, 2004 - Categories: emacs

Ah, I have an old version of httpd.el

March 10, 2004 - Categories: -Uncategorized

I need a newer version from if I want to try this. I should also get johnw's httpd-serve.


Planner tasks from notes

March 10, 2004 - Categories: emacs

Planner tasks from notes should update the notes page that they link to while maintaining the special links. This means that planner-jump-to-linked-task needs to be smarter.

Let us look at case 1: Link to plan page note

The plan page has a date link, no anchor. The date page has a plan link with an anchor. Example:

 #A1  _ Foo (2004.03.11)
 #A1  _ Foo ([[SomePage#1][SomePage]])

Problem! The plan page does not contain enough information to reconstruct the link if necessary. I can't think of a neat way to fix this yet. Can anyone?

Mark Triggs: Emacs-wiki publishing should not die on error

March 11, 2004 - Categories: emacs

Mark Triggs submitted a patch to make emacs-wiki not die on publishing errors. I modified his patch to use the standard warning display functions and replace invalid Lisp code with the text "INVALID LISP CODE."


TLA-CVS sync

March 11, 2004 - Categories: -Uncategorized

I should use this to keep savannah up to date.

Dominique’s in the Linux Magazine!

March 11, 2004 - Categories: -Uncategorized

Strategies for Managing Growing Networks
An introduction to building large and scalable networks
by Rex Young and Dominique Cimafranca

Building an extensible enterprise-class network requires the right tools and forethought. This article, the first of two parts, introduces the possibilities and issues of large-scale network design.

Isn't he cool? =)

Relax, Everything Is Deeply Intertwingled

March 11, 2004 - Categories: emacs

I'm also interested in personal information management. Fisher sounds really cool, although naturally I'd need it to be open-source and Emacsable. I find that planner _is_ already changing my life, changing my patterns for doing things. I like how it helps me manage my mail, keep my blog, search the bits and pieces I remembered.

Browsing through Adam Rifkin's entries, I think that he's someone I should learn from.

Incidentally, I have 115,729,742 bytes in my mail.misc now. That's mostly personal mail. I have 3,095,920 bytes in my ~/notebook/plans . That's my blog entries, schedules and tasks. =)

E-Mail from Adam Rifkin

Response to Adam Rifkin; personal information management

March 11, 2004 - Categories: emacs

I like your technical and personal and I think I can learn much from you. =)

In particular, I am interested in personal information management. I maintain PlannerMode, an organizer for Emacs. I use it to blog ( My Emacs setup allows me to hit a keystroke to remember anything from almost anywhere. It automatically captures context and allows me to jump back to that. The source pages are on my hard disk, so I regularly regexp-search through them. This lets me use my blog to remember things.

People are surprised to find my task list, schedule and notes online. They ask me why I don't mind the lack of privacy. I find that publishing my notes works to my advantage. Almost every other day, someone writes in with a bit of info or a tip that'll help me finish a task. Plus, publishing my task list shames me into procrastinating less.

I'd like to work on making it easier to retrieve information from my blog and my e-mail. The Remembrance Agent ( is great for indexing mail and a few other resources. It brings up entries that are relevant to the words around your cursor. You've probably run across the software and related papers—if not, check it out!

I'm also interested in XML. I hacked in RSS export for my blog. It autocategorizes my posts based on a regular expression. A minor modification will let me define arbitrary rules.

Answering JP, someone else on the technical groupblog:

I like the idea of RSS syndication because I want to aggregate and search blogs without having to scrape HTML. With either a simple regexp search or search-engine-like relevance ranking, finding information in other people's knowledgebases becomes much easier. If I download feeds, I can even search offline. Push on creation is useful, but people still need a way to get to old posts.

Orkut community for graph visualization

March 11, 2004 - Categories: -Uncategorized

Might be fun for social network analysis

TLA semi-tutorial

March 11, 2004 - Categories: emacs

I used to really like CVS, but I found it hard to make my CVS stuff available to other people. I didn't want to have to rely on an external CVS server. For a while I used vc's double-backend support to do RCS locally and CVS on savannah, but I found it hard to switch back and forth.

Damien Elmes introduced me to tla. I really like the way I can publish my repository online, over HTTP - no need for special server support. I also liked how I could easily pull in patches from other people. It was a bit hard to learn, but I eventually got a repository up and running. I like how the metadata is kept locally, so I can develop even when I'm disconnected, and yet I can synchronize it with my webserver so that other people can pull updates.

Are you sure you don't want to give it a try? =) Here's how to do it. (Don't worry, I won't feel bad if you don't use this.)

# Set up your own archive

     tla my-id "Your Name "
     tla make-archive -l ~/arch
     tla my-default-archive
     tla archive-setup emacs-wiki--you--1.0

# Register my archive

     tla register-archive

# Mark this revision as the starting point for your own

     tla tag emacs-wiki--you--1.0
     tla get emacs-wiki--you--1.0 emacs-wiki
     cd emacs-wiki
     tla cacherev

# To see my changelog

     tla changelog

# To prepare a log for changes: this will create a ++ file in your
# directory. I usually use M-x add-change-log-entry, and then
# copy-and-paste the changelog entries into the log file with
# a short summary.

     tla make-log

# To see changes

     tla changes --diffs

# To commit

     tla commit

     (or tla commit -- file1 file2...)

# To get any revision, like, say, patch-81

     tla get

# To merge in changes from my tree

     tla star-merge


CS161 Final Exam Schedule

March 12, 2004 - Categories: -Uncategorized

Thursday, 2004.03.25, 9:30 - 11:30, CTC 312

Test notes again for dates

March 12, 2004 - Categories: -Uncategorized


ZOE email client

March 12, 2004 - Categories: -Uncategorized

Slicing and dicing your e-mail. I want an Emacs interface to this, and I want it to deal with more than just my e-mail.

Ideas I can steal:

- keyword search - people - files - links

Cyclic task support

March 12, 2004 - Categories: emacs

PlannerMode now supports cyclic tasks through planner-cyclic.el . Not bad for an hour of hacking. Comments welcome!


Kendra’s valedictorian!

March 12, 2004 - Categories: -Uncategorized

Yaaaaay! Thought so. W00t! Congratulations, Kendra!

An anthology of teacher stories

March 12, 2004 - Categories: -Uncategorized

This anthology seeks submissions including fiction from teachers ("all levels, full and part time, pre- or post-service") on the theme of "things lost and found in our classrooms and in our lives today."

This anthology is connected with Plymouth State College.

For more info, see the URL

E-Mail from

More about diagrams in Linux

March 12, 2004 - Categories: -Uncategorized

From Allan Espinosa:

xfig is a great clipart diagramming editor the "wysiwyg" component does not look too good when zoomed out. for example, a polygon created does not look like a "polygon" but just jagged lines. But when zoomed in the polygon can be seen. The rendering to postscript was also exceptionally good with anti-aliasing. what are you guys using to edit *.fig files? will compilation with xaw3d widgets fix this or the xaw3d libraries are just eyecandy? the screenshots from the site looks nicely rendered but i thinked they zoomed it enough not to show all the ugly aliasing and poor rendering

xfig is good for quick and dirty diagrams but if i want to have good looking pictures with subscripts and formulas I use GNU pic/ dpic with m4 macros. the circuit_macros package from is one of the best schematic drawing packages out there. The output looks like text-book quality schematics!

E-Mail from allan espinosa

Directory of Australian postgraduate research in computer science

March 12, 2004 - Categories: geek, research

How helpful of them! This is so cool.

Information retrieval: online book

March 13, 2004 - Categories: -Uncategorized

Survey of resources

March 13, 2004 - Categories: -Uncategorized

Another book

March 13, 2004 - Categories: -Uncategorized

Microsoft, implicit queries and information retrieval

March 13, 2004 - Categories: -Uncategorized

Free/cheap hosting providers

March 13, 2004 - Categories: -Uncategorized

Testing xref

March 13, 2004 - Categories: emacs

Test notes again for dates

March 13, 2004 - Categories: -Uncategorized


Information retrieval research

March 15, 2004 - Categories: -Uncategorized

Implicit query

Personal information management

- UC Berkeley: School of Information Management and Systems - Canterbury, NZ: - lifestreams - temporal and social structures - : (Oh wow... pretty... Cluttered, but pretty...) - - Chandler -

Searching for all entries related to a person

March 15, 2004 - Categories: -Uncategorized

How would I search for all entries related to a particular person? A BBDB search that resolved URLs would get the explicit bbdb links perfectly, but what about the links automatically derived from annotations? I could search for all links and then parse out the name derived from the BBDB if the link is of the form _____ from/to ____ .

The more general question is:

How do you extract entities (persons / resources) from semi-structured text? I'm working with hyperlinked entries, so I can assume that:

- any e-mail is associated with a person (I hope) - websites will frequently be rooted off another person's namespace - the contact database is populated by people - names will tend to be non-dictionary, capitalized words

I'll start out by getting explicit, consistent links recognized. Then explicit, inconsistent links. Then unlinked names (woohoo).


Eric’s schools

March 16, 2004 - Categories: -Uncategorized

- Stanford - Uni of Utah - Uni of NC at Chapel Hill - Uni of Central Florida - CMU - MIT - UCBerkeley

- UWashington - Princeton - Cornell - Brown - George Washington Uni - Uni of Waterloo - Uni of Southern California

So far, so good

March 16, 2004 - Categories: emacs

muse opens my planner files. WikiPages are still not marked up, but one can argue that this is a good thing and that all links should be explicitly linked anyway. Yvonne Thomson will be pleased by that. Maybe not having automatic WikiLinks is a good thing.


Evangelizing for the Church of Emacs

March 17, 2004 - Categories: emacs

I just wanted to thank you for your Emacs enthusiasm. It is very infectuous and helps me past some of the little cycles of fear I get when I approach Emacs.

E-Mail from V. W. Marshall

Partial list of keywords for projects

March 17, 2004 - Categories: -Uncategorized
:after A function to be run after marking up the buffer
:before A function to be run before marking up the buffer
:footer File to insert at the start of each published page
:header File to insert at the start of each published page
:manual Do not automatically publish files in this project
:path Output directory
:rules Markup rules
:regexp Regexp matching pages to publish
:specials A table of characters which must be represented specially
:strings Markup rules
:suffix Extension of published pages
:tags Custom tags
:browser Function to use for browsing


CompSAt meeting

March 18, 2004 - Categories: -Uncategorized

IT Forum

- documentation of what happened - videos of all the sessions

- point person for IT forum - hosting third national e-learning conference

relatively small gathering, 150-200 people at Escaler, already reserved logistics (august)

- feedback. working relationship with MISA relatively good. few more problems with CompSAt. Surprised. Whoops. Check every week if there are new CompSAt things.

- one briefing first sem, one briefing second sem: what am I in CS for?

- representative from MISA and CompSAt; choose - speaker invitations might be too late

Summarization resources by Stephen Wan

March 18, 2004 - Categories: -Uncategorized


March 18, 2004 - Categories: -Uncategorized

Funky hyperlinking in all files. See if I can steal ideas from this...

More thoughts about my research interest

March 18, 2004 - Categories: -Uncategorized

I _would_ very much like a text-based interface that allowed me to easily navigate through all of the data in my personal store. Zoe ( looks interesting, but it's outside the way I work.

I'm interested in the kind of massively hyperlinked personal information management that you describe in TODL. Text-based navigation through an automatically-extracted graph would be fantastic.

As for implicit linking, word vectors are often used to find similar documents. The Remembrance Agent developed at MIT displays a running list of N items relevant to the words around point. Time and location may also cue document retrieval.

It doesn't have to stop at personal information like TODOs or notes. Why not generate source code as well? With literate programming tools in the style implemented by Leo ( Leo is a tree-based organizer. Cloned nodes allow you to have arbitrary graphs and output is customizable. This is close to what you envisioned with TODL, although it seems to be a primarily graphical tool.

Your description of TODL mentioned the KM system developed by P. Clark and B. Porter, but it seems to require explicitly encoded facts and queries. I would like to do research on implicit linking and querying in semi-structured text. As a fresh BS graduate with some research experience (one published paper in a conference about distributed computing, a few programming competitions) and no formal background in text analysis, I really need an adviser interested in this field. Would you know anyone interested in this?

E-Mail from Joe Corneli

New Muse keyword: :osuffix

March 18, 2004 - Categories: -Uncategorized

If you derive one file from another produced by Muse (ex: PDF from LaTeX from Muse), then use :suffix to specify the extension of the intermediate file (.tex in this example) and :osuffix to specify the output. See muse-derive-style for more details.


Executive board

March 18, 2004 - Categories: -Uncategorized
Escañan, Ealden Esto (43) II BS MIS
Lihan, Marc (40) II BS CS
Gonzales, Vanessa (39) II BS CS
Sta. Maria, Judd (36) III BS CS
Rodriguez, Adrian (35) II BS CS
San Pedro, Gil Russell (32) II BS CS
La Chica, Christopher (28) I BS CS
Li, Neill Wilbert (26) I BS CS

Oooh, subvocalization

March 18, 2004 - Categories: -Uncategorized

From Slashdot:

alex_guy_CA writes "Yahoo News has a story about technology that comes close to reading thoughts not yet spoken, by analyzing nerve commands to the throat. 'A person using the subvocal system thinks of phrases and talks to himself so quietly it cannot be heard, but the tongue and vocal cords do receive speech signals from the brain,' said developer Chuck Jorgensen, of NASA's Ames Research Center, Moffett Field, California. Jorgensen's team found that sensors under the chin and one each side of the Adam's apple pick up the brain's commands to the speech organs, allowing the subauditory, or 'silent speech' to be captured. The story indicates the method could be useful on space missions or other difficult working conditions."

Gary’s calendar code

March 19, 2004 - Categories: emacs

Problem with footnote.el and auctex

March 21, 2004 - Categories: emacs

From Rainer Volz:

In case anybody has the same problem, I (probably) found the source and a workaround.

The error "Symbol's function definition is void: TeX-add-style-hook" is caused by the footnote-mode, which in turn is loaded by muse-mode, as a default minor mode in "Muse/Muse Mode/Muse Mode Hook".

Turning footnote-mode off lets me enter muse-mode (and planner-mode) without the error. Since I rarely use footnotes I can live without footnote-mode.

If you can't: several messages found on the net seem to indicate that the real source of the problem is a path/duplicate file problem between the normal texinfo.el and a texinfo.el supplied by Auctex. footnote-mode tries to load the normal texinfo.el but gets the Auctex version, which then tries to run the function "TeX-add-style-hook". A solution could be to change the load-path for Emacs libraries or to deinstall Auctex.

Hope that helps, Raine

E-Mail from Rainer Volz

Computer science resources

March 21, 2004 - Categories: -Uncategorized

University of New South Wales: Concepcion S. Wilson

March 21, 2004 - Categories: -Uncategorized

Buzzword for the day: named entity extraction

March 21, 2004 - Categories: -Uncategorized

Apparently, it's an established research problem...


March 22, 2004 - Categories: emacs
(defun sacha/total-difference (list)
  "Computes the sum of the differences between successive items in LIST."
  (let ((distance 0))
    (while (cdr list)
      (setq distance (+ (abs (- (car list) (car (cdr list)))) distance))
      (setq list (cdr list)))

I used this to calculate the total distance travelled by a read/write head given the list of tracks.

Named entity extraction in Perl

March 22, 2004 - Categories: -Uncategorized

Language-independent named entity recognition

March 22, 2004 - Categories: -Uncategorized

cal-desk-calendar support for planner-diary.el

March 23, 2004 - Categories: emacs

Travis B. Hartwell wrote:

Hi all,

I patched what I hope is the most recent version of planner-diary.el from tla to optionally utilize cal-desk-calendar. cal-desk-calendar is an add-on for diary-mode which displays the day's events in a neat "desk calendar" like way. I wanted to be able to have this pulled into my day planner pages instead of just a list of the scheduled event. To do this, I added a variable 'planner-diary-use-cal-desk-calendar', which when set to non-nil will cause cal-desk-calendar to be used. I patched planner-diary-get-diary-entries to handle this.

A screenshot of this in action:

To get cal-desk-calendar.el:

My changed planner-diary.el:

My elisp skills aren't the greatest, so I'm open for corrections or enhancements. I hope others can find this as useful as I have.


E-Mail from Travis B. Hartwell

School Bus

March 23, 2004 - Categories: -Uncategorized

It's not much, but if I don't force myself to write, I might never get around to it. =)

She glanced at the clock impatiently, trying to ignore the giggles and peals of laughter that erupted from the classrooms next to K-1B. 8:35. Where were her kids? By this time, Annie would be gazing out the window, daydreaming of castles and princes. Mike'd be fidgeting at the back, unable to keep still. Laurie would be dutifully working on the exercise for the day. She wrung her hands. Where were they? Kindergarten students were almost never late. The school bus service dropped them off at 8:15 everyday. One or two might be truant, but an entire class?

She surveyed the empty chairs with growing concern. Locking the classroom door behind her, she hurried to the principal's office. "My students—", she began, but the look of horror on the principal's face robbed her of breath. She turned to the television set that transfixed him and her world blew away with the smoke billowing from the yellow crushed metal that once protected her angels.

Information retrieval course

March 23, 2004 - Categories: -Uncategorized

Using tla for archives

March 23, 2004 - Categories: emacs

Look! I'm being used as an example!

That's it, I've got to check out this checksumming thing... My name is at stake! ;)

   sachAway: Now that is definitely final, you are famous now.
   sachAway: good idea, while you are it, sign your changes

Stanford: Stream data manager

March 23, 2004 - Categories: -Uncategorized

In applications such as network monitoring, telecommunications data management, web personalization, manufacturing, sensor networks, and others, data takes the form of continuous data streams rather than finite stored data sets, and clients require long-running continuous queries as opposed to one-time queries. Traditional database systems and data processing algorithms are ill-equipped to handle complex and numerous continuous queries over data streams, and many aspects of data management and processing need to be reconsidered in their presence. In the STREAM project, we are reinvestigating data management and query processing in the presence of multiple, continuous, rapid, time-varying data streams. We are attacking problems ranging from basic theory results to algorithms to implementing a comprehensive prototype data stream management system.

MIT application

March 23, 2004 - Categories: -Uncategorized

Deleted: Lost secret key. scheduled downtime

March 24, 2004 - Categories: -Uncategorized will be unreachable from 2004.04.07 to 2004.04.11 as Jijo'll be working on upgrades. I can be reached... hmmm... through erc:// and through (infrequently).

CS planning meeting

March 24, 2004 - Categories: emacs

Dr. Sarmenta: research. Thinking of research programs. On the positive side, CS197 this year went particularly well. Lot of good projects. One of the things that helped out: more groups (groups of two), also, started early. August, start writing proposals. One of the things that I think it's a good sign of is that we can do a lot in terms of research. Our students are pretty capable. The upcoming two batches are also pretty good. We can look forward to being able to tap them. The other thing that helped this year— Jon and I tried to help focus everybody. Those who had research ideas, we encouraged. We also had a pool of projects in mind and some people took them. There was still a significant part of the batch that did database/web stuff, but we tried to spread it out some more. ~1/3. Those ones we screened also. Pretty good batch. Start even earlier, maybe summer. If we have ideas already, it would be nice. For example, for the wireless, we had lots of ideas. Students also have their own ideas, and sometimes they just needed encouragement. I'd like us to have personal research agendas. We should all be working on at least one research project. Think of it as part of our teaching job. Common interests? Real output.

(Information retrieval from semi-structured text; open source development; social network analysis and the Semantic Web. Named entity extraction from hypertext.)

In preparation for the planner meeting, Eric:

- Compile a list of publications - Active research projects we're doing right now - Publications: start with the PAASCU list - Opportunities for people to publish (goal), deadlines - Resources

map of where we are. If we can list projects we want to work on this coming year...

Doc Mana: Can we move defenses earlier so that we can hold a conference?

That would be a good idea.

(Time-ordered information streams; continuous implicit queries)

After we have this, maybe we can have research groups. How MIT worked: each professor has his own project, and there's an umbrella group. There's a theme.

Pretend you're a student and you're looking for a project to do. What would you like to do?

Junior faculty point from Dr. Rodrigo. Research output is one of the criteria for permanency.

CS side. Harder science side. Stuff that's more technical rather than social. Ex: Reality miner. (Hey, that's pretty cool)

Looking for help with the Japanese grid thing. C, mathematical. MRI. Bandwidth minimization, etc. You get to play around with a PHP 4M cluster...

Hey, we have a Simputer! I will borrow one!

Also, the digital video thing Darla did. Jeff volunteered.

Symbian phones.

On to the important stuff — planning logistics.

Subic is traffic, but we'll go for White Rock anyway.

Can we prepare a project proposal?

Dr. Michael Morales of PMA is joining us part-time for first sem. MIS 131. He's into discrete events simulation.

Faculty load discussion. Maybe I can swap my CS152 for CS110.


March 25, 2004 - Categories: emacs

A friend and I were thinking of papers to submit to the Loyola Schools Review. I joked, "What could I write about PlannerMode?" It's an organizer that I happen to really like, but which I don't think I can get other teachers to adopt (Emacs'll scare the heck out of them!).

I thought about why I liked PlannerMode. Planner as a TODO manager isn't particularly special. Although I can assign tasks to categories and so see a breakdown of what projects are taking up my time, Evolution and Microsoft Outlook provide more powerful task support. In other task managers, you can e-mail tasks, assign multiple categories and fill in all sorts of metadata. You can even synchronize your tasks with devices like a phone or PDA. So why use Planner?

I realized that integration into my way of life and automatic context clues are what really make planner tasks worth it for me. I don't have to switch to another application to create a task. I can just hit a keyboard shortcut. Planner uses a minibuffer to get the task description. My windows are not rearranged in any way, and I can look at the data that's relevant to a task. Not only that, tasks automatically pick up context clues, like whom I'm talking to on IRC or the file I'm editing at the moment. This cuts down on the explicit context I need to include and makes it easier for me to bring up the task again.

As a scheduler, PlannerMode is also not particularly distinguished. Sure, it can display my ~/diary, but for that matter so can M-x diary. Evolution and Outlook can give me a more graphical view of my time, sync with my PDA, and coordinate my schedule with other people. Those applications support detailed schedule entries with powerful cyclic options. On the other hand, PlannerMode gives me a personal, plain text view and (at least the way I use it) requires me to edit a separate file to add new appointments. However, it does have one advantage - my schedule is always loaded. I used to use Outlook on Windows, but having my schedule in a separate application meant that I actually looked at it very rarely, as I had turned off reminders because they got annoying.

PlannerMode's notes, however, are what really convinced me. I can hit a keyboard shortcut from anywhere and type my notes into a buffer which automatically keeps context information. After typing the note, I can then categorize it. I think that the critical thing here is that interruptions—fleeting thoughts—don't break my flow. I can just pop up a remember buffer, stow that thought away somewhere, and go back to it whenever I want. In contrast, creating a note in Outlook means switching out of my application, making a couple of keystrokes, typing the note in, and then switching back. The context switches make it hard to keep track of where I am and what I'm supposed to remember. Not only that, I need to enter context by hand. Even though I can color my notes and reorganize them in Outlook, I find the context switch too expensive. I used to keep notes in other knowledge management tools as well. Some applications allowed me to drag-and-drop links into the current note, and that was cool. But that required a manual action, and those applications didn't feel integrated into my way of working.

I guess that's why I like PlannerMode. Unlike other organizers which don't know anything about the applications I use, PlannerMode tries its best to integrate into the way I work, and it's easy to extend. Fortunately I do almost all my work in Emacs, so I can think of my organizer as integrated into my e-mail client, Internet Relay Chat client, web browser, file editor and even games. It automatically picks up context clues from these applications and allows me to easily jump back to relevant files. It doesn't distract me. It allows me to key in data and then it gets out of my way.

The processing that happens in the background (publish to RSS and PHP for me) is a bonus, and publishing my task list and notes online has greatly helped me. It gives other people a way to see what I'm working on and what I've planned for the future. Occasionally people write in with additional resources and helpful tips.

This made me wonder how to integrate it with more applications and make it available to more people. Yes, even the vi users and the non-Linux/Un*x geeks. Here are some of the thoughts that went through my head.

- What if everyone could have the equivalent of M-x remember even if

they're not using Emacs?

- What if we could capture context from any application?

- What if remembered thoughts could have multiple categories and

could be reorganized later?

- What if we could use statistical methods to suggest categories for

text and find related items?

- What if whenever you interacted with the system, related notes would

show up? When you open a file, browse a page or look at a contact, a sidebar could allow you to quickly jump to related topics.

- What if you could visualize your remembered thoughts to see how

they cluster around certain topics?

- What if you could perform powerful search operations on

remembered thoughts?

- What if it could pick up even more context clues, tying together

different applications? For example, if you do your e-mail in Eudora but keep your main contact information in Outlook, wouldn't it be nice if remembering from an e-mail also linked in the business card from Outlook?

- What if we could select some of these remembered thoughts and

publish them in different formats, automatically or manually?

- What if we could share our stream of remembered thoughts with other


- What if computers could generate remembered thoughts as well, and

we could select which ones we'd like to include in our streams?

The more I think about it, the more I feel that this is worth studying further. If we develop this idea, other people can benefit from it - not just those who incidentally use it in the course of using PlannerMode! John Wiegley was onto something good here, and it'd be a shame to keep it only within a niche community. I'd like to make it easy for my mom to use this. =)

For my MS degree, I want to develop a framework for remembering thoughts from different applications. This means separating the front-end, the back-end, and the context gathering functions. Right now, everything is within Emacs. I'd like to split it up so that people using windowing environments like GNOME or KDE can get a nice dialog box if they want and people using other editors on the console can use their favorite editor to add notes. I'd like to split the backend up so that people can remember to SQL databases, plain text files, mail—anything and everything. I'd like to split the context gathering up so that application developers can easily hook into the system.

For my PhD, I want to look into managing all of this information. How do I find relevant documents now that I'll be capturing vastly more information? How can I make browsing my personal data store easier? How does it change my work style? Can I think of interacting with my computer—working on e-mail, writing documents, etc.—as interacting with a stream of remembered thoughts? Can it be my primary interface? If we shared our remembered thoughts with other people, how would that affect the way we work?

Related projects and concepts:

- Yale's Lifestreams project (concept of interaction with

time-ordered data in streams) - MIT's Remembrance Agent (implicit queries for relevant files) - MIT's Haystack - Zoe - Personal information managers - Knowledge managers - Information retrieval - Intertwingularity - Web logging


Paolo’s first webcomic

March 25, 2004 - Categories: -Uncategorized

Looks like Paolo Venegas is starting a webcomic!

ACM Technews: “Search Beyond Google”

March 25, 2004 - Categories: -Uncategorized

From ACM Technews:

Google's enormous success with its search engine—and its apparent inability to develop a follow-up innovation momentous enough to sustain the company's market dominance—is encouraging Microsoft and other companies to invent their own tools that could eventually capture a good portion of ...

E-Mail from

Sniff, sniff

March 30, 2004 - Categories: -Uncategorized

I was trying to get rid of a stray directory called ~ when I accidentally zapped my home directory instead. Fortunately, it was just working through the dotfiles when I noticed.

End result:

- Restored my .emacs and .gnus from the Web. (It pays to publish!)

- Lost my .gnupg keys. Am in process of generating new ones, but old

encrypted data is now gone forever.

- Slowly recovering other dotfiles.

Interesting referrers

March 31, 2004 - Categories: -Uncategorized

ARGH! Microsoft Entourage is cool!

March 31, 2004 - Categories: -Uncategorized

While setting up Microsoft Entourage for my mom, I discovered it had funky linking capabilities. Sniff, sniff. There goes the novelty of my research...

Well, it's still hard to use! And it requires Microsoft! But it's so cuuuuuute...