Wednesday, October 27, 2004

Preparing CS students for real-life jobs

Philp Greenspun has a draft article, how best to preapre student,
examining from his point of view current situation of standard
US Computer Science curriculum in relation to what the industry needs.

Its an interesting read and teachers and schools ought to reflect on it.


What's wrong with graduates of standard U.S. CS program?

- employers dissatisfied with US-educated workforce (applicable to us also)
- good only at well-defined problem sets
- haven't done much open-ended project work
- generally not ready to a complex, time-constraint project
- brittle designs that cannot be extended to changing requirements

- haven't done much groupwork
- universities overlooked importance of facilities for studs to work together
- universities structured learning on homeworks fighting off distractions
- universities less support on students w/ poor study habits
- not good at taking vague goals from non-technical person and turning them
into concrete specifications that can be implemented with within fixed budget
of time and resource

- not good at communicating (writing, presentations, asking questions or
users and customers)
- lack experience with user interface design and testing
- not dedicated to completing something of value to end-users
- satisfied with good grade
- lack focus on big picture - how their work relates to larger organizational goals
- not very experienced with quickly making sense of large commericial tools
and libraries

What do we want graduates to be able to do?

- wanted graduates to get a job
- current news articles are correct but not complete, many are also being hired
- give energetic young people open-ended project and group work experience
- wanted graduates to have a satisfying careers where they have autonomy,
responsibility, and job security
- sociologists found relation in loss of worker satisfaction as craft jobs are
replaced by factory jobs (working on a small component of a product, not
having a big-picture understanding)

- a professional programmer ought to be able to pick worthwhile problems to
attack. engineering is the art of building cost-effective solutions to problems
that society regard as significant. a person who blindly does what he or she is
told, without independently figuring out the context and significance of the
problem, is not doing engineering.
- a professional programmer needs to be able to sit at a meeting with decision
makers, prepared with substantial domain knowledge, and make
significant contribution to the discussion

Some ideas for a 21st-Century Undergrad CS program

- students come to work on a permanent lab settings, rather like a corporate
open-office maze of desks and dividers. a student who is stuck can therefore
draw on help from surrounding students and from roving teaching assistants.
- students be able to study 48-weeks per year, perhaps in 4 12-week quarters
and finish a bachelor in 30-36 calendar months than the current Ivy-copied
26-28 weeks
- not all are wealthy customers (family)
- early graduate, less expense, well-prepared
- students should graduate with portfolio of work and credentials to show
- teachers as coach not evaluators/giver of grades, standard measure
- all students should have the character of an engineering project:
client talks about the problem; student team prepares a written plan for the
solving the problem; student team discusses the plan with the client;
student team builds a prototype; student team tests the prototype with the
client and the users; student refines the prototype in response to testing;
student team documents its result
- payoff - the graduate will be comfortable with this engineering process

Life is beautiful

Guess where this exact phrases come from:

"Life is beautiful.
Being a part of something that matters and working on products in which you can
believe is remarkably fulfilling."

"Boldly go where no one has gone before.
There are hundreds of challenges yet to solve. Your creative ideas matter here
and are worth exploring. You'll have the opportunity to develop innovative new
products that millions of people will find useful."

"There is such a thing as a free lunch after all.
In fact we have them every day: healthy, yummy, and made with love."

It's nice to be inspired sometimes, this one's from Google ™ =) .

Openers & Fillers (Japanese)

Often used in conversations. Openers as signals that you are about to
say something, or to smoothen communication. Fillers are usually
for pauses or hesitation. Here are some frequently used.

Marking a new topic
Sore de - So
De - So (informal)

Saying something off the topic
Tokorode - By the way
Hanashi wa chigaimasu ga - To change the subject
Hanashi chigau kedo - To change the subject (informal)

Adding to the current topic
Tatoeba - For example
Iikaereba - In other words
Souieba - Speaking of
Gutaiteki ni iu to - More concretely

Bringing up the main topic
Jitsu wa - The fact is ~, To tell the truth

