Had Diane, Dominique, Jerome, Marcelle, Martin, Peppy and Sean over
for dinner and conversation at our house. Tons of fun, although the
conversation was sometimes uncomfortably risque. My sister dominated
the conversation, telling many stories and focusing it on things like
alcohol and school escapades.

I suppose I’m more of a quiet person. I was thinking of having a chess
game and a Scrabble game run simultaneously, although Taboo or Jenga
would also have been acceptable. That said, I learned a lot about
people today, so it also worked out.

I did this using wine-cvs. The game is installed in my winxp partition,
so I really didn’t have to do some painful (re)installs… It didn’t
really need much sweat, just a lot of download time (I’m still on a 56k
modem, and worse yet, on a softmodem… and its 2004 :( As for getting
the game itself, it wasn’t a problem: the level-up guys were literally
throwing it away at the local mall, and guess what, I found it in a
trash bin… ;)

There are still some problems, though. Running it in fullscreen was
good, except that you can’t type input on the login forms or on the
chatbox. Also, there are some random glitches with the graphics, missing
sprites and general window corruption. I’m guessing some glitches on
wine’s DirectDraw components, so I’m going to try to fix it… :)

To get this feat working on your own box, here’s a mini-howto:

0x0 Get the latest driver modules for your video card: for my nvidia
GeForce2 MX, it was a one-liner: apt-get -t testing -u install
nvidia-kernel-src nvidia-glx-src, then a quick compile ;D
0x1 Get wine: apt-get -t testing -u install wine ought to be enough,
though getting wine-cvs might be more worthwhile, especially if
you're goin' to play with wine daily, like me.
0x2 Setup wine: apt-get winesetup, then winesetup, that should do.
0x3 Install RO, or if you're on dual boot, run RO: my winxp
partition is on /mnt/winxp, so I just do a (cd
/mnt/winxp/Program\ Files/Gravity/RagnarokOnline && wine
Ragnarok.exe), and it just works, assuming you installed RO on
default paths.

Prepare the pan over medium heat. Put a pat of butter in it. When the butter melts and starts sizzling, drop in the onions and the garlic. Stir so that it doesn’t burn. The butter will help the heat distribute evenly.

After the onions and garlic change color (you can wait for them to be slightly brown, if you want), put in the beef. Add lots of salt and pepper.

Brown the beef, breaking up the chunks and stirring briskly.

(optional) After the beef has browned, you can drain it to get rid of some fat. (If you’re using an electric stove, you can turn the heat off.)

Pour the beans into the pan. Stir until you’re happy.

I seem to have gotten the hang of onions and garlic. Whee! That is: I
get a significant color change that’s not just caused by the butter,
and the onion bits become soft and sweet.

I forced myself to write today (last night?), and here is the result:A Fairy Tale. Like many things, this story will
mean different things to different people. It has some meaning, but
should not be taken as definitive. The true test of it as literature
would be if complete strangers can understand it, but what complete
stranger reads my ShortStories, anyway?

It doesn’t feel very fairy-tale-ish. Perhaps I need to make the plot
formulaic. ;)

ACM SIGGRAPH is a special interest group in computer graphics. Since
1974. It was founded to promote the generation and dissemination of
interactive technologies. The parent organization is ACM. ACM is the
world’s first educational and scientific community. Fats wrote to them
in 1995 in the hopes of establishing a professional or student chapter
in the Philippines, which unfortunately never materialized. Some
people from SIGGRAPH in Singapore contacted her. The senior delegation
intended to visit SE Asia, so she’s coordinating in Manila. Last time,
actually, they had plans, but they backed out because of SARS. They’ve
already booked the tickets. Also, a reminder, the SIGGRAPH meeting is
not a UP initiative – I’m just coordinating the meeting so that they
meet the right people. Practictioners and developers in the field.

Particulars of the visit

Communication from Lee Young Tsui from Nanyang University. 4 people in
the delegation. President of SIGGRAPH, Alain Chesnais (find out right
pron), VP Alan Chalmers, and YT Lee. The delegation will meet its own
costs for travel and accommodation, purpose: connect with local
activists and determine level in region and how SIGGRAPH can help.

For SIGGRAPH, this is a fact-finding mission and they expect a very
exploratory discussion – round-table type. They want to meet with
people responsible for development in the field. This might also be
an opportunity for a technical seminar before or after the meeting.
We have three seminars; pick one or two. They also hope to hear some
local works.

Given the time constraints, it would be good for the delegation to
stay at one place for one day, then move to Makati in preparation for
the trip. Moderate refreshments will be enough. Informal setting. Key
objective: interact. (Yay!)

In coordinating this meeting, I asked several institutions to host. I
have asked UP, Lasalle, and Ateneo. Ateneo responded fastest, so it
well be held there. I’m very pleased that we have the OIP to help out
hosting the delegation.

Several objectives:

- bringing the right people together. How are we going to strategize

the interest of SIGGRAPH in Asia and the Philippines? I want this
relationship to be mutually beneficial. How do we put these
strategies into the presentations we are going to deliver? What
kinds of presentations should we deliver? What questions and issues
are we going to raise? For example, the people from Indonesia want
to raise the issue of the price of software. Of course, some of us
want to use open source software. We try to balance these things.

- I like the possibility also that we are going to forge renewed

relationships between our different organizations. A lot more
exciting results from this meeting beyond just the SIGGRAPH.

Before we go to the itinerary, are there any questions?

Luis: So you want to talk about the strategy now?

Well, if we can do that now. Of course, we can also do that over
e-mail. Important to look at the itinerary.

Martin: Is this meeting open to the public?

Yes it is.

Martin: Can the Ching Tan Room accommodate this?

Glen: ~ 80 people.

Martin: We might as well promote it. When do we start promoting?

Richi: After this meeting.

Fatima: Three choices for facilities – here, Artspeak, and Norelyn’s
in Makati.

Delegation there at Artspeak. The one at Ching Tan Room will be a
little more intimate, not as open to the public. We’ll decide when we
look at the itinerary.

Rich: What exactly will we doing in terms of the art of it? Bit of a
background on our interest in this project: none of us here in the
gallery are experts. First immersion in the field was actually
through Fats. New Media works last year, decode. The online component
is still ongoing. The online exhibition space of the museum. Our
interest really is having artists have course to utilizing new tools
in art-making and opening up new possibilities for Filipino
artists to compete internationally for the art they produce. Somehow
we want to get that in.

SIGGRAPH actually has a travelling art show. They have the annual
conference, small conferences, chapters around the world,
publications, awards, contests… They also provide for an exchange
of information between the organization and decision-makers in
government. Crucial that we have the arts in the meeting for
clarification before we go to the itinerary.

I will take care of expenses incurred during the transfer. No
problem with the rooms. Anything for clarification…? They will be
billeted at Alingal Hall.

Glen: Two of the rooms will have dual bathrooms, but the other has common.
Is that okay?

No problem. (rent-a-car joke.)

February 20, Friday, is the round-table discussion proper at the
Ching Tan Room at JGSOM. Walking distance, yes.

Richi: We might need you to come in the day before to see if the room
layout is okay.

10 AM to 2:30 PM right? Is there any chance that can be extended?

Richi: No, sorry, it’s also used as a classroom. We can set it up in
the morning and they won’t touch it.

Martin: Would Escaler be too big for this?

Richi: I don’t know.

