Presenting with reveal.js

Presentations are sort of an unavoidable feature of both student and professional life. They bring many challenges with them that can catch you by surprise. I found myself in a need to do a presentation for my teammates to showcase a library I spent the last weeks developing. I was faced with the sad reality of opening up PowerPoint and crafting the presentation to convince them to use the library I created. However, looking back at the presentations I created back in college and also those created by my classmates at a time certain pain points almost immediately came to mind. This made me look into other options like many of the JavaScript frameworks that are popular option often seen in various tech-related meetups, talks and webinars. Overall, it was surprisingly pleasant experience so I decided to share the approach I have chosen and why I like the way it works internally.

Continue reading “Presenting with reveal.js”

Testing your assumptions

If I were to list some of the most dangerous habits observed in the way programmers work, I would definitely put making assumptions on this list. Let me explain. Recently, I have been debugging this one unit test that was showing signs of being a false positive. Turns out I was right about that and the reason was really simple – someone made an assumption that turned out to be false.  Let’s face it – we have all been there at least once in our career (even once sounds too good to be true 🙂 ). We assumed that certain situation, outcome or combination of several factors is simply not going to occur only to receive a bug report confirming that this assumption was wrong. This often unconscious practice is really common and causes trouble all over the world.

Continue reading “Testing your assumptions”

Pitfalls of Cucumber adoption

It seems like behavior-driven development (or BDD) and its supporting tools are gaining stronger momentum in Java world than ever. Cucumber, as one of the most popular frameworks used to support and automate BDD, seems like the go-to framework to power user acceptance tests (or UATs) without considering the implications of adoption of such a tool. Since using Cucumber was the requirement of one of the projects I have been working on I would like to share some observations I made and describe some of the pitfalls of such a decision. Continue reading “Pitfalls of Cucumber adoption”

GitHub and Jenkins integration

Jenkins is a well-know term in many teams around the world and has been for quite some time now. As many organizations migrate their source code form centralized version control systems to git, GitHub seems like a great tool to support and simplify work with git. Needless to mention its great support for code reviews by the concept of pull requests. Both Jenkins and GitHub are great tools on their own but it would be really nice to integrate them and leverage the power of automation even more. In this post I am going to describe my attempt to do so.

Continue reading “GitHub and Jenkins integration”