Arquivo da categoria: Ciência/Tecnologia

Skype + Video

For some days now Skype has released a new public release that has video support. Since day 0 the Gentoo users that were running the testing version could have an upgrade. A few more weeks and if no strange bugs pop up it will be marked as stable software.

So if you are still running the old skype and want to use the new one:

emerge --sync
echo "net-im/skype" >> /etc/portage/package.keywords
emerge skype

Will 2nd life die?

A few weeks ago I attended some presentations about social 3d worlds. Two of the four presentations were about what can be done on Second Life and how to do it, another was about E-Learning and Virtual Worlds and the last one (actually it was the third) was by Marcos Marado and was a very nice retrospective about virtual worlds dating back to 1968. His presentation showed that many of these virtual worlds was eventually taken over my something newer. Surely many are still used today, but the user base dropped to a shadow of what was before.

My feeling is that the same will happen to second life. And why will that happen? Today I see two classes of problems with second life that need addressing:
Technical Problems
It is a very slow engine! It is open source code so the community should be able to fix it right? Wrong!! The problem is at a level that I do not believe a fix can be produced by changing the client code. As I saw last Saturday most of the performance issues come from the fact that the engine was designed to parse user produced content.

Economical Problems
Second Life is not a game. It does not aim to be a game. It aims to be a simulation of the real world, and it wants to be as perfect as possible. So good a simulation that money inside the virtual world is bought with real €€ and can be converted back.

Second life is an emerging platform for content production and distribution, just like the web was in 95. The main difference is the cost involved in a web presence versus a second life presence. Also back in 95/96 it was easy to imagine why should company A or B be in the web. With second life it is not that easy.

Stress testing a streaming server

I’ve been trying to stress test a RTSP Streaming server. My goal is to see how many clients a particular server can handle. Apple has a tool called StreamingLoadTool, but virtually no information on it, also it crashes alot with:

ClientSession: Failed to bind a UDP socket.

after running for some time.

All other tools I saw where commercial windows based multi purpose test tools that would need a giant test farm.

Assertion `c->xlib.lock’ failed

With XCB and java graphical applications on recent distributions one gets:

java: xcb_xlib.c:82: xcb_xlib_unlock: Assertion `c->xlib.lock’ failed.

This is very well documented (just google a bit). So this serves mostly as a mental note for the way to fix it.

$ sed -i ‘s/XINERAMA/FAKEEXTN/g’ /opt/sun-jdk-1.6.0.04/jre/lib/i386/xawt/libmawt.so

or the libawt.so of your JRE. Remember that many programs may come with they’re own JRE and not use the one provided by the system.

New work

A week ago I stared on my new work. I was at IPN and now I’m on the corporate world working at WIT-Software developing software for mobile systems as well as backend code for Mobile operators.
It was been a wounder full week, with lots of work and new stuff to learn.

As an added bonus last Week I received my last grade and now have my CS degree 🙂

Aquarium

Since I was a child I’ve always been interested in Aquariums, so this Christmas my fiancée offered me a 60 liter world. I’ve started it and this week I added some (21) fish. I’m very happy for finally having the chance to play with this. I’ll keep adding pictures here as time goes by.
Aquarium 20080112

Again I must say THANK YOU Raquel. One day at a time you keep my world turning.

Skype + Video now in Linux

Skype just released the first beta version of their Linux client with video support. I already added it to the Gentoo Portage, but as it is a Beta release you’ll have to package.unmask it:


emerge --sync
echo net-im/skype >> /etc/portage/package.unmask
echo "net-im/skype **" >>/etc/portage/package.keywords
emerge -av skype

As Skype beta tester I’ve been using these releases for some time and must say that I’m quite happy with the result, just a few quirks with some webcams, but nothing to serious, and maybe now there will be a good motive to pressure for nice drivers.

If you have any problems fell free to bug me and I’ll try to give you a hand. My Skype name is gustavofelisberto

JBoss and EJB3 is so Cool……

…. or then again it might suck.

Personally I find it to be a very complex platform. And with my experience, the more complex a system is, the more bugs it has.

For the last two weeks I’ve been trying to develop a very small application, it consists of a Web Service that is accessed by some EJB Session Beans. The web service is probably working as it gets deployed, and I can get the WSDL from it.

For purposes of reference I’m using jboss-4.2.1.GA with Java 1.6.0_03 on Linux.

