Open main menu

CDOT Wiki β

AaronMT

Joined 28 September 2007
Revision as of 19:41, 13 September 2008 by AaronMT (talk | contribs) (Building on Ubuntu GNU/Linux=)

Greetings

 

Hello, my name is Aaron Train. I am a recent graduate of Computer Programming and Analysis. As of the previous winter (08), I have transferred into the BSD program to earn a degree. Currently, I am enrolled in a whole slew of different courses ranging from the 3rd to the 7th semester. I find open source fascinating, particularly Mozilla's projects as well as Canonical's Ubuntu GNU/Linux project. I look forward to tinkering with the innards of Firefox, in DPS909. I also enjoy learning more about software development, open source and current/future web applications, and lastly modern programming languages.

  • Name: Aaron Train
  • Program: Bachelor of Software Design
  • Hometown: Thornhill, Ontario

Contact

  • Internet Relay Chat (IRC)
  • E-Mail
    • Seneca E-Mail: amtrain@learn.senecac.on.ca
    • Personal E-Mail: aaron.train@gmail.com

Blog

DPS909A - Fall 2008

Mozilla Project

Labs

Mozilla Building

In preperation for DPS909 - Lab #2 (Week 3) I will outline my intended computer/OS that I will be documenting my process through the lab on ...

Ubuntu GNU/Linux - Mozilla Build (Minefield 3.1b1pre)

The process involved in building Mozilla Firefox (Minefield 3.1b1pre) on Ubuntu GNU/Linux involved many steps (all of which are new to me entirely):

  • Hardware
    • 2048MB Ram and 15GB left on this Linux partition
  • Preparation
    • Make sure Ubuntu is up to date
      sudo apt-get install update
    • Linux Build Prerequisites
      • A recent POSIX Shell
      • A C++ compiler.
      • Perl 5.6 or higher. Older perl versions may work if you upgrade File::Spec to version 0.8
      • GNU make 3.79.1 or higher. Other varieties of "make" will not work.
      • CVS 1.11 or higher
      • the GTK2 widget toolkit
      • libXt-devel for X11/Intrinsic.h, X11/Shell.h
      • libIDL 0.6.3
      • zip 2.3
      • freetype 2.1.0
      • fontconfig
      • pkg-config 0.9.0

Most if not all packages were installed with the following command

apt-get build-dep firefox
sudo apt-get install libdbus-glib-1-dev curl
sudo apt-get install libcurl4-openssl-dev
Obtaining the Mozilla-Central Source & Installing/Configuring Mercurial

The next step, should you choose to install Firefox 3.01+ is to grab Mercurial and set it up properly.

  • sudo apt-get install python-setuptools python-dev build-essential 
  • sudo easy_install -U mercurial
Configuration (Highly Suggested)
  • It is highly suggested that you follow these configuration instructions here
Fetching the latest trunk build of Firefox
  • hg clone http://hg.mozilla.org/mozilla-central/ ~/Desktop/src
Building on Ubuntu GNU/Linux

Configure and build as usual using a .mozconfig file and make -f client.mk.

  • My ~/.mozconfig
# My first mozilla config
. $topsrcdir/browser/config/mozconfig
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/obj-@CONFIG_GUESS@
ac_add_options --disable-optimize
ac_add_options --enable-debug
ac_add_options --disable-static --enable-shared
  • Building!
cd ~/Desktop/src/
make -f client.mk build
  • Running Firefox
cd ~/Desktop/src/obj-i686-pc-linux-gnu/dist/bin/
./firefox

Total build time took about 45 minutes.  


Mozilla Ubiquity

Ubiquity Commands - Work in Progress

Display IP address
  • Displays users IP address immediately

by AaronMT

Usage: ip

Utilizes the whatismyip website to parse the IP and display it right in the console

CmdUtils.CreateCommand({
name: "ip",
  homepage: "http://aaronmt.wordpress.com",
  author: { name: "Aaron Train", email: "aaron.train@gmail.com"},
  description: "Displays your internal IP address.",
  help: "Just type IP",
  icon: "http://whatismyip.com/favicon.ico",
  preview: function(pblock) {
    var url = "http://whatismyip.com/automation/n09230945.asp";
    jQuery.get( url, function(data) {
       pblock.innerHTML = data;
    });
  },
  execute: function() {
    var url = "http://whatismyip.com";
    Utils.openUrlInBrowser(url);
  },
});
Search MedicineNet
  • Searches MedicineNet with a given keyword

by AaronMT

Usage: health keyword phrase

CmdUtils.CreateCommand(
{
	name: "health",
	homepage: "http://medicinenet.com",
	author: { name: "Aaron Train", email: "aaron.train@gmail.com" },
	description: "Takes keyword phrase and searches MedicineNet",
	help: "health <i>keyword phrase</i>",
	icon: "http://images.medicinenet.com/images/fav/MN.ico",
	takes: {"Enter a noun": noun_arb_text},
	preview: function(pblock, keywordPhrase)
	{
		pblock.innerHTML = "Search the MedicineNet by entering any phrase <b>" + keywordPhrase.text + "</b>"
	},

	execute: function(keywordPhrase)
	{
		var searchURL = "http://www.medicinenet.com/" + keywordPhrase.text;
		Utils.openUrlInBrowser(searchURL);
	}
});
Pastebin
  • Transfers selected text to a new pastebin>

Usage: pb

CmdUtils.CreateCommand({
name: "pb",
  homepage: "http://aaronmt.wordpress.com",
  author: { name: "Aaron Train", email: "aaron.train@gmail.com"},
  description: "Transfers selected text to a new Pastebin.",
  help: "Selected text will be sent to a new Pastebin",
  icon: "http://pastebin.ca/pastebin.ico",
  preview: function(pblock) {
    var text=context.focusedWindow.document.getSelection();
    var url = "http://pastebin.ca";
  },
  execute: function() {
    var url = "http://pastebin.ca";
    var text=context.focusedWindow.document.getSelection();
    displayMessage(text);
    Utils.openUrlInBrowser(url);
  },
});

Bugs

Ubuntu

[1] Bugs I have reported

Firefox

[2] Bugs I have reported

External Projects

I am deeply passionate with the Ubuntu project. Having first used it in its infancy and being involved with the community, collaborating with the community to better the product has been a hobby and passion of mine for the past few years. I have been contributing to many tutorials and solutions in the community, such as: