- http://www.sw-engineering-candies.com/blog-1/selected-software-engineering-coding-anti-patterns-from-my-source-code
- http://www.sw-engineering-candies.com/blog-1/benefits-of-estimating-effort-and-time-with-probabilities-in-project-management
- http://www.sw-engineering-candies.com/blog-1/top-6-success-factors-to-inspire-a-team-of-software-engineers
- http://www.sw-engineering-candies.com/blog-1/tutorial-top-of-apache-commons-libraries-for-java-development
- http://www.sw-engineering-candies.com/blog-1/how-to-enhance-static-call-graph-analysis-with-dynamic-data-from-profiling
- http://asm.ow2.org/
- http://yaca-monitor.appspot.com/
- http://d3js.org/
- http://www.sw-engineering-candies.com/blog-1/why100linecoverageisnotalwaysenough
- http://www.sw-engineering-candies.com/blog-1/leanitgrundlagenprinzipien
- http://www.sw-engineering-candies.com/blog-1/thewronguseofloggingcanbeaperformancekillerinjava
- http://www.uml.org/
- http://www.sw-engineering-candies.com/blog-1/top10thingseverysoftwareengineershouldknow
- http://www.leepoint.net/notes-java/algorithms/big-oh/bigoh.html
- http://www.ibm.com/developerworks/rational/library/769.html
- http://www.sw-engineering-candies.com/blog-1/aminimaljavaapplicationbasedonspring311famework
- http://www.sw-engineering-candies.com/blog-1/howtoinitializeajavahashmapwithreasonablevalues
- http://www.sw-engineering-candies.com/blog-1/howtoimplementforkandjoininjava7-jsr166concurrencyutilities
- http://nayuki.eigenstate.org/page/fast-fibonacci-algorithms
- http://www.sw-engineering-candies.com/blog-1/tutorial-amemoryandruntimeanalysisfortheremoveallmethodofjavatreesetandarraylist
- http://www.sw-engineering-candies.com/blog-1/howmuchtestcodeisneededforabasichashmapimplementationinjava
- http://www.sw-engineering-candies.com/blog-1/howtotransformtheresultsfromfindbugscheckstyleandpmdintoasinglehtmlreportwithxslt20andjava
- http://www.ibm.com/developerworks/xml/library/x-hands-on-xsl/index.html?dwzone=xml
- http://xradar.sourceforge.net/
- http://innig.net/macker/
- http://classycle.sourceforge.net/
- http://www.sw-engineering-candies.com/blog-1/comparison-of-findbugs-pmd-and-checkstyle
- https://developers.google.com/java-dev-tools/codepro/doc/?hl=en
- http://www.sw-engineering-candies.com/blog-1/thewronguseofloggingcanbeaperformancekillerinjava
- http://www.sw-engineering-candies.com/blog-1/howtorunfindbugspmdcheckstylejunitcobertruawithasimpleantbuildscript
Scala Links
HP Developer Anywhere Updated to 10.01 on June 1, 2013
New Features in this Release
l App redeployment. You can quickly redeploy your app when your Java code changes.
l Automatically reload app configuration files. HP Anywhere IDE automatically applies
changes to your app’s configuration files to the app running on the HP Anywhere server, so you
don’t need to manually reload your app every time you modify these files.
l New jQuery Mobile templates. You can now use out-of-the-box jQuery Mobile templates to
create Hello World and My Report apps.
l Minification support for your apps.HP Anywhere IDE comes complete with a built-in
mechanism that automatically minifies your apps, so they’re always ready for production.
l Automatic updates. Your HP Anywhere IDE Plugin is automatically updated, so you always
have the latest version of the plugin at your fingertips.
l Eclipse Marketplace. You can now download the HP Anywhere IDE Plugin directly from
Eclipse Marketplace.
l Bug fixes. For details, see “Fixed Defects in this Release” on the next page.
http://developer.hpanywhere.com/mind-zone/
Fixed Defects in this Release
The reference number for each fixed defect is the Change Request (QCCR) number. For more
information about fixed defects, visit HP Software Support Online, or contact your HP Support
representative directly.
The following defects are fixed in HP Anywhere IDE (Eclipse) 10.01:
l Coexistence of HP Anywhere IDE and HP Anywhere server: HP Anywhere IDE cannot
reside on the same machine as HP Anywhere server. If HP Anywhere server was already
installed on the machine, the installer did not prevent the installation of HP Anywhere IDE.
(QCCR161516)
l New app version always set to 1.0.0: If you changed the app version in the HP Anywhere App
Project wizard to anything other than the default 1.0.0, the change was ignored. (QCCR158307)
l Inaccessible descriptor file (relevant for WebOS catalog): The <app_name>-
descriptor.xml file was wrapped in the WAR file, and therefore, the app’s metadata was not
accessible when uploading to the WebOS catalog. (QCCR158935)
l OutOfMemoryError: PermGen space error message: This error message was sometimes
displayed when uploading to the HP Anywhere server. (QCCR162145)
l HP Anywhere IDE not shown by default: When you opened HP Anywhere IDE, the default
perspective was set to the Java IDE instead of HP Anywhere IDE. (QCCR160985)
l Incorrect error message for new project with existing name: If you tried to create a project
using an existing project name, a general “failed” error message was displayed that did not
indicate the reason. (QCCR160990)
l HP AnywhereIDE would not start if JDK 1.6 was installed: If JDK 1.6 was installed on the
machine, HP Anywhere IDE failed to open even though JDK 1.7 was also installed on the
machine. (QCCR160984)
l Generic log file: Apps created using
Log Scraping
package com.agilemobiledeveloper.logcheck;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import com.jcraft.jsch.Channel;
import com.jcraft.jsch.ChannelSftp;
import com.jcraft.jsch.JSch;
import com.jcraft.jsch.Session;
/**
*
* @author spannt
*
*/
public class LogScraper {
/**
* @param args
*/
public static void main(String[] args) {
String SFTPHOST = "myunixsite.com";
int SFTPPORT = 22;
String SFTPUSER = "myunixid";
String SFTPPASS = "myunixpassword";
String SFTPWORKINGDIR = "/some/unix/directory";
String SERRORFILE = "SystemErr.log";
String SOUTFILE = "SystemOut.log";
Session session = null;
Channel channel = null;
ChannelSftp channelSftp = null;
StringBuilder out = new StringBuilder();
try {
JSch jsch = new JSch();
session = jsch.getSession(SFTPUSER, SFTPHOST, SFTPPORT);
session.setPassword(SFTPPASS);
java.util.Properties config = new java.util.Properties();
config.put("StrictHostKeyChecking", "no");
session.setConfig(config);
session.connect();
channel = session.openChannel("sftp");
channel.connect();
channelSftp = (ChannelSftp) channel;
channelSftp.cd(SFTPWORKINGDIR);
System.out.println("Error File");
out.append("Error File:").append(
LogScraper.parseStream(channelSftp.get(SERRORFILE)));
System.out.println("Output File");
out.append("Output File:").append(
LogScraper.parseStream(channelSftp.get(SOUTFILE)));
} catch (Exception ex) {
ex.printStackTrace();
out.append(ex.getLocalizedMessage());
}
System.out.println("Logs=" + out.toString());
}
/**
*
* line.contains("Exception") ||
*
* @param file
* @return String of error data
*/
public static String parseStream(InputStream inputFileStream) {
if ( null == inputFileStream ) { return "Log Empty"; }
StringBuilder out = new StringBuilder();
BufferedReader br = new BufferedReader(new InputStreamReader(
inputFileStream));
String line = null;
try {
while ((line = br.readLine()) != null) {
if (line.contains("OutOfMemoryError")) {
out.append(line).append(System.lineSeparator());
}
}
} catch (IOException e) {
e.printStackTrace();
out.append(e.getLocalizedMessage());
}
return out.toString();
}
}
Using Square Retrofit REST Client with POJO
Another helpful resource when using Retrofit, JSON to POJO
In your maven pom.xml.
<dependency>
<groupId>com.squareup.retrofit</groupId>
<artifactId>retrofit</artifactId>
<version>(insert latest version)</version>
</dependency>
package com.agilemobiledeveloper.dataradiator.dao;
import retrofit.http.GET;
import retrofit.http.Path;
import retrofit.RestAdapter;
/**
*
* @author spannt
*
*/
public class TestGitHub {
static final String API_URL = "https://api.github.com";
static class GithubUserData{
String avatar_url;
String bio;
String blog;
String company;
String created_at;
String email;
String events_url;
Number followers;
String followers_url;
Number following;
String following_url;
String gists_url;
String gravatar_id;
boolean hireable;
String html_url;
Number id;
String location;
String login;
String name;
String organizations_url;
Number public_gists;
Number public_repos;
String received_events_url;
String repos_url;
String starred_url;
String subscriptions_url;
String type;
String updated_at;
String url;
}
interface GithubUser {
@GET("/users/{username}")
GithubUserData user(@Path("username") String username);
}
/**
*
* @param args
*/
public static void main(String... args) {
// Create a very simple REST adapter which points the GitHub API endpoint.
RestAdapter restAdapter = new RestAdapter.Builder()
.setServer(API_URL)
.build();
// Create an instance of our GitHub API interface.
GithubUser githubUser = restAdapter.create(GithubUser.class);
GithubUserData userdata = githubUser.user("nxbdi");
System.out.println("UserData=" + userdata.bio + "," + userdata.email + "," + userdata.name +
userdata.location + "," + userdata.public_repos + "," + userdata.followers);
}
}
The library is really simple to use especially if you create your POJO class with the JSONGen.
Console Output:
UserData=Java, Android, NoSQL, SQL. 20 years experience. MS/BS in Com Sci.,tim@agilemobiledeveloper.com,Tim SpannNew Jersey,205,22
15 Seconds to Selenide
package com.agilemobiledeveloper.dataradiator;
import static org.junit.Assert.*;
import org.junit.Test;
import static com.codeborne.selenide.Selenide.*;
import static com.codeborne.selenide.Condition.text;
import static com.codeborne.selenide.Selectors.by;
import static com.codeborne.selenide.Selectors.byText;
import static com.codeborne.selenide.Selenide.$;
import static com.codeborne.selenide.Selenide.$$;
import com.codeborne.selenide.SelenideElement;
import org.junit.Test;
import org.openqa.selenium.By;
import static com.codeborne.selenide.Condition.*;
import static com.codeborne.selenide.Selectors.*;
import static com.codeborne.selenide.Selenide.*;
/**
*
* @author spannt
*
*/
public class TestHome {
@Test
public void userCanLoginByUsername() {
open("http://google.com/");
$("title").shouldHave(text("Google"));
}
}
In Maven pom.xml
<dependency>
<groupId>com.codeborne</groupId>
<artifactId>selenide</artifactId>
<version>2.1</version>
</dependency>
Links du Jour
dzone.com – BUILD REAL WEATHER APP: JSON, HTTP AND OPENWEATHERMAP
dzone.com – Crossing platforms between iOS and Android with PhoneGap framework. Tutorial
dzone.com – ADB Command Basics and Setup Tutorial
dzone.com – Publishing Android App in Google Play. Things to know ahead!
The Daily Nerd ☆ Vasilis van Gemert
Status Code: A Weekly Programming Newsletter for Developers and Programmers
Mozilla Hacks Weekly Articles ✩ Mozilla Hacks – the Web developer blog
CSS Weekly — Weekly e-mail roundup of latest CSS articles, tutorials, tools and experiments
Open Web Platform Daily Digest
Smashing Magazine — For Professional Web Designers and Developers
Web Platform Blog | News on the Open Web Platform
Quick Example of Searching Your Outlook PST File with Java
https://github.com/rjohnsondev/java-libpst
import com.pff.*; import java.util.*;
public class <strong>Test</strong> {
private java.sql.Date yesterday;
public static void main(String[] args)
{
Test c = new Test("C:\Users\USERID\Documents\Outlook Files\MYEMAIL.pst");
System.out.println("Mail Count:" + c.counter);
System.out.println("Folder Count: " + c.foldercounter );
}
// mail counter public int counter = 0;
// folder counter public int foldercounter = 0;
/**
*
* Constructor for Test.
* @param filename
*/
public Test(String filename) {
try {
// Get today as a Calendar
Calendar today = Calendar.getInstance();
// Subtract 1 day
today.add(Calendar.DATE, -1);
// Make an SQL Date out of that
yesterday = new java.sql.Date(today.getTimeInMillis());
PSTFile pstFile = new PSTFile(filename);
//System.out.println(pstFile.getMessageStore().getDisplayName());
processFolder(pstFile.getRootFolder());
} catch (Exception err) {
err.printStackTrace();
}
}
int depth = -1;
/**
*
*/
public void processFolder(PSTFolder folder)
throws PSTException, java.io.IOException
{
depth++;
// the root folder doesn't have a display name
//if (depth > 0) {
// System.out.println("Folder Name:" + folder.getDisplayName());
//}
// go through the folders...
if (folder.hasSubfolders()) {
Vector<PSTFolder> childFolders = folder.getSubFolders();
for (PSTFolder childFolder : childFolders) {
processFolder(childFolder);
}
}
//System.out.println("Folder Count:" + folder.getContentCount());
// counter += folder.getContentCount();
// and now the emails for this folder
if (folder.getContentCount() > 0) {
foldercounter++;
depth++;
PSTMessage email = (PSTMessage)folder.getNextChild();
while (email != null && email.getSubject() !=null) {
if (email.getSubject().toLowerCase().contains("MY SEARCH TERM") ) {
System.out.println(folder.getDisplayName() + ":Email: "+email.getSubject());
}
// count todays
if ( email.getCreationTime().after(yesterday) ) {
counter++;
}
email = (PSTMessage)folder.getNextChild();
}
depth--;
}
depth--;
}
}
Droid Development Links
- http://www.ibm.com/developerworks/java/library/j-mobileforthemasses1/index.html?ca=drs-
- https://github.com/yanchenko/droidparts
- http://droidparts.org/
- http://www.daggie.be/?p=1006
- Juhani Lehtimäki – Google+ – Where To Start – Learning Android Development the Right Way…
- android-ui-utils – Android UI Utilities – Google Project Hosting
- Android Development Tutorial
- Android HTTP Access – Tutorial
- NineOldAndroids
- Apache Cordova
- PhoneGap Tutorial: PhoneGap – geolocation example
- jag saund – Blog – Customizing Your Progress Bar – Part One
- ActionBarSherlock – Home
- amigold/FunDapter
- cyrilmottier/Polaris2 · GitHub
- PhoneGap API Documentation
- ANDROID PROGRAMMING TUTORIAL – Android Apps on Google Play
- javamail-android – JavaMail port for the android plateform – Google Project Hosting
- PhoneGap API Documentation
- / – romannurik-code – Roman’s miscellaneous sample code – Google Project Hosting
- Android Action Bar Style Generator
- PhoneGap | Developer Portal
- Getting started with PhoneGap | Tutorial | .net magazine
- Testing Fundamentals | Android Developers
- Android Location API – Tutorial
- PhoneGap | Home
- Using Hardware Devices | Android Developers
- AndroidAnnotations
- Adobe PhoneGap Build
- PhoneGap API Documentation
- Useful Android Libraries
- ViewPagerIndicator
- Pushing the ActionBar to the next level – Cyril Mottier
- Licenses | Pebble
- roman.nurik Google Project Hosting
- android-scripting – Scripting Layer for Android brings scripting languages to Android. – Google Project Hosting
- commonsguy/cw-advandroid · GitHub
- Gradle – Build Automation Evolved
- Clean Code Development – Quality Seal: First PhoneGap App with Android using Eclipse Step by Step on Windows
- greenDAO – Android ORM for SQLite | greenDAO is a light & fast ORM solution that maps objects to SQLite databases.
- romannu…@google.com Google Project Hosting
- PhoneGap Tutorial: A Cross-Platform Zombie App
- Home · excilys/androidannotations Wiki
- cyrilmottier/GreenDroid · GitHub
- Adobe PhoneGap Build
- phonegap/phonegap-facebook-plugin · GitHub
- Android Studio: An IDE built for Android | Android Developers Blog
- Android Holo Colors
- Android Action Bar Style Generator
- Android Asset Studio
- Chris Lacy – Google+ – Getting Started With Android Development I often get asked…
- Getting Started with Android Development Ray Wenderlich
- androiddevweekly.com
- Resources every Android developer must know
It’s Hip 2 B Square
Cool Android Tools from Square
Android Testing
http://square.github.io/fest-android/
http://piotrjagielski.com/blog/a-cool-technique-for-object-comparison-in-junit/
http://corner.squareup.com/2013/04/the-resurrection-of-testing-for-android.html
https://code.google.com/p/robotium/
https://code.google.com/p/mockwebserver/
https://github.com/robolectric/robolectric
http://corner.squareup.com/2013/05/robolectric-two-point-oh.html
http://corner.squareup.com/2012/10/mockito-android.html
https://github.com/octo-online/robospice
https://github.com/octo-online/RoboSpice-samples
Small Square Tools
http://corner.squareup.com/2013/05/mimecraft-javawriter-protoparser.html
https://github.com/square/protoparser
https://github.com/square/javawriter
Event Bus
Square IntelliJ Plugins
http://corner.squareup.com/2013/05/intellij-plugins.html
https://github.com/square/dagger-intellij-plugin
https://github.com/square/otto-intellij-plugin
Date from Calendar View for Android
https://github.com/square/android-times-square
http://corner.squareup.com/2013/01/times-square.html
HTTP and SPDY Client for Android
http://square.github.io/okhttp/
http://corner.squareup.com/2013/05/announcing-okhttp.html
Dagger DI
http://square.github.io/dagger/
http://corner.squareup.com/2013/05/dagger-1.0.html
http://musingsofaprogrammingaddict.blogspot.com/2012/11/dagger-new-java-dependency-injection.html
http://www.infoq.com/presentations/Dagger
http://blog.patrickbaumann.com/2012/10/di-on-android-without-the-startup-cost-dagger/
https://github.com/patrickbaumann/daggervsroboguice
https://github.com/eburke/presentations/tree/master/strange_loop_2012/samplecode
Spoon Android Testing
http://square.github.io/spoon/
Android Image Caching and Downloading
http://square.github.io/picasso/
http://corner.squareup.com/2013/05/picasso-one-dot-oh.html
http://square.github.io/pollexor/
https://github.com/globocom/thumbor
https://github.com/globocom/thumbor/wiki
Android Shake Detection
https://github.com/square/seismic
Android Queues
REST Client for Android
http://square.github.io/retrofit/
http://corner.squareup.com/2013/05/retrofit-one-dot-oh.html
Square OSS Community
Squash Notification Tool
http://corner.squareup.com/2013/01/squash.html
Android Tips
http://www.curious-creature.org/2012/12/13/android-recipe-2-fun-with-shaders/
Facebook SDK for Android
https://github.com/facebook/facebook-android-sdk
Sending Photos Easy
http://mobile.tutsplus.com/tutorials/android/android-sdk-sending-pictures-the-easy-way/
Growing Android Applications Guided by Tests – using Square Tools
http://www.novoda.com/blog/blog/gaagbt-part-1
https://github.com/frankiesardo/growing-android-applications-guided-by-tests
Vert.x + Yoke (Polyglot Answer to Node.js + Express) + WebSockets on many clouds
http://www.infoq.com/news/2013/05/high-volume-vertx
http://www.slideshare.net/samueltauil/vertx-judcon
http://pmlopes.github.io/yoke/
https://github.com/core9/vertx-yoke-engine-closure
https://github.com/core9/mod-mongo-persistor
Vert.x 2.0 Developing Vert.x with Maven · vert-x/vert.x Wiki
Yoke a middleware framework for Vert.x: Java-Tutorial
Vert.x takes first step towards Eclipse Foundation
cloudfoundry-samples/vertx-vtoons · GitHub
Yoke a middleware framework for Vert.x: Benchmark
Vert.x 2.0 Developing Vert.x with Maven · vert-x/vert.x Wiki
Getting Started With vertx (vert.io) – an Alternative to node.js | Web Builder Zone
CloudBees-community/vertx-clickstack · GitHub
Vert.x – the Node.js for Java in the Cloud | OpenShift by Red Hat
Deploying vert.x Applications to Cloud Foundry | CloudFoundry.com Blog
Fun with Scala and Vert.x | Javalobby
Reactor pattern – Wikipedia, the free encyclopedia
Vert X Vs Node Js – Latest Technology News | TechNewsNow.com :: TechnewsNow.com
openshift-quickstart/vertx-openshift-quickstart · GitHub
purplefox/openshift-vertx · GitHub
Running a Java Vert.x app on Heroku
Using web workers – Web developer guide | MDN
Asynchronous concurrency with vert.x – part 1 | synyx – Blog
Asynchronous concurrency with vert.x – Part 2 | synyx – Blog
yoke/example/persona at master · pmlopes/yoke · GitHub
yoke/example/kitcms at master · pmlopes/yoke · GitHub
Cool HTML5, CSS3 and JS Tools
Codenvy
I love this IDE. It connects to PAAS, easily and without effort.
In my example I easily create a Spring application and could run on their local server and easily deploy to AppFog. It also works with CloudFoundry, CloudBees, Heroku and OpenShift. All of which have free versions.
It works with Maven and is similiar to Eclipse.
Spring MVC + Modern HTML5
Tobacco tries it’s best to always include the latest release versions of most popular client libraries.
Latest Tobacco 1.0.12 charges you with Spring 3.2.2, Twitter Bootstrap 2.3.1, jQuery 1.9.1 and Backbone.js 1.0.0
Tobacco Maven Architype for building a project
- http://tobacco.noroutine.me/
- https://github.com/noroutine/tobacco-bootstrap
- https://github.com/noroutine/tobacco-maven-plugin
- https://github.com/noroutine/dust4j
- http://linkedin.github.io/dustjs/
https://github.com/priyatam/springmvc-twitterbootstrap-showcase
http://duckranger.com/2012/07/spring-mvc-and-twitter-bootstrap-customizing-the-input-fields/
http://bthurley.wordpress.com/2012/07/18/spring-mvc-with-restful-datatables/
http://duckranger.com/2012/12/capturing-property-changes-with-spring-jpa-and-hibernate/
https://github.com/eugenp/REST#readme
Apache Zookeeper
Apache Zookeeper
replicated synchronization service with eventual consistency
- http://zookeeper.apache.org/doc/trunk/recipes.html
- http://blog.cloudera.com/blog/2013/02/how-to-use-apache-zookeeper-to-build-distributed-apps-and-why/
- https://github.com/apache/zookeeper
- https://cwiki.apache.org/confluence/display/ZOOKEEPER/Index
- https://cwiki.apache.org/confluence/display/ZOOKEEPER/Tao
- https://cwiki.apache.org/confluence/display/ZOOKEEPER/UsefulTools
- https://github.com/phunt/zktop#readme
- https://cwiki.apache.org/confluence/display/ZOOKEEPER/ZKClientBindings
- https://github.com/twitter/scala-zookeeper-client
- https://github.com/yfinkelstein/node-zookeeper
- http://tech.federatedmedia.net/apache-zookeeper-part-1-convenient-service-servers/
- http://www.ibm.com/developerworks/java/library/j-zookeeper/
- http://www.slideshare.net/scottleber/apache-zookeeper
- http://java.dzone.com/articles/apache-kafka-apache-zookeeper
- https://cwiki.apache.org/confluence/display/ZOOKEEPER/ZooKeeperPresentations
- http://highscalability.com/blog/2008/7/15/zookeeper-a-reliable-scalable-distributed-coordination-syste.html
- http://www.dzone.com/links/search.html?query=zookeeper&x=-1649&y=-4
- http://www.dzone.com/links/r/an_interview_with_clouderas_kathleen_ting_zookeep.html
- http://www.dzone.com/links/r/cloud_provisioning_with_apache_zookeeper.html
- http://www.dzone.com/links/r/avoiding_redundant_ephemeral_nodes_in_apache_zook.html
- http://www.dzone.com/links/r/monitoring_apache_hadoop_cassandra_and_zookeeper.html
- http://www.dzone.com/links/r/building_an_impenetrable_zookeeper.html
- http://www.dzone.com/links/r/example_distributed_queue_using_zookeeper_via_cur.html
Bag of Links
Links
http://coding.smashingmagazine.com/2013/03/11/responsible-web-design/
http://calendar.perfplanet.com/2012/
http://www.cakesolutions.net/teamblogs/2011/12/19/cake-pattern-in-depth/
http://thoughtforge.net/2051/continuous-delivery-a-maturity-assessment-model/
http://architects.dzone.com/articles/unit-testing-best-practices
http://www.project-management-tools.net/software-development-methodologies/
http://agile.dzone.com/articles/ebays-open-source-agile-test
http://da-data.blogspot.nl/2013/03/optimistic-cuckoo-hashing-for.html
http://javapostsforlearning.blogspot.in/2013/03/serialization-in-java.html
http://www.drmaciver.com/2013/03/a-rewritten-manifesto-for-error-reporting/
Templates
http://freemarker.sourceforge.net/
Mustache for Java and Android
https://github.com/samskivert/jmustache
https://github.com/spullara/mustache.java
http://www.javarants.com/2010/05/03/the-ideal-web-application-templating-system/
http://mustache.github.com/mustache.5.html
https://github.com/raycmorgan/Mu
https://hacks.mozilla.org/2013/03/shiva-more-than-a-restful-api-to-your-music-collection/
http://java.dzone.com/articles/composite-design-pattern-java-0
http://www.duckout.de/java/json-with-java-jackson/
http://smashinghub.com/33-best-free-html5-tutorials.htm
http://www.catswhocode.com/blog/ultimate-list-of-wordpress-resources
http://skuro.tk/2013/03/11/java-stringbuilder-myth-now-with-content/
http://www.springsource.org/spring-data/rest
https://github.com/SpringSource/spring-data-rest
http://static.springsource.org/spring-data/rest/docs/1.1.0.M1/reference/htmlsingle/
http://www.javaworld.com//javaworld/jw-03-2013/130306-introduction-to-design-patterns-part-3.html
http://www.ibm.com/developerworks/agile/library/a-devops8/a-devops8-pdf.pdf
http://www.ibm.com/developerworks/java/library/j-mobileforthemasses1/index.html?ca=drs-
http://www.ibm.com/developerworks/opensource/library/os-test-stafstax/index.html?ca=drs-
http://www.ibm.com/developerworks/java/library/j-jn1/index.html?ca=drs-
http://paulirish.com/2013/webkit-for-developers/
http://html5doctor.com/html5-forms-input-types/
http://www.adobe.com/devnet/html5/articles/book-excerpt-the-definitive-guide-to-html5-websocket.html
http://www.youtube.com/watch?v=4oa9xEn3nos
http://buildnewgames.com/introduction-to-crafty/
http://jdstraughan.com/2013/03/05/html5-snake-with-source-code-walkthrough/
https://www.manymo.com/pages/blog/open-in-android-bookmarklet
http://blog.andyet.com/2013/feb/22/introducing-simplewebrtcjs-and-conversatio/
http://huddle.github.com/Resemble.js/
https://github.com/WebReflection/dom4
http://www.dzone.com/links/r/devref_welcome.html
http://maxlibin.com/practice-sass-now/
http://variadic.me/posts/2013-03-06-solving-problems-data-structures.html
http://edmundkirwan.com/general/junit.html
http://blog.jelastic.com/2013/03/06/why-java-does-not-support-operator-overloading-guest-post/
http://architects.dzone.com/articles/install-mongodb-ubuntu
http://mrbool.com/how-to-create-an-editable-html-table-with-jquery/27425
Agile Defacto
http://www.javaworld.com/javaworld/jw-06-2007/jw-06-awci.html
http://xunitpatterns.com/Code%20Refactorings.html
Agile
http://www.infoq.com/presentations/Hacking-Culture
Top ALM Tools
http://www.infoq.com/research/alm-survey?utm_source=infoqresearch&utm_campaign=rr-topicpages
LeanUX
http://www.infoq.com/interviews/lean-ux-explained-jeff-gothelf
http://www.infoq.com/interviews/saddington-agile-scout
Refactoring Legacy Applications
http://www.infoq.com/articles/refactoring-legacy-applications
Cloud Computing / PAAS
http://www.infoq.com/presentations/CloudStack-Architecture
http://www.infoq.com/interviews/mccallion-enterprise-cloud-hybrid-redshift
HTML5 + WebSockets + java
http://www.infoq.com/presentations/JSR-356-HTML5-WebSocket-Java
DevOps
http://www.infoq.com/presentations/Facebook-Release-Process
HTML5 / CSS / JS / Mobile / Design
http://www.infoq.com/interviews/javascript-performance-stoyan-stefanov
WebApp
http://www.infoq.com/presentations/Web-App-Platform
http://www.infoq.com/presentations/JSR-356-HTML5-WebSocket-Java
http://johnpolacek.github.com/stacktable.js/
http://speckyboy.com/2013/03/04/designing-custom-github-demo-pages/
http://mojotech.github.com/stickymojo/
http://24ways.org/2012/how-to-make-your-site-look-half-decent/
http://jschr.github.com/textillate/
http://dfcb.github.com/Bedrock/
http://mcpants.github.com/jquery.shapeshift/
http://tenxer.github.com/xcharts/
http://fabien-d.github.com/alertify.js/
http://fatiherikli.github.com/mockup-designer/#document/93a862f6-f82c-2b33-d05b-414dde03c75f
http://jakiestfu.github.com/Behave.js/
http://sundaykofax.github.com/baby-legs/
http://oazabir.github.com/Droptiles/
http://justspamjustin.github.com/junior/#home
http://soulwire.github.com/Makisu/
http://imsky.github.com/holder/
http://benvie.github.com/continuum/
http://thisisdallas.github.com/Simple-Grid/
http://www.webdesignerdepot.com/2013/03/essential-web-design-tips-for-start-ups/
http://tokokoo.github.com/pondasee/
http://jhough10.github.com/Centurion/
http://needim.github.com/noty/
http://oskarkrawczyk.github.com/heyoffline.js/
http://matthewhartman.github.com/base/
http://anasnakawa.github.com/bi-app-less/
http://dfcb.github.com/Responsivator/
http://ckrack.github.com/fbootstrapp/
http://bernii.github.com/gauge.js/
http://laktek.github.com/punch/
http://shopify.github.com/dashing/
http://elclanrs.github.com/jq-idealforms/
http://alexdunphy.github.com/refineslide/
http://soulwire.github.com/sketch.js/
http://sebnitu.github.com/BaseDemo/
http://dfcb.github.com/controldeck.js/
http://oscargodson.github.com/EpicEditor/
http://hpneo.github.com/gmaps/
http://cjdsie.github.com/wirefy/
http://jsantell.github.com/dancer.js/
http://lukaszfiszer.github.com/selectnav.js/
http://xing.github.com/wysihtml5/
http://luis-almeida.github.com/filtrify/
http://luis-almeida.github.com/jPages/
http://eightmedia.github.com/hammer.js/
http://welaika.github.com/wordless/
http://twitter.github.com/typeahead.js/
https://github.com/blog/1081-instantly-beautiful-project-pages
Java Patterns
http://javapostsforlearning.blogspot.in/2013/03/template-method-design-pattern-in-java.html
http://javapostsforlearning.blogspot.in/2013/02/observer-design-pattern-in-java.html
Hibernate / Spring
http://javapostsforlearning.blogspot.in/2012/08/introduction-to-spring-framework.html
http://javapostsforlearning.blogspot.in/2012/08/dependency-injectionioc-in-spring.html
http://javapostsforlearning.blogspot.in/2012/08/spring-hello-world-example-in-eclipse.html
http://javapostsforlearning.blogspot.in/2012/08/dependency-injection-via-setter-method.html
http://javapostsforlearning.blogspot.in/2012/08/dependency-injection-via-constructor-in.html
http://javapostsforlearning.blogspot.in/2012/08/spring-bean-scopes-with-examples.html
http://javapostsforlearning.blogspot.in/2013/02/hibernate-inheritancetable-per-concrete.html
http://javapostsforlearning.blogspot.in/2013/02/hibernate-inheritancetable-per-subclass.html
http://javapostsforlearning.blogspot.in/2012/08/inheritance-in-spring.html
http://javapostsforlearning.blogspot.in/2012/08/beanpostprocessors-in-spring.html
http://javapostsforlearning.blogspot.in/2012/08/spring-lifetime-callbacks.html
http://javapostsforlearning.blogspot.in/2012/09/annotation-based-configuration-in-spring.html
http://javapostsforlearning.blogspot.in/2012/08/spring-applicationcontext.html
Business Framework
http://open-dolphin.org/dolphin_website/Home.html
https://github.com/canoo/DolphinJumpStart
http://open-dolphin.org/download/guide/index.html
Agile
http://agile.dzone.com/articles/story-points-considered
http://allankelly.blogspot.co.uk/2013/02/11-agile-myths-and-2-truths.html
IBM Heap
java -Xmx1100m -jar jca437.jar
open phd files
PHD format heapdumps
http://www-01.ibm.com/support/docview.wss?uid=swg21190476
http://www-01.ibm.com/support/docview.wss?uid=swg21196223
java -jar ga439.jar
java -Xmx1100m -jar jca437.jar
ha444.jar <- heap dump analysis
Note: 64-bit Java runtime environment is needed for processing heap dumps that require more than 4GB of memory
java -Xmx2560m -jar ha444.jar
Run com.ibm.jvm.ras.findroots.PrintHeapdump with phd file and redirect output to a file:
java -Xmx1100m -classpath svcdump.jar com.ibm.jvm.ras.findroots.PrintHeapdump heapdump.20130503.055912.16777398.0001.phd > heapdump1.txt
java -Xmx1100m -classpath svcdump.jar com.ibm.jvm.ras.findroots.PrintDomTree heapdump.20130503.055912.16777398.0001.phd > domtree.txt
java -Xmx1100m -classpath svcdump.jar com.ibm.jvm.ras.findroots.TreeViewer domtree.txt
Websphere
Cool Links of the Day
dzone.com – Build Your First Mobile App with PhoneGap Build
Nullzzz – FRP, Bacon.js and stuff: Bacon.js Tutorial Part I : Hacking With jQuery
dzone.com – Synchronising Multithreaded Integration Tests revisited
dzone.com – Task.js Asynchronous Tasks In JavaScript
Understanding Java Garbage Collection and what you can do about it – YouTube
dzone.com – Algorithm of the Week: Shortest Path with Djikstra
MongoDB – Updating Records – CodeProject
dzone.com – Sencha Touch 2 Stores – Editing Model Instances and Reverting Changes
dzone.com – String Utility Classes in Java
dzone.com – 5 Talks To Learn More About Node.js
dzone.com – JPA/JPQL: Intermediate Queries with @NamedQuery
dzone.com – How RESTful Is Your REST?
Native Win32 ports of some GNU utilities
UnxUtils | Free software downloads at SourceForge.net
SOAP / WS-Security / IBM / Metro / Apache CXF / Axis2
WS-Security Configuration
<con:wssContainer>
<con:crypto>
<con:source>keystore.jks</con:source>
<con:password>mypasswordiscool</con:password>
<con:type>KEYSTORE</con:type>
</con:crypto>
<con:outgoing>
<con:name>Outgoing</con:name>
<con:entry type=”Username” username=”longcomplicateduser” password=”weirdRandomP@33w4rD!”>
<con:configuration>
<addCreated>true</addCreated>
<addNonce>true</addNonce>
<passwordType>PasswordDigest</passwordType>
</con:configuration>
</con:entry>
<con:entry type=”Timestamp”>
<con:configuration>
<timeToLive>60</timeToLive>
<strictTimestamp>true</strictTimestamp>
</con:configuration>
</con:entry>
</con:outgoing>
</con:wssContainer><soap:Header>
<wsse:Security soap:mustUnderstand=”true” xmlns:wsse=”http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd” xmlns:wsu=”http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd”><wsu:Timestamp wsu:Id=”TS-4″><wsu:Created>2013-05-01T19:52:45.639Z</wsu:Created><wsu:Expires>2013-05-01T19:53:45.639Z</wsu:Expires></wsu:Timestamp><wsse:UsernameToken wsu:Id=”UsernameToken-3″><wsse:Username>longcomplicateduser</wsse:Username><wsse:Password Type=”http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordDigest”>weirdRandomP@33w4rD!</wsse:Password><wsse:Nonce EncodingType=”http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary”>dfdfdf</wsse:Nonce><wsu:Created>2013-05-01T19:52:45.638Z</wsu:Created></wsse:UsernameToken></wsse:Security>
</soap:Header>
http://techdiary.bitourea.com/2007/03/step-by-step-tutorial-to-use-rampart.html
http://www.coderanch.com/t/422683/Web-Services/java/SOAP-Header-missing-Rampart-Axis
http://stackoverflow.com/questions/11794223/rampart-doesnt-add-necessary-headers-to-soap-envelope
SET AXIS2_HOME=/axis2-1.6.2
wsdl2java.bat -uri https://X.com?wsdl -o JavaPrj -p mypackage.is.cool -d xmlbeans -t -ss -ssi -sd -g -ns2p
System.setProperty(“javax.net.ssl.keyStore”, “/data/PkiCertificate/tomcatkeystore.jks”);
System.setProperty (“javax.net.ssl.keyStorePassword”, “changeit”);
System.setProperty(“javax.net.ssl.trustStore”, “/data/PkiCertificate/clientstore.jks”);
System.setProperty(“javax.net.ssl.trustStorePassword”, “changeit”);
setx -m JAVA_HOME “jdk1.7.0_04″
setx -m javax.net.ssl.keyStore “/keystore.jks”);
setx -m javax.net.ssl.keyStorePassword “passwordislong”);
setx -m javax.net.ssl.trustStore “/keystore.jks”);
setx -m javax.net.ssl.trustStorePassword “passwordislong”);
http://nl.globalsign.com/en/support/ssl+certificates/java/java+based+webserver/keytool+commands/
-Djavax.net.debug=ssl,trustmanager
http://docs.oracle.com/javaee/1.4/tutorial/doc/Security7.html
http://broadsign.com/docs/9-2-1/appendix/apache-axis2/
http://web.archiveorange.com/archive/v/fNNSSwpIzBWqt1TcJdT4
http://stackoverflow.com/questions/5871279/java-ssl-and-cert-keystore
http://javarevisited.blogspot.com/2012/09/difference-between-truststore-vs-keyStore-Java-SSL.html
PasswordDigest
http://www.ibm.com/developerworks/training/kp/j-kp-wssecurity/
http://ianso.blogspot.com/2009/12/building-ws-security-enabled-soap.html
Java web services: WS-Security without client certificates
http://www.ibm.com/developerworks/java/library/j-jws17/index.html
Understanding web services specifications, Part 4: WS-Security
http://www.ibm.com/developerworks/webservices/tutorials/ws-understand-web-services4/
Java Web services: Axis2 WS-Security signing and encryption
http://www.ibm.com/developerworks/java/library/j-jws5/index.html
Best Practices for Web Services
http://www.ibm.com/developerworks/library/ws-best11/
Java Web services: Axis2 WS-Security basics
http://www.ibm.com/developerworks/webservices/library/j-jws4/index.html
Java web services: The high cost of (WS-)Security
http://www.ibm.com/developerworks/java/library/j-jws6/index.html
Java web services: WS-Trust and WS-SecureConversation
http://www.ibm.com/developerworks/java/library/j-jws15/index.html
Java web services: WS-Security with CXF
http://www.ibm.com/developerworks/java/library/j-jws13/index.html
Java Web services: Granular use of WS-Security
http://www.ibm.com/developerworks/java/library/j-jws7/index.html
Java web services: Modeling and verifying WS-SecurityPolicy
http://www.ibm.com/developerworks/java/library/j-jws21/index.html
Java Web services: Axis2 WS-Security basics
http://www.ibm.com/developerworks/java/library/j-jws4/
http://blog.sweetxml.org/2007/12/rampart-basic-examples-how-you-add-ws.html
http://www.javaranch.com/journal/200709/web-services-authentication-axis2.html
http://stackoverflow.com/questions/14266237/adding-ws-security-to-wsdl2java-generated-classes
http://wso2.org/library/3415#step_1
http://ws.apache.org/tcpmon/index.html
Metro for Java (Web Services)
- https://metro.java.net/
- https://metro.java.net/2.2.1-1/
- https://metro.java.net/discover/
- https://metro.java.net/guide/
Java Web services: Introducing Metro
http://www.ibm.com/developerworks/java/library/j-jws9/index.html
http://www.bouncycastle.org/java.html
Apache CXF Security
http://cxf.apache.org/docs/ws-security.html
Security Best Practices
http://ws.apache.org/wss4j/best_practice.html
Web Service Security for Java
http://ws.apache.org/wss4j/index.html
AXIS2 Security
http://axis.apache.org/axis2/java/rampart/index.html
CXF
http://www.ibm.com/developerworks/java/library/j-jws12/index.html
Java web services: Understanding and modeling WSDL 1.1
http://www.ibm.com/developerworks/java/library/j-jws20/index.html
JAX-WS Guide
http://axis.apache.org/axis2/java/core/docs/jaxws-guide.html
Axis2 Quick Start Guide
http://axis.apache.org/axis2/java/core/docs/quickstartguide.html
Axis2 FAQ
http://axis.apache.org/axis2/java/core/faq.html
Odd Ball Data Structures and More
Costs for Elements in Different Data Structures
https://code.google.com/p/memory-measurer/wiki/ElementCostInDataStructures
Lesser Known Data Structures
http://stackoverflow.com/questions/500607/what-are-the-lesser-known-but-useful-data-structures
Randomize Algorithms
http://en.wikipedia.org/wiki/Randomized_algorithm
Probalistic Data Structures
http://en.wikipedia.org/wiki/Skip_list
Other
http://en.wikipedia.org/wiki/Dancing_Links
http://en.wikipedia.org/wiki/Binary_decision_diagram
http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.96.2143
http://ejohn.org/blog/revised-javascript-dictionary-search/
http://en.wikipedia.org/wiki/Rope_%28data_structure%29
http://en.wikipedia.org/wiki/Gap_buffer
http://en.wikipedia.org/wiki/Spatial_index#Spatial_index
http://en.wikipedia.org/wiki/R-tree
http://en.wikipedia.org/wiki/Kd-tree
http://en.wikipedia.org/wiki/Bit_array
http://www.haskell.org/haskellwiki/Zipper
http://en.wikipedia.org/wiki/Suffix_trie#Functionality
http://en.wikipedia.org/wiki/Splay_tree#Performance_theorems
http://www.cl.cam.ac.uk/research/srg/netos/lock-free/
http://www.boyet.com/Articles/LockfreeStack.html
http://cellperformance.beyond3d.com/articles/index.html
http://en.wikipedia.org/wiki/Disjoint-set_data_structure
http://en.wikipedia.org/wiki/Fibonacci_heap
http://en.wikipedia.org/wiki/Binary_space_partitioning
http://en.wikipedia.org/wiki/Huffman_coding
http://en.wikipedia.org/wiki/Finger_trees
http://en.wikipedia.org/wiki/Circular_buffer
http://en.wikibooks.org/wiki/Haskell/Other_data_structures
http://opendatastructures.org/ods-java.pdf
http://en.wikipedia.org/wiki/Hash_tree
http://www.slideshare.net/koolhits/java-performance-threading-and-concurrent-data-structures
http://labs.carrotsearch.com/hppc.html
http://labs.carrotsearch.com/junit-benchmarks.html
http://developer.android.com/reference/android/util/SparseArray.html
http://commons.apache.org/proper/commons-collections/
https://code.google.com/p/guava-libraries/wiki/NewCollectionTypesExplained
https://code.google.com/p/guava-libraries/wiki/ImmutableCollectionsExplained
https://code.google.com/p/guava-libraries/wiki/CachesExplained
https://code.google.com/p/guava-libraries/wiki/HashingExplained
http://opendatastructures.org/ods-java/
http://en.wikipedia.org/wiki/Book:Fundamental_Data_Structures
http://en.wikipedia.org/wiki/Tango_tree
http://www.codecommit.com/blog/scala/scala-collections-for-the-easily-bored-part-1
http://en.wikipedia.org/wiki/Book:Data_structures
http://en.wikipedia.org/wiki/Rope_(computer_science)
http://en.wikibooks.org/wiki/Data_Structures
http://www.cs.uiuc.edu/~jeffe/teaching/algorithms/
http://en.wikipedia.org/wiki/Cuckoo_hashing
http://cg.scs.carleton.ca/~morin/teaching/5408/refs/minmax.pdf
http://blogs.msdn.com/b/devdev/archive/2007/06/12/cache-oblivious-data-structures.aspx
http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.48.973
http://donar.umiacs.umd.edu/quadtree/rectangles/cifquad.html
http://en.wikipedia.org/wiki/Hash_array_mapped_trie
http://en.wikipedia.org/wiki/Inverted_index
http://en.wikipedia.org/wiki/Van_Emde_Boas_tree
http://en.wikipedia.org/wiki/Nested_set_model
http://www.flipcode.com/archives/The_Half-Edge_Data_Structure.shtml
http://www.cs.middlebury.edu/~schar/courses/cs201-s13/js/js.pdf
http://www.theparticle.com/javadata2.html
http://192.9.162.55/docs/books/performance/1st_edition/html/JPAlgorithms.fm.html
http://www.cs.berkeley.edu/~hilfingr/cs61b/f2002/public_html/data-structures.pdf
Node.js for Production
- http://geoff.greer.fm/2012/06/10/nodejs-dealing-with-errors/
- http://stackoverflow.com/questions/10122245/capture-node-js-crash-reason
- http://clock.co.uk/tech-blogs/preventing-http-raise-hangup-error-on-destroyed-socket-write-from-crashing-your-nodejs-server
- http://blog.nodejitsu.com/keep-a-nodejs-server-up-with-forever
- http://hectorcorrea.com/blog/running-a-node-js-web-site-in-production-a-beginners-guide
- http://stackoverflow.com/questions/1911015/how-to-debug-node-js-applications
- https://github.com/dannycoates/node-inspector
- http://elegantcode.com/2011/01/14/taking-baby-steps-with-node-js-debugging-with-node-inspector/
- https://github.com/JanVanRyswyck/node-validation
- http://engineering.linkedin.com/nodejs/blazing-fast-nodejs-10-performance-tips-linkedin-mobile
- https://www.openshift.com/blogs/best-practices-for-fine-tuning-nodejs-performance
- https://coderwall.com/p/pj-ita (Enterprise Grade Node.JS + Angular)
- http://blog.appfog.com/linkedin-brings-some-sanity-to-the-node-js-debate/
- http://stella.laurenzo.org/2011/03/bulletproof-node-js-coding/
- http://www.slideshare.net/gblock/node-js-enterprise-class
- http://sailsjs.launchrock.com/
Coding Guides
- https://www.engineyard.com/resources/node-development
- https://blog.engineyard.com/2012/nodejs (Getting Started with Node.js)
- https://blog.engineyard.com/2013/when-to-use-nodejs
- http://venturebeat.com/2012/01/07/building-consumer-apps-with-node/
- http://nodejstutorial.blogspot.com/2012/03/should-you-use-nodejs-spoiler-yes-but.html
- http://nodeguide.com/beginner.html
- http://www.webappers.com/2013/03/29/build-custom-enterprise-node-js-apps-with-sails-js/
Windows Mail Server
- http://www.lukepuplett.com/2010/06/how-to-send-email-from-microsoft-server.html
- http://en.wikipedia.org/wiki/Comparison_of_mail_servers
- http://stackoverflow.com/questions/30076/need-a-lightweight-free-windows-smtp-server
- http://www.xmailserver.org/
- http://www.hmailserver.com/
- http://www.softstack.com/freesmtp.html
- http://sourceforge.net/projects/winsmtpserver/
- http://james.apache.org/
HP Anywhere (Java + JavaScript)
HP Anywhere
Review by Timothy Spann
Basic Usage
1.1 IDE
Eclipse
1.2 NOTE
- Fix required: HP Anywhere added to maven.bat
SET MAVEN_OPTS=-Djava.net.preferIPv4Stack=true
- Only runs on Windows. Windows Only Server
- Only for developing single page applications (SPA) with Java back-end and JS/HTML5/CSS front-end.
1.3 Technology List
- Eclipse juno
- jdk 1.7
- maven
- tomcat
- H2
- jersey
- enyo js
- slf4j
- apache commons
- xerces
- json
- sencha
- jax-ws
- ant
- curl
- spring 3.0.5
- jersey
- junit 4.8
- JEE
- JAXB
- DOM4J
- Lucene
- JSTL
- PhoneGap
- POI
- Velocity
- STAX
- Xalan
- Joda Time
- Hibernate
- GraniteDS
- Jackson
- JTDS
- JQuery
- JDOM
- Sencha Touch
- Cassandra
- MS SQL Server
1.4 Links
HP Anywhere: Mobile Apps for the Enterprise
- http://h30499.www3.hp.com/t5/Apps-for-Mobile/HP-Anywhere-Mobile-Apps-for-the-Enterprise/ba-p/6016609
- http://developer.hpanywhere.com/wp-content/HPA_SDK_Guide/webframe.htm#Implementing_Web_Service.htm
- http://developer.hpanywhere.com/wp-content/HPA_SDK_Guide/Admin_Setting_XML.htm
- http://developer.hpanywhere.com/wp-content/HPA_SDK_Guide/Descriptor_File.htm
- http://developer.hpanywhere.com/wp-content/HPA_SDK_Guide/DataSource_Provider_XML.htm
- http://developer.hpanywhere.com/wp-content/HPA_SDK_Guide/User_Settings_XML.htm
- http://developer.hpanywhere.com/wp-content/HPA_SDK_Guide/Event_API.htm
- http://developer.hpanywhere.com/wp-content/HPA_SDK_Guide/Event_Body.htm
- http://developer.hpanywhere.com/wp-content/HPA_SDK_Guide/JavaScript/modules/HPA.html
- http://developer.hpanywhere.com/wp-content/HPA_SDK_Guide/Server-Side.htm
- http://developer.hpanywhere.com/wp-content/HPA_SDK_Guide/Server-Side~com.hp.btoaw.integration.service.bl_namespace.htm
- http://h30499.www3.hp.com/t5/HP-Anywhere-Developer-Forum/bd-p/hp-anywhere-developer-forum
- http://h30499.www3.hp.com/t5/HP-Anywhere-Developer-Forum/Which-js-frameworks-are-supported/td-p/5990819
- http://h30499.www3.hp.com/t5/HP-Anywhere-Developer-Forum/I-would-like-to-build-my-first-app-what-technologies-programmimg/td-p/5990703
- http://h30499.www3.hp.com/t5/HP-Anywhere-Developer-Forum/HPA-10-Common-Q-amp-A/td-p/5998221
- http://maven.apache.org/guides/introduction/introduction-to-optional-and-excludes-dependencies.html
- http://techvivek.wordpress.com/2009/08/29/difference-between-arraylist-and-copyonwritearraylist/
1.5 HP Anywhere Architecture for Developers
Book Review: Testable JavaScript
Testable JavaScript Book Review
By Mark Ethan Trostler
Publisher: O’Reilly Media
Released: January 2013
Pages: 274
Chapters:
Chapter 1 Testable JavaScript
Chapter 2 Complexity
Chapter 3 Event-Based Architectures
Chapter 4 Unit Tests
Chapter 5 Code Coverage
Chapter 6 Integration, Performance, and Load Testing
Chapter 7 Debugging
Chapter 8 Automation
First off, I want to say this is one of my favorite books. It is a great work on developing with TDD and agile with a focus on JavaScript. I am considering buying a print copy
to keep next to my computer with the GoF, Growing Object Oriented… and Release It! I am big believer in the main aim of the book to keep javascript code simple and
loosely coupled. This is not a book for those who don’t know JavaScript or have some background in Test Driven Development.
The book starts with a nice section on agile, TDD, BDD , the why’s, what’s and how’s of all the best practices for modern development. There is a very thorugh discussion of a
number of great development tools including: JSLInt, JSmeter, JSCheckStyle, YUIDoc and JSDoc. This book is great for Java developers wishing to start doing enterprise level
JavaScript on the client and server and in-between (Meteor / Derby).
I like this book also for it’s thorough coverage of best modern development practices: Code Reuse, Coupling, Metrics, Dependency Injection, auto documenation (think javadoc),
formalized softwtare inspections, coder coverage, fan-out/fan-in nd more agile practices.
One of the other strong topics in the book is Event-Based Architectures / programming. Event-based programming is great for decoupling objects. There is also great information on using and Event-Hub and socket.io as well.
Testing Topics from the Book
- vows
- isolation
- scope
- mock objects
- positive and negative testing
- PhantomJS for testing
- stubs
- spies
- asynchronous testing
- running tests on the client and server side
Cool Tools from the Book
- knit (google guice style dependency injection)
- YUIDoc (npm)
- JSDoc
- docco/rocco (document generator)
- JQuery for DOM
- Closure
- JSLint
- Node.js with npm
- JSMeter
- npm for jscheckstyle
- npm for fixmyjs
- UglifyJS
- YUi Compressor
- Google Closure Compiler
- Selenium
- JUTE
- cobertura
- Jenkins
- jenkins-cli.jar
- node debug
- firebug
- chrome tools
- PhantomJS
- Crossfire extension
Links from the Book
- http://shop.oreilly.com/product/0636920024699.do
- http://www.reviewboard.org/
- http://bit.ly/XUer9D
- https://github.com/eriwen/lcov-to-cobertura-xml
- https://github.com/eriwen/javascript-stacktrace
- https://github.com/eriwen/gradle-js-plugin
- https://github.com/zzo/TestableJS
- https://github.com/sfrancisx/dupfind
- https://wiki.jenkins-ci.org/display/JENKINS/DRY+Plugin
- https://wiki.jenkins-ci.org/display/JENKINS/Analysis+Collector+Plugin
- http://pmd.sourceforge.net/pmd-5.0.2/cpd.html
- http://jsfiddle.net/
Cool new stuff
- The Movie Database API—by apiary.io
- Apache Kafka
- Apache Kafka
- Running a Multi-Broker Apache Kafka 0.8 Cluster on a Single Node – Michael G. Noll
- Spring with Maven | Java Code Geeks
- Apache Kafka
- Google Maps example | Examples Java Code Geeks
- Google Guava Cache with regular expression patterns | Java Code Geeks
- Fault Injection with Byteman and JUnit | Java Code Geeks
- XStream – XStreamely easy way to work with XML data in Java | Java Code Geeks
- Simulation of time consuming actions in integration tests | Java Code Geeks
- Spring MVC – Easy REST-Based JSON Services with @ResponseBody | Java Code Geeks
- Spring MVC Session Tutorial | Java Code Geeks
- Spring MVC Form Tutorial | Java Code Geeks
- Spring MVC + Hibernate + Maven: CRUD operations example | Java Code Geeks
BloomFilters and Advanced hashing
- http://billmill.org/bloomfilter-tutorial/
- http://docs.guava-libraries.googlecode.com/git/javadoc/com/google/common/hash/BloomFilter.html
- https://code.google.com/p/guava-libraries/wiki/HashingExplained
- https://github.com/magnuss/java-bloomfilter
- http://www.burtleburtle.net/bob/hash/doobs.html
- https://sites.google.com/site/murmurhash/
- http://isthe.com/chongo/tech/comp/fnv/
- https://highlyscalable.wordpress.com/2012/05/01/probabilistic-structures-web-analytics-data-mining/
- https://highlyscalable.wordpress.com/2012/09/18/distributed-algorithms-in-nosql-databases/
- https://highlyscalable.wordpress.com/2012/08/14/speeding-up-hadoop-builds-distributed-parallel-unit-tests-on-jenkins/#comments
- https://highlyscalable.wordpress.com/2012/02/01/mapreduce-patterns/
UML
UML
UML Profiles
http://www.uml-diagrams.org/profile-diagrams.html#profile
UML 2.5
http://www.uml-diagrams.org/uml-25-diagrams.html
Web Site Admin use Case
http://www.uml-diagrams.org/class-diagrams-examples.html#abstract-factory
http://www.uml-diagrams.org/class-diagrams-examples.html#library-domain
http://www.uml-diagrams.org/class-diagrams-examples.html#login-controller-objects
http://www.uml-diagrams.org/composite-structure-examples.html#tomcat-7-composite
http://www.uml-diagrams.org/composite-structure-examples.html#observer
http://www.uml-diagrams.org/package-diagrams-examples.html#spring-hibernate
http://www.uml-diagrams.org/package-diagrams-examples.html#value-object-template
http://www.uml-diagrams.org/package-diagrams-examples.html#layered-web-architecture
http://www.uml-diagrams.org/package-diagrams-examples.html#layered-application-model
http://www.uml-diagrams.org/component-diagrams-examples.html#java-ee-jax-ws-20
http://www.uml-diagrams.org/deployment-diagrams-examples.html#deployment-example-manifest-webapp
http://www.uml-diagrams.org/deployment-diagrams-examples.html#web-application
http://www.uml-diagrams.org/deployment-diagrams-examples.html#multilayered-load-balancing
http://www.uml-diagrams.org/deployment-diagrams-examples.html#web-application-clusters
http://www.uml-diagrams.org/deployment-diagrams-examples.html#deployment-example-android
http://www.uml-diagrams.org/profile-diagrams-examples.html#ejb-30
http://www.uml-diagrams.org/profile-diagrams-examples.html#soaml-profile
http://www.uml-diagrams.org/activity-diagrams-examples.html#google-sso
http://www.uml-diagrams.org/sequence-diagrams-examples.html#facebook-authentication
http://www.uml-diagrams.org/timing-diagrams-examples.html#website-latency
http://www.uml-diagrams.org/examples/java-uml-examples.html
http://www.uml-diagrams.org/examples/health-insurance-policy-domain-diagram-example.html
Application Development for Android
http://www.uml-diagrams.org/examples/android-uml-examples.html?1363880269
Today’s Topics
About UML models – Visio – Office.com
Bringing new life to Spring Travel with Thymeleaf | SpringSource Team Blog
Spring Framework Reference Documentation
Thymeleaf: java XML/XHTML/HTML5 template engine
JUNG – Java Universal Network/Graph Framework
Java and JavaScript Support for Microsoft Visio
Quick Sort (3 Way Partition) – Sorting Algorithm Animations
JFugue Music NotePad: Wiki: Home — Java.net
Agile Modeling — Frequently Asked Questions (FAQ)
Agile modeling with UML 2 templates for Visio | NSilverBullet
UML basics: The sequence diagram
Visio Templates for UML 2.0 – Martin Woodward
Download Visio Stencil and Template for UML 2.2
Link Bag For Weekend
Developing with Eclipse and Maven / Documentation Sonatype.com
HP CodeWars – Problems and solutions from the 2013 edition of HP CodeWars
Joda-Time – Java date and time API – Home
RedHat Repository for Jenkins
Getting Into Ember.js | Nettuts+
Event-Based Programming: What Async Has Over Sync | Nettuts+
Understanding Design Patterns in JavaScript | Nettuts+
JavaScript & AJAX | Nettuts+
The Pragmatic Bookshelf | Debug It!
Make Backbone Better With Extensions | Nettuts+
Forge | Installation
The Pragmatic Bookshelf | Pomodoro Technique Illustrated
Headless Functional Testing with Selenium and PhantomJS | Nettuts+
Installing Jenkins on RedHat distributions – Jenkins – Jenkins Wiki
Build a Twitter Clone From Scratch: The Design | Nettuts+
HTML & CSS | Nettuts+
The Pragmatic Bookshelf | Agile Coaching
Testing JavaScript with PhantomJS | Nettuts+
The Pragmatic Bookshelf | Pomodoro Technique Illustrated
Exploring Java world | I am a Java Developer.
NPR Sunday Puzzle | Programming Praxis
Spring Tutorial | Java J2EEBrain
Android Tutorial | Java J2EEBrain
Selenium and Web Driver
nnnick/Chart.js
Fun with AngularJS! | Devgirls Weblog
15+ Useful Tools For Creating Flow Diagrams
Dia Diagram Editor | Free Graphics software downloads at SourceForge.net
Welcome to JBJF – A new approach to batch jobs…
hull, Introducing Clouseau
Tigris.org: Open Source Software Engineering
List of Unified Modeling Language tools – Wikipedia, the free encyclopedia
How I Turned A Slow Array Sort Into A Quick One Using The Quicksort Algorithmn » Debuggable – Node.js Consulting
Diagram Designer
Authentication Sequence
Intro.js | Better introductions for websites and features with a step-by-step guide for your projects.
Home | Metrics
Superhero.js
diagram – What’s the best UML diagramming tool? – Stack Overflow
OOP In JavaScript: What You NEED to Know | JavaScript is Sexy
400+ Java Interview Questions and Answers blog: Spring Interview Questions and Answers: Overview
SOAP interview questions | Java J2EEBrain
terrill.ca | Sorting HTML Tables with Javascript and QuickSort
substack in cyberspace
Hibernate | Java J2EEBrain
Make Backbone Better With Extensions | Nettuts+
Free UML Tool with full UML, ERD and SysML Supports
Sorting algorithms/Quicksort – Rosetta Code
StarUML – The Open Source UML/MDA Platform
Java | Java J2EEBrain
dzone.com – Sample question & answer application using Spring framework, Mongo DB and Bootstrap
RapidSVN
Download Visio Stencil and Template for UML 2.2
Quicksort (JavaScript) – LiteratePrograms
Devops Weekly Issue 110 – 10th February 2013
DHTML Quick Sort < JavaScript | The Art of Web
terrill.ca | Object Oriented Javascript Implementation of QuickSort
Ember: Baby Steps
dzone.com – Uncle Bob (Robert C. Martin): Object Oriented Design. What is it really?
Home | Dropwizard
A JavaScript refresh | TypedArray.org
Change Vision — Astah Community, UML, Professional, Share and iPad
PlantUML
Violet UML Editor
WebPagetest – Website Performance and Optimization Test
dzone.com – Sending SMS using Android
JDBI : Convenient SQL for Java
BOUML – an UML tool box
Review: HP Cloud challenges Amazon and Google | Cloud Computing – InfoWorld
Web Developer Checklist
Java EE Security Cheat Sheet from DZone Refcardz
Java Cheat Sheet | OverAPI.com
Code Triage
JPA 2.0 Cheat Sheet from DZone Refcardz
HTML-DOM Cheat Sheet | OverAPI.com
EclipseLink JPA Cheat Sheet from DZone Refcardz
Java EE 6 Annotations Cheat Sheet
jQuery Cheat Sheet | OverAPI.com
JPA Cheat Sheet from DZone Refcardz
Jenkins and More! New OpenShift Release – Nov 15, 2011 | OpenShift by Red Hat
CSS Cheat Sheet | OverAPI.com
Javascript Cheat Sheet | OverAPI.com
Code Triage
Regex Cheat Sheet | OverAPI.com
JBoss EAP 5 Cheat Sheet from DZone Refcardz – Free, professional tutorial guides for developers
Goodbye PowerPoint. Hello reveal.js | OpenShift by Red Hat
Java – Interfaces
dzone.com – Tips and tricks for writing your own Java-based Builders with code snippets
Linux Command Line Cheat Sheet | OverAPI.com
Java EE 6 Cheat Sheet from DZone Refcardz
HTML Cheat Sheet | OverAPI.com
140 Google Interview Questions | Impact Interview
Svn Cheat Sheet | OverAPI.com
The W3C CSS Validation Service
NodeJS Cheat Sheet | OverAPI.com
Xtend – Modernized Java
https://developers.google.com/chrome-developer-tools/
JaxServer – Jaxcore
Modules · joyent/node Wiki
My Thoughts on Node.js and Express | Architects Zone
Android Google Maps Tutorial | Java Code Geeks
Java J2EE PDF Study materials | Java J2EEBrain
Geddy | The original MVC Web framework for Node – a simple, structured way to create full stack javascript applications
Java program – Fibonacci series with recursion example | Java67 – Java Program Example Tutorial Blog
Oracle Interview Question; Database FAQ
Super CSV – Welcome
Hibernate pdf tutorials | Java J2EEBrain
10 most tricky question in java – Answers
Creating a basic site with node.js and Express | Shape Shed
Top 50 Web Services Interview Questions
Web Service | Java J2EEBrain
Developing web services -part 1 | Java J2EEBrain
Tower.js – Full Stack Web Framework for Node.js and the Browser
repl.it – Select a Language
REST Web services Framework interview questions answers
Balloons.IO
SOA | Java J2EEBrain
Mojito – Yahoo! Cocktails – YDN
dzone.com – Working with HTML5 Canvas
Top 10 Java Coding Interview questions answers for programmers | Java67 – Java Program Example Tutorial Blog
Servlets Tutorials | Java J2EEBrain
Hibernate Tutorials | Java J2EEBrain
Express – applications
Basic concepts of OpenLDAP | Java Code Geeks
Grasshopper
How to reverse String in Java using Iteration and Recursion
Top Node.js Frameworks 2012 | OCDevel
Oracle Java Interview Questions – JavaStuff.in
NPR Sunday Puzzle (Java) | Exploring Java world
Breaking down Amazon’s mega dropdown – Ben Kamens
Play20/samples at master · playframework/Play20 · GitHub
The Play Framework at LinkedIn | LinkedIn Engineering
stacksort
xkcd: Ineffective Sorts
]-[3ny0 ONLINE: Setting up a Spring Data JPA Project
Sonatype.org: m2eclipse
effectivcrm – Fresh. Nimble. Cloud Ready. – Google Project Hosting
Tutorial:Create Spring 3 MVC Hibernate 3 Example using Maven in Eclipse
Maven + Spring + Hibernate + MySql Example
Spring and Hibernate4 « Middleware Magic
eugenp/REST · GitHub
Migrating to Spring 3.1 and Hibernate 4.1 | SpringSource Team Blog
Simpler JPA with Spring Data-JPA | Technophile Blog
Spring Hibernate End to End Integration using Maven, Spring MVC, JSP, Oracle11g : A Step by Step Guide | Welcome to Codeyard
Introduction to Spring Tutorial
kamens/jQuery-menu-aim · GitHub
OverAPI.com | Collecting all the cheat sheets
Developer Tools | OverAPI.com
Review: HP Cloud challenges Amazon and Google | Cloud Computing – InfoWorld
Optimize Your CSS With RequireJS | Nettuts+
dzone.com – Sending SMS using Android
Links of the Day
- M101J Course Info
- Schauderhaft
- Agile Enterprise Architecture
- Hibernate Getting Started Guide
- Schauderhaft » Testing Databases with JUnit and Hibernate Part 1: One to Rule them
- HiberObjects – UML for Hibernate
- Data Skills for Agile Software Developers
- Schauderhaft » Testing Databases with JUnit and Hibernate Part 2: The Mother of All Things
- The Skillset of an Agile DBA
- Evolutionary/Agile Database Best Practices
- Maximizing Human Performance
- Agility@Scale: Strategies for Scaling Agile Software Development
- Data Modeling 101
- dzone.com – Singleton vs Static Class in Java – Pros and Cons
- CumuLogic
- IBM Cúram Social Program Management Version 6.0.4.0 Product Documentation – United States
- Test Driven Development with Node.JS | ÜberConference
- JDepend plugin for Eclipse: JDepend4Eclipse
- FindBugs™ – Find Bugs in Java Programs
- JDepend
- PMD
- EclEmma – Java Code Coverage for Eclipse
- Shivprasad Koirala: Design pattern interview questions :- Which design patterns have you used in your project ?
- Treesaver.js
- Stevey’s Blog Rants: Good Agile, Bad Agile
- Basic Windows PowerShell commands you should already know | TechRepublic
- 18 New Useful Frameworks for Web and Mobile App Developers – DesignModo
- Automated Acceptance-Testing using JBehave | blog.codecentric.de
- FireSSH – The Free SSH Client for Mozilla Firefox
- Selenium web application testing system
- onjava.com/topics/java/JSP_Servlets
- ODBMS.ORG :: Object Database (ODBMS) | Object-Oriented Database (OODBMS) | Free Resource Portal
- EMMA: Quick Start
- EMMA: Sample Reports
- JDK 1.5 and Eclipse
- Scheduling Junit tests with RunnerScheduler for a concurrent execution | JUnit.org
- openpojo – Trivializing POJO testing and Identity. – Google Project Hosting
- OO7J -
- Chapter 4: Testing with JUnit – Powered by Google Docs
- Welcome to my scratchpad: jSonde – Generate a UML Sequence Diagram
- jSonde – java profiler, analyzer & reverse engineering tool
- ms.stradax.net/Publications/junit-testgen/junit-testgen-slides.pdf
- DresdenOCL
- Introduction to Eclipse, Unit Testing and JUnit – Powered by Google Docs
- argouml-stats: 2.7. The JUnit test cases
- Automatic Generate JUnit Tests
- Ohloh, the open source network
- JSBlend – A Javascript based diffmerge tool
- TestGen4J | Download TestGen4J software for free at SourceForge.net
- My Tech Notes: Auto Generate JUnit Test Cases
- JUnitDoclet
- JUnitDoclet Eclipse Plugin | Download JUnitDoclet Eclipse Plugin software for free at SourceForge.net
- SourceForge.net: JUnitDoclet Eclipse Plugin – Project Web Hosting – Open Source Software
- HiberObjects – UML for Hibernate
- Schauderhaft » Testing Databases with JUnit and Hibernate Part 3: Cleaning up and Further Ideas
- Schauderhaft » Testing Databases with JUnit and Hibernate Part 2: The Mother of All Things
- Hibernate Getting Started Guide
- J A L O P Y – Jalopy the source code formatting tool
- EclEmma – Using the Coverage View
- Coverlipse
- Code Coverage Analysis
- Speedup eclipse – startup on windows | Cordobo
- Eclipse and memory settings » What Was I Thinking ?
- InfoQ: Concurrent and Distributed Applications with Spring
- JavaScript Testing | Rich Internet Application and User Interface Videos & Tutorials Directory
- What Every Web Programmer Needs To Know About Security – Google Code University – Google Code
- AwesomeChartJS
- Agile Development: Redefining “Management” in Project Management | Project Management for Software Development
- MALLET homepage
- Code Quality « The Holy Java
- DevRates | Open source reviews by real users
- Optimizing MongoDB Compound Indexes
- 3 Mapping Domain Classes to Mongo Collections 1.1.0.GA
- MySQL vs. MongoDB: The Complete Edition | Javalobby
- MongoDB Input – Pentaho Wiki
- Agile Message Management with C24 and MongoDB | Javalobby
Mocking
http://www.vogella.com/articles/EasyMock/article.html
http://www.vogella.com/articles/Mockito/article.html
http://en.wikipedia.org/wiki/Mockito
https://code.google.com/p/jmockit/
http://www.unitils.org/summary.html
https://code.google.com/p/powermock/
http://www.citytechinc.com/us/en/blog/2010/02/making_a_mockeryof.html
http://stackoverflow.com/questions/22697/whats-the-best-mock-framework-for-java
https://code.google.com/p/jmockit/wiki/MockingToolkitComparisonMatrix
Apache POI and Excel Manipulation
- http://poi.apache.org/spreadsheet/index.html
- http://poi.apache.org/spreadsheet/how-to.html#sxssf
- http://www.coderanch.com/t/446602/open-source/reading-Numeric-String-fom-Excel
- http://www.kodejava.org/examples/462.html
- http://stackoverflow.com/questions/6510012/apache-poi-for-excel-setting-the-cell-type-to-text-for-an-entire-column
- http://osdir.com/ml/user-poi.apache.org/2011-04/msg00066.html
10gen: M101J MongoDB for Java Developers – Week 2
This class has been going great.
The flow of the class is great and it’s worked well on Windows with Eclipse, Maven and JDK 1.6.
Some notes and links:
DB db = client.getDB(“school”);
DBCollection people = db.getCollection(“people”);
Links
- http://www.infoq.com/presentations/Hacking-Culture http://www.infoq.com/research/alm-survey?utm_source=infoqresearch&utm_campaign=rr-topicpages
- http://www.infoq.com/interviews/lean-ux-explained-jeff-gothelf
- http://www.infoq.com/interviews/saddington-agile-scout
- http://www.infoq.com/articles/refactoring-legacy-applications
- http://www.infoq.com/presentations/CloudStack-Architecture
- http://www.infoq.com/interviews/mccallion-enterprise-cloud-hybrid-redshift
http://www.infoq.com/presentations/JSR-356-HTML5-WebSocket-Java - http://www.infoq.com/presentations/Facebook-Release-Process
- http://www.infoq.com/interviews/javascript-performance-stoyan-stefanov
- http://www.infoq.com/presentations/Web-App-Platform
- http://www.infoq.com/presentations/JSR-356-HTML5-WebSocket-Java
- http://johnpolacek.github.com/stacktable.js/
- http://speckyboy.com/2013/03/04/designing-custom-github-demo-pages/
- http://mojotech.github.com/stickymojo/
- http://24ways.org/2012/how-to-make-your-site-look-half-decent/
- http://jschr.github.com/textillate/
- http://dfcb.github.com/Bedrock/
- http://mcpants.github.com/jquery.shapeshift/
- http://tenxer.github.com/xcharts/
- http://fabien-d.github.com/alertify.js/
- http://fatiherikli.github.com/mockup-designer/#document/93a862f6-f82c-2b33-d05b-414dde03c75f
- http://jakiestfu.github.com/Behave.js/
- http://sundaykofax.github.com/baby-legs/
- http://oazabir.github.com/Droptiles/
- http://justspamjustin.github.com/junior/#home
- http://soulwire.github.com/Makisu/
- http://imsky.github.com/holder/
- http://benvie.github.com/continuum/
- http://thisisdallas.github.com/Simple-Grid/
- http://www.webdesignerdepot.com/2013/03/essential-web-design-tips-for-start-ups/
- http://tokokoo.github.com/pondasee/
- http://jhough10.github.com/Centurion/
- http://needim.github.com/noty/
- http://oskarkrawczyk.github.com/heyoffline.js/
- http://matthewhartman.github.com/base/
- http://anasnakawa.github.com/bi-app-less/
- http://dfcb.github.com/Responsivator/
- http://ckrack.github.com/fbootstrapp/
- http://bernii.github.com/gauge.js/
- http://laktek.github.com/punch/
- http://shopify.github.com/dashing/
- http://elclanrs.github.com/jq-idealforms/
- http://alexdunphy.github.com/refineslide/
- http://soulwire.github.com/sketch.js/
- http://sebnitu.github.com/BaseDemo/
- http://dfcb.github.com/controldeck.js/
- http://oscargodson.github.com/EpicEditor/
- http://hpneo.github.com/gmaps/
http://cjdsie.github.com/wirefy/
http://jsantell.github.com/dancer.js/
http://lukaszfiszer.github.com/selectnav.js/
http://xing.github.com/wysihtml5/
http://luis-almeida.github.com/filtrify/
http://luis-almeida.github.com/jPages/
http://eightmedia.github.com/hammer.js/
http://welaika.github.com/wordless/
http://twitter.github.com/typeahead.js/
https://github.com/blog/1081-instantly-beautiful-project-pages - http://javapostsforlearning.blogspot.in/2013/03/template-method-design-pattern-in-java.html
http://javapostsforlearning.blogspot.in/2013/02/observer-design-pattern-in-java.html - http://javapostsforlearning.blogspot.in/2012/08/introduction-to-spring-framework.html
http://javapostsforlearning.blogspot.in/2012/08/dependency-injectionioc-in-spring.html
http://javapostsforlearning.blogspot.in/2012/08/spring-hello-world-example-in-eclipse.html
http://javapostsforlearning.blogspot.in/2012/08/dependency-injection-via-setter-method.html
http://javapostsforlearning.blogspot.in/2012/08/dependency-injection-via-constructor-in.html
http://javapostsforlearning.blogspot.in/2012/08/spring-bean-scopes-with-examples.html
http://javapostsforlearning.blogspot.in/2013/02/hibernate-inheritancetable-per-concrete.html
http://javapostsforlearning.blogspot.in/2013/02/hibernate-inheritancetable-per-subclass.html
http://javapostsforlearning.blogspot.in/2012/08/inheritance-in-spring.html
http://javapostsforlearning.blogspot.in/2012/08/beanpostprocessors-in-spring.html
http://javapostsforlearning.blogspot.in/2012/08/spring-lifetime-callbacks.html
http://javapostsforlearning.blogspot.in/2012/09/annotation-based-configuration-in-spring.html
http://javapostsforlearning.blogspot.in/2012/08/spring-applicationcontext.html - http://open-dolphin.org/dolphin_website/Home.html
https://github.com/canoo/DolphinJumpStart
http://open-dolphin.org/download/guide/index.html - http://agile.dzone.com/articles/story-points-considered
- http://allankelly.blogspot.co.uk/2013/02/11-agile-myths-and-2-truths.html
Sunday’s Best
- http://zeroturnaround.com/labs/using-spock-to-test-groovy-and-java-applications/
- http://code.google.com/p/spock/wiki/GettingStarted
- http://code.google.com/p/spock/
- http://zeroturnaround.com/labs/how-to-mock-up-your-unit-test-environment-to-create-alternate-realities/
- http://jmock.org/getting-started.html
- https://cloudfoundry.cloudbees.com/index.html
- http://blog.cloudfoundry.com/2013/02/28/continuous-integration-to-cloud-foundry-com-using-jenkins-in-the-cloud/
Agile
- http://www.agile42.com/en/training/scrum-lego-city/
- http://www.agile42.com/en/training/kanban-pizza-game/
- http://www.agile42.com/en/blog/2009/10/19/team-spirit-scrum/
- http://www.infoq.com/minibooks/Agile-Transition
- http://www.agile42.com/en/agile-coaching-company/agile-info-center/scrum-cheat-sheet/
- http://www.javacodegeeks.com/2013/02/organizing-an-agile-program-part-1-introduction.html
- http://www.javacodegeeks.com/2013/02/notes-on-continuous-delivery-configuration-management.html
- http://www.javacodegeeks.com/2013/02/code-quality-stage-using-jenkins.html
- http://www.javacodegeeks.com/2011/03/save-money-from-agile-development.html
Coding Practices
Spring
- http://gordondickens.com/wordpress/2012/07/03/enterprise-spring-best-practices-part-1-project-config/http://gordondickens.com/wordpress/2013/02/28/database-config-spring-3-2-environment-profiles/
REST
HTML5 / CSS3
Some Current Links
- Spring
- MVN
- Persisting Object with Spring 3.1 and Hibernate 4 | MadBit.org
- Layered architecture with Hibernate and Spring 3 | Continuous Reconsideration
- Using Maven with Spring 3, Hibernate | tuanleaded
- How to configure DBCP connection pool in Hibernate
- Using Tomcat JDBC Connection Pool in Standalone Java Application | Java Code Geeks
- Spring
- REST
- JPA basic example with EntityManager , Spring and Maven | hop2croft’s software development Blog
- level up – Spring MVC and Hibernate Configuration
- level up – Spring MVC and Hibernate Configuration
- How to set up the Heroku tools for deployment with multiple accounts | Railsware Blog
Droid
- Robolectric: Unit Test your Android Application | Robolectric
- Dashboards | Android Developers
- Notifications | Android Developers
- Action Bar | Android Developers
- Notifications | Android Developers
- Themes | Android Developers
- Support Library | Android Developers
- ActionBarSherlock – Home
- DatePicker | Android Developers
- NumberPicker | Android Developers
- Testing Fundamentals | Android Developers
- monkeyrunner | Android Developers
- appthwack – AppThwack
- akquinet STAND � view.details.mavenarchetypes
dzone.com – 10 Vital Aspects of Building a Node.JS Application
ANT « Development « Java Tutorial / Blog
Links of The Day
Android Links
Mongodb Links
Mongodb Sculptor
- http://java.dzone.com/articles/using-mongodb-sculptor
- http://fornax.itemis.de/confluence/display/fornax/12.+MongoDB+%28CSC%29;jsessionid=78AAEB6301597DDD1DF5B8E2F59BBE30
- http://docs.mongodb.org/ecosystem/drivers/java-concurrency/#java-driver-concurrency
- http://docs.mongodb.org/ecosystem/tutorial/use-java-dbobject-to-perform-saves/
- http://docs.mongodb.org/ecosystem/tutorial/getting-started-with-java-driver/#getting-started-with-java-driver
- http://docs.mongodb.org/ecosystem/drivers/java-replica-set-semantics/#java-driver-read-preferences-and-tagging
- http://api.mongodb.org/java/current/
- http://docs.mongodb.org/ecosystem/tutorial/use-aggregation-framework-with-java-driver/#java-driver-and-aggregation-framework
- http://docs.mongodb.org/ecosystem/drivers/java-types/#java-types
- http://docs.mongodb.org/ecosystem/tutorial/use-java-dbobject-to-perform-saves/#java-dbobject-to-perform-saves
Coding Katas
Coding Katas
- Uncle Bob’s
- http://en.wikipedia.org/wiki/Kata_%28programming%29
- http://codekata.pragprog.com/
- Ordered Jobs
Repetitious training to improve one’s skill in the Art of Programming. I am looking for a few good sets of Katas to work on in Java, Node.js, Scala and Groovy.
Today’s Links
Android Development Links
Some Helpful Android Projects
Dagger for IOC/DI
Android Annotations
- http://square.github.com/tape/
- https://github.com/square/dagger
- https://github.com/excilys/androidannotations/wiki
- http://devoxx.com/display/DV12/Android+DDD+%28Diet+Driven+Development%29!
- http://devoxx.com/display/DV12/Android+Development+Code+Lab
- https://github.com/excilys/androidannotations
- http://androidannotations.org/
- https://github.com/excilys/androidannotations/wiki/Cookbook
- https://github.com/excilys/androidannotations/wiki/Configuration
- http://www.infoq.com/news/2012/10/dagger
- http://www.jayway.com/2013/01/11/understanding-android-hybrid-applications-part-1/
- https://github.com/eburke/presentations/tree/master/strange_loop_2012/samplecode
Links of the Day
Node.JS Links
- Nodefly on Heroku
- Nodefly (Node.JS Monitoring)
- Node v.0.9.9 (Almost 1.0!!!)
- Free Hosting for Open Source Projects
- Eloquent JavaScript (online book)
- Dashboard with Node.js and Redis
- Node.JS Oauth and Twitter
- Meteor on Heroku
- Node.js (Backbone.js on Client and Server)
- Connect-Assets-JSPaths
- i18N for Node.js
OpenShift Spring WebApp / Tomcat
- http://tshikatshikaaa.blogspot.com/2013/01/anatomy-of-default-openshift-spring-web.html
- https://openshift.redhat.com/community/blogs/free-apache-tomcat-hosting-in-the-cloud-for-java-applications-its-called-openshift
- https://github.com/shekhargulati/spring-travel-openshift-tomcat-quickstart
- https://openshift.redhat.com/community/blogs/free-apache-tomcat-hosting-in-the-cloud-for-java-applications-its-called-openshift
- https://openshift.redhat.com/community/get-started
MongoJEE
https://github.com/angelozerr/mongo-jee/wiki/Mongo-JEE-Demo-with-Apache-CXF-and-Dojo
http://mongo-jee.opensagres.cloudbees.net/
https://github.com/agilemobiledev/mongo-jee
https://github.com/agilemobiledev/spring-security-examples.git
https://github.com/shekhargulati/todo-spring3.2.1-with-tests
https://github.com/agilemobiledev/openshift-devdayuk
Ehcache
Links of the Day
- Dagger (Dependency Injection for Android) – FAST
- Reliable Data Store
- ANT Tips
- 25 Web Dev Tips
- Ruby on Rails Deploy
- Netflix API Optimization
- Grails Testing & Mocking
- User Roles in Sencha Touch
- Monads for Normal Programmers
- More Dagger
- Dagger Andoid Sample
- Dagger Sample App
- Guice vs Dagger
- Dagger Presentation
BDD
We are not using BDD on any projects yet.
I was thinking JBehave or Cucumber.
What are you using?
http://stackoverflow.com/questions/9411591/how-to-integrate-spring-into-cucumber
http://mythoughtsjdk.blogspot.com/2012/05/sample-spring.html
http://vard-lokkur.blogspot.com/2011/08/jbehave-quick-bdd-example.html
http://www.infoq.com/behavior-driven-development
http://www.javacodegeeks.com/2012/09/behavior-driven-development-bdd-with.html
http://jbehave.org/reference/stable/index.html
http://www.lordofthejars.com/2011/04/are-you-locked-up-in-world-thats-been.html
Standards are Great
And the great thing about them is there are so many…. And so many competing ones…
So what Query Language do you use for your ORM?
Regular SQL?
Something else?
Heroku on Raspberry Pi
<code> pi@raspberrypi /mnt/usb1 $ wget -qO- https://toolbelt.heroku.com/install-ubuntu.sh | sh This script requires superuser access to install apt packages. You will be prompted for your password by sudo. --2013-02-01 06:47:51-- https://toolbelt.heroku.com/apt/release.key Resolving toolbelt.heroku.com (toolbelt.heroku.com)... 184.73.165.65, 107.21.105.64, 50.16.233.102, ... Connecting to toolbelt.heroku.com (toolbelt.heroku.com)|184.73.165.65|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 1737 (1.7K) [application/octet-stream] Saving to: `STDOUT' 100%[===================================================================================================================================================>] 1,737 2013-02-01 06:47:57 (1023 KB/s) - written to stdout [1737/1737] OK Hit http://archive.raspberrypi.org wheezy InRelease Ign http://toolbelt.heroku.com ./ InRelease Get:1 http://mirrordirector.raspbian.org wheezy InRelease [12.5 kB] Get:2 http://toolbelt.heroku.com ./ Release.gpg [490 B] Hit http://archive.raspberrypi.org wheezy/main armhf Packages Get:3 http://toolbelt.heroku.com ./ Release [1,673 B] Get:4 http://mirrordirector.raspbian.org wheezy/main armhf Packages [7,403 kB] Get:5 http://toolbelt.heroku.com ./ Packages [1,045 B] Ign http://toolbelt.heroku.com ./ Translation-en_US Ign http://toolbelt.heroku.com ./ Translation-en Ign http://archive.raspberrypi.org wheezy/main Translation-en_US Ign http://archive.raspberrypi.org wheezy/main Translation-en Get:6 http://mirrordirector.raspbian.org wheezy/contrib armhf Packages [23.3 kB] Get:7 http://mirrordirector.raspbian.org wheezy/non-free armhf Packages [47.8 kB] Get:8 http://mirrordirector.raspbian.org wheezy/rpi armhf Packages [14 B] Ign http://mirrordirector.raspbian.org wheezy/contrib Translation-en_US Ign http://mirrordirector.raspbian.org wheezy/contrib Translation-en Ign http://mirrordirector.raspbian.org wheezy/main Translation-en_US Ign http://mirrordirector.raspbian.org wheezy/main Translation-en Ign http://mirrordirector.raspbian.org wheezy/non-free Translation-en_US Ign http://mirrordirector.raspbian.org wheezy/non-free Translation-en Ign http://mirrordirector.raspbian.org wheezy/rpi Translation-en_US Ign http://mirrordirector.raspbian.org wheezy/rpi Translation-en Fetched 7,489 kB in 1min 13s (103 kB/s) Reading package lists... Done Reading package lists... Done Building dependency tree Reading state information... Done The following extra packages will be installed: foreman heroku libruby1.9.1 libyaml-0-2 ruby1.9.1 Suggested packages: ruby1.9.1-examples ri1.9.1 graphviz ruby1.9.1-dev ruby-switch The following NEW packages will be installed: foreman heroku heroku-toolbelt libruby1.9.1 libyaml-0-2 ruby1.9.1 0 upgraded, 6 newly installed, 0 to remove and 126 not upgraded. Need to get 5,177 kB of archives. After this operation, 12.0 MB of additional disk space will be used. Get:1 http://toolbelt.heroku.com/ubuntu/ ./ foreman 0.60.0 [89.5 kB] Get:2 http://mirrordirector.raspbian.org/raspbian/ wheezy/main libyaml-0-2 armhf 0.1.4-2 [49.0 kB] Get:3 http://mirrordirector.raspbian.org/raspbian/ wheezy/main libruby1.9.1 armhf 1.9.3.194-5 [4,192 kB] Get:4 http://toolbelt.heroku.com/ubuntu/ ./ heroku 2.34.0 [639 kB] Get:5 http://toolbelt.heroku.com/ubuntu/ ./ heroku-toolbelt 2.34.0 [628 B] Get:6 http://mirrordirector.raspbian.org/raspbian/ wheezy/main ruby1.9.1 armhf 1.9.3.194-5 [207 kB] Fetched 5,177 kB in 4s (1,188 kB/s) Selecting previously unselected package libyaml-0-2:armhf. (Reading database ... 70836 files and directories currently installed.) Unpacking libyaml-0-2:armhf (from .../libyaml-0-2_0.1.4-2_armhf.deb) ... Selecting previously unselected package libruby1.9.1. Unpacking libruby1.9.1 (from .../libruby1.9.1_1.9.3.194-5_armhf.deb) ... Selecting previously unselected package ruby1.9.1. Unpacking ruby1.9.1 (from .../ruby1.9.1_1.9.3.194-5_armhf.deb) ... Selecting previously unselected package foreman. Unpacking foreman (from .../foreman_0.60.0_all.deb) ... Selecting previously unselected package heroku. Unpacking heroku (from .../archives/heroku_2.34.0_all.deb) ... Selecting previously unselected package heroku-toolbelt. Unpacking heroku-toolbelt (from .../heroku-toolbelt_2.34.0_all.deb) ... Processing triggers for man-db ... Processing triggers for menu ... Setting up libyaml-0-2:armhf (0.1.4-2) ... Setting up libruby1.9.1 (1.9.3.194-5) ... Setting up ruby1.9.1 (1.9.3.194-5) ... update-alternatives: using /usr/bin/gem1.9.1 to provide /usr/bin/gem (gem) in auto mode update-alternatives: using /usr/bin/ruby1.9.1 to provide /usr/bin/ruby (ruby) in auto mode Setting up foreman (0.60.0) ... Setting up heroku (2.34.0) ... Setting up heroku-toolbelt (2.34.0) ... Processing triggers for menu ... pi@raspberrypi /mnt/usb1 $ heroku login Enter your Heroku credentials. Email: piman@pimail.com Password (typing will be hidden): Authentication successful. pi@raspberrypi /mnt/usb1 $ mkdir test pi@raspberrypi /mnt/usb1 $ cd test pi@raspberrypi /mnt/usb1/test $ touch a pi@raspberrypi /mnt/usb1/test $ heroku create Creating secret-river-2195... done, stack is cedar http://secret-river-2195.herokuapp.com/ | git@heroku.com:secret-river-2195.git </code>
Coding Katas: The Way of the Code Ninja
More Awesome Books
Growing Object-Oriented Software with Tests
This book is great and uses Java examples and JUnit. I try to look at this one every week.
Ken Beck’s awesome book with Java examples is another frequent resource.
This book was very helpful in learning about the what can and will go wrong in large scale Java applications. Also how to design to fail and recover quickly and consistently.
Interview Topics
- REST
- Inner Classes
- Interfaces vs Abstract Classes
- Collections
- Linked Lists
- Serialization
- Threads
- Transactions
- i18N
- JSP
- HTML5
- Javascript
- Android
- Cloud / PAAS
- Your favorite web resource
- Subversion
- Github
- Java Debugging
- JVM Internals
- AOP
- UNIX Scripting
- XML
- SAX vs DOM
- Design Patterns
- JUnits / Mocking
- Code Coverage / EMMA
- JDBC vs Hibernate vs JPA vs Spring Data
- JMS
- SOAP Web Services
- Dependency Injection (DI)
- Generic Programming
- Annotations
- Google Guice
- Maven / ANT / Gradle / SBT
- Oracle
- UNIX / Linux / AIX
- Websphere / Tomcat
- Cruise Control / Jenkins / Hudson
- UML
- Rational Software Architect
- Inheritance
- General Objected Oriented Design / Analysis
- SQL
- Inner Join vs Outerjoin
- Cartesian Product
- Order By vs Group By
- Limiting Returned Rows
- Query Plan
- Relational Algebra
Today’s Links
In the course of updating my Raspberry Pi last night, came across these guys:
http://nosql.mypopescu.com/post/41866349361/mongodb-is-abusing-json-with-its-query-language
http://hadoop.apache.org/docs/stable/single_node_setup.html
https://github.com/heroku/devcenter-mongo-java
https://wiki.jenkins-ci.org/display/JENKINS/Starting+and+Accessing+Jenkins
https://devcenter.heroku.com/articles/spring-mvc-hibernate
http://www.dzone.com/links/r/ngrinder_enterprise_level_open_source_stress_test.html
http://www.dzone.com/links/r/a_chatty_atmosphere_scalable_chat_component_using.html
http://www.dzone.com/links/r/groovy_goodness_append_values_to_appendable_objec.html
Must Own Books
Analysis Patterns, Design Patterns, Object-Oriented Analysis and Design.
Android + Java + Heroku + JAX-RS
CSS Links
Sending Email With Java (Beware)
I turn on debugging to trace what’s going on. All looks good but one email bounces back after a day and some hotmail and gmails just vanish.
To test a mail server from one of our UNIX servers:
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.AddressException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import java.util.*;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.PasswordAuthentication;
public class Mail {
/// example command line run
public static void main(String[] args) {
String sArray[] = new String[] {"tim.spann@somedomain.com", "tspann@timmail.com", "tspannjava@joemail.com"};
List<String> emails = Arrays.asList(sArray);
Iterator<String> iterator = emails.iterator();
while (iterator.hasNext()) {
Mail.sendEmail("test from test", "message", iterator.next() );
}
}
/**
* size of buffer
*/
public static final int gkBUFFER_SIZE = 256;
/**
* getCurrentDateTime
* @return Date current date
*/
public final static Date getCurrentDateTime() {
return new Date(System.currentTimeMillis());
}
/**
* sendEmail
* @param subject subject of email
* @param message message text
* @param emailAddress email address to send to
* @return String log of errors/status
*/
public final static String sendEmail(String subject, String message,
String emailAddress) {
// email sent
boolean emailSent = true;
// email message
StringBuffer emailLoggingMessage =
new StringBuffer(Mail.gkBUFFER_SIZE);
// start of message
emailLoggingMessage
.append("Email:")
.append(emailAddress).append(System.getProperty("line.separator"));
// Email Properties
Properties props = new Properties();
// add properties from properties file
props.put("mail.smtp.host",
"mymail.mydomain.com");
props.put("mail.debug",
"true");
props.put("mail.smtp.port","25");
// -- login
props.put("mail.smtp.auth", "true");
Session session = Session.getInstance(props,
new javax.mail.Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication("nt domainntid", "ntpassword");
}
});
// / -------------
// turn on debug mode
session.setDebug(true);
Message msg = new MimeMessage(session);
InternetAddress addressFrom = null;
try {
addressFrom =
new InternetAddress("Timothy.Spann@SomeSenderDomain.com");
} catch (AddressException e) {
e.printStackTrace();
emailLoggingMessage.append(e.getLocalizedMessage()).append(
System.getProperty("line.separator"));
emailSent = false;
}
try {
msg.setFrom(addressFrom);
} catch (MessagingException e) {
e.printStackTrace();
emailLoggingMessage.append(e.getLocalizedMessage()).append(
System.getProperty("line.separator"));
emailSent = false;
}
// recipient
InternetAddress addressTo = null;
try {
addressTo = new InternetAddress(emailAddress);
} catch (AddressException e) {
e.printStackTrace();
// refactor this
emailLoggingMessage.append(e.getLocalizedMessage()).append(
System.getProperty("line.separator"));
emailSent = false;
}
// add to address as recipient
try {
msg.setRecipient(Message.RecipientType.TO, addressTo);
} catch (MessagingException e) {
e.printStackTrace();
emailLoggingMessage.append(e.getLocalizedMessage()).append(
System.getProperty("line.separator"));
emailSent = false;
}
// Setting the Subject and Content Type
try {
msg.setSubject(subject);
} catch (MessagingException e) {
e.printStackTrace();
emailLoggingMessage.append(e.getLocalizedMessage()).append(
System.getProperty("line.separator"));
emailSent = false;
}
try {
msg.setContent(message,"text/plain");
} catch (MessagingException e) {
e.printStackTrace();
emailLoggingMessage.append(e.getLocalizedMessage()).append(
System.getProperty("line.separator"));
emailSent = false;
}
try {
Transport.send(msg);
} catch (MessagingException e) {
e.printStackTrace();
emailLoggingMessage.append(e.getLocalizedMessage()).append(
System.getProperty("line.separator"));
emailSent = false;
}
// sent message
if (emailSent) {
emailLoggingMessage.append("Email successfully sent.")
.append(System.getProperty("line.separator"));
}
// return message
return emailLoggingMessage.toString();
}
}
I am testing on a UNIX Server with:
– mail.sh
export ANT_OPTS="-Xms2048m -Xmx2048m -XX:MaxPermSize=1024m" export JAVA_OPTS="-server -Xms2048m -Xmx2048m -XX:MaxPermSize=1024m" export CLASSPATH=$CLASSPATH:dsn.jar:mail.jar:mailapi.jar:pop3.jar:smtp.jar:activation.jar:imap.jar:ojdbc14.jar:runtime12.jar:. javac Mail.java java Mail > mail.txt 2&> mailerr.txt
Debug Log
DEBUG: JavaMail version 1.4.4
DEBUG: URL jar:file:/home/tspann/mail/pop3.jar!/META-INF/javamail.providers
DEBUG: successfully loaded resource: jar:file:/home/tspann/mail/pop3.jar!/META-INF/javamail.providers
DEBUG: URL jar:file:/home/tspann/mail/smtp.jar!/META-INF/javamail.providers
DEBUG: successfully loaded resource: jar:file:/home/tspann/mail/smtp.jar!/META-INF/javamail.providers
DEBUG: URL jar:file:/home/tspann/mail/imap.jar!/META-INF/javamail.providers
DEBUG: successfully loaded resource: jar:file:/home/tspann/mail/imap.jar!/META-INF/javamail.providers
DEBUG: successfully loaded resource: /META-INF/javamail.default.providers
DEBUG: Tables of loaded providers
DEBUG: Providers Listed By Class Name:
{com.sun.mail.smtp.SMTPSSLTransport=javax.mail.Provider[TRANSPORT,smtps,com.sun.mail.smtp.SMTPSSLTransport,Sun Microsystems, Inc],
com.sun.mail.imap.IMAPSSLStore=javax.mail.Provider[STORE,imaps,com.sun.mail.imap.IMAPSSLStore,Sun Microsystems, Inc],
com.sun.mail.smtp.SMTPTransport=javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Sun Microsystems, Inc],
com.sun.mail.pop3.POP3SSLStore=javax.mail.Provider[STORE,pop3s,com.sun.mail.pop3.POP3SSLStore,Sun Microsystems, Inc],
com.sun.mail.imap.IMAPStore=javax.mail.Provider[STORE,imap,com.sun.mail.imap.IMAPStore,Sun Microsystems, Inc],
com.sun.mail.pop3.POP3Store=javax.mail.Provider[STORE,pop3,com.sun.mail.pop3.POP3Store,Sun Microsystems, Inc]}
DEBUG: Providers Listed By Protocol: {imaps=javax.mail.Provider[STORE,imaps,com.sun.mail.imap.IMAPSSLStore,Sun Microsystems, Inc],
imap=javax.mail.Provider[STORE,imap,com.sun.mail.imap.IMAPStore,Sun Microsystems, Inc], smtps=javax.mail.Provider[TRANSPORT,smtps,
com.sun.mail.smtp.SMTPSSLTransport,Sun Microsystems, Inc], pop3=javax.mail.Provider[STORE,pop3,com.sun.mail.pop3.POP3Store,Sun Microsy stems, Inc],
smtp=javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Sun Microsystems, Inc],
pop3s=javax.mail.Provider[STORE,pop3s,com.sun.mail.pop3.POP3SSLStore,Sun Microsystems, Inc]}
DEBUG: successfully loaded resource: /META-INF/javamail.default.address.map
DEBUG: URL jar:file:/home/tspann/mail/smtp.jar!/META-INF/javamail.address.map
DEBUG: successfully loaded resource: jar:file:/home/tspann/mail/smtp.jar!/META-INF/javamail.address.map
DEBUG: setDebug: JavaMail version 1.4.4
DEBUG: getProvider() returning javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Sun Microsystems, Inc]
DEBUG SMTP: useEhlo true, useAuth true
DEBUG SMTP: useEhlo true, useAuth true
DEBUG SMTP: trying to connect to host "SomeSenderDomain.com", port 25, isSSL false
220 SomeSenderDomain.com SMTP Ready.
DEBUG SMTP: connected to host "SomeSenderDomain.com", port: 25
EHLO timspann.cool.com
250-ESMTP Server Ready
250-SIZE 0
250-DSN
250-STARTTLS
250 TLS
DEBUG SMTP: Found extension "SIZE", arg "0"
DEBUG SMTP: Found extension "DSN", arg ""
DEBUG SMTP: Found extension "STARTTLS", arg ""
DEBUG SMTP: Found extension "TLS", arg ""
DEBUG SMTP: use8bit false
MAIL FROM:<Timothy.Spann@SomeSenderDomain.com>
250 +OK Sender OK
RCPT TO:<tim.spann@somedomain.com>
250 +OK Recipient OK
DEBUG SMTP: Verified Addresses
DEBUG SMTP: tim.spann@somedomain.com
DATA
354 Start mail input, end with '<CR><LF>.<CR><LF>'
From: Timothy.Spann@SomeSenderDomain.com
To: tim.spann@somedomain.com
Message-ID: <117704452.0.1350396539475.JavaMail.tspann@tspann.cool.com>
Subject: test from test
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
message
.
250 +OK message queued for delivery.
QUIT
221 Service closing transmission channel closing connection
Issues with IBM AIX Websphere JDK
JavaMail API
Transport
FSQ
Javamail Summary
Javamail Docs
Javamail Docs2
Javamail Readme
SMTP Package Summary
JavaMail without a server
JavaMail
IBM Issues with SSL TLS / GMAIL
java.security file at /base_v61/java/jre/lib/security
Port 25
Gmail Ports
SMTP
SMTP Errors
Javamail with SMTPS/SSL
Gmail SMTP using SSL
Javamail to Hotmail
SSL – Android
STARTTTLS
Javamail from Websphere
Sending Gmail
SSL Error Certificate
IBM Support
IBM Support
IBM Support
Javamail with TLS on AIX
Update Using Apache Commons Email (thanks DZONE Readers)
/**
*
* @param subject
* @param message
* @param emailAddress
* @return
*/
public final static String sendEmail(String subject, String message, String emailAddress) {
// email sent
boolean emailSent = false;
// email message
StringBuilder emailLoggingMessage =
new StringBuilder(UserProvisioningUtility.gkBUFFER_SIZE);
// start of message
emailLoggingMessage
.append(Messages.getString("UserProvisioningProcess.SMTP_MESSAGE_LOG"))
.append(emailAddress).append(System.getProperty("line.separator"));
Email email = new SimpleEmail();
//email.setHostName("smtp.googlemail.com");
//email.setSmtpPort(465);
email.setHostName(Messages.getString("UserProvisioningProcess.EMAIL_SERVER"));
int smtpPort = 25;
if ( null != Messages.getString("UserProvisioningProcess.EMAIL_PORT")) {
try {
smtpPort = Integer.parseInt(Messages.getString("UserProvisioningProcess.EMAIL_PORT"));
}
catch(Throwable t) {
emailLoggingMessage.append(t.getLocalizedMessage()).append(
System.getProperty("line.separator"));
}
}
email.setSmtpPort(smtpPort);
// email.setAuthenticator(new DefaultAuthenticator("username", "password"));
// email.setSSLOnConnect(true);
try {
email.setFrom(Messages.getString("UserProvisioningProcess.FROM_EMAIL"));
} catch (EmailException e) {
emailLoggingMessage.append(e.getLocalizedMessage()).append(
System.getProperty("line.separator"));
}
email.setSubject(subject);
try {
email.setMsg(message);
} catch (EmailException e) {
emailLoggingMessage.append(e.getLocalizedMessage()).append(
System.getProperty("line.separator"));
}
try {
email.addTo(emailAddress);
} catch (EmailException e) {
emailLoggingMessage.append(e.getLocalizedMessage()).append(
System.getProperty("line.separator"));
}
try {
email.send();
emailSent = true;
} catch (EmailException e) {
emailLoggingMessage.append(e.getLocalizedMessage()).append(
System.getProperty("line.separator"));
}
// sent message
if (emailSent) {
emailLoggingMessage.append(
Messages.getString("UserProvisioningProcess.SMTP_MESSAGE_SENT"))
.append(System.getProperty("line.separator"));
}
return emailLoggingMessage.toString();
}
Hibernate OGM – MongoDB vs Kundera vs Jongo vs MongoDB API vs Morphia vs Spring Data Mongo – MongoDB Drivers for Java
I am working on a Spring MVC app that demonstrates all of the different MongoDB Java APIs.
Some Links
http://code.google.com/p/morphia/wiki/QuickStart
http://www.mongodb.org/display/DOCS/Java+Tutorial
https://github.com/hibernate/hibernate-ogm
http://www.hibernate.org/subprojects/ogm.html
https://github.com/impetus-opensource/Kundera/wiki
https://github.com/impetus-opensource/Kundera/wiki/Getting-Started-in-5-minutes
http://blog.fisharefriends.us/morphia-vs-spring-data-mongodb/
http://www.ibm.com/developerworks/java/library/j-morphia/index.html
Maven POM Settings For Various Drivers
morphia
Morphia
http://morphia.googlecode.com/svn/mavenrepo/
default
sonatype-nexus
Kundera Public Repository
https://oss.sonatype.org/content/repositories/releases
true
false
kundera-missing
Kundera Public Missing Resources Repository
http://kundera.googlecode.com/svn/maven2/maven-missing-resources
true
true
com.google.code.morphia
morphia
0.99
org.hibernate.ogm
hibernate-ogm-core
4.0.0-SNAPSHOT
provided
org.mongodb
mongo-java-driver
2.10.1
org.springframework.data
spring-data-mongodb
1.0.4.RELEASE
Hibernate OGM for MongoDB
https://community.jboss.org/wiki/PortingSeamHotelBookingExampleToOGM
https://github.com/ajf8/seam-booking-ogm
https://openshift.redhat.com/community/blogs/configuring-hibernateogm-for-your-jboss-app-using-mongodb-on-openshift-paas
https://github.com/openshift/openshift-ogm-quickstart
Kundera (JPA for MongoDB)
https://github.com/impetus-opensource/Kundera-Examples/wiki/Using-Kundera-with-Spring
https://github.com/impetus-opensource/Kundera
https://github.com/impetus-opensource/kundera-mongo-performance
https://github.com/impetus-opensource/Kundera-Examples
https://github.com/impetus-opensource/Kundera/wiki/Sample-Codes-and-Examples
https://github.com/impetus-opensource/Kundera-Examples/wiki/Twitter
http://architects.dzone.com/articles/sqlifying-nosql-%E2%80%93-are-orm
https://github.com/xamry/twitample
https://github.com/impetus-opensource/Kundera-Examples/wiki/Cross-datastore-persistence-using-Kundera
http://prabhubuzz.wordpress.com/2012/05/25/mongodb-cassandra-jpa-service-using-kundera/
http://gora.apache.org/
http://xamry.wordpress.com/2011/05/02/working-with-mongodb-using-kundera/
https://github.com/impetus-opensource/Kundera/wiki/Getting-Started-in-5-minutes
https://github.com/impetus-opensource/Kundera/wiki/Concepts
Reading CruiseControl Information
/**
*
*/
package dev.util.cruise.rss;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.Iterator;
import javax.mail.MessagingException;
// ROME
import com.sun.syndication.feed.synd.SyndEntry;
import com.sun.syndication.feed.synd.SyndFeed;
import com.sun.syndication.io.FeedException;
import com.sun.syndication.io.SyndFeedInput;
import com.sun.syndication.io.XmlReader;
/**
* @author spannt
*
* RSS FEED of Build
*
* http://localhost:8080/dashboard/rss.xml
*
*/
public class CruiseControlStatus {
/**
*
* @param url
* @return
*/
public static String getPage(String url) {
StringBuilder out = new StringBuilder();
URL myUrl = null;
try {
myUrl = new URL(url);
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
BufferedReader in = null;
try {
in = new BufferedReader(new InputStreamReader(myUrl.openStream()));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
String line;
try {
while ((line = in.readLine()) != null)
out.append(line).append(“\n”);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
in.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return out.toString();
}
/**
* @param args
*/
@SuppressWarnings(“unchecked”)
public static void main(String[] args) {
boolean sendEmail = false;
URL url = null;
try {
url = new URL(“http://localhost:8080/dashboard/rss.xml”);
} catch (MalformedURLException e) {
e.printStackTrace();
System.exit(-1);
}
XmlReader reader = null;
StringBuilder out = new StringBuilder();
try {
try {
reader = new XmlReader(url);
} catch (IOException e) {
e.printStackTrace();
System.exit(-1);
}
SyndFeed feed = new SyndFeedInput().build(reader);
out.append(“\nCruise Control\n\n ” + feed.getLink()).append(“\n\n”);
for (Iterator<SyndEntry> i = feed.getEntries().iterator(); i.hasNext();) {
SyndEntry entry = (SyndEntry) i.next();
/**
* <title>release passed Thu, 01 Nov 2012 15:34:37 -0400</title>
* <description>Build passed</description> <pubDate>Thu, 01 Nov
* 2012 15:34:37 -0400</pubDate>
* <link>http://localhost:8080/dashboard
* /tab/build/detail/release</link>
*/
if (entry.getTitle() != null
&& entry.getTitle().contains(“CASS FAILED”)) {
sendEmail = true;
out.append(entry.getTitle() + “<br>\n”
+ entry.getDescription().getValue() + “<br>\n”
+ entry.getPublishedDate() + “<br>\n”
+ entry.getLink() + “<br><br>\n\n”);
}
}
if (sendEmail) {
// get page
out.append(“\n\n”).append(
getPage(“http://localhost:8080/dashboard/tab/builds”));
GoogleMail mail = new GoogleMail();
String[] recipients = { “tim.spann@devland.dev” };
try {
mail.sendSSLMessage(recipients, “Build Notification”,
out.toString(), “tim.spann@devland.dev”);
} catch (MessagingException e) {
e.printStackTrace();
}
}
} catch (IllegalArgumentException | FeedException e) {
e.printStackTrace();
} finally {
if (reader != null)
try {
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
Android Development
At my sister blog, Android Dev World.
Spring Tutorials – Links
http://tshikatshikaaa.blogspot.com/2012/09/spring-mvc-customized-user-login-logout.html
http://tshikatshikaaa.blogspot.com/2012/09/spring-mvc-service-dao-persistence.html
http://tshikatshikaaa.blogspot.com/2012/10/spring-mvc-form-validation-with-annotations.html
http://tshikatshikaaa.blogspot.com/2012/09/junit-testing-spring-service-and-dao.html
http://tshikatshikaaa.blogspot.com/2012/09/spring-mvc-controller-junit-testing.html
http://tshikatshikaaa.blogspot.nl/2012/09/spring-web-jpa-hibernate-in-memory.html
http://tshikatshikaaa.blogspot.com/2012/11/serving-static-resources-with-spring-mvc.html
http://tshikatshikaaa.blogspot.nl/2012/09/junit-testing-spring-service-and-dao.html
http://tshikatshikaaa.blogspot.com/2013/01/anatomy-of-default-openshift-spring-web.html
http://tshikatshikaaa.blogspot.nl/2013/01/spring-selenium-tests-with-annotations.html
http://tshikatshikaaa.blogspot.com/2012/11/spring-mvc-rest-calls-with-http-only.html
http://www.infoq.com/presentations/Introduction-WebSocket
http://tshikatshikaaa.blogspot.com/2012/11/spring-mvc-rest-calls-from-java.html
http://tshikatshikaaa.blogspot.com/2012/10/setting-logging-dependencies-in-spring.html
http://tshikatshikaaa.blogspot.com/2012/11/spring-mvc-rest-calls-with-ajax.html
http://tshikatshikaaa.blogspot.com/2012/10/returning-json-in-spring-with-annotations.html
http://tshikatshikaaa.blogspot.com/2012/11/fetching-json-with-ajax-in-spring-mvc-context.html
http://tshikatshikaaa.blogspot.com/2012/11/introduction-to-spring-jpa-data-features.html
http://tshikatshikaaa.blogspot.com/2012/11/spring-mvc-error-handling.html
http://www.dzone.com/links/r/caching_with_spring_data_redis.html
http://www.dzone.com/links/r/spring_mvc_how_to_use_sessionattributes_annotation.html
http://www.dzone.com/links/r/cloud_stack_of_your_dreams_bootstrap_and_spring_r.html
http://www.dzone.com/links/r/spring_roo_and_twitter_bootstrap_roostrap_for_spr.html
http://www.dzone.com/links/r/spring_transaction_propagation_tutorial.html
http://www.dzone.com/links/r/rest_services_with_jaxrs_and_spring_handling_lost.html
Facebook Open Graph – Links
The Days of Shell and Rational Roses
http://www.leancrew.com/all-this/2011/12/more-shell-less-egg/
That post reminded me of why UNIX and combining simple single function programs together made UNIX (and Linux) so amazing.
My first college CGI and my first corporate one (Database America’s Yellow Pages engine) were all written in bourne shell! I thought it was so primitive, but thinking back I was able to implement a functional, fast and solid application in only a few days. The school project was as a simple web interface to a C++ application I wrote to do some B-Tree application for class. I do remember making database calls through command line SQL tools and parsing the results wasn’t as clean or as safe as you would want, but that was really because the command line tools were not designed to fit into the standard UNIX change.
We eventually upgraded to Perl, which was really like ShellScript++.
I guess the takeaway here is that make small reusable components that function fast, simple and can be easily chained with other components to make a custom “tool”. Software is just a tool even when it looks like a fancy magazine or funky website. Hmm Pipes and Mule ESB have that same feel. Shell was the ultimate object reuse.
So you would do the painful, slow job of writing C++, even with Rational Rose UML to help guide you, it was painful. You had to hope you had the correct libraries and that there were free ones. STL was a great help, but you had to buy a license. I think we had to buy a bunch of licenses from RogueWave for database stuff as well. Now Java, Node.Js and the rest have a ton of free libraries for everything. Which is great, but you have to pick the right one, get it into a build script of some sort (ANT, Maven, Gradle, Rake, SBT, …), combine it with some other libraries and then write some code specific to that library. With tools like Eclipse and NetBeans, you can automate a lot of that, but even all the libraries and frameworks that help you add bulk and complexities. More points of failure, not an elegant connection of small tools, but a behemoth of patched together disjoint libraries.
Anyone remembermsql ? MySQL and msql competed for awhile and then MySQL crushed it..
The archive of my old Montclair State Website.
#DZGoodies
Got a great gift from DZone, which included a lot of goodies.
A really nice black “DEV” t-shirt, a cool mug, an 8 gig USB stick, 2 color refcards – Design Patterns and HTML5 Websockets, a little cubicle game and some promo stuff.
Very cool. Thanks #DZGoodies.
Big thanks to Dzone, Manning Publications, Tizen and New Relic.
Nodester is now AppFog
Quickly add Java, Java Grails, PHP, Python, Ruby, Node.js, … apps.
The free one allows unlimited apps like Heroku.
It also supports a bunch of free services like OpenShift (MySQL, Postgresql, MongoDB, RabbitMQ, and Redis <- very few support this great NoSQL option).
Fast, free and a slick web GUI.
Your choice of data hosting (Amazon, Rackspace, HP or Azure) in different locations (Virginia, Europe, Asia, Dallas, Vegas and San Antonio.)
Up to 2 Gigs free, up to 8 services.
On Windows 7
af login<br>gem update --system gem install af<br style="">mvn clean package af update tspannjavajava gem update --system Latest version currently installed. Aborting. gem install af Successfully installed af-0.3.18.11 1 gem installed Installing ri documentation for af-0.3.18.11... Installing RDoc documentation for af-0.3.18.11... af login Attempting login to [https://api.appfog.com] Email: email@email.com Password: ***************** Successfully logged into [https://api.appfog.com] mvn install F:Projectscloudfoundry-sampleshello-java>af update tspannjavajava Uploading Application: Checking for available resources: OK Packing application: OK Uploading (12K): OK Push Status: OK
Need to move WEB-INF to maven root
Failed until I made the directory exactly like ZIP file source code download, see META-INF and WEB-INF.
Directory of \Projects\cloudfoundry-samples\hello-java
01/22/2013 02:37 PM <DIR> .
01/22/2013 02:37 PM <DIR> ..
01/22/2013 02:37 PM 42 .gitignore
01/22/2013 02:37 PM 5,312 README.md
01/22/2013 02:37 PM <DIR> src
04/16/2012 11:38 PM 692 pom.xml
04/16/2012 11:39 PM 117 pom.properties
01/22/2013 02:45 PM <DIR> target
01/22/2013 02:37 PM <DIR> WEB-INF
4 File(s) 6,163 bytes
5 Dir(s) 15,830,614,016 bytes free
\Projects\cloudfoundry-samples\hello-java>af update tspannjavajava
Uploading Application:
Checking for available resources: OK
Packing application: OK
Uploading (15K): OK
Push Status: OK
Stopping Application ‘tspannjavajava’: OK
Staging Application ‘tspannjavajava’: OK
Starting Application ‘tspannjavajava’: OK
F:\Projects\cloudfoundry-samples\hello-java>
same as cloudfoundry
https://github.com/SpringSource/cloudfoundry-samples/wiki/Cloud-foundry-environment-variables
http://blog.springsource.org/2011/10/13/using-cloud-foundry-services-with-spring-part-1-the-basics/
Similiar to Stackato
http://docs.stackato.com/deploy/languages/java.html
http://jackson.codehaus.org/1.0.1/javadoc/org/codehaus/jackson/JsonNode.html
http://blog.springsource.org/2011/10/13/using-cloud-foundry-services-with-spring-part-1-the-basics/
http://docs.stackato.com/deploy/services/data-services.html#database-services-advanced
Raspberry Pi and Development
Raspberry Pi
Raspberry Pi on My TV
MongoDB
Eclipse/Java
Some Useful Updates via Raspian/Debian
sudo apt-get update
sudo apt-get install eclipse
Java library for Raspberry Pi
Java Library for RPi (Pi4J)
JVM on Pi
Oracle JVM Downloads
JDK1.7 on Pi
General Raspberry Pi Usage
New Node.JS, JavaScript, HTML5, NoSQL Links
My favorite new resource is DailyJS, always a ton of great links, libraries, tutorials, documents and more. This is really a site that I have to visit daily.
JavaScript
New Streaming API for Node, Components Tutorial, Holler, GruntStart
HTML5: Server-sent events with Angular.js, Node.js and Express.js | Smartjava.org
Backbone
Backbone.js Tutorial: Backbone.sync
JavaScript MUSIC
Substack’s Musical Node Modules – this is really cool stuff.
Tutorials
Using MongoDB, Redis, Node.js, and Spring MVC in a single Cloud Foundry Application
Java to Node.JSNode.js Application Development with RabbitMQ Service
I have posted a bunch of great tech links on my Google+, check them out.
sj:mug Holiday Mongo Talks
My local demo is hitting a MongoDB instance at MongoLab, the provide free hosting for a small dataset.
I have a simple application based on Spring Data for Mongodb.
MongoOperations mongoOps = null;
AppConfig config = new AppConfig();
try {
mongoOps = config.mongoTemplate();
} catch (Exception e) {
e.printStackTrace();
logger.error("Mongo Connection Error", e);
}
Person person = mongoOps.findOne(new Query(where("name").is("Joe")), Person.class);
logger.info(person.toString());
model.addAttribute("MongoInfo", person.toString());
Manfiesto for Software Craftsmanship
Manfiesto for Software Craftsmanship
Sign it today!
Raising the bar.
As aspiring Software Craftsmen we are raising the bar of professional software development by practicing it and helping others learn the craft. Through this work we have come to value:
That is, in pursuit of the items on the left we have found the items on the right to be indispensable.
© 2009, the undersigned.
this statement may be freely copied in any form,
but only in its entirety through this notice.
Background materials
- McBreen’s Software Craftsmanship
- The Pragmatic Programmer
- The Craftsman by Richard Sennett
- Apprenticeship Patterns
- Apprenticeship Patterns (Online)
- Mastery by George Leonard
- The Role of Deliberate Practice in the Acquisition of Expert Performance by K. Anders Ericsson et al
- Self-theories:Their role in Motivation, Personality, and Development by Carol S. Dweck
- Better:A Surgeon’s Notes on Performance by Atul Gawande
- Unskilled and Unaware of it:how difficulties in recognizing one’s own incompetence lead to inflated self-assessments by Justin Kruger and David Dunning
- The Dunning-Kruger effect
- What the Dunning-Kruger effect is and isn’t
- The Creative Habit by Twyla Tharp
- The Wikipedia page on Software Craftsmanship
- Wikipedia on Craft
Food for thought
- Software Craftsmanship:More than just a manifesto
- A Nostalgia for Guilds And Other Dangerous Ideas
- Software Craftsmanship – can we just get over it?
- Am I a Master?
- Is Craftsmanship All About Code?
- What’s all this nonsense about Katas?
- The Ultimate Code Kata
- What Is Software Craftsmanship?
- A Call for Apprenticeship
- The Puppet Master and the Apprentice
- Be a Mentor
- Teach Yourself Programming in Ten Years
- Pragmatic thinking and learning
Kata and exercises
Conferences and community
Spring Resources
Using IBM Heap Analyzer and Other IBM Tools For IBM JDK
“Unveiling the java.lang. OutOfMemoryError”



IBM Thread and Monitor Dump Analyzer for Java

IBM Trace and Request Analyzer for WebSphere Application Server
Unveiling the java.lang.Out OfMemoryError
IBM Database Connection Pool Analyzer for IBM WebSphere Application Server
Heap Analyzer to Diagnose Java Heap Issues
Example Dump
java -version
java version “1.6.0_33″
Java(TM) SE Runtime Environment (build 1.6.0_33-b03)
Oracle JRockit(R) (build R28.2.4-14-151097-1.6.0_33-20120618-1633-windows-ia32, compiled mode)
Heap Dump Information
| File Integrity | Complete |
| File path | heapdump.20121120.133422.10420458.0001.phd |
| File format | IBM portable heap dump, PHD Format Version 5 |
| File size | 300,304,360 bytes |
| Time stamp | November 20, 2012 ,2:26:03 PM |
| Java version | JRE 6.0 AIX ppc64 |
| Classes | 83,868 |
| Instances | 11,846,425 |
| Instance arrays | 1,905,395 |
| Primitive arrays | 2,744,667 |
| Total Entries | 16,580,355 |
| References | 29,315,306 |
| Root objects | 116,696 |
| Types | 83,876 |
| Heap range | 0×40000000 to 0xfff29fc8 |
| Heap usage | 3,219,677,952 bytes |
| Dark Matter | 670,944 bytes (0.02 %) |
| Leak suspects | 26 |
Scrumban for Defect Cycle Resolution
I have been working on using Scrumban to resolve a defect cycle we are working through. We have a large number of defects on a product (many of which are from a third party framework) and a typical Scrum is a bit difficult because of so many small stories. I was thinking of doing pure Kanban, but my team is very used to working within a standard Scrum sprint cycle.
So a ScrumBan board in our defect fixing war room seems to be the best way to track a lot of small tickets (post-its).
I will post and see how this goes.
Node.js Development on Windows with WebMatrix 2
Having found the excellent TOAD for MongoDB (and other NoSQL), Windows is starting to be an okay development platform. Not as good as Mac or Ubuntu, but not bad. From Eclipse to SBT to GIT to BASH, everything you need for Node.JS, HTML5, Mobile, NoSQL and Cloud PAAS development is available.
WebMatrix 2 lets you edit JavaScript, Node.js with, HTML5, CSS, Less, CoffeeScript, Images and connect to MySQL.
Great Extensions
NPM
http://extensions.webmatrix.com/
Resources
http://dotnet.dzone.com/articles/webmatrix-2-rc-html-css-nodejs
http://blog.ntotten.com/2012/09/06/hacking-node-js-on-webmatrix-2/
http://www.nodejs-news.com/nodejs-tech/nodejs-webmatrix/
http://www.youtube.com/user/WebMatrixMS
http://blog.stevensanderson.com/2012/07/09/node-js-development-with-webmatrix-2-and-express/
http://jbeckwith.com/2012/06/07/node-js-meet-webmatrix-2/
http://www.lynda.com/Nodejs-tutorials/Nodejs-First-Look/101554-2.html
https://github.com/MicrosoftWebMatrix
https://github.com/MicrosoftWebMatrix/NodePowerTools
http://www.microsoft.com/web/post/how-to-use-the-nodejs-starter-template-in-webmatrix
http://vishaljoshi.blogspot.com/2012/06/announcing-webmatrix-2-rc.html
http://channel9.msdn.com/Shows/Web+Camps+TV/Coding-Nodejs-in-WebMatrix-2
mongodb meeting with SJ

A first time meetup in South Jersey at the Fire Hall in Pennsauken. With some great support from 10gen with info sheets, stickers and pizza.
Notes from A. Riveria presentation:
- Document Data Model
- Database Technology anywhere…
- Written in C++
- Source Code on Github
- Runs on most platforms
- BSON (Binary JSON) – binary-encoded serialization
- JSON collections
- Embedding of objects/arrays
- Table => Collection
- Row => Document
- Join => Embedded
- Foreign Key => Reference / Link (Object Id – autogenerated serial # for each document)
- Partition => Shard (Shard keys across nodes)
- Indexes on fields and collections of indexes
- Great for lat/long
- Geospatial queries
Insert
var insertString = {username:”smith”, value:1}
can use quotes around the fieldnames.
db.users.insert(insertString);
(users is our collection)
db.users.update({username: “jones”}, {$set: {email:”a@yahoo.com”}}
first section is where, set part does the update on the field(s)
MAKE SURE YOU USE $SET modifier in updates.
Only updates first record it encounters.
Upserts. Update or if not found then create/insert.
db.users.remove( {username:”aname”});
deletes a document
$ne (not equal)
$lt (less than)
$lte (less than equal to)
$gt
Also supports CSV, best to do JSON, the default. Arrays in a field does not work in a CSV.
mongoimport –db sjmug -c users -v –file data.json –host localhost –port 27018 –jsonArray
Thanks to 10gen for sponsorship!
Memory Check From Sun (Oracle) JVM on Windows
java.lang.management.OperatingSystemMXBean mxbean = java.lang.management.ManagementFactory.getOperatingSystemMXBean();
com.sun.management.OperatingSystemMXBean sunmxbean = (com.sun.management.OperatingSystemMXBean) mxbean;
long freeMemory = sunmxbean.getFreePhysicalMemorySize()/1048576;
long availableMemory = sunmxbean.getTotalPhysicalMemorySize()/1048576; // Megs 1,024 x 1,024
System.out.println("Free=" + freeMemory + " Avail=" + availableMemory);
Long Classpaths in Windows
There’s many options to fix this:
Other options
Windows Symbolic Links Utility (Junction v1.06)
http://www.java-forums.org/advanced-java/57496-classpath-max-length.html
http://unserializableone.blogspot.com/2007/10/solution-to-classpath-too-long-aka.html
IBM JDK Limitations (2,031 characters use java.ext.dirs)
Try Jawful, an interesting utility.
Try classpath wildcards or a Stackoverflow discussion on Long Java Classpaths.
Some general information on Classpath.
Linked List
Graphic Display of Nodes in a linked list (with bacon data)
Linked List in UML
Linked List in Pseudo Code
Linked List in Node.js (Javascript)
An implementation in Javascript. A linked list of buffers in Node.js. A great set of implementations for Javascript. A computer science implementation of JavaScript. Also a nice insertion sort in Javascript.
Linked List in Java
Java has built in Lists. An implementation of the Singly Linked List.
Linked List in Scala
Scala has built in Lists. A Scala list from scratch.
Linked List in Groovy
Groovy has built in Linked Lists and other Collections.
RosettaCode, An awesome site listing implementations in many languages, this is a link to linked list.
MongoDB 2.2 Live
Node.js and Mongodb Links
Test Driven Node.JS Development
What would a language and framework be with unit testing, BDD, and other testing methods, frameworks and systems?
So once you get beyond casual Node.JS development, you will need to start unit testing. Node.js has a surprisingly robust and mature set of testing tools and options. Out of the box, Node.js has Built In Assert which will let you do some basic XUnit style tests. A step beyond that is NodeUnit, which is pretty easy to use for XUnit oriented people. For me, it’s easy to pick up coming from doing a lot of JUnit tests. This article is great for Using NodeUnit for Testing. Node.js is great because so many people have developed tools, frameworks and utilities for it. The only issue I have it some are not very mature and the options are so fragmented. There’s no Spring framework or hibernate that garners massive usage. So many variations and options, I wish they could work together to put together a killer Rails or Spring type group of mature, tested, interconnected tools and utilities. Full Testing Suite – Mocha is installable via NPM and works with a CI server. This one is pretty cool.
Ehcache + Hibernate / JPA and TomEE
Spring / HTML5 / Flex
https://cloudmine.me/dashboard
Node.js and JavaScript Links
Some Cool Node.JS Links
Nodejitsu
Nodejitsu is another Node.js PAAS that offers a free plan. The free plan is shared hosting through Joyent. The performance of NodeJitsu’s free plan is very good, especially considering it’s free. To start sign up on NodeJitsu’s site with the free plan and then follow the Getting Started instructions. It was a very quick process on Windows. You can use either their command line, Node.JS based jitsu tool, use the admin web site or use the HTTP API.
Executing the basic jitsu command will show you the following information:
G:>jitsu info: Welcome to Nodejitsu info: It worked if it ends with Nodejitsu ok info: Executing command help: ___ __ help: / / / /_ / / help: __/ / / __/ /__/ help: help: Flawless deployment of Node.js apps to the cloud help: open-source and fully customizable. help: https://github.com/nodejitsu/jitsu help: help: Usage: help: help: jitsu <resource> <action> <param1> <param2> ... help: help: Common Commands: help: help: To sign up for Nodejitsu help: jitsu signup help: help: To log into Nodejitsu help: jitsu login help: help: To install a pre-built application help: jitsu install help: help: Deploys current path to Nodejitsu help: jitsu deploy help: help: Lists all applications for the current user help: jitsu list help: help: Additional Commands help: jitsu apps help: jitsu logs help: jitsu env help: jitsu conf help: jitsu users help: jitsu databases help: jitsu snapshots help: jitsu logout help: help: Options: help: --version, -v print jitsu version and exit [string] help: --localconf search for .jitsuconf file in ./ and then parent dir ectories [string] help: --jitsuconf, -j specify file to load configuration from [string] help: --noanalyze skip require-analyzer: do not attempt to dynamically detect dependencies [boolean] help: --colors --no-colors will disable output coloring [boolean] [default: true] help: --release, -r specify release version number or semantic increment (build, patch, minor, major) [string] help: --raw jitsu will only output line-delimited raw JSON ( use ful for piping ) [boolean] info: Nodejitsu ok
To add a MongoDB NoSQL Database is really simple!
jitsu databases create mongo myMongo info: Welcome to Nodejitsu tspannnodejs info: It worked if it ends with Nodejitsu ok info: Executing command databases create mongo myMongo info: A new mongo has been created data: Database Type: mongo data: Database Name: myMongo data: Connection url: mongodb://nodejitsu:c23948239348239482934@st aff.mongohq.com:10064/nodejitsudb684248241564 info: Nodejitsu ok
To create your first test app, you can install their demo Hello World application as follows:
jitsu install helloworld
Directory of paasnodejitsuhelloworld
07/20/2012 12:41 PM <DIR> node_modules 07/20/2012 12:41 PM 1,015 package.json 07/20/2012 12:41 PM <DIR> bin 07/20/2012 12:41 PM 1,534 ReadMe.md 2 File(s) 2,549 bytes 4 Dir(s) 2,900,639,744 bytes free
cd helloworld
jitsu deploy
info: Welcome to Nodejitsu tspannnodejs
info: It worked if it ends with Nodejitsu ok
info: Executing command deploy
warn:
warn: Your package.json file is missing required fields:
warn:
warn: subdomain
warn:
warn: Prompting user for required fields.
warn: Press ^C at any time to quit.
warn:
prompt: subdomain: (tspannnodejs.helloworld)
warn: About to write G:paasnodejitsuhelloworldpackage.json
data:
data: {
data: contributors: [
data: { name: 'Marak Squires', email: 'marak.squires@gmail.com' },
data: { name: 'Joshua Holbrook', email: 'josh.holbrook@gmail.com' }
data: ],
data: dependencies: {},
data: repository: { type: 'git', url: 'git://github.com/nodeapps/hellowor
ld.git' },
data: bugs: { url: 'https://github.com/nodeapps/helloworld/issues' },
data: subdomain: 'tspannnodejs.helloworld',
data: engines: { node: '>=0.4' },
data: optionalDependencies: {},
data: analyze: false,
data: name: 'nodeapps-helloworld',
data: devDependencies: {},
data: scripts: { start: 'node ./bin/server' },
data: author: { name: 'Nodejitsu Inc.', email: 'support@nodejitsu.com' },
data: main: '',
data: description: 'a very basic node.js helloworld application',
data: homepage: 'http://nodeapps.github.com/helloworld',
data: version: '0.2.0',
data: licenses: [
data: { type: 'MIT', url: 'https://github.com/nodeapps/helloworld/raw
/master/LICENSE' }
data: ],
data: keywords: [ 'nodeapps', 'helloworld' ]
data: }
data:
prompt: Is this ok?: (yes) yes
info: Skipping require-analyzer because noanalyze option is set
info: Checking app availability nodeapps-helloworld
info: Creating app nodeapps-helloworld
info: Creating snapshot 0.2.0
info: Updating app nodeapps-helloworld
info: Activating snapshot 0.2.0 for nodeapps-helloworld
info: Starting app nodeapps-helloworld
info: App nodeapps-helloworld is now started
info: http://tspannnodejs.helloworld.jit.su on Port 80
info: Nodejitsu ok
You can see the deployed application here.
This NYC Node.js PAAS is very performant with a fast easy to use tool. I am liking them so far. They are also very Node.JS oriented, being the only of the PAAS vendors to use Node.JS for their command line tool.
They have also developed the very interesting FlatIron Framework, which I will be looking at next.
Nodester Node.JS + Express + Mongo App Part 1 – Nodester
The Running Node.JS Application on a Nodester
I am still working on putting up a full application for the tutorial. Also I will try the same application on Nodejitsu, CloudFoundry and Heroku.
The following are the basic steps for working with Nodester. It is very similiar to all the other command-line PaaS interfaces. I am running this on
Windows, but it will work in most environments.
npm install nodester-cli -g nodester user setup <username> <password> nodester user setkey c:.sshid_rsa.pub nodester app create <appname> nodester app init <appname> nodester npm install express nodester npm install mongoose nodester npm install socket.io git add . git commit -am "Ready to deploy" git push nodester master nodester app info nodester app stop|start|restart nodester app logs
For nodester they push to master for Nodester to get a new build.
Log into your Application List Page on the Administration Site for Nodester and you will see your newly added Application. Nodester has a good help system that will be useful to you while learning. The git commands are standard GIT which makes using all the cloud systems pretty similiar.
After uploading, I check the logs for errors:
nodester app logs nodester info Showing logs for: rollerderby New PID: 18884 chroot_runner chroot_runner Spawing /app/server.js Running node v-0.8.1 :: nodester :: App listening on port 19885 nodester info ok!
I used there out of the box example and added a connection to my test mongo db database at MongoLab.
Link Section:
The final deployed application from this tutorial
http://blog.nodester.com/post/3634535277/running-websockets-on-nodester
http://blog.nodester.com/post/19902515151/tips-for-windows-users
https://github.com/nodester/nodester/wiki/
Restify with Mongodb and Mongoose (src)
Node.JS and Mongodb Video Tutorial
Node.JS / Mongodb / Mongoose Tutorial
Finding Documents in MongoDB with Mongoose
Restful API with Node.js and Mongodb + Expresss & Mongoose
Toad for Cloud
It’s free and it works great for querying your NOSQL databases.
I am using it here against a free instance of MongoDB database hosted on MongoLab. It works great and fast and is nice for people who have been using TOAD against Oracle for years.
It also works Cassandra and Hadoop amongst others. For free, give it a try. There’s also an Eclipse plug-in, but that was a little too slow and memory draining for me. They use a funky datahub for querying things and that seems to work well for me on Windows 7.
Download the Full Installation Community Edition here.
- TOAD
HTML5
No, Not Python, It’s the Holy Grails…
I’ve been evaluating a few different technologies for doing some rapid web development work and recently I have been looking at the bounty of available tools, libraries, frameworks and associates of Spring. Spring ROO and Groovy/Grails are the big two RAD tools from SpringSource and they look pretty amazing. I don’t think I’ve found the Holy Grail of Web App development, but these two tools are really helpful in rapidly developing apps. I am hoping someone combines Roo or Grails with Vert.x to make a really awesome alternative to Node.JS. I like Node.JS and have been doing JavaScript for a decade, but I prefer the languages of the JVM and Vert.x’s support for multiple languages is pretty awesome. Hmmm, Vert.x in Grails.
With the excellent STS inside Eclipse, this gives Groovy and Java a great IDE for development, testing and debugging. And that is something that is lacking for Node.JS. Node.JS has a few tools out there, but nothing open source, free, full of awesome mature plugins (PMD, Checkstyle, GIT, Maven, JUnit, FindBugs, …) and just plain easy to use. Eclipse also has plugins for working with CloudFoundry, Heroku, OpenShift and other Cloud environments.
Between Grails and Roo, I really like the fact that I can remove Roo at anytime and still have a fully functionally application setup that utilizes standard Spring tools. It’s also easier to add other cool Spring projects like Spring Social, Spring Mobile, Spring Data and more.
Both Grails and Roo support MongoDB very well and that’s great too see. I have a few Mongo DB instances on MongoLab, MongoHQ and OpenShift. These services all have great free developer services that are great for learning, prototyping and for tutorials. I am really loving Heroku and OpenShift. It’s hard to pick one, so I didn’t. I use them both.
Vert.x + Groovy is really cool, but again not much IDE support, tools or extra libraries. It should grow start building support now, but competition with Node.JS is pretty fierce.
Interesting, Roo vs Grails Jobs.
But if you look at just Spring (which Roo is just a tool to help with a Spring project):
There’s also some great documentation, tutorials and books on Groovy/Grails since it’s been out for a while: http://grails.org/Tutorials http://www.infoq.com/minibooks/grails-getting-started On the other hand, Roo is newer, but since it generates standard Spring + Java, you are really just getting a good head start on your project.
Heroku has a nice article on using both with their awesome platform: https://devcenter.heroku.com/articles/grails and https://devcenter.heroku.com/articles/spring-mvc-hibernate.
I will post a Github repository of some samples soon.
How to integrate SpringMVC and Backbone.js
Spring MVC + Spring Data for Mongodb + Mongolab + OpenShift
I created a small tutorial application following the Spring Data for Mongodb guide with a little bacon for flavor. I wanted to use real hosting for MongoDB, so I created a database at MongoLab. It was quick and easy and the hosting is fast and works great even remotely for local development.
The tutorial application in process is one to register your Bacon Creation for this year’s BaconFest. The winner gets a mini BaconExplosion.
Certification Notes
http://www.coderanch.com/how-to/java/SCJP-FAQ
http://docs.oracle.com/javase/tutorial/
http://www.oracle.com/
http://www.coderanch.com/how-
http://en.wikipedia.org/wiki/
http://www.oracle.com/
http://en.wikipedia.org/wiki/
http://docs.oracle.com/javaee/
http://www.javaworld.com/
http://www.javaworld.com/
https://blogs.oracle.com/
http://www.oraclejavamagazine-
http://www.oraclejavamagazine-
http://www.oracle.com/
http://www.oracle.com/
http://www.oracle.com/
http://code.google.com/p/jee6-
https://blogs.oracle.com/
http://www.oracle.com/
http://www.physics.usyd.edu.
http://www.physics.usyd.edu.
Android Game Development Notes
MongoDB and the JVM Video
JBoss Tools: Deploy from …
JBoss Tools: Deploy from Eclipse to OpenShift in a breeze | JBoss Tools | JBoss Community http://t.co/QxTQ5qma
Useful Tools
Part of the plug-in for Eclipse includes an awesome JUnit Test Case Generator. It generates a lot of code you need for your unit test, much better than the OOTB Eclipse Junit Class Generator. It generates all the methods you need to start with and most of the boilerplate test code. It saves a lot of time and gives you a nice skeleton to start adding tests to. Google’s CodePro is a nice free tool and a great addition to my toolbox.
https://developers.google.com/java-dev-tools/codepro/doc/features/junit/test_case_generation
My tip: I have specific Eclipse installs for all my different tools. One for Android Development, One Spring STS version, one JBoss/OpenShift version, one for Heroku, one for JEE, one for Client Focused / HTML 5, one for Mobile, etc… That way I am not loading any extra plugins.
Some of the standard plugins I like:
- FindBugs
- Google CodePro
- PMD
- EclEmma
- EGit
- m2e (Maven)
You definitely don’t want Android tools in your Eclipse if you are not going to do be doing Android apps everytime, keep that in a separate Eclipse install. You can install as many as you want, space is cheap. I have some that run of USB Sticks fine.
Recent Articles about JavaScript and Java
Jaggery JS (Server Side Framework and Server)
http://jaggeryjs.org/
Jetty on OpenShift
http://www.dzone.com/links/r/jetty_on_red_hats_openshift_enabling_lightweight.html
Introduction to AOP
http://www.javacodegeeks.com/2012/06/simple-introduction-to-aop.html
NoSQL Unit (soon for MongoDB)
http://www.javacodegeeks.com/2012/06/nosqlunit-030-released.html
Android Dashboard Design Pattern
http://www.javacodegeeks.com/2012/06/android-dashboard-design-pattern.html
App Logging
http://www.javacodegeeks.com/2011/01/10-tips-proper-application-logging.html
Openshift Intro
http://www.javacodegeeks.com/2012/06/rise-above-cloud-hype-with-openshift.html
Getting Started with Spring Social
http://www.javacodegeeks.com/2012/06/getting-started-with-spring-social.html
Android UI Patterns
http://www.androiduipatterns.com/
Spring Social Google
https://github.com/GabiAxel/spring-social-google
https://github.com/GabiAxel/spring-social-google/wiki/Spring-Social-Google-Reference-Manual
ETE Presentations
Chariot Solutions Presentations / ETE Presentations
http://chariotsolutions.com/presentations
Chariot Solutions Emerging Technology Philly ETE 2012 Screencasts
http://emergingtech.chariotsolutions.com/category/screencasts/philly-ete-2012/
Chariot Solutions Videos and ETE Videos
http://www.youtube.com/user/ChariotSolutions/featured
CoffeeScript Edge
http://phillyemergingtech.com/2012/system/presentations/the_coffeescript_edge.pdf
Emerging Languages
http://phillyemergingtech.com/2012/system/presentations/Payne_Philly_ETE_2012_slides.pdf
StratisfiedJS (Structured JS)
http://onilabs.com/stratifiedjs
Large Scale Agile
http://phillyemergingtech.com/2012/system/presentations/Large-Scale_Agile_slides.pdf
Spring ROO with Addons
http://phillyemergingtech.com/2012/system/presentations/roo-addons.key.pdf
Backbone.js / Real-time Web Apps
http://phillyemergingtech.com/2012/system/presentations/realtime-web-ete-2012.pdf
Rich-Web Apps with Server Side Java
http://s3.amazonaws.com/chariot-website-production/presentation_documents/documents/000/000/632/vaadin-ria-in-server-side.pdf?AWSAccessKeyId=AKIAJTXMORYAM7NJWIJQ&Expires=1340418954&Signature=7%2BrH1fNE2Zn7vqlaw9ZDYQCQbvs%3D
Vaadin Java Framwork
https://vaadin.com/home
Interesting Stack (Backbone, NodeJS, Restify, MongoDB)
http://backbonetutorials.com/nodejs-restify-mongodb-mongoose/
HTML5 Apps with Java and Scala with Play
http://chariotsolutions.com/presentations/html5-apps-in-java-scala-with-the-play-framework
FindBugs
http://chariotsolutions.com/presentations/effective-use-of-findbugs-in-large-software-develo
Massive Scaling
http://chariotsolutions.com/presentations/massively-scaling-to-millions-of-players
Lean, Kanban and Large Scale Agile
http://chariotsolutions.com/presentations/lean-kanban-and-large-scale-agile
Let’s Play TDD
http://jamesshore.com/Blog/Lets-Play/Episode-199.html
Cross Platform Mobile Experience
http://phillyemergingtech.com/2012/system/presentations/Doug_Bellenger-PhillyETE_2012.pdf
Real-Time Web Apps with Backbone
http://chariotsolutions.com/presentations/building-real-time-web-applications
Better Agile Through Tribes
http://chariotsolutions.com/presentations/better%C2%A0agile-thought-throughtribes
Java EE in the Cloud(s)
http://chariotsolutions.com/presentations/java-ee-in-the-clouds
CSS#
http://chariotsolutions.com/presentations/evolution-of-css-layout-through-css3-and-beyond
EmberJS
http://chariotsolutions.com/presentations/emberjs-attacking-boilerplate-where-it-lives
PJAX
http://chariotsolutions.com/presentations/pjax-and-the-next-generation-of-server-side-web-fr
Grails 2.0
http://chariotsolutions.com/presentations/whats-new-in-grails-20
JavaScript Testing / BDD
Google APIs
Google API using JSON and OAuth 2.0 (Works on Android)
http://code.google.com/p/google-api-java-client/
http://google-api-java-client.blogspot.com/
Browse Samples
http://code.google.com/p/google-api-java-client/source/browse?repo=samples
http://code.google.com/p/google-api-java-client/wiki/DeveloperGuide
Setup
http://code.google.com/p/google-api-java-client/wiki/Setup
Google+ Sample
http://code.google.com/p/google-api-java-client/wiki/SampleProgram
Android Information and Video
http://code.google.com/p/google-api-java-client/wiki/Android
From Google: WARNING: for Android, the jars MUST be placed in a directory named “libs” for the APK packager to find them. Otherwise, you will get a NoClassDefFoundError at runtime.
Android Sample Instructions:
http://samples.google-api-java-client.googlecode.com/hg/tasks-android-sample/instructions.html
OAuth 2.0 for Android
http://code.google.com/p/google-api-java-client/wiki/OAuth2#Android
http://code.google.com/p/google-http-java-client/wiki/Android
Calendar Sample for Android
http://samples.google-api-java-client.googlecode.com/hg/calendar-android-sample/instructions.html?r=default
Grails 2.0
Great video from SpringSource on Grails 2.0 from ETE 2012
http://www.youtube.com/watch?v=c3AMvP0HC9g&feature=plcp
Getting Started 2.04
http://grails.org/doc/latest/guide/gettingStarted.html
Grails uses Spring 3.1 and latest Tomcat, Groovy and Hibernate.
Over 600 Grails Plugins
http://grails.org/plugins/
Hibernate Plugin GORM
http://grails.org/plugin/hibernate
JQuery for Grails
http://grails.org/plugin/jquery
JQuery UI for Grails
http://grails.org/plugin/jquery-ui
Cobertura Code Coverage
http://grails.org/plugin/code-coverage
Spock for Grails (now can extend Spock’s Class)
http://grails.org/plugin/spock
REST Client
http://grails.org/plugin/rest
Grails with Spring Mobile
http://grails.org/plugin/spring-mobile
Apache POI Grails Builder
https://github.com/andresteingress/gsheets
Log4J
http://blog.andresteingress.com/2012/03/22/grails-adding-more-than-one-log4j-configurations/
Groovy Console
http://grails.org/plugin/console
Twitter Bootstrap for Grails
http://grails.org/plugin/twitter-bootstrap
YUI on Grails
http://grails.org/plugin/yui
Grails is a full stack framework with ORM, DI, Tx, App Server, Database Server, …
Built-In H2 Console for Grails
=> http://localhost:8080/app/dbconsole















