...making Linux just a little more fun!

<-- prev | next -->

The Mailbag (page 3)

By Kat Tanaka Okopnik


MAILBAG #3
Submit comments about articles, or articles themselves (after reading our guidelines) to The Editors of Linux Gazette, and technical answers and tips about Linux to The Answer Gang.


Urgent help (in Linux) needed

PRASHANT BADALA (prashant_badala at yahoo.co.in)
Mon Mar 13 05:26:32 PST 2006

Sir,
My name is Prashant Badala and I'm a final year computer engineering student. As I'm doing my project I've got stuck as I'm not able to understand two concepts namely,

1> After I set up a dial-up internet connection (in LINUX) by writing a PPP script how does the web browser get to know that it has to follow the corresponding link. Could you explain to me the entire functioning of the web browser and the corressponding system files involved.

2> If apart from the above mentioned PPP link my system is also connected to the ethernet which in turn is connected to the internet then which link would the web browser use to get connected to internet - the PPP or the ethernet ?

I'll be really grateful to you if you could help me out with the same. Looking forward to your quick reply,

Thanking you

Prashant Badala

[Thomas] - On Mon, Mar 13, 2006 at 01:26:32PM +0000, PRASHANT BADALA wrote:

> Sir,

Let's get something straight. You DO NOT, EVER, cross-post like this to other mailing-lists. The influx of emails will just be stupid, and the flow of conversations may well be one-sided as people may not be able to post to the lists you have so easily forced us to reply to.

> My name is Prashant Badala and I'm a final year computer engineering
> student. As I'm doing my project I've got stuck as I'm not able to
> understand two concepts namely, 1> After I set up a dial-up internet
> connection (in LINUX) by writing a PPP script how does the web browser
> get to know that it has to follow the corresponding link. Could you

