rui


Find Android apps with AppBrain

One of the first things that you can notice after buying an android phone is the great amount of mobile applications (apps) that you can download from the Android Market, but searching for a specific app can be very frustating, and a time-consuming task.

This is due to one of the biggest problems of the Android Market: the lack of a complete web interface to query the applications avaiable, and AppBrain is an independent web (not affiliated with Google) where you can list, search, etc. those apps.

There are many similar webs: Cyrket, Bubiloop, but Appbrain has some features which make the difference:

  • You can sign-in on the web with your Google account
  • Apps can be queried by country, genre (of the user), age range, etc.
  • You can create list of apps and share it with your friends
  • There is an android app (search for AppBrain on the Android Market) to synchronize your mobile with appbrain, and once installed:
  • You can query the installed apps on your mobile
  • You can install apps from the web

And everything with a very simple and pretty interface, so don’t wait to try it:

http://www.appbrain.com


Media center and home cinema with XBMC

I played many years with MythTV and XMBC, and now on our new home and after buying a TV, I finally decided to switch to XBMC. I will explain all my choices for those of you who want to build your own media center:

HARDWARE

  1. Plasma TV 42″ Full HD Panasonic TX42S20: about 630 eur (but I got it by only 460 eur!). Plasma TV’s are now quite cheap and they offer a great image quality (much, much better than any LCD, believe me).
  2. Logitech X-540 5.1 speakers: 94 eur, very affordable. They are an old model but what I like of this is that they are wall mountable. They have only one sound input, so I connected them to the computer and the TV audio output with the Line Input of the computer (with a RCA to mini-jack cable, 2 eur). I needed to make some extension cables with RCA connectors to reach the speakers positions. Theoretically these speakers haven’t enough watts for the room,  but it has great sound quality and makes up for it.
  3. My OLD computer, an Athlon 2 GHz with an ATI Radeon 9550 (with DVI output) and a SB Live 5.1. I needed also a HDMI cable (10 eur) and a DVI to HDMI converter (15 eur).  Curiously this “slow” computer is able to play video to a FullHD 1920×1050 output. I’m planning to get a Home-PC case, at the moment the PC is in a corner of the room.
  4. An Iomega external USB Hard Disk of 1 TB: 95 eur. My old computer hadn’t enough disk space for music & movies. I could have bought a Multimedia Disk, but XBMC is much more pretty and you can also configure it for gaming.
  5. A T-Visto wireless keyboard with touchpad: 30 eur. I could had a a remote TV-like but finally I preferred a complete keyboard.

Total, about 900 eur without the computer.

SOFTWARE

For many years I used MythTV with a TV-tuner card on my computer, but I hadn’t a TV. There are only two features of MythTV not avaiable on XBMC: TV tuning and TV recording: having a TV I need no more the tuning, and I was not using the TV recording (there is nothing enough interesting on TV).

XBMC is a very cool media center available for Windows, Linux and Mac. I installed it over a Debian (because I’m a Linux Fan) but is easy to install on any OS. Is skinnable and has many plugins to add funcionality. Now I am using the default Confluence skin and the Launcher plugin for my games (Performous, Stepmania…) and Emulators (Mame, Mess…). This required some simple bash scripting to create all the launcher config.

Ok, this is a very funny hobby and I spent lots of hours choosing an configuring but the result is very good!


Google DevFest 2010

As many of you know, this year I’m involved on Android with my project Mobialia. On February I was on the Android Developer Lab at Madrid and today I returned for the Google DevFest.

The event started with Dave Burke presenting Google Technologies in general. Many jokes about the iPhone (to show the Chrome2Phone extension he send a page about iPhone unlocking from Chrome to a Nexus One). He made the typical Sunspider Javascript Test comparation between a Nexus One with Froyo and an iPad. It also was quite impressive so see GWT Quake2 Port running on Chrome at 50 FPS and the new voice/camera input fields on HTML5.

Then the sessions where split on two lines, I assisted to the Android, Chrome&HTML5 and Maps related.

Our beloved Reto Meier was speaking at the Android Sessions, much more technical than on February’s Android Developer Lab (good!). On his first session he made a great presentation about good and bad practices developing Android Apps (I suggest every android developer to see it!), on the second he speaked in detail about Cloud to Device Messaging and vice-versa. He gave me lots of app ideas using this feature. Finally he swowed us proudly his new Samsung Galaxy Tab and encouraged us to adapt our applications to the new tablet devices. I even had to buy myself one after hearing how amazing it was. Luckily, I was able to find some pretty good deals online (more right here).

There were also very short presentations of spanish app developers (eAdventure, LibreGeoSocial, Inmobilia, Sicad and great the one of AnderWeb!).

Next, Paul Kinlan speaked about Chrome Apps and Extensions, the App Store and HTML5 on detail. I’m also very happy to see the progression of HTML5 and how Chrome is leaveraging the innovation towards a better web. Quite funny to see a modified Pacman Doodle controlled with the acceleromers of the iBook. There was also a presentation of Fiabee showing their HTML5 app and Chrome extension.

On the last sessions with Josh Livni talking about maps and presenting the Google Maps API v3, I was very impressed with maps customization, Fusion Tables and the new Google Street view API possibiliting the creation of 360º photos and adding them on specific locations (as inside a bar!).

All the sessions where recorded on video and will be avaiable at the Google DevFest Madrid web site.


Tales of a chess engine developer

Chess engine development is one of the most brain-crushing activities I’ve been involved on the last years. Last nigths I was working again on my Carballo Chess Engine with some advances.

First of all I decided to leave Negamax and go with Principal Variation Search (PVS). Also decided to implement separate methods for root nodes, PV nodes and null window searches. On previous experiments PVS was performing worse than Negamax, but I discovered the reason: the aspiration window has some implementation issues with PVS: when the search for a move fails low at the root node the move must be researched enlarging the window.

I was very stranged of why Futiliy Pruning was not working for me, but finally discovered the reason: a simple sign change after evaluation was the reason! Also implemented to store the evaluation values on the Transposition Table (TT).

The next step: why Carballo searched much less depths than other engines, it was due to quiescence search. I was generating checks for the first 4 PLY’s of quiescence, but some other engines not, so this was the reason. I decide to generate only checks on the first PLY of quiescence and only for PV nodes. Also modified a bit the move generation to optimize for quiescence.

During this time also found many interesting bugs, I was storing on the TT the bound and not the score when failing high/low, also on PV nodes is better to use only the TT for ordering and not to return scores from it, this helps avoiding draws. Also found a serious bugs involving time management (was taking as reference opponent’s time) and with contempt factor on IID searches corrupting TT entries. Finally added a Pawn Push Extension and removed the Recapture Extension and now some extensions now depend of the node type.

Running some test tournaments, I hope to get some good results soon and add the improved engine to my Mobialia Chess.


Mobialia Chess for Android

The new version 2.0 adds the support to play online on freechess.org (FICS). You can play against people all around the world and compare your chess knowledge. Thousands of hours of entertainment with this new version.

Also has many improvements on the interface and gameplay, which makes Mobialia Chess 2.0 the best chess app for Android.

Try it! The LITE version is free, and the complete version is available for only 1.99 EUR at the Android Market and if you like playing more from a desktop computer or laptop you can go to:

https://chess.mobialia.com

Check all the Mobialia Chess for Android features at:

http://www.mobialia.com/chess


Great GWT UI for Carballo Chess Engine

libgwtsvg-chess

Lukas Laag has written me about his new  GUI for the Carballo Chess Engine  using the Google Web Toolkit (GWT) and his SVG Graphics Library for GWT, libgwtsvg.

GWT is provided from Google to develop applications in Javascript programming in Java. It conterts the Java code to Javascript, and the application is run on the browser, without any additional plugin.

This interface is quite better than the sample Applet from Carballo, it has move history, legal move hightlighting, and SVN graphics. It can be used from:

http://www.vectomatic.org/gwt/libgwtsvg-chess/libgwtsvg-chess.html

He also wrote an article explaining the difficulties of his project. Thanks Lukas for your work.


Rakarrak: The Linux Guitar Effects Processor

Recently, navigating the Debian repositories I found Rakarrack, an Open Source Linux program to simulate various guitar effects in real time. This sound effects are often done with expensive physical sound processors, but this application makes it all with only one cheap computer (well, I suppose that the quality will rely a lot on the sound card).

Each effect is a module and and has its owns parameters which can be adjusted with sliders from the GUI. Multiple effects can be chained in different configurations.

rakarrack

