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

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

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

E-Mail to [email protected]

“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 [email protected]

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

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
, 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
, 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 [email protected]

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

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

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:


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

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
[email protected] and we would contact you asap. Flyers would
hopefully be distributed to the individual departments within the

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

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

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 [email protected] ~/arch
     tla my-default-archive [email protected]
     tla archive-setup emacs-wiki--you--1.0

# Register my archive

     tla register-archive [email protected]

# Mark this revision as the starting point for your own

     tla tag [email protected]/emacs-wiki--sacha--1.0 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 [email protected]/emacs-wiki--sacha--1.0

# 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 [email protected]/emacs-wiki--sacha--1.0--patch-81

# To merge in changes from my tree

     tla star-merge [email protected]/emacs-wiki--sacha--1.0


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 [email protected]

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

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

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,

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

s[email protected] 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
[email protected] (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

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

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

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 [email protected]

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

Well, it’s still hard to use! And it requires Microsoft! But it’s so