Wednesday, January 30, 2013

Installing the Printer with IP address in Fedora KDE

Whenever you move to a new place, it takes a while to get started at  your workplace. Especially if your favourite OS is linux. It happens to me quite often that whenever I go to a new office, I need to setup OS, printers, softwares, checkout SVN repositories etc.

My favourite flavour is Fedora with KDE. So here are some simple tips if you looking to set up a printer with Fedora KDE. Usually the information you should know is the IP address of the printer and its model number (exact). Mostly the companies' or departments' IT help-desk or personnel have the user guidelines to access the resources from the variety of OS but sometimes they become so selfish to provide information just for Windows and/or Mac. Nonetheless, they can provide you the IP address and the model number.

Go to the "System Setting" and choose "Printers". Now you will see there are some options under Network Printers. I see that in Fedora 18 they have come up with the feature which automatically tries to find the connected printers in the network. At least for me it is not working properly but you may give it a try if it does the job for you. Otherwise, if you have this information that your printer protocol is "IPP" or "LPD/LPR" then choose that option and fill the necessary fields like host -> IP address, "queue" is usually the name/id of the printer on that host. Otherwise, if only the IP address is known, safe option is to go for "AppSocket/HP JetDirect".

In case of "AppSocket/HP JetDirect",

  • Enter the IP address. Dont change the automatically filled port number except you know exactly what it is. Usually it is 9100.
  • Click on the "Next".
  • Here you have to supply the proper driver for your printer. Most of the companies and their printer model drivers are already available in the list. If yours is there select it. For example, mine is HP LaserJet P4015dn. If your printer is HP then go for the one with CUPS. If not then try "yum install hplip" which should bring you all the HP drivers in the system and follow the steps from the beginning.
  • Now, once the printer is setup its annoying that system automatically disable/pause/block it. So you have to see from every settings/configurations options that that printer is enabled/resumed/unblocked. Once this is done, try to print the test page. 
  • With this It should be fine. Usually with different fedora systems like 16, 17, 18... things are little bit changed but you should keep on figuring out the above points and in the end you will be able to print something. 
Do let others know by comments if this worked or some problems are still there.

Thursday, November 22, 2012

Shame: Arresing someone for expressing an opinion on Facebook?

This is the perfect example of how the democratic nation should *not* behave. It is more shameful because it happened in the world's biggest democracy - India. I was taught in the school that in a democratic nation you get a freedom of speech.

Background:

There was a "shutdown" announced in Mumbai for one day after the death of Shri Balasaheb Thackeray. A girl expressed her opinion on the shutdown. She was arrested based on the FIR lodged by the same party member. Moreover, her friend was also arrested for "like"ing that post. Before arrest a clinic of an uncle of the girl was also ransacked.




I deeply admire Balasaheb for his personality, sensitivity and of course sharp fearless remarks. I think he also might not have liked this kind of arrest where freedom of citizens is at risk. What amuses me more is when an FIR is lodged, without investigation a young girl was spontaneously arrested. Though later released on bail it is questionable that was it necessary and more importantly legal to arrest someone like this? Even more miserable is the friend who was arrested, because she just "liked" the post.

Now the government of Maharashtra is facing strong remarks from across the nation. Justice Katju was nice to write personally a series of emails to chief minister of the state to release them immediately, dismiss the charges and take actions against those who were involved. I admire you sir that you work out of your way to uphold the values of democracy and freedom of the people.

In the hope to have a better and safe future "Satyamev Jayate"!

Monday, October 29, 2012

Gujarat Assembly Elections: what an occation!

Gujarat Assembly elections are set to be held from 13th to 17th December. Well what a magnificent time to be in Gujarat and it can never be any bigger! When I was a school kid, elections meant to me just for some school holidays but now when I am concerned about the country and especially the region where I grew up, its feels amazing to follow the news.

On one hand, Modi is preparing hard to become the fourth time Chief Minister of one of the fastest developing states contributing the most to the national economy. On the other side talks are taking strolls about him to take a bigger national role.

