Friday, November 28, 2014

A new home for the SCoRe group

My new station
After staying in the same place for around 8 years, sustainable computing research (SCoRe) group, which is previously known as Wireless Ad-hoc Sensor Network (WASN) research group is moving. For all these years, we've been staying in a small room located in a hidden corner of the UCSC building. That place was home for many successful researchers and many successful research projects conducted by the group. With the refurbishments of UCSC building, various new parts were added including an extra floor which is the 4th floor. New lab room for the SCoRe group is allocated from this all new 4th floor.

A nice view from our window
I got to know about WASN research group around early 2010, after having a short chat with Dr. Chamath and Dr. Kasun at their office. Initially, I started contributing to their projects by doing small supportive work, little by little, learning their subject domains. In my 3rd year, I did my internship at the WASN lab with the research group and learned how to live in a research environment. Even during my 4th year of the undergraduate education, I spent most of my time at the WASN lab working in research project works. Finally after my 4th year, I got the chance to work as a research assistant (RA) for few years before I go abroad. When I return to the lab after more than a year of new life experiences, WASN lab was facing various significant changes such as people and the role of the lab.

Currently the situation in our WASN lab location is a bit complicated. Instead of being a place dedicated for research and development works, some other roles are emerging in that place. Some undergraduate course works which are operated by a lecturer is based on the lab and therefore always, many undergraduates are vising the place. Sometimes, undergraduate students stay in the lab with their laptops to do their own works without any specific relation to the lab research or course work. I've faced many situations, where the lab was too noisy and hard to focus on my work due to the behavior of undergraduate students. Additionally, there are some requirements such as the lecturer who is handling the undergraduate courses is in need of transforming it into an undergraduate lab.

Under all these conditions, I think, receiving a new place for the SCoRe research group is a positive movement. Our new place is very peaceful and has less distractions compared to the old place. I personally like this new room since it has a nice view from the window. I can see the UCSC ground and far away places inside the university premises from this place. Our neighborhood is some other research labs with other researchers. I hope that having a green view will help me to recover from hard times in lab work.


Thursday, November 20, 2014

Setting Up an SVN Repository Server

More than 4 years ago, I wrote a blog post about setting up an SVN (subversion) client in an Ubuntu system because I had to use the version control  system maintained by the lab for research project works. After such a long time period, finally a week ago I had to install an SVN server in a newly settled server for the lab. Keeping  the tradition, I'm writing down the steps of this installation for the benefit of me in the future and also for the rest of the world.

First of all, we should login to the sever where we need to configure SVN server using SSH. Then we can follow the command sequence given below.

# installing svn application
apt-get install subversion

# template for a project repository directory structure
mkdir /var/svn/
mkdir /var/svn/tmpproject
mkdir /var/svn/tmpproject/branches
mkdir /var/svn/tmpproject/tags
mkdir /var/svn/tmpproject/trunk

# creating a real project repository and copy the template content into it
svnadmin create /var/svn/myproject --fs-type fsfs
svn import /var/svn/tmpproject file:///var/svn/myproject -m "initial import"

# add new users to the system to be a client of the repository
adduser asanka
adduser chamath


# starting svnserve deamen. Not necessary if users access with SSH I think.
svnserve -d

Now we are done at the server side. We should logout from the server and now check whether we can access the repository from the client side. There are various  ways of providing user access to an SVN repository but in my configuration, I'm only allowing the users who have a  user account in the server to access the repository. Follow the  given command sequence to access the SVN repository in the server.
 
svn co svn+ssh://chamath@192.248.xxx.xxx/var/svn/temproject/
svn add some_file.txt
svn commit trunk/ --message "My initial messsage"

In this way, we can start using our newly initialized SVN repository server. I'm not sure whether  I missed any important step because I compiled these steps after trying various other ways. In case I have missed something, please be kind to point out :-)

Tuesday, November 11, 2014

Removing shortcuts from GNOME Classic launcher

This may sound stupid but for a long time, I was not able to remove shortcuts from the launcher in GLOME Classic. Therefore I was afraid of adding things to the launcher. I just has put Firefox, Terminal, Gedit and a green screen shot  capturing app. Today, I accidentally added some other shortcuts into the launcher and faced a situation of removing them somehow. Then only I bothered to search google about it and found the solution.

The key combination  Super(= Windows key) + Alt + Right-Click on the launcher icon provided me the option "Remove From Panel". Thats what exactly we wanted. Just right-clicking on a launcher icon does not provide this option. I found this solution from this forum discussion.


Monday, November 3, 2014

Drawing Gantt Charts using Latex

While preparing some document in last week, I wanted to draw a Gantt chart to visualize a time line of a project. I tried different GUI based tools but I didn't like  them. At the end, I decided to find out whether there's any Latex package available to get my task done. Luckily, I found it. For this purpose, first of all, we need to have a style file called gantt.sty which you can download from here. Then we need to compose our gantt  chart definition in a .tex file. Following is such an example gantt chart definition which I saved with the file name my_gantt_chart.tex in the same directory as the style file.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
\documentclass{article}

\usepackage[pdftex,active,tightpage]{preview} \setlength\PreviewBorder{2mm}
\usepackage{gantt}

\begin{document}
\begin{preview}

\begin{gantt}{7}{12}
    \begin{ganttitle}
      \titleelement{\textbf{Year 2015}}{12}
    \end{ganttitle}
    \begin{ganttitle}
      \titleelement{\textbf{Jan}}{1}
      \titleelement{\textbf{Feb}}{1}
      \titleelement{\textbf{Mar}}{1}
      \titleelement{\textbf{Apr}}{1}
      \titleelement{\textbf{May}}{1}
      \titleelement{\textbf{Jun}}{1}
      \titleelement{\textbf{Jul}}{1}
      \titleelement{\textbf{Aug}}{1}
      \titleelement{\textbf{Sep}}{1}
      \titleelement{\textbf{Oct}}{1}
      \titleelement{\textbf{Nov}}{1}
      \titleelement{\textbf{Dec}}{1}
    \end{ganttitle}
    \ganttbar[color=green]{\textbf{Phase-1: Design and prototype implementation}}{0}{3}
    \ganttbarcon[color=blue]{\textbf{Phase-2: Pilot deployment and field trials}}{3}{6}
    \ganttbarcon[color=red]{\textbf{Phase-3: Full scale deployment and evaluations}}{9}{3}
  \end{gantt}
\end{preview}
\end{document}

Now we can generate the PDF file by issuing  the  following command in the terminal.

pdflatex my_gantt_chart.tex

Following is a screenshot of the output PDF I received.

Even though the output doesn't look fancy as the output of many other tools, I'm happy with this because it allows  me to prepare it using Latex, my favorite document processing tool.

References: