Deploy – End of Software Development Life Cycle Or is it beginning of innovation?

As a developer you hardly need to deploy anything on live, again depend on the company and responsibility you have. But I think it would be nice if a developer acquire those skills and not to master it but at least deploy to live or staging.

And what I mean by deploy is setting up a new environment from scratch and set it up for everything from requirement, design, develop, test and deploy. For me I am in the Microsoft stack and I admire it a lot. I love to build things and take ownership of it. Make it happen.


So As a developer I bought my own rack server and install windows server 2016 and install hyper-v with various OS (Windows Server 2016) and so on.

I have made a staging environment for my own development (IIS, .net Core, NodeJS). I have to go through some of research to make it happen and hyper-v is really helpful in the sense I can rollback changes and so forth.

I have started to build some sites given from examples and deploy it using Visual studio and of course it requires more skills than I thought but it was good fun and challenging. At the end of a day I am confident that I can handle anything and take a control of a product which includes start to deploy (well technically it will never finish).

here is screen shots from my work station.









And sky is a limit now. I am currently building up few sites of my own and trying to build my network. Next I am going to share a video of my day to day activities and how I solve problems and add values every day. Writing Behaviour Driven Development and Prototyping quickly so that I can write Production ready codes and also Continuous Integration.

Till then Ciao.

How to remove a User safely from database as a part of GDPR request?

How to remove a User safely from the database as a part of GDPR request?

The scenario is given – When user decided to leave your system along and requested that delete record from your database. How do you deal with it?

First of all – Think —- DELETE!!!!???? NOooooo…. Big NO. Why?? I will explain in a bit.

So, you have a database of a couple of million people and you have a concern that if everyone wants to delete their record due to any reason you will be in trouble.

So how to remove user safely and without compromising compliances.

1. Instead of delete record obscure the requested information and leave original record as it is.

2. The benefit to that is when you have to go through audit trail you will have all the track back and relevant to other’s information. That information still can be valuable if you are making an infographic without revealing any of personal details.

So why not delete it? If you delete a primary record from the database which related to many tables could cause system errors and many of the reports may become invalid, especially some of non-trivial.

Secondly, if you delete a record without proper provisional logs and audit could lead serious compliance issue with other ISO standards.

Now, what to obscure

1. Name – First Name Last Name …. anything that Identifies entity.

2. DOB – Just year or Partial

3. Address – (partial – house number and postcode or anything)

4. Phone Number – Partial or full

5. Passport number — (Why do you need this in the first place. if it is a legal requirement no need to delete or obscure it.)

6. Driving licence – Same as above.

7. Other information — if mandatory information is already obscure and this may not able to show a person then as it is otherwise partial obscure.

How to obscure Data

For example look at following table


Original Data

Obscure Data


David Halmen

01010 101010





1234 Palm street, Coleville

0000 Palm street, Coleville







Driving Licences




Now the question is still there what if data is not normalised and duplicated many places. Well, you have to make sure that all the information related to the GDPR are compliances and you are following the guideline given by ICO.

The solution for better information storing and providing software as service and processing data correctly.

For me I would carry out it like as given following:



Now in above picture

A client communicates through common service channel where data is encrypted using token and through SSL layer via the internet. And Common service channel will pass it to Communication Channel and decrypt, abstract and validate information and pass it to database secure channel and Software Service layer will decide which key management to use and send control to database secure channel where it again encrypted and send to the database.

Same way retrieve information will keep that way as well. Now it might look overkill at this stage but when it comes to security in mind each layer has its own authorization and authentication mechanism in place thus it abstract dependency of database and its operations to secure channel and communication channel has one job to abstract command and data and pass it to software service layer which is main heart of the multi-tenant service provider and because of key and token manager is separate part of the database we have to keep isolated apart from encrypted database.

The encrypted database keeps hashes and logs to countermeasure with key manager thus it will keep up to date with any changes in the key management and ideally it should be on the different environment but within a close system.

If you would like to get more guidance on this you can communicate through this contact form or via LinkedIn or my other website

