rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

In your example:

Class Queue
{
    message aMsg[SIZE};
Public:
.
.
.
};

should be this:

class Queue
{
    message aMsg[Size];
public:
.
.
.
};

Note the lack of Capitalization on the keywords 'class' and 'public'. You used 'Class' and 'Public', which will generate errors when compiled. Most programming languages (except perhaps BASIC and some others) are very case-sensitive. IE, the term 'Foo' is NOT the same as 'foo'.

In my example, the base class 'bar' is not shown. It can be any class, or even a simple C-type struct. My purpose in using it was to show you how to "friend" another class, and how friends differ (access to all, including private, members) from derived classes (access to public and protected members). I hope this is a bit clearer for you.

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

I also have a D630, but never had this problem. Why not remove the button cover and access the actual button switch directly, since that seems to work? IE, remove the bezel that covers the buttons, bluetooth chip, and stuff, remove the button itself, and then directly access the real switch.

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

I just started a new position at a major corporation, and my company-issued laptop/workstation is a Lenovo. It seems to be a very nice system - my personal laptop is a Dell D630. In any case, the Lenovo has an i7 quad-core @ 2.8GHz, 8GB of RAM, and a 17" 1920x1080 HD display. Given the size, the weight seems reasonable to me, though I think I will probably requisition either a backup battery, or a higher capacity one.

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

oo okay, gotcha! Would I need to configure anything in BIOS after I install my new hard drive or should it automatically detect it?

I assume you are replacing the old drive with the new one. If so, it should not be a problem with the BIOS recognizing it. What is the make+model of the laptop? FWIW, I have replaced the system drive in my Dell laptop (also a sata drive) without problems.

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

Don't capitalize "public". IE,

class foo : public bar
{
private:
    // Private components here - only accessible by this class and friends.
    int m_int;

public:
    // Public components here - accessible by the world.
    foo() : m_int(0) {}
    foo( const foo& cpy ) : bar(cpy), m_int(0) {}
    virtual ~foo() {}
    foo& operator=(const foo& rhs);

    int getInt() const { return m_int; }
    void setInt( int newValue ) { m_int = newValue; }

protected:
    // Some protected components here. Accessible by self, friends,
    // and derived classes.
};
rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

Any sata drive will work in any sata port, although you are limited in speed and bandwidth to the lowest common denominator. IE, a sata-1 drive in a sata-3 port will run only at sata-1 speeds, and vice-versa - a sata-3 drive in a sata-1 port will still only run at sata-1 speeds... :-)

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

Means unless we are updating or modifying something there is no need to make such methods synchronous?

As long as you are only using local, and not static or global variables in your method, you should be fine. As we have stated however, the storeUser() method should either be synchronous, or a lock applied to the data store. If the storeUser() method does a lot and being synchronous could introduce unnecessary latencies, then use a lock only for access to the data store.

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

Simply put, a friend class has access to the private and protected parts of the class that made it a friend. In your case, the queue class can access all the parts of a message, and that includes write access. Be sparing with your use of "friends" - they can turn on you if you are not careful! :-) In any case, you are better off if you provide a good set of public methods in the message class that queue can use without making it a friend.

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

This should be fine, but you probably want the BB storeUser() method to apply a lock to the data structure where it is placing the usr object.

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

False. Compilers generate machine-neutral code. This is then (usually) passed to an assembler or machine-code generator. In modern systems, the code is compiled to ELF (Executable and Linkable Format) code, which the linker converts to the appropriate system machine code when generating the executable image.

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

The drive you refer to is not a sata drive. It is a standard parallel ATA drive (hence the PATA nomenclature). That will work with your internal ATA/IDE controller, but not with your SATA controller. Also, I don't know if your system will allow you to boot from the SATA controller. It may, but it would require some configuration changes to your BIOS. I don't have enough information to say if that is the case. On my system, I have both IDE and SATA controllers, and can configure the BIOS to boot from either. I boot from the internal SATA controller, and use the IDE controller for my 2 DVD+RW drives.

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

Even if your system drive is PATA, if you have a SATA controller and associated ports, then yes, you should be able to install a Sata drive, although it probably won't serve as your system/boot device in this configuration.

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

Yes. As long as you created your user account(s) and group(s) in the same order, then Kubuntu and Ubuntu should have given you the same account and group ids. However, if you just wanted Kubuntu because it uses the KDE desktop, you could have installed that on Ubuntu after the basic installation, and select which desktop you prefer when you log in.

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

