rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

And in case you are wondering why we have so much computer gear? I am a software systems engineer and my wife is a particle physicist. Besides science and technology, our other main love is music - listening and performing. The only thing we have in our house that outnumber and outweigh our tech gear are our musical instruments, most of which we play on a semi-regular basis - guitars from steel dobro to classical to Mexican folk, mandolins from my 100+ year old Gibson that I play bluegrass on to modern ones made with exotic woods, fiddles, a Veracruz harp, 2 bass fiddles, a big collection of ukuleles, banjos, drums, and who knows what else!

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

Thanks.Is "Prentice Hall - Computer Networks by Tanenbaum" a good one?That is what I am reading currently and I got these questions when I was reading it. So far it didn't explain those stuff yet,just about how protocols work,not where do they actually live stuff .

Tanenbaum is very good. He knows his stuff and writes very well. I am an engineering geek, so I go for the thicker books that are heavy with content. Comer and Stevens are much more thorough, but the Tanenbaum book is a great starting point for you. I don't have that book in my collection, but I have had a sit-down with it at some point. He has written some other very decent computer books. His "Modern Operating Systems", and "Operating Systems Design and Implementation" are excellent. I think I have that last one, but it seems to be hiding from me. One of these days I need to catalog all of my books... Heck, I even have a hand-written set of Feynman's physics class notes for the lectures he gave at CalTech. I inherited them from my father who was a colleague and good friend of his. They have since been reprinted a number of times and are very popular. My home office is in the basement and is in need of a good cleaning. If a mouse got in here, it would starve to death before it found its way out of the maze!

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

In case you are wondering what I do for a living, I am currently Senior Systems Engineer for Nokia Mobile Phones in their performance engineering and software architecture group. My job is analyzing and solving performance issues with very large, very complex TCP/IP installations that have to handle up to 100,000 concurrent users, and will grow to 1 million within the year. You could say that I eat and breath this stuff.

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

Silvercats, you are asking a lot of really good questions, and it is obvious that you are trying to understand this stuff. It's an investment, but there are some really good books you should have if you want to pursue this subject more thoroughly. I recommend the following (classics in their own right):

Internetworking with TCP/IP by Comer and Stevens, volumes 1 and 2, published by Prentice-Hall. You can get them from Amazon.com. Volume one is "Principles, Protocols, and Architecture", and volume two is "Design, Implementation, and Internals". Start with volume one, and if you are interested in the actual C programming implementation such as used by Unix and Linux, then get volume two later. There is a third volume on application programming, but that can wait unless you are ready for some serious socket programming. The DDN Handbook is strictly for engineers who have to implement this stuff from scratch. And yes, all of these books have places of honor on my 10' x 6' book-wall.

I also have the entire X-Windows set (2 ft of shelf space), two versions of the Java Virtual Machine Specification, the entire distributed database transaction multi-phase commit engineering standard, the ISO C++ Standard document/book. a raft of stuff on neural network and fuzzy logic programming, and of course all of Codd and Date's works on relational database theory (a field I am considered something of an expert in, having taught it at the graduate level). I have been building this library …

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

Core stack?you mean the whole TCP/IP or just main protocols?

wait?what?NICs have firmwares too?like motherboard firmwares(BIOS) in a CMOS chip?
and part of that firmware is TCP/IP software set ?

The entire TCP/IP suite includes applications like ssh, telnet, ftp, etc. The core protocol stack includes TCP, IP, and things like ARP (Address Resolution Protocol) - the cruft that is necessary for basic connectivity. So, if a board has the core stack in firmware, I will still have to implement stuff like ssh, telnet, ftp, etc. They aren't necessary for basic connectivity, which is to connect to a remote system, and open a channel (TCP) or send raw messages (UDP). And yes, NICs have firmware just like your motherboard, disc controllers, and video cards.

As I said, the NIC firmware CAN contain parts of the TCP/IP protocol stack, but they don't have to. They will at least contain the basic Ethernet wire protocols and code to talk to the board's chips.

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

What will happen if one computer have an older version than the other or something like that?

Usually nothing. Newer versions general are made to address security issues that usually have nothing to do with the protocol per se, but are application and coding bugs. As said before, the protocols themselves are rigorously defined, which is why my 15 year old QNX system still works fine with my brand new devices and operating systems installed last week.

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

