Firefox extensions I use

I’m a Firefox user. I love the way you can customize it according to your needs and extend its functionality using a wide range of powerful add-ons available. I choose add-ons that make my web experience faster, safer and convenient. Here I share few of my favorite add-ons that are always enabled (in no specific order) -

AdBlock Plus

Annoyed by adverts? Troubled by tracking? Bothered by banners? Install Adblock Plus now to regain control of the internet and change the way that you view the web.

This is a must have add-on for anyone who hate ads. Its damn easy to install and blocks ads virtually everywhere. Many would consider this an anti-social behaviour, however since ads usually track you – I’m least concerned.

PDF Viewer – pdf.js

A Mozilla project, that allows you to view PDF files directly within browser. No external dependencies, written in HTML5/JavaScript. No need to download and externally open every PDF file that is for sure going to trash.

Pentadactyle

Pentadactyle is Firefox for Vim users. It gives you awesome Vim bindings right within Firefox, hides unnecessary chrome and make it more keyboard accessible. If you are a Vim user, it is cetainly going to make you faster and more efficient.

In my knowledge, this is something that doesn’t exist in any other browser. I love it and perhaps is one of the big and awesome things that lets me stick to Firefox.

Ghostery

Protect your privacy. See who’s tracking your web browsing and block them with Ghostery.

Ghostery blocks tracking cookies, widgets and other third party scripts (like analytics), and does that very well. Its customizable and lets you choose what to block and what not to. It shows what is being blocked and lets you know more about it.

Overall its very easy and convenient to use. I left NoScript after I discovered this. Everyone(Facebook, Google, Twitter…) is tracking you even when you are logged out, and if you are concerned I strongly recommend you to get this.

LifeHacker: Everyone’s Trying to Track What You Do on the Web: Here’s How to Stop Them

WOT – Web of Trust

WOT shows you which websites you can trust based on millions of users’ experiences around the world.

Greasemonkey

Customize the way a web page displays or behaves, by using small bits of JavaScript.

Not something that I use regularly, but can be very useful sometimes. Hundreds of community made scripts available for use.

Super Start

A visual bookmarking tool which you can set as your homepage. Shows selected bookmarks on Speed Dial (like Chrome). Also lets you take small notes.

DownThemAll

A nice in-browser download manager. Also allows you to filter and download contents(images, links …) in the web page. If you are looking for a clean and decent Download Manager, with some cool features your search should end here.

Download Statusbar

Creates a small bar at bottom from where downloads can be viewed and managed. No need for a separate download window, hence very convenient if you download small files very often.

PS> Quoted text taken from their official page on Mozilla Add-ons website.

Posted in Tips & Tricks | Tagged , , , | 1 Comment

Change KDE ColorSchemes by Shortcuts

I often find myself switching between ColorSchemes depending upon dark/bright places. KWin provides nice Invert plug-in, but it simply inverts every colour. Not feasible to work, particularly while browsing or watching videos. As far as I know there is no shortcut way to change colorschemes. Hence I created a small hack (named it kcss) to do that. Works pretty well overall. Its a small command line program. Here’s how to to use it -

$ kcss list       # list all available color schemes
$ kcss current    # Color scheme currently in use
$ kcss switch <colorschemename>  # change colorscheme

$ kcss toggle     # toggle between Dark and Light colorscheme

For toggle, it reads a small configuration file called .kcss-profilerc. A sample is given below -

[Dark]
ColorScheme=Obsidian Coast

[Light]
ColorScheme=Oxygen

[Default]
Profile=Dark

Creating Shortcut - Since we now have a command line interface to switch colorschemes, we can easily create a custom shortcut from System Settings > Shortcuts & Gestures. Set action parameter as “kdss toggle” and key-sequence of your choice.

Source Code -

KDE Git Scratchpad
Github

Next – Next thing that I would like to add is to switch/toggle Konsole colorscheme and try to fix some problems (if possible) where you have to restart applications to let colorschemes take effect properly. I don’t have in-depth knowledge of KDE, so I’m not sure if its doing anything bad yet. So take backup of configuration files before you use it and let me know about bugs/fixes.

Posted in Planet KDE, Tips & Tricks | Tagged , , | 8 Comments

n00b vs newbie

