Fortunately for those migrating Ant builds to Gradle builds, Gradle provides particularly convenient mechanisms to facilitate this migration.
One of Git’s selling points, some years ago, was that it has lightweight branching compared tools that came before it. Anyway, it’s Git’s merges that are the truly lightweight thing in my opinion. This article tries to show how that is.
It has been a while since we've migrated from JBoss AS 5 to 7. This article describes problems we have found during the migration process as well as benefits we gained from it.
Jason Leyba spoke at QCon in San Francisco at the end of last year, and Jez Humble snapped a pic of a pertinent slide (I’ve straightened it out a little). Sounds a bit unmanageable right? Not to them, there’s method in the madness, and it’s all optimized for maximum developer throughput while incorporating code reviews, code reuse, and quickest possible CI.
Imagine you have some code that is being fired right before, or during, a click that leads you to another page. If you use the console than you are in luck. Both Chrome and Firefox have options to preserve the console on navigation. In case you've never seen it, here is the option in Chrome. You find this by opening the Dev Tools and clicking the gear icon in the lower right hand corner.
After upgrading from Apache 2.2 to 2.4 in a Windows development environment, all my virtualhosts stopped working. I could add syntax errors to the files which would make Apache refuse to start up, or get notices about invalid document roots, but the virtual host server names just wouldn’t catch on.
In my opinion a deployment of any application should be as automated as possible to avoid errors due to manual mistakes. This is no different with a Mule ESB application. This instrument makes the governance of the deployment of your Mule applications into different environments easier and therefore the whole deployment cycle less error-prone.
I was recently asked for advice on how to go from two week sprints to one. The conversation was one I've had several times. Client: "We are a scrum shop that has two week sprints. We'd like to release faster. Any suggestions?"
I’m currently having a lot of fun experimenting with node.js using IntelliJ IDEA. I installed the node.js plugin, and although this added options to create a new ‘Boilerplate’ or ‘Express’ project, the rest of the node.js integration wasn’t quite so obvious…
I’ve tried out lots of different subject matter for teaching TDD, but my favorite has been Tic-Tac-Toe (or whatever your regional variation of it is). It has these benefits:
Writing automated tests for your code is one of those things that, once you have gotten into it, you never want to see code without tests ever again. Why write pages and pages of documentation about how something should work when you can write tests to show exactly how something does work?
In my post A First Look at Building Java with Gradle, I briefly mentioned using Gradle's "gradle tasks" command to see the available tasks for a particular Gradle build.
Xtext comes with pretty good documentation, but if you want to automate the build for your little new DSL, you’re drifting into deep water.
This post looks at mapping JAXB objects to business domain objects with Orika.
Recently I wrote about getting my IPv6 tunnel setup working properly again after a while of it not working very well (or not at all). After getting my IPv6 running properly again, I noticed that YouTube videos were actually starting quite fast and playing back without interruption.
With services like Travis, it has become quite easy add setup Continuous Integration to projects. This post will show you quickly how to setup Travis to build and test your Play project. This assumes you have signed up for Github and Travis, and have authorised travis to connect to your github account. If you have not done this already, follow the Travis steps here.
This post is not about variables in my application code (which I debug). It is about using Variables in Eclipse for building projects.
In the last two articles on Spock I've covered mocking and stubbing. And I was pretty sold on Spock just based on that. But for a database driver, there's a killer feature: Data Driven Testing.
When applying Continuous Delivery to an application estate, our ability to rapidly release individual applications is constrained by inter-application dependencies. How can we enable the independent evolution of interdependent applications with minimal risk?
Though it’s common to hear people talking about “DevOps teams” — or see job postings for “DevOps” — to leaders of this technology movement, the phrase is like the sound of fingernails on a chalkboard. So why do those in the know freely talk about a DevOps toolchain? It’s because a common toolchain helps developers and IT operations people work together more collaboratively to achieve the goals of the business.
Looking for useful subversion pre-commit hooks? Maybe this script is for you. It's a Linux bash shell script and also makes use of python.
There are many facets to software design. A common example is loss aversion, which refers to "people's tendency to strongly prefer avoiding losses to acquiring gains." Armed with this knowledge, more informed decisions are possible throughout the software development cycle. The following list details a few examples where loss aversion can play a role in software development:
When people are doing a physical task, it’s easy to assess how hard they are working. Recognizing and rewarding hard work is a pretty fundamental human instinct, it is one of the reasons we find endurance sports so fascinating. This instinctive appreciation of physical hard work is a problem when it comes to managing creative-technical employees. Effective knowledge workers often don’t look like they are working very hard.
How does one change the world? One random act of kindness at the time. But I’m a software engineer. It’s hard to do random acts of kindness when it comes to doing IT related stuff. I often think I should do something about this. The ultimate solution would be that you could do this with a group of software engineers.
Spring framework is widely used as a dependency injection container, and that’s for good reasons. But there is also a very useful feature that might get overlooked and is therefore worthy of discussion: bean aliasing.