If I view a web site using windows 98 or something very old,we won't be able to see modern encrypted pages(let's say we have the 2012 version of firefox on 98 for a while ;)) and do what modern TCP/IP can do(encryption,Video streaming etc..)?

Encryption and video streaming are not part of the protocol suite. They are application-layer things, not transport layer.

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

So routers and modems don't have TCP/IP built into their firmware ?they just use what is given from the computer?right?

Some do, and some don't have them built into the firmware. It depends upon the router. Being in the kernel means that you can update the stack a lot easier. In any case, the OS is stored in flash memory, which most firmware is also these days. The lines of distinction are getting narrower and narrower.

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

Anyway, to answer your 9 questions directly:

1.is it a software(I think it has to be)?
Generally yes. There are implementations of the core stack in firmware on some network boards (NICs).

2.Is it a BIOS level software?
No. The core protocols generally are kernel drivers.

3.Where is the protocol set installed in a computer?(Windows,linux,mac etc..)
Generally, the core protocols are kernel-level drivers for efficiency. Some protocols such as SSH, TELNET, and FTP are dynamically loaded when needed. There is a daemon on Linux/Unix systems called inetd (or xinetd - more current) which will start the SSH, TELNET, FTP, or other servers when a connection is made by the appropriate kind of client.

4.Can we uninstall it like normal software?
Not easily. Practically all networking today is built upon the TCP/IP protocol stack.

5.Can we update it?
Yes.

6.Where do routers and modems have that tcp/ip stack(protocol set)?
Incomplete question. Trying to read into your question, most routers run some sort of embedded Linux software, and the TCP/IP stack are kernel drivers. You can configure a kernel to build the protocols out of the kernel, but then you'd effectively have no networking at all.

7.In which language is it written?
Generally in C. Linux kernels are written almost entirely in C.

8.Will we ever get an update?
Often. When drivers are updated for Windows systems, or when the kernel is updated in Linux/Unix systems.

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

If I get this correctly,you are telling me that it is possible to change TCP/IP function externally (without changing the current OS),using a later written software?

You can change the functions that are called, but you still have to follow the data and wire control flow specified in the RFCs. I actually wrote a finite state machine (FSM) for the protocols that was loaded from a text description of the protocol, so I could fix implementation issues by simply changing the FSM description and restarting the application (like telnet or ssh), or restarting a server daemon if necessary. Once the nitty gritty coding was done, that approach saved us many person months of effort in bug fixing and cleanup. Most of the issues were subtle differences in event-triggered state transitions, especially when dealing with out-of-band data. In fact, I spent a couple of days in a General Motors plant in Indianapolis tweaking the FSM descriptions to deal with just that problem. OOB event handling is very strange, and difficult to directly program for. I was able to fix the system in 2 days without rewriting one line of code. Most of my time was analyzing log files and packets to see exactly what was going on.

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

For example, here is the first TCP RFC

Ah yes. RFC 793, Page 2-185 in the DDN Protocol Handbook - Volume 2 - DARPA Internet Protocols, December 1985. Just pulled it off of the shelf to check! :-)

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

The full specification for the entire TCP/IP protocol suite takes up almost a linear foot of shelf space, is published by the US Department of Defense, and is called "The DDN Protocol Handbook". The DDN stands for Defense Department Network. Because the covers are white, it is sometimes known as "The White Book". From the detailed specifications it contains, it is possible to implement part or all of the TCP/IP protocol suite without recourse to other software. I and a colleague implemented the core TCP/IP functions (in C) for a real-time operating system back in the early 90's because we were contracted to deliver an automated electronics manufacturing line to the US Navy's RAMP project that used the OS, and they required that it could communicate to other TCP/IP network nodes such as control and monitoring systems that were running Unix. I spent a lot of time on a stool in front of a workstation in the middle of a HUGE warehouse structure in Charleston, South Carolina for that gig! But, we delivered and now the US Navy can fix its ships in a fraction of the time it used to take. In case you are interested, RAMP stands for Rapid Acquisition of Manufactured Parts. When a battleship is in drydock, they can't just order most of their gear out of a catalog. Most is manufactured on the spot, to order, including propellers, drive shafts, radar and sonar electronics, etc.

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

