Power Gorilla on Lenovo W510

I’m hoping this will be of help to searchers of google
The question is does the powergorilla work with the ThinkPad W510 and other 135W Lenovo Laptops?

Quick Answer

Yes, far better than you could hope

Long answer

Recently I have upgraded my old compal FL92 to a Thinkpad W510. I then noticed with some dismay the 135Watt power brick that came with it, and thought my existing power gorillas would no longer work.

I phoned up powertraveller and after a quick chat to one of the techs (no, I have not forgotten your name I’m just not posting it) she said she would post the 2 tips needed and a y-cable out to me for free, this was without prompting! The power traveller lot have always seemed genuinely interested in the use you put their products to.

The tips all arrived and I sat down to what I thought would be a night of experimentation with multiple Y-cables and up to 3 powergorillas in parallel. This proved to be unnecessary due to the way ThinkPads handle the fact that there are 3 20V thinkpad power supplies but only 1 connector type.

These are:

Full speed and battery charging – if you use a 135W power supply
Throttled speed but battery charging – if your use any main charger less that 135W power supply (even the 120W onces you can get trigger throttling)

The power gorilla gives out 2.5A at 20V so about 50W, so you would expect a throttled result, and believe me you don’t want the throttled option, I tried it with a 90W travel power supply and it throttles the processors so badly that even a movie stutters, but when I plugged in the power gorilla, it just “paused” the internal battery and ran of the gorilla, ehh? Why would it do that? I spent some time trying all variations of 65W/90W/travel 90W/135W/and Gorilla, and it always behaved the same, I think that because of the 27++ bolt on battery, the modern ThinkPads can detect if a battery is plugged into them, and is treating the powergorilla as such.

OK so a great solution, but how long does it keep your laptop going?

A powergorilla at the 20V (19v in reality) setting produces 55Wh

The 3 batteries that are compatible with the W510 are:

55+ (6 cell battery, the one that is flush with the back of the laptop) at 57Wh
55++ (9 Cell Battery, the one that sticks out the back of the laptop) at 94Wh
27++ (9 Cell Battery, the extra one that hangs off the bottom) at 94Wh

After playing around charging and discharging, the times all came down to the expected pro rata times (1 power gorilla lasts just under the full time of a 55+ and about 2 thirds of the time of a 55++/27++ )

And here is the bonus, if you have a power gorilla already, you will know that you can charge and use it at the same time (providing they both are on the same voltage), this means you can use travel power supply (or any 20V power supply less than 135W) to run your laptop un-throttled. I have tried this and it works (I have never seen the power meter on the w510 go above 90W, and even then it would probably just be a spike) so you can finally go back to using your sparkly new laptop on planes/cars.

All in all a perfect solution, an excellent product and fab customer service (well done to Lenovo for the smart power management as well)

Terrorists or freedom fighters in corporations

RANT WARNING

Political spin particularly in corporations who should know better is something that always gets on my nerves, currently one of my clients is moving to an outsource model for everything , this has come with a new CIO and is expected as every director wants to stamp his mark on the enterprise, this time there are some bits that are new to me, the particular one that gets my goat is:

“High operational risk due to dependency on few individuals” errr that was because these were specialists that dealt with the products day in, day out for years and knew not only the products but the underlying business and can identify and fix issues in minutes, even seconds, as a business side colleague pointed out, if this was in brain surgery rather than high finance, the suggestion that there are too few proper brain surgeons and they cost a too much, so we should give the work to ordinary doctors, would cause an outcry,

It only works in a corporations because the people issuing them don’t actually understand what their business REALLY does, yes its bad for redundancy purposes and horrible for the day to day running cost to have specialists, but the reason it looks like an easy target is because there have been no problems so everyone thinks the work is simple to do,

This problem was exemplified by an issue in which a instance of Jboss on Redhat became ill during a end of day run and would not restart with the normal scripts we had written, the cause was not a code based one, it is a dedicated box that does nothing else, and we were in a time sensitive situation, the new support personnel (who have been in the role for 8+ months now), were completely at a loss as this scenario was not on their sheet of “how to do stuff”, a suggestion of “Restart the bloody box”, was treated with blank stares and a question of “which script is that”,

