background preloader

Software Development

Facebook Twitter

Gameification

Mobile development. Jesse James Garrett: Visual Vocabulary for Information Architecture. Google Guava - Monitor. The Google Guava project is a collection of libraries that every Java developer should become familiar with.

Google Guava - Monitor

The Guava libraries cover I/O, collections, string manipulation, and concurrency just to name a few. In this post I am going to cover the Monitor class. Monitor is a synchronization construct that can be used anywhere you would use a ReentrantLock. Only one thread can occupy a monitor at any time. The Monitor class has operations of entering and leaving which are semantically the same as the lock and unlock operations in ReentrantLock. Why you have less than a second to deliver exceptional performance Application Performance. The success of the Web performance movement shows that there is increasing interest and value in fast websites.

Why you have less than a second to deliver exceptional performance Application Performance

That faster websites lead to more revenue and reduced costs is a well proven fact today. So being exceptionally fast is becoming the dogma for developing web applications. But what is exceptionally fast and how hard is it to build a top performing web site? Defining exceptionally fast. Performance Architecture Checklist. From the Mule’s Mouth » Give your application a voice of its own with Twilio. Features - Glazed Lists. API Compatibility with ArrayList EventList implements the same List interface as ArrayList and Vector.

Features - Glazed Lists

There's less to learn and it will be easy for other programmers on your team to understand. Simple usage of EventList List myEventList = new BasicEventList(); myEventList.add("Mario"); myEventList.add("Donkey Kong"); myEventList.add(0, "Bowser"); myEventList.remove(0); myEventList.remove("Donkey Kong"); if(myEventList.contains("Sonic")) { myEventList.add("Tails"); } for(Iterator i = myEventList.iterator(); i.hasNext(); ) { System.out.println(i.next()); } myEventList.clear(); Easy TableModels.

3 Simple Rules That Will Make You a REAL Superstar Developer. In my experience there are two kinds of "rock star" software developers.

3 Simple Rules That Will Make You a REAL Superstar Developer

There's the Neil Peart rock star developer, who combines a natural blessing of talent and intelligence with a relentless work ethic and humble attitude, and over time becomes the developer that people not only want to hire, but want to be. Object Oriented Design.

Security

Evans Data Tool Radar. JVM. Zynga/viewporter - GitHub. Workflow. Comet. Spring: The Art of Using GRASP Patterns. When we searched for design pattern articles, we found documentation concerning "Gang of Four" patterns. They are very useful and contribute to a well-designed application. But when I discovered GRASP principles , I advised any one interested to improve his skills design to look at these principles. Comparing Java 7 Garbage Collectors Under Extreme Load. To explain, a realtime system must have a deterministic time to complete a task.

Comparing Java 7 Garbage Collectors Under Extreme Load