I see, this is not impossible, but quite difficult and the payoff isn't really worth it. I would imagine, unless it was a wired network, copying the files across to the nodes would take more time than the actual conversion...

Actually, a reasonable implementation would not send file, but open a TCP/IP connection and send just a few frames at a time to each ready rendering node. The total data sent (in each direction) would overall just be the size of the input and output files together. Yes, a wired network would be good, but in fact, this could be done over the internet as well, much as Seti-at-home and other scientific stuff, like the folding protein applications, are done. They just send a bit of the data, which the end-points can process easily, at a time.

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

You can also install the GNU compiler suite on the Mac. They also have an Objective-C front end.

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

why not use the other computer via RDP or other remote access to start your conversion? Do you want to use both PCs to convert only 1 single file at a time? If so then I guess it is almost impossible to do so, else you'll be wasting your processing power, and instead could get both PCs to be used to convert two files simultaneously, one on each machine...

Actually, this is not unfeasible, and there are professional/commercial tools that can do this; however, what they do is to pass some frames to each node, and when each node replies to the handler with the converted frames, the handler/distribution tool will reassemble them in the correct order for the output file. Technologically speaking, this is not rocket science any longer.

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

ffmpeg can use separate threads (hence cpus or cores), but I don't know of non-commercial renderers/transcoders that will do the distributed rendering thing. There certainly are professional/commercial ones that support distributed rendering farms, and since the source code to ffmpeg (it is open source) is easily available, you could, in theory, modify it to run on multiple machines. In fact, that would be a great enhancement for the tool.

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

This is possible - I do it myself, but you will want to be sure that your user and group ids are the same on both systems. Not the name, but the id number.

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

Re. Umbrello. I used it a long time ago. I would think that it should at least show class derivations/generalizations (the arrow from the derived to the base class) since that should be in the class declaration. Associations/Compositions/Aggregations are another issue, however; these are usually associated with member variables and what variety they are may not be obvious, especially for aggregations (a collection of stuff), since if they are owned by the container class, they would properly be composition types (solid diamond at one end), and if not, then they would be aggregations (empty diamond at one end). So, I expect that you would have to make those "associations" manually.

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

When I have to deal with complex development issues, I start with a full-blown UML model. In fact, I spend 80% or more of my time in the model, and only about 10% in coding. The modeling helps me visualize and work out sequence, timing, and other problems before I even start to write code. I have been able to develop software of immense complexity that way, and that worked right the first time, every time. This is software that runs most of the semiconductor, flat-panel, and disc drive manufacturing plants in the world and is currently sold/maintained by Applied Materials, the 800lb gorilla of the semiconductor equipment & software world.

I'm now working for the biggest cell phone manufacturer in the world as Senior Systems/Performance Engineer, and after one week, most of my time is in the UML modeler. At this point, it is helping me see how the system works, and how the various components interact. Next, I will be able to identify where performance bottlenecks are likely to be found. Even though this group is pretty darned sophisticated, there are still areas where we are just guessing at the problems that may be contributory to system load issues - considering that we are currently handling 5-10M concurrent users and need to ramp up an order of magnitude over the next year...

So, start with a model and get a full understanding of the classes, relationships, components, and behaviors of the system BEFORE you start coding. …

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

Why use VS to do this? The Intel compiler tools don't really need to be run from there. Myself, coming from a Unix background, prefer a good editor (VS will do that just fine) and make files. Have you looked into the Intel compiler tool documentation to see if it supports VS? If not, what about Eclipse?

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

Please post an image of the entire screen with this showing. It is a technical issue, but what is causing it can be one of several things. Do you know if this is a fluorescent backlight, or is it an LED backlight model? If you don't know, I can probably find out.

Ok. It is a CCFL edgelight system - or in layman's terms, a Charged-Coupled Florescent back light where the "bulbs" are on the edges of the system. That means that this problem is probably not due to the backlighting. Is it still under warranty? Even if not, contacting Dell tech support (they have a decent online chat system) may at least tell you what the specific problem may be, and how much it will cost to fix, if not under warranty.

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

Please post an image of the entire screen with this showing. It is a technical issue, but what is causing it can be one of several things. Do you know if this is a fluorescent backlight, or is it an LED backlight model? If you don't know, I can probably find out.

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

