Friday, July 3, 2009
1. Download the Firefox 3.5 from here
For example, on my Linux PC, I have downloaded Firefox 3.5 (firefox-3.5.tar.bz2) in my Download folder:
[rakesh@debian Download]$ ls
2. Make a folder (e.g. for me, install) in your home
[rakesh@debian ~]$ mkdir install
3. Move firefox-3.5.tar.bz2 from your gnome Desktop or Download folder to install folder (the folder where you have downloaded firefox-3.5.tar.bz2 file)
[rakesh@debian ~]$ mv /home/rakesh/Download/firefox-3.5.tar.bz2 install/
4. Goto the install folder
[rakesh@debian ~]$ cd install/
[rakesh@debian install]$ ls
5. Extract firefox-3.5.tar.bz2 file
[rakesh@debian install]$ tar -xvf firefox-3.5.tar.bz2
6. Goto firefox folder
[rakesh@debian ]$ cd firefox
[rakesh@debian firefox]$ pwd
7. Make a symbolic link to launch Firefox 3.5
[rakesh@debian firefox]$ ln -s /home/rakesh/install/firefox/firefox ~/Desktop/Firefox3.5
8. Make it (Firefox 3.5) executable
[rakesh@debian firefox]$ chmod +x ~/Desktop/Firefox3.5
To open Firefox, from the command line you would type: firefox &
[rakesh@debian firefox]$ firefox &
If steps 7 and 8 do not work for you then follow an alternative option at step 9
9. Goto your gnome Desktop and
a) Right click on the gnome Desktop and
b) select the Create Launcher... option
c) click the button labeled Basic
d) type in "Name:" field : Firefox 3.5
e) type in "Command:" field: /home/rakesh/install/firefox/firefox
f) type in "Comment:" field: Firefox 3.5
g) now click Close button
10. You will see a Firfox 3.5 logo on your Desktop and just click the logo to launch Firefox 3.5 and browser the web.
Enjoy Firefox 3.5 ... :)
Wednesday, July 1, 2009
If you're a command line lover who skips checkboxes and drop-downs to dash off notes and tasks in a regular old text file, or you're intrigued by the idea and wish your todo.txt chops were stronger, read on.
Gina has been a heavy
todo.txt user for years. Back in 2006, he started developing a command line interface (CLI) to my todo.txt which lets him add to and check off items without launching a full-on text editor. Three years of daily (or at least weekly) use later, version 2.0 of the script is now available. It offers basic to advanced commands for managing your
todo.txt and other text files you might use to capture information, like
maybelater.txt. Let's take a look.
Who This Is Meant For: If you're comfortable working in the terminal, changing permissions on a file, and working with Unix-style text commands, then the
todo.txt CLI is for you. If you don't spend a good amount of time at the command line—either in the Terminal on your Mac, or using a Unix command line or emulator on Windows—you're going to think this whole thing is arcane and confusing. (In that case, we highly recommend getting organized with Remember the Milk. If you want to boost your command line chops on Windows, check out our introduction to Cygwin.)
You've already got CLI religion? Good. Let's get started on some hot
todo.txt command line action.
- Download the Todo.txt CLI 2.0 zip file and extract it. You'll get two files. Place both
todo.cfg(the configuration file) and
todo.shin your home directory.
- Open the
todo.cfg filewith your text editor of choice. Set the TODO_DIR variable to the right path for your setup. For example, on my Linux PC, this line reads:
TODO_DIR="/home/[your home directory name]/todo"
- On Windows PC, this line reads:
TODO_DIR="C:/Documents and Settings/gina/My Documents"
- On my Mac, this line reads:
- Make the
todo.shfile executable by using the command:
chmod +x todo.sh
- (OPTIONAL) Alias the letter t to
todo.shto save keystrokes while you use it. In your
~/.bash_profilefile, add the line:
Now you're ready to put this script to work!
Before we start, keep in mind that this CLI isn't trying to reinvent the text editor. If you want to do big bulk edits to a lot of items in your
todo.txt, just open it up in your favorite text editor to do so. But for quick, one-hit access to add items, mark items as complete, or slice and dice your list by project or priority,
todo.sh is for you.
For example, to add a line to your
todo.txt file, at the command line, type:
$ t add "Pick up milk"
Add a few more items for good measure:
$ t add "Pick up the dry cleaning"
$ t add "Clean out the inbox"
Now, to see all the items on your list, use:
$ t ls
The output will look like this:
$ t ls
03 Clean out the inbox
01 Pick up milk
02 Pick up the dry cleaning
TODO: 3 tasks in C:/Documents and Settings/gina/My Documents/todo.txt.
Now, you can reference each item by its ID—which is actually the line number it lives at in the
todo.txt file. For instance, to prioritize task 1 to the highest level—priority A—use this command:
$ t pri 1 A
To mark task 2 as complete, use
todo.sh's do action:
$ t do 2
Since a video is worth a million words, see this in action in this screencast demonstration of a to-do list you might find for a crew member on Battlestar Galactica. (Go full-screen to see what's being typed more clearly.)
If this video clip isn't clear enough for you, try this alternate high-res location.
Once you've got the basics of working with your
todo.txt down, it's time to dive into more advanced tricks. Here are a few more things this CLI can do.
- Replace or delete a task; append or prepend text to a line. When you want to re-word a task or add a context, project, or additional info to it, use the replace, append, and prepend actions to do so. For example, add "ready at 3PM" to your "Pick up the dry cleaning task" with this command:
$ t append 2 "ready at 3PM"
- See all the contexts and projects in your list. If you're using the + and @ sign format to signify projects and contexts, use the listcon and listproj (or lsc and lsprj for short) commands to see a short list of all your contexts or projects in your
- Move items from your todo.txt to another text file. Say you've decided that the "Learn how to speak French" task is actually something you're not quite committed to doing—yet. Use
todo.sh's mv command to zip that task from
todo.txtto another text file in your todo directory. For example, this command will move it into a
$ t move 10 maybelater.txt
- List the contents of another text file. Since I got so used to working with
todo.txtthis way, there's now support for working with other text files. For example, you can list the contents of your
maybelater.txtfile using the command:
$ t listfile maybelater.txt
Likewise, you can add a line to another file using:
$ t addto ideas.txt "My bright idea"
You can also search the contents of another text file by adding a keyword after the list command, ala:
$ t lf ideas.txt apple
See all the options available to you using the
todo.sh -h command. The full usage manual is available here.
Sunday, May 24, 2009
The latest Firefox may still be in beta but it boasts a number of behind-the-scenes features that will make developing for the web easier as well as end-user changes that add new functionality, like private browsing and support for drag and drop.
Firefox 3.5 is coming very soon, and this release includes a number of features that up the ante for Web browsers and the Web as an application platform. Some of the game-changing features in Firefox 3.5 won’t be immediately visible to end-users, but they’ll allow Web developers to build Web applications that make the Web even more fun and useful than it already is. Let’s take a look at five of the prominent features you can test drive today in Firefox 3.5.
You can grab tarballs from Mozilla the Mozilla beta announcement page, though many Linux distros also have testing packages available as add-on repositories. For instance, openSUSE users can add the mozilla:beta repository to track the latest Firefox development packages. This gives the added advantage of allowing you to track updates via your distro’s update process, but does mean that updates will usually lag a few days behind the official Moz builds.
Because it’s beta software, the standard disclaimers apply: While Firefox betas are pretty stable, you can expect that it will have some bugs and might even do unexpected things like eating your data. I’ve never had this happen, but take reasonable precautions before running the beta — like backing up your profile directory.
Audio and Video Support in Firefox
Ever get sick of worrying about plugins and helper applications to enjoy multimedia content online? Firefox 3.5 may be the beginning of the end for that particular hassle with support for HTML 5
video elements, and support for the Ogg and WAV formats in the browser itself.
video elements make it easier to add video and audio to Web pages, with a few lines of HTML Take this example from the Firefox developer site:
If you’re using a supported browser like Firefox 3.5, you’ll see test bars just like we used to enjoy at the end of the broadcast day on television. (Remember when the broadcast day actually ended?) If not, you should just see: “Your browser does not support the
As a side note, Firefox’s inclusion of Ogg might just help make the free but not yet mainstream format break through. This would be a big win for Linux users who have excellent tools for encoding and decoding Ogg but not a lot of mainstream content in Ogg to view or listen to. Labels like Magnatune that support Ogg out of the box are few and far between.
If you’re running Firefox 3.5, you can catch a number of sample videos on TinyVid.
Over the years, Firefox has added a number of features that make it easier to erase your browsing tracks — so if you’re sharing a computer with others, you can erase history, cookies, cache and other bits that would let snoopers see how you spend your browsing time. Unfortunately, it’s a bit of a shotgun approach — meaning you lose history and so forth from all the sites you visit, and not just the ones you want to keep private.
The 3.5 release will take care of this problem by introducing Private Browsing, or what’s more often referred to as “Porn Mode” for Mozilla. Of course, it has much more work safe applications as well. If you’re doing gift shopping, for example, it’s sort of a dead giveaway if your significant other stumbles on your shopping history. For the
paranoid security conscious, it’s also a good feature for logging into banking sites or any other type of Web site that displays a lot of private data. Whatever the reason, Firefox’s Private Browsing mode is much more convenient for users than just deleting history at random intervals.
Using Private Browsing, you can start up a Firefox session that doesn’t record cookies, history, etc., so that there’s no trace of your session. When you finish, all of your previous settings and history are untouched, so you lose nothing — unlike the “Clear History” tool in older versions, which clobbers all cookies, etc.
Firefox 3.5 also has added more finely grained options to the Clear History tool. Instead of an “all or nothing” approach, you can get rid of the last hour, two hours, four hours, day, or entire history.
Offline Application Support
Being dependent on a Web application is a bit of a problem when you’re offline. Firefox 3.5 tries to remedy this a bit by adding support for the HTML 5 specs for caching resources for Web apps.
Offline application support isn’t entirely new, Firefox shipped bits of this with Firefox 3.0 and add-ons like Google Gears have provided offline support for Gears-enabled Web apps. However, Firefox 3.5 fully supports the HTML 5 specification for offline application support — which ought to give a boost to offline Web apps, beyond Google Gears.
Drag and Drop
Typically, Web applications lack the same feature functionality that desktop applications do. Case in point: Drag and drop between applications. Sure, you can copy and paste some things between browser windows and different Web sites, but drag and drop capabilities are seriously limited compared to desktop applications.
Firefox 3.5 beefs up the abilities to drag and drop data types between applications and even multiple items. It may seem like a minor feature, but it gives Web apps the ability to work more like desktop applications, which is another hurdle for those who’d like to see Web applications replace fat apps.
Geolocation seems to be all the rage these days — services like Google Latitude allow users to report their location via the computer or mobile phone so your friends and stalkers can track your location more conveniently. Ecommerce sites can pick up your location to suggest nearby stores, and so forth.
I’m not entirely sure this is a desirable feature, but a lot of users seem to want it — and Firefox 3.5 gives developers and users the tools to make it possible beyond services like Latitude. If you’re totally freaked out by the prospect of Web sites knowing your location, it can be turned off.
Basically, service providers can report your location based on wireless access points and IP address. Depending where you are in the world, this can be very accurate (within a few meters, which is pretty darn specific) or wildly inaccurate. With your permission, Firefox can then report the location to Web sites that request it.
My experience with the technology so far is that it’s good at getting within the general city/county, but beyond that not so much. But the technology is only going to get better (especially with mobile devices that have GPS) and more widely used.
All in all, Firefox 3.5 has a lot of new functionality that’s going to be really useful regardless whether you’re a Web developer or an end-users.
Wednesday, May 13, 2009
I'm listing here a free book collection and sure it will very useful among Linux users and rightfully so, who doesn’t like free books? No matter how experienced you are with Linux systems, there is always something new you can learn from a good book that focuses on specific aspects of a Linux system. I tried to make a list of free books by categories. “Beginners”, “Advanced” and “Administrators”.
Here I have listed e-Books for "Linux Ebooks For Newbie", "Intermediate and Advanced Linux Users" and "Linux System Administrators".
Here's listed a comprehensive list of Free Linux related e-books. I didn't arrange the ebooks in proper categories.
- Linux Client Migration Cookbook, Version 2: A Practical Planning and Implementation Guide for Migrating to Desktop Linux by Chris Almond
- Linux Compute Clusters by Chander Kant
- Linux Device Drivers by Alessandro Rubini and Jonathan Corbet
- Linux Installation and Getting Started by Matt Welsh
- Linux Kernel Module Programming Guide by Ori Pomerantz
- Linux Network Administrator’s Guide by Olaf Kirch and Terry Dawson
- Securing and Optimizing Linux by Gerhard Mourani
- Self-Service Linux: Mastering the Art of Problem Determination by Dan Behman and Mark Wilding
- Slackware Linux Essentials by Alan Hicks, Chris Lumens, David Cantrell, and Logan Johnson
- The Linux Cookbook: Tips and Techniques for Everyday Use by Michael Stutz
- Advanced Linux Programming by CodeSourcery LLC
- Comprehensive Linux Textbook by Muayyad Saleh Al-Sadi
- Java Application Development on Linux by Carl Albing and Michael Schwarz (PDF)
- Linux Admins Security Guide
- Linux Security Howto
- Linux Firewall Configuration, Packet Filtering & netfilter/iptables
- Linux Device Drivers, Third Edition
- GNU Bash Reference Manual
- Knowing Knoppix
- Linux Client Migration Cookbook
- Vi iMproved (VIM)
- Linux: Rute User’s Tutorial and Exposition
- The Book of Webmin
- Linux From Scratch
- GNU Emacs manual
- Writing GNOME Applications
- KDE 2.0 Development
- GTK+/Gnome Application Development
- GNU Autoconf, Automake and Libtool
- Advanced Linux Programming
- Secure Programming for Linux and Unix
- The Art of Unix Programming
- The Linux Development Platform
- C++ GUI Programming With Qt 3
- Unofficial Ubuntu Guide
- The Easiest Linux Guide You’ll Ever Read - An Introduction to Linux for Windows users
- SUSE Linux Administration Guide
- Red Hat Enterprise Linux Installation Guide
- Red Hat Enterprise Linux Reference Guide
- Red Hat Enterprise Linux Step By Step Guide
- Fedora Linux EssentialsVisual Basic Essentials
- Fedora Core 7 Desktop Guide
- LDAP Operations HOWTOLearning Debian GNU/Linux
- Learning the Unix Operating System
- Linux Administration Made Easy
- Linux Dictionary
- The Linux kernel
- Linux Kernel 2.4 Internals
- The Linux Kernel Module Programming Guide
- LINUX: Rute User’s Tutorial and Exposition
- Maximum RPM, Taking the Red Hat Package Manager to the Limit
- Pocket Linux Guide
- Secure Programming for Linux and Unix HOWTO
- Linux+ Study Guide
- Ubuntu Linux Essentials
- PHP Essentials
- Red Hat Fedora Core 7 Installation Guide
- The Art of Unix Programming
- Bash Guide for Beginners
- Beyond Linux from Scratch
- The Book of Webmin Or: How I Learned to Stop Worrying and Love UNIX
- Brian and Tom’s Linux Book
- Debian GNU/Linux Desktop Survival Guide
- Debian GNU/Linux System Administrator’s Manual
- Everyday Linux
- FreeBSD HandbookGNU Manuals OnlineIn The Beginning Was The Command Line
- Introduction to Linux - A Hands on Guide
Free Linux Ebooks For Newbie:
Author: Keir Thomas
Author: Peter and Stan Klimas
Author: Machtelt Garrels
Author: Machtelt Garrels
Author: Paul Sheer
Author: Paul Hudson
Format: HTML & PDF
Author: Scott Morris
Author: James Mohr
Author: Daniël de Kok
Sunday, May 10, 2009
Here we will discuss the procedure to be followed for making OpenOffice run faster in Ubuntu.
Some simple steps make OpenOffice snappier.
Go to Applications > Office > OpenOffice.org Word Processor
- The OpenOffice.org Word Processor is launched. Go to the Tools menu and select Options.
The Options window is opened.
Highlight Memory on the left panel, change the setting as shown below.
Reduce the number of Undo steps to a figure lower than 100. Adelstein suggests 20 or 30 steps.
Under Graphics cache, set Use for OpenOffice.org to 128 MB (up from the original 6MB).
Set Memory per object to 20MB (up from the default .5MB).
Set the number of objects under Cache for inserted objects at 20.
Check OpenOffice.org Quickstarter.
- Now highlight Java on the left panel, uncheck Use a Java runtime environment
Click the OK button and close OpenOffice.org. Start it up again to experience the change in speed!
GNU's wget command line program for downloading is very popular, and not without reason. While you can use it simply to retrieve a single file from a server, it is much more powerful than that and offers many more features.
One of the more advanced features in wget is the mirror feature. This allows you to create a complete local copy of a website, including any stylesheets, supporting images and other support files. All the (internal) links will be followed and downloaded as well (and their resources), until you have a complete copy of the site on your local machine.
In its most basic form, you use the mirror functionality like so:
$ wget -m http://www.example.com/
There are several issues you might have with this approach, however.
First of all, it's not very useful for local browsing, as the links in the pages themselves still point to the real URLs and not your local downloads. What that means is that, if, say, you downloaded http://www.example.com/, the link on that page to http://www.example.com/page2.html would still point to example.com's server and so would be a right pain if you're trying to browse your local copy of the site while being offline for some reason.
To fix this, you can use the -k option in conjunction with the mirror option:
$ wget -mk http://www.example.com/
Now, that link I talked about earlier will point to the relative page2.html. The same happens with all images, stylesheets and resources, so you should be able to now get an authentic offline browsing experience.
There's one other major issue I haven't covered here yet - bandwidth. Disregarding the bandwidth you'll be using on your connection to pull down a whole site, you're going to be putting some strain on the remote server. You should think about being kind and reduce the load on them (and you) especially if the site is small and bandwidth comes at a premium. Play nice.
One of the ways in which you can do this is to deliberately slow down the download by placing a delay between requests to the server.
$ wget -mk -w 20 http://www.example.com/
This places a delay of 20 seconds between requests. Replace that number, and optionally you can add a suffix of m for minutes, h for hours, and d for ... yes, days, if you want to slow down the mirror even further.
Now if you want to make a backup of something, or download your favourite website for viewing when you're offline, you can do so with wget's mirror feature. To delve even further into this, check out wget's man page (man wget) where there are further options, such as random delays, setting a custom user agent, sending cookies to the site and lots more.
More advanced wget usage:
No parent option
If you are doing a mirror, but you only want to mirror a subdirectory of the main site (for example, just /news/), you might run into a problem. Because many of the pages at /news/ link back to /, you'll inadvertently end up downloading the whole site.
The solution to this, pointed out by Todd in the comments, is to use the no parent option, -np.
In our example, we'd do:
$ wget -mk -w 20 -np http://example.com/news/
Update only changed files
Continuing in our mirroring scenario, another extremely useful option for preserving bandwidth on both sides is to update only the files that the server reports as changed.
This option is -N.
$ wget -mk -w 20 -N http://example.com/
Thanks to Paul William Tenny in the comments for that tip.
Random delay on mirror
And finally for our mirror-specific tips, you can also randomise the delay between downloads. There are several reasons you might want to do this, including sites that don't take kindly to being mirrored, even considerately, and block clients that they suspect of doing it (some bots can be pretty nasty, and you might be categorised as one of 'them').
Randomising the wait time - and combining with the user agent option below - can be steps to circumvent this automatic protection.
If you do find yourself using this feature for that reason, please continue to be considerate and follow any rules regarding the content you've been given. Mirror responsibly.
$ wget -w 20 --random-wait -mk http://example.com/
The wait value - 20 in this case - is used as a base value to calculate what the random wait times will be. They will alternate between 0 and 2 times that value (in this case, 0-40 seconds).
Custom user agent
Some sites might have some strange restrictions on what browsers can access it, or perhaps have different versions of a site depending on the browser used. I can't say I agree with sites that do this, unless there's a really good reason, but it shouldn't stop you from using wget for access.
Using wget, you can set a fake user agent string so that the program reports itself as a different browser.
$ wget -U "user agent" http://example.com/
Combine the -U option with any others you want, obviously. Here are a few user agents you can use to get you started:
That's it for now, if you have any more useful wget tips and tricks, share them in comments.
IE6 on Windows XP: Mozilla/4.0 (compatible; MSIE 6.0; Microsoft Windows NT 5.1)
Firefox on Windows XP: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:126.96.36.199) Gecko/20080404 Firefox/188.8.131.52
Firefox on Ubuntu Gutsy: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:184.108.40.206) Gecko/20080418 Ubuntu/7.10 (gutsy) Firefox/220.127.116.11
Safari on Mac OS X Leopard: Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en) AppleWebKit/523.12.2 (KHTML, like Gecko) Version/3.0.4 Safari/523.12.2
Traditionally, Gentoo Linux has been a distribution designed more towards the more experienced Linux user, perhaps the 'power user', if you will.
Its source-based package management and offering the user complete control over the system installation and configuration have meant that traditionally, it can be difficult to approach.
Having myself tried and failed to install Gentoo in the past, I thought I would take the recently released 2008.0 Live CD for a spin, and see what the installation process is like, and how easy it is to use and understand. So here goes.
You get started like any other Live CD - throw it in the drive, reboot and press Enter to boot in. Before the GUI even arrives, you'll be asked to pick a keyboard layout to use for the live CD, then eventually you will be greeted with this GDM login screen.
There's an autologin set here, so you just have to wait a few seconds for the live user to be logged in. Gentoo now uses Xfce as the default GUI environment, so it will load up (fast, as it always seems to be).
As expected, this is a fully usable Gentoo system at this point, albeit running Live, so of limited utility. A fair selection of packages are installed, included Firefox 18.104.22.168, in a 'Bon Echo' branded guise.
Still, we're interested in the installation procedure. Conveniently on the desktop is an installer shortcut. Actually there are two - a command-line based installer, and the graphical GTK+ version. I'll be using the latter.
There's no introduction or anything. As soon as you double-click the installer, you're thrown straight in at a partitioning screen. Provided you have a clean disk and don't mind Gentoo monopolising your hard drive, it's simple to click the Recommend Layout button for a one-click solution to this screen.
It does, however, give its power user base the ability to fully control how Gentoo will inhabit their hard drives.
Click Next at this point and you are right away doing mount points for those partitions you just set up (and any others you want too). This is usually saved for the tail end of distro installations, but the way that the Gentoo installer works means that it will mount all of these partitions for you in the live distro too for the install, so it is done at this point.
You don't get an awful lot of confirmation, so pretty much as soon as you hit Next, those partitions will be written to disk and a few files get copied over.
Once that initial set of files gets copied, you then go back into answering questions. Personally, I don't like this sort of do some work, then ask more questions, then do more work thing.
It reminds me of the Windows XP installation procedure - when you can never just answer questions and set it off doing its own thing, it requires constant supervision. The Gentoo install isn't nearly as bad, but the way it works doesn't feel very 'standard' in comparison to more mainstream Linux distros.
From this point on, you are asked about configuring network interfaces, your root password and setting up the different users for your newly installed system.
The users module could potentially be a little confusing without a fair bit of Linux experience, as you are asked to manually fill in details such as the user's shell, home directory and user ID. You can leave things blank for defaults, however.
The final step before the proper copying of packages happens is to choose any additional packages you need. If you want a graphical system at the end of the install, you'll need to make sure you check at least the xfce and xorg-x11 packages.
Finally, the proper copy operation gets started. This will probably take considerable time (it did in my VM installation, at least).
Once the copy is finished, just as abruptly as it begun, you are notified that the installation is complete and you can reboot into the installed system.
So, how easy is this to install?
It certainly doesn't require much specific knowledge of Gentoo or how it works, but neither is it for the faint hearted.
A significant body of previous Linux experience is expected, as you'll be on your own with respect to key concepts, such as partitioning, packages and users.
I imagine that in a 'safe' environment - i.e. a machine that didn't particularly matter, someone with only intermediate Linux skills could probably get through relatively easily and progress to using the distro.
Gentoo is still very oriented towards the more experienced user and the person who likes to endlessly fiddle with and tweak their system so it works exactly how they like it and has the maximum possible performance.
I don't remember how I fell down on installing in the past, but it certainly seems like an achievable feat for someone with some Linux experience now, and that in itself has lowered the bar to learning and using Gentoo.
They could try to make it even easier to install, but then I guess there might be complaints from those who do not want their installer to be 'simplified' any more.
People like control over their machines.