For the audio input and output, It uses the Jack Sound Server. Initially Jacks is a bit complicated to set up but is very versatile. I use the qjackctl to configure and run Jacks simplifying this task. First we start qjackctl and from its GUI, start the jack server. Then run Rakarrack, and with qjackctl we connect Rakarrak to the system sound output and input:

qjackctl_connect

The latency (the sound delay) of Rakarrak is quite good, but depends a lof of the Jack server configuration. This snapshot is the configuration that I am using from qjackctl: the Latency is the important value, and can be minimized adjusting the “frames by period” parameter:

qjackctl

I played a lot using different presets (it has lots of pre-configured) and there are some quite good, but others does not sound as good as a physical pedal, maybe also by le low quality of my notebook sound card.

It also has an integrated guitar tuner, but for this purpose I prefer Lingot from my Friend Iban Cereijo.

A lot of years ago I tested Guitar Rig, a quite pretty (and expensive!) windows applicattion for the same purpose, but then the latency of the sound was too high. Rakkarrak is simpler but enough for most non-professional guitar players, and I like it a lot!

http://rakarrack.sourceforge.net/


Manifesto: Na defensa dos dereitos fundamentais en Internet

justicia

Ante a inclusión no anteproxecto de lei sobre a economía sostible das modificacións lexislativas que afectan o libre exercicio das liberdades de expresión, de información e o dereito de acceso á cultura a través de Internet, os xornalistas, blogueiros, usuarios, profesionais e creadores de Internet manifestamos a nosa firme oposición ao proxecto, e declaramos que …

  1. Os dereitos de autor non poden estar por riba dos dereitos fundamentais dos cidadáns, incluíndo o dereito á privacidade, a seguridade, a presunción de inocencia, a tutela xurisdicional efectiva e a liberdade de expresión.
  2. A suspensión dos dereitos fundamentais é e debe seguir sendo unha competencia exclusiva do Poder Xudicial. Nin un peche sen unha sentenza. Este anteproxecto, ao contrario do disposto no artigo 20.5 da Constitución, pon en mans dun corpo non xudicial, un organismo dependente do Ministerio de Cultura, a potestade de poder impedir o acceso dos cidadáns españois a calquera páxina web.
  3. A nova normativa vai xerar inseguridade xurídica en todo o sector tecnolóxico español, perxudicando unha das poucas áreas de desenvolvemento e futuro da nosa economía, dificultando a creación de empresas, introducindo barreiras á libre competencia, e trabando a súa expansión internacional.
  4. A nova lexislación proposta ameaza aos novos creadores e dificulta a creación cultural. Coa Internet e os sucesivos avances tecnolóxicos democratízase drasticamente a creación e emisión de todo tipo de contidos que xa non veñen principalmente das tradicionais industrias culturais, se non de moitas fontes distintas.
  5. Os autores, como todos os traballadores teñen dereito a vivir do seu traballo con novas ideas creativas, modelos de negocio e actividades relacionadas coas súas creacións. Tentar de soster con modificacións lexislativas unha industria anticuada que non sabe adaptarse a ese novo ambiente non é xusto nin realista. Se o seu modelo de negocio baséase no control das copias dos traballos e na Internet non é posible sen violar os dereitos fundamentais, terán que atopar un outro modelo.
  6. Cremos que as industrias culturais precisan para sobrevivir de alternativas modernas, eficaces, credíveles, accesíbeles e que atendan os novos usos sociais, en vez de limitacións tan desproporcionadas coma ineficaces para o fin que afirman perseguir.
  7. Internet debe funcionar libremente e sen interferencias políticas patrocinadas por grupos que buscan perpetuar modelos de negocio obsoletos e impedir que o coñecemento humano siga sendo libre.
  8. Demandamos que o Goberno asegure por lei a neutralidade da rede en España, ante calquera presión que poida ocorrer, como un marco para o desenvolvemento dunha economía realista e sostible para o futuro.
  9. Propoñemos unha reforma real dos dereitos de propiedade intelectual co fin de: retornar á sociedade o coñecemento, impulsar o dominio público e limitar os abusos das entidades xestoras.
  10. Nunha democracia as leis e as súas modificacións deben ser aprobadas despóis do debido debate público e de ter consultadas todas as partes implicadas. É inaceptable que se fagan modificacións lexislativas que afectan os dereitos fundamentais nunha lei non orgánica e que trata de outro tema.