rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

Try split_string(line, strlen(line)+1, &strings_line_tokens[0]);

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

Also, unless there is a REALLY good reason, all member variables like m_secret, etc. should be private with public or protected getter/setter methods as needed.

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

You are missing a right-curly-brace { before the start of your G_master class. Try this instead:

class G_master {
public:
    int m_secret;
    int m_guess;
    int m_win;
    int m_prev_delta;
    void setup();
    void hello() { cout << "Hello\n"; }
    void listen();
    void respond();
    void menu();
    int endchk();
    void prompt();
    void cleanup();
    void conversation();
};
rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

First, you need to get permission from your ISP to do this, if law doesn't explicitly allow you to do so. You can route all the local people to your router assuming you have legal rights to do so. They will get whatever bandwidth is available based upon current usage. This isn't hard to do. Consider it a VWLAN (Very Wide Local Area Network). The biggest issue will be the distance from your router / modem to the most remote user. There are signal boosters you can use to increase the distance of either wired or wireless devices.

FWIW, I have never heard of Amplifier. I'll have to do some research and let you know what I find.

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

This is often caused by glitchy sensors. If cleaning and reinstalling drivers doesn't work, try replaing the device. Mine sometimes just stops for a minute. No random movements though, thankfully. That would drive me nuts! It's fully optical, with radio connection to the USB bus (along with keyboard), so there are no mechanical linkages.

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

Simple. A strip of black electrical tape will deal with that nicely! The microphone is another matter... :-) Speaking from the department of paranoics department...

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

Flash itself is being deprecated in favor of HTML5 for video applications. As you should know, PHP is server-side code whereas javascript, etc are client-side tools. If you want this to be a client-server application, then use PHP on the server to build/send javascript, jquery and such as strings to the client. They can be a browser on the mobile device, or on any system. Doing that, making it a brower-based application, you don't need to put your app in any mobile device "store". If you do want to run it as a "native" app on devices, then you will need to port it to the preferred languages/apis for the devices you are going to support. That will be a lot of work.

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

Pseudocode is a textual or semi-functional description of code to solve a problem. So if, the C code were for (int i == 0; i < 10; i++)... the pseudocode would be something like

for i = 0 while i is less than 10 then increment i and do stuff until i equals or is greater than 10
Got it?

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

What is the square root of N?

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

If you need, I'll dig out my text book for that class. It should still be on my shelf somewhere... :-)

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

Neural network programming isn't simple. It is the keystone of adaptive systems software. What text books have you read yet? If none, then get started with your studies! FWIW, I took an advanced neural network programming class given by the US Air Force at Hanscomb AFB (in conjuction with MIT) in Massachusetts many years ago. As I said, this isn't elementary/simple stuff!

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

This is actually quite simple. Boot from a Linux DVD/CD drive. Use the dd command to copy the system disc image to an external drive, such as: dd if=/dev/sda of=/externaldrive/osx-image bs=1M. This says, copy /dev/sda to /externaldrive/osx-image in 1MB chunks. You can also pipe that through a compression tool such as gzip or bzip2 to take less space on the target drive. I do this all the time to keep a recent image of my OS available in case I have to reinstall it without too much pain and suffering. It has "saved my bacon" on many occasions!

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

Good work! Now, you need to scan for viruses. This sort of thing doesn't happen with Win7 unless there is something bogus going on!

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

Language, or API's? Your question says you haven't researched this much. For video, there are a number, both closed-source (mpeg) and open source (mkv). For images, ditto - jpeg (closed source), png (open source). There are tools in many computing languages from C -> C++ -> Java -> Python -> Perl that will deal with this stuff for you. So, as said, do some more research.

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

Time to take it to the repair shop if you cannot even boot into the BIOS.

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

Your /usr/bin/java is a link to /opt/java/jdk1.7.0_21/bin/java, but it doesn't exist, or is somewhere else.

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

@Tweak - try Linux. Cheap at twice the price, has good user interfaces, and most of the software you could want. A lot of Windows software will work in the Wine environment. I run my Sparx Enterprise Architect that way (an advanced UML software design/modeling tool).

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

You don't need to post ALL of your code. Most of us don't have the time to read through it all. The error says enough. You are trying to access a member function without going through an instance of the object class where it is defined. IE, if method xyzzy() is defined as a member function of class Foo, then you cannot invoke it as Foo::xyzzy(). You need an instance of Foo, as in:

Foo bar = new Foo; bar.xyzzy();

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

