This rant’s from Julius B. Legaspi III:
Thank you for those who sent their comments so far.
Rest assured I will try to accommodate your inputs.
Before we engage in endless debate (all talk no
action), the SA’s appeal is only to try bringing back
the Intrams again (as any other high school, special
or not does). Sports development is a basic teenager
right! The disappearance of the Intrams and support
for varsity teams are just symptoms of a BIGGER
problem. We cannot solve EVERYTHING right away but we
have to start somewhere.I’m MAD because I see those who really wish to work
hard and yet their efforts are never enough to do
well. I’m not talking about the exceptionally gifted
but the ordinary Pisay scholar who simply strives to
be the best he/she can be. Ito yung tipo na may
schedule pero pag pinagkasya nila lahat ng gagawin,
kinakain ng mga kung anu-anong requirement pati oras
ng pagtulog at weekends. Isn’t anything SACRED
anymore? Besides you are only YOUNG once! Kahit high
IQ ang isang bata, bata pa rin siya. I’m not defending
the SLACKERS although some of my students and
non-students accused me of coddling them. NO! I really
wished to understand EVERYONE! To answer the
naysayers, I can cite a lot of students who were
written off in high school who are now the BEST
persons they could be. Since I gave them leeway then
and guided them accordingly, they have gained the
confidence they may have lost during their Pisay
years. There might be a loophole in the entrance exam
but still we have to hope that you have to take it
twice, somehow mahirap na mambola to get yourself in.
Sabi nga ni Dr. Penano-Ho, head ng Phil. Gifted
Association, these are the ‘cream of the crop.’ How
come in certain subjects most of the students fail?
Shouldn’t we be alarmed with that na parang charade
lang pala ang klase? Teachers try to finish the
lessons kahit konti lang nakakaintindi. Estudyante,
magpapanggap na kaya na hindi naman. Tapos, pagdating
ng exams, bagsakan. Ano, solusyon? Tutors? (No offense
to those who offer this service, it was my bread and
butter then in college). But dependence on tutors only
make the classroom irrelevant. Di na makikinig sa
teacher dahil may magpapaliwanag naman later. Nagturo
pa ang teacher. Umattend ka pa ng klase.
Magkanya-kanyang tutor na lang sila lahat. MORO-MORO
(no offense to the Moros) ang nangyayari.Yes, Pisay is a special school so don’t give
importance to the arts and non-science endeavors. We
can still true to our mandate when we provide AVENUES,
OPPORTUNITIES for students to dabble from time to
time. Take note dabble not really specialize. Who
knows? Their calling might really be in the arts.
MAGPAKATOTOO NA TAYO. All your college life, di ka
masaya sa course mo dahil may kontrata ka sa Pisay.
Ano mangyayari? Matagal ka gagraduate dahil babagsak
sa walang gana o di talaga kaya. You end up becoming
miserable and might even commit the greatest
injustice, take away your life, ending all of your
posssibilities. If you’re meant somewhere else, follow
your HEART. Even Pisay acknowledges people like Butch
Dalisay, Jessica Zafra, a music conductor, a
powerdance instructor, chefs, homemakers because
though they didn’t end up as strictly scientists and
engineers, their Pisay training made them more
effective in those non-science endeavors. Being
scientific means being effective in whatever you do.
Making things better is TECHNOLOGY. You are only
effective if you LOVE what you do. If you love what
you do, you do it BETTER then SOCIETY benefits.
Development is never far for people who are happy and
at PEACE with themselves. They have a sense of
purpose.I’m not pulling YOUR legs. Go to Friendster, read
those testimonials. I think in my own small way, I was
able to empower each and every one student I met.
Since they believe in THEMSELVES, I know CHANGE will
come. It may not be NOW but IT WILL. These replies to
my sincere letter are only the tip of a snowballing
affirmation that we are zeroing in on something. Some
of them might teach in Pisay, become directors, become
DOST staff, or even government officials. If they
don’t forget that they were once students, they will
be more sympathetic.Why am I very optimistic? I have some students who
already graduated and still studying who have
developed attitudes that will help this country rise.
You may accuse me of grandstanding since I’m
migrating. I won’t be part of the change. Love for
one’s country knows no distance. I can still inspire
people even when I’m away. Some are already doing it.
I’m so happy this school year that I have also gained
the courage to also reach out to students who are not
in my class. I may not be able to teach the lower
years but some are already enlightened.Proof that things are changing. This Thursday they
agreed to give students a break. Especially for the
4th year, this was IMPORTANT! Do you know that after
periodic exams, they had to put up the FAIR in October
take note! Yet, while they were doing that some were
still taking post-quarter requirements. Ang intindi ko
pag post-quarter para lang sa mga mag-mamake-up pero
ibang usapan na kung buong klase may post-quarter. Any
logical person would ask: di pala kaya sa isang
quarter bakit pinipilit? If you recall my point in the
earlier letter, some of the topics uulitin din naman
sa college. Case in point: among the science subjects,
bio lang ang wala halos bagsak and most of those who
graduate end up taking bio. Why? The Bio unit really
took to heart their students pleas. They reviewed
their curriculum and only retained the essential ones,
yung talagang basic na kelangan nyo in the future if
you wish to pursue the field. Masaya sila sa Bio. May
sense of wonder. They really feel they are learning
not just cramming stuff in their heads. Sabi nga ni TJ
of 01, pakialam ba nya sa mga equations kung sa field
niya wala naman siyang relevance. Imagine if all
teachers insist that the world revolves around their
subjects. If you are a HS student, you are like
working for 10 bosses. Sa mga nagwo-work na or
nag-O-OJT, di ba isang boss pa lang ang hirap na
pakibagayan, tapos may mga asungot ka pang co-workers.They are wondering how come students in Diliman are
not achieving in contests, passing the UPCAT like
before. If you really know your Pisay history, then
classes ended at 2pm. So as your older teachers
attest, students then could be free to explore some
more and be more creative (which is a basic ingredient
of any innovation). Being free doesn’t mean your idle.
It means you relax your mind by playing sports, engage
in clubs, chat with your teachers. These informal
chats are actually more enriching because the teacher
will be more able to connect the lessons to a
student’s life.STOP the INSANITY! Why are we such in a hurry to cram
everything in a teenager’s head even if he has a HIGH
IQ? Quality over quantity! Less is more! The geniuses
can take care of themselves, these are the type who
don’t care about anyone else. We must help those who
strive but certain structures make it difficult for
them to achieve their potential.Please don’t hesitate to react because after we get
the Intrams approved, curriculum review is never far
behind.Ito ang totoong pakikibaka! Remember corruption of the
best is the worst. We are making sure we are educating
the cream of the crop right so they can help more. The
massses will always follow anything that leads. A
pisay scholar is born to lead.Your reactions affirm that small efforts DO make a DIFFERENCE!
________________________________________________________________________
Want to chat instantly with your online friends? Get the FREE Yahoo!
Messenger http://mail.messenger.yahoo.co.ukTo unsubscribe from this group, send an email to:
Pisay99-unsubscribe@egroups.comYour use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
perl -e 'print "*" x 80 . "\n"'
I didn’t know about x number…
http://c2.com/cgi/wiki?ExtremeTeaching
Hey, this looks like a really cool idea.
Other teaching pages from that site:
- http://c2.com/cgi/wiki?EducationalTechniques
- http://c2.com/cgi/wiki?LearningProgrammingLanguages
- http://c2.com/cgi/wiki?PatternsForTeaching
- http://www.pedagogicalpatterns.org/
- http://www.pedagogicalpatterns.org/examples/LearningAndTeaching.pdf
- http://csis.pace.edu/~bergin/PedPat1.3.html
- http://st-www.cs.uiuc.edu/~chai/writing/classroom-ed.html
- http://sourceforge.net/developer/diary.php?diary_id=10317&diary_user=258611
Way cool.
http://www.hi.is/~oddur/publicat/98/cs1article.html
Resources
- http://www.cs.otago.ac.nz/survey/resources.html
Lewandowski, G. & Morehead, A. ( 1998).
- http://www.eecs.berkeley.edu/IPRO/Summary/98abstracts/jasonh.2.html
- http://www.cc.gatech.edu/people/home/idris/ESPFiles/
There is a CVS-version (21.3.50.1) available at http://www.crasseux.com/emacs/ .
Thanks to extreme teaching link blogged earlier, have discovered how much fun it is to brainstorm course content on index cards.
<grin> I am relatively certain that the current ACM contestants
way, way outclass me. Kudos to everyone for training very hard! I’m
going to have to read and catch up – _after_ the contest…
Maybe I should’ve just said no to Chipi. ;) That way, I could have
joined or trained. Ah, well, s’okay; looks like they’re having tons of
fun.
Concept Mapping on the Palm for kids! Hi-Ce Palm.Tech Project Hi-Ce -
Lab for Highly Interactive Computing in Education at University of
Michigan
Project idea: maybe students can work on making
freemind networked, but this is a
fairly big project and I haven’t wrapped my mind around it yet.
Quick links:
March 9, 2010 – Thanks to Courtney Barnett for the update!
- Finished my ACM test cases (yay!) – I had to scale the bounds down a bit.
- Picked up a book on Flash MX and another book on Java by dissection.
- Explored concept mapping and downloaded a number of packages.
Reader feedback:
This just interest me, sacha? is that a feminine name? if
thats so, wow, I hardly ever knew that there are Women Computer
Scientists. Well, its just coz, mostly male dominate the computer
science realm. Anyways, What made you interested in Computer Science?
What have been your obstacles during your student life as a computer
science student?
Top-down chart mode?
quiz every day
5 points
not all objective
chapter a day
not pressured to memorize objective things
helpful reviews
do what we feel like doing – different ways to solve a problem
reporting difficult if you don’t know what you’re working on
summer 4 hours every day
copying instead of understanding
abap fun
syntax difficulties make it less fun
The nonprofit mySociety.org recently launched an initiative to
fund low-cost, socially beneficial IT projects that operate over
electronic networks. The organization has encouraged the online
submission of proposals for the first two projects, and …
http://www.acm.org/technews/articles/2003-5/1105w.html#item8
MIT researcher Hiroshi Ishii has long explored alternate ways for
people to view and manipulate data that offer more flexibility
and simplicity than keyboards, monitors, and mice. The
“tangible” interfaces Ishii’s team has developed, which …
http://www.acm.org/technews/articles/2003-5/1105w.html#item17
PCs have shrunk in size and grown in power, but their
architecture and design methodology is relatively unchanged, as
is their chief uses of word processing, graphic presentation, and
spreadsheets. However, PC manufacturers will likely approach …
http://www.acm.org/technews/articles/2003-5/1107f.html#item7
The home page of the project is http://www.freebsoft.org/speechd-el .
Miguel Paraz saw my TODO on finding a Java
interpreter and he pointed me to
Beanshell. I’ve been thinking about
using a Java interpreter in my introductory computing class in order
to help my students grasp Java concepts more easily. Students can use
the Beanshell interpreter to explore arithmetic expressions,
variables, input (through JOptionPane), Boolean logic, ifs, loops, and
even a little bit of object-oriented programming.
It’s an experimental technique, and I have some concerns regarding the
transfer of knowledge. I need to make sure that they’ll be able to
work with standard Java programs well.
Another interactive Java environment I want to explore is
BlueJ. It’s explicitly designed for introductory
computing and it emphasizes object-oriented programming.
With only a few days before the start of classes, I do not think I’ll
be able to prepare well enough to use either environment next sem.
However, I would like to experiment this summer, if we are still
offering CS21A then.
I think BlueJ suits my needs more – it allows people to evaluate
expressions easily, too – but I’ll need to find or make sample
projects before I can deploy it. I think it might make a good starting
point, though…
… which means I need to work Really Hard if I want to try it out
this sem.
- http://www.rdv.vslib.cz/skodak/en/bluej/draw_tutorial/index.html
- http://www.sleepinggiantsoftware.com/FGJ/tutorials.htm: This is actually pretty cool, as it explains dependencies. I think I’ll use it as a starting point.
People have raised some concerns, like whether or not BlueJ will insulate programmers too much. I think, however, that it might work for the introductory computing course.
- http://www.rdv.vslib.cz/skodak/en/bluej/draw_tutorial/index.html
- http://www.sleepinggiantsoftware.com/FGJ/tutorials.htm: This is actually pretty cool, as it explains dependencies. I think I’ll use it as a starting point.
People have raised some concerns, like whether or not BlueJ will insulate programmers too much. I think, however, that it might work for the introductory computing course.
- http://www.rdv.vslib.cz/skodak/en/bluej/draw_tutorial/index.html
- http://www.sleepinggiantsoftware.com/FGJ/tutorials.htm: This is actually pretty cool, as it explains dependencies. I think I’ll use it as a starting point.
People have raised some concerns, like whether or not BlueJ will insulate programmers too much. I think, however, that it might work for the introductory computing course.
Judging the 2003 ACM ICPC Manila regionals was tons of fun. Although I
was somewhat delinquent in terms of making problems – I’d only made
one which was simplified due to contest limitations – my problem was
nonetheless included and a few teams actually solved it.
It was a straightforward problem – a text-based database. Helpful
teacher that I was, I made several test cases that checked for
specific errors in program logic, but had to merge them into one
enormous test case for the contest. Coded the solution in 10 to 15
minutes and submitted it via PC^2 for testing. Very glad to see it
work on the first run.
Had some tussles with PC^2 and compiler support. Jerome knew the magic
cmd trick, though, so we managed to get all the compilers to work.
Glad to see the other people from the SEARCC contests. Seemed like
nothing had changed. Mike still crazy-funny self. Chipi still somewhat
insane (but very good). Mars (Gabutz) somewhat less insane (no more
Wendy’s action figures? awww).
Story: It was an hour or so before the contest and Ces still didn’t
have judges’ test data for her problem. General panic. We quickly
prepared 10 copies of a 10×10 matrix for her 3-D problem and started
filling in letters. We finished the test data but weren’t quite sure
if it worked, so I sat down and quickly wrote a solution. Actual
output and expected output differed. Inclined to trust program, so
copied actual output into sample output for initial testing and then
spent some time debugging the test data. (Debugging the test data!
Pfft.) Eventually worked. Felt very pleased when other people solved
the problem, as that confirmed that test data was now correct.
Rejoiced when a team finally solved my problem. Had been on pins and
needles previously as had thought my problem ridiculously easy, thus
lack of attempted solutions was most worrisome. A number of teams
didn’t test with sample output given in problem, tsk tsk.
Went bowling with Dominique, Chipi, Mike, Jerome, and Mars. Non-zero
score. Very happy.
Ateneo still top-ranked Philippine team. Yay. =) Also, they beat more
foreign teams than last year. 5th place, big improvement.
Must work on consistency, though. Last team freaked out and did not
solve any.
- Guideline 1: Objects first.
- Guideline 2: Don’t start with a blank screen.
- Guideline 3: Read code.
- Guideline 4: Use “large” projects.
- Guideline 5: Don’t start with “main”.
- Guideline 6: Don’t use “Hello World”.
- Guideline 7: Show program structure.
- Guideline 8: Be careful with the user interface.
bluej.compiler.type=jikes
bluej.compiler.executable=jikes
http://news.individual.net/ free Usenet (no binaries) Extremely good service, good spam filters
Finished the draft of my article for Crossroads. Submitted it already,
but haven’t received any confirmation yet. They’ll notify me of
acceptance or rejection within a few days. Had been thinking of
writing an article on constructivism and collaboration in computer
science education, or perhaps an article on the challenges we face in
a small liberal-arts college, or perhaps the need for alternative
teaching methods that do not require Internet access and fast
computers. Found myself unable to write a coherent article based on
those ideas, though. Grabbed my notes on tutoring and organized them
into a rough article. Come to think of it, those notes are more useful
for Crossroads’ target audience of students.
Also worked on the CS21A syllabus. With some trepidation, have decided
to go for an objects-first approach using the BlueJ learning
environment. Need to make sure to deliver results or the senior
teachers will frown on my experimentation. Feel, however, that this is
the right way to go. Want students to be able to _see_ how their
programs work, how it fits together. Expect them to outgrow BlueJ
eventually. Looking forward to teaching them Eclipse in CS21B, but in
the meantime, BlueJ offers many tools to help beginning programmers
learn.
Should also package BeanShell just in case I want to use it to
demonstrate other concepts. Its interpreter is more powerful than
BlueJ’s, but it has non-Java constructs.
Have also spent time browsing through BlueJ mailing list archives. If
am going to use experimental technique this semester (a few days from
now!), must make darned sure I know how to use it.
Sketched out opening day plan. Lots of tasks. Significantly more
housekeeping on the first day in order to support certain experiments
(study buddy, blogging), but hope that students do not get lost.
Revised classroom policies to explain _why_ things were prohibited.
Most students not content with teachers who read off the slides. In
fact, have not yet found anyone happy with that, although many okay
with it because it makes reviewing for tests easier. Still, it’s a
colossal waste of time.
Tomorrow: Will go to school for early morning meeting (yikes!), file
for new ID, install software on lab computers, have CDs burned, write
documentation, and prepare for school. Have way too much to do, but do
not have time to pack tonight so will end up coming home. (Must be
fetched, probably.)
Let’s try it out!
Cross-reference: EmacsTips#1
Cross-reference: PlannerMode#2
http://doi.acm.org/10.1145/611892.611964
Lots of ideas for teaching operating systems. I remember the
crosswords from CS161 and I intend to have crossword and
find-and-match exercises. (Should go through the word puzzle book) The
paper described a process state transition game and a battlethreads
game. The Battlethreads game looks like a good way to emphasize the
difference between processes and threads. The process state transition
game looks a bit complex and the paper has some cautionary notes.
I’d like to learn under these teachers.
_Very_ interesting citations.
Link: Local copy
Cross-reference: PlannerMode#1
http://doi.acm.org/10.1145/299649.299797
Although we probably won’t have computers during class sessions – this
is, after all the IBM Room, and we’ll probably have a sucky projector
too – students might be able to do programming exercises in order to
understand operating systems concepts. Students will need Knoppix or
another Linux distribution; if I have them install it early, then they
can get a quick introduction to C and system calls.
Could this be a potential overlap with systems programming? OS is
supposed to prepare them for that anyway. Who knows, they might even
replace parts of the OS in their systems programming course. We
discussed pairing the operating systems course with the systems
programming course during the curriculum review, so it’s probably not
a bad idea.
There’s, like, 19GB of free space on this hard disk! I’d defragged for
nothing!
7 gb for main, 2 gb for data, 512m for swap, and everything else for
backup of the above? We’ll leave it unpartitioned for now.
Installing base Debian system. I hope the network works.
Decisions, decisions… I think we’ll run on unstable. <evil grin>
The CookOrDie! plan involves eating out at most one meal a day. If I
don’t want to starve, I will _have_ to learn how to cook.
I was thinking of making baked potatoes today, but the supermarket is
out of large potatoes and only has regular-sized ones. I suppose, if
absolutely desperate, I could just cook and eat them.
Think. I have a toaster. I have a microwave oven. I _should_ be able
to get something that resembles food.
Brilliant idea. Buy food before dinner. _Must_ do something with it or
starve. This looks promising:
- whole wheat pita bread
- grated cheese
- tomato
- lettuce
mini-pizza?
http://www.azcentral.com/home/food/cooking101/
SOUP: Boil water in a medium-size saucepan. Add chopped vegetables of
choice (such as onion, a carrot, a potato, parsley; frozen veggies are
OK). A bouillon cube is optional. Let soup return to boil. Add a small
handful of spaghetti (about 1/4 cup) that you have broken into 1-inch
or smaller bits.
(Do we even have a saucepan?)
Survived my experiment. (I think; I feel a little bit bloated, which could be a good thing or a bad thing.)
Passed by the supermarket before going to the dorm. Still no large potatoes.
| 6 pita pockets | 39.99 |
| 5 native tomatoes | 7.65 |
| 4 Hungarian cocktail sausages | 36.40 |
| Cheese lying around ref | have no idea, but I know I must have bought it before |
Best result today:
Couldn’t buy just one sausage – minimum is 100g, which is approximately 4 cocktail sausages. This may have been a good thing, though. Hungarian sausage made concoction pleasantly spicy.
Experimented with leaving the cocktail sausage whole. Less work, but sausage taste overwhelming and somewhat monotonous because you know where it is.
Cost:
Approximate cost of one pita: (+ (/ 39.99 6) (/ 7.65 5) (/ 36.40 4)) ~
PHP 17.25 Two pitas made me somewhat full. Actually, I had three pitas
and two sausages, so that’s ~ 42.75. If I had only two pitas,
(* 2 (+ (/ 39.99 6) (/ 7.65 5) (/ 36.40 4))) ~ 34.50 isn’t too bad.
KFC’s original-recipe 1-pc chicken is 49, though, and it comes with water.
Still, KFC’s original-recipe 1-pc chicken is _not_ going to help me
Learn How To Cook, and it won’t satisfy my CookOrDie constraint.
Possible next step:
Bacon, mushroom and cheese pita
Future recommendations:
education
Wow. This is _so_ cool! Google it and be enlightened. ;)
I _definitely_ want to pull this off at the next science fair.
Brilliant examples!
I’ve successfully installed Linux onto the main computer, but I’m
still having problems with the workstation – to wit, the mouse is just
bonkers.
First of all, it’s a serial mouse, not a PS/2 mouse. Second, gpm and X
both freeze. It’s weird! X displays happily. No keyboard input, no
mouse motion, nothing – not even Ctrl-Alt-Backspace! I have to ssh in
to kill the offending process.
The mouse name is “IdealMouse”, so I’ll Google tomorrow and see
if there are any issues. Doubt it, though.
John Hunter is looking for a data structure to identify the closest
neighbor in 2D to new points as they are added to the structure. Brute
force works, but is there something better?
http://groups.google.com/groups?threadm=mailman.356.1067832883.702.python-list@python.org
I vaguely remember Voronoi diagrams, although I’ve never used them.
E-Mail from Federico Sevilla III
http://groups.google.com/groups?threadm=rq3lqvkkjv0vu6n10m78plandaa7e7dm16%404ax.com
E-Mail from Federico Sevilla III
Plan for dinner:
I can just hear it now.
Welcome to Day 2 of CookOrDie: Adventures of a Desperate Cook! I’m Sacha Chua and I’ll be your host for today’s segment, "Veal sausage and potatoes".
It has all the makings of a bad survival show… Hey, now there’s an idea – grab a bunch of geeks who have no idea how to cook, turn them loose in a supermarket with a budget of PHP 100 (~ USD 2) a day, and see how long they can survive without repeating recipes and using only a microwave and a toaster oven!
This meal was a bit more expensive than it should have been, but I know how to fix it now. It came to a total of (+ 44 9.25), or 53.25. I can improve this by using more potatoes, thus ensuring that I can keep half of the bratwurst for breakfast the next day. If I doubled my portion of potatoes and added some herbs and spices – would you believe that I have neither salt nor pepper? – then I could have a good meal for (+ 22 (* 2 9.25)), or 40.50.
Microwave chopped potatoes (1/4 ~ 1/2 inch) for 2.5 minutes.
Must find correct way to use butter to flavor these things. Trying to put garlic in butter didn’t really do anything either.
You know what? I should learn how to toast garlic, or however they prepare the garlic that goes on top of arrozcaldo…
Realization #1: Pita pockets are named pita pockets for a _reason_. I should try Hungarian-sausage+tomato+cheese stuffed pita pockets. Maybe tomorrow; I can bring neat little sandwich bags to the UPSA rehearsal.
Realization #2: If I slice the sausages before putting them in the oven toaster, then they have nice texture.
Tomorrow: Pita pockets of slice-toasted Hungarian sausages, mushrooms and cheese.
Spent most of today working on the lab computers. The teacher’s
computer in F227 has Linux and assorted goodies now, but the students’
computers are proving a bit of a headache. Suspect the mouse.
Pleased to see Dominique had written
an article on school laboratory management blues. Prefer rsync-based
solutions over dd ones because of uncertain partition sizes. Should
check out if lab computers can netboot, or will just make bootdisks
that will repartition and rsync. (w00t.) Solution of X problem
optional, as can mirror Windows FAT32 partitions easily. apt-move also
very cool.
He says I should write it up. Soon, soon. Would very much like to
sneak Linux into the labs.
Am looking forward to meeting with PLmar (Pamantasan ng Lungsod ng
Marikina). They want help in improving their curriculum. Teacher
training, finding creative examples… challenge!
Maybe can get students to prepare learning materials like that study I
read recently…
Have plans for tomorrow. No projector, no computer, no problem! Will
do class-wide mind-map and sneak operating systems concepts into the
thing too. Looking forward to bouncing ideas off Jerome as recently
had chat with him about real-world relevance of operating systems.
Walking around, had brilliant-but-completely-obvious-to-everyone-else
insight that operating systems is not just about managing programs -
many of the principles can be applied to everyday life. Find self
specializing in drawing far-out but semi-plausible connections between
computer science and “real life.”
Have amazing amount of time. Don’t know where it came from. Perhaps
coming home to cook forces me away from distractions. Must continue if
so.
- Organize them into six groups of five students each
- Tell them about textbook
- Explain the group assignment
- Divide the chapters among the groups
- Point them to course website
- Capture how much people know right now
- Do an introduction of operating systems: history, motivation
| Chapter 2 | Computer system structures |
| Chapter 8 | Memory management |
| Chapter 3 | Operating system structures |
| Chapter 4 | Processes |
| Chapter 5 | CPU scheduling |
| Chapter 6 | Process synchronization |
| Chapter 7 | Deadlocks |
| Chapter 9 | Virtual memory |
| Chapter 10 | File system interface |
| Chapter 11 | File system implementation |
| Chapter 12 | I/O systems |
| Chapter 13 | The secondary storage structure |
- Explain objectives of course
- Capture what they know about programming
- Introduction to BlueJ. Shapes project. See the README file.
- Manipulating it via clicking.
- Manipulating it with expressions.
- Opening Picture project
- Ask the picture to draw itself
- Change the color of the roof
education
What worked: CS21A and BlueJ
I have a small class of 8 students. Most are taking CS21A for the first time because they’re interested in shifting into either CS or MIS; this course will help them decide if it’s worth it! =)
BlueJ was a great idea. The students quickly got the hang of creating and manipulating the different objects. I demonstrated how to create a circle and make it visible, then I asked them to figure out how to make the circle yellow. People started out by typing yellow in the parameter box – they’d figured that out quickly! – and BlueJ reported an error. Some students figured out that they had to put quotes around
the word. That prompted a discussion on the difference between “yellow” and yellow.
When I showed them the Picture project and the source code for the Picture class, they realized that it was the same as what they had been doing before, and they were able to modify the code to make the
roof green. (Most did it in drawColor, though, so I’ll have to reinforce methods by asking them to get it to work in draw()).
I asked the students what they wanted to learn how to do next, and one said that she wanted to learn how to make the shapes move to a precise position. I showed them how to modify Circle.java, basing my work on moveHorizontal. I declared an empty method first and then showed how it turned up in the method list, then I filled in the method body based on their prompting. A student observed that Java is case
sensitive, and I repeated that for the benefit of the class. Another student asked about spaces, and I asked her to check it out while I squeezed the code I’d just written into a single line. I demonstrated
that it produced no errors, but said that spaces were useful for people.
On Friday, I plan to talk about methods and variables. =)
In the future, I might want to ask them how to perform every step of the way.
What didn’t:
I can just hear it now.
Welcome to Day 2 of CookOrDie: Adventures of a Desperate
Cook! I’m Sacha Chua and I’ll be your host for today’s segment, “Veal
sausage and potatoes”.
It has all the makings of a bad survival show… Hey, now there’s an
idea – grab a bunch of geeks who have no idea how to cook, turn them
loose in a supermarket with a budget of PHP 100 (~ USD 2) a day, and
see how long they can survive without repeating recipes and using only
a microwave and a toaster oven!
This meal was a bit more expensive than it should have been, but I
know how to fix it now. It came to a total of (+ 44 9.25), or 53.25. I
can improve this by using more potatoes, thus ensuring that I can keep
half of the bratwurst for breakfast the next day. If I doubled my
portion of potatoes and added some herbs and spices – would you
believe that I have neither salt nor pepper? – then I could have a
good meal for (+ 22 (* 2 9.25)), or 40.50.
Microwave chopped potatoes (1/4 ~ 1/2 inch) for 2.5 minutes.
Must find correct way to use butter to flavor these things. Trying to
put garlic in butter didn’t really do anything either.
You know what? I should learn how to toast garlic, or however they
prepare the garlic that goes on top of arrozcaldo…
Realization #1: Pita pockets are named pita pockets for a _reason_. I
should try Hungarian-sausage+tomato+cheese stuffed pita pockets. Maybe
tomorrow; I can bring neat little sandwich bags to the UPSA rehearsal.
Realization #2: If I slice the sausages before putting them in the
oven toaster, then they have nice texture.
Tomorrow: Pita pockets of slice-toasted Hungarian sausages, mushrooms
and cheese.
CookOrDie still okay. A surprisingly affordable meal, actually,
considering I had bratwurst and potatoes. All I need to do is add more
herbs.
School somewhat fuzzy. CS21A lots of fun; lecturing in CS161
difficult. Am seeing pattern here – having problems with higher-level
courses. Will sit in Ariel’s class as look up to him a great deal.
Conversed with Eric about a certain personal topic. He’s convinced
it’s a good idea. I think it’s not a bad idea. Pending approval and
consensus.
http://unplugged.canterbury.ac.nz/
Way, way, way cool.
Colin Marquardt said:
I noticed that calendar feature on your wiki journal. Is it one of the
things mentioned in
http://www.emacswiki.org/cgi-bin/oddmuse/Calendar_Extension or
something different?
E-Mail from Colin Marquardt
Bong Munoz said:
Before I step off my soapbox I’m pretty confident that we’ll get
better results in the future. The new generation of teachers seem to
enjoy what they’re doing. As Alan Perlis said, “I think that it’s
extraordinarily important that we in computer science keep fun in
computing.”*
E-Mail from Bong Munoz
Don’t believe his Google footprint. ;)
>>> learn C by him/herself, after all it is the student's responsibility. >>> Implementing the solution is up to the student, which IMHO should be the >> Yup, but IMHO, eventhough it's the student's responsibility, Professors >> should always be there to _check_ if the student is doing the "Right > Not always. They're there to teach, and nothing more. Well this is the > attitude in UP, and it has worked well.
I am glad that my teachers had always gone the extra distance not only
to teach me but to help me learn.
E-Mail from Sandra Jean Chua
(Update: 2003.11.18. Rommel Feria says that this is not reflective of
the whole UP system and that it is quite different in UP Diliman.)
Had a pretty amazing weekend. Invited Jerome and Dominique over. Spent
some 16 hours conversing over a puzzle. Great fun.
Attended the UPSA concert on Sunday. Choir performance of “This Guy’s
in Love with You, Pare.”
http://www.educeth.ch/compscience/karatojava/javakara/
Turtle graphics? Should be fun in a general compsci course… =)
E-Mail from Rafael ‘Dido’ Sevilla
Prepared some Rather Nice slides for a basic introduction to UML.
Followed the format from Martin’s training kit for the objectives and
prepared a template for this and future slides. Am quite happy with
the template and overall look of slide set.
No Microsoft products were harmed in the making of this presentation.
OpenOffice.org is way cool.
Brought leftovers from The Barn. Reason that as needed to use
microwave in order to reheat (pesto+chicken pasta and mixed kebabs),
food still qualifies under CookOrDie project. Besides, have dinner
plans later, so must plan to CookOrDie for lunch.
Formally explained what we were doing in BlueJ. Defined class, object,
attribute, and method. As was asked nicely, also talked about
iteration – do … while loop, while … loop. BlueJ idea excellent fun
as students motivated to learn more because of cool graphics.
Thinking of introducing conditionals next. DrunkenBug walk.
Allen asked for extra tutorials as he has an extra hour. Took him on a
whirlwind tour of Java.
Managed to lecture for the entire hour. Went through slide set 1.
Come to think of it, lecture was probably supposed to last an entire week.
Whoops.
Plan for next session: review of first slide set (must be interactive!)
and maybe introduction to next set. Must try to wake up early this time.
According to JM Ibanez:
1) Always bring a jacket, or at least wear something warm. I got one of the worst cubicles in the room-- right under the aircon vent. And now, I'm typing this while I'm freezing my ass off. And I'm shivering. 2) Keep a notebook to jot down stuff. Especially any expenses you incur. 3) Take note of when your breaks are. You might never get another chance to go to the bathroom, especially if you're boss calls you to a meeting. (Thankfully, I've never been called to a meeting. Yet.) 4) Lay low... showing off tends to get more work piled on you. ;) 5) Enjoy your work. :)
E-Mail from Jan Michael Ibanez
| sum | cs21a | 4 |
| 1st | cs21a | 4 |
| 1st | cs123 | 4 |
| 1st | cs231 | 2 |
| 2nd | cs21a | 4 |
| 2nd | cs21b | 3 |
| 2nd | cs21b | 3 |
| 2nd | cs161 | 4 |
| 2nd | cs161 | 4 |
| 2nd | cs197 | 1 |
Having breezed through the first slide set in one class day while the
other teachers are just halfway through, I wanted to help my students
review the topics. I prepared a reviewer for the first slide set of
operating systems (SXI
PPT) and asked students to
answer as an ungraded exercise. It revealed a lot of areas for review,
and I’m glad I did it.
I drew a smiley on the board and provided the skeleton for a new class
that drew only the circle that represented the face. I asked the
students to get it to display a smiley according to the drawing. While
they did that, I downloaded my source code for Smiley.java and
the modified classes from the BlueJ sample
project (added move() to Triangle and Circle) and showed them my
implementation. I wanted them to define a class that supported many of
the operations the basic shapes did. I started with a single Circle
attribute representing the face, a constructor that created the
circle, and a makeVisible() method that made the face visible.
The major conceptual point I wanted to make was:
You can define your own class that contains objects. You can call
methods on those objects and you don’t have to worry about the
implementation details. You can support the other methods by passing
the method calls to the different objects.
A number of students started by looking at Circle.java and trying to
model their work on it, but I suggested working from the very simple
skeleton we had on the board. This greatly helped the students who
were getting lost in the source code.
I also pointed out that they could use BlueJ to determine the
coordinates and sizes experimentally. Instead of edit-compile-test,
they could interactively create an object, manipulate it, and then
inspect it to find the necessary values.
This exercise was open-ended. After students got the smiley to
display, they added support for moveUp(), moveDown(), moveLeft(), and
moveRight(). moveHorizontal(int distance) and moveVertical(int
distance) followed shortly after. move(int x, int y) required a bit
more thought because they couldn’t just pass the request on. I also
had a simple animate() method. I suggested making it possible for the
user to change the smiley’s colors (face, eyes, and mouth – separate
methods, or one method with three parameters) or size (bit more
complicated).
I think this exercise worked very well. I did not have to tell the
students exactly what to do, although I gave them a number of hints. I
exposed my planning process – first, get the face to display, then add
the eyes, then the mouth, then add other methods one at a time.
Students learned how to plan implementation in small steps. I did not
tell them what they had to do; I just drew a figure on the board and
had a demo up on the projector. On their own, they figured out that
they needed to specify negative height in order to get an inverted
triangle and add offsets during the move.
From William Yu: Communication effects. You can influence a person by taking time to talk with them.
(from Fanny’s blog)
Leftover rice plus Hungarian sausages. Okay, but not as fun as bread
or potatoes. Tomorrow, will check out meat shop.
Yang chow rice from Red Panda reheated very nicely – still moist.
Extra rice left over from The Barn (eeew, two days!) was too dry.
Should try to reheat it in separate container with more water.
Hungarian cocktail sausage slices not best for mixing with rice.
Perhaps whole sausages or somewhat larger slices so that it can be
tasted.
Eclipse represents interfaces with the «interface»
stereotype. Realization is shown with a dashed line ending in a hollow
arrow, kinda like inheritance.
Eclipse is way cool. =)
Let’s show them Eclipse tomorrow. How do we import a project?
But we don’t have the Eclipse UML plugins…
Referred to old way of favoring future dates. Silly me. Forgot I renamed that. Tsk tsk tsk.
Gave a quiz on UML class diagrams. Most people got it, although there
is a little bit of confusion regarding navigability (which way do the
arrows go?) and the difference between associations and inheritance
arrows.
<whistles happily>
He’s a natural filkster. Way creative. Looking forward to all sorts of
cool things! =D
“…and man [pages] shall live forevermore…”
http://brutalhugs.com/trackback/
Maybe I can use this to add trackbacks and comments to my semi-static
pages! =) It’ll require Javascript, though…
Oh, but they’re capped at 25 accounts. Tough.
http://www.ncsu.edu/felder-public/Papers/LS-1988.pdf
The paper has important insights. I learn inductively – from complex
examples, I try to figure out principles and ideas. However, classes
tend to be structured deductively – neat, organized, and bewildering.
Important excerpt:
Teaching Techniques to Address All Learning Styles
- Motivate learning. As much as possible, relate the material being
presented to what has come before and what is still to come in the
same course, to material in other courses, and particularly to the
students’ personal experience (inductive/global).- Provide a balance of concrete information (facts, data, real or
hypothetical experiments and their results) (sensing) and abstract
concepts (principles, theories, mathematical models) (intuitive).- Balance material that emphasizes practical problem-solving
methods (sensing/active) with material that emphasizes
fundamental understanding (intuitive/reflective).- Provide explicit illustrations of intuitive patterns (logical
inference, pattern recognition, generalization) and sensing patterns
(observation of surroundings, empirical experimentation, attention to
detail), and encourage all students to exercise both patterns
(sensing/intuitive). Do not expect either group to be able to exercise
the other group’s processes immediately.- Follow the scientific method in presenting theoretical material.
Provide concrete examples of the phenomena the theory describes or
predicts (sensing/ inductive); then develop the theory or formulate
the mod(intuitive/inductive/ sequential); show how the theory or
modcan be validated and deduce its consequences
(deductive/sequential); and present applications
(sensing/deductive/sequential).- Use pictures, schematics, graphs, and simple sketches liberally
before, during, and after the presentation of verbal material
(sensing/visual). Show films (sensing/visual.) Provide demonstrations
(sensing/visual), hands-on, if possible (active).- Use computer-assisted instruction—sensors respond very well to
it. (sensing/active).- Do not fill every minute of class time lecturing and writing on the
board. Provide intervals—however brief—for students to think about
what they have been told (reflective).- Provide opportunities for students to do something active besides
transcribing notes. Small-group brainstorming activities that take no
more than five minutes are extremely effective for this purpose
(active).- Assign some drill exercises to provide practice in the basic methods
being taught (sensing/active/sequential) but do not overdo them
(intuitive/reflective/ global). Also provide some open-ended problems
and exercises that call for analysis and synthesis
(intuitive/reflective/global).- Give students the option of cooperating on homework assignments to
the greatest possible extent (active). Active learners generally learn
best when they interact with others; if they are denied the
opportunity to do so they are being deprived of their most effective
learning tool.- Applaud creative solutions, even incorrect ones (intuitive/global).
- Talk to students about learning styles, both in advising and in
classes. Students are reassured to find their academic difficulties
may not all be due to personal inadequacies. Explaining to struggling
sensors or active or global learners how they learn most efficiently
may be an important step in helping them reshape their learning
experiences so that they can be successful (all types).
http://www.ncsu.edu/felder-public/Papers/Secondtier.html
- One-minute papers: most important point made in the lecture and the single most pressing unanswered question
- Encourage or mandate cooperation on homework
http://www.ncsu.edu/felder-public/Papers/long4.html
- Think of three good questions about what we just covered.
But this has scrollbars and doesn’t really inline the text…
M-x hs-minor-mode
I think I rather like hs-hide-all…
(defun sacha/hs-minor-mode-hide-all () "Turn on `hs-minor-mode' and hide everything." (hs-minor-mode 1) (hs-hide-all)) (add-hook 'emacs-lisp-mode-hook 'sacha/hs-minor-mode-hide-all t)
;; crypt++ – i use this in conjunction with emacs-wiki
(require ‘crypt++)
(setq crypt-encryption-type ‘mcrypt
crypt-encryption-file-extension “\\(Secure\\)$\\|\\(\\.enc\\)$”)
(setq emacs-wiki-ignored-extensions-regexp “\\.\\(bz2\\|gz\\|[Zz]\\|enc\\)\\’”)
(add-to-list 'erc-nick-popup-alist '("BBDB" . (bbdb nick nil)))
I’ve gotten the bot-like improvements I wanted thanks to these snippets of elisp code:
(require 'hippie-exp)
(setq hippie-expand-try-functions-list
'(sacha/try-expand-factoid-from-bbdb
try-complete-file-name
try-expand-all-abbrevs
try-expand-dabbrev-from-kill
try-expand-dabbrev-visible
try-expand-dabbrev-all-buffers))
;; Particularly fun with ERC. I am now a bot!
(defun sacha/try-expand-factoid-from-bbdb (old)
"Try to expand from BBDB. If OLD is non-nil, cycle through other possibilites."
(unless old
;; First time, so search through the BBDB records for the factoid.
(progn
(he-init-string (he-dabbrev-beg) (point))
(setq he-expand-list nil)
(mapc
(lambda (item)
(setq he-expand-list (append he-expand-list (list (bbdb-record-getprop item 'blog))))
(setq he-expand-list (append he-expand-list (list (bbdb-record-getprop item 'web))))
(setq he-expand-list (append he-expand-list (list (car (bbdb-record-net item)))))
(setq he-expand-list (append he-expand-list (list (bbdb-record-getprop item 'notes)))))
(bbdb-search (bbdb-records) he-search-string he-search-string he-search-string he-search-string nil))
(setq he-expand-list (delq nil he-expand-list))))
(while (and he-expand-list
(or (not (car he-expand-list))
(he-string-member (car he-expand-list) he-tried-table t)))
(setq he-expand-list (cdr he-expand-list)))
(if (null he-expand-list)
(progn
(if old (he-reset-string))
nil)
(progn
(he-substitute-string (car he-expand-list) t)
(setq he-expand-list (cdr he-expand-list))
t)))
hippie-expand inside an ERC buffer will then cycle through the blog, web, net and notes fields of whatever entries I have. Yay! =)
If it works, I should see a timestamp above.
For more goodness!
Now allowing planner-annotation-functions to return t which means no annotation.
I am now the official maintainer of
remember.el, another fine module
authored by John Wiegley. I’ve been using it
to maintain this wikiblog. In fact, this entry is written in a Remember buffer.
Check out my notes at RememberEl
Looks like some Debian machines were cracked.
According to forcer:
- master (Bug Tracking System)
- murphy (mailing lists)
- gluck (web, cvs)
- klecker (security, non-us, web search, www-master)
Stolen shamelessly from John Wiegley
On day pages, a task created from a note should contain a reference to
the note. However, only one task should be created on that day page.
On plan pages, a task created from a note should contain a reference
to the note. Two tasks will be created – one on the plan page and one
on the day page. The plan page task will refer to the day page while
the day page refers to the plan page. Updating the day page task
should update the plan page task as well. This presents a problem, as
the link text might disappear when we copy or move the task. We should
test this.
Oh, blast. I think there’s no easy way to handle tasks created from
notes, at least not if it’s in the parens. A better way would be to
make it a separate annotation.
deleted
deleted
deleted
http://www.movabletype.org/docs/tb-standalone.html
Must ask Richi very nicely about this.
Neil Ongkingko is looking for the Romance of the Three Kingdoms, paper or electronic
- organize by year
- mike line number
- neil no indententation
- curriculum now used, but spread over several months
- kicked out of rooms
- teaching without computers
- games that kept us going
- contact ma’am sonia (ask Mario)
- chipi will make a yahoogroup
- decide on
- slightly like a textbook. what programs were significant.
- neil: maybe we have too many goals. if it’s a textbook, why not just buy an algorithms book?
- mike: book about the problems.
- jerome: how was this problem important to our learning?
- mike: chaos theory
- strategies
- good insight on how to design problems
- what to do when you’re a judge
- experience when the SEARCC was hosted here
- judges did not make the problems, no description for error checking, input wrong, judges not aware of the contest specs
- if you’re are organizer, make sure that the judges are those who made the problems and that they’re aware of how the contests should go
- shifting into the different contests: micromouse
- per year
- how we learned as a group, on a year-to-year basis
- what happened to you, personally, in that year
- write all the stories first, then find a theme
- what we’ve done as a group to evolve with the times
- time, stack no longer big issues: manual recursion!
- paradigm shifts
- our approach complemented by real-time events that have bene happening to us – people who couldn’t compete any more, etc.
- what have we been doing. we’ve all been coming back. if you’re interested in this (contests), from any standpoint, then this might be something you’re interested in.
- they have something in common.
- we’re really into analyzing how to make something work, and we actually have something that we can call our own.
- permutation algorithm thing
- 5 years later: I proved it! It works!
- Roman numerals brute force
- not having the books
- language limitations of QBASIC
- just tell stories and we’ll see what comes out of it
- little side stories
- india: cards
- pictures
- pisay. all of the years, covered yung pisay
- whatever outcome that helps you further in life
- breakdown personally of experiences, breakthrough, pictures, whatever else.
- outline within 1 to 2 weeks
- storybook with puzzles in between
- fairly deep analysis
- keep things on the light side
- is this a sign that we’re getting old?
- mike: I can no longer be at this level
- we’ve actually achieved quite a lot at this point and we want to share quite a bit.
- comparing ourselves to the international teams, we still need a bit more insight. but we’re on the other side already. backchannel. we have to share it somehow.
- lots of title suggestions
The thing that took 16+ hours of my life is now properly mounted on
illustration board – nicely centered, too, as if I’d planned the whole
thing – and I mounted it all by myself! Yay! Wahoo!
(Of course, would probably never have finished it had it not been for
the efforts of Jerome Punzalan and
Dominique Cimafranca, who also spent
around 16 hours of their lives on the thing.)
Wheeeeee!
I feel appropriately into puzzles and crafts. I still have an
almost-full can of craft adhesive – I’m tempted to go get more
puzzles…
I’m starting to get the hang of <gasp> lecturing – I can prepare
slides and talk. I find I’m much more comfortable when I have little
exercises for the students to do.
http://www.aw-bc.com/catalog/academic/product/0,4096,0321168542-TOC,00.html
The outline looks like it makes sense as part of a syllabus.
http://pender.coas.oregonstate.edu/PlannerMode.html
E-Mail from Jody Klymak
The different versions of the UN*X brand operating system are numbered
in a logical sequence: 5, 6, 7, 2, 2.9, 3, 4.0, III, 4.1, V, 4.2, V.2,
and 4.3.
For when Emacs doesn’t correctly autodetect it: C-x RET c CODING-SYSTEM RET M-x revert-buffer RET
http://cm.bell-labs.com/cm/cs/who/dmr/hist.html
What we wanted to preserve was not just a good
environment in which to do programming, but a system around which a
fellowship could form. We knew from experience that the essence of
communal computing, as supplied by remote-access, time-shared
machines, is not just to type programs into a terminal instead of a
keypunch, but to encourage close communication.
— Dennis
Ritchie
So it really did begin with Space Travel… then a file system (which
had been previously designed with chalk), then user-level utilities
(because a filesystem is wasted if you don’t have stuff to do with
it), then a shell, then an assembler.
How the old shell worked:
- The shell closed all its open files, then opened the terminal special file for standard input and output (file descriptors 0 and 1).
- It read a command line from the terminal.
- It linked to the file specifying the command, opened the file, and removed the link. Then it copied a small bootstrap program to the top of memory and jumped to it; this bootstrap program read in the file over the shell code, then jumped to the first location of the command (in effect an exec).
- The command did its work, then terminated by calling exit. The exit call caused the system to read in a fresh copy of the shell over the terminated command, then to jump to its start (and thus in effect to go to step 1).
- AT&T Bell Labs gave up on MULTICS
- (Ken Thompson, Dennis Ritchie, and J.F. Ossanna)
- really cool filesystem idea on paper
- all requests for a computer to hack on for an OS were denied
- Space Travel: “Their effort included a floating-point arithmetic package, the pointwise specification of the graphics characters for the display, and a de-bugging subsystem that continuously displayed the contents of typed-in locations in the corner of the screen.”
- Filesystem and some other tools hacked on
- PDP-7 obsolete and they didn’t even own it
- 1970: proposal for a PDP-10. At $65,000, it was much less than they’d previously asked, and not ‘operating system’ – ‘word processing system’
- processor arrived by end of summer 1970, but no disk until december. cross-assembled core-only system.
- most of the time, the system enumerated all the closed knight’s tours on a 6×8 chessboard.
- pdp-11. no multiprogramming, but real paths. 24k of core memory (16k for system, 8k for user) disk with 1k blocks (512kb) files limit to 64kb
- promise system for word-processing. because hardware took a long time to arrive, pdp-7 unix was more useful. so why not develop unix as a development tool for the more specialized system?
- 1971: runoff program inspired by roff from Multics and CTSS. two advantages: supported terminals and added a feature to it (line numbers) that other system could not provide, so patent office chose them.
- 1973: rewritten in C
- “And so, Ken Thompson started mailing magnetic tapes with the Unix source code and utilities to his friends, labeling them simply “Love, ken”. And so, in the early 1970′s, a culture of Unix hackers sprang up, working with the Bell Labs source code.”
- “Around the mid 1970s, a professor by the name of John Lions at the University of New South Wales in Australia decided to use Unix to teach operating system architecture.”
- “If you had taken Lions’ class at the time, you would have bought two books (one red and one orange), they were the Source Code and Commentary on UNIX Level 6. The class became quite popular, and soon Bell Labs took notice. ” Most photocopied books in computer history.
“Because we couldn’t legally discuss the book in the University’s operating systems class, several of us would meet at night in an empty classroom to discuss the book. It was the only time in my life that I was an active member of an underground.” —Peter B. Reintjes, on the back of the 1996 reprinting of Lions’ Commentary
Ooooh. anarchy. rebel spirit.
“The whole Unix culture was based upon sending C source code from person to person, adding features and fixing bugs as time went on.”
UCB
- virtual memory
- networking
- wildly different
- ATT Unix rights bounced around a lot and are now with SCO
- hideous tangle of lawsuits: BSD wars
MIT
- ITS: Incompatible Timesharing System, optimized like heck, but not portable
- death of LISP machine due to corporate interests
- RMS, Unix way, GNU GPL, 1983: tools
Helsinki
- “1991: GNU was complete OS, but lacked kernel. BSD locked in lawsuits”
- Linus Torvalds! sick of inefficiencies of Tanenbaum’s Minix, can’t connect to uni’s Unices (Linus and Lars, to learn C)
Sources:
- The Ritchie paper
- http://www.crackmonkey.org/unix.html
- http://www.bell-labs.com/history/unix/firstport.html (incl image)
http://www.bell-labs.com/history/unix/sohedid.html
Although stymied, McIlroy didn’t drop the idea. “And over a period from 1970 to 1972, I’d from time to time say, ‘How about making something like this?’, and I’d put up another proposal, another proposal, another proposal. And one day I came up with a syntax for the shell that went along with the piping, and Ken said, ‘I’m going to do it!’”
“He was tired of hearing this stuff,” McIlroy explained. “He didn’t do exactly what I had proposed for the pipe system call. He invented a slightly better one that finally got changed once more to what we have today. He did use my clumsy syntax.”
“Thompson saw that file arguments weren’t going to fit with this scheme of things and he went in and changed all those programs in the same night. I don’t know how…and the next morning we had this orgy of one-liners.” mcIlroy
“He put pipes into UNIX, he put this notation into shell, all in one night,” McElroy said in wonder.
… and boy, are there stories to tell. =)
http://news.bbc.co.uk/1/hi/technology/2403913.stm
accessible computing, deals with text abbreviations
I want to be able to use Emacs for my double-entry accounting so that
I don’t have to start GnuCash. I would like it to be emacs-wiki
compatible so that I can publish it as an emacs-wiki file. I can begin
with having all of my entries in a GeneralLedger wiki page. Each entry
can be of the form
| Date | {{Finance:GUID}} | Transaction name / notes | Account | Amount |
The amount would be expressed as either Amount (credit) or -Amount
(debit).
I want to be able to quickly cycle or complete accounts, and I
think I’ll be able to do that with hippie-expand or some way to choose
accounts easily.
- I want to be able to see a summary of the balances of accounts.
- I want to be able to view income/expense reports aggregated by month.
- I want to be able to see expense reports per month.
- I want to allow split transactions.
Eric accompanied me shopping today. He was thinking about living on
his own, so he was quite curious about my CookOrDie project. He seemed
particularly flabbergasted by the fact that I’m not working from any
cookbook or website. I haven’t run across a site that dealt with my
particular constraints:
- Microwave and oven toaster
- Cooking for one
- Can’t have too many left-overs because I might forget to eat them
We checked out the meat shop I’d noticed on the way to school. It’s a
small meat shop across the street. Quiet place. Unfortunately, they
don’t sell meat in quantities of less than half a kilo, and I don’t
trust my cooking or planning skills enough to get that much food at
any point in time. So I guess I’ll have to get all my protein from the supermarket.
On my way to the supermarket, I remarked that this quandary would have
me become a vegetarian out of necessity. Then again, sausages aren’t
all that bad.
Eric carried my basket as I described my experiments. I read about a
pita recipe involving lettuce recently and I’d always liked the nice,
crisp lettuce in salads, which I eat on its own or with a bit of bacon
and cheese, as I don’t like salad dressing. I picked a few leaves of
yummy-looking lettuce and had it weighed. At 22.75 for three leaves,
it was kinda pricey, but I figured I’m supposed to have leafy
vegetables in my diet.
I peered at the marble potatoes rack and found that they were
significantly cheaper than the regular potatoes I had been buying
before. Although they came in rather large bags, the store personnel
kindly opened a bag for me and allowed me to measure and weigh an
equivalent portion of marble potatoes. The extra time spent washing
the potatoes was time I could spend thinking about my class the next
day, I reasoned, and the small savings would nonetheless contribute to
my monthly bottom line. I was rather pleased to see this come to a
total of P 3.00 for a decent number of potatoes.
At the meat counter, I described to Eric the sausages I’d tried – how
Hungarian sausages pleasantly offset tomatoes and cheese in my first
pita experiment but are lost when mixed with reheated fried rice, how
the delicate taste of veal bratwurst went well with potatoes (although
the potatoes might need a bit more seasoning).
Having sampled almost all the sausages and seeking more variety, I
found myself drawn to the ground beef and ground round sections. Some
inquiry revealed that I could get portions as small as 1/8th of a
pound; for someone cooking for 1 with scant freezer space, this was
very good news. I asked if I could cook this meat in the microwave or
oven toaster, though, and the supermarket people thought it was not
advisable – so back to sausages it was. I selected a Schu:blig
sausage as I had not yet tried that variant.
I returned to the dorm and flipped through the microwave instructions,
which informed me about the grill function of the microwave and
cautioned that this must be used at least once a month to reduce the
risk of fire. As part of the routine maintenance of my microwave oven
(and to try out the grill capabilities which may prove useful in the
future), I decided to try to cook the sausage in the microwave,
heating it under the grill for around 10 minutes. While the sausage
cooked, I washed the marble potatoes and pricked the skins with a
fork.
Testing the sausage revealed that it was not as warm as it should have
been, although parts of it were nicely browned. I popped it into the
toaster for some quick and sure cooking, setting the timer for 5
minutes. Meanwhile, I added a knob of butter to the potatoes and
microwaved the whole for 4 minutes, reasoning that the whole marble
potatoes would take somewhat longer than the thinly sliced potatoes
cooked in a small container last time.
Small popping and fizzing sounds from the microwave alarmed me and I
paused the microwave to check on the potatoes. Apparently, pricking
the skins with a fork was not enough to prepare the potatoes for
microwaving, and the expanding air popped out of the potatoes. Slicing
the potatoes in half revealed a rather strange pattern of compressed
potatoes, so I sliced all the other potatoes in half and returned them
to the microwave for a few more minutes of uneventful cooking.
After the sausage was cooked to my satisfaction, I took one of the
pitas from the freezer and toasted it. The bottom part of the pita was
crisp while the top part was soft, which made a very interesting play
of texture. I suspect this would be very nice with some kind of
filling or dip.
The potatoes were acceptable, although not awe-inspiring. The sausage
was pleasantly flavored, reminding one vaguely of hotdogs and
frankfurters. It was a pretty filling meal for approximately PHP 55.
I nearly forgot the lettuce, but I realized I hadn’t used it while
writing this blog entry. I washed the lettuce leaves carefully (there
were a few bugs), and for lack of ideas for preparing lettuce, just
ate it as is. In retrospect this was probably a bad idea, as the
leaves tasted unacceptably (and quite logically) like plants. I
suppose I’m used to lettuce being crunchy and tasting like, well,
water; this was neither, and it left a bitter aftertaste in my mouth.
I diligently chomped and swallowed one mouthful, but my gag reflex
kept trying to trigger on the second, and I gave up on the lettuce.
(Update: Martin suggested returning it to the ref for a few moments in
order to let it crisp.)
Conclusion: Sausages and potatoes can form a basic, inexpensive meal -
just adjust proportions of potatoes and sausages to meet
carbohydrate/protein ratios and budget constraints. However, I need to
experiment with other kinds of food soon, and I suspect that I’ll need
a pan for that. A simple skillet or other kind of pan that would fit
on my electric stove would be very much appreciated; I suppose I can
obtain one of these from home. I’ve added sausages and potatoes to my
basic repertoire; I know that as long as I have an oven toaster and/or
a microwave, I should be able to prepare myself an acceptable dinner.
I would like to experiment more, though. I think I’ll try more
vegetables next.
| Potatoes | P 3.00 |
| Schu:blig sausage | 52.45 |
| Green coral lettuce | 22.75 |
Described what I used remember.el for, which may help newbies or people wondering what the heck this is anyway.
I told the history of UNIX starting with Space Travel on an obsolete
PC and ending with a description of UNIX’s influence on operating
systems today.
Did anonymous feedback. Again, I’m seeing roughly half the class
having no problems with it, and half intimidated by their classmates.
I really must find a way to address that.
The first two weeks gave us a brief overview of the different things
in Java. I think it’s time to move to straight Java. They can
experiment with BlueJ in order to better understand their work, but I
want to start getting them used to writing whole programs.
When Damien Elmes said he was working on a
backlog of emacs-wiki stuff, he wasn’t kidding! <laugh> Well,
this probably means I can trim some of my hacks… =)
Xref: RememberEl#2
Xref: PlannerMode#10
Xref: PlannerMode#11
Xref: EmacsHacks#1
Xref: EmacsHacks#2
Emacs backup files to the rescue. Whew!
Xref: RememberEl#3
Watched the movie at Rockwell with Dominique, Jerome, and Martin.
Hilarious movie – little plot, but lots of references.
ls *.el*|sed 's@^@/@;s/\.elc$/.el/'|xargs dlocate
E-Mail from Dan Jacobson
Xref: LabSetup#3
Xref: RememberEl#2
Xref: CookOrDie#9
Frantic as had not thought of cool creative exercise before class.
Settled for introduction to Eclipse and individual implementation of
UML quiz shape system, which class had taken up for last two sessions.
Dismayed to find not everyone could code it quickly, but glad that now
have some justification for uneasy feeling about student
understanding.
Assigned peer review over e-mail. Will glare (nicely) at students if
students still unable to complete and explain system by next week, as
expect them to review outside class if they feel they’re missing
something.
Xref: 2003.11.27#6
Now defaults to current daily page (in which case, does nothing) if
not on plan page. Xrefs to plan page if started from plan page. If
called with prefix, will prompt regardless. (I hope).
Hmmm. Am I?
RememberEl
Xref: RememberEl#3
http://www.greenfly.org/fujitsu/ looks like it has instructions for
getting this to work. I might have to mess around with the kernel, so
I’ll put that off for now.
Xref: PlannerMode#1