Stop the Hollyweb! No DRM in HTML5.

Saturday, August 2, 2014

Rendezvous with St. iGNUcius

WINDOWS = Where I Never Do Operations With Security

The mail said,
On behalf of TISS, we cordially invite you to a public lecture BY RICHARD STALLMAN titled "FREE SOFTWARE, FREE SOCIETY", ON THE 21ST OF JANUARY 2014, at the Old Conference Hall, TISS Main campus (Time: 5pm-7pm).

Richard Stallman is the founder of the Free Software Foundation and the GNU Project. Stallman pioneered the concept of copyleft and is the author of the GNU General Public License (GPL), the most widely used copyleft license, for free software. He will also talk about the relevance of software freedom in the era of networked computers.

A vehicle was arranged from IIT Bombay to TISS to attend this talk.

He gave a riveting talk on the following topics:

There is an ideological difference between the proponents of the terms "Free Software" and "Open Source".
The term FreeSoftware was introduced in the early 1980's by the movement we now know as the FreeSoftwareFoundation. Thus, the definition of FreeSoftware is focused on the freedom to share with your neighbor.
The term OpenSource was later introduced by another community including ESR, is more or less indifferent to moral issues concerning software sharing. The OpenSource movement argues that developing software using the "bazaar" philosophy (as described in TheCathedralAndTheBazaar) is superior. Hence the definition of OpenSource is focused on effective development using the bazaar model for business. While both discuss software whose users are permitted certain freedoms with respect to the code, OpenSource tends to focus on providing an economic/business argument for FreeSoftware. FreeSoftware focuses on providing a moral/ethical argument for OpenSource. The distinction is between "using/providing FreeSoftware is a good, morally right, thing to do" and "using/providing OpenSource Software is beneficial to you and your business". In most cases OpenSource software is also FreeSoftware, so the difference is mostly that the OpenSource community, probably in order to be more BusinessFriendly, refuses to subscribe to the ethics of the FSF. So, for the most part the effects are the same. Practically, however, the main difference is that OpenSource people think that closed software is OK, if not ideal, so if a XFree86 driver is closed source, that is OK, but the FreeSoftware people believe that these non-free software packages should be avoided if at all possible. OpenSource licenses do not restrict redistribution of identical or modified copies. Some FreeSoftware licenses place one restriction: that redistribution must be under a FreeSoftware license. Such licenses are called Copyleft licenses.
Licenses like BSD, MIT, Apache are not copyleft but are Free Softwares. There is only one license which is Open Source but not Free Software - Reciprocal Public License or RPL.
According to RMS, surveillance, censorship & non-free softwares are major threats to free digital society.

He also talked about Japan's restrictions on several websites, Wikileaks, Free speech not Free Beer, India's UID scam, how Javascript & librejs are not secure.

We even met Nagarjuna G., Research person at HBCSE.
At the end there was an auction session to get the GNU puppet which was then sold at 3000.

 Non-free software controls man

Reverse Engineering in NetBeans and TestCases

NetBeans 7.1

  • Open NetBeans.
  • Tools > Plugins > Settings > Add
  • Name : UML
  • URL : http://dlc.sun.com.edgesuite.net/netbeans/updates/6.9/uc/m1/dev/catalog.xml
  • In Available Plugins, tick "UML" and click on install button.
  • After installation, restart Netbeans.
  • Right click on project package name(Here sample)
  • You will see "Reverse Engineering" in the drop down
  • Select it -> Click on OK
  • A Model folder gets created
  • Inside it go to Model->package name(Here sample)
  • Right Click on package name.
  • Choose Create diagram from selected elements option
  • Choose the diagram type you want. I selected Activity Diagram.
  • Click on Finish.
  • A prompt dialog appears. Click on Yes.
  • You can now view Activity Diagram for your project.
  • Likewise you can generate other diagrams.

Test Cases:

1. JUnit : Visit Link
Right Click on package name and select New->JUnit Test->Finish.
This will create JUnit test file. Right click on the file and select Test File.
It will produce the test result as follows.

Note : If you don't find JUnit option, install the plugin  by searching in
Tools->Plugins->Available Plugins

2. Functional & Regression Testing with TestNG :
If plugin is not installed, then visit link and click on Download.
Extract the downloaded file. We can view 3 nbm file.
Go to NetBeans.
Go to Downloaded->Add Plugins->"add those 3 files except maven.nbm"->Install.
Restart NetBeans.

Right Click on package name and select New->TestNG Test->Finish.
This will create TestNG test file. Right click on the file and select Test File.
It will produce the test result as follows.

3. Load Generator or JMeter or Stress Testing or Volume Testing :
Right Click on package name and select New->JMeter Test->Finish.
This will create JMeter test file. Right click on the file and select Test File.

4. Smoke Testing :
The results of this testing is used to decide if a build is stable enough to proceed with further testing.