We don't do your homework. If you don't understand how DNS works (there's a clue for you), along with routing concepts (networking), then your lecturers either aren't doing a good enough job (unlikely) or rather you're not paying good enough attention in class.

> explain to me the entire functioning of the web browser and the
> corressponding system files involved.

No. But the two clues I gave you above will enable you to do all that you want.

Desperation is not a means for you to spam others' in the hope that you will receive an answer, just because you have an assignment due in and you're panacing all of a sudden.

[Neil] - The entire functioning of the web browser is way too big a topic.

To address more narrowly the topic of how the browser knows to use the PPP link, the short answer is that it doesn't. It communicates via the sockets library, which is an interface to the kernel's TCP/IP stack. It just calls a library function, which requests a communication channel (socket) to a given IP address (I've skipped DNS lookups here). The kernel then has the job of routing the message. The kernel looks up, which link to use in it's routing table. At some point before this the PPP script should have added an entry to the routing table, indicating that connections to the internet can be made via the PPP connection that has been established.

It's a bit more complicated than that, but I'm no expert on routing tables. I dare say googling for linux routing tables will come up with all the information you need and more.

I believe the command "ip route" is used to examine and manipulate routing tables in modern linux distributions.

> 2> If apart from the above mentioned PPP link my system is
> also connected to the ethernet which in turn is connected
> to the internet then which link would the web browser use
> to get connected to internet - the PPP or the ethernet ?

I guess that would depend on what's in the routing table.

[Ben] - [ long CC list snipped ]

Hi, Prashant -

First, I *strongly* suggest that you read a list etiquette FAQ before posting to any more lists; your cross-posting is a violation of basic etiquette, and is going to offend a lot of people. I'm sure that you did it because you don't know any better, but if you're going to participate in forums on the Internet, you definitely need to learn some basic protocol. Here's ours, with a number of links to good resources elsewhere:

http://linuxgazette.net/tag/ask-the-gang.html

Incidentally, I suggest that you revise your estimate of Thomas Adams' reply to you; he was actually being quite kind and helpful. You'll know what I mean if you get responses from any other lists, which generally tend to come down with great big heavy boots on people who violate protocol.

On Mon, Mar 13, 2006 at 01:26:32PM +0000, PRASHANT BADALA wrote:
> Sir,
> My name is Prashant Badala and I'm a final year computer
> engineering student. As I'm doing my project I've got stuck
> as I'm not able to understand two concepts namely,
> 1> After I set up a dial-up internet connection (in LINUX) by
> writing a PPP script how does the web browser get to
> know that it has to follow the corresponding link.

The simple answer is that it doesn't. A web browser, just like most other network applications, connects to a _socket_ - a virtual connection that consists of port and an IP. This kind of modularization (i.e., applications don't need to "know" anything about the underlying network protocols, while the network doesn't "care" about applications) is one of the main features of networking that makes it so robust.

I'd suggest that you take a look at, study, and understand in depth the basic four-layer TCP/IP stack (search for it at, e.g., Google.) This will give you a better understanding of this type of separation.

> Could you explain to me the entire functioning of the
> web browser and the corressponding system files involved.

Well, no. If this is what you _really_ want - and I think that you've mistaken the critical path for understanding the solution to your problem - then you need to download the sources for your favorite browser and start reading. However, I suspect that once you understand the networking end, you'll see that it's unnecessary in the first place.

> 2> If apart from the above mentioned PPP link my system is
> also connected to the ethernet which in turn is connected
> to the internet then which link would the web browser use
> to get connected to internet - the PPP or the ethernet ?

It all depends on your routing table, which is (usually) configured at connection time. For example, if I have an Ethernet connection up, then make a PPP connection, and have PPP configured with "defaultroute" and "replacedefaultroute", then the PPP route will replace the previous one. I'm sure that you can imagine some of the possibilities for the above scenario based on the information I just gave you.

> I'll be really grateful to you if you could help me out with
> the same. Looking forward to your quick reply,

Erm... this is another one of those things you want to avoid doing on a list. "Quick reply" implies a degree of arrogance on the part of the person requesting it - unless they're willing to pay for such "service".

[[[Thomas]]] - On Tue, Mar 14, 2006 at 10:07:36AM +0000, PRASHANT BADALA wrote:

> Sir,

You can call me Thomas. Please be aware that as I am answering this via TAG at linuxgazette that you *also* reply to that address. I am not answering you directly, as that would be consultancy, and I don't (yet (thankfully) charge for that). If you fail to reply to tag at lists.linuxgazette.net, I shan't answer you.

> I recieved your mail and realised that I have to give you a complete
> description of what I know and what my problem is. Well to begin

Excellent. :)

> with, I've set up PPP dial-up internet connection (on my linux
> installed machine) by writing a script. As a part of this script
> writing I had to modify a few system files and create a few of them.
> To give you a precise idea I'm sending in a list of the files as an
> attachment.

That really wasn't necessary, but thank you for doing so.

> A stepwise description of what I understand is the procedure is as
> follows :
>
> 1> I dial into the ISP's(BSNL) host/router via modem.
> 2> I get authenticated for username and password as a physical
> connection is established between me and the ISP's host.
> 3> This link is then disconnected ensuring that the modem is not reset and
> then the PPP is been started at the ISP's server end.

The modem isn't "reset" as such -- it still provides the mechanism of modulating and demodulating the signals.

> 4> Then the PPP is being initiated at my end and a PPP link is been setup.
> 5> Via the (-defaultroute) option and the gateways of the ISP I can now
> get connected to the internet.
> 6> In this entire process primary and the secondary nameservers (specified in /etc/resolv.conf) of the ISP have got special significance as they help in ]
> host-name-address resolution.
>
> The very fact that I've been connected to the 'net can be confirmed
> by pinging any site say www.google.com or directly opening it in the
> web browser (say mozilla). Also the exchange of LCP packets can be
> observed.

Well, pinging a site and trying to view a site's webpage are two different processes in effect. Ping sends out a certain data packet -- an ICMP request. When you look at a web browser, you're reliant on various ports to connect and talk to processes listening on it, etc. This might not always be possible, despite the fact you can still ping the domain.