Martin: There’s a real lecture hall.

Sacha: It’s kinda large.

We begin at 10 AM. 10:15, Welcome remarks.

Richi: We’re trying to ask the academic vice president.

Glen: She’s willing to host one of the lunches.

Richi: Commitment to lunch or dinner?

Martin: Father Ben?

Richi: we’ll see.

1030. Introductions by myself. Presentation from SIGGRAPH.

And then 1055 a presentation by Norelyn on the graphic expo.

Norelyn: 20 minutes is actually already quite long. Clarify a few
things. Graphic industry is quite diverse: applications could be
print, web publishing, multimedia and animation. Being as diverse as
that, we don’t really have certain data or scientific data where you
know how many graphic designers are in the field. Considering digital
photography. There’s no data on practicing professionals in the
Philippines and how much commercial volume is the industry running
over an annual rate. The association of advertising suppliers of the
philippines is just catering to one group. animation, multimedia
production houses, commercials on tv. Of course we have the print
side, the large-format billboards that you see all over EDSA,
print-ads in the newspapers. I’m also a member of ASAP and I can’t
see any scientific data on industry volume in terms of pesos. Well,
since I’m the only one doing a very very mixed trade show catering to
graphics professionals. Dent GraphicExpo made, contribution to
industry over 10 years. Reason why she put her resources in this
trade show for the past 10 years and how they had been supported by
other organizations. The Graphic Expo is also supported by the
vendors like HP, Epson, Sony, and all others in the industry from
print to web publishing, even software, and of course CSB has always
been a partner to us. I will present Graphic Expo, the only trade
show for graphics in the country, but maybe 10 minutes is okay.

Martin: In presenting the industry, also professional organizations?

Norelyn: Yes, as far as I can. Pockets all over the country. EARP,
iDN Club Philippines. Outdoor advertising association of the
Philippines. PhilMUG. Philweavers. ACPI

Martin: Thanks for that input. I’m the moderator of Philweavers, so I
can encourage more people to contribute. Motion graphics. SIGGRAPH
might be very interested in that – interactive media as well. Thanks.

(Father Rene Javellana, director of Fine Arts program in Ateneo)

Important thing: How active the industry is. Details – a visit to
facilities, meeting with artists in the Philippines – following day,
when they go to Makati.

Luis: How active is the industry here? A lot of it is going into
advertising, media. Is this local?

Norelyn: Graphic design – print, motion graphics (multimedia,
animation). Professionals are also involved in outsourcing. Key
sector of DTI. Animation sector for outsourcing jobs for film and
other things here in the Philippines. The mission now for the
Animation Council of the Philippines – they’re in touch with DTI and
they’re one of the primary sectors. File transmissions over the
Internet. Digital network. Even before the advent of technology,
several production houses are doing cel animation. When they do cel
animation, they do a lot of cel animation sent to Japan. Scanned and
digitized in Japan. 80s, cel animation, now, migrated to digital.
Price of the software is another question. The thing now is
outsourcing, but even before the advent of digital technology –
utilized Philippine creative cartoonists for Disney and anime and
several others. I want the delegation to see what Roadrunner is
doing, UNITEL…

Also, if there are specific issues in the industry, maybe we can get
them to help out. Maybe that would be our chance also to present the
issue.

Luis: I have a couple of questions following up on this. Do you have
a sense of… So, we’re doing a lot of outsourcing. Do you have a
sense of how the rest of the world sees the Philippines in terms of
outsourcing? I wonder if part of our strategy should be promoting our
artists. How do they perceive the Philippines?

Norelyn: It’s always being promoted by the government. Their clients
have really, really taken a look at the Filipino creativity and trying
to balance the work ethic. Deadlines… Artistic temperament. No
formal discipline. Weak points I’d heard from them. Aptitude is there.

Luis: So it’s well-known. The reason I

Norelyn: Our software proficiency has to be really beefed up.

Luis: Is that something we’re lacking right now?

Norelyn: Not really. Certification institutes. Photoshop, Illustrator,
Indesign, Macromedia certification… for very very specific software.
The upgrades for these are just a matter of months. We were only at 7
and now there’s 8. That was just 6 months ago. Industry professionals
have to take new certifications for the new versions. Our creativity
has to be enhanced by the digital tools – software proficiency. There
are so many training institutes handling that, especially in the
graphics arts industry. Prices are quite steep in terms of
certification. I only do it twice a year. PCCI. Helps people in the
advertising industry to come for night classes for refresher courses
and upgrades. We are very much abreast with the worldwide industry.

Luis: Are our graphic artists well-versed in all the new… like
Maya…

Norelyn: Yes. Alias, Maya… Their applications are actually more
geared toward TV commercials. Very specific specialization. People who
are doing TV commercials… There has to be a reengineering. I’m glad
CSB provides software for its students and trains it in very very
specific software. They’re preparing their students for the industry,
and that’s very good. That’s a good thing. On my side, in the Graphic
Expo, I do several competitions, and we always invite several levels.
Buoyant industry.

Luis: One last thing. I bring up these things because I was in
Singapore two weeks ago and my personal area of research is in grid
computing, which is doing geographically distributed computation. I
was in Singapore talking to some people there. Sun Microsystems.
They’re trying to promote grid computing. How can we promote it in the
Philippines? In other countries, pharmaceutical research, etc. Their
idea was (they don’t know how to pursue it) to take advantage of the
Filipino’s creativity when it comes to graphical stuff. They were
suggesting something like… Singapore has all the computational
resources, but lacked the talent. Do the creative stuff in the
Philippines then ship the data to Singapore where they can crunch the
numbers. ASEAN multimedia grid? Outsourcing for Hollywood.
Interesting idea. If well-known for talent, maybe we can do that.
From the computational side, there also is… A lot of these things
already use grid computing, render farms. Anyway, that’s an idea that
I just ran into a couple of weeks ago. I think this is something that
SIGGRAPH will find interesting. I’m not sure.

You can try C-e n which will read you the text until you stop the speech
by pressing C-e s but the cursor will stay at the position it was just
before you run the command. Sorry I don’t know the command which will
cause the cursor to move in the same time the text is read.

this only reminds me that we filipino dont really like to have or at
least to see a tagalized version of international apps..
isn’t good to have this recognition for our country..

I think it’s nice, like the way I think it’s nice that cellphones come
with Filipino prompts and Filipino sections in their manuals. I know a
number of people who set their phones to the Filipino interface. I
think it’s nice to have Filipino as a choice on ATMs. I think it’s
nice that train announcements are done in English and Filipino.

But personally, I prefer the English terms because that’s what I
started out with, at least for technical things. I use a cellphone,
not a selpon. I’d rather see “Settings saved.” than “Na-save na ang
settings mo.” or something like that. <shrug>

I’m not against the Filipino language. If having localized interfaces
means that more people will feel comfortable on the Net, then well and
good.