Well, I have given about as much help as I can, as I don't really know MIPS assembler code in any kind of detail. I've done x86 assembler, but the last time I did any for a production system was in the early 90's when I was writing some TCP/IP driver code for an x86 real-time operating system (QNX). I have tried to stick with C and C++ since then! :-)

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

From the command line:

cd directory-where-code-is-to-build
su
make install
exit

"su" will ask for the root password. Don't add a dash after 'su' since you want to stay in the build directory to run "make install". As "su" creates a new shell, the "exit" command will return you to the user environment.

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

You could use message queues, or shared memory. A class static variable or translation unit static variable could also be used. In any case, there are a lot of ways around this barn, and which may be best for you depends upon a lot of factors, including concurrency, efficiency, and latency.

vedro-compota commented: +++++++++++ +3
rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

To install, after building it, you need to run "make install" as root.

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

Code Tags please

As in

#include<iostream.h>
#include<conio.h>
#include<stdio.h>

 class cpuschedule
{
	int n,Bu[20];
	float Twt,Awt,A[10],Wt[10],w;
 public:
	//Getting the No of processes & burst time
	void Getdata();
	//First come First served Algorithm
	void Fcfs();
	//Shortest job First Algorithm
	void Sjf();
	//Shortest job First Algorithm with Preemption
	void SjfP();
	//Shortest job First Algorithm with NonPreemption
	void SjfNp();
	//Round Robin Algorithm
	void RoundRobin();
	//Priority Algorithm
	void Priority();
};


// Implementation file for Cpu scheduling

#include "cpuh.h"
//Getting no of processes and Burst time
void cpuschedule::Getdata()
{
	int i;
	cout<<"Enter the no of processes:";
	cin>>n;
	for(i=1;i<=n;i++)
	{
		cout<<"Enter The BurstTime for Process p"<<i<<"=	";
		cin>>Bu[i];
	}
}

//First come First served Algorithm
void cpuschedule::Fcfs()
{
	int i,B[10];
	Twt=0.0;
	for(i=1;i<=n;i++)
	{
		B[i]=Bu[i];
		cout<<"Burst time for process p"<<i<<"=	";
		cout<<B[i];
	}
	Wt[1]=0;
	for(i=2;i<=n;i++)
	{
		Wt[i]=B[i-1]+Wt[i-1];
	}

	//Calculating Average Weighting Time
	for(i=1;i<=n;i++)
		Twt=Twt+Wt[i];
	Awt=Twt/n;
	cout<<"Total   Weighting Time="<<Twt;
	cout<<"Average Weighting Time="<<Awt<<"";
}

//Shortest job First Algorithm
void cpuschedule::Sjf()
{
	int i,j,temp,B[10];
	Twt=0.0;
	for(i=1;i<=n;i++)
	{
		B[i]=Bu[i];
		cout<<"Burst time for process p"<<i<<"=	";
		cout<<B[i];
	}
	for(i=n;i>=1;i--)
	{
		for(j=1;j<=n;j++)
		{
			if(B[j-1]>B[j])
			{
				temp=B[j-1];
				B[j-1]=B[j];
				B[j]=temp;
			}
		}
	}

	Wt[1]=0;
	for(i=2;i<=n;i++)
	{
		Wt[i]=B[i-1]+Wt[i-1];
	}
	//calculating Average Weighting Time
	for(i=1;i<=n;i++)
		Twt=Twt+Wt[i];
	Awt=Twt/n;
	cout<<"Total   Weighting Time="<<Twt;
	cout<<"Average Weighting Time="<<Awt<<"";
}

//Shortest job First Algorithm with NonPreemption