Windows does NOT stop the OS. It may intercept/block screen events, but that is NOT what you said.

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

Me, I would just spawn a shell and use the wget command to download the file.

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

Are you talking about command-line parameter switches?

Indeed, what exactly do you mean by "tags"?

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

Not really possible. This would NOT be a "good thing" to do! It's one thing to block the current application until the user responds to the dialog. It is something else entirely to block the system. After 30+ years as a systems programmer I can say without qualm that to do so would be "suicide", especially with modern multi-tasking operating systems.

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

Have you gone to the Matlab web site yet? They have a lot of good documentation, as well as user forums to interact with. In any case, you need the Matlab Builder NE package that provides .NET support for Matlab. I just registered on the site and was able to access the documentation for this. Here is the product overview for Builder NE:


MATLAB Compiler Extension
MATLAB® Builder™ NE lets you create .NET and COM components from MATLAB® programs that include MATLAB math and graphics, and GUIs developed with MATLAB. You can integrate these components into larger .NET, COM, and Web applications and deploy them royalty-free to computers that do not have MATLAB installed.

Using MATLAB® Compiler™, MATLAB Builder NE encrypts your MATLAB programs and then generates .NET or COM wrappers around them so that they can be accessed just like native .NET and COM components.

The builder converts MATLAB functions to .NET methods that encapsulate MATLAB code written by the MATLAB programmer. All MATLAB code to be compiled must take the form of a function. Each MATLAB Builder NE component contains one or more classes, each providing an interface to the MATLAB functions in the MATLAB code.

When you package and distribute the application to your users, you include supporting files generated by the builder as well as the MATLAB Compiler Runtime (MCR). For more information about the MCR, see Installing the MATLAB Compiler Runtime (MCR) in the MATLAB Compiler documentation.

For more information about how …

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

This would be a modal dialog box. They block the rest of the application events until you process this dialog. See this Wikipedia article: http://en.wikipedia.org/wiki/Modal_window

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

Check how many processes Apache has running. It may be that some scripts are not shutting down after the connection has dropped, or the connections are not being dropped from the client(s), resulting in an exhaustion of resources. I think you can set a connection time-out so that connections are automatically dropped after some period of inactivity. You should also be able to increase the number of allowed connections in the Apache configuration files. I'm just getting started in a new job where this is information I need to learn, but I am not there yet, so this is as far as I can take you.

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

The mouse and keyboard should be just fine. The BIOS in all current systems supports USB devices like this without futzing about with drivers and such. Some older operating systems may not like them, but current ones from XP on for Windows, and any but really old Linux operating systems should be just fine. I did read a recent post on the Linux Forums where someone had installed a distribution that put the old LiLo boot loader on his system and it did not like the USB keyboard, but the current grub/grub2 boot loaders are not so brain-dead.

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

It is probably hardware related. Replace the mouse. They aren't expensive, although taking it apart and cleaning things (blowing the dust out and such) may help.

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

Is this for a MIPS assembler programming class, or do you just need to do this with a MIPS processor target? If the latter, just program it in C and compile it with a GNU MIPS cross-compiler. If the former, then get a start on it before you ask us for help.

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

I consider Java to be C++ with training wheels. Both are used for big commercial applications. Either can help you learn about object-oriented programming, but I would suggest that you learn UML to really understand the basics of OOP. Object-oriented principals are not language dependent, but OOP is more a way to look at systems and programs in a way that holds together more coherently than other methods. I can say this honestly after some 20-25 years of doing it professionally. My current position as Senior Systems Engineer with a tier-one mobile phone manufacturer has me doing both Java and C++.

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

Contact Dell tech support and ask them. They have an online chat with tech support and generally can answer questions like this quite easily. If the slots take different kinds of RAM sticks, they can tell you what the specs are.

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

Have you tried the grub2 bootloader used by Ubuntu? It may work with the touchscreen, but not having such a device I cannot say for sure. The grub2 bootloader will certainly support booting from either your Windows or Ubuntu partions.

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

First, run a checksum on all of the files, except those files that may get changed in the normal course of network access. Daily, re-run the checksums and see if any have changed. If they have, then you have been compromised. One VERY important consideration is to learn how to immunize your site from two common exploits, cross-site scripting (CSS) and SQL injection attacks.

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