Sorry, but we do not do your homework for you. Make an honest attempt, post the code here along with errors or issues you are getting, and then we may help.

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

FWIW, in 2 1/2 years at Nokia using Windows 7, I never had to futz with the registry and such. It was very stable. The only issues were related to USB thumb drives. Every once in awhile it would refuse to recognize them. I would have to remove the devices from the hardware registry, then reboot. After rebooting, it would reinstall the driver and recognize the drive. Total PITA, and I was not the only person with this problem. I had to post a group Wiki page to tell people how to deal with that when it happened.

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

I used to need to futz with the registry in XP on a regular basis. Don't run Windows any longer (occasionally in a VM, but last time was probably 6-12 months ago), so it isn't on my radar.

All that aside, I just took a position with Panasonic as a Senior Linux Systems Engineer - finished the 10,000 pages of paperwork and waiting for drug test and background check results before I start. I expect to get a Panasonic laptop when I officially start, and it will probably run some sort of Windoze operating system (either 7 or 10) for office cruft. That is what happened at Nokia, where I was doing Linux development exclusively. I had to install Linux in a VM in order to do development work. So, using dual external monitors, I would have Windows on one screen, and Linux on the other. Worked well from the productivity standpoint. Office cruft on the left, Linux on the right... :-)

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

I only run Windows on my Linux system in a virtual machine. I have a licensed copy of Windows 7, but it refuses to allow me to register it with MS which results in degraded operations. I also have XP and will install that in another VM - never had a problem with that. I think that part of the problem with Win7 is that it requires access to the BIOS flash data area to store encrypted keys, but VirtualBox doesn't support that "feature". XP isn't so picky... :-) Truth be told, I rarely have need to run Windows any longer. LibreOffice is a great substitute for MS Office (and cheap at twice the price - $0.00), and the only time I need Windows is for some more advanced scanner functions than xsane gives me on Linux. I can still access those in the Win7 VM however, so it isn't much of an issue.

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

@JamesCherrill - I agree. I learned some programming first - Fortran in Engineering School, BASIC, dBase-II, and then C and C++ (along with Cobol, Dibol, Snobol, SmallTalk, Prolog, and others over time). These days, Java, JavaScript, PHP, and more. However, soon after I started, I realized that just programming was not sufficient and I needed a more fundamental understanding of algorithms - what they are, how to develop them, etc. I learned by reading and studying the giants of the software engineering discipline.

So, learning a language, and then using that to express algorithms is a good approach. What language is not important, but something that is inherently object oriented is a good idea, such as Java, C++, Python, et al.

Ghost0s commented: thanks a lot +1
rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

Boot into the BIOS and check the UEFI settings. Windows 10 probably requires secure boot to be enabled.

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

Do you have to use SQL? First, solve the problem mathematically using an arbitrary reference point (latitude and longitude). Compute what the L&L (latitude and longitude) would be for a distance of 5km from the reference point in any direction. Then, you will understand how to derive that from database entries. Note that you may want to compute this in an abstract manner, rather than just 5km east, west, north, or south of the reference location. That seems to be what you are trying to do, but SQL is NOT a good language for such abstractions unless you fully understand the permutations involved first.

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

You need to do some studying. BNF stands for Backus-Naur Form which is an abstract representation of complex processes and languages - basically a context-free grammar. Here is the Wikipedia article about it: https://en.wikipedia.org/wiki/Backus%E2%80%93Naur_Form

As an example, the United States Department of Defense (in conjunction with Bolt, Beranek, and Newman in Cambridge Massachusetts) developed TCP/IP and published a bunch of books that specified the protocols to be used, the DDNS (Department of Defense Networking Standards). They used BNF to describe all of these protocols in exquisite detail so that anyone could implement them correctly, in any language, and the resulting code could then be assumed to communicate properly with any other compliant system. I know, because in the early 1990's I did just that to develop from the DDNS handbooks (takes up at least a foot of shelf space) a complete TCP/IP stack from scratch for a real-time operating system that we were using for a US Navy project. We were not allowed to use existing code. The result was a TCP/IP stack that could communicate properly with SunOS, IBM, DEC, HP, Windows, and many other systems without error. I still have the handbooks on my shelf. :-)

In truth, BNF isn't hard to understand. Reading it helps to understand it.

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

You need to do some studying. BNF stands for Backus-Naur Form which is an abstract representation of complex processes and languages. Here is the Wikipedia article about it: https://en.wikipedia.org/wiki/Backus%E2%80%93Naur_Form

