- End/Home key – [option]+right/left key
- File cut-paste – [command]+C does copy and [option]+[command]+V does file movement. [command]+V does only file copy to location
- For Mac windows management – use ShiftIt application
- To switch between application windows – use [command]-~
- Undo – use [command] + Z
- Redo – use [command] + [shift] + Z
QuickTip : WordPress Freemind Viewer Plugin – Align to Left
For my one of the blogs TDD Nuggets I used Freemind Viewer plugin which worked really well. However it had one annoying issue. The mindmap was somehow was not aligned to left. Because of that the whole mindmap was not visible and one has to drag it on the page to see it fully. That itself was a big hindrance to usability.
In order to display Flash based mindmap, following change was required in wp-freemind/wp-freemind.php plugin file and it finally worked.
[javascript]
<!–
var fo = new FlashObject("/wp-content/plugins/wp-freemind/visorFreemind.swf", "visorFreeMind", "100%", "100%", 6, "#9999ff");
fo.addVariable("initLoadFile","’.$content.’");
fo.addVariable("offsetX","left");
fo.write("’.$id.’");
//–>
[/javascript]
In above mentioned snippet, line 4 is added in order to set “offsetX” FlashObject variable.
Converting Eclipse Projects to Maven : eclipse-to-maven Intro
Converting a single Eclipse project to Maven is a small task but it becomes huge when you have to deal with hundreds of Eclipse projects. Again this is common in large enterprises. In this context, it can be very useful to have a tool which does just that. The eclipse-to-maven project on github has been created for this purpose.
In current shape it has following features:
- Converts .classpath files into pom.xml.
- Moves source folders according to Maven convention. For instance Java sources go to src/main/java folder.
- Removes spaces in the names of the folders, e.g. “Calculator Component” becomes “CalculatorComponent”.
- Right now Mavenisation is limited to generating dependencies in the pom. However this is a great first step in pom generation. With small changes you can run the Maven build for your projects.
[Read more…] about Converting Eclipse Projects to Maven : eclipse-to-maven Intro
QuickTip : Maven Surefire plugin – Unsupported major.minor version 51.0
Recently I tried using JDK-7 for one small Java project with Maven and I faced issues in surefire plugin:
[bash]
[INFO] Surefire report directory: /Users/shrikant/code/eclipse-to-maven/target/surefire-reports
org.apache.maven.surefire.booter.SurefireExecutionException: com/shri/eclipsetomaven/ClasspathToPomConverterTest : Unsupported major.minor version 51.0; nested exception is java.lang.UnsupportedClassVersionError: com/shri/eclipsetomaven/ClasspathToPomConverterTest : Unsupported major.minor version 51.0
java.lang.UnsupportedClassVersionError: com/shri/eclipsetomaven/ClasspathToPomConverterTest : Unsupported major.minor version 51.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
[/bash]
Just to make sure I used following maven-compiler-plugin configuration for JDK-7 in my pom.xml. However my build still failed.
[xml]
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.7</source>
<target>1.7</target>
<showDeprecation>true</showDeprecation>
<showWarnings>true</showWarnings>
<executable>${env.JAVA_HOME_7}/bin/javac</executable>
<fork>true</fork>
</configuration>
</plugin>
[/xml]
Surefire plugin doesn’t seem to use this configuration for compiling test cases. By default it uses the default JDK used to run the build. In my case it was JDK-6. To make it run on new JDK, I made following changes and eventually it worked.
[xml]
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<jvm>${env.JAVA_HOME_7}/bin/java</jvm>
</configuration>
</plugin>
[/xml]
Worldwide Distributed Agile Team – Some Thoughts
Question: How do you think we can handle Agile approach with a worldwide distributed team (Latin America, US, France, UK, Germany & Hungary)? I can have developers at one location, but not Product Owner nor QA team. Any experience to share?
Answer: Try using ATDD where QA creates the acceptance tests at the beginning of Sprint. ATDD which is based on FitNesse or BDD. QA/BA along with Product Owner writes the test cases and developers have to implement their code in order to satisfy the acceptance criteria. This QA sits along with product owner. Apart from that have regular testers also on each distributed location.
Use Skype group video or Google+ hangout for distributed meetings. Use sync.in to write stuff simultaneously from distributed sides within the meeting.
Have collocation between the distributed teams which are going to collaborate together. That is required to have a good personal bonding. As you said, you can have developers can be at one single location – that’s a good idea. Otherwise multiple distributed teams and then multiple time-zones are very difficult to handle.
Have local as well as distributed standup. Make sure that the entire team is working on shared user-story, shared code-base and people use distributed pair programming.