"Stop the world" garbage collectors break this model. I have an idea how to allow a mix of deterministic/realtime and normal JVM execution without having to go over to the full Java Real Time VM. Product Tour. OpenCore 6.2.13 Released. SAT4J. APIs & Developer Products. A++ [Eric Torreborre's Blog] Periodic Table of Dispatch Operators. UUID – generate UUIDs (or GUIDs) in Java. Generate UUIDs (or GUIDs) in Java This is an implementation of the UUIDs and GUIDs specification in Java.

UUID – generate UUIDs (or GUIDs) in Java

UUIDs are 128 bit long identifiers that are guaranteed to be unique. Download ↓ Download with Maven Documentation.

Cloud

Annotations. Spring Framework. FaKod/Circuit-Breaker-for-Scala - GitHub. Elasticsearch - - Open Source, Distributed, RESTful, Search Engine. Seven Things: Wizard. Seven Things: Wiring. Bootstrap, from Twitter. Elemental - distributed-memory dense linear algebra. Scala. The Brillant Paula Bean. Heidi S and Michael Hanson's employer was building an enterprise shipping/warehousing system but didn't have enough in-house resources to do it.

The Brillant Paula Bean

One of the contractors they brought in to help fill the gaps was Paula, an "experienced Java programmer with strong knowledge of the shipping industry. " For the first few months, things seemed to be going pretty well. At the weekly status meetings, Paula would report that good progress had been made and things were looking good for the deadline.

But as the deadline loomed closer, Paula reported that she was running into a lot of difficulties and would need some additional resources to finish up her piece. When Heidi and Michael came in to help, they realized gross of an understatement "some" was. Package test; public class paulaBean { private String paula = "Brillant"; public String getPaula() { return paula; } } HTML5 For Web Designers by Jeremy Keith. S-99: Ninety-Nine Scala Problems. These are an adaptation of the Ninety-Nine Prolog Problems written by Werner Hett at the Berne University of Applied Sciences in Berne, Switzerland.

S-99: Ninety-Nine Scala Problems

I (Phil Gold) have altered them to be more amenable to programming in Scala. Feedback is appreciated, particularly on anything marked TODO. The problems have different levels of difficulty. Those marked with a single asterisk (*) are easy.

Data Mining

Cassandra vs MongoDB vs CouchDB vs Redis vs Riak vs HBase comparison. (Yes it's a long title, since people kept asking me to write about this and that too :) I do when it has a point.)

Cassandra vs MongoDB vs CouchDB vs Redis vs Riak vs HBase comparison

While SQL databases are insanely useful tools, their monopoly in the last decades is coming to an end. And it's just time: I can't even count the things that were forced into relational databases, but never really fitted them. (That being said, relational databases will always be the best for the stuff that has relations.) But, the differences between NoSQL databases are much bigger than ever was between one SQL database and another. Great code is written twice (or more) Evolving requirements It has now become common knowledge that you can’t write down all the requirements before you start the project.

Great code is written twice (or more)

These requirements have to be written down in an evolutionary matter. In short cycles/sprints we build pieces of the program and also iteratively extract the latest requirements from our clients. Separating Code Coverage With Maven, Sonar and Jacoco. We Recommend These Resources In this example I will expand upon my previous example of keeping your unit and integration tests in separate packages, and explain how to also produce code coverage statistics. For this I continue to use Maven, whilst adding Sonar and Jacoco to provide the code coverage.You can run the example below, but you will need to read the first article here to understand it.

20 New Frameworks for Web and Mobile App Developers. List of Algorithms. A complete list of all major algorithms (300), in any domain. The goal is to provide a ready to run program for each one, or a description of the algorithm. Programming languages include Java, JavaScript and PHP, C, C++ either in direct form or generated from a Scriptol source.

Nathanmarz/storm - GitHub. Shindig-dnd - Provides drag-and-drop functionality to Shindig. Infrastructure that builds upon Shindig's gadgets.js file to provide drag-and-drop functionality similar to something like iGoogle. Dojo: The Definitive Guide » Blog Archive » iGoogle-like drag-and-drop for Shindig (ala Dojo) Caja - A source-to-source translator for securing Javascript-based web content. (This site is for programmers actively working on Caja, rather than using it for their own projects.) The Caja Compiler is a tool for making third party HTML, CSS and JavaScript safe to embed in your website. It enables rich interaction between the embedding page and the embedded applications. Caja uses an object-capability security model to allow for a wide range of flexible security policies, so that your website can effectively control what embedded third party code can do with user data.

PDC Theorem – The Underlying Principle of Real-Time Distributed Processing « GridGain – High Performance Cloud Computing. The power of the Asynchronous Module Definition. Summer - The HTML5 Library for Java and Scala. LESS for Java. LESS extends CSS with: variables, mixins, operations and nested rules. Best of all, LESS uses existing CSS syntax. The following projects enable the use of the original less.js distribution in pure JVM environment thanks to Rhino . LESS Engine. LESS « The Dynamic Stylesheet language. Open Sources Projects As A Pool Of Resources at Frederick Giasson.

Javascript

Ruslan's blog: tmpfs: work with your data even faster. Currently improving IDEA performance by copying cache files into the RAM using tmpfs. Dev Ops. Job System. Object -to-Object Mapper. Interesting Sites. Open Source License Analyzer. Palantir Technologies. Java Libraries. - Joel on Software.