The reason I’m writing this post is because I’m very anti-noob. I really hate noobs. However, my hatred is often misunderstood. Its because some people consider noob and newbie synonyms. Which brings me to the this fact - Noobs and Newbies are not same!

Noob or Newbie is a popular term for a person who is new and inexperienced (novice) in some activity (here I refer computers, programming, science and technology). A noob however is irritating. I’ve nothing against newbie. Every master was newbie at some point or is at some perspective. Newbies are hopeful. Noobs are hopeless. Newbies are at right direction, noobs are not. Sad part is noobs are everywhere and they irritate you to death.

If you are pretty good at what you do, its usually damn easy to identify a noob. I’m listing  features that you can find in a noob, as many as I can think of. Any or all of the following can apply to a noob, but doesn’t to a newbie-

  • They don’t know they are noobs.
  • They are irritating, ignorant, stupid, over-confident and lack common sense.
  • Noobs know very little about what they do and brag about it as if its rocket science, and they would consider themselves rocket scientist.
  • Their main motive is to show off rather than actually learning things. Learning is not the enjoying part for them, its bragging.
  • They get seriously overexcited about something very silly.
  • They often don’t have their own views. They would follow some popular entity blindly. They fail to accept that different people can have different views.
  • The language they write is usually hard to read and understand. They write in leet, texting, chatroom speak.
  • They would spam email, forums, blogs and social networks with their senseless words.
  • They ask stupid questions and more often give stupid answers.
  • We often have to RTFM or STFG them.
  • The world they have seen is often very limited which makes them think as if they are masters.
  • Its frustrating to talk or argue with them. Their confidence and their tone is unbearable. Even more frustrating is the part when they would try to give you some stupid advice, knowing you are good at what you do.
  • And many many more …

I think I don’t have right words to express my hatred towards them. I hate them because I often find them around me, and its hard to ignore them and its hard to be rude. The situation is very much like stress-strain curve explaining Hooke’s Law. At some point you break up. While writing this I’m damn irritated and I’m thinking if there is really some way to get rid of them. I really should be doing something more useful than writing this, but sometimes its just impossible to let things go!

From How to Start a Startup by Paul Grahm -

When nerds are unbearable it’s usually because they’re trying too hard to seem smart. But the smarter they are, the less pressure they feel to act smart. So as a rule you can recognize genuinely smart people by their ability to say things like “I don’t know,” “Maybe you’re right,” and “I don’t understand x well enough.”

This technique doesn’t always work, because people can be influenced by their environment. Read More

Posted in Rants | Tagged | 1 Comment

Android – Quick Review

I recently bought a new Android(Froyo) phone. I don’t like cell phones much, neither do I use them much. I dunno whether it was because of my boring old Symbian or something else. However, things changed after I bought Android. I loved it!

Its cool and flexible user interface and great user experience blew me. I started using phone. I started texting a little. I started using Twitter! I browse web there. I play Angry Birds. My classes are lot less boring now.

So here are few things that I loved about Android :-

  • User Interface/User Experience (UI/UX)
  • Wide range of free and interesting Apps. There is app for everything I need and they work very well.
  • Attractive as a developer (though I hardly see myself doing any serious mobile development, but still its attractive because of its Open Source model and flexibility for customization)
  • Awesome integration with Google. This is a killer feature. GMail, Contacts, Calender and everything synced seamlessly.
  • The notification system.

However there are few annoying things. Everyone knows Android takes lot of battery power. Sometimes I feel as if acts more like Windows than like an Linux based operating system. Also -

  • Many applications force to install themselves in internal memory. Too bad for people with less phone memory.
  • Many application force to run forever in background. You kill them, they start again. They start at boot time. Frustrating for people who installed a lot of apps. They eat RAM and CPU for nothing.

Above two are most annoying things. I strongly believe user should be given freedom to decide that. Why should a Facebook app run forever in background, when I use it once or twice a day? Why should Flickr app run forever when I would use it once in a week at most? This is extremely irritating. Hopefully this wont be a problem after rooting followed by few little mods.

So the verdict – I like it. However a normal user should be given a little more freedom. This is a quick review, with my limited experience with Android.

Posted in Technology | Tagged , , , , | Leave a comment

Why I say NO to firecrackers?

