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.

Fedora 16 pre/post-installation setup

This is pretty much the same as my post for Fedora 15, but I modified some details to make sure everything is relevant for Fedora 16.

I also converted the steps that requires downloading and installing into one executable command, whenever possible. I also added the -y option to the yum commands so we can skip the questions if we really want to install the packages since most of the time we type ‘yes’ anyway.

These are the packages I chose during the pre-installation setup:

Applications

  • Design Suite (contains GIMP and OptiPNG, plus more)
  • Office/Productivity (contains LibreOffice)
  • Sound & Video (checked k3b)

Development

  • Development Tools (checked cmake and PyLint)
  • Java Development

Servers

  • Mail Server (SendMail)
  • MySQL Database (checked php-mysql)
  • PostgreSQL Database
  • Printing Support
  • Server Configuration Tools
  • Web Server (mod_python, mod_ssl, php, php-ldap)

Base System

  • Administration Tools
  • System Tools

And here’s my post-installation setup:

Update

Updating for the first time also installs the GPG keys, which are needed so you won’t get errors regarding unsigned packages when you use the “fedora” and “updates” repositories of Fedora. In our terminal, as root, type:

yum -y update

RPM Fusion

From the RPM Fusion website site:

RPM Fusion provides software that the Fedora Project or Red Hat doesn’t want to ship. That software is provided as precompiled RPMs for all current Fedora versions and Red Hat Enterprise Linux 5; you can use the RPM Fusion repositories with tools like yum and PackageKit.

RPM Fusion is a merger of DribbleFreshrpms, and Livna; our goal is to simplify end-user experience by grouping as much add-on software as possible in a single location.

To install both the free and non-free repositories, simply download and double-click the RPM Fusion free for Fedora 14, 15 and 16 and RPM Fusion nonfree for Fedora 14, 15 and 16 from the RPM Fusion Configuration page.

Google Chrome

yum -y install lsb # dependency
rpm -ivh http://dl.google.com/linux/direct/google-chrome-stable_current_i386.rpm

Mozilla Firefox

Firefox add-ons that use.

Azureus

This is what I use to download torrents.

yum -y install azureus

p7zip

For operating with the 7z file archiving format.

yum -y install p7zip

Filezilla

For transfering files between machines.

yum -y install filezilla

pgadmin3

For PostgreSQL database administration.

yum -y install pgadmin3

VLC

For watching videos without worrying about the file formats:

yum -y install vlc

Unrar

For extracting RAR file archives.

yum -y install unrar

Grip

CD-ripper with database lookup/submission to share track information over the net, supports OGG and FLAC and adding ID3v1/v2 to MP3s.

yum -y install grip

Skype

rpm -ivh http://www.skype.com/go/getskype-linux-beta-fc10

PulseCaster

This is what I use for recording Skype calls.

yum -y install pulsecaster

vsftpd

Secure, fast FTP server

yum -y install vsftpd

Alacarte

To create custom application launchers in Gnome 3.

yum -y install alacarte

PHP

Some PHP modules that I need for web development.

yum -y install php-gd php-mbstring php-pgsql php-xml

MySQL Workbench

For designing databases visually.

yum -y install mysql-workbench

Calibre

For converting e-books to different formats and for managing your e-book collection.

yum -y install calibre

chmsee

HTML Help viewer for Unix/Linux (for viewing .chm files).

yum -y install chmsee

Development files for Qt toolkit

To develop applications using the Qt toolkit. And include the graphical configuration tool as well.

yum -y install qt-devel qt-config

GStreamer non-free plugins

From the Fedora Unity Project:

GStreamer is a multimedia framework used by many media players including rhythmbox, banshee, totem, listen, exaile and others. Due to legal issues support for various non-free formats , including mp3 files, aren’t included with GStreamer by default. You can add support for mp3 and other formats by installing an add-on package from the third party repository rpm.livna.org

yum -y install gstreamer-plugins-bad gstreamer-plugins-ugly gstreamer-ffmpeg phonon-backend-gstreamer

FFMpeg

yum -y install ffmpeg ffmpeg-libs

DVD playback

yum -y install libdvdread libdvdnav lsdvd

JavaHL

To avoid this error in Eclipse and Aptana.

yum -y install subversion-javahl

Oracle JDK

Download and install the Java SE SDK RPM from the Java SE Downloads page

rpm -ivh http://download.oracle.com/otn-pub/java/jdk/7u1-b08/jdk-7u1-linux-i586.rpm

Then setup Java JDK java, libjavaplugin.so (for Firefox), javac, and jar using alternatives –install:

alternatives --install /usr/bin/java java /usr/java/jdk1.7.0_01/jre/bin/java 20000
alternatives --install /usr/lib/mozilla/plugins/libjavaplugin.so  libjavaplugin.so /usr/java/jdk1.7.0_01/jre/lib/i386/libnpjp2.so 20000
alternatives --install /usr/bin/javac javac /usr/java/jdk1.7.0_01/bin/javac 20000
alternatives --install /usr/bin/jar jar /usr/java/jdk1.7.0_01/bin/jar 20000

Add the following JAVA_HOME environment variable to /etc/profile:

export JAVA_HOME="/usr/java/jdk1.7.0_01"

Aptana

Download and extract Aptana 3 from http://www.aptana.com/.

wget http://download.aptana.com/studio3/standalone/3.0.6/linux/Aptana_Studio_3_Setup_Linux_x86_3.0.6.zip
unzip Aptana_Studio_3_Setup_Linux_x86_3.0.6.zip

GnomeTweakTool

Customize advanced GNOME 3 options and easily change the font sizes for applications, documents and windows.

yum -y install gnome-tweak-tool

After installing TweakTool, I customized my fonts as follows:

  • Document font: Sans 10
  • Monospace font: Monospace 10
  • Window title font: Cantarell 10

Startup services

Make sure Httpd and MySQL starts up on boot.

chkconfig --levels 235 httpd on
systemctl start mysqld.service
systemctl enable mysqld.service

Make personal user space accessible to apache user

First, add apache user to user group. Execute a command similar to this:

usermod -a -G randell apache

Then modify the permissions of the user directory with:

chmod 770 /home/randell/

File Management Preferences

From a Nautilus window, go to Edit > Preferences. I modified mine to reflect the following changes:

  • Default View > View new folders using: List View
  • Icon View Defaults > Default zoom level: 66%
  • List View Defaults > Default zoom level: 33%

Favorites

I customized my Favorites to include these frequently used applications:

  • Chrome
  • Firefox (added by default)
  • Terminal
  • gedit
  • Files (added by default)
  • Rhythmbox
  • Take Screenshot

Terminal

Edit > Profile Preferences > Colors > Foreground and Background

  • Use colors from system theme: Unchecked
  • Built-in schemes: Green on black

Text Editor

Edit > Preferences

  • View
    • Display line numbers: Checked
    • Display right margin at column: 80
    • Highlight current line: Checked
    • Highlight matching brackets: Checked
  • Editor
    • Tab Stops
      • Tab width: 4
      • Insert spaces instead of tabs: Checked
      • Enable automatic indentation: Checked
    • File Saving
      • Create a backup of files before saving: Unchecked
      • Autosave files every: 5 minutes
    • Font & Colors > Color Scheme: Oblivion