Last month I was in Trento, Italy and with some friends we were discussing the Modi (with passionate Dhaval talking about "Vikas" -> "Development" in Gujarat) about what can be his strategy this time to win.

In any case, the Assembly elections were never so interesting without Modi. I grew up in Gandhinagar - the capital of Gujarat where all these ministers live and do campaign very often. I remember last time when Modi set the stage just few meters away from my house and how the people gatherd! He is really an ear-candy! His typical outspoken, blunt and direct personal remarks take heart whether it can be Prime Minister of India, President of opposition party or Army Chief of Pakistan. This time in news I see Modi calling Prime Minister "Moun Mohan Singh" and Shashi Throor's wife "50-crore-rupee girlfriend"!! I can imagine how it will be in Gujarat and I miss it, hopefully when I am back to Gandhinagar this December, at least once I see him live.



On the other hand, If he fails this time which looks extremely difficult, it would be chaos in Gujarat, because the next CM will definietely not be able to keep up with the speed he has created. I have always be opposer of Modi and probably will be because of 2003 elections but I think the Time and Nation really needs some one like him. USA rejected his visa and he responded "I don't need visa of US but I want to see them taking visa of Gujarat.." and ironically in Gujarat Vibrant Summits many international delegates just queue up to invest. After running the state for last 3 terms cumulated to more than 10 years, Gujarat is all set to evaluate the government and it would really be make or break time for him. Lets see!

Update: He won the fourth time. From then, he has started addressing public in "Hindi", increased his visits and appearances in Delhi, there is excitement in BJP about him with outlook for 2014 national elections but there is agitation too over him. 

Tomcat JSP MySQL Linux -- A Starting Kit

This is just to get you started if you are interested in the above configuration. I spent a lot of time exploring many forums for the errors encountered meanwhile which I try to dump here.

First you need following packages:

1. tomcat, tomcat-webapps, tomcat-admin-webapps -- try to get through yum or apt-get repositories.
2. mysql -- again try to do the same to get it

Start all the services:
service mysqld start
service httpd start
service tomcat start

To check if these things are working properly:

1. mysql:

mysql -hlocalhost -uuser -ppassword -e "show databases;"


Note: there is no space between "-u" and "user".

This should show the present databases created by the specified user.

Alternatively you can access the mysql from the browser through:

http://localhost/phpMyAdmin/

For this will need the package "phpmyadmin" installed. Make sure, each time you do some administrative changes, restart services.

2. tomcat:

You should be able to view the examples provided by the tomcat in the browser. To start with a new project, the place of interest will be "webapps" directory where you have to put your project root directory. Create a directory say "test" in "webapps" and in which create a small static html page say "test.html". Try to access the page from your browser with URL

http://localhost:8080/test/test.html

With that you are ready with your basic set up and should move forward with the mysql integration.
Now the basic page which accesses some table of a mysql database is shown below:
<%@ page contentType="text/html;charset=UTF-8" %>
<%@ page import="java.sql.*" %>

<form>
<head>
<title>Testing the structure of jsp, mysql and tomcat!</title>
<style>
* { font-size: 12px; font-family: Verdana }
</style>
</head>
<div>

<%

Statement stmt = null;
Connection con = null;
ResultSet resultSet = null;
String url = "jdbc:mysql://localhost/dbname?characterEncoding=UTF-8";
%>lang1
<h2>Display of data from Database</h2>
<table>
 <tr>
  <th>col1</th>
  <th>col2</th>
  <th>col3</th>
  <th>col4</th>
 </tr>
 <%
 try {
  String input = request.getParameter("lang1");
  Class.forName("com.mysql.jdbc.Driver");
  con = DriverManager.getConnection(url, "username", "passwd"); 

  stmt = con.createStatement();
  resultSet = stmt.executeQuery("select * from table where col1 = \""+input+"\"");
  while (resultSet.next()) {%>
   <tr>
    <td><%=resultSet.getString(1)%></td>
    <td><%=resultSet.getString(2)%></td>
    <td><%=resultSet.getFloat(3)%></td>
    <td><%=resultSet.getInt(4)%></td>

   </tr>
  <%}
 } catch (SQLException e) {
  e.printStackTrace(System.out);
 } 
 finally {
  try {stmt.close();} catch (Exception e) {
  }
  try {resultSet.close();} catch (Exception e) {
  }
  try {
   if (null != con) {con.close();}
  } catch (SQLException ex) {
   ex.printStackTrace(System.out);
  }
 }
 %>

</table>

</form>
</body>
</html>
In summary, the above code gets a string from the previous page some input in terms of form data. Tries to access the database and gets all the records where col1 value is equal to input and prints it. If you get some java-like errors saying that MySQL is unknown class then you should perform following operations.
The files of interest is:
/usr/share/tomcat/conf/catalina.policy

First you should grant the permission to access the mysql.
grant codeBase "file:${catalina.base}/webapps/test/-" {

     permission java.net.SocketPermission "localhost:8080", "connect";

};

And then make mysql known to tomcat by adding jar in classpath and for that, put mysql-connector-xyz.jar in tomcat_home/lib directory. Add its reference to the classpath by adding following line in tomcat_home/bin/catalina-tasks.xml between

<fileset file="${catalina.home}/lib/mysql-connector-xyz.jar"></fileset>

and restart tomcat service!

Sunday, July 1, 2012

Two-Days-a-City

Recently I have started travelling around a bit. My travel pattern is quite weird because I usually go to a country or most of the time city for 1 week duration to attend a conference or something similar and then I spare two days for me to visit the places around. Under this pattern, I have visited Kolkata, Geneve, Istanbul and soon Seoul. Until Istanbul, it was not so exciting because I was a new traveller and had not much idea how to get maximum out of those two days.

The first trip was to Kolkata, during the time I was in India in 2010. I and Sameer aka Shambaji visited IIT Kharagpur to attend a conference and then we used two days to roam Kolkata city. That was the first trip under the series of Two-days-a city. We were not sure how to do the most out of it. What we did was to roam one day on our own to eat the street food, see the neighbourhood that we stayed (Park Street) and have a local feel of the city. The second day we realised, at the end of the day we were just localised in the neighbourhood and did not get a big picture of the city. So second day, we collected some names from the Guest house reception - some names of famous places to visit. Then we hunted for some taxi drivers with the motto "Maximum places - Minimum price". Once we set that trade-off with a taxi driver, we got off. It was fantastic. Just to make sure everything goes good, we did not bargain too hard in order not to spoil the mood of the driver, because he was going to be the guide of the day too!


In the end, it was fantastic and Shambaji was too happy to say "Chal yaar 50 Rupaiye jyada de dete hai.."  means "Buddy lets give 50 Rupees more.."

Then next, I visited the Switzerland for a winter school in Zinal, Sion. At the end I planned to visit Geneve again under the scheme of "two-days-a-city". Ultimately there were more attendees of the school like me who also adopted the same scheme hence we merged up.  


The tourist office of Geneve was having a lot of good material for the guided tours and we opted one and it was fine. Still I missed some more important places like UN building.

Then, together with my advisor, Paolo, I went to Istanbul. The different element of Istanbul compared to Geneve was its size. Istanbul is world's second most populated city and falls under the category of really large cities. Again, we had a conference there and spared 2 days for tourism. I had a sense that any of the former plans (Taxi or Guided tour) are not going to work for me and we will need some real course to follow to experience the city.


Then, Paolo introduced me to "Lonely Planet" concept. Its a series of Lonely Planet city guides. One day I had a time to do tourism and Paolo was working, so that day Lonely Planet helped me in such a big way that I felt like living that city. The biggest help was zeroing down my choice to buy something for my dear ones. So, the lesson learnt was if you are going to do "two-days-a-city" do buy one of such professional guides even though sometimes they are quite expensive but they do have an edge over most of the tourism literature that you may find elsewhere.


Inspired by that experience, I have already bought the book for Seoul yet another large city next on my list of "Two-Days-a City" series and I am looking forward to it!! If you are also following this kind of travel pattern then try such a book once. Disclaimer: This is not the advertisement of a particular brand of books but this is the suggestion of the concept :D. Ciao!