> Now my Question is that how does the web browser get to know that
> it has to follow the PPP link set up by us to get the URL request
> satisfied for the user ? (if what I'm thinking is correct). There

Because your routing table (see 'man route') details how to connect everything together. I'll refer you back to the linuxgazette in this instance. Google for "subnetting and routing 101". That explains all of that side of things in more detail than I care to remember.

> obviously has to be certain O.S assistance or system settings that
> direct the web browser in that direction.

No, not at all. OS has nothing to do with it -- you might connect to an ISS server or Apache, but what difference does that make to you? What happens is that your browser (when you click on a link) has to translate the http:// URI from a domain name to an IP address. Connections (or routes as we like to think of them) at the transmission level use numbers to talk to one another -- DNS provides a convenience service to translate IP to hostname, and vice versa. Typically, your ISP will have DNS so you don't have to worry.

Of course, as I mentioned in my previous email to you (you did read it, I assume?) you're rarely going to go from A --> B directly. Instead you'll connect to a series of computers to reach B. And you can see for yourself how this is achieved:

   traceroute google.com

... for instance will tell you how many hops it took to reach google.com

Once the connection has been reached, Apache, at the other end on the remote server will send back a request detailing whatever content it needs to, to satisfy the URL you clicked on. Note that computer "B" undergoes the same process in terms of DNS, etc., to reach your computer.

> So what is entire stepwise
> procedure that takes place and what all system files help the web
> browser to get on to the PPP link. (I hope I'm being a bit more
> clear in my doubts now.)

Well, it depends how deep you want to go. I suggest you read up on "Bind and DNS" by O'Reilly.

> Now I have one more doubt. Suppose apart from the above mentioned
> connection I'm also connected to an ethernet which in turn has got
> internet access. so the web browser has got two different ways of
> handling the URL request. Either by the dial-up PPP connection or
> by the ethernet link to the internet. So which one would it use and
> why?

Both are used implicitly. Look at your routing table -- you'll probably find you have a non-public routable IP address that your ethernet card (or modem, or router, or what have you) is being a gateway for -- hence you have NAT.

> Kindly try to help me by sending in your views about whether I'm
> thinking on the right lines or not and if I am then what is the
> solution to the above mentioned problem.

"Solution"? I don't see a problem, other than wanting to have a concept explained. You'll notice I have been deliberately vague in some areas. What you're asking is for a book to be sent for you essentially -- the subject area is _vast_. I hope though that you have sufficient information.

[[[[Prashant]]]] - Reply to tag at lists.linuxgazette.net informing that I was helped by Mr. Thomas Adam. I also wanna thank you for the valuable help and guidance.


Help regarding D-BUS concepts needed.

PRASHANT BADALA (prashant_badala at yahoo.co.in)
Mon Mar 20 09:36:00 PST 2006

Hi everyone,
I'm Prashant Badala, a final year Computer Engineering student. I'm trying to study and program the D-BUS as a part of my project. Hence I was going through a book that says -

===========================================================
The D-BUS C API
Using D-BUS starts with including its header:
#include <dbus/dbus.h>

The first thing you probably want to do is connect to
an existing bus. Recall from our initial D-BUS discussion
that D-BUS provides two buses, the session and the
system bus. Let's connect to the system bus:
DBusError error;
DBusConnection *conn;
dbus_error_init (&error);
conn = dbus_bus_get (DBUS_BUS_SYSTEM, &error);
if (!conn) {
fprintf (stderr, "%s: %s\n",
err.name, err.message);
return 1;
}

Connecting to the system bus is a nice first step, but we
want to be able to send messages from a well-known address.
Let's acquire a service:
dbus_bus_acquire_service (conn, "org.pirate.parrot",
0, &err);
if (dbus_error_is_set (&err)) {
fprintf (stderr, "%s: %s\n",
err.name, err.message);
dbus_connection_disconnect (conn);
return;
}

Now that we are on the system bus and have acquired
the org.pirate.parrot service, we can send messages
originating from that address. Let's send a signal:
===========================================================

Now in this particular text I'm not quite able to understand the concept of a "service" and the "address". What service does "org.pirate.parrot" specify ? What is the meaning of a message originating from it's address ? Could you also explain what is the differnce between "org.pirate.parrot.attr" and "org/pirate/parrot/attr"
when been specified indivisually in the function "dbus_message_new_signal".

Basically I'm trying to write two programs that could send text to each other (over d-bus) when executed on the same system. For this purpose do I need to be
connected to the 'net at the time of executing the above mentioned programs. (Might sound stupid... but somehow taking a look at the given program prompts me to ask this...). Can you give me some advise regarding this ?

I'd be really thankful to you if you could explain to me these concepts as I'm not able to find a good referece for this. Prior to this also I've sent queries to you guys and the response has been really good and helpful. Kindly help.

Thanking you,

Prashant Badala.


[Ben] - I'd say that you have to look at the code or the documentation of the API to figure out what "dbus_bus_get" and "dbus_bus_acquire_service" do; since these are (presumably) defined somewhere before this part of the book, you'll need to go back and set a mental bookmark for those functions.

> Could you also explain what is the differnce between
> "org.pirate.parrot.attr" and "org/pirate/parrot/attr"
> when been specified indivisually in the function
> "dbus_message_new_signal".

No idea - for the same exact reason as above. It all depends on what the function does.

> Basically I'm trying to write two programs that could
> send text to each other (over d-bus) when executed
> on the same system. For this purpose do I need to be
> connected to the 'net at the time of executing the above
> mentioned programs. (Might sound stupid... but somehow taking
> a look at the given program prompts me to ask this...). Can
> you give me some advise regarding this ?

Well, local communications usually take place via a unix(7) socket, which certainly does not require a network connection; however, I suspect from the content of what you've sent us that the author is using some kind of a specialized protocol/method of sending the data. It _shouldn't_ need anything like that - it would be like requiring someone to drive a car as a part of moving a piece of furniture from one room to another within a house - but anything is possible.

It all comes back to Reading The Fine Manual.

[Jimmy] - Um... it's pretty clear English: the service is what you want to use, the address is where it lives. Think of the service as something like "http server", and address as something like "port 80".

"org.pirate.parrot" is the name of the service provided by the example program; a message originating from its address means that when that service talks to another program using D-BUS, it first identifies itself as coming from "org.pirate.parrot".

> Could you also explain what is the differnce between
> "org.pirate.parrot.attr" and "org/pirate/parrot/attr"
> when been specified indivisually in the function
> "dbus_message_new_signal".

Just a slightly different naming scheme. "org.foo.bar" refers to a service, but "/org/foo/bar/some/object" is used when you want to access an object provided by that service. I think the naming scheme is different so you will know by sight what you are accessing: the service name is more like a (backwards) domain name, the object(s) provided like a file path.

For example: "net.linuxgazette" would be the address for a viewer program for LG issues; "/net/linuxgazette/124/" would provide an object that provides a list of articles from that issue, "/net/linuxgazette/124/lg_bytes.html" could provide a file, etc.

> Basically I'm trying to write two programs that could
> send text to each other (over d-bus) when executed
> on the same system. For this purpose do I need to be
> connected to the 'net at the time of executing the above
> mentioned programs. (Might sound stupid... but somehow taking
> a look at the given program prompts me to ask this...). Can
> you give me some advise regarding this ?

No; see Ben's mail.

> I'd be really thankful to you if you could explain to me
> these concepts as I'm not able to find a good referece for
> this. Prior to this also I've sent queries to you guys and
> the response has been really good and helpful. Kindly help.

D-BUS Tutorial: http://dbus.freedesktop.org/doc/dbus-tutorial.html
The D-BUS Missing Tutorial: http://raphael.slinckx.net/dbustutorial.php
Net::DBus::Tutorial (D-BUS from Perl) http://search.cpan.org/~danberr/Net-DBus-0.33.1/lib/Net/DBus/Tutorial.pod

[Thomas] - I'm formally putting in a request for there to be a new email alias:

doMyHomeworkForMeICertainlyCannot at lists.linuxgazette.net

It would be really cool. I promise. :)