Shortening the preliminary topics
Sassoku desu ga - May I come straight to the point?

Introducing someone or something you have just noticed
A, Aa, Ara - "ara" is mainly used by female speakers

Note: "Aa" can also be used to show that you understand.

Hesitation Sounds
Ano, Anou - Used to get the listener's attention
Eeto - Let me see...
Ee - Uhh...
Maa - Well, say...

Asking for repetition
E (with a rising intonation) - What?
Haa (with a rising intonation) - What? (informal)

Tuesday, October 26, 2004


- A1 Lightwell - coding convention checks, mgr list, table list.

Monday, October 25, 2004

Education: Diploma in Computer Science

This coming November 2004 is the start of the 2nd Semester of SY 2004-2005.

I am reenrolling for my remaining three more subjects before graduating on
Post Baccalaureate Diploma in Computer Science at the University of the
Philippines - Open University.

I am a graduate of BS Electronics & Communications Engineering at the
University of San Carlos, Cebu City (1995 - 2000) and last June 2002, I decided
to take up the course at UP while at the same time working professionally.

Its a two year course, and up to the present all I can say is that it really is a
worthwhile course to take for a working professional on software development/
programming/IT field. The modules are developed by UP professors and it really
contains quality instruction.

To date, I have already completed 9 subjects and there are three more left:
Management Information Systems, Object Oriented Analysis & Design
and Software Engineering. The past courses I have taken are interesting and

These subjects may be academic if viewed by an experienced software developer
but I am looking forward to add flavor on it by possibly implementing an interesting
and useful project, learn deeper on the .NET Class Framework in relation to the
OO &D subject, and practical approaches to software engineering like XP.

Software project ideas - A

It is interesting to think of worthwhile software projects
and come up with a design and possibly, a prototype.

Let me share to you some software product ideas from the contestants
and winners of Imagine Cup 2003 (1st) and 2004 (2nd - Brazil).

1. AutoShop (Software Design - Winner IC 2003)

Imagine going to the supermarket and not having to bring your shopping list -- because it appears on a video screen on your shopping cart. Imagine your "smart cart" letting you know when you come to items you want to purchase, and directing you through the store to items on your shopping list. Imagine the smart cart letting you know when your friends are also shopping in the store. Finally, imagine skipping the line at the checkout -- because your smart cart has already totaled your purchases and lets you pay by touching a button on the screen.

2. SmartCenter.NET (Software Design - Winner IC 2004)

A low-cost smart home automation platform, built on the Microsoft .NET Framework, that enables its user to automate functions such as managing energy consumption, watching home security cameras from a Pocket PC or remotely controlling house functions.

Live As If We Are Dying

here are some beautiful thougths i come across today and recently

- "Live as if we are dying."
- "Just a little bit farther."
- "Push it with more and more positive response."

Japanese Verbs

- Tim's Takamatsu (concise and simple)

Friday, October 22, 2004

Destination: Grand Majestic

Today, is more or less the official closing of Lightwell - Job Order Module
project. 'More or less' because we still need to support it after for needed fixes if any.

It spanned for about 3 months, it is the module given to ADTX
Systems, Cebu by Lightwell, the IT arm of Sumitomo Heavy Industries.

We are celebrating! The Japanese clients here in Cebu is going to treat us to a
Peking Duck Buffet at Grand Majestic this noon. Hehe =). Thanks thanks!

I have a very good feedback on this project, as our Project Leader and at
the same time a Business Unit Manager is very effective in keeping up the team
to completion. Dave can do leading and technical stuffs as well. Its a very
positive experience. Again... yupee... Congratulations to the team!

Sushi: Maki or Nigiri?

Some info on sushi =)

Maki sushi:
rolls of row fish or vegetable and rice wrapped in seaweed and cut into bite-sized rounds.
Nigiri sushi:
sliced raw fish (or cooked shrimp, crab, or egg) that is pressed over a pad of rice.

