• submit to reddit
Stoimen Popov02/28/12
2 replies

Algorithm of the Week: Shell Sort

Insertion sort is a great algorithm, because it’s very intuitive and it is easy to implement, but the problem is that it makes many exchanges for each “light” element in order to put it on the right place. Thus “light” elements at the end of the list may slow down the performance of insertion sort a lot. As Stoimen Popov explains, that is why in 1959 Donald Shell proposed an algorithm that tries to overcome this problem by comparing items of the list that lie far apart: Shell Sort...

Cal Evans02/27/12
0 replies

Business for Developers Coming Up On March 3 at Day Camp 4 Developers

DC4D is back with a day focused on educating developers on how to better handle the business side of things. Should be a good, informative day for all involved!

Eric Minick02/27/12
2 replies

Continuous Delivery’s Trouble with Web Services

Using a build pipeline to model release orchestration and planning activities is simply a bad fit. It feels like wearing shoes a size too small. You can squeeze into them and they protect the soles of your feet, but expect pain. In this post you'll learn one of the limitations of traditional CD and an approach for accomadating those limitations.

Kris Buytaert02/27/12
1 replies

Logstash and ElasticSearch

Kris Buytaert was bitten by an empty search the first time he set up Logstash, but he did find out how to get past that little issue and later learned some other very interesting caveats about using ElasticSearch while logging with Logstash.

Tony Siciliani02/27/12
0 replies

Dealing with Marchitecture

Marchitecture (aka Marketecture) is an architecture produced by a vendor mainly from a marketing perspective. As a company's Engineer, Architect or Manager, you and other colleagues might be asked to provide your input on whether there's something worthwhile for your company behind the vendor's sleek PowerPoint presentations.

Zoran Sevarac02/27/12
1 replies

Java People - a new Java Community Song

Zoran Sevarac wrote a Java Community Song for which he has provided the source code (lyrics, chords, and tabs). Enjoy!

Matt Cottingham02/27/12
1 replies

Sales Driven Development

You can't count on the customer to know what they want, so there needs to be a regulation mechanism that Matt Cottingham calls "Sales Driven Development". Here are a couple of ways that this could work...

Kief Morris02/27/12
1 replies

Configuration Drift

Configuration Drift is the phenomenon where running servers in an infrastructure become more and more different as time goes on, due to manual ad-hoc changes and updates, and general entropy. Here's what you can do about it...

Erick Erickson02/27/12
0 replies

Solr Date Math, NOW and filter queries

Or “How to never re-use cached filter query results even though you meant to”. Filter queries (“fq” clauses) are a means to restrict the number of documents that are considered for scoring. Often, using NOW in filter queries causes this caching to be useless. Here’s why...

Tim O'brien02/27/12
0 replies

What do Cartoons Have to do with Build Systems?

I learned about Rube Goldberg from an Engineering professor who, at the time, said, “Rube Goldberg is the most important thing you’ll learn over the next four years”. Back then, we all thought he was joking, but it turns out that he wasn’t. In fact, I wish more people, especially “build engineers” had some exposure to these cartoons. If they had, they’d take a step back and realize that there has to be a better way.

Roger Hughes02/27/12
2 replies

Is Java's String Class a God Object?

Is the String class a well designed class in terms of the general rules of Object Oriented Design? Does it, in fact, break the single responsibility principle or the laws of demeter and is it tightly coupled to all other parts of an application? Is it a God Object? The easy way to answer this is to look at a String in terms of the Single Responsibility Principle, and the best way to do that is to count the number of method calls it has and figure out what they do.

Bill Bejeck02/27/12
1 replies

Using Java 7's WatchService to Monitor Directories

Of all the new features in Java 7, one of the more interesting is the WatchService, adding the capability to watch a directory for changes. The WatchService maps directly to the native file event notification mechanism, if available. If a native event notification mechanism is not available, then the default implementation will use polling. As a result, the responsiveness, ordering of events and details available are implementation specific.

Howard Lewis Ship02/27/12
1 replies

What Assumptions Do Your Tests Make?

Does your test suite launch your application or expect it to be running already? This question came up while working on a client project; I launched the Selenium-based test suite and everything failed ... no requests got processed and I spent some time tracking down why the test suite was failing to launch the application.

David Amador02/26/12
1 replies

Thinking About Becoming An Indie Game Developer?

If you're thinking about becoming an indie game developer, there's some things you need to know. Writing games is hard work and you have to expect to fail. And don't forget, there are very few genuine over-night success stories: most developers spend years working on their games before they are released.

Mark Needham02/26/12
0 replies

Thou Shalt Storm

On the majority of the teams that I’ve worked on there’s been a time where everyone seems to be disagreeing with each other about almost everything and the whole situation becomes pretty tense for all involved. There are four stages which teams tend to go through – forming, storming, norming and performing.