In the Java SE 8 version of jinfo running on my machine, the primary limitation of jinfo on Windows that I discussed in the post Acquiring JVM Runtime Information has been addressed.
What's really important about this question was the obstinate inability of the programmer to realize that their problem had a tidy, well understood solution. And has had a good solution for decades. Instead they did a lot of programming and sent 100's of words and 10 attachments (10. Really.)
Make sure you didn't miss anything with this list of the Best of the Week in the DevOps Zone (August 14 to August 21). This week's topics include the Java 9 features announcement and community reactions, Java testing frameworks, code duplication, BDD and Continuous Delivery, and modern IT and DevOps.
Sometimes debugging Java code is not enough and we need to step over the native part of Java. I spent some time to achieve proper state of my JDK to do that, so short description probably will be useful for ones starting their trip. I'll use the brand new OpenJDK 9!
Everybody should be building Docker images! but what if you don’t want to write all those shell scripts, which is basically what the Dockerfile is, a bunch of shell commands in RUN declarations; or if you are already using some Puppet modules to build VMs?
Some weeks ago I started creating a small JUnit Runner (Oleaster) that allows you to use the Jasmine way of writing unit tests in JUnit.
Many people still think of code reviews as expensive formal code inspection meetings, with lots of prep work required before a room full of reviewers can slowly walk through the code together around a table with the help of a moderator and a secretary. Lots of hassles and delays and paperwork.
J2SE 5 introduced numerous features to the Java programming language. One of these features is autoboxing and unboxing, a feature that I use almost daily without even thinking about it.
In this blog post I'd like to demonstrate how a cloud application orchestrator can complement already existing automation processes powered by configuration management tools, in this case we will demonstrate with Puppet.
Every week here and in our newsletter, we feature a new developer/blogger from the DZone community to catch up and find out what he or she is working on now and what's coming next. This week we're talking to Topher Marie, CTO and Co-Founder of JumpCloud.
One of the principle rules of Continuous Delivery is that you should never knowingly commit code that will break the build. When you practice test-driven development this is easy: you write a failing test (or, more precisely, a failing "executable specification"), make it pass, and then refactor as required.
JDK 9 features have been announced, and we want to know what you think about them! Are these features something you've been waiting for, or are you a bit underwhelmed? Do some of these proposals seem to go against improvements that you want? Post a comment and tell us!
One of my friends asked how to get started with unit testing and Test Driven Development and figured I could write a short post. I also mention TDD a few times in my book so I think it could use some more attention.
Fifteen years ago, at the height of the dot com bubble, system administrators were burning the candle at both ends. With no cloud, Agile, or DevOps to help them, they were making it happen through sheer force of will and effort. As far as modern IT is concerned, those days are gone, and it's for the best.
This approach not only gives you better control in your tests, but it also speeds them up – no more sleeping threads, which can add up in large test suites. As well as all that it enables classes of testing that were simply impossible before (e.g. long duration waits).
When facing some duplicate code, you're not always feeling comfortable to dry it up. You're not even sure you'll keep - as is - the code you've just wrote. By experience, you don't want to spend a whole day to end, maybe, with an abstract solution end to reason about.
Recently, I came across this Podcast series between Martin Fowler, Kent Beck and DHH which was in response to DHH’s post TDD is dead, long live Testing.
Test-driven development is a software development process in which developers write tests first and, then writing enough code to pass those tests. Once all of the tests pass, they do code refactoring to enhance code quality. Following are key advantages of adopting TDD as your development process.
I believe that test coverage is an unhelpful measure. I have two main reasons behind this belief: Firstly, test coverage often gives false positives and false negatives; and secondly, too many badly written tests will slow a project down (that is, higher coverage can mean lower habitability).
If you need detailed information about GIT, then this is the deal (short of reading the source code I guess). Every aspect of the tool is explained (sometimes in excruciating detail) and the authors go to a great length to provide tips and gotchas on commands (especially when you might easily shoot yourself in the foot).
For JUnit implementation in our project, we see a great challenge in having them implemented as we are already running behind for Sprint 2 and Sprint 3
Its great to see that despite only releasing a couple of months ago there's already quite a few people trying out or contributing to lambda behave. Massive thanks to the London Software Craftsmanship Community for hosting a talk on Lambda Behave and the London Java Community and Opencredo for hosting a hackday.
Should there really be such a thing as a “DevOps Engineer”? Probably not, but we’re far too late to stop it, and trying to stop it seems a bit of a waste of energy to me. Eventually “DevOps Engineer” will come to mean something more specific, but for now we’re just going to have to read a few more lines on CVs.
Why are programs so poorly structured?
DevOps is a marriage between tools and culture. If you are just using the tools that you heard about at a recent DevOps Days and not also embracing the culture (or at least working towards it) then you're not really "doing DevOps".