For like past 4 years, I’m not bursting crackers at all in Diwali. For most people Diwali is mostly about bursting crackers. Well yeah, agreed its fun! However, after analysing few facts – I personally feel it doesn’t worth it. Reasons -

1. They are unsafe: Shit happens every year. You can hurt yourself, you can hurt others, others can hurt you. You never know what might happen even after taking extra-precautions. Your rocket may land up on someone’s balcony or bomb may burst near you making you hearing impaired or something totally random.

2. They cause Pollution: They cause noise, air and land pollution. Surprisingly, a lot more than we think! Chemicals used in firecrackers are really harmful. Noise made by them is too loud(and not really entertaining), and smoke produced is too much.

3. Wastage of Money: Well yeah, bursting crackers in equivalent to burning your money. This is totally personal perspective. Many would argue it worth the fun we get, but again there are many other ways to have fun. I spent last four Diwali without crackers and I still cant say that I didn’t have fun. You can have lot more fun in a paintball game!

4. Child Labour in Firecracker Factories: One sad fact is that many firecracker factories employ kids. They get hurt, they get handicapped, they die. I dunno how much government is doing about it, but what I can do is not endorse those factories and make them profitable by buying their products.

I hope, this post will at least make someone think about it. Even if you are not convinced try to use cracker less noisy and less polluting. Discover other ‘better ways’ to have fun. Wish you all a very Happy Diwali!

Posted in Views | Tagged , , | 2 Comments

Mercurial Plug-in for Dolphin: Work Progress [Part 2]

This post was supposed to be written and published right after gsoc ended, sorry for that. Got really busy with university work! I completed my project on time :) My project was to implement Mercurial Plug-in for Dolphin. To see first half of work read Mercurial Plugin for Dolphin: Work Progress [Part 1].

During second half, I implemented following features -

  • Few more configuration options like -
    • Remote Path Editor
    • Simple Hg Ignore Editor
    • A little integration with Diff Viewer
  • Revert changes to file or whole working directory
  • Merge Changes
  • Bundle and Unbundle
  • Backout
  • Rollback
  • Import and Export commit patches
  • Start(multiple) local HTTP server provided by hg serve.

Screenshots!

1. Context Menu

These is how context menu (which lets user interact with plug-in) looks right now. The left one is shown when no files are selected. Its now huge in size, and I’ll make it smaller by making a submenu. The right one is shown when individual or multiple files are selected.

2. Export and Import Patches

Export dialog lets user select any changeset and produce a series of patches which are saved in directory chosen. These patches can be imported using Import dialog very easily.

3. Bundle and Unbundle Changes

Mercurial has a feature which lets you compare changes in your clone with any other clone and produces a single bundle file. Its very good way to share changes. This simple dialogs lets the user produce such bundles and save it in location as chosen. Bundle files can be easily unbundled using Unbundle action provided in context menu which will show a file dialog to select the bundle file to be unbundled.

4. Backout

Provides a simple interface to backout changes.

5. Merge

Shows a list of available head that can be merged with current branch. Simple.

6. Rollback

A small feature that does simple hg rollback, so undo last transaction. By the way, it do tells what will be undone.

7. Remote Path Editor

Lets you edit the remote URL aliases. Will let you know if something is wrong by making row red. (I know hardcoding colours is bad, will fix that soon :-) )

8. Hg Ignore Editor

This lets you edit hgignore files. You can add files and patterns as well as edit and remove them. Not really a good interface, and a lot has to be improved in terms of its usability. Thinking what can be done about it.

9. Hg Serve

To start a HTTP serve to browse the repository, Mercurial provides hg serve. This dialog will use that and start a local server at given port. Good thing is you don’t have to keep dialog open to make server running. You can come back to repository any time and stop it. Also, you can run servers for multiple repositories at same time. Currently you cant run multiple servers for same repository and also cant pass some useful options while starting the server.

What’s Next?

Most common and no so common features and actions are now implemented. Plug-in is pretty usable now. There are of course few peculiarities and bugs, some old ones and some new ones which are waiting to be fixed. Now the main task is to make the plug-in better, reduce bugs and make it more stable.

Your feedback!

Your feedback is most important. So please let me know if you find the plugin good/bad or you find some bug or have some idea or just anything. I would very much appreciate that. :-)

