lunes 3 de mayo de 2010

Adobe AIR on 64bit Fedora 11

In my first attemp installing Adobe AIR on Fedora 11, I got the following error: “gnome-keyring or kwallet is necessary to install Adobe AIR”

Adobe AIR is 32bit, so if you want to install it on a 64bit Fedora 11 you will need to install the 32bit version of the required packages:

[root@local ~]$ yum install gnome-keyring.i586 rpm-libs.i586

In the process, a dependency problem may appear:

--> Processing Conflict: GConf2-2.26.2-1.fc11.2.x86_64 conflicts GConf2-dbus
--> Finished Dependency Resolution
GConf2-2.26.2-1.fc11.2.x86_64 from installed has depsolving problems
  --> GConf2 conflicts with GConf2-dbus
Error: GConf2 conflicts with GConf2-dbus

To solve it, install GConf2.i586: [root@local ~]$ yum install GConf2.i586

Then, download Adobe AIR from Adobe's website and install it:

[root@local ~]$ chmod +x AdobeAIRInstaller.bin
[root@local ~]$ ./AdobeAIRInstaller.bin

viernes 30 de abril de 2010

dhcpd starts before NetworkManager brings up network interfaces

To ensure that dhcpd starts after NetworkManager brings up network interfaces, edit dhcp daemon start script (located in /etc/rc.d/rc5.d/) and insert the following line at the beginning: sleep 10

lunes 26 de abril de 2010

Mendeley Desktop on Linux 64bit: libssl.so.0.9.8 error



[oskar@local bin]$ ./mendeleydesktop
error while loading shared libraries: libssl.so.0.9.8: cannot open shared object file: No such file or directory


SOLUTION: make a symlink to libssl library


[root@local ~]$ ln -s /usr/lib64/libssl.so.0.9.8n /usr/lib64/libssl.so.0.9.8


NOTE: make sure your symlink is in the appropriate lib directory

  • for 32-bit: /usr/lib
  • for 64-bit: /usr/lib64

sábado 13 de marzo de 2010

Verify the ownership of your gadget

Social apps often deal with people's personal information, so it's important to respect and protect this data. Since social applications communicate between several computers, you need a way to verify that an HTTP request is legitimate.

In this case, you need to verify that the requests coming into your application server are actually originating from the container you're working with. If you don't verify the origin of the request, you could be handing out personal data to anyone that sends an HTTP request to your application server.

Google secures communication between our gadget containers (like iGoogle) and your servers by signing and verifying requests using OAuth. In order to set up this secure communication channel, you need to register your app and obtain a Consumer Key and a Consumer Secret for use in OAuth parameter signing.

Trying to host a big file size gadget

  1. Google Gadget Editor limits the maximum gadget file size to 100000 bytes.
  2. Try to host the gagdet file on Google Code's project hosting: a Subversion repository will be created using your project name
  3. Check out the project: svn checkout https://<project-name>.googlecode.com/svn/trunk/ gadget-test --username <username>
  4. Save the gadget file (new-gadget.xml) in your local SVN folder.
  5. Commit the file: svn commit -m "bla bla bla" --username <username>
  6. Add gadget to iGoogle using http://<project-name>.googlecode.com/svn/trunk/new-gadget.xml
* When prompted for your password in SVN, use your googlecode.com password, which can be found on the "Settings" tab of your "Profile" page.

jueves 5 de noviembre de 2009

How do I import an existing Subversion repository to Google Project Hosting?

To upload the history of an existing Subversion repository, use the svnsync tool that ships with Subversion 1.4 or later. Run svnsync help to read more about this tool.

Note that your Google Code repository must be reset to revision 0 for this to work. Your project's Source tab will display instructions on how to reset the repository yourself. (Note: you must be a project owner to reset your own repository, and also to push code up with svnsync.)

Here's a sample transcript that demonstrates how you can push history from an existing local repository to your repository on Google Code:

$ svnsync init --username YOURUSERNAME https://YOURPROJECT.googlecode.com/svn file:///path/to/localrepo
Copied properties for revision 0.
$ svnsync sync --username YOURUSERNAME https://YOURPROJECT.googlecode.com/svn
Committed revision 1.
Copied properties for revision 1.
Committed revision 2.
Copied properties for revision 2.
[...]

viernes 22 de mayo de 2009

Port triggering

From Wikipedia
—–

Port triggering is a way to automate port forwarding in which outbound traffic on predetermined ports (’triggering ports’) causes inbound traffic to specific incoming ports to be dynamically forwarded to the initiating host, while the outbound ports are in use. This allows computers behind a NAT-enabled router on a local network to provide services that would normally require the computer to have a fixed address on the local network.