5. Sanity Testing :
A sanity test or sanity check is a basic test to quickly evaluate whether a claim or the result of a calculation can possibly be true.

    6. Usability testing : 
    It involves a completely different set of skills and is a subjective form of evaluation, because it depends on the user population that will use the application. Results obtained in this way should not be generalized to other situations and users outside those in the test population.

    7. Capacity Testing :
    In short, capacity testing is about figuring out what the capacity of the system under test is. Typically, how many transactions per minute or how many simultaneous users a system can bear without crashing.

    8.  Recovery Testing :
    Examples of recovery testing:
    While an application is running, suddenly restart the computer, and afterwards check the validness of the application's data integrity.

    9. Reliability Testing :
    You have to explain about NetBeans and how it supports reverse engineering with formula
    Probability = Number of failing cases / Total number of cases under consideration

    10. Ad-hoc testing :
    Testing without knowledge of actual system to check functionality.
    Ad hoc or regression testing is done after fixing defects to check functionality.

    11. Black-Box testing:
    If the source code is not available then test data is based on the function of the software without regard to how it was implemented. When performing a black box test, a tester will interact with the system's user interface by providing inputs and examining outputs without knowing how and where the inputs are worked upon.eg: Manually testing

    White-Box testing :
    The tester needs to have a look inside the source code and find out which unit/chunk of the code is behaving inappropriately. eg:Junit

    Tuesday, July 29, 2014

    Genymotion, the fastest Android emulator for app testing and presentation

    Install Genymotion

    Application requirements:
        Oracle VirtualBox >= 4.2.12 (greater is better)
        Ubuntu 12.04

    ** To download ``Oracle VirtualBox`` visit https://www.virtualbox.org/wiki/Downloads

    Download Genymotion from this link.

    How to install
      #. In a terminal, run the following commands: 
          ``cd <path-to-install-Genymotion folder>``
          ``sudo chmod +x ./genymotion.sh``
      #. It will Launch genymotion and the main window appears.
      #. And immediately, a pop-up appears and invites you to add your first virtual device.
      #. Click the "Yes" button, the creation window appears.
      #. Click the "Connect" button.
      #. Fill the authentication window with your Genymotion Cloud username/email address and password
         **Note: Deafult username is ``aakashabt`` and password is ``aakashtest1``.
      #. Then click the "Connect" button.
      #. Once connected, you will see all the available virtual devices.
      #. Select a virtual device  ``Custom Phone 7 - 4.2.2 - API 17 - 1024x600`` in the list.
      #. click the "Next" button.
      #. Choose a new name for your virtual device and click the "Next" button.
      #. Your virtual device will now be downloaded and deployed.
      #. Click the "Finish" button to close the deployment window.
      #. Click the "Play" button to start your newly created virtual device.

    ** Important Note **
      #. If you close genymotion and want to use it again then just run following command:
         ``cd <path-to-install-Genymotion folder>``

    Saturday, April 26, 2014

    sudo: must be setuid root error

    Open terminal and do, 
    su -
    su  - root

    Next, type:

    chmod 4755 /usr/bin/sudo
    That's it!!! 

    Scrape files from Browser with perl script

    my (@arg) = @ARGV;
    #perl script to scrape the slides from browser all at once
    if (!@arg){
        print "USAGE: \n
           First arg : SEMISTER Number
           Second Arg: Semister Subject
           Third arg : UNIT Number
           Fourth Arg : Number of Pages
           IMAGE TYPE : JPG or PNG 
           Example: perl $0 3 DIF233 UNIT2 49 jpg\n";
        #print "$arg[0]==$arg[1] === $arg[2]==$arg[3]\n";
        system("mkdir -p $arg[1]/$arg[2]"); #creates directory where you want to store the slides
        system("cd  $arg[1]/$arg[2];"); #path to that directory
        #my $val="(?:jpg|png)";
        my $val = $arg[3];
          for(my $i=0;$i<=$val;$i++){ #from 0 to the number of slides the ppt has
         my $val1= "wget http://media.msconline.au-kbc.org.in/slides/semester$arg[0]/$arg[1]/$arg[2]/slides/complete/img$i.jpg"; #scrapes the slides from browser
          my $val2= "convert img$i.jpg slide.pdf"; #converts all slides to one pdf
         my $val3= "mv slide.pdf '$arg[1]/$arg[2]/'"; #moves the pdf to the directory created
        for(my $i=0;$i<=$val;$i++){
            $c = `pwd`; #the directory is from your present working directory
            $aa = "$c/$arg[1]/$arg[2]/";
            #print "cp img$i.png $aa\n";
        system ("mv img$i.jpg  $aa"); #moves the slides to the directory created


    #run as perl down.pl 4 DIF%20004 unit1 63

    Wednesday, April 23, 2014

    Sources error during update

    There are chances that while installing any package you might get sources error and update wont happen. Don't worry at all.
    Just do,
    sudo rm /etc/apt/sources.list.d/<name.list>

    Wednesday, January 8, 2014

    Techfest 2014

    Pranav Mistry @IIT Bombay Techfest talking about his sixth sense technology. The enhancement of this sixth sense technology now is useful for any deaf person to interact with anyone. A deaf person will do sign languages. Those sign languages are recorded by this sixth sense technology http://www.slideshare.net/atinav242/the-sixth-sense-technology-complete-ppt . The gestures are processed into words which are then transmitted to a speaker which has words to speech software. The speaker will then speak out the words which the person actually means. Finally talking about open sourcing his technologies.