ps> Create and Clone dialog are currently not working due to recent changes to Dolphin and KVersionControlPlugin2, but they will start working soon. :-)

Posted in Planet KDE | Tagged , , , , , , | 1 Comment

Why Python to introduce Computer Science, Programming and Algorithms

I’m not a professor to have a say in this, but after a bit thinking it really makes sense. In most universities (in India) the first language you are taught is C/C++. C and C++ are great languages, two of my three favourites (other is Python). However, they are just not good language to introduce programming,  computer science and algorithms. It should be Python! Now being a Python programmer I can be called biased, but I’m not. I have much more experience with C/C++ than I’ve with Python, but as I said – it really makes sense!

In our university we really don’t have a Computer Science introduction course. We have all kind of silly and unnecessary courses from EVS to Chemistry (well, unnecessary and silly at least for a CS student), but not an introduction to our own stream! This is whole new issue worth talking about. There is course called “Introduction to Programming in C” which is taught to all branches. However the whole course seems to be an introduction to C language than on programming. Proper introduction course are about Computer Science not details of a language! Programming and Programming Language are two different things. Similarly a course(lab) on algorithms should emphasize on algorithm not on its implementation on particular language.

We are in 3rd year of our course and most students are still struggling with C language(not a surprise). This is not because they were not taught C well, but its because they were not given proper introduction to what they were going to do, plus C is language that can be too harsh as first language.

When a novice(even experts) programs using C, they have to take care of lot of things like – memory allocation-deallocation, handling pointers, array-bound errors, thinking in terms of static types, problems and peculiarities with I/O stream handling, debugging strange problems and really no information available for runtime errors. They have to think in terms of language as well. When learning algorithms, this is not really a good idea. A person should be able to focus more on the problem than on the language. They should not spend time working on solving problems related to peculiarities of language, but on algorithm. This is where Python wins big time!

xkcd: Python

Python has very simple syntax and semantics with fast learning curve. Its very expressive and readable. Its multi-paradigm, very high level and abstract programming language. It lets you think about the problem rather than on how to implement it in language. Debugging is quick and easy. Overall choosing such language helps to improve programming skills and not to mention keeps the person motivated. Since Python is multi-paradigm it supports both procedural and object oriented programming. Functions being first-class in Python is again a big plus!

Python is also very practical language. It is used extensively to write administration scripts, client-servers, application program, web application and much more.

Another advantage (can be trivial for many) is that Python forces you to write neat code. Usually students don’t indent their code. In Python they learn to write beautiful code from very beginning.

I’m not against learning any other language. I’m just recommending Python for a particular purpose. I hope I’ve put my point well and now it all make sense to you as well.

Posted in Views | Tagged , , , | Leave a comment

I like Google+

Google+ needs no introduction now! This post should have been posted 3 months ago, when I joined it. I had no idea about Google+ when I got an invitation (very next day it was released). I joined, I saw and I liked it. When I say I like Google+, I’m not saying – I don’t like Facebook. At the very first view, it looked very much like Facebook, except being a bit more cleaner and simpler.

xkcd: Google+

Like any other Google product the interface is clean, light and simple. Everything you want to use is visible without cluttering the UI. The integration with other Google products is great! The best part is you can see notification from any other Google product like GMail, Docs … Browsing through feeds using keys ‘J’ and ‘K’ is very convenient!

The best thing about Google+ is its Circles feature. It seems like an integration of Twitter’s follow system and Facebook friend system combined with better organisation. One main problem with Facebook is that everyone is friend. Facebook Friend Lists exists, but its really hectic to use that. Google+ did a really great job here. Not only we are organizing every person in different group from the very beginning, but also it provides nice interface with drag and drop so that managing hundreds of friends is easy. The social graph in Google+ is directed. Hence you can be in other people circles, while they don’t have to be in yours. With Google+ its easier to control who you want to add/follow, what you want to share, with whom you want to share and what you want to see.

Since, we can add anyone to my circle, its possible to add people you would like to follow and read their interesting posts. Hangout is another cool feature new to social networks. Sparks make it possible to search and follow topics of my interest. Now games are there too. The feedback system is another great thing,

