A few weeks ago a colleague from work and I were talking about developing applications for the Android and the Apple phones. He is currently working on a version of a medical images web viewer. The application is intended to run on a tablet (not a phone). The application needs to make use of graphic libraries to perform as fast as possible image manipulations (e.g., resize, crop, invert, and apply several filters among other operations). In that context Xamarin was brought up. Continue reading “Xamarin”


In computer science, SOLID (Single-responsibility principle, Open-closed principle, Liskov substitution principle, Interface-segregation principle and Dependency-inversion principle) is a mnemonic acronym introduced by Michael Feathers for the “first five principles” named by Robert C. Martin in 2003 that stands for five basic principles of object-oriented programming and design. Continue reading “SOLID”

Introduction Challenges C++

As I mentioned in a previous post, I will be solving challenges using C++ and Java. Earlier today I found in HackerRank a set of challenges for C++. The set seems to be split into the following categories:

  • Introduction
  • Strings
  • Classes
  • STL
  • Inheritance
  • Other Concepts

As usual, I like to start simple and progress towards the most complicated. In this blog entry I cover my solutions written in C++ using Microsoft Visual Studio 2013 Professional. Continue reading “Introduction Challenges C++”

C++ or Java?

Last week I was talking with a manager on the subject of C++ versus Java. The motivation behind this was if a project needs to be developed in C++ does experience in Java could be useful to quickly learn the specifics of C++ and become proficient in a very short period of time.

I would like to share my thoughts regarding this question. Perhaps it will shed some light into similar discussions that may arise in current or future projects. I would like to state that in my software development career I have learned and used a few procedural and OO programming languages (Assembly Language (multiple processors), BASIC, Bash shell, C shell, C, C++, C#, Fortran, Java, JavaScript, Pascal, Perl, PHP, PL/1, PL/C, Python, Ruby on Rails, SQL, Visual Basic and Visual C++ among others). In some projects I have written several million LOC using a single programming language. Continue reading “C++ or Java?”

Caesar Cipher

I enjoy and have been working with cryptography for a couple decades or so. When I saw in HackerRank the challenged named Caesar Cipher I jumped in to solve it.

The cipher is very old and by itself it is completely insecure. One can write a very short program to convert cipher text into plain text which would execute in milliseconds. That said; it was fun to work on the solution.

If interested first take a look at the following URL in HackerRank:  https://www.hackerrank.com/challenges/caesar-cipher-1?utm_campaign=challenge-recommendation&utm_medium=email&utm_source=24-hour-campaign

It seems like the input format specifies the length of the plain text string in addition to the actual string in order to be able to generate the cipher text directly without having to read the entire string. I decided to pass on such offer. Continue reading “Caesar Cipher”

Cavity Map

Based on an email message from HackerRank I decided to accept the Cavity Map challenge. The description for the challenge may be found using the following URL:  https://www.hackerrank.com/challenges/cavity-map?utm_campaign=challenge-recommendation&utm_medium=email&utm_source=3-day-campaign

As usual, if interested please read the description and give it a try.

The Need Help link on the page discusses string basics. In this case I did not find the help of use. Continue reading “Cavity Map”

The Single-Responsibility Principle

Today is January 01, 2017. Happy and prosperous New Year!!!

As I have mentioned in prior blog entries, among many other activities, I enjoy reading technical books in order to learn, refresh and on occasions question what some may consider common knowledge. One of the books that I am currently reading is “Agile Software Development Principles, Patterns and Development” by Robert C. Martin. So far, I recommend this book to people studying and practicing computer science. Continue reading “The Single-Responsibility Principle”

Chocolate Feast

Today’s evening is New Year’s Eve 2016. Happy New Year 2017!!! By the way, 2017 is a prime number. The next prime will be 2027. Went ahead and took a look at the HackerRank challenge Chocolate Feast. If interested take a look at the description at the following URL: https://www.hackerrank.com/challenges/chocolate-feast?utm_campaign=challenge-recommendation&utm_medium=email&utm_source=24-hour-campaign

As usual I first take a look at the Need Help? I then spend time working on my solution. After trying and passing the sample tests I read most of the discussions to improve on my solution and try additional tests that other fellow developers have obtained. Finally I go ahead and submit my solution. Continue reading “Chocolate Feast”