rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

C++ is the C language with objects (classes, methods, etc). C is often considered a high-level assembler language, able to control the system at a fundamental level. Compilers will turn C/C++ code into very efficient machine (binary) language. So part of the popularity of C++ is its efficiency (speed and code size), its ability to reflect complex class structures that would not be feasible with the C language, its ability to integrate with legacy C code, and its ubiquitous availability for just about every processor architecture and operating system out there. FWIW, I've been using many languages for over 30 years, but my main languages are C (since 1982) and C++ (since 1992). I also code in Java (C++ with training wheels) as well as numerous scripting languages.

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

Each may have proprietary op codes, but for the most part they are bit-compatible. They both support the x86 instruction set. As for which one is faster, the answer is that "it depends". There are a lot of factors other than CPU core speed that impact performance, such as cache size/speed, memory bus speeds, CPU version, etc.

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

How do YOU think you use the newline() function?

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

Please don't ask us to do your homework for you! Make an attempt to code this to the best of your ability and we will be happy to help you with your mistakes.

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

We don't do your homework for you. Do some Google searching - you'll soon find what you need online.

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

Run this in a debugger and single-step it through the code. You will soon find your problem. If you haven't yet used a debugger, it is time to learn!

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

There are any number of books and online articles that will help you understand object-oriented programming and methods. Anyway, which of these concepts don't you understand, and what do you think you know about them?

jalpesh_007 commented: good suggestion. +4
rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

Google is your friend. We don't give answers to school problems. If this isn't a school problem I'd still tell you to do a Google search. There are relevant articles on the Wikipedia, but in any case, you first need to understand reservation systems themselves: http://en.wikipedia.org/wiki/Computer_reservations_system

The above link is for airline reservation systems primarily, but the principles are the same.

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

nVidia has a lot of really great cards, most of which easily handle 2 displays. Go visit www.nvidia.com and look at their current offerings. Once you find something you like, go to a site like www.rakuten.com to find specific boards to purchase in your price range.

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

And your problem is? Please do NOT ask us to do your homework for you!

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

I thought that Adobe Acrabat Pro had the ability to protect the document from subsequent edits. Have you checked the tools/options settings?

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

I would guess that the battery was removed long enough for the CMOS/BIOS to reset to factory defaults.

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

You should be able to modify the tmpfs entry in /etc/fstab to add the option size=NN where NN is something like 20M, etc. Here is a link to a good article on the subject: http://www.thegeekstuff.com/2008/11/overview-of-ramfs-and-tmpfs-on-linux/

Note that tmpfs uses the swap file for storage, so make sure your swap space is big enough for your needs.

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

Even with a valid local network address, you need to edit the /etc/ssh/sshd_config file on the server end and set the needed options for ssh connectivity from external machines. Also, make sure that the sshd service is started: sudo service sshd status

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

Most Dell laptops use Broadcom WiFi chip sets. Execute the command line "lspci" and "lsusb", and report the results (output) here. The site www.linuxwireless.org has links and instructions for drivers for just about all supported devices. I have a Dell laptop, and their link to the new Broadcom drivers worked great!

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

Well, at least you only have to worry about remainers to decide whether to round up or down for the final product of the division - no floating point required. Since division is basically the inverse of multiplication, try adapting that algorithm, using right shifts instead of left shifts for example.

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

What do you mean by "modify tmpfs? Where it is mounted? Please explain exactly what you are trying to accomplish.

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

Usually, just holding down any key on the keyboard while booting, will force it into the BIOS. Have you tried that?

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

Write it out in pseudo-code first, and then code it. IE:

n = new_value
p = start
lastp = null
while (p not null && n gt p->value)
{
    lastp = p;
    p = p->next
}
if p is null // add n to end
{
    if lastp is null
    {
        // Nothing in list - create start node
        start = new node
        start->value = n
    }
    else
    {
        // Append to end of list, represented by lastp
        lastp->next = new node
        lastp->next->value = n
    }
}
else
{
    // Found insertion point
    // Now we need to know if n is a new start value
    // or to be inserted between p and lastp
}

This should not be difficult to finish and turn into proper C/C++/Java code.

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

If this is for security research purposes then I applaud your efforts to understand stack vulnerabilities. In any case, we cannot help you with this since it can be used to write exploits/viruses that can compromise systems. You are on your own!

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

Correct! You can declare a common namespace in many source files / headers. The effect is cumulative in that in each case, the contained classes/symbols are added to that namespace.

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

One of my pet peves with Java programmers is their prediliction to create descriptive, but overly-long, class names. You want to use a name that is easy to remember, difficult to mis-type, and as short as possible while meeting the previous two characteristics. What about SumDS? or SumDataScrp?

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

You can either use Windows Hyper-V or try the latest version of VirtualBox (VBox) or VMware. If you want to use VBox or VMware you will need to disable Hyper-V on your Win-8 system. Also, you will need to enable VT-x in the BIOS before you install the VM manager.

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