[[Ben]] - I generally like to distinguish between somebody coming to us and saying "I'm having this Linux-related problem at school, I've tried to figure it out but can't, can you help?" and "Answer these questions: 1. What is an inode? 2. How does Linux boot? 3. What is the weight of a coconut-laden African sparrow?" In the first case, the person (at least in my opinion) has followed the net.help procedures and is asking for assistance; in the second, they're being a lazy ass who wants to have their work done for them.

I don't know about anyone else, but the fact that a problem is associated with schoolwork does not faze me or influence my willingness to answer one way or the other; there are plenty of valid problems, and of people trying to solve them, in many different venues. On the other hand, freeloading lazy bums who are unwilling to make an effort - no matter what the context - cause my fingers to twitch toward my flamethrower, or (more commonly) exert about the same amount of effort that they have toward solving the problem (i.e., none.)

IMO, Prashant fits the first case far more than the second. I may be wrong, but that's my best estimate.


OFF TOPIC/HARDWARE-RELATED


DVD drive no longer reads DVDs. Likes CDs just fine.

Thomas Adam (thomas at edulinux.homeunix.org)
Tue Mar 21 13:25:19 PST 2006

Dear all,

Whilst this is slightly OT (and most likely hardware related), I thought I'd ask here anyway, since it's an odd issue to say the least.