It took over an hour to even get them to mail the hardware administrators to get them to do a restart of the physical box (something they could have done them selves in 2 mins with a “sudo Reboot”) , all in all nearly 2 hours of run time was lost making the business very unhappy, this is not intelligent support!!, this is not an improvement!!!, I would say that we now have even higher operational risk than before as we have NO individuals that we can depend on .

To conclude, the support and growth of any business is a balancing act, if you only have 3-4 line people then day to day its very expensive (often unjustifiably so), but you most likely wont ever have a major disaster, if you only have 1-2 line people, then day to day it will be cheap as chips, but when a change is needed to fight off your competitors or deal with a major disaster you will face a sea of blank expressions all saying “that is not on my script sheet”

New Anime Series- C3 Cube x Cursed x Curious

First Episode Review for: C3 Cube x Cursed x Curious

Summary : A boy receives a large metal box that turns into a girl, who then turns out to be a cursed weapon powered by human fear, he guides her though her search for positive emotions, much hilarity ensues

Animation : Mix of normal and very good, but there are some excellent colour overlays or washes that add something unusual and keep you glued to the screen

Plot Potential: It sound like an amazing plot, but in the first episode they do not get started, Update in the second episode the plot hits nice and hard and the whole thing gets darker End Update

Characters: The charters are an interesting mix of stock stereotypes warring with what looks like a interesting plot (if they would only get down to it)

Music: Nothing of note

Reminds me of: somewhere between Saikano and Mahoromatic

Overall: After a bit of gratuitous nudity, and pantie fan service, this seemed to settle down in to the standard “super powered girl taught by a kindly young man” anime, i’ll watch it for the next few weeks while the visual effects are still something new, lets hope the plot picks up, the only thing that did confuse me is the fact that the main male character has unexplained woman’s clothes in his house

Disclaimer: These are mini reviews of anime’s that are fresh out in Japan and are not licensed in the UK, buy them once they have been licensed or at the very least buy the merchandise, remember if the anime makers make a loss, THEY WILL STOP MAKING ANIME!!

Logitech wireless trackball M570 review

As a long time user as the Logitech range of thumb controlled tracker balls (10+ years), it was with great relief when I heard they were bringing it up-to-date, as you can see they have kept it nearly the same (thank goodness), with the same feel and responsiveness , but there are some differences

  • Slightly shorter (this made my thumb ache a tiny bit after the first hour, then it was fine)
  • scroll wheel quieter
  • 2 extra buttons for back and forward browsingIt uses the new Logitech tiny unified receiver dongles which is small enough to just leave plugged in

    The marble is the same size but if you swap with an old one, the movement becomes slightly jerky (daft but I had to try)

    looking underneath we find that Logitech have increased the number of sticky pads, we will see if they stay stuck to the bottom and not slide off ( a minor flaw with the versions 2 & 3 ), the battery compartment (which they say will last for 18Months) and also a slot for the receiver (a nice touch)

    oh, one thing, the marketing blurb on the box says “a different kind of comfort, A different kind of control” errrr lads you have had the same design for over 10 years, there is nothing different about it, however that’s its best point, you got it right all that time ago, and this is a very good evolution and keeps me as a loyal customer, well done Logitech.

Old Comments

Devin(23/03/2011 23:47:43 GMT)

I’ve been using this particular <a href={ Link } trackball</a> for about 5 months and couldn’t be happier with it. No problems at all. The only nitpick I have is the scroll wheel seems really noisy and rough, but so far so good.

CXF webservices on Domino

Since Domino 6 I have only seen people use Apache Axis (up to 1.4) as a web service framework and quite frankly it’s a bit long in the tooth; we want to use a newer framework and if we are sticking with the popular frameworks (i.e. native support in Eclipse), that leaves us with Axis 2 and CXF (yes yes! I know that X or Y is the latest and greatest but given the sedentary nature of large corporations I’ll settle for a functionally rich, well-rounded standard that works and in 2 years time can still be supported).

Anyhow, all my clients seem to have plumped for CXF, so this blog is to show you how to get a CXF client working on Domino 8+ (CXF needs Java 5 or greater).

I am assuming that you have already generated your class files (either via Eclipse wizards or via wsdl2J). If you have not, this is a good Link:

Normally when you are writing / testing a Java agent you just bung the supporting jar files in the agent itself, and give it a run. Unfortunately even if you get all the right jar files, you will get this error:

java.lang.NullPointerException
at org.apache.cxf.wsdl11.WSDLServiceFactory.< init> (WSDLServiceFactory.java:91)
at org.apache.cxf.jaxws.ServiceImpl.initializePorts(ServiceImpl.java:207)
at org.apache.cxf.jaxws.ServiceImpl.< init> (ServiceImpl.java:150)
at org.apache.cxf.jaxws.spi.ProviderImpl.createServiceDelegate(ProviderImpl.java:63)
at javax.xml.ws.Service.< init> (Service.java:67)

This means that CXF can’t verify your WSDL (yes it’s a naff error) due to security reasons, so you’re going to have to put the jar files in the ext directory on the server.

CXF uses more jar files than Axis. When you download the binary from http://cxf.apache.org you will find a “WHICH_JAR” text file in the lib directory that tells you which files you will need to include for which function. As my client is using quite a few of the extra functions (such as WS security), I ended up putting the following files in a directory called “CXF” inside the Dominojvmlibext directory (the extra sub-directory is just so I don’t get the files mixed up):

– cxf.jar
– commons-logging.jar
– geronimo-activation.jar
– geronimo-annotation.jar
– geronimo-stax-api.jar
– neethi.jar
– jaxb-api.jar
– jaxb-impl.jar
– XmlSchema.jar
– wstx-asl.jar
– wsdl4j.jar
– geronimo-ws-metadata.jar
– geronimo-jaxws_2.1_spec-1.0.jar
– saaj-api.jar
– saaj-impl.jar
– asm.jar
– geronimo-servlet.jar
– jetty.jar
– jetty-util.jar
– sl4j.jar & sl4j-jdk14.jar (optional – but improves logging)
– bcprov-jdk15.jar
– xalan.jar
– serializer.jar
– wss4j.jar
– xmlsec.jar

(NOTE: If you are already using Java heavily in domino you may already some of these in your ext directory, so be careful to not double-up or give yourself conflicts).

The next bubble of joy will be the following error message (or something very similar):

java.security.AccessControlException: Access denied
(java.lang.RuntimePermission setContextClassLoader)
at java.security.AccessControlException.<init> (AccessControlException.java:62)
at java.security.AccessController.checkPermission(AccessController.java:68)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:532)
at java.lang.Thread.setContextClassLoader(Thread.java:752)
at com.sun.xml.internal.ws.api.pipe.Fiber._doRun(Fiber.java:545)
at com.sun.xml.internal.ws.api.pipe.Fiber.doRun(Fiber.java:537)
at com.sun.xml.internal.ws.api.pipe.Fiber.runSync(Fiber.java:434)
at com.sun.xml.internal.ws.client.Stub.process(Stub.java:247)
at com.sun.xml.internal.ws.client.sei.SEIStub.doProcess(SEIStub.java:132)
at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:242)
at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:222)
at com.sun.xml.internal.ws.client.sei.SEIStub.invoke(SEIStub.java:115)
at $Proxy27.getAdjustedLocationValues(Unknown Source)

This is a security message, and means you will have to edit the dominojvmlibsecurityjava.policy file. The exact entry will depend on the error you are getting, but this one:

java.security.AccessControlException: Access denied
(java.lang.RuntimePermission setContextClassLoader)

… meant I put the following lines in:

grant {
permission java.lang.RuntimePermission setContextClassLoader;
}

Restart your server and that should be it, your CXF calls should work fine.

PS. I have included full error messages to help future lost souls find this post.

PPS. This posts was corrected and sanitised by Mr Poole to make it readable (thank you)
Old Comments
————
##### Olle Thalen(05/01/2011 14:11:04 GMT)
I get the following exception all the time when I try to run a web service consumer using cxf in domino environment:

org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: Line 24 in XML document from class path resource [META-INF/cxf/cxf.xml] is invalid; nested exception is org.xml.sax.SAXParseException: cvc-elt.1: Cannot find the declaration of element ‘beans’.
at org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:97)
at org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:87)
at org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:65)
at org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:54)
at org.apache.cxf.BusFactory.getDefaultBus(BusFactory.java:70)
at org.apache.cxf.BusFactory.getThreadDefaultBus(BusFactory.java:107)
at org.apache.cxf.BusFactory.getThreadDefaultBus(BusFactory.java:98)
at org.apache.cxf.jaxws.spi.ProviderImpl.createServiceDelegate(ProviderImpl.java:64)

Got any ideas?