RSS Feed Subscribe to RSS Feed

 

Don’t use “kill -9”

In the past, any time I wanted to stop an errant process on unix, I just used “kill -9”. By default. Without thinking about it much.

Then a colleague commented to me that you should never use kill -9. It terminates the process with no chance to shutdown in an orderly manner, and so can leave things in a bad state, such as corrupting files. “But what else am I supposed to do!?” I naively asked.

There are of course many other options for the kill command (see links below), but here are some alternatives you can try, in the order you may want to try them.

(more…)

Tags: , , ,

Creating a Maven multi module project

There is no easy way, or simple archetype, to create a maven multi module project. The approach below is the best way I’ve found so far.

(more…)

Tags: , ,

“Ship It!” talk at the Boise Code Camp

Slides for my “Ship It!” talk at the Boise Code Camp in Boise State University today: https://www.slideshare.net/shaunabram/ship-it-boise

Tags: , , , , , ,

Copy & Paste buffer

Why be only limited to have a single item in your Copy & Paste buffer?! There are several tools out there that can do this, but my favorite (on the mac at least) is Butler.

(more…)

Tags: ,

Switched to HTTPS

I recently switched the WordPress and domain name hosting for this blog from Bluehost to SiteGround, and enabled https in the process.

(more…)

Tags: , , , ,

GPG

I use GPG (Gnu Privacy Guard) for email encryption. GPG is an OpenPGP implementation. If you would like to send me an encrypted email, my public key can be found at https://keybase.io/shaunabram. I also have some keybase invites available, if you are interested.

(more…)

Tags: , , , ,

Continuous integration / Continuous Delivery / Continuous Deployment

The terms Continuous Integration, Continuous Delivery and Continuous Deployment can still confuse. Even Jez Humble, author of the book Continuous Delivery commented that there is “confusion around the terms continuous delivery versus continuous deployment and my own thinking and definitions have changed”.(1)

This is my attempt to distinguish, based on the sources listed below.

(more…)

Tags: , , , ,

What is a Development Manager?

In a previous posting on Agile, I discussed the 3 main roles in Scrum: Scrum Master, Product Owner and the dev team. However, there is also an additional role that is not always considered core, but which is increasingly an integral part of Agile, and that is the Development Manager.

(more…)

Tags: , , , , , ,

What Is Agile?

Agile software development is an approach to developing and delivering working software into production in incremental, iterative work cadences, known as sprints.

Being ‘agile’ is more of a philosophy than a set of rules. It is a mindset to continually improve; to embrace new ideas and implement the best ones, testing in the wild all the while to find what really works. Collaboration, feedback and iteration are key.

In this post, I will briefly touch on the Agile Manifesto where it all started, before looking at some basic concepts (feedback) and alternatives (waterfall), before the main bulk of the article, which is the flavors of Agile, including XP, Kanban and, primarily, Scrum.

(more…)

Tags: , , , , , ,

A brief introduction to SAML

 

SAML, or Security Assertion Markup Language, is an protocol used to exchange authentication and authorization data. It is XML based and allows the sharing of identity between multiple organizations and applications.

SAML is one of the fundamental cloud identity security standards.

The primary use case of SAML is Internet Single Sign On (SSO).

(more…)

Tags: , , , , , ,

Running an individual unit test with maven

Individual tests can be run from maven. This must be done from within the folder that contains the source (as in the folder that contains src/test/java), which will likely be either be the root of your maven project, or in one of your modules.

For surefire (unit tests), this will be something like:

mvn -Dtest=com.your.package.YourTest test

For failsafe (integration tests), it will be something like:

mvn -Dit.test=com.your.package.YourIT verify

This is covered in the maven surefire plugin docs and maven failesafe plugin docs respectively, but those examples don’t mention packages names, which are required.

Tags: , , , , , , ,

Git rebase

Git rebase can be intimidating for newcomers, but it’s a powerful and versatile tool when you understand it.

Like git merge, rebase allows you to bring the changes from one branch into another. However instead of all those noisy commit merges you get with the merge command, rebase allows a tidier, linear commit history.

Technically, rebasing is the process of moving a branch to a new base commit, but if that isn’t clear, hopefully the diagrams and explanations below will illuminate.

Before we even start looking at rebase though, we will start with a quick review of merging.

(more…)

Tags: , ,

Getting rid of IntelliJ warning: Local variable is redundant

When dealing with a piece of code like this

    String id = "abc";
    return id;

IntelliJ may give a warning message:

    Local variable 'id' is redundant

I can see IntelliJ’s point. The code could be rewritten as follows:

    return "abc";

However, sometimes it can be useful to use a variable name as a form of documentation.
Also, and more often, I don’t want to see this warning pop up for other people’s code! If they wish to use a “redundant” variable, who am I to argue? I certainly don’t want to be warned about it every time I do a commit.

To disable this warning, deselect the following:

Preferences -> Editor -> Inspections (-> Java) -> Data flow issues -> Redundant local variable -> Ignore immediately returned or thrown variables

Or you can setup custom handling for tests (e.g. weak warnings) under Severity by Scope.
(Based on IntelliJ 15)

Tags:

Chrome Keyboard Shortcuts

I typically use Chrome as my browser of choice, and it comes with a plethora of keyboard shortcuts that I find incredibly useful and use constantly. However there are ways to add to those shortcuts too, including a tool called Vimium…

(more…)

Tags: , , ,

Running tests in IntelliJ for a multi module maven project

This post shows how to run all the tests in IntelliJ for a multi module maven project.

(more…)

Tags: , , ,