sachac: you know so much about me!
shapr: Whoops. ;) EmacsChannelDemographics, plus #emacs
shapr: I have notes on other people too.
* sachac laughs.
how did you know I'm both a Finnish and Swedish resident?
* shapr is impressed.
You must have a superior memory.
shapr: BBDB. ;)
wow
shapr: I also know you've played around with IPv6...
shapr: ... #symbian #widian #twisted @#emacs #haskell #orkut, last time
I peeked...
* sachac laughs.
Data collection. I can delete it from my BBDB if you
want, but it's kinda cute knowing this trivia.
I should learn how to use BBDB
how do you know that? ;-)
* shapr can guess
impressive.
no, I don't mind at all.
It's nice to know someone outside my direct family is interested enough
to record that info about me :-)
* shapr feels ego swell
anyways,
last I remember (without BBDB) you were doing a graduate degree, is that
still true?
has the FSF lured you away from your secret tropical hideaway to the land
of big money for open source coders?
* shapr googles for sachac
bbdb?
big brother data base
shapr: Actually, this started from our conversation about Dvorak in
#emacs (don't remember when, though) when we noticed the high proportion
of Dvorak users among Emacs users.
it's written in elisp
o_O?
Peacimowen: A contact manager for Emacs.
you know emacs?
I know of emacs
Peacimowen: I've also used it to simulate bot-like behavior, though.
shapr: I took a few units toward an MA Education after finishing my BS
CS, but as CS Ed isn't really a research area here, I'm eyeing schools
in Australia (very active in CS Ed conferences).
sachac: have you seen my "I am not a koala" kinesis remapping?
shapr: ERC hooked into BBDB, so when I /whois, it captures as much
information as I can.
remapping originally suggested by kensanata, he of much brain.
I've never touched emacs.. I just know it exists.
Peacimowen: it is very powerful
shapr: As it can, that is. No, I haven't seen your kinesis
remapping... Peacimowen: It's really cool.

CleverCS is a forum for clever computer science ideas, particularly in more applied areas. The emphasis is on ideas that most people would understand without much technical expertise in the area. The ideas may come from recent publications or may merely be speculative discussions on possibly interesting new research directions.

Gerald R. Generoso wrote in to say that http://www.bloodshed.net has a
simple and easy-to-use tool for programming. This is probably
Bloodshed’s DevC++, which I rather like, but don’t like as much as
Emacs. ;)

With viruses such as MyDoom spreading, technophiles are chastising users
they view as wanting the benefits of digital technology while shirking from
the responsibilities that come with using it. World Wide Web Artists
Consortium President Scott Bowling writes, “It takes affirmative action on …http://www.acm.org/technews/articles/2004-6/0206f.html#item3

Have you ever heard of SEMA? It’s a fairly esoteric
system for measuring how good a software team is. No,
wait! Don’t follow that link! It will take you about
six years just to understand that stuff. So I’ve come
up with my own, highly irresponsible, sloppy test to
rate the quality of a software team. The great part
about it is that it takes about 3 minutes. With all
the time you save, you can go to medical school.

The Joel Test
1. Do you use source control?
2. Can you make a build in one step?
3. Do you make daily builds?
4. Do you have a bug database?
5. Do you fix bugs before writing new code?
6. Do you have an up-to-date schedule?
7. Do you have a spec?
8. Do programmers have quiet working conditions?
9. Do you use the best tools money can buy?
10. Do you have testers?
11. Do new candidates write code during their
interview?
12. Do you do hallway usability testing?

Does anyone have any experience with the Bosswave FinRing, out of
Taiwan? It’s a little mouse that you wear on your index finger like a
ring, and you operate by tilting and pressing the buttons with your
thumb. It’s wireless, and has a little usb receiver, which they claim
acts like a standard usb mouse (so you can plug it into any os that
knows about usb). The receiver looks to be about the size of a cell
phone, which I guess is a bit big, but the mouse itself seems like the
ideal wearable mouse solution. Very unobtrusive. Or you can get it
in hot pink, and have it be very obtrusive.

... some conversation about how I'm only 20 and already a teacher ...
sachac if you were my teacher I'd get you drunk
houd1ni: Tough. I don't drink.
and make funny pictures of you :)
sachac uhm... no vice ?
no smoke drink drugs ?
houd1ni: Clean.
what kind of a man are you ?
houd1ni: Obviously you haven't researched enough about me.
sachac I didnt research nothing about you.
sachac I was only bored and looked at different pages.
houd1ni: Short answer: I'm not.
sachac you are not what ?
houd1ni: Hmm. Actually, there's another answer to your question. I am Homo sapiens sapiens. ;b
sachac you are confusing me
are you homo-sexual ?
:)
what does homo sapiens sapiens mean ?
sachac what is homo sapiens sapiens anyways ?
whats this bs about homo sapiens
:)
uhm...
uhmm
noone knows what home 2 x sapiens is.
:)
houd1ni: You probably don't know what it's like to be one. ;)
cmon sachac enlighten me
Will all the Homo sapiens sapiens in this channel please raise an appendage?
(Nothing obscene, now. =) )
sachac cant you drop the riddles ?
I'm a low iq guy
power to the people
oh yeah all the homo 2x sapiens make a club
:)
sachac you are alone.
I guess I really am the only Homo sapiens in here.
Oh well.
Figured as much.
sachac is the only homo 2 x sapiens in the world
:)
... time passes ...
oh man my stomach hurts..
I hate girls.
...
sachac you are smart. if I was a girl I'd merry you
hehe
I thought sachac was a girl :/
/notice darko`` Shhhh! I was having too much fun!
-darko``- ACK! Okay :)
is not.
he is homo sapiens sapiens
whatever that means.

viking667 yesterday I was very impressed w/ sachac
*** Your new nickname is sachAway
he is a smart dude
I didnt expect to see smart people from .ph
I have to admit that.
houd1ni: mrmm? What did he say?
now I changed my mind.
ah nothing in particular
oh - she, sorry.
general stuff.
it's a he
sachac isn't a he.
are you sure ?
I know her.
bahahahaha
houd1ni: remember how long I've been here for - since 1997
dude viking667 we are nick arround here
you cant be sure it's a she
houd1ni: you think everyone who uses Linux and uses it WELL has to be a female?
a male, that is
houd1ni: as I said, I know sachac. I've been around long enough to correct that mistake.
houd1ni: would you like to see a pic of her?
syn-ack I guess yeah.
houd1ni: lemme find it....
houd1ni: http://www.offdwall.net/gallery/linops/abh
syn-ack I'll take alook
dude you cant convince me.
you know they got tricked by a woman...
and she became a Pope
houdini, well, it came out, when she gave birth on easter, on the stairs of St. Peter in the vatican ;)
Nico hehe see ? you cant be sure sachac is a female
houd1ni: actually, we can be sure.
houd1ni, as a matter of fact, after some time on IRC, you know whom you can trust, and whom not ...
Several of the ops could theoretically have "met" her eyeball
especially if you have met someone ... not saying that i have met sachac
Nico alright !
I'm conviced
it's a she.
I see girls on the page syn-ack pasted
I can see nico too :)
houd1ni: Ive not pasted a thing to that site yet...
syn-ack ?
Ive commented on the site, but I havent pasted,
http://www.offdwall.net/gallery/linops/aaf
nico :)
houd1ni: um, yes, thats nico, and?
there is nothing i omit ... you just need to do what i am telling you
syn-ack I'm excited.
viking667 dont you have a picture ?
houd1ni: I rely on previous piccies I've seen.
yes
viking667 do you have a picture of yourself ?
She looked pretty good in her kit too.
houd1ni: actually, no - not one that's on the computer.
I haven't had my hand on a scanner that actually WORKS for a LONG time.
viking667 I see.
viking667 I've seen some really nice girls in that pictures
like dreamd or somehting.
I'm impressed.
houd1ni: please do us a favor....shoot yourself.
syn-ack aaa I tried. missed the target.
too bad. :/
syn-ack what is your problem ?
houd1ni: you sound so abosulty AMAZED that a WOMAN can use linux....like they are sub par to a man...Its
sickening
syn-ack you dont understand. I have absolutely nothing against women.
heh heh heh - look out, houd1ni - they're after you but... I didnt meet women that can use linux
that's all
houd1ni, my mother can use linux, and she's 64
Hell! My WIFE uses Linux!!!
I discovered something new and I'm impressed
what is wrong with that ?
My old roomate used Liux just fine
She's most certainly NOT a Computer geek.
( and she is a elementary school teacher, not that this is a problem really ;)
and she was a girl.....
Nico woman usually preffer windows-like OS's
liux too
or OS/2 you know
The funny thing is - gI gave her a choice of Linux or Win98, she chose Linux.