Your table should be set with a small bottle of soy sauce (It may look like a tiny teapot). The sushi will be served garnished with slices of pickled ginger and wasabi, a spicy, green condiment and pickled ginger. The ginger is intended to refresh the palate to better appreciate the delicate flavors of the fresh, raw fish.

- Nigiri sushi should be dipped into the soy sauce fish side down.
- Maki sushi should be dipped seaweed side down.

Reminds me of Saisaki Japanese cuisine buffet =)

Some Characteristics of Japanese Grammar

1. Constituents of a Japanese sentence

There are eleven word classes in Japanese, that is to say,
- noun
- * verb
- * "i" adjective
- * "na" adjective
- attributive
- adverb
- conjuction
- interjection
- * auxiliary verb
(Those classes marked with an asterisk conjugate.)

Words are divided into two types:
- independed lexical words
- dependent grammatical ones

Independed lexical words, or "juritsugo" in Japanese,
can occur at the beginning of a node (a phrase or element),
while dependent words or "fuzokugo" can never do so, but
can only occur after independent lexical words.

Particles and auxiliary verbs belong to the dependent gramatical
class, and the rest are in the independent class.

A Japanese sentence consists of a number of nodes, Each node is
an independent lexical word, or a combination of an independent
lexical word and some dependent grammatical words.

Kinoo anata wa terebi o mimashita ka.

The above sentence consists of four nodes. There are four independent
lexical words, i.e., kinoo, anata, terebi, and mi(ru), and all of them occur
at the beginning of each node. The dependent grammatical words are
i.e., wa, o, mashi, ta, and ka.

2. Word order

The most important part of a sentence in Japanese is the predicate,
which always occurs at the very end of the sentence.

Densha ga kita.
(Watashi wa) denwa of kakeru.
(Anata wa) kyoo kaisha e ikimasu ka.

As the subject and object in a sentence are indicated by specific particles
rather than by their positions in the sentence, their positions are
comparatively free.

Modifiers are placed before the word to be modified as follows:

takai yama (takai yama)
yoku hashiru uma (yoku hashiru, yoku hashiru uma)
kinoo tabeta ryoori (kinoo tebeta, kinoo tabeta ryoori)
Kare wa tabun kuru deshoo. (Kare wa kuru deshoo, tabun kuru deshoo)

1) Kinoo watashi wa tomodachi ni denwa o kakemashita.

The above example sentence consists of five nodes. 'kakemashita' is the
predicate that has to come at the end of the sentence, but the other four
nodes are free to occur anywhere else in the sentence. Therefore, 24 variations
of this sentence are grammatically possible. Usually, however, a temporal
element, a subject or a theme is placed at the beginning of a sentence. So,
examples 3), 4), and 5) below are not ungrammatical but very rarely used.

2) Watashi wa kinoo tomodachi ni denwa of kakemashita.
(frequent, standard)

3) Kinoo denwa o tomodachi ni watashi wa kakemashita.

4) Denwa o tomodachi ni watashi wa kinoo kakemashita.

5) Tomodachi ni denwa o kinoo watashi wa kakemashita.

Thursday, October 21, 2004

GMail Drive

GMail Drive is for Windows as GmailFS is for Linux.
These are shell extensions that can be use with Google Gmail.

IDEA: Make use of the 1GB storage of Gmail, files can be stored
in Gmail and can sync with local hardrive. A virtual filesystem.

My previous project is more similar to this one. A virtual filesystem
on Lindows/TurboLinux that represents the actual online filesystem
residing on a storage web server. Filesystem operations are supported.
Its a product of ADTX Systems called Airbank. =)

ADO.NET notes & Cache

1. Populating a DataSet 1.

- Prepare the SqlCommand (SQL Server)
- Relate the SqlCommand to an SqlConnection with its connection string
- Set SqlCommand's CommandText (better use SP)

- Prepare SqlDataAdapter
- Relate SqlDataAdapter to an SqlCommand

- Prepare the DataSet
- Open the SqlCommand connection
- Fill the DataSet using the Fill() method of the SqlDataAdapter

- Close the SqlCommand connection
- Dispose SqlDataAdapter's SqlCommand
- Dispose SqlDataAdapter