NULL is defined in <stdio.h> as (void*)0. This can cause problems with some C++ code. With current C/C++ compilers, you are safe to use a simple 0 for null values. IE:

void* vptr = 0; // ok
int* iptr = 0; // ok
double* dptr = NULL; // not ok, depending upon compiler
rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

CimmerianX and nuwan4u are mostly correct. There are a number of factors that limit the length of a single ethernet link, and the default max (IEEE standards) for a cat-5 to cat-7 cable is 100 meters. The main issue is not only signal attenuation at distances beyond that, but the amount of time the signal requires to traverse the distance. You might get longer distances by using specialized end-point electronics (balanced line drivers with cat-7 cable may get you 150 meters). In any case, if you have to go beyond 100M, you are advised to use optical connections and cable. Honestly, optical cables and hardware will probably be more cost-effective these days than cat-6 cables w/ line drivers + the required repeaters. IE, get a switch at each end that has a fiber-optic connection for switch-to-switch connectivity, and the requisite fiber cable. These days, a fiber cable will probably be cheaper than a copper twisted-pair trunk.

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

You say it won't start, but the reset button will force it to boot. Have you set your BIOS to output detailed POST (Power On Self Test) information when it boots? If you do that, you should be able to see where it gets to in the boot process before hanging.

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

The onboard audio is HD with S/PDIF (optical) output support as well as Dolby Surround Sound. It should do nicely. My system uses an Intel mobo with HD onboard audio as well, and it works very nicely - driving a pair of Bose speakers. My advice is to use the onboard audio and see if it is good enough. Most add-in boards may have a few additional bells and whistles, but unless you really need those things, or the onboard audio proves less than you want in terms of capability and/or quality, don't bother with the extra expense.

The one time an external board may be required is if you need Midi support in order to interface with other audio devices (keyboards, synthesizers, etc).

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

That user may not have login privileges on the ldap server. Once you login as root, root can su to any user account, no matter if it has login privileges or not.

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

Some context would be helpful, to know what your purpose is and what you mean by a "data chunk".

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

It is probably a problem with the web site. Have you tried other browers, and if so, does the problem persist?

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

You will have a lot more to do than just recompiling as Android doesn't support Windows APIs. Also, getting native code onto Android devices is not simple - possible, but not simple, and much more difficult for 3rd parties to install. I would suggest that you rewrite the code in Java for Windows, and then recompile with Dalvik for the phone. With luck, it will run well in either case, assuming you only use the APIs that Android provides.

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

What are you using for the rfid reader, and what is its hardware interface? In any case, the answer should be "probably". Certainly ARM, MIPS, uC controllers, etc can handle the reader <--> computer interfacing. You might even be able to use an Arduino board. That said, if the reader has a standard usb or serial interface, then you may be able to interface directly to the tablet.

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

The bios of most systems today will throttle back the CPU speed if the system isn't doing much, which is the case when viewing the bios. Download and install into Windows the CPUZ application and see what it says. Also, check that your system is running in "performance" mode in Windows.

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

Oops. I made a goof in the list above. Here is the correction.

  1. Same
  2. Same
  3. Same
  4. Move contents of /home/garrett, including hidden files and directories, to /mnt/newdrive.
  5. Do NOT bother to create a new /home/garrett directory, since this is where the new file system will be mounted.
  6. Same
  7. Same

Everything else will be the same. Sorry. My bad - posted the above late last night after only a couple of hours sleep the night before - brain fuzz. :-)

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

Do all this as root: sudo su -

  1. Create a partition and file system in that partition on the new disc - use ext3 or ext4 file system types.
  2. When you create the file system, specify a label such as "garrett": mkfs -t ext4 -L garrett /dev/snX1 where /dev/sdX is the new disc, and 1 is the partition number. The label will allow the system to renumber the device ids and still find the file system to mount at boot time.
  3. Create a temporary mount point, such as /mnt/newdrive, and mount the new file system there: mount /dev/sdX1 /mnt/newdrive - run df after you do that to make sure you see the new drive.
  4. Move /home/garrett to /mnt/newdrive.
  5. Create a new /home/garrett directory with the appropriate ownership and permissions - this will be the new mount point where the system will mount the new disk.
  6. Assuming you are using ext4 as the file system type, add the entry "LABEL=garrett /home/garrett ext4 defaults 1 2" to /etc/fstab.
  7. umount /mnt/newdrive
  8. mount -a

Now, you should see your data in /home/garrett. Log back in as garret, and everything should look like it did before, except that you will now be on a nice clean 250GB file system! The next time you reboot, /home/garrett will be mounted before the system comes up.

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

A third way is to use a hash index. Once the hash is computed for the target value, it is usually a single probe to see if the value exists in the collection. The only thing that may interfere with that is a hash collision. I'm sure you can find some good articles on hash tables in the Wikipedia.

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

if ((courses < 4) && (courses > 6)) is wrong. You want to verify if the courses variable is between 4 and 6, inclusive, so it should be if ((courses < 4) || (courses > 6)). IE, use the OR, not the AND boolean operator.

