Wednesday, August 14, 2013

Free online Linux Courses


Majority of free online Linux courses are not affiliated with universities but are intended for self-study and don’t offer any academic credit. Linux course materials comprise PDF, video and screenshots and content is normally intended for newbies of Linux systems. 

 Listed below are sites that offer free Linux courses online:

1) Back to Basics: Linux Fundamentals at Novell
This free tutorial is meant for individuals who want to learn Linux fundamentals by means of self-directed study. This course concentrates on various functions including restarting and shutting down the Open Enterprise Server, logging in and out and controlling the Linux desktop. You can also access a cheat sheet for most typical command terms used in Linux.       Visit Link

2) Building Dynamic Websites at Harvard University
This online OCW course provides knowledge required to make a website. The course has multiple video lectures and individuals are instructed on how to make a website using Linux, in addition to a range of other frameworks. You can learn how to set up domains, program with Java, design databases, and construct web pages using CSS and XHTML.     Visit Link 

3) Computational Physics at Universiti Teknologi Malaysia
The course focuses on teaching students how to do physics calculations using a computer as a calculator. You can also learn Java programming in a Linux environment. With the help of external website links, this online course instructs you about using algorithms and working within the Linux OS. Visit Link

4) The Embedded Linux Quick Start Guide through YouTube
This free tutorial lasts for less than an hour and offers learners with an introduction to the Linux environment. Explained by Chris Simmonds during a 2010 Embedded Linux Conference in Europe, this is the first video in a 3-part series on Linux. You can learn the four fundamental elements of Linux such as toolchain, boot loader, kernel and user space.   Visit Link

5) Introduction to Linux at the University of South Carolina
This is a simple preparatory tutorial of slides available in PDF format. The course material provides basic information about Linux, its different versions - or distributions, and how to use it. Some of the topics and tools covered in the course comprise files, folders, pages, commands and writing script.

6) The Linux Effect: 20th Anniversary at The Open University
Introduced as an online podcast training, the Linux Effect provides information on the Linux OS and how it's progressed through over the years. The course provides information pertaining to the origin of Linux, how it can be used in our daily lives and the link between Linux and cloud computing. You need to have a PDF viewer, such as Adobe Reader, to finish this course.      Visit Link

7) LPI Exam 201 Prep: Linux Kernel at IBM
This is a free tutorial series that prepares the students for the Linux Professional Institute Intermediate Level Administration (LPIC-2) Exam 201. While the first tutorial students are explained components, compiling, patching and customization of a Linux kernel. Other topics include system maintenance, hardware, web services, and troubleshooting.      Visit Link

5 Great Free Tools For Your Invoicing Needs


Sending invoices and quotes to multiple clients is an everyday task in the life of a web designer. You will fall into hundreds of paid invoice applications while searching for the free one, each ranging from 5$/m to 30$/m and so on. Paid apps can be good for large corporations who earn a lot of money but they are simply a monthly expense for an average freelancer. That’s why we have prepared an article having 5 best free invoicing apps for your business.

Billing Boss
      Billing Boss is a totally free invoicing application with pretty features. The user can easily keep track of billings and payments. Account at Billing Boss can be integrated with Sage Payment Services, Beanstream, or PayPal. In result, customers can pay your invoice online immediately. User interface of Billing Boss has been adapted in different languages. Further, the mobile version of web interface is also available to interact with application on iPhone or G1.


During the Sign Up, the user fills up the required information like Name, Address, Logo, and Tax Information of business. The account can also be linked with some merchant services if required.

In next step, you need to create customers, which is simple enough. Then you can make a quote or invoice. Once you fill the invoice and save it, a preview of invoice will appear. In this preview, you can apply available styles, send or print it, or save as pdf. Below are the screenshots for the above mentioned two steps.






Intuit Billing Manager
        Intuit Billing Manager is also a free and intuitive online invoicing application. You can easily create and send invoices. The application gives you a review of what is overdue and what has been paid. The user can send reminders to customers if there is an outstanding payment.



After filling login details, the user can create invoice immediately. I would recommend going on settings tab and modifying your details accordingly. You can alter business information like address and logo, default messages attached in outgoing email, payment methods and some other default invoicing parameters.



In the left side bar of the application, you can see “My Address Book” which is used to manage your customers. You can add manually or import CSV file of your business contacts at once. Also, there is a section in the sidebar titled as “Products & Services”. In this section, you can add what you are offering to avoid manual entry whenever you create an invoice.

If you create invoices infrequently, above mentioned steps can be skipped. The invoice creation process is straight. You can apply one of the invoice templates available. After filling the information, the invoice can be saved, previewed, printed, or sent by email. In print mode, the invoice can also be saved as pdf.





