At the RSA Conference 2014, we gathered some of the top DevOps experts and influencers at an evening called Wining Not Whining and asked them “Why is application security so important to the DevOps revolution?”
Sirix is a versioning storage system capable of storing and querying snapshots of temporal trees effectively and efficiently. In stark contrast to other database and storage systems Sirix offers advanced versioning at the storage layer and extends high-level APIs as for instance XPath/XQuery.
Below are several development "methodologies" that are popular and even industry-standard
David H. Hansson (@DHH) sparked the “TDD being dead” latest twitter storm. DHH is no stranger to controversy, and he certainly picked the right title for it. Of course, the responses followed immediately. and most of them fell directly into his...
Unless your software is very simple, no single tool or pipeline implementation will provide you with Continuous Delivery. Effective Continuous Delivery requires an organizational understanding of the intent and purposes of the activities you undertake, not merely the automation of those activities.
I guess many people know about the Visitor design pattern, described in the Gang of Four’s Design Patterns: Elements of Reusable Object-Oriented Software book.
I’ve used several version control systems for my source code and research projects. Recently, I’ve consolidated them to TFS and Git. I have started using Visual Studio Online for my research work, CodePlex for my Open Source Frameworks and Tools and GitHub for my blog code.
I'm a vim user and I somehow completely missed this excellent feature until much more recently than I care to admit! Usually vim has its own clipboard, but it doesn't share with the operating system. You will need a vim-gtk install, this isn't available in really basic vim.
Behavior Driven Development (BDD) is an approach that uses conversions around concrete examples to discover, describe and formalize the behavior of a system. BDD tools such as JBehave and Cucumber are often used for writing web-based automated acceptance testing but are also a great fit for other domains such as testing Web Services.
Have you ever come across a situation where testing should be done and you need to rename the class objects? Reveal the secrets of dynamic class generation with the help of Javassist library.
Java has been around for what seems like a very long time, which means that there are a number of ways of scheduling a task
Our topic was originally on scaling self-service of configuration management good practices, but quickly morphed into a discussion of what organizations need to pay attention and foster to support their tools teams in their often-cited mission of creating a self-service culture and self-service infrastructure.
Continuous Delivery often challenges conventional wisdom within the IT industry, and by advocating the rapid release of value-add to reduce risk it contradicts the traditional belief that a low release cadence is an effective risk reduction strategy.
As a developer, testing is very important. Some developers have the mindset of “Meh, I write code, testing is a QAs job”, which is pretty poor.
Testing is crucial. While many different kinds and levels of testing exist, there’s good library support only for unit tests (the Python unittest package and its moral equivalents in other languages).
Companies need to view the epidemic of data breaches with a similar approach to controlling one’s weight.
When you model a domain, you model its entities and behaviors.
While OpsWorks gives you a lot of power and flexibility for configuring your infrastructure, it’s most powerful feature is its ability to get you through your Netflix queue: OpsWorks takes a really long time to do anything, so you’re left twiddling your thumbs a lot.
For years we have been developing Java web applications with the lightweight versions of Eclipse and IntelliJ. This week we found some time to share how we are doing it.
Git is magic, but sometimes it drives my crazy with all that power causing strange situations and clean-up work. The magic of git is that it is (nearly?) always possible to clean up the mess and get back to a good state.
Sometimes, you just want to run patch against database or change the infrastructure of product.
Qualifiers are the mainstay of type safety and loose coupling in Contexts and Dependency Injection (CDI).
We frequently compare Quartz and Obsidian in our blog, and today we’re going to see the difference in how you would schedule a job for recurring execution in both pieces of software.
I love sitting down to review a new codebase. Depending on the age of the codebase, it can be a little like archaeology. There are often distinct sections that have not been touched in many, many years. Sometimes you can almost see rings around the codebase similar to the rings on a tree. One section might be written in one framework, but another section is implemented in a different, newer framework. The following describes how I spend the first hour with some new code.
Vendor lock-in can be a pain. Imagine you've written an application to work against one cloud provider and now you'd like to migrate to another one.