Right now I have a jsp file that gets a LibrarySearcher (Remote bean), this in turn gets a WebBookSearcher (Local bean) and this calls the WebService. I’m getting this error:


12:18:52,845 ERROR [STDERR] javax.xml.ws.WebServiceException: java.lang.UnsupportedOperationException: setProperty must be overridden by all subclasses of SOAPMessage
12:18:52,850 ERROR [STDERR] at org.jboss.ws.core.jaxws.client.ClientImpl.handleRemoteException(ClientImpl.java:304)
12:18:52,850 ERROR [STDERR] at org.jboss.ws.core.jaxws.client.ClientImpl.invoke(ClientImpl.java:242)
12:18:52,850 ERROR [STDERR] at org.jboss.ws.core.jaxws.client.ClientProxy.invoke(ClientProxy.java:164)
12:18:52,850 ERROR [STDERR] at org.jboss.ws.core.jaxws.client.ClientProxy.invoke(ClientProxy.java:150)
12:18:52,850 ERROR [STDERR] at $Proxy145.bookSearchXML(Unknown Source)
12:18:52,850 ERROR [STDERR] at sessionsbeans.WebBookSearcherBean.searchBooks(WebBookSearcherBean.java:29)
12:18:52,850 ERROR [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
12:18:52,850 ERROR [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
12:18:52,850 ERROR [STDERR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
12:18:52,851 ERROR [STDERR] at java.lang.reflect.Method.invoke(Method.java:597)
12:18:52,851 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:112)
12:18:52,851 ERROR [STDERR] at org.jboss.ejb3.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:166)
12:18:52,851 ERROR [STDERR] at org.jboss.ejb3.interceptor.EJB3InterceptorsInterceptor.invoke(EJB3InterceptorsInterceptor.java:63)
12:18:52,851 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
12:18:52,851 ERROR [STDERR] at org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor.invoke(TransactionScopedEntityManagerInterceptor.java:54)
12:18:52,851 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
12:18:52,851 ERROR [STDERR] at org.jboss.ejb3.AllowedOperationsInterceptor.invoke(AllowedOperationsInterceptor.java:47)
12:18:52,851 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
12:18:52,851 ERROR [STDERR] at org.jboss.aspects.tx.TxPolicy.invokeInCallerTx(TxPolicy.java:126)
12:18:52,851 ERROR [STDERR] at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:195)
12:18:52,851 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
12:18:52,851 ERROR [STDERR] at org.jboss.aspects.tx.TxPropagationInterceptor.invoke(TxPropagationInterceptor.java:76)
12:18:52,852 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
12:18:52,852 ERROR [STDERR] at org.jboss.ejb3.stateless.StatelessInstanceInterceptor.invoke(StatelessInstanceInterceptor.java:62)
12:18:52,852 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
12:18:52,852 ERROR [STDERR] at org.jboss.aspects.security.AuthenticationInterceptor.invoke(AuthenticationInterceptor.java:77)
12:18:52,852 ERROR [STDERR] at org.jboss.ejb3.security.Ejb3AuthenticationInterceptor.invoke(Ejb3AuthenticationInterceptor.java:106)
12:18:52,852 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
12:18:52,852 ERROR [STDERR] at org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:46)
12:18:52,852 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
12:18:52,852 ERROR [STDERR] at org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:106)
12:18:52,852 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
12:18:52,852 ERROR [STDERR] at org.jboss.ejb3.stateless.StatelessContainer.localInvoke(StatelessContainer.java:214)
12:18:52,852 ERROR [STDERR] at org.jboss.ejb3.stateless.StatelessContainer.localInvoke(StatelessContainer.java:184)
12:18:52,852 ERROR [STDERR] at org.jboss.ejb3.stateless.StatelessLocalProxy.invoke(StatelessLocalProxy.java:81)
12:18:52,852 ERROR [STDERR] at $Proxy138.searchBooks(Unknown Source)
12:18:52,853 ERROR [STDERR] at sessionsbeans.LibrarySearcherBean.searchBooks(LibrarySearcherBean.java:33)
12:18:52,853 ERROR [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
12:18:52,853 ERROR [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
12:18:52,885 ERROR [STDERR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
12:18:52,885 ERROR [STDERR] at java.lang.reflect.Method.invoke(Method.java:597)
12:18:52,885 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:112)
12:18:52,885 ERROR [STDERR] at org.jboss.ejb3.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:166)
12:18:52,885 ERROR [STDERR] at org.jboss.ejb3.interceptor.EJB3InterceptorsInterceptor.invoke(EJB3InterceptorsInterceptor.java:63)
12:18:52,885 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
12:18:52,885 ERROR [STDERR] at org.jboss.ejb3.entity.ExtendedPersistenceContextPropagationInterceptor.invoke(ExtendedPersistenceContextPropagationInterceptor.java:57)
12:18:52,885 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
12:18:52,885 ERROR [STDERR] at org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor.invoke(TransactionScopedEntityManagerInterceptor.java:54)
12:18:52,886 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
12:18:52,886 ERROR [STDERR] at org.jboss.ejb3.AllowedOperationsInterceptor.invoke(AllowedOperationsInterceptor.java:47)
12:18:52,886 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
12:18:52,886 ERROR [STDERR] at org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:79)
12:18:52,886 ERROR [STDERR] at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:191)
12:18:52,886 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
12:18:52,887 ERROR [STDERR] at org.jboss.aspects.tx.TxPropagationInterceptor.invoke(TxPropagationInterceptor.java:76)
12:18:52,887 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
12:18:52,887 ERROR [STDERR] at org.jboss.ejb3.stateful.StatefulInstanceInterceptor.invoke(StatefulInstanceInterceptor.java:83)
12:18:52,887 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
12:18:52,887 ERROR [STDERR] at org.jboss.aspects.security.AuthenticationInterceptor.invoke(AuthenticationInterceptor.java:77)
12:18:52,887 ERROR [STDERR] at org.jboss.ejb3.security.Ejb3AuthenticationInterceptor.invoke(Ejb3AuthenticationInterceptor.java:106)
12:18:52,887 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
12:18:52,887 ERROR [STDERR] at org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:46)
12:18:52,887 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
12:18:52,887 ERROR [STDERR] at org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:106)
12:18:52,887 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
12:18:52,887 ERROR [STDERR] at org.jboss.ejb3.stateful.StatefulContainer.dynamicInvoke(StatefulContainer.java:333)
12:18:52,887 ERROR [STDERR] at org.jboss.ejb3.remoting.IsLocalInterceptor.invokeLocal(IsLocalInterceptor.java:79)
12:18:52,887 ERROR [STDERR] at org.jboss.ejb3.remoting.IsLocalInterceptor.invoke(IsLocalInterceptor.java:70)
12:18:52,888 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
12:18:52,888 ERROR [STDERR] at org.jboss.ejb3.stateful.StatefulRemoteProxy.invoke(StatefulRemoteProxy.java:135)
12:18:52,888 ERROR [STDERR] at $Proxy137.searchBooks(Unknown Source)
12:18:52,888 ERROR [STDERR] at org.apache.jsp.search_jsp._jspService(search_jsp.java:64)
12:18:52,888 ERROR [STDERR] at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
12:18:52,888 ERROR [STDERR] at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
12:18:52,888 ERROR [STDERR] at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:387)
12:18:52,888 ERROR [STDERR] at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
12:18:52,888 ERROR [STDERR] at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
12:18:52,888 ERROR [STDERR] at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
12:18:52,888 ERROR [STDERR] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
12:18:52,888 ERROR [STDERR] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
12:18:52,888 ERROR [STDERR] at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
12:18:52,888 ERROR [STDERR] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
12:18:52,888 ERROR [STDERR] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
12:18:52,889 ERROR [STDERR] at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
12:18:52,889 ERROR [STDERR] at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
12:18:52,911 ERROR [STDERR] at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
12:18:52,911 ERROR [STDERR] at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
12:18:52,911 ERROR [STDERR] at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
12:18:52,911 ERROR [STDERR] at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
12:18:52,911 ERROR [STDERR] at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
12:18:52,911 ERROR [STDERR] at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
12:18:52,911 ERROR [STDERR] at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:241)
12:18:52,911 ERROR [STDERR] at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
12:18:52,911 ERROR [STDERR] at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:580)
12:18:52,912 ERROR [STDERR] at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
12:18:52,912 ERROR [STDERR] at java.lang.Thread.run(Thread.java:619)
12:18:52,912 ERROR [STDERR] Caused by: java.lang.UnsupportedOperationException: setProperty must be overridden by all subclasses of SOAPMessage
12:18:52,912 ERROR [STDERR] at javax.xml.soap.SOAPMessage.setProperty(SOAPMessage.java:424)
12:18:52,912 ERROR [STDERR] at org.jboss.ws.core.soap.SOAPMessageImpl.<init>(SOAPMessageImpl.java:67)
12:18:52,912 ERROR [STDERR] at org.jboss.ws.core.soap.MessageFactoryImpl.createMessage(MessageFactoryImpl.java:155)
12:18:52,912 ERROR [STDERR] at org.jboss.ws.core.CommonSOAP11Binding.createMessage(CommonSOAP11Binding.java:58)
12:18:52,912 ERROR [STDERR] at org.jboss.ws.core.CommonSOAPBinding.bindRequestMessage(CommonSOAPBinding.java:153)
12:18:52,913 ERROR [STDERR] at org.jboss.ws.core.CommonClient.invoke(CommonClient.java:274)
12:18:52,913 ERROR [STDERR] at org.jboss.ws.core.jaxws.client.ClientImpl.invoke(ClientImpl.java:230)
12:18:52,913 ERROR [STDERR] ... 94 more