As an example, the United States Department of Defense (in conjunction with Bolt, Beranek, and Newman in Cambridge Massachusetts) developed TCP/IP and published a bunch of books that specified the protocols to be used, the DDNS (Department of Defense Networking Standards). They used BNF to describe all of these protocols in exquisite detail so that anyone could implement them correctly, in any language, and the resulting code could then be assumed to communicate properly with any other compliant system. I know, because in the early 1990's I did just that to develop from the DDNS handbooks (takes up at least a foot of shelf space) a complete TCP/IP stack from scratch for a real-time operating system that we were using for a US Navy project. We were not allowed to use existing code. The result was a TCP/IP stack that could communicate properly with SunOS, IBM, DEC, HP, Windows, and many other systems without error. I still have the handbooks on my shelf. :-)

In truth, BNF isn't hard to understand. Reading it helps to understand it.

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

FWIW, one of my best friends, Bruce Ravenel, one of the inventors of the Intel x86 processor family, was a graduate student of Wirth at the University of Colorado (Wirth was a visiting professor then). He (Bruce) is the person who got me into software engineering.

Ghost0s commented: rubberman i trust your answers they are always helpful but you didnt specify algo or programming can u give me few steps to follow and start my way +1
rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

There is a great book by Niklaus Wirth (the inventor of Pascal and Modula programming languages) called "Algorithms + Data Structures = Programs". This is one of the bibles of software engineering. My copy is from the 1980's, but it has been revised and updated a number of times since then. You can find it on Amazon. Well worth spending some time and money on. You may also be able to find copies on the internet. This was, at the time, one of the most important text books for learning software engineering.

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

To put it a bit more simply (or at least less succinctly) than debastian did (which was absolutely correct) is that open source software (and hardware) is not proprietary and can be viewed or modified by anyone without cost. That doesn't mean it is not protected by copyright, but the terms of those copyrights allow you to access the code, modify it, and redistribute your modifications, though you will likely have to make your changes available to those you redistribute it to. All of the GNU tools, Apache tools, and many others are open source software. Open source hardware is a newer development and I can't point to many examples. Arduino and Raspberry PI stuff may be.

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

What operating system and browser(s) are you using? Did you perform a recent system update? What anti-virus software are you using, and have you scanned your system for viruses?

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

Describe your operating system, how the flash drive is connected, what device ID (letter for Windows or /dev id for Linux/Unix) it should use, and whether or not you disconnected it safely the last time you could access your files, or did the system crash, you disconnected it without unmounting it, ...

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

This is not uncommon when reading analog data like this. You need to filter out most of the input. There are a number of methods to do this, from simple (which is where you want to start) to complex such as using Kalman filters (non-trivial engineering stuff). So the simple methods are to read some number of inputs, average them out, and use that as the next data point. If some inputs are way out of known range, then throw them away before the average is done. This usually will work for situations like yours. Later, you might want to perform some curve-smoothing to make the imput smooth (duh!) in the visual sense. FWIW, I developed the curve-smoothing algorithms for the first analog touch tablets back in the 1980's, and adapted those for an analog joystick to emulate a mouse for X-Windows in the early 1990's.

The tablet stuff was a contract consulting job. The joystick was for my own use and fun!

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

Your PHP restart script may need to specify a valid IP address, such as localhost (127.0.0.1:80). 0.0.0.0:80 is not a valid IP address. FWIW, the :80 part is the port that PHP will be listening on. Also, port 80 is the default for http (web services), and that may be already used by Apache. What version of PHP are you using?

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

Input amperage does not equal (often) output amperage. It depends upon the voltage differential and other factors. I was at a battery charging design seminar last night, and that was made very clear. In any case, see if you can find a compatible power supply that will provide additional amperage - better safe than sorry!

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

What exactly do you mean? Are you asking if future Windows updates will affect the functioning of VMWare images? The answer to that would be probably, but VMWare will quickly (possibly before the Windows release was issued by Microsoft) fix the VM host software to deal with that I would expect, or there would be a LOT of really angry users out there.

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

Most of the time, the manufacturer will honor the warranty, but you will be responsible for shipping it to their factory repair depot. Go online to the manufacturer's web site and check with their support staff about that.

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

How is the image being stored in the database? Subsequent reads of a fingerprint will not exactly match previous ones, such as that stored in the database. Fingerprint readers will look for a correlate major features (ridges, etc) to generate a match using statistical processes. I would assume the FPVerification function from UareUSDK.clsFPVerification does that?

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

