How to install wxPython 2.9.4 on Fedora

Install the dependencies

sudo yum install make automake gcc gcc-c++ kernel-devel gtk2-devel gtkglext-devel gstreamer-plugins-base-devel python-devel webkitgtk

Download the source

wget http://downloads.sourceforge.net/project/wxpython/wxPython/2.9.4.0/wxPython-src-2.9.4.0.tar.bz2
tar xvjf wxPython-src-2.9.4.0.tar.bz2

Download and apply the wxPython 2.9.4.1 patch

http://downloads.sourceforge.net/project/wxpython/wxPython/2.9.4.0/wxPython-src-2.9.4.1.patch
patch -p 0 -d wxPython-src-2.9.4.0/ < wxPython-src-2.9.4.1.patch

Configure and Build wxWidgets

cd ~/wxPython-src-2.9.4.0/bld
../configure --prefix=/usr/local

Build wxPython

sudo python build-wxpython.py --build_dir=../bld --wxpy_installdir=/usr --installdir=/usr

Set your PYTHONPATH variable to ~/wxPython-src-2.9.4.0/wxPython
Set your LD_LIBRARY_PATH to ~/wxPython-src-2.9.4.0/bld/lib

Note: This setup has been tested to work on Fedora 17.

In which (I hope) I found the right Google Reader replacement

Aside from Google Search and Gmail, Google Reader is the only other Google product that I use regularly. I check Google Calendar from time to time, I have lots of documents in Google Drive and some photos in Picasa Web, but I don’t use them as much as I use Google Reader. I check Google Reader when I’m on my way to and from the office, or whenever I’m alone and on the go. I use Google Reader during my idle moments when I’m at home. This morning, I was shocked to read from my Google Reader Android app that Google is Powering Down Google Reader. How ironic was that?

I use Google Reader to keep up with my 145 subscriptions, which includes personal blogs, web comics, programming, finance, gaming, sports, and start-ups. Since May 31, 2007 I have read a total of 127,223 items. And that’s not even a lot considering I know someone who has read more than 300,000+ items starting 2010.

Perhaps, my sentiments regarding this issue can be best summarized in this video:

so wouldn’t discuss more about that. Instead, here’s a brief summary of how I immediately looked for a Google Reader replacement after reading the sad news.

There are a couple of things I need from an RSS Reader that Google Reader has and it will be difficult to transition to something that offers half the features. So I’ve setup a list of required features I need for the replacement:

  • Should be accessible via the web (Duh!)
  • Should have a dedicated Android app. One of the reasons why I acquired a Galaxy Nexus last year was so I can read my Google Reader items while on the go
  • Should allow seemless exporting of Google Reader subscriptions, including archived posts, Starred items and Folders
  • Should allow signing-in using Google accounts
  • Should allow social sharing

Optional features:

  • Web UX/UI similar to Google Reader
  • Shotcut keys similar to Google Reader
  • Android app UI similar to Google Reader Android app

Based on the suggestions from Quora, I will be looking at NewsBlurThe Old Reader, Rolio, Netvibes, Feedly, SwarmIQ, Good Noows, and Skim.Me.

Newsblur

Has an option to “Import from Google Reader”. But as of this writing, it’s taking Newsblur years to import my Google Reader contents. I’m not even sure if it already encountered and error but still shows the bouncing loading gif. Perhaps because all other migrants are doing the same. It goes to show that the site isn’t ready to accommodate lots of users.

The Old Reader

Has an option to log in using a Google Account. But when I clicked the Import link, it gave me this message:

Hey! Because of the huge load we started seeing from lots of concurrent feed import operations, we had to limit the number of imports active at any given time. It looks like right now there are no available slots left, so you might want to visit this page some time later. Meanwhile, feel free to subscribe to feeds manually.
Please accept our apologies for this inconvenience.

Rolio

It required me to provide a username and password. End of story.

Netvibes

Requires users to pay $499/month just to enable tagging and searching. Err…

SwarmIQ

Skipped this when I noticed that the one who posted this on Quora was part of the SwarmIQ team. I’d rather spend my time evaluating something others have actually tried and didn’t self-promote.

Good Noows

It allowed me to sign-in using my Google Account, but I was turned off by the magazine-style layout and didn’t immediately present a way for me to import my Google Reader stuff.

Skim.Me

The site still requires an invitation and requests to manage my YouTube account, contacts, calendars, and perform those operations when I’m not using the application. Totally unnecessary.

The Winner: Feedly

It doesn’t have the exact UI of Google Reader, but the layout is pretty much the same. The UX is almost identical. Some of the shortcut keys even work (at least those that I’ve tried). Their Android app also looks usable. Currently, the data they show is still coming from Google Reader, but the good news is that they have a plan to seamlessly transition to their own back end. Since there’s really no other decent alternative, I’m giving Feedly a go.

P.S. I’m still hoping Google with take their announcement back and realize the huge mistake they’re going to make by shutting down Google Reader.

Note: This post will be updated in case I find a better Google Reader alternative.

Clear input values inside a div using JavaScript

This script recursively traverses all HTML elements, looks for input fields and clears their values. It uses only JavaScript. No jQuery required.

// From http://stackoverflow.com/a/1500073/106778
function clearChildren(element) {
   for (var i = 0; i &lt; element.childNodes.length; i++) {
      var e = element.childNodes[i];
      if (e.tagName) switch (e.tagName.toLowerCase()) {
         case 'input':
            switch (e.type) {
               case "radio":
               case "checkbox": e.checked = false; break;
               case "button":
               case "submit":
               case "image": break;
               default: e.value = ''; break;
            }
            break;
         case 'select': e.selectedIndex = 0; break;
         case 'textarea': e.innerHTML = ''; break;
         default: clearChildren(e);
      }
   }
}

