KernelTrap, OS/kernel, Linux, FreeBSD, Life, NetBSD, GNU/Hurd, OpenBSD, Applications/tools, Other, Nothing, Me, Personal, Linux, FreeBSD

Ergonomics: Staying in good health

Submitted by Kedar Sovani
on October 10, 2008 - 9:24am

This is old news by now. But recently I came across quite a few people who are suffering from various problems because of repetitive stress. Goggling for ergonomics is going to give you tons of results. So here's a quick summary of what I do to avoid these problems (hopefully !).

  1. It is a problem. If you aren't suffering from it now, you'll later. Unless of course you are taking measures. Obviously your muscles and bones give way after sitting, typing, using the mouse for 8 hours a day, 6-7 days a week (Everyone is browsing on the weekends). And not just your muscles and bones, but your eyes too.
  2. Adjust my seat such that my feet touch the ground. And try to make sure there are right angles (90 degrees) at my ankles, knees, waist, elbows. The shoulders are not crumpled forward.
  3. My monitor brightness is as low as is possible and the contrast is not too high. But such that I don't have to strain my eyes to read. While I am programming or using the shell, I keep the monitor settings on dark background, white/grey foreground, thus reducing intensity that my eyes have to deal with all day long. I read a lot of studies commenting on what the best combination should be. But there doesn't seem to be any consensus yet. I am currently experimenting with green-on-black
  4. Take my eyes off the monitor and look at some distant object. Thus eyes are exercised.
  5. Wash my eyes at least once in a day. With the ACs on, eyes tend to become dry. To avoid dark circles, Baba Ramdev suggests, filling your mouth with water, and then splashing water on your eyes.
  6. Drink a lot of water. I try to drink at least 2-3 ltrs. of water while in the office. This doesn't include water from other sources like fruits etc.
  7. I use an ergonomic split keyboard
  8. Do yogasana. Running and gym is good, but you need something that exercises all the muscles of your body. Yogasana help me do that. Your neck, back, spine, fingers and thighs get a lot of strain. Not to mention your mind and your brain.
  9. I take frequent breaks. I am very rarely sitting at my desk for long periods of time ;-)
  10. Include hand and leg exercies, stretches, shrugs etc. in my daily routine

Computer Languages

Submitted by Eus
on October 4, 2008 - 7:59am

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

The Development of Computers

Submitted by Eus
on October 4, 2008 - 7:55am

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.

Computer Subsystems - How Important I/O Is

Submitted by Eus
on October 4, 2008 - 7:53am

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).

Yahoo!'s Spam Filter Broke

Submitted by Eus
on October 4, 2008 - 7:49am

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 IPv4 Receiving Mechanism Assemble Fragmented Datagrams?

Submitted by Eus
on October 4, 2008 - 7:26am

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.

Information On skb_copy_datagram_iovec().txt

Submitted by Eus
on October 3, 2008 - 12:01am

Information on skb_copy_datagram_iovec()

This writing is based on Linux kernel 2.6.21.5.

This function is defined in net/core/datagram.c. The main task of this function is to copy the data of an skb in the kernel-space to a memory location in the user-space. Usually, this function will be the one who finally satisfies recvmsg() system call and its variants, which are recv() and recvfrom(). Nevertheless, this main task also carries one unique responsibility: taking care of fragmentation.

The Crisp Boundary between HardIRQ-context, SoftIRQ-context, and User-context

Submitted by Eus
on October 2, 2008 - 11:56pm

As mentioned in Rusty's Unreliable Guide to Kernel Locking, the Linux kernel has three contexts of thread executions: hard-IRQ context, soft-IRQ context, and user/process-context. As on July 10, 2008, the guide does not mention anything about the boundaries between those contexts. So, I studied the source code of Linux kernel 2.6.21.5. From my study, it is clear that the boundaries are queues. It represents the classical IPC problem: the Producer-Consumer Problem.

Tuning to a New Unusual Multicast Address

Submitted by Eus
on September 27, 2008 - 8:52pm

During my work on the ATN TP4/CLNP Networking Suite, I helped a friend of mine to be able to capture Ethernet frames destined to unusual Ethernet multicast addresses. What I mean by unusual is that it is not the common IANA's range for multicast addresses, which is from 01-00-5e-00-00-00 to 01-00-5e-ff-ff-ff.

17 years of Linux

Submitted by mariuz
on September 21, 2008 - 11:55pm

On 17 September 1991 Linus Torvalds was announcing the first version of Linux 0.0.1.
The rest is history.

http://alexandrubucur.com/2008-09-17/17-years-linux

here is more info about dusting off the linux 0.0.1 on modern distributions
http://draconux.free.fr/os_dev/linux0.01.html

and how to run in qemu
http://kerneltrap.org/Linux/Dusting_Off_the_0.01_Kernel

FireFox 3 and back

Submitted by shuaib
on September 5, 2008 - 6:06pm

Upgraded to Firefox 3, and downgraded back in an hour. Why? Because the native look and feel of FireFox 3 was making me suffocate. It may have been working fast, may have been consuming less memory, but it did remind me of the good old Konqueror as a web browser, which I never liked. FF3's font rendering on Linux platform is simply unimaginably awful.

Google Chrome for Linux...?

Submitted by shuaib
on September 2, 2008 - 6:30pm

C'mon Google! Does Windows users have always get to try your native desktop applications first?

DIsk i/o optimization

Submitted by shady_Dev
on August 29, 2008 - 4:27am

Hi ,
I m Himanshu Barthwal student of National Institute of Technology ,India pursuing Bachelor's in Computer Science and Engineering.I m trying to implement the idea given at this url as my final year project : http://kernelnewbies.org/KernelProjects/ResourceControl

Reg: Kernel debugger

Submitted by sathya
on August 27, 2008 - 7:12am

Hi ,

Reg: Router performance!!!

Submitted by sathya
on August 26, 2008 - 1:08am

Hi All,

I am looking for optimize the network performance ... I always measure my network performance using iperf/netperf. Can any one please help me in mentioning some important network parameters i should adjust to get maximum performance out of my device ???