How to simplify the GDPR consent – High level overview

The GDPR is just on the horizon and everyone is curious. How to make it correctly and all the other related issues.


GDPR Notification Simplify

  • The user should able to ask (through website/phone/person/post)
  • Acknowledge request by confirmation by preference
  • Once the user confirms request then send a secure link which has GDPR data and its explanation in plain English.
  • The User should able to control the information holding with your organization.
  •  Any changes should be (by the user or by policy or by the organization) be communicated via a preference.
  • If the user decided to remove there should be a provision for that without compromising compliances.
  • See my other post – How to securely remove user data without compromising anything.

That is it. Now if you have questions or need guidance about system implementation contacts me via the website or via LinkedIn.

Hope this high-level view helps you to understand the process involved in how to start it correctly.

Clock is broken. Reveal answer.

Yesterday I asked a puzzle about broken clock.

Today I am giving the answer and How did I solve it.

My first and clear approach was identified a total sum of 1 to 10 which is 55. But if we need to 4 pieces of 15 means total 60.

And sum of 11 and 12 is 23 which is not so helpful. But cleverly if you look we only need to add 5 more to 55. And sum of each digits of 11 and 12 is 5. But cutting them in half make available to sum individually.

Bingo. Viola. Ta da.

Thank you for your patience.


Clock is broken – Solve it

Here is a classic puzzle to solve.

My clock is broken into 4 pieces and sum of each pieces is 15. Can you able to divide the clock into 4 pieces and each piece have sum of 15?

Just try it. And don’t spoil the answer.

How to solve a seating arrangement in Airline–Part 2

Now continue to this project I have created a simple logic which allow to arrange a optimal points without panelising to split any combination or altered a consecutive arrangement as much as possible.

For that I have break down rows in group of 2. Let’s say 2 rows each rows has 6 seats and maximum number of allocation is 12. now we know by given fact that following combinations are possible:

  • 12 bookings which contains 1 ticket per booking.
  • 6 bookings which contains 2 ticket per booking.
  • 4 bookings which contains 3 tickets.
  • 3 bookings which contains 4 tickets.
  • 2 bookings which contains 5 tickets and 1 booking contains 2 tickets.
  • 2 bookings which contains 6 tickets per booking.
  • Now we know by rules if we have 2 booking of 6 tickets each than we have an optimal results which is far away from reality in the bookings. But at least it will give us a clue about the probability  of make a possible pair of tickets or combinations of various positions.
  • Suppose for example we have only 12 seats in other word 2 rows:
  • and we have bookings of 5 tickets, 4 tickets and 3 tickets respectively.

So here are following optimal arrangement


Which will generate around  (5 consecutive tickets = +2), for 3 tickets +1 but 4 tickets split therefore its –1 thus +2+1-1 = +2

but if we prioritise group of 4 first then we can have optimal value as given below


This will generate (+2 for 4 tickets, +1 for 5 tickets, +1 for 3 tickets), thus it has possibly 4 optimal points to gather.

So here we got a rough idea what are we dealing with. Obviously in logic terms we are still far far away from any coding at all. But that was the first condition for the challenge no need of any computer programming but simple logic of arrangement and make a common sense out of the arrangement.  

Next time I will go through combination of 2s and 3s and possible mix match of each with more and more rows, or may be lets keep it simple to 5 rows to generate an algorithm which give best optimal values from the various combinations.

Power of Google Analytics

I am so amazed by the statistics gathered by GA (Google Analytics). Recently I have set up my online resume and it gave me more insightful information about the location and new and returning users, which helps me to build something that useful.


It is good to see results which is working for you. I am really impress by the tracking yet so simple to use. Here I have attached some of the proof and still learning new skills to measure my sites coverage.

How to solve a seating arrangement in Airline – Part 1

As a software developer, I have been given many challenges or problems to solve and in fact, I love to get involved.

Here is problem statement:

The reputed airline named HardJet has announced that they are facing a criticism on deliberate efforts to allocate seats for their customers and more and more customer dissatisfaction fuelling to join  Hynair their biggest rivals thus HardJet has decided to reward on those who can help them to solve this puzzle.

