JGitflow still alive?

During our development we are using the Gitflow process. (Some may prefer others, but this works well in the current situation). In order to do this we are using the JGitflow Maven plugin (developed by Atlassian)

If our software is ready to go out of the door, we make a release branch. This release branch is then filled with documentation with regards to the release (Jira tickets, git logs, build numbers, … pretty much everything to make it trackable inside the artifact).
From time to time the back merge of this release branch towards Develop would fail and cause us all kinds of trouble. By default the JGitflow Maven plugin tries to do a back merge and delete the branch. This was a behaviour we wanted to change.
So during my spare time (read nights) I decided it was time to do some nightly hacking. The result is a new maven option “backMergeToDevelop” that defaults to true but can be overridden.

I created the necessary tests to validate it works and created a pull request, however no follow up so far from Atlassian … Anybody from Atlassian reading this? Reach out to me so I can get this in the next release (if any is coming …?)

It seems there were no commits since 2015-09 …

 

Clean install mac Sierra still eating enormous amounts of memory

In my computer lifetime, I’ve used Windows 3,NT,95,… 10, Linux (mostly Gnome from 2002 onwards) and since late 200X Mac. Currently I’m mostly using Mac because it fits nice between Windows and Linux.

At a certain time I was doing a demo on my Linux laptop and I got a blue screen in front of a client. Pretty much a No No for everybody … So I decided to switch to Mac and ever since no problems doing demo’s and presentations.

My Mac is already pretty old (read +3 years). As I’ve installed a lot on it, I decided to re-install Sierra. Try the good old Windows way, re-install and get a fast machine again. But what happened pretty much blew my mind …