2. Use DataView to bind a set of DataRow objects to a server control.

Why not use the Select method of the DataTable object directly?
The problem with the Select method is that it returns an arraw or DataRow
objects. It is not easy to bind this array to a server control because the
System.Array class doesn't implement the IListSource and IList interfaces.

3. Keep less-dynamic and often-used data in cache.

It keeps the database server machine and network available for other
important processes. Architecturally, you will have to accept a slight
degredation in performance for higher availability of these critical

4. Refreshing Cached Data.

ASP.NET framework doesn't provide an elaborate mechanism for
refreshing cached data if it is changed in the database.

ASP.NET, having a an elegant mechanism for receiving notification if
the data is stored in a file instead of in the database, it is recommended
to consider keeping your cache candidate data in an XML file.

Exporting data from the database into an XML file is fairly easy.
Create a DataSet by running one or many SQL statements. Once you
have filled all needed data tables, make sure to create appropriate
relationships. This will help greatly when you attempt to filter the
information contained in the dataset. Then simply call WriteXML
method to save its content to an XML file.

It is easier to convert an XML file to a dataset if the file was
originated from a DataSet object. Write the schema to the file as well.

MyFastDataSet.WriteXML(XmlFileName, XmlWriteMode.WriteSchema);

Without saving the schema, we lose relationships between tables, which
can cost several hours of debugging to discover the real cause of the problem.

Important, update the cache correctly.
Some of you might be thinking, what's so hard about updating cache? You
simply get the dataset from cache and call its ReadXML method.

Caution. Never ever directly update the cached DataSet object from the
XML file.

When you are ready to refresh cache, make sure you create a new DataSet
object and populate it by calling ReadXML method. Once the new DataSet
is populated, throw away the current DataSet object that is residing in cache
and insert the newly created DataSet object in its place.

The reason we shouldn't use the currently cached DataSet object to refresh
data is that the ReadXML method can take up to several minutes if the XML
file is large. Of course, we don't want to affect users who are innocently surfing
your website by updating their data as they are using it.

Populating a new DataSEt object from an XML file doesn't affect website users.
You should still be careful while overwriting cache with the new object.
Even though it only takes a fraction of a second to place a new DataSet
object in cache, it is best to synchronize access to the Cache object while
performing this operation.

//An Example of Refreshing Cache Appropriately

string XmlFileName = request.MapPath("CacheFile/MyFastDataSet.xml");
DataSet MyFastDataSet = new DataSet();

//Populating newly created DataSet object from XML file.
//Make sure to use ReadSchema enumeration; otherwise,
//the DataSet object will not have data types and relations.

MyFastDataSet.ReadXML(XmlFileName, XmlReadMode.ReadSchema);

//Synchronize access to the Cache object by using the lock keyword.
//The lock keyword makes sure that no other thread can access the
//Cache object while it's being updated with new DataSet object.
lock (Cache)
Cache["Result"] = MyFastDataSet;

5. Expiring Cache.

The caching mechanism provides flexibility of expiring cached data
by using a variety of methods.

If XML is used to load a dataset in memory and keep it cached, it is
recommended to set the dependency of the cached data with that file.

By using this mechanism, the code can receive notification when the
file is changed. Once a notification is received, you can read this updated
file, create a new DataSet object, and replace the cached object with it.

This approach allows you to refresh the data simply by updating the
underlying XML file and to let the ASP.NET runtime and its caching
mechanism do the rest.

//Setting Up Dependency with a File, Receive Expiration Notification,
//and Set Various Expiration Options.

//Make sure to include System.Web.Caching namespace
private void AddToCache()
string XmlFileName = Request.MapPath("CacheFile/MyFastDataSet.xml");
DataSet MyFastDataSet = new DataSet();

//Populating newly created DataSet object from XML file.
MyFastDataSet.ReadXml(XmlFileName, XmlReadMode.ReadSchema);

CacheDependency MyDependency;
CacheItemRemovedCallback onRemove;

