Ubuntu Trusty Software Development

From

Revision as of 04:03, 18 April 2014 by Perspectoff (Talk | contribs)
(diff) ← Older revision | Current revision (diff) | Newer revision → (diff)
Jump to: navigation, search
Ubuntu Trusty Software Development
Full page | eBook Version

Contents

Software Development

Spyder

Spyder is a powerful interactive Open Source development environment for the Python language with advanced editing, interactive testing, debugging, and introspection features.

sudo apt-get install spyder

Eric

Eric is a full featured IDE and Python and Ruby editor, written in Python. It is based on the cross-platform Qt Gui toolkit, integrating the highly flexible Scintilla editor control. It is a quick and dirty editor as well as a professional project management tool (integrating many advanced Python features). Eric4 includes the integration of a downloadable plug-in system.

sudo apt-get install eric

Kompozer Web Development Editor

Kompozer is a Gecko-based web authoring system that combines web page editing with web file management in a WYSIWYG manner. It supports XML, CSS, and JavaScript in an XUL architecture.

sudo apt-get install kompozer

Quanta Plus (Web IDE)

Quanta Plus is an integrated development environment integrated with the KDE desktop. It allows webpage development, database design, and XML design and scripting, for example, using multiple development tools. The latest stable version is 3.5, however, and integrates with the KDE 3.5 environment (Ubuntu Hardy Heron). You should therefore use Ubuntu Hardy Heron with this product. (There is also a commercial version (Quanta Gold), also oriented towards KDE 3).

sudo apt-get install quanta kompare kxsldbg cervisia

Netbeans IDE

Netbeans is a free open-source integrated development environment used to create applications using Ajax, Ruby, pHp, Groovy, Java, Javascript, C++, and other scripting tools.

sudo apt-get install netbeans

BlueFish Web Development Editor

BlueFish is a GTK-based (Gnome-oriented) editor to write websites, scripts and programming code. It supports perl, Python, pHp, CSS, XML, Java, Javascript, C, SQL, and other formats.

sudo apt-get install bluefish

Gobby (Multi-user development)

Gobby is a free, multi-platform open source collaborative editor supporting multiple documents in one session and a multi-user chat. Install:

sudo apt-get install gobby

Eclipse IDE

Eclipse is a free open-source cross-platform integrated development environment with plugin support for a large set of programming languages, e.g. Java, C/C++, Python, PHP.

sudo apt-get install eclipse

Qt Creator

Qt Creator is a lightweight, cross-platform integrated development environment (IDE) for the Qt application framework.

sudo apt-get install qtcreator

Game Engines

  • See this section for a list of open-source game engine development environments.

Search Engines

Sphinx

Sphinx Search is an open source full text search server. See their documentation for usage details. Install:

sudo apt-get install sphinxsearch

Online Storage

  • The recent ease of cloning filesystems and the promiscuity of datacenters has placed a great deal of sensitive data at risk when files are remotely hosted at a site not under your complete control. The reliability and security of online storage is low, and, in fact, can often be a means for intercepting or otherwise changing those files that have been placed on the remote servers. Further, any data left on public storage devices in the US for more than 180 days are subject to search and seizure by government agencies there. Always encrypt sensitive private files stored on public servers.
It is almost always more secure to host your own server(s) in house and to limit the traffic and access to your files and servers to members of your own organization. Learning how to run your own servers is worth the effort, and powerful hardware on which to run them is inexpensive these days.

FTP (online file transfer)

Also see these FTP tips.

WebDAV (online folders)

See this section on WebDAV for more information about WebDAV servers and clients.

Dropbox (online cloud storage)

Dropbox is a free but proprietary online remote hosting service for private files (similar to the free open-source alternative SparkleShare). Be careful of any storage solution not under your complete control (especially proprietary solutions); they are insecure and should be used for temporary storage of non-critical files only (as an alternative to sending files by email).

  • Install prerequisities (several may already be installed on your system):
sudo apt-get install sqlite3 python python-gpgme
  • Download and install the Dropbox client daemon:
wget -O dropbox-current_amd64.deb https://www.dropbox.com/download?dl=packages/ubuntu/dropbox_1.6.0_amd64.deb
sudo dpkg -i dropbox-current_amd64.deb
sudo rm dropbox-current_amd64.deb
or for the 32-bit version:
wget -O dropbox-current_i386.deb https://www.dropbox.com/download?dl=packages/ubuntu/dropbox_1.6.0_i386.deb
sudo dpkg -i dropbox-current_i386.deb
sudo rm dropbox-current_i386.deb
  • The default Dropbox client installation will also install an add-on plugin for the Nautilus file manager. If not, install the plugin:
sudo apt-get install nautilus-dropbox
  • See this article if interested in using Dropbox as a webseed for BitTorrent. Because Dropbox is insecure, you may wish to consider installing Dropbox within a quarantined virtual machine and run the virtual machine containing Dropbox only when connected to a secure Internet connection (such as through Tor).

Google Drive (online cloud storage)

Google Drive is a free but proprietary online remote hosting service for private files (similar to the free open-source alternative SparkleShare). Be careful of any storage solution not under your complete control (especially proprietary solutions); they are insecure and should be used for temporary storage of non-critical files only (as an alternative to sending files by email).

  • Grive is a free, open-source command-line API for Linux systems to interface with Google Drive.
  • Download and install a 32-bit or 64-bit .deb package here.

Other online webhosts

  • There are many services offering online webhosting with a wide range of included services. No online webhost should be considered secure; however, the usage of a public webhost may be suitable for certain public, non-sensitive needs. Many webhosts go offline or disappear altogether without notice, so backup and security precautions are essential at all times.
  • Here is a list of free webhosts, all of which should be assumed to be insecure.
  • Many users use public webhosts through Tor for temporary storage of files only, and never for unencrypted sensitive, private files. A popular method is to sign up for a webhost account (through Tor or from an anonymous IP address) using an anonymous email account. Filezilla with Tor is subsequently used to securely transfer files to the webhost. (See this article if interested in using the webhost as a webseed for BitTorrent.) Some users access the free webhost only from within a quarantined virtual machine.

Personal repositories

(K)Ubuntu uses Debian (.deb) packages. Individuals or organizations can create repositories for personal or specialized use. See the Debian wiki introduction. Also see this Ubuntu community advice and this.

mini-dinstall

Using mini-dinstall with dput, a simple repository can be created. This can then be copied to an online server for public or private access. See this tutorial and this.

Debarchiver

DebArchiver is a command-line utility that allows the creation of a folder-based repository. Instructions are from man debarchiver (in a command-line terminal). Install:

sudo apt-get install debarchiver

Version control software

Copies of software being developed at many different locations require a method to ensure that the multiple distributed copies remain synchronized. This can be done using a central repository or using a distributed synchronization technique. For further information, see the official Ubuntu documentation. Several version control platforms exist:

  • Bazaar is sponsored by Canonical and also allows distributed synchronization. Also see the official Ubuntu documentation. Install Bazaar with a GTK-based GUI and Nautilus integration:
sudo apt-get install bzr bzr-gtk nautilus-bzr
  • Subversion. Now part of Apache, this is one of the most widely used systems and uses a central repository for synchronization. Also see the official Ubuntu documentation. Install along with Nautilus integration scripts:
sudo apt-get install subversion nautilus-script-collection-svn
  • Mercurial (hg) is a newer, low-resource version control system. Install:
sudo apt-get install mercurial
sudo apt-get install cvs
  • TkCVS is a GUI frontend for both CVS and Subversion. Install:
sudo apt-get install tkcvs

Git

sudo apt-get install git
and the gitosis server software:
sudo apt-get install gitosis
  • GitK is a Tk-based Git tree visualizer. Install:
sudo apt-get install gitk

SparkleShare (Git frontend)

SparkleShare is a Git repository server/client frontend. Also see this helpful blog entry for installation tips on older systems. Installation is by adding a PPA repository and then installing:

sudo add-apt-repository ppa:warp10/sparkleshare 
sudo apt-get update
sudo apt-get install sparkleshare
Personal tools
Sponsor
     Asus 1015E