Blog from August, 2013

BEGIN
   FOR cur_rec IN (SELECT object_name, object_type
                     FROM user_objects
                    WHERE object_type IN
                             ('TABLE',
                              'VIEW',
                              'PACKAGE',
                              'PROCEDURE',
                              'FUNCTION',
                              'SEQUENCE'
                             ))
   LOOP
      BEGIN
         IF cur_rec.object_type = 'TABLE'
         THEN
            EXECUTE IMMEDIATE    'DROP '
                              || cur_rec.object_type
                              || ' "'
                              || cur_rec.object_name
                              || '" CASCADE CONSTRAINTS';
         ELSE
            EXECUTE IMMEDIATE    'DROP '
                              || cur_rec.object_type
                              || ' "'
                              || cur_rec.object_name
                              || '"';
         END IF;
      EXCEPTION
         WHEN OTHERS
         THEN
            DBMS_OUTPUT.put_line (   'FAILED: DROP '
                                  || cur_rec.object_type
                                  || ' "'
                                  || cur_rec.object_name
                                  || '"'
                                 );
      END;
   END LOOP;
END;
/ 

Reference: Henry Gao

Parallax.js

Simple, lightweight Parallax Engine that reacts to the orientation of a smart device. Where no gyroscope or motion detection hardware is available, the position of the cursor is used instead.

Check out this demo to see it in action!

It is pretty simple, in your svn repository you will have a space called "(repo_name)/hooks". Hooks are basically interceptors for SVN actions. Hence, create a file called "pre-commit", then run this command:

chmod 777 pre-commit 

Fill the file with following contents:

pre-commit file
REPOS="$1"
TXN="$2"
# Make sure that the log message contains some text.
SVNLOOK=/usr/bin/svnlook
$SVNLOOK log -t "$TXN" "$REPOS" | \
   grep "[a-zA-Z0-9]" > /dev/null || { echo "You can commit with empty comment, please follow smart comment or put some message."; exit 1;}

# All checks passed, so allow the commit.
exit 0 
Testing Stages in Maven

Test Stages in Development

There are few stages in development testing. In an SDLC figure, it illustrates the different test stages in development phase.

Test Stages in Development Phase

  1. Unit Testing
  2. Integration Testing
  3. Test Automation 

In maven, we have different lifecycle. By default, using maven will help us to achieve test automation, however maven phases helps us to achieve the various stages too.

Please have a look at below figure or read the detail in here:

Step 1 Configuring POM file

However we can consume a maven plugin to be able to have integration test in our code. Have a look at the following example inside your build tags:

maven-failsafe-plugin
<!-- by default failsafe will include all java file with naming: **/IT*.java, **/*IT.java, **/*ITCase.java -->
<build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-failsafe-plugin</artifactId>
        <version>2.16</version>
        <executions>
          <execution>
            <goals>
              <goal>integration-test</goal>
              <goal>verify</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>

 

Step 2 Java Class

It is pretty simple, any java class that follows this naming convention then can be considered as Integration Test:

by default failsafe will include all java file with naming: **/IT*.java, **/*IT.java, **/*ITCase.java

Step 3 How to Execute the Integration Tests

Then you can have another job in your CI to execute integration test separately(mvn verify) to avoid your unit test fail.

There is an amazing post here which describes the differences of Project Manager vs Product Manager. What I really loved is the excel file which will help you to test yourself.

 

Derek Morrison provides the perfect metaphor:

“A Project Manager is like a mid wife- he/she delivers the baby, hands it over to the mother and moves on. The baby being the product and the mother being the Product Manager”

The idea behind the game seemed so simple and at that time we had problems with people committing code that broke the build and failed the (very few) unit tests. I thought that the game could help out, as people like competitions and they would try to "win" the game. To win the game the developers have to commit code that is compiling and add unit tests.

The rules of the game are:
* -10 for breaking a build
* +1 for doing a build with no failures
* -1 for each new test failures
* +1 for each new test that passes

The plugin is more a proof of concept than a real full fledged plugin that will suit everyone. Thus the points for each rule are hard coded and can not be changed in this release. So if you are finding this plugin useful let me know.

Confluence Decisions

I am really in love with Confluence Decisions blueprint. You can read more about it in here. Or watch the following video:

Proposal for Interview Notes

We can do something like Confluence Decisions blueprint for our interview notes. As soon as I get extra time, will like to spend some time on it. 

Unless other experts in house helps us to achieve it just please KISS. It should not be a process it is a blueprint and template (wink)

As unprecedented numbers of enterprises build mobile applications, the mobile application development platform market continues to grow and evolve rapidly. Gartner assesses the major vendors that enable enterprise IT developers to create mobile applications for customers, partners and employees. You can read full report here.

 

The Agile Stack

To celebrate this week's Agile 2013 Conference, we've collected six Agile-related Refcardz and made them available in one convenient package. Together these six cards provide a quick-access deep-dive into some of the key approaches and methods gathered under the Agile umbrella.

Refcardz included in this deck:

RC 50 - Scrum

RC 109 - Kanban

RC 93 - Lean Software Development

RC 45 - Agile Adoption: Decreasing Time to Market

RC 54 - Agile Adoption: Reducing Cost

RC 74 - Agile Adoption: Improving Software Quality

You can download them in here.

Big Data