//Setting the dependency object to the XML file.
MyDependency = new CacheDependency(XmlFileName);

//Creating the delegate object and assigning it the
//name of the method that should be called when cached
//dataset is expired.
onRemove = new CacheItemRemovedCallBack(RemoveResultCallback);

//Inserting the newly created DataSet object in cache
//and assigning it the dependency, the delegate, and expiration values.
//In this example, the cached dataset will expire 24 hourse after it is placed
//in cache.
Cache.Insert("Result", MyFastDataSet, MyDependency,
DateTime.Now.AddHours(24), TimeSpan.Zero, CacheItemPriority.Normal,


//This method will be called when the cached data is expunged.
//It receives the expired object, its key, and the reason for
//expiration as specified in CacheItemRemovedCallback delegate.
private void RemoveResultCallback(string key, object removedObject,
CacheItemRemovedReason removeReason)
// We simply call the AddToCache() method to reread the
//XML file and refresh cached data set.

Wednesday, October 20, 2004

JITSE Oct 2004 Exam Result

JITSE October 2004 examination result is out today!

Congratulations to the passers! For those who weren't lucky
this time, still be proud for doing your best =). You are better now
because of the learnings you acquired in preparing.

JITSE stands for Japanese IT Standards Examination. It is being
held twice a year in the Philippines. It is a quality measure on IT
and computer field supported by Japanese Government and introduced
to ASEAN counties.

Tuesday, October 19, 2004


- A1 Check on Null on specifications (Project)
- A2 Wait for bug reports, specs changes, and fix
- A3 Go over on the different approaches of implementation on Ligtwell
- B1 Do assignment in Japanese / Read on the text (L8)