To put it simply, my DVD-ROM drive no longer wants to read _any_ DVD I give it, yet it manages to read data CDs and audio CDs just fine. For some reason, my DVD drive was working fine one day, and the next it has trouble in reading any DVD you feed it -- even the same DVD that was known working and being read by the same DVD drive a day before.

I can't even say that the issue is a read one, since as soon as I put a DVD into the DVD drive, the drive just starts to splutter, spin up and slow down, and will remain like that for at least thirty minutes, until such time that the DVD drive will stop, or I eject the disc. Trying to use MPlayer on the drive fails in that MPlayer sees nothing. There's not even any suspect { SeekReadComplete } type of errors in /var/log/messages. In fact, nothing is printed to that file in any way to suggest there's a problem with the drive.

I did (on a hunch) shove a CD-cleaner CD into the drive in the hopes that might help, alas, it didn't. DVDs are still not being read.

I also tried to bugger about with hdparm and toggling DMA and I/O support which didn't help either.

Can anyone shed some light onto what I do next? Is the drive kaput?

[Ben] - I've seen CD-ROM drives get into a state which could only be "cured" by shutting down the machine and leaving it off for a minute or so. Try that, boot using a different version of Linux (I've usually got a CD with BBC-Linux on it close at hand, these days), and if it still doesn't work, I'd call it cooked.


Help! (My laptop screen died on me)

Fabrizio (donodeglidei at yahoo.it )
Fri Mar 17 10:09:27 PST 2006

My laptop compaq presario x1000 has this problem:
suddenly the sreeen have desappeared and now after two days of on & off I can not use it anymore. The laptop in itself is working but there is not the screen.

Someone told me that maybe the inverter cable connection between display and screen... in this case I am not skilled enough to find and replace the peace by my self. Do you have a tip?

[Thomas] - Sure -- take it back to where you bought it and get it mended. Seriously, fixing that sort of thing by yourself (if it even *is* the inverter cable) is going to be awkward.

So get someone who knows what they're doing, to do it for you.

Oh, by the way, a subject line of "help" really is annoying, and doesn't help me in knowing what your email is about. You could have tried: "Laptop screen blank? Inverter Cable?"

Ramon changed the subject line shortly after, and I've changed the title to reflect this. --Ed.

[Ramon] - Attach an external monitor to the laptop and use that to copy all your crucial data onto some external storage (network drive / other computer / usb-harddisk / whatever) Take the laptop to a certified repair shop or return it under warranty.

Tried fixing this stuff myself before and have hardly ever been succesfull :-(

Good luck.

P.S> It helps if you use a more relevant subject instead of help!

[Ben] - This has nothing to do with Linux, but - yeah, inverters die a lot. I've replaced a couple of them myself within the last couple of years, including the one on the laptop that I'm using right now.

First, figure out what the correct inverter is for your LCD display. The only way to do this is to actually take the plastic casing off the and look at the back of the display, since every manufacturer uses several different displays in any given model. Buy the appropriate inverter - I've found eBay to be an excellent source for them. The inverter is usually located just below the LCD display (i.e., just above the hinge); disassembling the case (you only need to open the top part - the body of the laptop is usually not involved, although you'll most likely need to remove the hinge cover) requires removing the screws and *carefully* unlatching the very thin plastic clamshell around it.

