NAOqi: Port NAO code from 2.1 to 2.8 - nao-robot

NAOqi 2.8 has no DCM anymore. How to replace it, e.g., in the following code?
proxy = new AL::DCMProxy(pBroker); // does not work anymore
proxy->createAlias(someAliasDeclaration);
proxy->setAlias(someValuesForAlias);
proxy->getGenericProxy()->getModule()->atPreProcess(&someFunction);
proxy->getGenericProxy()->getModule()->atPostProcess(&someOtherFunction);
I did not find any hints in the documentation.

Unfortunately I think in NAOqi 2.8 you won't be able to bypass NAOqi, so the only possibility will be to use the ALMotion functions. see http://doc.aldebaran.com/2-8/naoqi/motion/almotion-api.html

Related

vsphere api : RemoteException while connecting a esx-i machine using vijava vsphere API

I am getting the below exception while trying to connect a esx-i 5 machine using vijava vsphere API.
vijava is the VMware Infrastructure JAVA API.
I am using the VI Java API 5.5 Beta vijava55b20130927.
What might be the root cause of this issue.
java.rmi.RemoteException: VI SDK invoke exception:java.rmi.RemoteException: VI SDK invoke exception:org.dom4j.DocumentException: **Error on line 4 of document : Open quote is expected for attribute "{1}" associated with an element type "rel".** Nested exception: Open quote is expected for attribute "{1}" associated with an element type "rel".|
[12:02:07:318]|[12-18-2014]|[SYSOUT]|[INFO]|[135]|: at com.vmware.vim25.ws.WSClient.invoke(WSClient.java:131)|
[12:02:07:318]|[12-18-2014]|[SYSOUT]|[INFO]|[135]|: at com.vmware.vim25.ws.VimStub.retrieveServiceContent(VimStub.java:1437)|
[12:02:07:318]|[12-18-2014]|[SYSOUT]|[INFO]|[135]|: at com.vmware.vim25.mo.ServiceInstance.<init>(ServiceInstance.java:100)|
[12:02:07:318]|[12-18-2014]|[SYSOUT]|[INFO]|[135]|: at com.vmware.vim25.mo.ServiceInstance.<init>(ServiceInstance.java:84)|
If you will switch to using YAVIJAVA I can help.
The Beta version of VIJAVA has a bug where only a RemoteException is ever thrown. That bug is fixed in YAVJAVA 5.5.08-DEVELOPMENT or newer which as of this comment is only available on github (older versions in maven have this bug)
YAVIJAVA includes logging via log4j and if you enable debug logging when you run the command you can even get the XML payloads that are coming and going from the server which I can use to help you trouble shoot this problem.

How do I confirm I'm using the right chromedriver?