I’ve googled and could only find references to the top error when the deployed ear contained extra JAR files for the WS engine that conflicted with the one already in JBoss.

Zabbix mental note nº1

In the last two weeks I’ve been working with Zabbix, a very good Health Monitoring system. This post serves as a mental note for myself on how custom scripts for notification work.
Media scripts receive 3 parameters: destination, subject of trigger, message of trigger. Scripts have to be placed in AlertScriptsPath= that is set in zabbix_server.conf . Also they have to be self running, do not try to place python myPythonScript.py as the script name because that will not work.

Extended AT commands for GSM

In the last week I’ve been working with sending and receiving SMS messages using a mobile phone connected to the computer. For that I had to use something that I was familiar with back in 1995/1996…. AT Commands 🙂 .

So far I’ve used:

  • Sony Ericsson P990
  • Siemens S45
  • Nokia E50
  • Nokia 7250i
  • Nokia 6210
  • I must say that the worst phones for this task are the most expensive 🙂 . The P990 and the E50 both use the Symbian OS, and as far as I can tell they do not support the AT+CMGL for listing or the AT+CMGR for reading messages.
    The Siemens uses some other protocol BUT there is the scmxx software that works fine getting and sending messages.
    The 7250i is a bit strange. AT+CMGL=”ALL” for listing all messages gives an error. And the AT+CMGL just lists new messages, after that will output an empty list. Also I had to play with AT+CMGS=”ME” for it to fetch messages from the internal memory. AT+CMGS=”MT” gives an error, although AT+CPMS=? reports that it exists…

    The Nokia 6210……. Just works…. They don’t make them like they used to…….

    Optimus Tricked Me

    Some 5 years ago I contacted my mobile operator (Optimus) and using the bonus points I had i got myself a new telephone. At that time the Siemens S45 seemed a good choice and I was informed that after a 2 year contract I could request the unlocking code for the phone. Now after 5 years I contacted their client support line to request the code as I needed to use the phone in a new operator. The person who answered my request now told me the full sentence:

    After the 2 year period you can request the unlocking code IF you pay an additional 75€.

    5 years ago there was no information on such a payment. I was tricked.

    On top of that to request 75€ for unlocking a phone that was no commercial value is pure madness.

    Skype ClosedBetaDays 2007

    Since June 2004 I’ve been maintaining the Skype ebuilds in Gentoo and because I pest them with bugs and issues I’ve been asked to join the Closed Beta Program in November 2006.

    In the 12th and 13th of September Skype organized the Closed Beta Days 2007. It is an annual event that joins people from the Skype team as well as external developers, beta testers and translators and this year it happened in the beautiful city of Prague. It was a very good opportunity to meet the Skype team, other beta testers and to get a better idea on the future of Skype.

    The event was very well organized and the seminars were fast and to the point, covering many areas of interest.

    More info on what I saw there and about the future of Skype in Linux? No can do 😛 But trust me, Skype’s future in general, and the Linux version in particular, seems very VERY good.

    Thanks to Raul and Antoine for organizing this event. Thanks to Marco, Ryan Hunt and Jonathan for the good time. I hope to meet you all next year.