Invoice Journal
           Another Great and Free invoicing application is invoice journal which lets you create invoices for your clients. After signup, invoice journal give you a unique sub domain which can be used for login to your account. The process is very simple. You can create clients and after that start sending invoices for no fee. The application has a nice and very simple user interface which makes it great to use.



BambooInvoice
            BambooInvoice is a free and open source application to send and manage professional invoices. One has to install it on its own servers before using it. It is one of my favorite invoicing application as my point of view is that invoicing and your personal finances are sensitive case and you should not leave them to some one else.


The open source software needs php5 and mysql 4.1 databases to work efficiently. It is build using code igniter and really have great user interface. BabmooInvoice is a very active project and you can also get support if you run into any trouble by accessing its forums here. Give it a try and you will love it.





Simple Invoices
         Simple invoices is another free and open source invoicing system which you can use to get money from different clients. Like BambooInvoice, you have to install in on your own server to use. The open source application has been translated in to many languages and some developers have also built extensions for it. You can also email your prepared invoice as pdf. Simple invoices has comprehensive documentation so you can install it easily.

Have a look at the user interface of simple invoices. It has been enhanced with Ajax and java script.



I've covered some awesome free web apps that are best alternatives of expensive invoicing apps. Feel free to share your invoicing systems and let us know if we have missed something important.


Monday, July 15, 2013

Create new controller on ZF

In this tutorial I'll explain how to create new controller and do more interesting stuffs. As I explained in previous post, for most important of controller, that requires directory with same name of controller and inside that, view pages with same name of all actions of controllers. But, this is automatically managed by ZF command line tool. And in Netbeans IDE there is more good interface for executing commands

- in Netbeans project panel --Right Click on project > Zend > Run Command... and interface will be open.


  • First parameter is "Filter": That similar to search particular command from all command list.
  • Matching Tasks: This will show you commands matching your query entered in Filter textbox. Select proper command from list. There is text area below list of commands, it'll show you description.
  • Enter required parameters in "Parameters" textbox.
  • At very bottom, there is "commad", it'll show you final output command. 
  • and press Run to execute command.
  • For example, I've created controller named "info".










[controller]

[view]


As Shown above both images, you can see new created controller: "InfoController.php" and for that controller there is "info" directory with .phtml files of actions of controller.

Now, let's modify Info Controller:
- Remove content of index.phhtml and edit indexAction in Controller.








In any controller there is init() and indexAction() as by default. You can create as many functions you want. When any controller executes init() method always executes first, no matter which action you are executing from that controller.

Now, Lets create another action in info controller with its view:


and add some message in anotherAction() function...

and execute...


That's it. This is enough to get started with ZF Controllers.

Controller understanding in ZF

When we create new ZF project, it creates two controllers [ IndexController.php & ErrorController.php ] by default. Controller as also called as Action Controller, because it controls all actions. Controllers are located in the application/controllers  directory. The action controller is concerned with out application's control logic and is part of the 3-tier separation the Model-View-Controller offers.

Default Example of controller:

class IndexController extends Zend_Controller_Action                                                                    
{

    public function init()
    {
        /* Initialize action controller here */
    }

    public function indexAction()
    {
        // action body
    }


}



Most Important:


Once one controller is created, then there is some thing you must care about. For example, for IndexController.php, with controller its view file is also created. As shown in image, there is naming conversation for that also. Views directory stores all view files of application. Inside views/scripts,  there must be directory with the same name of controller.
So, in this example there must be index directory. And based on action method in controller there should be view file. So, one view file for one action. So, here in this example, there is indexAction in IndexContoller.php, so, in views/scripts/index there is index.phtml


How controller executes:

We can directly call controller from addressbar. example: 
http://zf2-local.com executes indexAction() of indexController.php.
so, if you execute http://zf2-local.com/index/ then also output will be same. as like that, 
http://zf2-local.com/index/index will also give same output.






In next tutorial we'll modify controllers.

Understanding Directory Structure in ZF

When we create new project in Zend, it creates directory structure for us. On right side image, full directory structure of ZF application is shown.

This structure has four main area, application, library, public, and tests.

Application Directory: Is responsible for holding our application-specific files such as configs, controllers, models, and views. These are basic in any zend framework application,  in some zf application there is modules directory, holds different modules required for application. So, This application directory contains main MVC files.

Library directory: Is responsible for holding our supporting classes that not come into the scope of model. Inside library, we have the zend directory that contains the ZF source files.

Test directory: Stores our tests for our application.