sachac: oh you got called "dude"? :)
I think I called sachac a "dude" :)
that was quite funny
sachac: log?
sachac: i just scroll back :P
I'm still not convinced it's a she. :)
* coke slaps houdini
that works well today, reading houdini's mind ;)
Nico haha
don't offend ladies :P
houdini, sachac owns you
coke hold on here... a lady tricked some men and she became the Pope
* sachac whistles innocently.
chexsum nobody owns me.
houdini: 1 0wnz j00. ;b
sachac alright. prove it.
words are only words... the facts matter/
houdini: lots of facts on sachac on google
facts have been presented
houdini: I don't have to convince you. Your opinion doesn't really matter to me. =)
sachac that's always a good and evasive excuse isnt it ?
* coke thinks it is the best excuse not to care about what others think of you
coke it's easy to write an article or something. you document yourself and write the paper.
houdini: They say the best excuses are true ;)
houdini: riiight... even when it is on other big sites?
hehe
coke, but as well sometimes the best thing you can do
coke big sites like... ?
houdini: just google
coke I will use google...
alright..
houdini: Anyway, prove your opinion matters to me :)
sorry chief...but I dont see any of those big sites.
enlighten me.
this is not a contest or anything.
just my curiosity
* coke thinks it is not worth wasting time on houdini
houdini - you dont know what to look for
chexsum sacha chua
bleh

forcer: If I run across an interesting URL, I file it right away with some context clues.
forcer: If I need to refer to it again, I use a small elisp function that searches my notes.
forcer: It's a bit more context-sensitive than bookmarks, and it allows me to share the data with other people.
ah
forcer: If I feel diligent, I put it into my BBDB. Then I can hippie-expand from it in my mail and in chat.
forcer: For example, tldpM-/ is
so to say, you have a list of URLs and associated text :)
forcer: The Linux Documentation Project (http://www.tldp.org) is an excellent resource for newbies and
experienced users alike. Check out its HOWTOs and guides for tons of information. There's a Linux Cookbook in
there too, I think...
:)
forcer: Not really. I have random blog notes which occasionally have URLs. I can search on that and on the text
around it.
forcer: I can also figure out when I visited a site...
ah
forcer: ... and since planner.el captures all sorts of annotations, I can usually even tell you how I found out
about the page - it gets linked to an e-mail or to another planner page...
forcer: The e-mail links take me directly to the article, if it hasn't been expired yet.
forcer: If not, well, it's a message ID and it has the author's name, so I guess I can just search. forcer: Pretty useful system, a bit more flexible than bookmarks (at least for me.)

“You’re moving from Windows to Linux. You’ve decided you want the
stability, flexibility, and cost savings of Linux, but you have many
questions in your head. Isn’t Linux like Unix? Isn’t Unix hard? Where do
you begin to make sense of all of this? Is there a map you can follow?

This roadmap is designed to help you take the experience and knowledge
that you already have in computing and redirect it to working in Linux.
It’s not the only reference you’ll ever need, but it will help you get
past some of your first obstacles and adjust to a new and, I think,
exciting approach to computing. As you follow this roadmap, you’ll
discover many new resources to help you learn, troubleshoot, and manage
Linux.”

couldn’t help but laugh when I saw the date on that Dilbert strip
forwarded to you by Eric. didn’t occur to me that you’d fit the
description of the problem co-worker Dilbert gave the first time I
read it. =)

This is a special mode for editing LaTeX files which use the skak package.

\usepackage{skak} is a beautiful way to typeset chess
moves and board diagrams in LaTeX. This file implements
a special editing mode for such documents ontop of the
AUC TeX and chess.el packages. Both packages are very
flexible and extensible. This file can be considered glue
code to unify the power of both packages.

ELIP installation requires some EMACS ‘smarts’ and had EDB, the EMACS
Database, as a prerequisite. This is all explained in the
documentation.

The distribution comes with a small Hawaiian language database, a
large Spanish vocabulary database, a large Esperanto vocabulary
database, an Esperanto grammar database, and the “I Have a Dream”
speech for learning by memorization.

I’m halfway done checking the second long test in operating systems,
and I have a few thoughts about it. As a teacher, I suspect I’m
supposed to go along with the official line, but somehow, I feel that
something’s wrong here.

The test was easy. It was just memorization and regurgitation. Because
the different sections covered the same material and the same
questions were asked in several ways, you can actually figure out most
of the answers based on the questions in other sections.

The hardest part was the modified multiple choice. I don’t think that
was because of any inherent difficulty in the subject matter, although
the analogies were pretty nice. Rather, modified multiple choice was a
pain because it devolved into a set of true or false questions where
scores were given only for particular combinations.

I believe that tests shouldn’t just measure students’ test-taking
skills. I don’t feel comfortable with this particular kind of modified
multiple-choice test, although I realize that it forces the students
to think about what statements really are true and which ones aren’t.

We missed an opportunity to reinforce process simulation, too. My bad.
Maybe I should have volunteered for that section of the test.

I don’t really know why I’m reflecting on this. Maybe it’s because I
don’t want to just make my students memorize things that aren’t
personally meaningful to them. I don’t want to take points off because
it’s the bakery algorithm and not the banker’s algorithm or things
like that. I don’t want to just fill their heads with facts that
they’ll forget or half-remember during standardized examinations like
employers’ tests or the JITSE.

I have rediscovered the joys of nethack thanks to nethack-el, a
package that allows me to play that insanely addictive RPG from within
Emacs buffers. I hear there are even Dvorak bindings for it, which is
a very good thing.

I had a wimpy wizard who quite luckily and through no fault of her own
acquired a master mind flayer as a pet (tame kitten discovered a
polymorph trap). Did Really Well until I died due to some impatient
attacks on a queen bee. And it was going so well… <sniff>

You’re right. Geekiness is the state of wanting to know and
understand everything. True Geeks can geek on any topic, after very
little preparation.

Example: My degree is Chemistry, I work in computers, and I do
theater tech/SF conventions/other cons/etc. on the side. My GF is a
mechanincal engineer (and just as much a geek). I make her crazy
sometimes because just talking about what she does at work I’ll pick
up enough about stuff (that she has a degree in and I don’t) to make
informed suggestions as to how to fix problems they’re having.

This goes hand-in-hand with the state of “Being an Engineer”. PEs
will make you believe that it involves much training, experience,
and certification. I claim that it is a state of mind, encompassing
a certain level of geekiness, and a whole lot of logical problems
solving.

