Cluttering my hands with web-application developments, `forward()' and `redirect()' are often heard. Now I understand how they exactly differ.
I have used Slackware 10.2 since 2007 after I upgraded from Slackware 10.1.
What I didn't know was that Slackware 10.2 was shipped with a broken dhclient.
The very first time I heard the term `GNU/Linux' was when I worked at a local computer shop in my hometown.
A while ago a friend of mine texted me asking the continuation of the following sequence:
1, 9, 16, 23, ...
I scribbled the following on my scratch paper:
1 9 16 23 ... 8 7 7 ...
So, I thought the continuation would be 29, 35, 40, 45, and so on since:
1 9 16 23 29 35 40 45 41 37... 8 7 7 6 6 5 5 4 4...
I have a PHP script that uses `fsockopen(localhost, ...)' to open a socket connection to another server residing in the same machine. It works beautifully in GNU+Linux hosts but not in Windows Vista.
Fiddling with HTML and JavaScript, I know that `createElement()' should be used to create a new HTML element, and it is only possible to do so with XHTML documents. So, I was surprised when I found out that I can do `new Option([text[, value[, defaultSelected[, selected]]]])' to create a new HTML Option element to be added to an HTML Select element. The next question that followed will be: who standardizes the arguments to the constructor of an HTML Option element.
When studying computer networking, the term logical networking stack is often heard.
The most famous example will be ISO OSI's logical networking stack that consists of seven layers, which are:
- Application,
- Presentation,
- Session,
- Transport,
- Network,
- Datalink, and
- Physical.
For those facts, I have the following questions:
1. What is the purpose of having a logical networking stack at the first place?
2. Why does ISO OSI's consist of seven layers instead of three or ten?
Previously, I wondered why the need of XHTML specification by W3C. Now after I was cluttering my hands with ECMA Script (i.e., JavaScript) for a while, I found the definite reason.
Back when I was in the last half part of my third semester of my undergraduate study, there was a fever among my classmates to solve Sudoku puzzles. I just tried to scratch some of those puzzles but find them not exciting because I only need to employ a trial-and-error method. Later, in the beginning of my fourth semester, I tried to find an algorithm to solve those puzzles and ended up with a method that I will describe here.
A friend of mine would like to try to implement a new system call based on the example in Chapter 8 of Linux Kernel Module Programming Guide 2.6 Series (http://www.dirac.org/linux/writing/lkmpg/2.6/lkmpg-2.6.0.html) in Linux kernel 2.6.21.5. The example requires that the kernel exports `sys_call_table' symbol. Although Linux kernel 2.4.x, on which the guide is based, still exposes that symbol, Linux kernel 2.6.x does not do that anymore for it is harmful (e.g., it is unimaginable if a module replace the system call of `link' with `unlink' via the table). The guide comes with a patch to expose the table in Linux kernel 2.6.x. However, the patch does not work in particular for Linux kernel 2.6.21.5. So, I helped him to do so.
In a book titled C How to Program by Deitel and Deitel, computer languages are classified into three types as follows:
1. machine language
2. assembly language
3. high-level language
Well, everything started with single-user batch processing system. In this system, a batch of jobs are queued to be processed by the system one at a time. The system itself is usually operated by one operator. An owner of a job has to wait for the result to be produced by the system.
I believe every new student studying Computer Science or Information Technology will be introduced to the sub-systems of computers, which are Input Unit, Output Unit, Arithmetic and Logic Unit, Central Processing Unit, Storage Unit (Primary Storage Unit/Main Memory and Secondary Storage Unit). I always thought that the most amazing part of a computer was its processor (i.e., ALU and CPU).
I have my e-mail forwarding set up in FSF's mail server to my account in Yahoo!'s mail server.
I tune into several mailing lists, and I noticed that frequently the e-mails came out-of-order if not delivered at all.
How does the IP receiving mechanism assemble fragmented datagrams?
First of all, this writing is based on Linux kernel 2.6.21.5.
When I looked into ip_frag_reasm() that was commented with /* Build a new IP datagram from all its fragments. */ in net/ipv4/ip_fragment.c, I could not find the code that I had looked for, specifically, the code to construct a new big SKB and copy all data fragments in the received SKBs into the new big SKB. Of course, if I had found what I had looked for, it would have meant that ip_frag_reasm() was so inefficient (i.e., dumb). Instead, ip_frag_reasm() only prepared the chain of the SKBs to be processed by skb_copy_datagram_iovec() as I have described here.