Thursday, May 30, 2013

Automatic.com car diagnostics app

Automatic.com offers a data port to your car and a phone app to record fuel consumption and recommend better driving habits, tell you where your parked car is located, and interprets the check engine light.

Wednesday, May 29, 2013

Selenide UI test framework

Selenide is a wrapper for Selenium WebDriver that allows you easier and faster writing of UI Tests. With Selenide you can concentrate on business logic instead of solving all these endless browser/ajax/timeouts problems.

Wednesday, May 22, 2013

Groovy remote control

Groovy remote control is a library for executing closures defined in one Groovy application to be executed in a different (possible remote) Groovy application.

Tuesday, May 21, 2013

MessagePack

MessagePack is an efficient binary serialization format. It lets you exchange data among multiple languages like JSON but it's faster and smaller. For example, small integers (like flags or error code) are encoded into a single byte, and typical short strings only require an extra byte in addition to the strings themselves.
If you ever wished to use JSON for convenience (storing an image with metadata) but could not for technical reasons (encoding, size, speed...), MessagePack is a perfect replacement.

editable browser page

use this URL to get an editable browser blank page:

data:text/html, <html contenteditable>


Bootswatch Bootstrap themes

Bootswatch.com has great themes for bootstrap.

jq JSON editor

jq is like sed for JSON data – you can use it to slice and filter and map and transform structured data with the same ease that sed, awk, grep and friends let you play with text.

Wednesday, May 15, 2013

RStudio IDE for R

RStudio is a free and open source integrated development environment for R. You can run it on your desktop (Windows, Mac, or Linux) or even over the web using RStudio Server.

OpenShift PaaS

OpenShift is Red Hat’s opens source, auto-scaling platform-as-a-service (PaaS). With OpenShift, developing your application is as easy as executing a few commands and then uploading your Java code using Git from either the command line or your favorite IDE. OpenShift will configure, secure and scale the web, application and database tiers so you don’t have to.

GraphLab distributed graph database

GraphLab is a graph-based, high performance, distributed computation framework written in C++.  While GraphLab was originally developed for Machine Learning tasks, it has found great success at a broad range of other data-mining tasks; out-performing other abstractions by orders of magnitude.
GraphLab Features:
  • A unified multicore and distributed API: write once run efficiently in both shared and distributed memory systems
  • Tuned for performance: optimized C++ execution engine leverages extensive multi-threading and asynchronous IO
  • Scalable: GraphLab intelligently places data and computation using sophisticated new algorithms
  • HDFS Integration: Access your data directly from HDFS
  • Powerful Machine Learning Toolkits: Turn BigData into actionable knowledge with ease

TIBCO® Enterprise Runtime for R

TIBCO® Enterprise Runtime for R is a high-performance, enterprise-quality statistical engine. It is embedded in the TIBCO Spotfire platform to provide predictive analytic capabilities, and it is available for integration into other applications through various APIs. By developing in R, and then deploying on TIBCO® Enterprise Runtime for R, you can move rapidly from prototyping to production without recoding and retesting your analyses. This efficiency helps you adapt quickly to changing opportunities and threats and easily integrate predictive analytics consistently across the organization.

Friday, May 10, 2013

Data Wrangler tool

Data Wrangler is an interactive tool for data cleaning and transformation.
Spend less time formatting and more time analyzing your data.

Thursday, May 2, 2013

Saiku OLAP client

Saiku is a modular open-source analysis suite offering lightweight OLAP which remains easily embeddable, extendable and configurable.
The RESTful server connects to existing OLAP systems, which then powers user-friendly, intuitive analytics via our lightweight JQuery based frontend.

must read non-techie books

See this blogpost from LearnComputer.com on 5 non-technical books that every programmer should read:
  1. Team Geek by Brian Fitzpatrick, Ben Collins-Sussman
  2. Managing Humans by Michael Lopp
  3. The Pragmatic Programmer by Andrew Hunt and David Thomas
  4. Peopleware by Tom DeMarco and Timothy Lister
  5. The Mythical Man-Month by Frederick Brooks, Jr.

Wednesday, May 1, 2013

Cloud9 IDE

Cloud9 IDE is an online development environment for Javascript and Node.js applications as well as HTML, CSS, PHP, Java, Ruby and 23 other languages. Has embedded shell.

Atlassian SourceTree Git client

Atlassian SourceTree is a free full-featured Git and Mercurial client for Mac and Windows.

configuring Spring Batch in Java

See this post by Josh Long on configuring Spring Batch with Java configuration

Spring with Dropwizard

Thoughts on integration Spring with Dropwizard:

The basic approach is to create the Spring context in the Dropwizard service run method, then add the appropriate beans from the context to the Dropwizard environment.  See the example by Jacek Furmankiewicz in his git project: dropwizard-spring-di-security-onejar-example.

Component Scan
Adding the @ComponentScan annotation to the configuration bean registered with the context (as in the above example) will enable component scanning in the same package or lower as the configuration bean.

Alternatively, if Camel routes will be used in the application, use an XML configuration file to initialize the Camel context and component scanning:

<context:component-scan base-package="com.example.beans"/>
<camelContext xmlns="http://camel.apache.org/schema/spring">
   <contexScan/>
</camelContext>

This will allow routes declared in Java or Groovy files annotated with @Component to be added to the Camel context (be sure to extend SpringRouteBuilder), in addition to annotated classed being added to the Spring context.

Encrypting Properties
If there is a need to encrypt values in a property file, add the Jasypt EncryptablePropertyPlaceholderConfigurer to the Spring XML configuration file.  Its properties can be injected in @Component-annotated classes with the @Value annotation using SpEL on the property or a setter:

@Value(value="${database.username}")
private String username;

Properties that do not require encryption should be injected from the Dropwizard service configuration, which must be registered with the Spring context to make it accessible to the other beans. Alternatively, encrypted properties could be provided by the Dropwizard configuration using the above @Value annotation and decrypted in the setter by an injected Jasypt StandardPBEEncryptor.

ClassPathBeanDefinitionScanner may also be useful in this situation.