- B2 15 Kanji a Day
- B3 Try JFC flashcard with Minna no Nihongo vocabulary
- C1 Read something on keyword/bookmark manager (tengis,
- C2 Find a Blogspot template with a wider writting area and more on white/clean
background. Also find useful plug-ins. Use the blog storage mechanism.

Monday, October 18, 2004

Various Conjuctions (Japanese)

As starting to learn Japanese, if we had the chance, we encounter
Japanese conversations that seems to be so connected and smooth
in connecting phrases or long thoughts. With this, its a good idea to
start learning and familiarizing various conjuctions. The list below
is the elementary conjuctions we can often hear. Let's start using these

soshite - Ms. Kimura is pretty, and she is also kind. (L8)
(Kimura san wa kirei desu. Soshite taihen shinsetsu desu.)
~ de - Ms. Kimura is pretty and kind. (L16)
(Kimura san wa kirei de, taihen shinsetsu desu.)
~ kute - The food served by the restaurant is inexpensive and good. (L16)
(Ano resutoran wa yasukute, oishii desu.)
sorekara - Give me some stamps. And I want to send this package too, please. (L11)
(Kitte o kudasai. Sorekara kono nimotsu mo onegai-shimasu.)
~ tari - On Sundays, I go shopping, watch a movie and so on. (L19)
(Nichi-yoobi kaimono-shitari, eiga o mitari shimasu.)
~ ga - Hello, this is Tanaka. Is Ichiro there? (L20)
(Moshi moshi, Tanaka desu ga, Ichiro-san o onegai-shimasu. )

sorekara - I'm going to have dinner, then I'm going to watch television. (L6)
(Gohan o tabemasu. Sorekara terebi o mimasu.)
~ te kara - After having dinner, I'll watch television. (L16)
(Bangohan o tabete kara, terebi o mimasu.)
~ te, ~te - I'll have dinner and watch television, then study Japanese. (L16)
(Bangohan o tabete, terebi o mite, Nihon-go o benkyoo-shimasu.)
~ mae ni - I study Japanese before I go to sleep. (L18)
(Neru mae ni, Nihon-go o benkyoo-shimasu.)
~ toki - I always take the train when I commute to the office. (L23)
(Kaisha e iku toki, itsumo densha de ikimasu.)

~ kara - I'm not going anywhere, as I have a lot of homework to do. (L9)
(Shukkudai ga takusan arimasu kara, doko mo ikimasen.)
desukara - The people at the factory don't understand English.
That's why you are required to speak Japanese. (L17)
(Koojoo no hito wa Eigo ga wakarimasen.
Desukara, Nihon-go de hanasanakereba narimasen.)

~ ga - Japanese food tastes good, but it is expensive. (L8)
(Nihon no tabemono wa oishii desu ga, takai desu.)
demo - I want a camera, but I have no money. (L12)
(Kamera ga hoshii desu. Demo, okane ga arimasen.)
keredemo - Factory visits are interesting.
However, I think the time allowed for questions is too short. (L21)
(Kengaku wa omoshiroi desu.
Keredomo, shitsumon no jikan ga mijikai to omoimasu.)

ja - A: The price of this bag is 3,500 yen.
B: Then I'll take it. (L2)
(A: Kono kaban wa 3,500-en desu.
B: Ja, sore o kudasai.)
~ to - Walk straight down this road,
and you'll see a factory on your right. (L23)
(Kono michi o massugu iku to, migi ni koojoo ga arimasu.)
~ tara - I'll stay at home if it rains tomorrow. (L25)
(Moshi ashita ame ga futtara, uchi ni imasu.)

te mo - I'll take a trip even if it rains. (L25)
(Ame ga futte mo, ryokoo ni ikimasu.)

Saturday, October 16, 2004

250 Essential Kanji For Everyday Use

"250 Essential Kanji For Everyday Use," is the title of the book
I just borrowed today from the company shelve.

In addition to around 80 Kanji I go over this morning, I plan on moving
futher using this textbook. As I do that, I'll post Kanji items here from time to time.

Also, let's post the Kanji in used/compound form. Start familiarinzing with
Japanese Kana (Hiragana & Katakana) as it will for sure be used here.

To begin with
Lesson 1: Let's Eat. なにか たべましょう。
(Numerals, prices)

As in many other countries, eating out in Japan is a popular alternative to cooking at home. There are a variety of restaurants, with the most popular being soba-ya (soba shops), shokudoo (inexpensive eateries), and famirii resutoran (family restaurants). In most shokudoo one can order simple Japanese, Western, or Chinese meals. Plastic models of some of the dishes are usually displayed with the prices in an outside showcase. In this lesson you will learn how to write numersls in Kanji, since this is how they are written in restaurant menus, newspapers, books written vertically, and various other documents.

電話 (三九〇二) 五七九一 = Tel: 3902-5791
コーヒー 三百円 = coffee 300 yen
ライス カレー 六百三十円 = curry and rice 630 yen
ラーメン 五百円 = ramen 500 yen
うどん 四百七十円 = udon 470 yen
そば 四百八十円 = soba 480 yen

一二三四五六七八九十 = 1,2,3,...,10
百 = 100, 円 = yen

Friday, October 15, 2004

Filipino Tech Bloggers

I think it has been a year already since I
started reading blogs and only recently,
September 2004, I started to write also.

These are some of the Filipino Tech Bloggers
I enjoy reading:

-Sacha Chua
-Stanley Tan

And recently Sacha is on the nation newspaper, INQ7,
on an InfoTech aricle entitled: "Sacha and the art of tech blogging"

She shared good point of views on blogging.

- memory aid, personal information mangement
- tool for keeping up with family & friends
- capture learnings for the day, ever more - sharing it
- learn much if you write things down
- learn from people, lead other people lives
- publishing task list, gain feedback/help, achieving goals, less procastinating ;-)
- learn new fresh things
- it doesn't have to be public, can use to store whatever you need to remember
and a way to reflect on each day.

As Sacha would say, "... you'll find that your blog will grow to be a wonderful

Side note: I am not remembering actually any URLs of these
blogs, all I do is just fire up Google and then type in the keyword
i.e. sacha wiki, theSpoke punzki, theSpoke Stanley, theSpoke Howard.

This brings me to a realization that "keywords" are important in
managing information. Should there be a tool that manage keywords
that manages information then that would be very useful.