ddanbe commented: Good observation +14
rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

Good luck with that! Besides needing a pretty fat pipe (fast internet connection), none of the major studios are willing to release their content without "protections". My suggestion is to purchase BluRay discs, and then use some of the available open source tools to extract the feature or other parts to (most commonly) Mastroika video (mkv) format with full 1080p resolution. That can be streamed to most any device, or converted to an mp4 with full resolution. Note that the resulting files are still big - often over 4-5GB in size.

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

There is no general purpose antennas to do this without breaking every law regarding WiFi signal strength. There are directional antennas that will connect two sites, called Yagi-Uda antennas.

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

What RIK said. Most such issues are power-supply related. Either you aren't feeding the card the right power (and in the proper amperages), or your power supply is inadequate.

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

I think this lspci entry:
03:00.0 Network controller: Ralink corp. Device 539b
is the one related to the WiFi. Here is the linuxwireless.com page on this device. Depending upon the actual chip, it may not be supported as yet by Linux: http://www.linuxwireless.org/en/users/Drivers/rt2800pci

If you post the output for this device from "lspci -v" or "lspci -vv", it will help identify the actual chip set. The first is verbose output. The second is REALLY verbose output. 3 v's and you get rediculously verbose output! :-)

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

I think that the Boost library handles arbitrarily large numbers for math. Have you looked at that code? It is open source so you should not have a problem accessing it.

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

Here is a sample of code to test for a set bit. Adapt as necessary.

#include <stdio.h>
int main(void)
{
    unsigned char target_byte = 0x81;
    unsigned int i = 0; /* Always initialize variables - much safer! */
    for (i = 0x01; i <= 0x80; i = (i << 1))
    {
        fprintf(stdout, "Reading bit %.02x\n", (unsigned char) i);
        if ((unsigned char)i & target_byte)
        {
            fprintf(stdout, "Bit %.02x is set\n", (unsigned char)i);
        }
    }
    return 0;
}
rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

As mentioned, task scheduling and job scheduling in Linux are very different beasts. Task scheduling is a kernel-level activity. Job scheduling is a function of the cron task. I suspect your project is task scheduling, so what Mike_2000 said goes. Linux encorporates a number of schedulers, from the default "Completely Fair Scheduler", to real-time schedulers that can handle priority inversions and such reasonably well. I think you have some serious studying to do! :-)

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

In my experience, this sort of problem is most commonly caused by anti-virus software that encorporates what is commonly called "on access scanning". IE, every file and executable (as well as DLL) is scanned on access when you start a program or read a file. This is VERY expensive in system resource (CPU and I/O) usage. See if you can disable that "feature" in your A/V software. Yes, keeping it on is safer, but it is a LOT slower!

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

Please show more code. Your error indicates that you are missing some virtual function declarations. The vtable is the virtual function table. Since you aren't showing the derivation of your classes, it is difficult to help further.

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

A lot of systems today (Windows, Linux, et al) will let you hibernate your system, saving runtime state to the hard drive. When you restart it, it only needs to restore the system runtime state from the drive, and not boot the entire OS. This is typically much faster (by as much as an order of magnitude - 10x) than booting the entire OS and user interface. The other approach is to use a solid-state disc (flash disc, or SSD) as your system/boot drive. They are not cheap, and have other issues, especially with regard to reliability and longevity.

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

Consider school as a low-level apprenticeship where you learn just enough to be dangerous! :-) If you had good grades and your school is considered competent in turning out graduates with some capability, you can get a starting position in many organizations given the current need for IT and software professionals. You will learn more in a professional position than you did in school, because you will have to produce in order to advance! A lot of us old farts (I say that about myself because I am now 65) are going to retire in a few years, so new blood is definitely needed. Get a job in a position that has the possibility of being of interest to you, and find an old fart like me to be your mentor. I have mentored many promising engineers over the years, and some of them are now senior staff for tier-one companies like Intel and Applied Materials. Right now, I am performing such a role for several young staff members in my organization.

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

Most any CD-ROM drive will be fast enough for audio playback - even a 1x device will do that just fine (with some possible stuttering when system functions take up too much I/O or CPU resources). Most CD-ROM drives can read at up to 52x, so when you play back an audio CD, they buffer the data to memory and use that to overcome other system bottlenecks. I haven't seen any issue in this regard for many, many years. If your computer was purchased after about 1990 or so, you should not have a problem...

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

Compiling code that can be used on various systems is not simple, but you can direct some compilers, such as GCC, to emit ELF or COFF intermediate code that can subsequently be used to generate machine/OS-specific binaries. If you just want to "protect" your code, but let people use it on different systems and architectures (such as ARM vs x86 vs SPARC, etc), then you might consider using code obfuscation tools that will take your source code and make it unreadable, but still compilable into proper binary code on whatever system, though cross-platform software development is NOT simple, easy, or a subject for people who are not experts in software engineering. I speak as someone who has been doing just that for 30+ years...