Its just a beginning and Google+ is already doing very well. We can hope to see many more things to come. How can it be different than Facebook? Well I think, better organization of  of people and control over shares by introduction of circles, sparks which makes you follow your interest, better chat, awesome integration with other Google products and a lighter system with less cluttered view makes it different. I have very few people in my circles and yet I’m enjoying it more than Facebook!

Posted in Uncategorized | Tagged , , , , | Leave a comment

Howto: Getting started with Linux

Many people are curious and interested to try Linux. However, usually they get scared away. Linux is easy! This is yet another HOWTO to help them!

If you’re reading this, you’ve probably heard of Linux and might be wondering what the fuss is all about. This post like my previous one is again dedicated to my friends who have not yet migrated to Linux! I’m one of the few Linux users in my college, and few of the few with some decent years of experience with it(no show off here). Hence, I’m more than frequently asked about Linux. Rather than repeating myself every time or redirecting them to n-number of links, I decided to write this post. I hope after reading this you find yourself using a Linux system and be productive with it.

This post assumes that you know nothing about Linux, except the fact that its an Operating System. In this post, I will guide you how to start with Linux and will also answer some Frequently Asked Questions.

1. What is Linux?

Linux is an Open Source Unix-like computer Operating System. When I say Unix-like, it more or less means that it is a Unix clone. You don’t have to worry about details for now. But believe me, history is interesting and recommended – read Wikipedia page.

Unlike your so called favourite operating system Microsoft Windows, Linux comes as many varieties. Hence, if you start looking for Linux system, first thing that you need is to choose a distribution.

1.1 Linux Distribution

Linux itself isn’t a complete operating system. It’s just a part, called kernel. In layman language kernel is core/central part of operating system. Hence, Linux has to be combined with many other programs to make it a complete operating system.

This is one huge advantage of Linux. There are many distributions available giving users a wide number of different choices. You can pick the ones that fits best your needs. Hence a beginner would choose a distribution that is more user friendly, on other hand a purist will choose that emphasizes of maximum configurability.

Some examples of Linux distributions are – Ubuntu, Debian, ArchLinux, Fedora, OpenSUSE. Checkout DistroWatch for more complete list.

1.2 Why Linux – Advantages

I would start by listing these points -

  • Low Cost: Linux is open source! Most Linux system(95%) are available free of cost. Also, almost every(100% in my case) software you will require will be open source and free of cost.
  • Stability: Linux is very stable. You would hardly find it crashing, freezing forever and ending up with something like Blue Screen of Death.
  • Performance and Flexibility: No matter you are have a shining brand new high end computer or 10 year old computer, it will perform well and make best use of your resources.
  • Secure: Linux is very secure operating system. You’ll hardly ever find your computer infected by malware. You don’t need an anti-virus software.
  • Cross-platform: One of the coolest thing about Linux is that you can run it anywhere(almost). From your home PC to supercomputers to mobile devices to hand watches to car to watch to your iPod! But here we would talk about using it on your PC.
  • Choice: There are wide number of Linux Distributions available. As discussed in [1.1 Linux Distribution] this gives you option to choose a distro as per your taste.
  • Dual Boot: You can have Windows/Mac OS and Linux on same system. Ever cooler, some distributions allow you to run Linux within Windows like an application. So if you are really scared you can try that.
  • Plus you get everything you have in Windows. (Well yeah, cool games ain’t there)

Linux is hard to install and use? Well that used to be case few years ago, but now that’s history. Ubuntu is great example to prove that. It made Linux available to common man!

1.2.1 For General/Regular User

Linux is now as available to a normal user very easily. Distributions like Ubuntu, OpenSUSE, LinuxMint make user experience very friendly. Installation is quick and without any trouble. Installing new software is just a click away!

Its a popular myth that Linux is completely command line stuff. Well you are wrong. Linux have got some of the most intuitive and best GUI environment in the world. And guess what, you are not stuck with one single environment! You have choices – KDE, GNOME, XFCE etc

All your basic software like Office Suite, Image Editor, PDF Reader, Web Browser are usually pre-installed with your distributions! So its like complete usable system in a box!!

Apart from that you don’t have to worry about viruses, trojans and other malwares. You are completely safe here. Your system will hardly ever give you problems. So basically, you can concentrate on what you want to do rather than on the peculiarities of technical stuff.

