Holy on Dev
Ansible Troubleshooting Tips
Few tips for troubleshooting Ansible, based on my brief experiences with Ansible 1.4 (read: do not rely on this info too much).
Run ansible-playbook in the verbose modeansible-playbook -vvvv ... will provide you with plenty of details of what is going on. (Notice that additional v:s, starting from none, add more detail.) Developing Modules.
Most interesting links of February ''14
Recommended Readings Development Falsehoods Programmers Believe About Names - summary: there are no rules that apply to names, do not assume anything (my favourite: 12 + 13) Nathan Marz: Principles of Softwar
Handling Deployments When Provisioning JBoss domain.xml (With Ansible)
It is tricky to manage JBoss with a provisioner such as Puppet or Ansible because its
domain.xmlcontains not only rather static configuration but also sections that change quite often such as
deployments. So how can we manage the static parts of
domain.xmlwith f.ex. Ansible while still enabling developers to deploy at will via
jboss-cli(and thus changing the
<deployments>sections of the file)? Here is one possible solution, based on extracting the sections from the current file and merging them into the template.
JavaServer Faces Are Evil (draft)
1. ProblemLet me start with a story. Once upon time
- there were 2 developers
- working together for 1 day
The most important lesson I have learned in 2013 is that I won't change anything by writing critical blog posts and talking to like-minded people. Fostering the "we vs. them," we who are right vs. them idiots sentiment is ineffective, even destructive. To be able to achieve anything, I have to talk to the people with opposite opinions and understand them. They are rarely ***holes and typically have good reasons for their opinions. Only by understanding those reasons and the background, history, and emotions they stem from - and hopefully helping the "opponents" understand some of my reasons and context - we can find a common ground and common goals that we can build upon to go further - perhaps not in harmony but still together rather than against each other.
The Risks Of Big-Bang Deployments And Techniques For Step-wise Deployment
If you ever need to persuade management why it might be better to deploy a larger change in multiple stages and push it to customers gradually, read on.
A deployment of many changes is risky. We want therefore to deploy them in a way which minimizes the risk of harm to our customers and our companies. The deployment can be done either in an all-at-once (also known as big-bang) way or a gradual way. We will argue here for the more gradual ("stepwise") approach.
Big-bang or stepwise deployment?
A big-bang deployment seems to be the natural thing to do: the full solution is developed and tested and then replaces the current system at once. However, it has two crucial flaws.
Demonstration of Ansible Features With Control & Test VMs
I have created a small project to demonstrate some features of Ansible, the new DevOps hotness, including Vagrant VMs for running Ansible and for testing the configuration. Either go straight to
This project has three things of interest:
- A non-trivial Ansible configuration that demonstrates couple of useful features and tricks
- A Vagrant/VirtualBox virtual machine with Ansible & co. to make it easy to run it (even on Windows)
- Another VM that can be used to test the configuration
JBoss Modules Suck, It''s Impossible To Use Custom Resteasy/JAX-RS Under JBoss 7
Since JBoss EAP 6.1 / AS 7.2.0 is modular and you can exclude what modules are visible to your webapp, you would expect it to be easy to ignore the built-in implementation of JAX-RS (Rest Easy 2.3.6) and use a custom one (3.0.6). However, sadly, this is not the case. You are stuck with what the official guide suggests, i.e. upgrading Rest Easy globally - provided that no other webapp running on the server becomes broken by the upgrade.
A Secret Weapon Against Technical Debt
(Cross-posted from blog.iterate.no.)
Most interesting links of January ''14
Recommended Readings ThoughtWorks latest interactive Technology Radar 1/2014(fixed link to pdf for Jan 2014:) The other kind of software debt - competency debt Clojure Corner David Nolen's inter
Most interesting links of December ''13
Recommended Readings Society HBR: Want to Build Resilience? Kill the Complexity - a highly interesting, thought provoking article relevant both to technology in particular and the society in general; f.ex.: more security features are bad for they make us behave less safely (risk compensation) and are more fragile w.r.t. unexpected events. "Complexity is a clear and present danger t
2013 in review
The WordPress.com stats helper monkeys prepared a 2013 annual report for this blog.
Bad Code: Are We Thinking Too Little?
Do we not think enough when coding? Do we jump to the first solution without really considering the problem, without trying to analyze and decompose it and understand the components and orthogonal forces invovled? Is that the cause of bad code (together with time press) and the reason why we typically see a "patchvolution" rather than evolution (of design)?
Code Is Cheap, It''s Knowledge Discovery That Costs
If we knew exactly what code needs to be written, what needs to be done and how it can be done, we would need very little time to write it. It is the discovery of the knowledge what to build and how to build it that takes all the time. Yet non-developers usually see it as an unacceptable waste to write and then throw away - and perhaps rewrite - code.
Most interesting links of November ''13
Recommended ReadingsSome interesting topics this time despite me spending lot of time on the Principles of Reactive Programming course: Java x Node.js, REST x other future-proof architectures, scary legacy code. Of course, also plenty of Clojure.
- Previous (6)Next (19)