I did a clean install and afterwards checked my laptops memory consumption … the bare system was still eating 7 Gigs of memory … Okay I may have 16 in total but why would my core OS without any additional installations need 7 gigs … This is utter madness and even a complete rip off. This would mean that in order to run a descent Mac Sierra you always need 16 gig to run at a descent speed … I’m following Microsoft pretty closely as they are more than ever focusing on good products and helping the opensource community (Did you know Microsoft is the #1 contributor to opensource software ???!!!). Even their Windows 10 is looking like a descent product again …

My current Mac is still doing fine, so I hope to postpone the purchase of a new machine somewhat to a far future … However if I need to purchase something at the moment, I wouldn’t know what to buy.
The new Macs really scare me. The touch bar is something that nobody seems  to find useful even worse, pretty much everybody I talked to hates it and finds it a waste of money … for myself I find Microsoft did a good job at Windows 10, however the command line interface is still not up to par with the on from Mac or Linux one … So if I should buy something right now, it would probably be a laptop with an SSD, I7, 16 gig or more diskspace that is completely supported on Linux. I would then be installing Linux Mint as that’s still the distro that seems for myself the most user friendly …. if you have other suggestions, just let me know !!!

Lets just hope Apple can turn it around, and can make descent desktopsagain that don’t eat all your memory for no un-necessary reason.

Jenkins 2 workspace location

Like many developers, I get a broken build on regular basis. When setting up a new project this happens a lot because of missing infrastructure dependencies or not having access to the companies private docker hub …

Anyway on the old Jenkins (1), I used to go into the workspace folder to have a look at the build itself. In Jenkins 2 this seemed to have disappeared  (when using the pipeline) … or did it … ?

It’s there, but you got to look very careful. To get there follow these simple steps:

  • Go to the failing build (the #…)
  • Click on “Pipeline Steps” in the sidebar
  • Click on “Allocate node : …”
  • On the right side the “Workspace” folder icon that we all love appears
  • Click it

Et voila we are all set

Information overload

It’s been a while since my last post (18/01/2014) … This year I made a new year’s resolution to blog more (like I did in the good old days).

My first post since the silent years will be a bit of reflecting on why I actually haven’t blogged much and what I did instead. There are off course a lot of reasons why but in essence it boils down to a very simple reason. You set yourself priorities and whenever you don’t have much time, the things that don’t have a high priority you abandon … so blogging was for me not as important as my family, my work, … (you get the picture).

But there is actually another ‘good’ reason: Information overload. I’m constantly reading, viewing presentations, doing small Proof Of Concepts, … and doing these things has taken over producing content myself … I hope I can do things better in 2017 … let’s see 🙂

So What did I do in those last couple of years on a technical side:

Webpack + React + Redux

People who know me, are aware that I’m sometimes complaining about the javascript eco-system. On a regular basis I need to decide which technologies we are going to use to build a system that needs to be maintained for many years. During the last 4 years I’ve done assessments of which frontend framework to use. At times it really felt like the well known blogpost.

I’m pretty glad the Javascript eco system is stabilising (or so it seems). I decided to take a deep dive into Webpack, React, Rexud, …

simple conclusion: I’m glad I took the time to learn all these technologies a bit more in depth.

Vert.x

I’ve done several small NodeJS projects, for bigger applications I’m still more a fan of the Java / JVM world as it still feels more mature for me. However the concept of Node is simple and elegant, so if you have a similar solution in your preferred eco-system, you need to do some investigations … right?

simple conclusion: I’m glad I took the time to learn all these technologies a bit more in depth.

Amazon Web Services

Using one of the online platforms I took a pretty long track on a lot of the features of the AWS platform. I’ve been a frequent user of their services, but they are constantly inventing new things and there were still some blind spots for myself. That’s now much better with guided training and experiments.

simple conclusion: I’m glad I took the time to learn all these technologies a bit more in depth.

Scala course

On Coursera I followed a course on Scala. I followed already some talks and presentations, but never programmed it myself. During this session I was obliged to write Scala code myself. The least I can say is that it was … interesting 🙂

simple conclusion: I’m glad I took it, but will have to look for a more hands-on track as this was a bit to much focused on the theory instead of building real world applications.

NoSQL Tracks

I’ve done courses on MongoDB and Elastic Search. Both very nice products with their own positive and negative points. I’m using these technologies in several of our production systems and things are stable. Like all technologies there is some adapting and learning how they work in a production environment, but they fill the gap needed filling. So I’m glad we took this road.

simple conclusion: I’m glad I took the time to learn all these technologies a bit more in depth.

Mobile Development

My company builds server side applications, frontend applications and also mobile applications. In the previous company I founded, I wasn’t “officially” allowed to build mobile apps, so I had to beef up on this … which I did. In the meantime, I’ve build applications using Xamarin, Native Android, Native iOS (objective C, Swift is on the Todo) and Ionic (React Native is on the todo).

Very simple conclusion: doing what you love without technological impediments is how every developers life should be …

I’ll keep some more for my next post, but I’ll also do some more real technical articles.

See you soon (or so I hope)

Intellij Builder Plugin

At our project we are using the builder pattern to create objects. However this was taking a lot of time and typing to generate the builder. Nico mentioned there was already an existing plugin for IntelliJ (IntelliJ is our default IDE for doing Java development). The naming convention of the plugin was just a bit different, so not ideal.

Nico said the plugin was opensource, so I had a look. It was true, so hence I forked, patched and made a pull request. I’ve read a lot about it, but actually never did it myself. I’ve done many clones to just build or patch things, but actually never came around to forking,patching and creating the pull request.

Hopefully it will get accepted and put in the official plugin for IntelliJ. This would then be my first contribution that could run inside IntelliJ 🙂

Anyway, I’m not sure that it gets accepted. Hence I’ll put the jar online here. You can download it and install it. Builder-Generator It should work. If not give me a shout and I’ll lower the minimum level of the IntelliJ version.

The github repository fork can be found here:

https://github.com/bjornmonnens/Builder-Generator

Keep in mind this is a small patch, Michal did the heavy lifting. You can find the original repo here : https://github.com/mjedynak/Builder-Generator

ABUG 6 – Real World Git Workflows

bamboo 5

Tomorrow it’s ABUG-6. This time me and koen will be doing a short presentation on bamboo 5. I’m actually looking forward to it because I haven’t seen this user friendly deploy cycle in a build environment yet.

I’ve done my fear share of building pipelines in Jenkins and other CI environments. But I haven’t found a descent plugin / extension to do this.I have to say that the guys at Atlassian have taken an interesting approach. I for one like it. I still have to work some more with it.

However in other areas the competitors are still somewhat better, question off course is : Do you need those features or not.

My First ABUG

Last week I went to ABUG-4 , this was my first ABUG ever. As I’m a long time Atlassian user, it was long overdue but I finally made it.

I really liked the venue. I was a bit amazed by the number of people that showed up. 73 according to Stijn’s tweet.

The content was also good. As the company I work for is also an Atlassian partner, I didn’t see many new things regarding the stack. However there were a couple of interesting sessions by customers who explained how they used the tools in their day to day business. e.g. the guy from http://www.onyxonlinelearning.com/nl/home made a very nice presentation on how Confluence is really at the heart of their business. It’s nice to see all kinds of businesses are finding the openness of the Atlassian tool suite a good fit for being one of the cornerstones of their business. I for one use Confluence, Jira and GreenHopper pretty much every day (multiple times an hour). Off course the products are not a silver bullet (as nothing ever is), so I’m still skeptic about a lot of things.

After the venture we went to the bar of the hotel next door. We were there with almost all the Atlassian Experts from Belgium. The least you can say it was an interesting session with some heavy discussions but in the end I think it was very fruitful discussion.

Moved from Gnome to Mac

My last post was a follow up on Debian testing. This ran for a couple of months pretty smooth, but still it hang now and then. I had to use VMWare workstation with a Windows XP inside to run Outlook as still many of the features weren’t working using my Linux hacks.

When it crashed my VM crashed also. This had the consequence that now and then the VM got corrupted. So restoring backups was necessary. In the end it took me more time than I was willing to sacrifice.

As I didn’t want to switch back to Microsoft, there was not much left. Apple released their MacBook Pro with Retina display and this made me decide to finally switch (back). After almost 10 years of using a Linux desktops as my main environment, I abandoned it (now and then I had a secondary machine, one was Mac).

I’ve been using it for a couple of months now and it works pretty well. Okay it also crashes now and then, but I have yet to see this happen during a presentation.

The downside of Mac is off course that they try to hook you into each and every one of their products. I’m still using an Android phone and we still have a lot of Linux servers and other non Mac stuff running, so I won’t give in.

Switching from developing on Linux (and Windows) to Mac is also difficult in the beginning. As on Mac the keyboard layout is totally different from the regular LATIN-BE settings. However once you get used of it, it works pretty ok.

Like I mentioned I’m using a Retina display. The consequence is that not that much applications support the High Resolution, this gives a lot of applications a blurry look.

There is one thing I really love and that is the fact that switching from my Dell to my Mac, I suddenly got multi touch support on my trackpad. 2 finger scrolling and 3 finger gestures for switching between virtual desktops and calling expose to get an overview of all my apps and screens is just sweet. I know the reason I didn’t have this on my Dell is because Dell didn’t put the right hardware in, but that’s always the issue with all those vendors. They seem to always have som flaws in their configurations. This one I really have to hand to Apple. When they put together all the components, they seem to have figured out pretty well what are must haves and what are nice to haves. e.g. I don’t have a cd/dvd station in my system. During these months I still have to find the need to use it. Everything is online, you don’t really need this. If needed I still have a usb CD/DVD station from installing servers  that didn’t have CD/DVD stations.

As I also spent a lot of time talking to customers figuring out what is a must have and nice to have, it’s nice they manage to do this quite well.

Any way, enjoy your 2013. I hope to post some more stuff regarding the things I’ve been doing lately.

Debian Testing Follow Up

In one of my last posts I said I upgraded my laptop from Ubuntu to Debian Testing (after tried Fedora 16 for a couple of weeks). It’s been running for almost one week now. I crashed once (when I hooked up the beamer for doing my presentation.) Not the best moment.

However to be fair. It’s much faster, more stable, more usable,… I’ve seen a lot of people complain about Gnome 3. I for one like it. I’ve been a Linux desktop user since somewhere around the year 2000. I’ve tried almost everything. This for me is a good release because it makes my daily routines faster. To be honest I had to install a couple of gnome-shell-extensions but that was why they build the system as it is.

Finally being able to reply to mails coming from Exchange without the need to fire up a vmware image feels really good and off course also improves the experience a lot. (Or starting Davmail first and starting the email client.)

As I also have to do presentations on a regular basis, I do miss a tool that comes close to what keynote can do. However I’ve seen a couple of people doing some nice presentations in the cloud that look much nicer than the Libreoffice presentation but I still need to look at that. Any suggestions are always welcome! (Google Docs also seemed descent) Off course something that would be as good as Keynote would be even better 🙂

Finally able to send and receive mails from inside Linux without fuss

After I installed Debian 6 testing I thought “Lets search for exchange support again”. I do this on a regular basis I still have to face Exchange a lot. (unfortunately)

I found evolution-ews (exchange web services). So I tried installing it, no problems.I added a new account using EWS. I put in the link to our exchange server and withint a couple of minutes my mail was synced with my laptop. I can now send receive mails within my Gnome 3 desktop without the need for booting a vmware with Windows and Outlook.

Ok I still don’t see my calendar, but I do see my my mail coming and I can send,reply,attach,… without fuss.

Thanks guys behind Evolution.This will save a lot of time on my end.