Category Archives: Op-Ed

Personal, subjective and biased opinions

Classes and objects. Programming vs philosophy

Published by:

Few days back I had an interesting discussion with a colleague. We both have studied philosophy earlier in our lives so our discussion went into an interesting direction of mapping programming concepts, more specifically OOP concepts, to philosophical ideas. This discussion was very interesting to me, since when I started to learn programming I did not try to do this at all. It’s strange because it would have been probably easier to learn using analogies to familiar concepts. Most probably, I was thinking at that time that programming and philosophy are totally unrelated. The discussion with my colleague proved me wrong, so I thought about writing a short piece aimed to map classes and objects, one of the pillars of object oriented programming, to philosophical ideas. Continue reading

All that glitters is not gold

Published by:

All that glitters is not gold” is a well-known saying, meaning that not everything that looks precious or true turns out to be so. Does this also apply to software development? I’m fairly sure it does, since being attracted by glitters comes natural especially when you are not a very experienced software developer. As I do not considered myself a very experienced developer, I’m not afraid to say that I was attracted by glitters more than once and learned the hard way that all that glitters is not gold. Let me explain! Continue reading

Do you want to become a software developer? Here’s a good chance to start

Published by:

Do you want to become a software developer even if you didn’t study computer science? If yes, keep reading since this post might be interesting for you!

As many of my readers might know already, I did not study computer science at all. Still, I am working in the IT industry for around 10 years, half of which I’ve spend working at Microsoft. I started coding around 3 years ago and right now I am working as a full stack software developer. My primary focus is .Net Core and Angular 2+ when it comes to front end. A big part of my work experience had also to do with training, coaching, webinars. Continue reading

Data as a new global currency! Thoughts about machine learning and artificial intelligence

Published by:

This week I attended an artificial intelligence workshop organized by the company I work for and very nicely delivered by Richard Jarvis from DXC. Therefore, I think it would be nice to share some things I’ve learned there alongside with some personal thoughts on buzz words like, artificial intelligence and machine learning.

First of all there is a huge misconception that those who are not math geniuses should probably stay away from this topic. I learned during the workshop that this is simply not true. Sure, if you really want to dive deep into machine learning algorithms researches you need to know mathematics. Fortunately, the world won’t probably need as many researchers as people who are aware how things work and that are able to build applications and bring value to users by relying on the research that’s already been made. Why I say that? Continue reading

Microsoft Build 2018 keynote summary

Published by:

The Microsoft Build 2018 kicked off today in Seattle with Microsoft CEO Satya Nadella taking the stage and presenting Microsoft’s vision and strategy for the developer ecosystem. Scott Guthrie took then the audience through the main technical novelties with a lot of help from product managers and Microsoft partners or customers. If you missed the Microsoft Build 2018 keynote, here is a brief summary of what happened, taking note that it might be difficult to sum up in a few lines everything that was discussed for more than 3 hours.  Continue reading

The quest for a perfect IDaaS solution

Published by:

Every discussion about security should start with a discussion about identity and access management. It’s that important and therefore the quest for a perfect IDaaS solution is a painful but needed journey. One could of course choose to build its own identity and access management systems/software, but most of the time companies don’t have the necessary time and resources to do that since we’re seeing crazy release cycles nowadays. Going towards IDaaS is therefore a natural choice in a lot of circumstances. But do we really have a “perfect for every scenario” IDaaS solution somewhere out there? Let’s see! Continue reading

Thoughts about Cambridge Analytica

Published by:

There’s a huge scandal these days around Cambridge Analytica since The New York Times and The Observer reported on the company’s use of personal information acquired by an external researcher who claimed to be collecting it for academic purposes. In response, Facebook banned Cambridge Analytica from advertising on its platform. Reports also say that Cambridge Analytica CA worked for Donald Trump’s presidential campaign. That’s just to draw the context. As a last introduction note, I won’t make any comment on politics or legal aspects of this scandal! Continue reading

Azure AD B2C vs Firebase

Published by:

Coming from the Microsoft world it was natural for me to immediately jump to Azure AD B2C when I needed to implement authentication in an Angular 5 application. However, things weren’t so rosy, so I had to look for alternatives after an entire day playing around with Azure AD B2C and so I met Google Firebase. And after more days of playing around and comparing pros and cons, I thought it might be useful for others to share some thoughts on these two products.

What was everything about?

I am currently working on a personal project that might be some day a consumer app. Since I like Angular a lot, it was a natural choice for me to use it for my front end work. The larger picture involves also a .Net Core API and all needed application layers. When I started to work on the front end, one of the first things I wanted to do is to implement authentication. Here it’s important to note that my project will hopefully be some day a consumer app. So that’s why I was looking at Azure AD B2C and not the (let’s say) normal Azure AD. Continue reading

Do you want to become a software developer? Here’s how!

Published by:

So, do you want to become a software developer and you didn’t graduate computer science? Do you feel that “your time has passed” and you still think that there’s a lot more to achieve? Well, this post is for you, so you might want to keep on reading! If you ask yourself if this is even possible, well…. yes it is! I’ve studied philosophy and theology and still I’m working for almost ten years in the IT industry, I’m playing around with code for around 2 years and now I’m a software developer. Is it easy? Not at all! Or it depends on what “easy” means for you. But it’s achievable and here are a few guidelines on how you can become a software developer.  Continue reading

SQL design patterns for multi tenant applications

Published by:

Cloud computing is now growing at a very fast pace for over 4 years now. Strictly related to the increased adoption of cloud technologies there is also an increasing interest in software as a service, as companies of all sizes around the world realized the benefits of paying a subscription for the software they use. In these perspective, software development companies and independent developers around the world build now multi tenant applications. However, multi tenant applications are a tricky from the planning phase, since customer data needs to be strictly isolated, the application itself must be highly available and easily scalable. And, as I also briefly mentioned in my previous article, everything starts from the database. That;s why I would like to briefly point out the main SQL design patterns for multi tenant applications.

In practical examples I will refer mostly to Azure SQL databases and the .NET ecosystem, although the main design patterns are still valid for any relational databases you might want to use. A lot of these aspects are described in different Microsoft Azure documentation articles. My goal is to summarize information that is otherwise dissipated in different sources. Continue reading