Yesterday is a busy day at work. Have blog not one.
Also, its my Birthday ;-), though I still came to office.
They'll still be calling me if I opt to have a VL. We are
on the testing stage of our project.

I am testing for the first time Blogger's Email-To-Blog feature.
Emailing from my Gmail account to a corresponding Blogspot email.

Let's check out the result of this email post. How could I set the font through this method? (Note: I already edited the font to Small .)

- A1 Test four modules
- B1 Answer assignment in Japanese
- B2 Review the 80 basic Kanji.
- C1 Setting goal meeting for the 4Q with Dave.
- C2 Reply to Sacha's email - YKC.
- C3 Reply to Boboy's email - Fukuoka.

Wednesday, October 13, 2004


- A1 Continue on tasks left yesterday
- A2 Do assignment in Japanese
- B1 Go over "Caching ASP.NET Application Settings"

Tuesday, October 12, 2004


- A1 SeibanLedgerCheck (Edit,Register) (1. Pending)
- A2 Test WR-010-02 (Implementation Test)
- A3 Bugs Study, Bug fix and Bug input (No. 29-38 / ER 18-22) (2. Bugs)
- A4 Implement new versions for ServiceCallTime (Search,Register,Edit) (3. Messages)
- A5 Implement mandatory fields error msgs should identify specific row (Register,Edit)
- A6 Update Pending.xls (1. Pending)
- A7 Test A1, with User17 data on test machine
- A8 Final test for the previous 3 modules
- A9 Repair WAS/Eclipse development machine
- B1 Try reading Japanese newspaper online
- B2 Kanji and more vocabulary

- Kyo wa nan nichi desu ka? (Japanese)
tsuitachi - ついたち
futsuka - ふつか
mikka - みっか
yokka - よっか
itsuka - いつか
muika - むいか
nanoka - なのか
yooka - ようか
kokonoka - ここのか
tooka - とうか

Monday, October 11, 2004

Understanding This ASP.NET Canonicalization Vulnerability

Equivalent forms of names can be resolved to a single standard name, or the "canonical" name. Example, c:\dir\test.dat, test.dat, and ..\..\test.dat might all refer to the same file.

When a URL is received by a Web server, the server maps the request to a file system path that determines the response. The canonicalization routine that is used to map the request must correctly parse the URL to avoid serving or processing unexpected content.

ASP.NET developers can safeguard through adding checks at Application_BeginRequest event handler in Global.asax file w/c is being executed for each web requests. Here's the code snippet.