void cpuschedule::SjfNp()
{
	int i,B[10],Tt=0,temp,j;
	char S[10];
	float A[10],temp1,t;
	Twt=0.0;
	w=0.0;
	for(i=1;i<=n;i++)
	{
		B[i]=Bu[i];
		cout<<"Burst time for process p"<<i<<"=	";
		cout<<B[i];
		S[i]='T';
		Tt=Tt+B[i];
		cout<<"Enter the Arrival Time for"<<i<<"th process=	";
		cin>>A[i];
	}

	for(i=n;i>=1;i--)
	{
		for(j=3;j<=n;j++)
		{
			if(B[j-1]>B[j])
			{
				temp=B[j-1];
				temp1=A[j-1];
				B[j-1]=B[j];
				A[j-1]=A[j];
				B[j]=temp;
				A[j]=temp1;
			}
		}
	} …
rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

Try the Intel site. They have drivers for most (or all) of their hardware there available for download.

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

Uh no, they use "video capture software."

Well, the original post said "What software is used to record interaction with the my computer?", which to me means the user input as well as the screen output. If you capture and playback the input (keyboard and mouse), then you should also see the screen output as a playback. I used to use sMercury Interactive's LoadRunner (Linux) and WinRunner (Windows) software for system testing that did just that, in order to test GUI programs.

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

Exactly (re ChrisPadgham) - this is a mathematical proof, and has 0 to do with computer science, other than if you want to express the proof/algorithm as software.

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

Well, I don't know about your system, but on my (Red Hat Enterprise Linux 6.0) is is in /usr/include/libavutil, so you need to add to your Makefile "-I /usr/include/libavutil", or something similar for a Windows VS build file.

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

As for "tethering" the desktop to the laptop, you can configure the laptop to do routing for the desktop. In effect, it becomes the router, and optionally a dhcp server. It's quite simple for Linux, and I know it can also be done for Windows, but I have not done it myself. My brother-in-law did that once when were were at his parent's house for Christmas one year, so we could all access the Internet via one laptop that had a broadband modem attached. All the computers were networked via a WiFi access point.

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

Sometimes it is difficult to "see the forest for the trees"! :-) Glad you sorted this out. Occasionally, the "obvious" is not so...

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

The second error is just a reference back to the first one. Note that you have not implemented the filefromtree(struct node*) function. Since you are calling it, it has to be implemented, otherwise you get this error, "unresolved external symbol".

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

You should be able to tether to a desktop with the phone, just like your laptop. Plug it in to a USB port on the desktop and enable the tethering feature. The desktop should recognize it as a USB broadband modem, and install the correct drivers (Windows), or just work (Linux/Mac - PPP USB modem). I do this with my Linux desktop workstation for situations when the DSL connection is down.

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

Please show header and source file for the Matrix class. Also, since you are using C++, use the 'new' operator to allocate them, and 'delete' operator to free them, NOT the C-style malloc/free.

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

The first problem is that you are NOT initializing your pointer variables. Set them to 0, explicitly. IE,

int main( void )
{
//  Local Definitions 
	MATRIX *matrix = 0;
	MATRIX* newMatrix = 0;
	MATRIX* advMatrix = 0;
 
.
.
.

It is not worthwhile to look further until you fix all of these.

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

This has nothing to do with your code. It is a missing header file, which you need to locate and make sure that the Include directives in your build file are correct so that it can be found.

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

We lurk in order to help! :-)

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

It may be that the keyword "message" conflicts with something else. Try replacing "message" with something like MyMessage instead and see if that works.

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

Narue, I agree that the C++ pointer-to-member syntax is confusing and prone to incorrect usage. The last time I had to program such constructs I remember that I had to try a number of different approaches in order to get the desired results! Anyway, as always, your comments are to the point, and cogent. Thanks!

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

Since it is a pointer, what you are doing is printing the address of the pointer, not the contents. Try "cout << *ptr << endl;" instead.

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

What operating system are you running? This would not be too big a problem for Linux. Not sure about Windows, though Windows Server editions should be able to do this - effectively turning your system into a gateway/proxy server.

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

After re-reading your post, the symptoms you describe make me think that the NIC (network controller) is going bad. If it is a plug-in card, replace it. If it is built into the system motherboard, then you may need to send it in for repairs or replacement. If manually manipulating the cable or connector were to effect the problem, then I would say that the connector is bad, but your other symptoms make me think that is not the situation.

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

Here are links to commercial products that will let you do this: http://www.paragon-software.com/home/hfs-windows/ or http://www.mediafour.com/
For a free program that can access files on your HFS/HFS+ drive (the formats that Apple uses), try this: http://www.catacombae.org/hfsx.html

FWIW, there are HFS/HFS+ open source drivers for Linux.

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