For posterity’s sake. Source: http://stackoverflow.com/a/1500073/106778. Also at https://gist.github.com/2436981.

How to install SFLphone on Fedora 16

This is a slightly modified version of the SFLphone build instructions.

First, install the dependencies:

sudo yum groupinstall group "Development Tools" "Development Libraries"
sudo yum install alsa-lib-devel pulseaudio-libs-devel libsamplerate-devel commoncpp2-devel ccrtp-devel libzrtpcpp-devel dbus-c++-devel pcre-devel gsm-devel speex-devel celt071-devel libyaml-devel cppunit-devel cppcheck

Then clone the master branch because the latest release (1.0.2) has a bug, which prevented me from installing it on Fedora 16:

git clone http://git.sflphone.org/sflphone.git

Compile the PJSIP library

cd sflphone/daemon/libs/pjproject/
./configure && make dep && make clean && make

Install the Daemon core

cd ../..
./autogen.sh
./configure  --prefix=/usr
make
sudo make install

Install the Gnome client dependencies

sudo yum install gnome-doc-utils libtool GConf2-devel libsexy-devel libnotify-devel webkitgtk-devel webkitgtk3-devel libgnomeui-devel check-devel rarian-compat

Install the Gnome client

cd ../gnome
./autogen.sh
./configure --prefix=/usr
make && sudo make install

How to install Asterisk on Fedora 16

Because the installation of Asterisk via Yum didn’t work out-of-the-box for me, I have decided to install it from source. The instructions to compile and install Asterisk from source from the Asterisk wiki is pretty much straight-forward except for a couple of hiccups, which I encountered. So here is a slightly modified version of their installation instruction that worked for me on Fedora 16:

Install the compiler and system libraries

sudo yum install gcc, gcc-c++, openssl, ncurses, ncurses-devel, newt, libxml2, libxml2-devel, kernel-devel, kernel-devel make

We also need to install SQLite3 in order to avoid seeing this message later on:

configure: WARNING: *** Asterisk now uses SQLite3 for the internal Asterisk database.
configure: WARNING: *** Please install the SQLite3 development package.

So let’s install SQLite3:

sudo yum install sqlite, sqlite-devel

We also need to install doxygen for the Asterisk documentation:

sudo yum install doxygen

Download, build, and install libpri

Execute the following as root:

wget http://downloads.asterisk.org/pub/telephony/libpri/libpri-1.4.12.tar.gz
tar -zxvf libpri-1.4.12.tar.gz
cd libpri-1.4.12
make
make install

Download, build, install, and start DAHDI

Execute the following as root:

wget http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/dahdi-linux-complete-2.6.0+2.6.0.tar.gz
tar -zxvf dahdi-linux-complete-2.6.0+2.6.0.tar.gz
cd dahdi-linux-complete-2.6.0+2.6.0
make
make install
make config
chkconfig dahdi on
service dahdi start

Download, build, install, and start Asterisk

Execute the following as root:

wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-10.3.0.tar.gz
tar -zxvf asterisk-10.3.0.tar.gz
cd asterisk-10.3.0
./configure
make menuselect
make
make install
make samples
make progdocs
make config
chkconfig asterisk on
asterisk -vvvvc

Notes: This set of instructions has been tested to also work on Fedora 14 and CentOS 5.7.

Sources:

 

How to install AT&T Global Network Client on Fedora 16

First, download the AT&T Global Network Client from ftp://ftp.attglobal.net/pub/custom/ibm_linux/.

If you try to install this using

rpm -ivh agnclient-1.0-2.0.1.3003.i386

you will get an error similar to:

failed to install file:
agnclient-1.0-2.0.1.3003.i386 requires libcrypto.so.4
agnclient-1.0-2.0.1.3003.i386 requires libssl.so.4

To solve this error, create a symbolic link for the missing modules by executing commands similar to this as root:

ln -s /usr/lib/libssl.so /usr/lib/libssl.so.4
ln -s /usr/lib/libcrypto.so /usr/lib/libcrypto.so.4

Proceed with the installation:

rpm -ivh --nodeps agnclient-compat-1.0-3.oc2.i386.rpm agnclient-1.0-2.0.1.3003.i386.rpm

If you try to run it at this point, you will get this error:

The AT&T Global Network Client daemon (agnclientd) is not running. It must be running to create a VPN connection. Please restart your computer or manually restart the daemon.

To solve this, execute the following command as root or just restart your computer:

/etc/init.d/agnclientd start

Note: This instruction also works for Fedora 14, and 15.

Cannot complete the install because one or more required items could not be found. Software being installed: Subversion Revision Graph 1.0.9

Cannot complete the install because one or more required items could not be found.
Software being installed: Subversion Revision Graph 1.0.9 (org.tigris.subversion.subclipse.graph.feature.feature.group 1.0.9)
Missing requirement: Subversion Revision Graph 1.0.9 (org.tigris.subversion.subclipse.graph.feature.feature.group 1.0.9) requires ‘org.eclipse.draw2d 3.2.0′ but it could not be found

If you happen to get this error while installing the Subclipse plugin on Aptana Studio 3, it means you need to install the Graphical Editing Framework Draw2d first, which is not included in the current Aptana Studio 3 package.

Draw2d is part of GEF, which you can get from http://download.eclipse.org/tools/gef/updates-pre-3_8/releases/. Draw2d is the first package when you expand the GEF from the menu. No need to install the other items unless you know that you need them for something else.