First of all, this problem does not need any computer program or anything that generate complexity so first it should be just on paper mostly theory and general mathematics.

So my first approach was to research capacity of an aircraft and for example : according to this around 156 seats capacity. and 29 rows and each row has  2 sets of seats – 3 on each sides.  Thus, the best way to identify the problem of arrangement is to give best (optimal) arrangement positive points and  worst(minimum) arrangement negative points based on following criteria:

  • If booking has a single ticket than – window seat, aisle, or middle seat no points counted ( 0 point).
  • If booking has couple or pair (tickets) than if it has window seat or aisle seat (+1) (1window, 1middle or 1 middle 1 aisle), if same row and two aisle seat than 0. if split than –1.
  • If booking has three tickets booked than same side (+1) if same row but split in 2 (I.e. 2 aisles 1 middle) but consecutive seats then 0 otherwise again split to next row –1, if split all 3 tickets –3, if split in two groups –2.
  • If booking has four tickets than same row consecutive seats +2(however 1 windows 2 aisle 1 middle). if 2 windows and 2 middle than 1 point. if split different rows than –1, if all 4 seats are separated than –4. if two seats non consecutive than –2, any other possible non consecutive combination than  –1. 
  • If booking has five tickets than if same consecutive seats in same row +2 (2 windows, 2 middle and 1 aisle or 1 window 2 middle, 2 aisles). any split but follow couple and group of three still +1, any split non consecutive than per seat –1 , –2 , –3, –4 panelise.
  • If booking has Six tickets than if same consecutive seats in same row +3 (same row) if split to next row but same side (+2) split to next row other side (+1) any other combination with splits –2 and –4 points to consider.

Now from given rules we know that the best optimal combination is 29 bookings required each booking has 6 tickets which scores 87 (29 x 3 = 87) which I think is extreme case. But however for optimal value for each flight arrangement I am creating an algorithm which generate the optimal arrangement with calculated points and stored in the learning engine so that later best combination can be provided. I know it is quite a challenge to achieve but I think assuming that when you reach to a checkout you know that you will received best possible combination of seat, So far I haven’t add any other complexity such as let 50% seats to be filled by arrangement (which is completely different ball game).


Now this is just a beginning, I will keep posting this with my progress with this I know it is not that easy but with right mind-set and possibly knowledge how to build something which helpful to many. It is possible.

Airlines probed over ‘confusing’ seating policy

How software developer fails in two way

Software developer we are fail

As a software developers, we fail in two ways: we build the thing wrong, or we build the wrong thing. 

– Steve Smith

I was revising my knowledge on DDD(Domain Driven Development Not Developers Developers Developers ) and how I enlighten by few of my work starting from Unit Testing to Test Driven Development to Behaviour Driven Development and incorporate with Domain Driven Development. I think knowledge and know how helped me a lot but still sometime I felt doing too much of learning is not worth until you utilise your talent and find out its application and apply in a real life not for just fun but keep stack and build better software and application and solve some great problems of actual business complexity with great enthusiasm.

How long will it take to build a Personal CV site?

Recently I have set a challenge for myself. How long will it take to build a site from scratch and deploy completely. I thought it would be nice and easy 8 hours task but apparently my estimate was dead on the spot. 

So Let me go through the time line and explain you my estimation :

Task Description Estimated Time in Hours Actual Time in Hours
Story board my CV 1.0 1.0
Build a theme 1.5 1.75
Google Analytics setup 0.5 0.25
Keyword research 0.5 0.25
Get and validate external links 0.5 0.25
Generate Animation and Mobile first Screen 1.00 1.00
Get Feedback 1.00 0.75
Signup recaptcha and configure 0.5 0.5
Deploy on server 1.0 0.75
Release and write article 0.50 1.00

Now what is the proof.

Let me show you my proof.  Just visit the site and give your feedback. Love to hear that. Just feeling Awesome…. and awesomeness…….