An example is in Forms Authentication in ASP.NET. In securing subdirectories through this means, a non authenticated user is redirected to login page. But if the attacker includes a backslash ("\") in the url they can somehow bypass the authentication and directly access a resource.

Microsoft release an installable HttpModule that would give security necessary to deny any requests containing the backslash.

When, XML as Data Format?

This is from the article The XML Litmus Test: Understanding When and Why to Use XML of Dare Obasanjo, we might want to understand.


XML is the appropriate tool for the job if the following criteria are satisfied by choosing XML as the data representation format for a given application.

1. there is a need to interoperate across multiple software platforms

2. one or more of the off-the-shelf tools for dealing with XML can be leveraged when producing or consuming the data

3. parsing performance is not critical

4. the content is not primarily binary content such as a music or image file

5. the content does not contain control characters or any other characters that are illegal in XML

If the expected usage scenario does not satisfy most or all of the above criteria then it doesn't make much sense to use XML as the data representation format for the situation in question.

Wednesday, October 06, 2004

The Creator of the Blogger

Also today, I've learned that Evan Williams
is the creator of the Blogger. Google bought the application
or the company/team he developed.

Irony is that, despite how exciting now in Google, he's leaving.
Reason? Well, not because of the company, but because more on
his personality. I think he wants control of his own life than to be in
an employer, he's not normal, he's an interesting guy -- i think.
Come check it out -- Evhead.

He'll continue blogging tough. Further, should he be employed in
a company, for him that would be Google. Blogger still is in the hands
of an incredible team.

What's with Embbeded Systems?

One of the topic I'd like to understand is Embedded Systems Development.

Coincidentally, our former officemate, now in Carnegie Mellon University
taking up MS is joining the team of Philip Koopman and most likely be attending
Embedded Systems education, research or development.

The topic I first would like to understand and put here supposedly is
"What's Exciting about Embbeded Systems?" but among the links there that
I scanned, I got into reading about "The Challenges in Embedded Systems
Research & Education" and on the abstract "Developing a Software
Architecture for Graceful Degradation in an Elevator Control System."

Here are the keypoints:

1. Embedded Systems = Computers Inside a Product
2. Its about the application, Not the technology
3. Primary End Products of Embbeded Subscribers - 1st is Communications
4. Typical Embedded Systems Constrains
- Small Size, Low Weight
- Low power
- Harsh environment
- Safety-critical applications
- Extreme Cost Sensitivity
5. Research on Robust Self-Configuring Embbeded Systems

Tuesday, October 05, 2004

Why am I blogging here at the Blogger?

Hey, I am asking that too to myself.

What I would like to post is more on .NET technologies,
specifically .NET Best Practices. Then why here? Why not?

Actually I am thinking of joining either the or theSpoke
or even theSpoke Japan. They're the community I might fit more, then why here?

I attempted at, yet there is a long queue and Scott Watermasysk
told me if I can wait. For theSpoke, its intended more for students in universities,
though I am still studying and at the same time working, and could join
there. Its not even an absolute rule to be a student.

But what made me decide to join Blogger is that, I intended to post beyond
.NET. I would like to include Japanese Language items and Daily tasks
and notes.

I have a feeling that posting here at the Blogger could have an unexpected
response if any. Though I hope there is someone out there that could be
interested as well with the items I mentioned, its okay if at least I'll have a
place to post thoughts and be able to access them online.

Also, I am curious during that time when I started, how Google developed its
Blogger. I would like to experience the usablitity design of the application,
which the company is known to be good at. Having Gmail recently also made me
like to patronize Google because I do believe there is effective improvements
to come with this application.

Currently, I am satisfied though I have some wishes that Blogger should have
extended its features based on anticipating different needs of different types of
users and not only general ones probably. Lastly, its also like
"a bag of chocholates", you'll never know what you might be reading on
the next blog link - that I consider exciting.

Monday, October 04, 2004

Books to Sugbu Study Center

Yesterday, October 3, 2004 (Sunday)
Jonas and I wrestled on two heavy boxes bound for
Subgu Study Center, Cebu City.

Its a two-box-load of college engineering books!
I decided to give them to the center library.

Sugbu Study Center is one of the formation centers
handled by Opus Dei in the Philippines that caters to
university students.

It was onced our venue during college where
we do activities ranging from summer workcamps to
excursions. We normally have study groups there,

talks, cookouts, musics, and recollections.

I hope a new batch of students will make good use

of it and once more be inspired to pursue higher aspirations.


- A1 100% Coding on ManufactureWorkCardEdit (Project)
- A2 Debug and test ManufactureWorkCardEdit (Project)
- A3 Japanese class 13:00-15:00 (Japanese)
- B1 Email JITSE (wait for reply)

- B2 Identify 5 items for JITSE PM Review - give to Ryerod
- C1 Call Jiji if cooking stove set were delivered - 16:00
- C2 Buy house hardware needs - 18:30

- (Japanese)
やさい  Vegetables
きゅうり cucumber
トマト tomato
なす egg plant
まめ beans, peas
キャベツ cabbage
ねぎ Welsh onion
はくさい Chinese cabbage
ほうれんそう spinach
レタス lettuce
じゃがいも potato
だいこん Japanese radish
たまねぎ onion
にんじん carrot

Friday, October 01, 2004


- I think I've been typing more often now than :-)
- A thought -- why not give time understand software domains also
(i.e. Japanese Banking System).
- Published at the front page of University of the Philippines OU -> JITSE
(October 2004)