I’ve added `planner-rss-category-feeds’ to planner-rss. This examines
the text of the note and copies it to different RSS feeds depending on
the regular expression match. In the future, I might actually just run
a lot of hooks on the thing.

kanaldrache: yes, therefor i want a mapping function … take a
picture of that level when you leave it so that you can chekc nine
levels later “Mhh, where was that expensive shop? Level 4 or level
7?” without walking back or use you /oT

I might not be able to give a lecture on filesystems this Friday (or
it might whiz past with my mile-a-minute speech), so here are some
detailed lecture notes on file systems to help you review for the
final exams.

File systems. You know about file systems because that’s one of the
most obvious things about your computer. You know that your documents
are hidden somewhere on your hard disk. You know that programs are
stored in another directory. You know that you can make your own
directories to organize your programs and your data.

Why are file systems important? Well, remember what happens during
brown-outs or power fluctuations? If the power goes off and then on
again in a computer lab without uninterruptible power supplies
(UPSes), people will lose all their unsaved work. That’s because the
kind of memory we use loses its data if it doesn’t have power. Hard
disks, on the other hand, keep data even when the computer is off – so
save often!

Attributes

Let’s take a look at the data associated with files. Different
operating systems keep track of different things, but here’s a short
list.

- Name: The files in a directory should have unique names. This lets

us refer to that file.

- Type of file: What kind of file is it? Is it an image? A text

document? A webpage? This could help the operating system determine
the best way to open this file.

- Location: Remember our discussion about sectors, tracks, and

cylinders? Where is the file on the hard disk? In terms of the
logical filesystem, in what directory is the file?

- Size: How large is the file? How much data is in it right now?

- Protection: Can other people edit this file? run this file? read

this file? Who can work on this file?

- Time/date: When was it last modified? (Sometimes the operating

system stores more information, like creation time and access time)

- User identification: Who owns this file? (Windows 98 and below

don’t care about this.)

Operations

- Create, write, read, delete: Makes sense.

- Reposition within a file: When you’re reading a book and you want

to flip back to a certain place, you don’t have to close the book
and then open it again. You can just go to a certain position. Same
with files. Some files will let you easily jump to a specified
position within the file. On the other hand, some files will only
let you go forward and not back.

- Truncate: Get rid of everything after a certain position.

Access methods

- Sequential: You can only access it going forward. You can’t go back.

To read the 7th line in the file, you have to read the first 6
lines.

- Direct: You can jump around. This is also known as a random-access

file.

- Indexed: This is like the way a dictionary works. You can jump

around, but some places (like the beginning of entries for each
letter) are marked so that you can jump to them easily.

Partitions

Your hard disk is divided into partitions (PC term) or volumes (Mac
term). These are the “drives” you see on Windows. You can split up one
hard disk into a C: drive and a D: drive. If you learn about something
called RAID, you can combine two hard disks into just one drive.
(“Drive” is a confusing term, though, as you can have C:, D:, E:, F:,
etc. on just one hard disk.)

DirectoriesSingle-level directory

Long, long ago, MSDOS didn’t have directories. Seriously. Well, there
was one directory, and all of your files had to be under it. You can
imagine how this sucked, as all of your program files had to be in the
same place as your data. Not only that, you were limited to 8
characters for the filename and 3 characters for the extension.

People used clever names like AAAAAAAA.TXT, AAAAAAAB.TXT and
AAAAAAAC.TXT for their files. Of course, after six months, who could
remember what the contents of each file were?

The diagram shows a single-level directory. The directory entries
are “cat”, “bo”, “a”, “test”, “data”, “mail”, “cont”, “hex” and
“records”. All of these entries point to files.

Two-level directory

Now we got to organize them by user, at least. Still sucked because
all of your files were in just one directory, but at least you didn’t
have to worry about other people’s naming schemes.

Tree-structured directory

This is the kind of directory tree you got used to in Microsoft
Windows. You can create directories (aka folders) inside directories
inside directories inside directories.

Links aren’t actually real directories. In Microsoft Windows, they’re
fake – for example, you can’t cd into them from the command line.

Acyclic graph directory

Remember the ln command from Unix? This is where links in Unix come
in. (They’re _real_ links, not like the fake ones in Microsoft
Windows. =) )

ln somefile anotherfile

creates a link: anotherfile will refer to the exact same file that
somefile refers to on the hard disk. They point to the same place on
the hard disk.

This allows you to have acyclic graph directories, because the same
file is referred to in two or more places.

General graph directory

ln returns! This time, we use it to make a symbolic link.

ln somefileordir anotherfileordir -s

Symbolic links can point to directories, so it’s perfectly acceptable
to make a link that points to one of your parent directories and thus
get into some kind of loop.

Basically, a general graph directory is anything that could have
these loops.

File protection

You don’t want just anyone messing around with your files. Remember
Unix file permissions and chmod? This slide talks about some of those
permissions, although the access groups the slide uses are different
from Unix permissions. Under Unix, it’s user, group, others. Other
operating systems support access control lists (ACLs) – this means
that instead of just giving permission to one group, you can specify
exactly who gets to do what to the file.

Allocation methods

Here we start looking at how things are physically stored on your
hard disk. You can start up defrag to get an idea of what it looks
like.

Contiguous allocation

It’s like contiguous allocation for memory. All the space the file
needs should be in one continuous block. The nice thing about it is
that it’s easy to figure out where all the data is – just find the
starting position and count off so and so many bytes. If you need to
allocate space for a new file, try either first-fit or best-fit.
Downside of this is that file sizes are fixed, because once it’s been
allocated and another file has been allocated next to it, the file
can’t grow.

Linked allocation

The file is treated as a list of blocks, where a block is a fixed-size
contiguous collection of bytes on the hard disk. The blocks don’t all
have to be together on the hard disk – each block in the file points
to the next one. Plus side: files can grow, just link in new blocks.
Minus: To read the file, you have to hop around the hard disk, plus
all of that pointing around wastes space because each block has to
refer to the next one. Solution: use groups of blocks (aka clusters),
but these might be bigger than you need – if so, then space is wasted.

File allocation table

Form of linked allocation. The links to the next block are kept in
one large table in a certain place in the hard disk.

Indexed allocation

Still uses blocks, but instead of each block pointing to the next one,
one block has an index that points to all of the blocks. This block
is called the inode (index node) under Unix. If the file is too big
for one index block, the index block refers to other index blocks.

Free-space management

How your computer can tell how much space you have free.

- Bit vector/map: keep track of every single block! Requires 1 bit per

block (1 if it’s occupied, 0 if it’s free).

- Linked list: Like the linked allocation scheme (one block points to

the next one) except this keeps track of the free ones.

- Grouping: The first free block has an index of free blocks (as many

as it can). If there are more free blocks than will fit in the
index, it just points to another index block.

- Counting: Keep track of the beginning of each set of free blocks

and how many free blocks there are.

Directory implementation

How directories work. That is – how do directories store info about
files within them?

One way is to just keep a list of all the filenames in that directory.
If you have a million files (and it’s happened!), this can get
_really_ slow.

Hashtables are supposed to be faster at lookup, so naturally there’s
a way to use them too.

Consistency checking

Remember the scandisk that shows up when you improperly shutdown your
computer? This is what’s happening. Your computer’s checking if what
it thinks your filesystem should be like is different from what it
actually is.

Arrays are a neat way to store a fixed number of items. You can
declare and create arrays and loop over them. They’re perfect for
board games and other applications where you know exactly how many
items you’ll need to store.

EXERCISE: (Due 11:59:59 PM Sunday)

Download http://sacha.free.net.ph/notebook/cs21a/address.zip and unzip
it into a convenient directory. Open the HTML file and run it in
JCreator, or open a command prompt and type “appletviewer
address.html”. (If it gives you “Command not found”, try
“c:\j2sdk1.4.2_02\bin\appletviewer address.html”.

E-mail your answers to me by the specified time.

- Put 0 in the index field and a name in the name field. Press Set.

Put 1 in the index field and a different name in the name field.
Press Set. Put 0 in the index field and press Show. What happens?
Put 1 in the index field and press Show. What happens? (Note that
the data doesn’t get saved to the hard disk – you’ll learn how to do
that in CS21B!)

- What is the largest number that you can use in the index field

without getting an error?

- What is the smallest number that you can use in the index field

without getting an error?

- How many items can this simple address book store?

- As practice in applets, components, layouts and arrays, write your

version of this applet (ReallySimpleAddressBook). It should look
like this applet and behave exactly like this applet. (5 points)

- As practice in objects and arrays of objects, create a Person class.

The Person class should have a name attribute and a phone attribute
(both Strings), and it can have any methods you want. Make a
SimpleAddressBook applet that has a “Phone:” field after the Name:
field. It should set and show this as well as the name. Instead of
having two separate arrays for name and phone (you might forget to
update one of them – I do that all the time!), use just one array of
Person objects. (5 points)

- Make a SearchableAddressBook applet. Add a “Search by name” button.

When pressed, you should display the first record whose name equals
the one in the name field. NOTE: Use .equals(…) instead of == to
compare strings. You can also use .equalsIgnoreCase(…) if you want
“ABC” to be considered the same as “abc”. (5 points)

You may ask other people for help as long as you type and understand
your entire submission.

Many of you have probably already heard of Meetup.com due to its
prominence in the Democratic primaries. In order to help LUGs, school
groups, and advocates to better and more easily co-ordinate gatherings
we’ve started redhat.meetup.com.

You’ll see us adding functionality over the coming weeks, and we’ll be
co-ordinating a special global meetup on April 1, 2004, so I urge you to
go ahead and sign up now. If you haven’t used it, it’s a great way to
spin up activity, to meet others interested in Red Hat, Linux, F/OSS
face to face in a casual setting.

One of my students wrote about the CS161 finals, and I’m posting a
public apology. =)

I heard that the cs161 final exam(juniors) was going to be this
thursday Feb 26. Is it possible to move it to next week(march)?
Also, I think that we have too little time to prepare. Like what
cliff said, it should have been announced two weeks before. I have a
history exam, cs154 exam, philo presentation and a synthesis paper
due next week. It would be a load off my back if you moved it to
march. Thanks! =)

I know, I know. I’m really sorry about the confusion. I didn’t attend
one of the CS161 teacher meetings and when I asked what had happened,
they didn’t mention that they’d hold the junior finals at the same
time.

It’s also my fault that you have too little time to prepare. I should
have emphasized the need to read ahead during the sessions I let you
study on your own. I did that knowing that it was next to impossible
for me to teach a new topic while a test was coming up. I could never
concentrate on new topics as a student, and I hoped that as college
juniors and seniors you would be able to schedule your own time
wisely, using the free time to study and review more effectively than
I could help you do in the classroom. As few approached me for
consultation, I thought this was the case – and the improved average
on the 2nd exam might bear that out.

Still, I also know that many students would have been tempted to not
study for the finals if they felt they had another month for it, and
again I should have cleared that matter up earlier. I had been
planning to use the extra time to review the material more carefully
for the CS students, particularly as the equations we’ll be taking up
on Monday seem to be a favorite on IT exams like the JITSE.

I have most of the CS students in my classes. Personally, I would love
to have juniors take the exam in March, not only because you’ll have
more time to prepare for it but also because then we might be able to
test for more than just cursory understanding of the slides. I don’t
know if the other teachers will agree to this, though, as we will then
have to significantly change the test. If we’re going to do this, we
have to do it for all the CS students, not just those in my classes.

Dozens of high-tech innovations, ranging from small PCs to blogging tools
to “augmented reality” software, were spotlighted at the Demo conference in
Scottsdale, Ariz. Perhaps the most incredible product on display was Total
Immersion’s D’Fusion software, which uses Windows XP hardware to render …http://www.acm.org/technews/articles/2004-6/0220f.html#item4

Programmer Rael Dornfest keeps track of IT innovation and innovators as
part of his job putting together O’Reilly & Associates’ Emerging Technology
Conferences. He says the key to understanding technology trends is to find
the trend-setters, or alpha geeks, that are widely recognized by their …http://www.acm.org/technews/articles/2004-6/0220f.html#item10

The following students are to take the CS161 final exam on Thursday.
They can e-mail me at sacha@free.net.ph to find out their pre-final
grade and what they need to score in order to attain a target letter
grade.

It should compile cleanly under Emacs 21.3 (CVS). I’m still trying to
figure out how to install the fsf-compat package under XEmacs so that
I can get it to compile cleanly there.

WARNING! Many user-visible changes. In particular, you will now need
to require a bunch of other things in order to get the old behavior. I
should figure out how to set up the appropriate autoloads. In the
meantime, add some variant of the following to your .emacs:

Here’s sample code for ArrayLists, which is a Java class that can
store any kind of object in an array that automatically grows.

Note: ArrayLists store objects. Generic objects. You’ll probably
need to convert (“cast”) them to another type before you can use them.
See example below.

Note: Only objects. You can’t store doubles, ints or booleans unless
they’re wrapped in another object. You can’t say list.add(5), but you
can wrap it in an Integer object and say list.add(new Integer(5));.
Then you can say Integer x = (Integer) list.get(0);
System.out.println(x.intValue());

Here’s sample code for ArrayLists, which is a Java class that can
store any kind of object in an array that automatically grows.

Note: ArrayLists store objects. Generic objects. You’ll probably
need to convert (“cast”) them to another type before you can use them.
See example below.

Note: Only objects. You can’t store doubles, ints or booleans unless
they’re wrapped in another object. You can’t say list.add(5), but you
can wrap it in an Integer object and say list.add(new Integer(5));.
Then you can say Integer x = (Integer) list.get(0);
System.out.println(x.intValue());

ASSIGNMENT: We don’t have classes on Wednesday. Add totals to this
code (should display total for all orders shown). Also, practice
layouts by making this neater.

Once you get the idea behind this applet, redo it until you can write
it from scratch without referring to your notes. Feel free to make
similar programs. This will take a few hours, but will be well worth
it!

Send me your OrderApplet.java with totals and whatever other
files you’d like me to look at by 11:59:59pm on Thursday.

I don’t expect everyone to have a fully-working game by tomorrow, so
most of your partial points will come from the notes. “It doesn’t
work.” isn’t enough; I need to know why it doesn’t work, if it used to
work before, what you’ve tried doing to get it to work, why you think
it doesn’t work, etc.

Along the way to your first milestone, you may have encountered the
following problems:

– ObjectInputStream seems to hang when you create it.

That happens when both sides of the connection try to create object
input streams at the same time, but the other side hasn’t opened an
object output stream yet. Fix: create the object output stream first
before you create the input stream.

How are you doing your networking and repainting code? If you’re doing
animation, repaint() should be in one thread and your networking code
should be in another. You shouldn’t do them in the same thread because
then repaint() will only happen whenever something is received from
the socket connection. Also, make sure you have delays somewhere!while (true) { repaint(); } means your CPU will spend
most of its time repainting. Add a Thread.sleep in that loop so that
your computer has time to do other things.

– You can’t write certain objects over the stream.

Make sure the object is serializable and all of its attributes are
either transient or serializable as well. You really shouldn’t be
sending your entire application over the network – what is the other
side going to do with all those textfields? Mark many of your
attributes transient or create a small, simple object that
encapsulates the data you need to send.

– You’ve sent an object over the network connection and you’re calling methods on it on the other side, but the one on the first computer isn’t changing!

That’s the way it works. If you send an object from computer A to
computer B, computer B isn’t working on the original object but on a
copy of it. Any changes on A won’t be automatically sent to B and vice
versa. The correct thing to do is examine the object and perform
different actions locally.

If you really need to get something like this working and you have
plenty of spare time, read up on RMI (Remote Method Invocation). It’s
out of the scope of CS21B, though.

I want to be able to switch between different list views of a
document. For example, one might want to look at a text document as
a list of characters, a list of words, a list of phonemes, a list
(tree) of syntactic clauses, a list of sentences, or a list of topic
sentences that link to paragraphs, etc. Characters just happen to be
the simplest.

This is part of designing a mode I call todl-mode (for TODo List).
TODL is a variation on LISP specially designed for cyborgs :). The
idea is that if you can switch between different list views and add
hyperlinks to elements of each view, you will have a very powerful
tool for processing information.

I think of it as being somewhere in between lisp-mode,
emacs-wiki-mode, and something like outline-mode. It should be
possible to implement a TODL variant for any kind of code (so
todl-mode is also something like font-lock-mode).

A short quiz will be given, then the rest of the time will be allotted
for projects. The deadline for milestone 1 (basic networking) has been
extended to tonight, 2004.02.24 11:59:59 PM.

Milestone 2: Networking (20 points total)

Due Monday 2004.03.01, 11:59:59 PM

- 15 points of 20: Play a two-player game where one player connects to

another.

- 20 points of 20: If you have a game that can take any number of

players, any number of players should be able to connect to a game.
If you have a game that takes only a certain number of players (ex:
2), you should have a server that allows people to meet other people
who want to play that game. Your program should take care of setting
up the appropriate connections.

Again, submit your source code and your notes on:

- changes you made
– problems you encountered
– solutions found
– problems you still haven’t solved
– next step

Take a short break from my usual chaotic female dark elven wizard
character and try out lawful human valkryies. Don’t do too well.
Magic? What magic?

Go back to elven evoker and try the same old thing. Oh, good, ring of
slow digestion. That’s really handy. Spellbook of wizard lock? What
the heck? What am I going to lock?

Pick up elven dagger quickly. Ooh, artifact weapon very handy.

Leisurely go through the first few levels. Make friends with almost
all the pets I find. No problem with food. Head down normal branch and
get to around level 8 before heading back to do the Mines.

Run into my old bones files on a _very_ scary bones level. See, I
spent time as a green dragon in one of my past lives, so I had a
couple of baby green dragons hanging out at Minetown. Hostile. Plus
assorted pets from my other past lives. Shudder to think of what would
happen if pesky monsters found all those wands that wizard characters
leave lying around. Run until main grave is found.

Forget that I can’t E-word on a grave. ARGH. Step to one side,
scribble E-word, and whack away with Sting. Grab loot – all cursed,
of course – and dump it on altar in Minetown, which is unfortunately
not co-aligned. Have not seen co-aligned altar all this game, and am
resigned to fact of life.

Run into my other bones file in the temple. Wand of fire picked up
earlier very useful – burn E-word nto ground near altar (remembered
not to try to write on altar!) and dump stuff there. Have to make
several trips back and forth as stupid previous evoker died on top of
altar. Pick up useful-looking uncursed/blessed things. Pseudo-identify
cursed bag of holding from vanishing contents; salvage a couple of
uncursed spellbooks from it (wheee!), including +oSleep.

Discover sleep is absolutely wonderful spell as can whack away at
sleeping monsters for a number of turns before waking them up. Hope
they’re dead before then.

Jump through hole in temple to rest of Minetown, followed by two tame
cats. Wander around collecting stuff.

Oops. Magic trap. Telepathy very good thing as hate the idea of
killing my pets.

ACK! Bloody Green-elf has a /oCM! Scribble E-word a few times
(having it as a keyboard macro Really Helps!) and go after that
blasted elf. Hurry to grab wand before other monsters get bright
ideas. In meantime, this section of the mine has gotten Really
Crowded…

Wander around some more. Decide to see what monsters are still on the
level.

Oops. Right. Dropped the blindfold and picked up a towel a few turns
back, which meant that my blinding device was now at (m) instead of
(n), which meant…

Uh oh. Accidentally put on an un-IDed ring.

Uh oh. It’s stuck.

Oh no! Cursed ring alert! Run up the stairs quickly. If I can get this
ring off in the Minetown fountains (apologies to the guards!), then I
might still be able to survive…

Find myself changing into a vampire on the way. Uh oh. Ring of
polymorph. While this isn’t a half-bad form, I’m going to have to
periodically drop all my stuff if I change to a weak form…

I scrawl the E-word with my fingers. Hey, that’s pretty cool.

Change into a vampire bat. Do nothing for a few rounds, as can’t move
a handspan with all my loot. Can’t even cast spells.

Change into a vampire. Hey, high strength can be quite handy sometimes.
Continue running for the fountain.

Dip the ring into the fountain. Whew! It glowed!

Slip the ring off and wander around as a vampire waiting for my form
to return to normal. Tell myself to remember to use m instead of n to
blind self.

Head down to Mines’ End. A quick !PoOD tells me that someone’s already
cleaned out the gem cache. Fortunately, the culprit is standing right
to me, so I zap the dwarf with force bolts until he implodes. Grab
whatever loot there was.

Head back up.

Wander around.

Take off armor (can’t rip that apart now, only set I have), put on
uncursed poly ring, and wait. Turn into gray dragon. Ooh. Am satiated
and have ring of slow digestion, so have fun laying gray dragon eggs.
4 hatch.

Take off ring and return to human. Am followed by 4 dragons. Other
pets died some time ago.

Get teleportitis. Was hoping for teleport control, but can’t have
everything.

Go to big room. Uh oh. Wands on the floor. Make run for all the wands
within reach, then beeline for the down-staircase. Darn, Sokoban
stairs on this level too, but shouldn’t go up there while still no
teleport control or rock-bypassing attack like magic missile.

Go down. Have to leave pets behind, sniff sniff, but nasty troll with
poleaxe is very convincing.

Wander around. Decide to go back up, having remembered that bones file
left cursed magic whistle that will still work some of the time.

Uh oh. Former pet dragons no longer tame. Darn! They were so nice at that.

Run up, run down to Minetown, grab whistle, and try to dunk it in
every fountain found. Eventually uncurse it.

hehe. Thanks, I’ll try and make it there. Wow, you’re the only
prof I have who’s still very much excited about the class. :) My
other profs seem like they just want to bite our heads off and get
it over with. hehehe. j/k

Successfully applying object-oriented techniques requires a
thorough understanding of basic object-oriented concepts.
However, teaching and learning these concepts have proven to
be very difficult in the past.

Using traditional programming languages, concepts could be
introduced step by step. Abstract and advanced concepts, like
for example modules and abstract data types could be handled
as an afterthought. In the object-oriented paradigm, the basic
concepts are tightly interrelated and cannot easily be taught
and learned in isolation, making these tasks much more
challenging.

Switching to object-oriented development is not just a matter
of programming languages. Focusing on the notational details
of a certain language prevents students from grasping the “big
picture”. Many traditional examples are furthermore not very
suitable for the teaching and learning of object-oriented
concepts. Many popular examples (like for example ‘Hello
World’) actually contradict the rules, guidelines and styles
we want to instil in our students.

Educators must therefore be very careful when
selecting/developing examples and metaphors. Rules and
misconceptions that students develop based on doubtful
examples will stand in the way of teachers and learners as
well.

This is the eighth in a series of workshops on issues in
object-oriented teaching and learning. Previous workshops were
held at OOPSLA’97, ECOOP’98, OOPSLA’99, ECOOP’00, OOPSLA’01,
ECOOP’02 and ECOOP’03.

SUGGESTED TOPICS

We solicit contributions describing experiences, ideas and
resources to support the teaching and learning of basic object-
oriented concepts. We especially welcome submissions on the
topics listed below, but will consider other topics as well:

This workshop will bring together educators, researchers, and
practitioners from academia and industry to share and discuss
experiences, ideas and resources to support the teaching and
learning of object-orientation. We also want to encourage
trainees or students to report experiences from the learners’
point of view.

People from other areas than computer science or educational
research in general are also welcome, but they should clearly
state how their work can be applied to the learning and
teaching of object technology.

Attendance to the workshop is limited. Participation will be
by invitation only, based on the organizing committee’s
evaluation of a position paper. The submission should be
accompanied by the author(s)’ main message and a desired topic
for working group discussions.

Contributions should not exceed 8 pages in length and be sent
to J=FCrgen B=F6rstler (jubo@cs.umu.se) no later than April 5. We
would prefer PDF format, but will also accept Postscript,
Word, or HTML files.

Each submission should be accompanied by (1) a short biography
of the author(s); (2) the author(s)’ main message/position;
and (3) a desired topic for working group discussions.

The new Scanner class provides the long awaited simplified keyboard
input! Finally no more need to rely on third-party classes or suffer
through painful declarations and conversions. Thanks to all of you who
have added your voice to those of us urging Sun to address this issue.
The Scanner class can parse input based on regular expressions as well.

I have CS161 finals for seniors from 1:30 to 3:30 today, so please use
class time to work on milestone 2.

This is:

Feel free to ask your classmates for help or help your classmates
figure things out. You can share tips, talk about bugs you
encountered, and even look at other people’s source code. However, you
are responsible for making sure that you understand the code in your
program. What you get out of an education is only as much as you put
in – if you just copy and paste, you’ll have a hard time later on! =)

Milestone 2: Networking

- 15 points: Two-player game
– 20 points: A server that can accept all the people who try to connect to it. The server should make it easier for people to find people to play with, and should automatically set up the game once the player chooses opponents.

These milestones are guidelines. If you miss them or do not implement
them exactly, I want you to send me detailed notes on what you _are_
doing. You are responsible for your results. If you miss the
milestones and do not complete your project, you may want to
reevaluate your priorities or learn how to manage your time wisely. =)

sachac: want to take over emacs-wiki?
sachac: damien handed it off to somebody else, but I think you would do a good job
sachac: and then you'll control the package that planner.el sits on
sachac: enable you to do more extensive mods.. :)
johnw: can you offer any advice on using planner-diary.el? not having any luck getting diary entries to
display in my planner.
johnsu01: i've never even heard of planner-diary.el!!
johnw: Mark Triggs is in charge of emacs-wiki now...
johnw: I've got a couple of patches for it, and am waiting for him to merge the ones he likes.
sachac: well, since nobody asked me, I am offering it to you
johnsu01: Oh! That's Thomas Gehrlein's package, right?
sachac: but if you two are working together already, then that's fine too
johnw: Haven't heard much from him, but I'd love to help out. Thanks for the offer! =) I'll let him try it out
first; if he's too busy to maintain it, then I'll offer to take over. emacs-wiki is way cool.
sachac: awesome; i'd rather see it in your hands, because i know you and know the good work you've done with
planner
sachac: if you're doing planner and remember both, all the more reason to add emacs-wiki, schedule and timeclock
to your list :)
all i'm going to say is, it's really too bad you are so young and so far away; you are an awesome girl, sacha --
and quite an uebercoder yourself!

Actually, subcategories are already handled by separate plan pages, so
I don’t need subtopics any more. I would, however, like to see all the
note headlines, possibly bounded by certain dates. That would be fun.
In which case, I don’t need to merge anything in from planner-notes –
I can just work with the export functions I already have in
planner-experimental.

I think the work you put into Planner et al is fantastic. I have spent
quite a bit of time over the past week poring over your web page and .el
files and just wanted to take a second to say thank you for all your
work. I have recently switched to Emacs as my text-editor and sincerely
appreciate sites like yours which help me understand it better. Thank
you!

I firmly believe that stuff in example tags should not get marked up
on the page, and may have to fiddle around with the faces in order to
get that to happen. Actually, restoring it to the bottom makes
sense…

Finally got emacs-wiki highlighting just the way I want it.
Apparently, it bypasses the normal font-lock thing. Changes: I made
the example tag remove all the properties from the bounded region.
Here’s the relevant snippet from my ../emacs/emacs-wiki-config.el:

If you’re having problems with emacs-wiki not highlighting the first
time you view a buffer, you’re probably set to use jit-lock or
lazy-lock. Don’t. Use (setq font-lock-support-mode nil) instead, so
full font-locking will always be performed. You may want to use the
list so that this is only done for planner-mode and emacs-wiki-mode. =)

I’m looking for an RSS aggregator (web-based or command-line) that
will take a list of feeds and produce an RSS feed. If it’s web-based,
it should only refresh when I supply a password or use a cookie.

If you like to automate your day to day work-flow you might like Agroups.

Short Overview

Action Groups are groups of action entries that an Emacs user can
create, save, name and access quickly. In a general sense these actions
are any automation that a user can imagine to help with his activities.
The user instantiates these automations as action entries which are a
specific instances of some action from the current collection of
actions. Actions can be as simple as finding a commonly used file in a
buffer, to more complex like executing a previously defined keyboard
macro, to very complex like an unimaginable whopper defined by a user
created Action Template. Action Templates are an extensibility feature
of Action Groups and allows the user to easily create new actions,
Agroups supplies a useful predefined collection of actions created with
Action Templates.

A collection of action entries is called an action group. Typically
the user associates each action group with a concentrated activity such
as a project. Each entry of an action group is associated with a
specific instance of an action. A group itself is actually an entry
associated with a special action called `group’ so that a group entry
can be yet another group itself. This implies that groups can have
subgroups and subgroups can have subgroups and so on. This gives the
user structured organizational capabilities.

The Action Groups facility was designed to allow easy and fast
creation of groups and entries to help automate an Emacs user’s work.
At the same time it was designed to allow fast execution of the
entries. To this end a user can use the Emacs completion facility to
execute entries or key bindings or a combination of both.