I came in to the office yesterday morning to find that my Capybara tests couldn't interact with Chrome. I'm seeing
Selenium::WebDriver::Error::UnknownError: unknown error: unable to discover open pages
Googling around revealed that this was likely caused by an out-of-date chromedriver or selenium-webdriver, which sounded very plausible, since neither had been updated in a long time (I think chromedriver was at 2.2 and selenium-webdriver was at 2.35.1), and since Chrome auto-updated to 32.0.1700.77 on January 14, that seemed like good solid evidence to me.
So I've updated selenium-webdriver to 2.39.0. Figuring out what version of chromedriver I had been using actually turned out to be more difficult. I had a version of chromedriver sitting in my Downloads directory that I thought my code was referring to, but I couldn't find my Downloads directory in the PATH (I'm using OS X by the way). I tried replacing this file with version 2.8 from here, but it had no effect. I became skeptical that the version in my Downloads directory was the version that was being used in the first place, so I used brew to install it. brew info chromedriver now yields:
chromedriver: stable 2.8
http://code.google.com/p/chromedriver/
/usr/local/Cellar/chromedriver/2.8 (2 files, 21M) *
Built from source
From: https://github.com/Homebrew/homebrew/commits/master/Library/Formula/chromedriver.rb
Looks good. My PATH contains /usr/local/bin, which has a chromedriver link to the location brew installed to. As far as I understand it, this should allow my automation to detect and launch the chromedriver.
Unfortunately, my issue is still unresolved. I remain unable to discover pages. Can anyone confirm that I've done what one normally does to set up the chromedriver?
Side Question: After downloading chromedriver 2.8 directly and also installing it with brew, I tried launching both the downloaded version and the brew version separately to confirm that either version could launch successfully. I'm certain they are both in fact version 2.8, but when I launch either one the console says:
Starting ChromeDriver (v2.2) on port 9515
Is that normal? I certainly wasn't expecting it to say v2.2, but there are no other versions apart from 2.8 installed by brew (so I doubt brew is accidentally using the older version), and when I run the file I downloaded directly, I'm quite sure it's version 2.8 from the Chromedriver website. Is this an oversight on their part, or does v2.2 refer to something else, unlikely though that may seem?
It would be tricky to verify the chrome driver version frequently when you download it with homebrew. I would suggest downloading the driver and maintaining it in a folder mapped in your PATH.
So that maintaining or identifying the driver version will be easy with the below steps:
Go to the folder where you have chromeDriver
Open command prompt pointing the folder
run: chromeDriver -v
ChromeDriver is at version 2.16 now. I would recommend manually updating your driver instead of updating with whatever older version that homebrew wants to update you to.
You can use command line: pip freeze to list down all packages you have installed with their version.
Or you also can use pip show <package name> to check the details of the package, which also includes package version.
Click here
chrome driver version
for checking your chrome driver version.
Now it's time to check the latest release version. So click here latest release version
Compare between;

appcfg.cmd java version; 1.7 installed; 1.6 in path; tells me it needs 1.6 ti yokiad

I try to use this command to deploy my application to
appspot.google.com:
c:\a\appeng\bin\appcfg.cmd --use_java7 update c:\a\u3e
Generates the error messsage.
C:\a>c:\a\appeng\bin\appcfg.cmd --use_java7 update c:\a\u3e
Registry key 'Software\JavaSoft\Java Runtime Environment\CurrentVersion'
has value '1.7', but '1.6' is required.
Error: could not find java.dll
Error: could not find Java SE Runtime Environment.
I tried setting the path to use the Java 1.6 SDK we downloaded
but that did not help or change any thing.
The web resources talk about what version of Java is used
by the application once it appears on Google's servers; I
did not see anything about the Java version for the upload
process including developers.google.com/appengine/docs/java/gettingstarted/uploading and developers.google.com/appengine/docs/java/tools/uploadinganapp#Command_Line_Arguments as well as searching this site specifically and checking google.
Can I deploy
an application from the computer in my house without
deinstalling the Java 1.7 I use for other purposes?
Thank you for looking at this question. I resolved the problem. It was not related to Google Application Development
Server. It was a difficult-to-resolve path problem to the directory where the Java executables were kept.

Meteor.js on Samsung ARMv71 Chromebook Series 3?

While there's no official support for Meteor.js on ARM architectures, I'm disappointed that my (new and lovely) Chromebook can't run Meteor within Unity (ubuntu 12.04 LTS) chroot via crouton - http://goo.gl/ilSFSz
I've tried the suggestions for the Raspberry Pi ARM here - https://github.com/meteor/meteor/issues/442 - and for the most part, I'm using node v0.8.24 outlined here - https://github.com/meteor/meteor/blob/devel/scripts/generate-dev-bundle.sh - and the latest error I received was a Assertion Error: Unsupported architecture when building mongodb here, line 298 in ../mongo/src/third_party/v8/SConscript:
processor = env[PROCESSOR_ARCHITECTURE]
And ARMv71 isn't listed, so I wondered if anyone has found a way to get Meteor.js to run natively on their armv71 chromebook? I would prefer not to use cloud9 or nitrous.io, or amazon ec2 to do meteor development on the Chromebook. Thanks in advance.
If you know sh or bash you could try modifying the meteor install script for the ARM architecture.
As I know from other users, our meteor universal arm fork should work for you.
https://github.com/4commerce-technologies-AG/meteor
Cheers
Tom

Anyone Else Having Trouble Registering Ghostdriver with Selenium Grid?

I know that there is documentation on the ghostdriver wiki on how to attach it to a selenium grid. For those that don't know you can find it here
I've compiled the special phantomjs twice, tried to attach it to selenium servers local, and remote using both Selenium versions 2.24 and 2.25 to no avail. It starts up Ghostdriver locally just like you expect, but there's certainly no registering going on.
I tried both ip/localhost:4444 and ip/localhost:4444/grid/register with no results. I also thought perhaps it just didn't show up on the grid console and tried to run tests against it anyway, which failed stating there was nothing populating the grid.
I've tried this on both CentOS 6 and Ubuntu 12.04 with no luck.
I'm out of ideas. Has anyone else had problems like this?
I had exactly the same problem and fixed it with using the lastest version of selenium-grid.
The good website: https://code.google.com/p/selenium/wiki/Grid2 (this is no longer http://selenium-grid.seleniumhq.org/).
Here the steps (version 2.31.0):
Download the selenium-server:
wget https://selenium.googlecode.com/files/selenium-server-standalone-2.31.0.jar
Launch selenium grid server:
java -jar selenium-server-standalone-2.31.0.jar -role hub
In a new terminal, launch GhostDriver:
phantomjs --webdriver=5555 --webdriver-selenium-grid-hub=http://localhost:4444
Check out available remote control on http://localhost:4444/grid/console.
You should see something like that:
listening on http://127.0.0.1:5555
test session time out after 300 sec.
Supports up to 1 concurrent tests from:
phantomjs
I was testing this commands on CentOS 6.3, I hope it works for you!

Resources