Reassemble everything - you *did* take pictures as you went through disassembly, right? :) - and enjoy your nice bright screen.


Segment Fault in my code pls help

arun dubey (alencdave at yahoo.co.in)
Thu Mar 23 21:31:53 PST 2006

hello Mr.James T. Dennis
i m Arun from INDIA, i m a student of MCA(masters of computer applications)
i have written a very simple C-code for "who" command, this code is having no Compilation Error, but everytime i try to run it i get the message "SEGMENT FAULT"

n i just could not understand why this error is coming in my prog as i m not using any pointers (xcept in command line arguments)

sir i need ur help in solving this problem. i m sending you the two trivial codes for "who" command written by me and in both the codes i m getting "segment fault"

pls help me in rectifying those codes.

i m using mandrake's linux 9.2
n i have my compiled my codes as follows
1) cc -o who1 who1.c

2) cc -o who_ who_.c

(i will b really thankful to u for ur prompt reply)
pls reply me on to:-
alecdave at yahoo.co.in

[Ben] - On Thu, Mar 23, 2006 at 09:31:53PM -0800, arun dubey wrote:

> hello Mr.James T. Dennis

It's been quite a long time since Jim was doing the Answer Guy thing, Arun - nowadays, we've got an entire Answer Gang here. However, we're still doing much the same thing - answering Linux questions. This doesn't seem to be one, but since it doesn't look too tough, I'll give it a shot (keeping in mind that my C is pretty rusty...)

> i m Arun from INDIA, i m a student of MCA(masters of computer applications)
> i have written a very simple C-code for "who" command, this code is having no
> Compilation Error, but everytime i try to run it i get the message "SEGMENT
> FAULT"
>
> n i just could not understand why this error is coming in my prog as i m not
> using any pointers (xcept in command line arguments)

Erm, well, you are. At least you're using casts, which isn't too far off.

> sir i need ur help in solving this problem. i m sending you the two trivial
> codes for "who" command written by me and in both the codes i m getting
> "segment fault"
>
> pls help me in rectifying those codes.
>
> i m using mandrake's linux 9.2
> n i have my compiled my codes as follows
> 1) cc -o who1 who1.c
>
> 2) cc -o who_ who_.c
>
> (i will b really thankful to u for ur prompt reply)

And we would be really thankful if you left off that kind of an unpleasant demand in the future. Promptness is something you can ask for if you're willing to pay for the service; otherwise, hold your horses.

[ snip code ]

ben at Fenrir:/tmp$ cc -o who1 who1.c
ben at Fenrir:/tmp$ ./who1
Segmentation fault
ben at Fenrir:/tmp$ gdb who1
GNU gdb 6.4-debian
Copyright 2005 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i486-linux-gnu"...Using host libthread_db library
"/lib/tls/i686/cmov/libthread_db.so.1".

(gdb) run
Starting program: /tmp/who1 

Program received signal SIGSEGV, Segmentation fault.
0xb7eb1abe in tzset () from /lib/tls/i686/cmov/libc.so.6

It looks like the problem is in a time-related function (that being what 'tzset' is.) Let's see... ah.

printf("\n %s %s: %s",u.ut_name,u.ut_line,(char *)ctime((time_t *)u.ut_time));

There's the problem: pointers/dereferencing, as is usual with C. And here's the fix:

printf("\n %s %s: %s",u.ut_name,u.ut_line,(char *)ctime((time_t *)&u.ut_time));

(Note the '&u.ut_time'.)

Let's try it and see:

ben at Fenrir:/tmp$ perl -i -wpe's/u.ut_time/&$&/' who1.c
ben at Fenrir:/tmp$ cc -o who1 who1.c
ben at Fenrir:/tmp$ ./who1

   :  Thu Mar 23 23:24:36 2006

 reboot  ~:  Thu Mar 23 23:24:36 2006

 runlevel  ~:  Thu Mar 23 23:24:37 2006

   :  Thu Mar 23 23:25:08 2006

 ben  tty1:  Thu Mar 23 23:25:14 2006

 LOGIN  tty2:  Thu Mar 23 23:25:09 2006

 LOGIN  tty3:  Thu Mar 23 23:25:09 2006

 LOGIN  tty4:  Thu Mar 23 23:25:09 2006

 LOGIN  tty5:  Thu Mar 23 23:25:09 2006

 LOGIN  tty6:  Thu Mar 23 23:25:09 2006

 ben  pts/1:  Thu Mar 23 23:25:35 2006

 ben  pts/0:  Thu Mar 23 23:25:35 2006

 ben  pts/2:  Thu Mar 23 23:25:38 2006

 ben  pts/3:  Thu Mar 23 23:25:38 2006

 ben  pts/4:  Fri Mar 24 00:46:03 2006

 ben  pts/6:  Fri Mar 24 00:49:32 2006

 ben  pts/9:  Fri Mar 24 00:54:21 2006

 ben  pts/9:  Fri Mar 24 00:54:21 2006
ben at Fenrir:/tmp$ 

Seems to be running fine now.

(Blecch. Nasty stuff, C. Makes me want to write some Perl just to get rid of the taste. :)

[[[Ben]]] - [ cc'd back to the list ]

On Thu, Mar 23, 2006 at 11:34:59PM -0800, arun dubey wrote:
> dear sir "Benjamin A. Okopnik"

Heh. I was never an officer, so "sir" is perhaps a bit excessive.

> thanks a lot for helping me.

You're welcome; however, I must point out yet another point of etiquette you've violated (I grant you the benefit of the doubt and assume that you did it unknowingly.)

When you ask for help on a list, you *must* keep the list CC'd on subsequent replies unless you've received a specific request to do otherwise: not doing so is tantamount to stealing from the community that is served by that list. As an example, I charge $150/hr for private consultation. I participate in TAG - i.e., contribute my time at $150/hr - because it helps the Linux community. Taking the conversation off the list without making financial arrangements with me means that I do not get paid, and the community does not get the benefit. Given the lack of both of those, why would you expect me to keep helping you?

Again, I'm assuming that you've done it as an innocent mistake, so I'm CCing TAG on my reply. I also _strongly_ suggest that you read some documentation on netiquette - e.g., "Asking Questions of The Answer Gang" at http://linuxgazette.net/tag/ask-the-gang.html - before posting to any more lists, since many people are NOT going to treat this kind of violations with any degree of tolerance.

> though i still need ur help but as u said this was unplesant for u to have that
> kind of demand so i m not goin to ask.

I don't have any problem with you asking for help; that's what this list is for. The problem was in your violation of basic list protocol, not the technical request.

> but i really thank you for your prompt n apt reply.

You're welcome; glad I could help.

> (but sir if u can suggest me some place from where i can ask my queries onC
> and UNIX-system programming, then it will be a gr8 help to me.)

Hmm, tough question. USENET is usually a good source of that kind of information - e.g., news:comp.lang.c is reputedly very good, and has been around for a long time. Take a look at their FAQ - http://www.eskimo.com/~scs/c-faq.com/

There's news:comp.lang.c.moderated as well. Do note, however, that USENET folks tend to be very touchy about net protocol - and the standard netiquette recommendation (quoted from RFC1855, "Netiquette Guidelines")
is

- Read both mailing lists and newsgroups for one to two months before you post anything. This helps you to get an understanding of the culture of the group.

Or you can ask here. Just do it politely - which includes Netiquette manners, although we don't apply the requirement just cited. We're always willing to help, particularly when the question relates directly to Linux. Programming questions are a somewhat marginal topic, and you may or may not get an answer - but you're always welcome to ask.


Talkback: Discuss this article with The Answer Gang


[BIO]

Kat likes to tell people she's one of the youngest people to have learned to program using punchcards on a mainframe (back in '83); but the truth is that since then, despite many hours in front of various computer screens, she's a computer user rather than a computer programmer.

When away from the keyboard, her hands have been found full of knitting needles, various pens, henna, red-hot welding tools, upholsterer's shears, and a pneumatic scaler.


Copyright © 2006, Kat Tanaka Okopnik. Released under the Open Publication license unless otherwise noted in the body of the article. Linux Gazette is not produced, sponsored, or endorsed by its prior host, SSC, Inc.

Published in Issue 127 of Linux Gazette, June 2006

<-- prev | next -->
Tux