1.2.2 For Power Users and Programmers

Linux was an operating system system made by programmers for programmers. It preserves that quality even now. The main reason perhaps being a clone of Unix system. If your aim is development, Linux is best platform for that! There are many cool tools available including powerful shells. These tools make you more productive! You have to start working with new library? Well its just a command away, and its installed in your system! Personally, I cant imagine myself working without these tools.

The flexibility you get with Linux system is unbeatable. Every part, every component is configurable. Since almost everything related to Linux is open source, you don’t have to worry about some problem bugging you, as you can fix it yourself! I have made many patches for programs to implement something weirdest and craziest things, which I wonder could have been possible with a proprietary/closed system.

1.3 However

Linux can be a bit weird for you at first. It’s mostly because people are so used to Windows, that their imagination/knowledge is narrowed. Linux deviates from Windows approach which seems to be standard for many normal users.

Also, you may find yourself stuck sometimes. This can make you frustrated at first. But tell me, when with Windows you were not stuck and frustrated? Anyway, good news is we have great community which is always happy to help.

2. Install

Installing Linux on your computer is very easy. Usually both GUI installations as well as Console based installations are available. Linux can be installed from many media’s, including your Optical Disks and USB Flash Drives.

For beginners its highly recommended to use a Live CD/Live USB based installation. These media can boot a Linux system without actually installing or making any changes to your computer. Its quick, easy and safest way to try Linux. However to do something useful you should install it to your computer.

Minimum System Requirements: This depends upon the distribution you choose. Check the documentation of your selected distribution.

Some Other Requirements: An internet connection. Google things before you ask.

Anyway, getting back to point – to install Linux on your system -

  1. Choose a Distribution: The first and most important step is to choose a Linux Distribution. For Linux newbies its highly recommend to get Ubuntu/Kubuntu.
  2. Choose your Flavour: Most distributions will give you an option to choose a Desktop Environment. A Desktop Environment basically refers to the style of the GUI available, the looks, the set of applications, window manager’s and stylers etc. In easy words(but not accurate) desktop environment is kind of complete suite of application which will provide a GUI to plain Linux system (with nothing but kernel and GNU tools). There are many desktop environments with different goals and approaches. Some people prefer one more than another. Most popular ones are KDE and GNOME. Kubuntu is KDE flavour of Ubuntu. Ubuntu uses GNOME, but with slight changes to it. I prefer KDE.
  3. Choose your Architecture: You will mostly be provided these two options. 32-bit or 64-bit. Its recommended to get 32-bit as they are very well compatible with most systems and software’s. If you wish to use more than 4GB RAM or 64-bit architecture for some reasons, download latter.
  4. Prepare your Installation media: Now decide from which media would you like to install. The downloaded file will be in ISO format. You can either prepare a disk using a CD/ISO Burner or prepare a USB using this or search for more.
  5. Prepare Hard Disk: Unless you have an empty hard drive, its recommended to prepare an empt/new partition(of around 30GB at least) for linux system. You will also need a small partition called swap which is recommended to be at least equal to your RAM size.
  6. Boot and Install: Now boot your prepared media. Follow the steps. For most distributions there is step to step guide available. At some step it will ask you the location to install. It will give you many options. Choose the one that says, ‘do it manually’. It will list all the partitions in your hard disk. You will require at least two partitions. Main partition will be mounted as “/” root. Select the one that I asked you to prepare in last step. The second one is swap for which you need a small partition. If you have more than 1GB RAM, make it equal to it otherwise 1.5 times.
  7. Hardware Drivers: Chances are great (if you are using Ubuntu/Kubuntu/OpenSUSE) that all the drivers will get installed automatically during installation. However, if something was not installed, some distributions (I know (K)Ubuntu will) will try to find it from internet and ask your permission to install it.
  8. Run It and Enjoy!

3. Some Differences (with Windows)