ddanbe is being nice. We don't do your homework for you - please read this site's terms of service. Make an honest attempt to solve the problem. Write the code. Post the code and problems, error messages, etc here and then we can help you.

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

3000mA is the same as 3A so that should work just fine. That is more than the old 2A service. It will only provide as much amperage as the device (your cd/dvd burner) draws. That said, if there is a problem with the burner power and it draws too much, then your new power supply may also fail. This is not unknown to happen. So, that said, good luck! Let us know how it works out for you.

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

Sorry, but we don't do your homework for you. Make a good-faith effort to solve the problem, post the code you are having trouble with here, and then we can possibly point out where your mistakes are.

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

I think something munged your system. Do the following:

  1. Run the disc check tool to see if the file system is ok. If it is, go to #2 (which will require a reboot).
  2. Schedule the sector check tool to run on reboot.
  3. Run a virus scanner on your file system.

These will verify that the disc and file system are ok, and try to fix them if not. If the disc and file system are ok, then if you have a recovery partition on the disc, boot from that and run the recovery tool to replace lost dll's and such. I assume you have a good virus scanner? If not, you can download and run the open source scanner ClamWin.

DDoerschuk commented: All three suggestions were correct and diagnosed problems! +1
rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

IPv6 addresses are generally represented in strings a a series of 5 16-bit hexadecimal values, separated by colons. The first hex number is separated from the rest by dual colons. There may also be a trailing subnet mask, such as /64. Example, my Linux system IPv6 address is (numbers changed to keep people off my network) ff80::215:77ff:ff81:fff8/64. Note that leading 0's are truncated, so instead of 0215 for the second term, it is 215. IPv4 addresses are represented in dot notation using decimal numbers for each term, not using colons. This will simplify parsing the strings considerably.

In my professional opinion, building up regex terms for this sort of purpose is not really good practice. Myself, I prefer to scan the string for "interesting" values, and then apply the appropriate parsing rules using some function that I have written and verified.

FWIW, I have been writing parsers and programming languages for almost 35 years. I used to teach graduate-level courses in the techniques needed to do so.

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

No. Libre and Open Office are installable applications. I am not sure if Libre Office has a web-based version or not. You can find out all about it at www.libreoffice.org.
There is a portable version that will run on your iAnything, Android devices, etc. Find it here: http://www.libreoffice.org/download/portable-versions/

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

In Libre Office or Open Office, they are much the same as Excel. I don't know about Google Docs unless that is built upon Libre/Open Office tools. FWIW, Libre Office much more compatible with MS Office applications than is Open Office. They have expended a huge amount of resources on making the Libre Office tools compatible with MS Office.

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

Go to the Services page in the Control Panel and see if the spooler is listed there. If it is running then try to restart it. If not running, then start it and click on the autostart icon so it will start on next reboot of the OS. If it isn't showing up at all, then go to the add/remove software page. On the left side of the screen should be a panel showing what Microsoft services and applications have been installed. There should be an Add button which would show available applications and services - the print spooler should show up there.

rch1231 commented: Excellent answer and what I was just about to suggest. +11
rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

Remove it. DO NOT OPEN IT! It may well be malware, ready to infect your system if you open it. I don't know, but as the saying goes, better safe than sorry!

happygeek commented: Absolutely agree - especially considering that we are talking about a PDF here! +13
rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

Most open-sourced binaries and sources have been digitally signed with md5, or preferably sha-256 signatures, making it difficult for malware writers to create alternative versions of this code. This is not a perfect solution (no such exists in my opinion), but it does move the bar much higher.

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

There is also, as I mentioned, the issue of maximum current draw. You want to be sure that the new power supply can provide that much amperage. The voltage is only 1/2 of the equation. For example, I have an HP power adapter in hand that provides a 1.0amp max power at 18volts. So, you need to know what your device's power needs are at those 12 volts, and be sure that the power supply can provide that many amps.

rubberman 1,355 Nearly a Posting Virtuoso Featured Poster

My current laptop is an aging Dell D630. Nice system. I run a version of Red Hat Enterprise Linux 7.1 on it. When it dies, I will get a new laptop from ZaReason. They only sell Linux/Unix systems, and guarantee all hardware (audio, video, wifi, etc) to work "out-of-the-box". Check them out at ZaReason.com. Good people, great support, nice gear. Disclaimer: their president and ceo is a friend of mine.