Public directory: Is responsible for holding all of our publicly accessible assets such as images,CSS, and JavaScript.


Bootstraping [Bootstrap.php]:  This refers to the process of application initialization where we configure, and startup, the MVC process when someone requests a page.

The Index file [index.php]: This file is created under public directory, which is the main entry point for all of the requests to our application. This file points to application, library directory and application environment of application.

.htaccess file: This is important file in application, that rewrites rules for routing.

Application Configuration [application.ini]: This is most important for zf application. This is heart of application. Because, it contains all configurations about our application like php_errors, database connection, & path application, controller, library directory and all routing mechanisms are written here.



Zend Tutorials

Starting New Zend Framework Project

Hello, I'm back with new Zend Framework Tutorials. Go through these given links before directly starting from this tutorial:


In, this tutorial I'll explain how to create new Zend Project on your server with NetBeans IDE. Follow the steps as show in image below:
    [Image 1]

    [Image 2]



















[Image 3]

    [Image 4]


    


























[Image 5]


If you see directory structure like image 5, then congratulations...!!! your  Zend Project is ready to start.

Other ways to create project:
Zend Framework having powerful command line interface for doing work more easily. In Zend framework library you downloaded, there is "bin" folder contains zf.sh and zf.bat files.
- First go to the directory where you want to create your project.
- path-to-bin/zf.bat  create  project  project-name

Now, I created virtual-host named http://zf2-local.com.  This virtual host points to my public folder not root folder of project.




That's it, if you are able to see this type of page, then your created project works very well.



Tuesday, July 9, 2013

Create Virtual Host


Webmin is the best server admin panel, but some times it fails to do some jobs. Creating virtual host is one of them. So, I’m explaining code for creating virtual host. This is very easy to do. Just copy paste given code and that’s it.

Step 1) Open Apache2 configuration file

sudo gedit /etc/apache2/apache2.conf

Copy-paste this code:

######################wordpress-local.com -- start ###############
<VirtualHost *:80 >
ServerAdmin webmaster@localhost
ServerName wordpress-local.com
DocumentRoot /var/www/wordpress

<Directory >
  Options All
  AllowOverride All 
</Directory >

<Directory /var/www/wordpress>
  Options Indexes FollowSymLinks MultiViews
  AllowOverride All
  Order allow,deny
  allow from all
</Directory >


ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
< Directory "/usr/lib/cgi-bin" >
  AllowOverride None
  Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
  Order allow,deny
  Allow from all
</Directory >

ErrorLog ${APACHE_LOG_DIR}/error.log

LogLevel warn

CustomLog ${APACHE_LOG_DIR}/access.log combined

Alias /doc/ "/usr/share/doc/"
< Directory "/usr/share/doc" >
  Options Indexes MultiViews FollowSymLinks
  AllowOverride All
  Order deny,allow
  Deny from all

Allow from 127.0.0.0/255.0.0.0 ::1/128

   < /Directory > 

< /VirtualHost >

######################wordpress-local.com -- over ###############

Step 2) Open  Hosts File

sudo gedit /etc/hosts

Write this code

127.0.0.1 localhost
127.0.0.1 wordpress-local.com     <<----- 

Step 3) Restart Apache server

sudo service apache2 reload

Now, you can open http://wordpress-local.com on your browser.

Sunday, June 2, 2013

Setup LAMP server on Ubuntu

Install Apache2 server


sudo apt-get install apache2




Install PHP

sudo apt-get install php5 libapache2-mod-hp5
Install MySQL

sudo apt-get install mysql-server


Install PHPMyAdmin
sudo apt-get install phpmyadmin
And select apache2 as shown in image below,

It'll ask for phpmyadmin configuration and press "NO".



Then type below commands:
sudo cp /etc/phpmyadmin/apache.conf /etc/apache2/conf.d
sudo /etc/init.d/apache2 restart
Now, open your browser,




uninstall phpmyadmin:

sudo apt-get remove --purge phpmyadmin


Friday, March 22, 2013

Install Heroku toolbelt on Ubuntu

Now a days, Heroku is most successful cloud service. It's all add-on and features are too cool.
To work with Heroku from command line, we need to use Heroku Toolbelt. But some times installing toolbelt on Ubuntu creates problem. So, Here is very simple solution for that.

               wget -q0- http://toolbelt.heroku.com/install-ubuntu.sh | sh


Then run heroku login from terminal. Most probably it works. but if it doesn't works then follow below steps:

              sudo ln -s /usr/local/heroku/bin/heroku   /usr/bin/heroku

And then if you get Error: /usr/bin/env: ruby: No such file or directory. Then install ruby on your computer. Then it'll start working properly.