If you want a decent ebook reader, they are quite nice. The new color models will also do video streaming from the internet as well (over a wifi connection). In any case, they are Android (Linux) tablets essentially, with Amazon's ebook reader software and other proprietary tools. Myself, I use a Kobo book reader. It's uses a black and white e-ink display (very low power), so it will go for days/weeks on a battery charge. No video playback, and their web browser is awful, but for ebooks it works great and handles just about all ebook formats known. They also have a bookstore where you can purchase and download ebooks from, much like Amazon. You can check out their web site for more information: http://www.kobobooks.com/

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

Well, there is that too. For Linux there is the recordMyDesktop program, which will record your screen as a video. I have used it from time to time. I'm sure there are similar tools for Windows.

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

Yeah, well you can use FAT32 with XP, but not as the system/boot file system.

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

Well, a struct will work because in C++ a struct is a class where all members (variables and methods) are public. Perhaps you can post your headers, and the problem code with any changes you have made here for us to review? I know you posted before, but it would be helpful to see what (if any) changes you have made. Also, you need to tell us if the errors are compile-time errors (post the error messages here), or run-time errors/exceptions. If the latter, try to find where they are being thrown from, and tell us that as well.

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

Well, RC4 is not (these days) particularly strong - you already know more than I do about the implementation on Windows. In any case, it should be susceptible to a brute-force attack, and the actual encrypted data may allow a cryptographer to determine what set of hash values to start with. In any case, this is outside of my field. I have a dilettante's understanding of modern cryptography, not an in-depth one. Keep Googling - you should find more information about this on the WWW.

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

They will use a keystroke capture program that intercepts all of the keyboard, and probably mouse, events so they can be played back. There are a number of programs available that do this. It should be noted that many viruses and trojan malware programs do this also, so the perpetrator of the crime can see what passwords you used to log into your bank account, for example.

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

Well, the way it is written would be, with scoping parens to mimic the actual operator precidence, D = A^4 + (B^6 / 3C) - 2B

Are you SURE that is what you intend? Or do you mean D = (A^4 + B^6) / (3C - 2B), or something else?

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

You need the passphrase to decrypt that file. I don't think there is any practical way to decrypt it otherwise since it uses very strong encryption and it would probably take longer than the universe has left to exist to break it via brute-force methods. Why do you need to do this? Did you get (buy, borrow, steal) it from someone else, or did you just forget your passphrase?

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

Basically what swifttech said. You need to remove the existing partitions so XP can create an NTFS file system on a new partition. You probably have the option to do that when you start the XP installation disc - don't remember for sure because I haven't installed it for at least 5 or 6 years on any of my systems. On my personal systems, I only run Linux, and my work system runs Windows 7 Enterprise.

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

I have NEC drives on my Linux server (2 DL writers) and they work great. The only time I have problems is if I try to burn them at too fast a speed.

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

The question should be "which one is better", since neither is particularly good. If you are only doing web browsing, email (few, small attachments), and such (no streaming video or audio, then I'd go with the 1.5GB plan. They both state that speeds are "wireless speeds", whatever that means. Is the connection 3G, 4G, WiMax, or what?

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

You can try another drive. Have you checked to see if there is a firmware update available for the drive? As I mentioned, I had a similar problem with a drive in the past in that it could not play back DVDs that recorded OK, it seemed. The firmware update fixed the problem. If the drive came with the computer, first contact the computer manufacturer. If it was an after-market drive, then go directly to the Samsung web site's support pages.

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

Hi thank you for the reply...I found out that my DVDrom writer is damage.so i replace it now new DVR rom and it woks perfectly...thank you for your help.

Ok. And then there is the bad hardware thingy... :-)

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

Are you trying to burn single-layer (4.7GB) or double-layer (9GB)? From your post, you are using double-layer (DL) discs. The Verbatim discs are very good, and I have rarely had any "coasters" using them. However, I NEVER burn at the full speed the discs are advertised for. If these are 8x discs, for example, then burn them at 4x. Also, configure Nero (or whatever burner you use) to use as much buffer space as you can get. Finally, make sure you enable burn-proof (or something like that), so that if the burn process has to stop because of a buffer underflow, it will continue correctly and give you a good disc.

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

What is the make of the discs you are trying to burn. Some are better than others. Myself, I have had the best of luck with Verbatim and Taiyo Yuden. Memorex - not so good.