Linux is totally another operation system. You’ll see many changes. Don’t be afraid. Most of the things will be easy to get. You wont have to think to use it! However there are some things that I would like to point out.

  1. No Drives: Yes! You wont find drives like C, D, E, F on your Linux system. Every path starts with “/” rather than “C:/” or something. However you’ll find a list of hard disk partitions available on your File Manger. Click on that and you can access that. It will be mounted to “/media” or “/mnt” or …
  2. No EXE files: Yes! Executables in Linux don’t have EXE extension. In Linux extensions don’t matter, particularly for executables.
  3. Windows program wont run here: Yes! Linux is a completely different operating system. Hence Windows programs wont run. However Linux itself has very rich software’s available. However there are cross-platform applications. Eg. VLC
  4. Slashes in Paths: In paths, directories are separated only by forward slash(/) in Linux.
  5. Case Sensitive File Names: Linux file names are case sensitive.
  6. root user: Root user in Linux is what administrator user is for Windows. Perhaps even more.
  7. Packages, no setup files: In Windows the approach to install a software is to download its setup file and run it. This approach is also available in Linux for some software, but mostly you will use packages. Package Management system and package format depends upon the distribution you choose. Read documentation of your distribution to know more.

4. Some Common Application Softwares

5. Frequently Asked Questions (FAQ)

(To be added soon! You are free to ask me questions so that I can make this section worth.)

Note: This document will be constantly updated to make sure it’s always improving and getting better, and acting as good kickstart guide for beginners. Your suggestions and feedbacks are always welcome.

Note: This revision is just a draft at the moment. I published it to get more feedbacks. However, this document itself right now can serve as decent guide for starters.

Posted in Howto | Tagged , , , , , , , | 11 Comments

Guys, learn to use Page Breaks!

If you’re one of those who know how to make good documents and you do make good documents then this post is trivial for you. Or wait maybe you think you make good documents! Anyway, this post is dedicated to all my college friends who make lab files which I shamelessly copy and print. This post will introduce you to Page Break!

If you don’t know what Page Breaks are, sorry to say but you should be ashamed of yourself. I’ve very good experience of using my friends lab files. When I say good experience, I mean really good experience. In fact I never make my lab file. (I hope my professor isn’t reading this post). Why I don’t make lab files myself is different story and I do have pretty good reason, but lets not talk about it now.

From Wikipedia -

A page break is a marker in an electronic document that tells the document interpreter that the content which follows is part of a new page. A page break causes a form feed to be sent to the printer during spooling of the document to the printer.

So anyway, the reason I made this post is because in 99.99% cases there was one common and huge and frustrating and fatal problem with the documents (in Microsoft Word format). They never used Page Breaks.

In our lab files, we have several program codes. Each program code should start with a fresh new page. To start the program on a fresh new page, people add dozens of newlines to reach the new page. This is something that you should never do because of following reasons -

  • In case you make some changes to other parts of your document, the structure of your document will be changed and it will get bad. Content will overflow to your so called fresh new page. And you will end up removing and adding a new set of newlines.
  • If you change your page layout, yet again your document will be broken.
  • Well, its really frustrating to read, write and modify such documents.

Anyway, lets see how to do this. If you are not that hopeless, you would have have googled it by now. Anyway, the solution is obviously Page Break. A page break will move text after that to a new page.

LibreOffice/OpenOffice

  • Simply press Ctrl+Enter. Check this. Or
  • Goto Insert > Manual Break > (Select Page Break Option) > Ok

Microsoft Word

  • Check this link.
  • I dunno for sure, but Ctrl+Enter might work. I don’t have Microsoft Office.

Text Documents

I’m a fan of Text Documents. I write most of my stuff in plain text whenever possible, including documents, presentations, emails and almost anything I can. In the world of plain text its called Form Feed. Its an ASCII Control character with ASCII code 12(0x0C). I you are writing a program, its escape sequence is \f. You can insert this character in your text editor(if it allows) by pressing Ctrl+L. I never used it, because I never had to, so I really cant tell if it will work everywhere.

HTML/CSS

Ok. Most of you might not be interested but this can be useful. I’m a geek and I just cant let an opportunity to post some code go! In good old days, when I used to make my lab files myself, I made this stupid script to generate my lab file.

What you are supposed to do is add this CSS property to the element after which you want a page break.

page-break-after: always;
/* or */
page-break-before: always;

Conclusion

So, I’m done. I hope you find this post useful and for god’s sake actually start using Page Breaks if you haven’t uptil now. And my college mates, its a request PLEASE!

Posted in Tips & Tricks | Tagged , , , , | 2 Comments