GoorooTHINK

Thought provoking and helpful articles
from the Gooroo community.

Do you have something to say? Contribute or create an article and add it to your Gooroo bio.

  1. New Technology - Should You Learn It?

    It is one of those questions you constantly struggle with throughout any technical career: Should I learn this latest and greatest technology that is out? Do I need to learn it, do I want to learn it, do I get left behind if I don't? The truth is that you can't learn everything so how do you know what to focus on?The sections below are not mutually exclusive, nor do you have to fulfill all of them. If you can say "yes" to one of them, then you are probably okay to invest time in the technology in...
  2. Introduction to Progressive Web Apps

    As some people know, I have been very passionate about Windows Phone since the early days of the platform. I am still using a Windows 10 Mobile device, and I still love the operating system and the Windows 10 platform. However, I am not living in a cave, and I do realise that the future potential of the Windows mobile platform is limited. I still don't think it is "dead", but it is certainly limited. I started learning Xamarin a couple of years ago, to use my C# knowledge and skills for building...
  3. Lessons Learned Writing Spring Boot Auto Configurations

    My team and I make heavy use of Spring Boot to build microservices that power our applications at our company. We've even gone so far as to write our own custom auto configurations to ease development. We package these auto configurations along with other goodies into what we call our platform.Recently, after releasing a new platform version, we encountered an issue where one of our microservices would fail to start at what appeared to be random intervals. After further digging, we noticed specifically...
  4. Spring Cloud and Netflix Ribbon: Client-side Load Balancing

    Eventually you'll reach a point where you need to run multiple instances of an application or a service for high availability or to manage increased load. That's what load balancers are for. There's generally two different types:What many people would call a "load balancer" is actually a server-side load balancer. It can be implemented in hardware or software. The traffic is sent to a dedicated service that decides where to send the traffic, using an algorithm like round-robin, to one of the...
  5. An Introduction to R for Java Developers

    As a Software Engineer I'm always keeping up to date with technology and one of the things that helps me do that is book reviews. Right now, I'm reviewing The Book of R: A First Course in Programming and Statistics by Tilman M. Davies. R is a programming language used in statistical computing and has gained in popularity in the recent years due to the explosion of data and its applications like Machine Learning.
  6. Spring Boot 1.4: @MockBean and @SpyBean

    It's August 2016 and the Spring Boot team recently released Spring Boot 1.4 ( on July 28th, 2016 ). Some of the biggest improvements and simplifications are around unit and integration testing. We'll take a focused look at two of the newly added features: @MockBean and @SpyBeanThe newly introduced annotation, (@MockBean), adds generalized support for mocking of any Spring bean. If you've used Mockito Annotations before, @MockBean is simliar to @Mock but with Spring support.Suppose we have a simple...
  7. Must-Have PowerPoint App for Developers

    If you present to or collaborate with other developers, then there is one PowerPoint App that you must install ASAP: Code Presenter Pro.Developed by iGeek Studio for the Imagine Cup 2014 (the app won first place, by the way), this app turns PowerPoint, both the Presentation View and the standard Normal working view into an awesome code editor that supports customizable syntax highlighting for C#, Java, JavaScript, Python, PHP, ASP, JSP, Visual Basic, ASM, and C/C++. But the features do not end there....
  8. Initiating the Git

    How to initiate git through sshlogin using shh~~~git $ ssh [email protected] ~~~creating a folder ~~~git $ mkdir folder_name ~~~changing to that newly created folder~~~git $ cd folder_name ~~~initiating as a master branch~~~git $ git init --bare ~~~changing the windows pack~~~git $ git config pack.window 0 ~~~##step 5 : clone to local machine usingcloning the newly created folder to local~~~git $ git clone [email protected]:/home/folder_name ~~~adding the all files which are created
  9. Get to know your tools

    Tools give you power, but power needs to be used wisely. And by wisely I mean understanding the power you have in your hands. You can use a hammer both with screws and nails, but it is better for the later than for the former.Now, talking about programmers, this is quite more important. I’m not suggesting that you need to memorize all the options and shortcuts that your development environment has, but I’ve seen many cases when people start using an IDE, a framework or even a language based just...
  10. Web API for .NET Part 1: Creating Your First Project

    As a freelance software developer I get thrown into many different kinds of projects. They include a variety of different technologies (although I favour the Microsoft stack) and they are on a wide spectrum of “project approachability”. But that I mean they vary widely in terms of how well maintained they are, how well the code is written (which is another completely different discussion for another time), how well it is documented and how easily you can jump in as an outsider and start contributing.
  11. Edit DRAFT Edit

    • updated