Security

Blogging

What is SPARQL?
by David Wood, Marsha Zaidman, Luke Ruth, and Michael Hausenblas, authors of Linked Data
SPARQL is the query language for RDF and Linked Data. SPARQL is to RDF data as the Structured Query Language (SQL) is to a relational database. SPARQL's name is nicely pronounceable and sounds interesting and fresh. SPARQL is interesting and fresh. This article, based on chapter 5 from...

Six Ways You're Using Responsive Design Wrong
by Matthew Carver, author of The Responsive Web
Staying on the cutting edge of of web design can be tough, and oftentimes you only learn from making mistakes. Making mistakes is sometimes the best way to know that you are breaking new ground. In this article, Matthew Carver, the author of The Responsive Web, gives a few tips that his experience in...

Community

The Foundations of Mobile First Design
by Matthew Carver, author of The Responsive Web
In this article from The Responsive Web, author Matthew Carver opens up a discussion of how to build a site for a mobile or small-screen device using a graphic design program, such as Photoshop.
Building a site in its smallest iteration first affords the designer a lot of opportunities. By starting in a...

Natural User Interaction with Drag-and-Drop
by Rob Crowther, author of Hello! HTML5 and CSS3
The HTML5 spec is ground-breaking in many ways, but one of the key ways is that it specifies both the syntax of the HTML markup and the APIs you should use to manipulate the document with JavaScript. In this article from Hello! HTML5 & CSS3, author Rob Crowther discusses simulating desktop-like...

From 0 to First Hit with Grails Support
by Glen Smith and Peter Ledbrook, authors of Grails in Action, Second Edition
Grails is a next-generation Java web development framework that generates great developer productivity gains through the confluence of a dynamic language, a Convention over Configuration philosophy, powerfully pragmatic supporting tools, and an agile perspective drawn from the...

Searching at Scale
by Trey Grainger and Timothy Potter, authors of Solr in Action
One of the most appealing aspects of Solr, beyond its speed, relevancy, and powerful text searching features, is how well it scales. In this article, based on chapter 3 of Solr in Action, the authors explain how Solr is able to scale to handle billions of documents while still maintaining lightning-fast search...

Linux

So I haven't posted a blog here since 2009 - and haven't work for Sun or Oracle since early 2010. It's been a wild few years working on a number of things as diverse as giant clouds to control software for cameras which go down oil wells. And I have a new blog at timboudreau.com, naturally using a blog engine I wrote myself (I gave myself a project to learn node.js). Currently I'm architecting...

Eclipse

More than a few days ago a friend pinged me complaining that recent Eclipse release was quite sluggish. Since she had taken my performance tuning seminar she knew exactly how to get and read a GC log but as we all do, she was looking for a second opinion. After looking at the log for a minute it because quite apparent that the default configuration left the IDE starved for memory. After a bit...

Distributed

Do You Want to Get This Message?
by Mark Fisher, Jonas Partner, Marius Bogoevici, and Iwein Fuld, authors of Spring Integration in Action
Spring Integration allows you to selectively process messages and define alternative routes within the system. In this article, based on chapter 6 of Spring Integration in Action, you'll see how you can limit the scope of what your components will handle by...

Databases

by Raymond Roestenburg and Rob Bakker, authors of Akka in Action
Save 40% on Akka in Action and other selected books.
ScalaTest is a xUnit style testing framework. An actor is an object that can be reached through an address, processes messages from a mailbox and sends messages to other actors using the same type of addresses. An actor encapsulates state; it does not share this state with...

by Dan McCreary and Ann Kelly, Authors of Making Sense of NoSQL
Bigtable systems are important NoSQL data architecture patterns because they can quickly scale to manage large data volumes. They are also known to be closely tied with many MapReduce systems. In this article from Making Sense of NoSQL, the authors discuss how Bigtable systems store data using row and column keys and how they...

Release the newest version of the framework to persist objects in Apache Cassandra in easy way. Among improvement is the JPA annotations, also JPQL.
JCassandra jCassandra=persistence.createJCassandra("select * from Person"); List<Person> persons=jCassandra.getResultList();
table 1: sample using JPQL in Easy-Cassandra
Easy-Cassandra 1.0.8
Easy-Cassandra 1.0...

GUI

Swing is not dead, still. While a whole lot of evangelists try to talk it dead, it is still part of the JRE. While SWT is not, still. And while JavaFX is not, still. Dispite all hypes and rumors. It is not even declared to be deprecated or obsolete. So in fact, there is no other real alternative to Swing as long as the GUI must work solely with JRE means (I won't say AWT is an alternative). And...

How many lines of Java do you need to create the following JavaFX application?
(Answer: About 30, as seen in Hello World, JavaFX Style)
And how many lines of (http://fxjs.java.net/) would you need?
(Answer: See below)
{T: fxStage, title: 'Hello World!', scene: {T: fxScene, width: 300, height: 250, root: {T: fxStackPane, children...

I am pleased to announce the release of SwingX 1.6.4. This release is small, fixing a few critical items and following the standard process of removing deprecated code. The main cause for this release was that SwingX 1.6.3 failed to correctly build the swingx-all sources and javadoc jars.
Please let us know if you have any issues or concerns with this release.
Karl

Education

Boyer-Moore (BM)
Overview
According to Wikipedia, the Boyer-Moore algorithm "is an efficient string searching algorithm that is the standard benchmark for practical string search literature. It was developed by Robert S. Boyer and J Strother Moore in 1977. The algorithm preprocesses the string being searched for (the pattern), but not the string being searched in (the text). It is thus well-...

Programming

A few nights ago, I was browsing the chapters about concurrent programming in Herbert Schildt's excellent Java: The Complete Reference, 8th Edition, and I was struck by the evolution of concurrency in Java over the years, from threads, through the richness of Java 5's Concurrency Utilities, and on to Java 7's Fork/Join Framework. The Java language truly has grown, adapted to the changing world,...

With the advent of multicore processors on everything from desktop computers to tablets, pads, and even mobile phones, parallel processing is gaining increasing attention. This is at least in part what's behind the release of the Fork/Join Framework in Java 7, and the inclusion of Lambda Expressions (aka "closures," JSR 335) in the upcoming Java 8.
While the "do-it-yourself" approach to...

Performance

In some earlier posts, I've talked about Java threads, Java Thread Overhead, and Amdahl's Law and Parallel Processing Speed-Up. My next investigation in this series is Java 7's new Fork/Join Framework. I plan to spend quite a lot of time in this particular investigation. For one, Java Threads have been around for a long time, and undoubtedly there are many resources available that discuss them;...