One of the nicest things in git is that you can actually deploy code to production (or just your test environment) w/o implementing a complicated CI solution.
Continuous Delivery and DevOps are interdependent, not equivalent. Since the publication of Dave Farley and Jez Humble’s seminal book on Continuous Delivery in 2010, its rise within the IT industry has been paralleled by the growth of the DevOps movement.
How often do you commit? Once a week? Once a day? Once an hour? Every few minutes? The more often you commit, the less likely you are to make a mistake.
These two common (and usually overlooked) “anti-patterns” can cause problems like coupling, impedance mismatch and avoid delivery of business value. Let's talk about what they are and how do they affect the solutions.
Did you ever face the problem with Xfce that not all of the globally defined keyboard shortcuts can be changed? Including those interfering with Eclipse IDE ones?
Here’s another topic that is highly subjective, that leads to heated discussions, to religious wars and yet, there’s no objective right or wrong.
There are times when the industry in which I find myself does things that I just don't understand. Consider, for a moment, this blog by Jeff Handley, in which he essentially says that the phrase "We accept pull requests" is "cringe-inducing."
We cannot imagine Internet service without TCP/IP. All Internet services we have developed and used at NHN are based on a solid basis, TCP/IP.
We had more questions in our live (and now available on-demand) webinar ”Building a DevOps Team that Isn’t Evil” than I could get to. What follows are answers to the questions we received.
For many people, DevOps and infrastructure as code are synonymous. However, I am usually quick to point out the other moving parts that need to be managed.
You don't need elaborate JSRs to build a better package structure. You just need a direction.
In Continuous Delivery each build is potentially shippable. This fact implies among a lot of other things, to assign a none snapshot version to your components as fast as possible so you can refer them through all the process.
In this post we'll deal with a common need for Java developers. Execute and manage an external process from within Java. Since this task is quite common we set out to find a Java library to help us accomplish it.
Something every developer and team aspires to is shipping great software. But as we all know, it doesn't always work out that way. So what can we learn from Chris Vander Mey's Shipping Greatness?
I find myself using analogies (or the closely related similes and metaphors) to illustrate points I am trying to make in various facets of software development, especially when talking with someone new to or less familiar with software development.
When working with files under Apache Subversion’s version control, eventually you will need to start adding and removing files from your project.
This article is intended to help you bootstrap your ability to work with Finite State Automata (note automata == plural of automaton).
I had a great time recording an interview last week with Carolyn Seaman for OnTechnicalDebt.com.
Topic of today's post stays a bit aside from day-to-day coding and development but nonetheless covers a very important subject: our application log files. Our apps do generate enormous amount of logs which if done rightare extremely handy for problems troubleshooting.
Eclipse RAP 2.0 is finally out! I've created a quickstart project that will get you up and running with RAP 2.0, including project files for IntelliJ IDEA 12 if that's your IDE of choice, and automatic creation of a deployable WAR artifact.
I have been working a lot recently with a bunch of test jobs that are intermittently getting stuck. Now it is possible to work out the point where the problem is occurring by looking at the date labels on the LOG output; but it is hard visually to pick these discontinuities out.
The Apache Collections library is a great library for working with collections. However, the need to write verbose predicates that are sometimes difficult to read reduces the ease of use for that library.
Where a performance becomes automatic for the performer through practice, and where repeated performance has value, then there could well be a transition from amateur to professional for the performer.
One of the biggest challenges to efficiency for Android manufacturers is building, testing, and releasing machines for each version of Android OS, all while Android is constantly evolving under their feet.
One of the fundamental features of Apache Subversion is that it remembers every change committed to the central repository, allowing users to easily recover previous versions of their project.