A simple and elegant way of constructing immutable Java classes, using hints in the parameter list.
Apache TomEE is an all-Apache stack aimed at Java EE 6 Web Profile certification where Tomcat is top dog. It is the conjunction of Tomcat + Java EE.
We usually want to know what is real code coverage in our applications divided into unit and integration tests. Unfortunately Maven has no out of the box support for different test types, but there are few options to workaround those leaks and through proper setup we'll be able to achieve desired task.
Apache Subversion remembers every change committed to the repository, making it possible to revert to previous revisions of your project. Users of SmartSVN, the cross-platform client for SVN, can easily perform a revert using the built-in ‘Transactions’ window.
A couple of weeks ago Tim and I were spinning up a new service on a machine which wasn’t quite working so we were manually making changes to the /etc/nginx/nginx.conf file and restarting nginx to try and sort it out.
In an interesting piece yesterday, GigaOM reported that Netflix has an architecture built around timelines. This struck home for a guy who spends a great deal of time talking to people skeptical about the need for zero latency, real-time systems.
I depend on If This Then That (IFTTT) to move data around the cloud. I syndicate blog posts from API Evangelist to Blogger and Tumblr. This isn't just blind syndication, it is SEO and also plan B scenarios to make sure my content exists in multiple areas.
Using a version control system for software development is a standard procedure today. While things are pretty clear for ‘standard’ Eclipse projects, it is not that easy for Processor Expert projects.
On this episode of the Cloudcast, Aaron, Brian and Nick Weaver talk with Gene Kim about his new book, ‘The Phoenix Project,’ and the evolution of DevOps.
Writing unit tests for multi-threaded is not simple and could even be impossible for some scenarios – how could you test that an asynchronous method was not called?
Urbancode’s DevOps toolchain begins with a developer committing code to a source repository. Commit comments can be added so that uBuild will associate the code change to a bug report (Bugzilla, JIRA, Rally, TFS, TeamForge) or a feature story (Rally, PivotalTracker, VersionOne, Rational Team Concert).
A couple of days ago I was playing with some code to scrape data from a web page and I wanted to skip a row in a table if the row didn’t contain any text.
I know what you're thinking, “It’s just logging!” This small, yet common part of our applications, provides developers, QA and troubleshooters with information to help in determining code execution sequences, inspecting data values and trouble spots within our applications.
Investing into code improvement is a dual edged sword: on the one hand you know that if you don’t improve your code you’ll get slower over time. On the other hand improving your code does not deliver tangible value to your users. So how do you know whether you’re on track?
This talk from Sam Eaton deals with the nightmare scenario of adopting DevOps in an environment where you're working with many, many different platforms/sites.
Deploying software can be a complex endeavor. We often think of it as “getting the software to the right boxes.” But grabbing the bits and moving them out to the right place on the target servers is one of the easier and least error-prone parts.
Refactoring is a way to improve code quality over time using incremental set of improvements – the idea is to increase the ability to make changes safer and faster and is not meant to deliver new functionality per se.
The slides from our latest webcast are up on Slideshare. We took a look at applying some of the principals from Lean to building and delivering software.
In part 7 of our "20+ Days of Server Virtualization”, Keith Mayer gives us some powerful PowerShell commands to turn on the iSCSI initiator, connect, and use iSCSI storage from our Hyper-V host.
The Filesystem Symfony Component provides an abstraction layer over the plethora of primitive functions that let PHP interact with files and directories. In this issue of The Wheel series, we will explore a little its API and evaluate its advantages and issues.
Picture your code. Picture all those functions on which there are no source-code dependencies. That might sound odd: if there are no source-code dependencies on a function then what is its purpose?
I recently came across an interesting post written by Randy Luecke titled ‘I’m done with the web‘ in which he expresses his surprise that people often aren’t willing to take the time out to learn something new.
The latest release of SmartSVN, the cross-platform graphical client for Apache Subversion, features plenty of improvements you will find useful. In this post, we take a closer look at some of the functionality we’ve added to SmartSVN 7.5.4.
This is the work of many people I work with as well as further afield. It’s intended to be a good starting place to find information about building high quality digital services.
Most popular tools for deployment automation are written in Python and Ruby. How about Java? Why not use it? Actually, I'm using it, replacing a lot of tasks usually employing shell scripts with code in Java. It works great, thanks to small missing piece - remote execution of Java code using SSH infrastructure.