You might also want to check out www.linuxwireless.org - they have most of these drivers, as well as decent instructions on how to install them. In your case, a tar.gz file is a compressed archive. First do this from a command-line window (console):

tar -zxvf filename.tar.gz

This should create a new directory and put the extracted files there. Move into that directory (cd dirname) and see if there are some text files such as README, INSTALL, etc. or something like that. Read those. Tell us what you find in the directory and we can then help you start from there if you still need help.

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

What you learn from Linux is almost 1-1 applicable to Unix systems. I would recommend that you use a Red Hat clone such as CentOS or Scientific Linux. That's what I do, and we use RHEL at my company which is one of the biggest mobile phone companies in the world.

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

I would never get any residential broadband service that does not provide unlimited downloads. It is very easy to download multiple gigabytes in a day. One Linux DVD image is 4GB. One HD video for a TV show is 1-2GB. In my opinion, neither of these are suitable, although you may be limited in your selection if $15 is your maximum price point. I pay about $60 USD for 5-6mbps speed and unlimited downloads. A 1.5mbps bandwidth (and unlimited downloads) is about $30 USD.

So, assuming that these two plans are your options and $15 is your budget limit, I think I would go with plan II since it has a monthly price cap. However, you will probably find that unless you are only doing simple email (no attachments/photos, etc) and web browsing, you will quickly far exceed the basic cap, and will be paying close to the maximum, or hitting the 2GB overage limit. My advice is to pay a bit more for an unlimited plan. You will probably save $$ over time by paying $30/month instead of $15.

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

Your options for username and password are wrong. It should be:

mount -t cifs //192.xxx.x.xx/share /mnt/mountPoint -o username="username",password="pass"

Also you need to do that as root, or sudo. If your mount doesn't require authentication, then leave the username/password options out altogether.

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

True, although Apple has been making inroads on the desktop for some time now. Not Linux, but the OS is Unix.

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

[QUOTE=
Do you think that linux and other unix os will dominate over microsoft ?
Thanks


for the general public, "when cows fly "

In most situations (internet servers, cloud computing, scientific computing, super-computing) Linux has a commanding market share lead over Microsoft. The ONLY area where MS is dominant is on the desktop.

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

Glad to help and that you got it working. I use this dock a lot to remove viruses from client system drives, as well as just to plug in a backup disc to make system images and such. Works a treat. I use the esata connection instead of USB because it is a LOT faster! :-)

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

Here is a link to the device on buy.com: http://www.buy.com/pr/product.aspx?sku=209890871

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

You can create any license you want, but conversation with an attorney would probably be a good idea. FWIW, even open source licenses, such as the GPL, Apache, BSD, and other open souce licenses can protect you and your code from misappropriation by others. In any case, if you write your own license, you can restrict how it is used or redistributed. You probably would want to have a separate license for the source code in such a situation, from how I read your post. As I said, talk with an attorney who has some knowledge of intellectual property issues.

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

I have a StarTech sata dock, remove my drive from the laptop, and plug it into the dock. Voila! Instant connection to the desktop. The doc has 2 ports that handle both 2.5 and 3.5" drives, as well as esata and USB connections. Other than the interface cable (the dock comes with both esata and usb cables), no cables (power or otherwise) are required. Of course it has a power brick, but the dock deals with the drive connections internally. Just slide the drive into one of the ports, turn on that port, and assuming you already have the dock connected to the desktop, it is live.

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

Actually, should be void randomize (int* array, int arraySize)... :-) Thanks. Keyboard keeps changing what I am typing!

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

Pointer to item == address of item in program space. A C++ reference is, under the covers, a pointer. You can pass the pointer to an object to a function, which if not specified as const, will allow the function to modify the object. This would be necessary if the function is a C function. If it is a C++ function, then it is safer to pass as a reference. Read more - this stuff is fundamental to understanding and writing good/safe C and C++ code.

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

Try using double, or long double values instead of floating point values. Floats are only 32 bits and hence are quite limited in precision as well as exponent size. Doubles are 64-bits, and I think new compilers that support long doubles allow 128 bit values, which though allowing much larger (and precise) numbers, are much slower to compute as most (or all) current microprocessors will be limited to 64-bit or 80-bit internal floating point operations. Also, remember that precision (the number of decimal places after the integer part of the value) is NOT the scale of the value (the exponent size).