After devops came into being, we have been using devops extensively for development and management of work.

Dashboard for sprint reviews.

This helps us Identify the amount of work involved in a sprint, their priorities,total work assigned, complete etc.

Wiki for documentation.

This helps developers to write the documentation when it is due, It helps new developers to transition or for the development team to review the work or go to it for reference.

Queries /user stories/ Task for work management.

Queries help to group the work, User stories help product owners to create the requirements, Task helps developers to detail the work involved in implementation. We can do analysis and review when we need to.

Documentation using confluence

February 13, 2020

When we talk about documentation, what comes first to my mind is a word document.

Is there a better way to manage  documentation? A couple of other questions which come to mind are: 


Is there a better way to organize the content? 

Is there a better way to link and share the content?

Is there a better way to make the content accessible?

Today I am going to propose a solution. Which is a product called confluence from atlassian.


Some of the features and advantages are.

  1. Multiple users can collaborate.
  2. Searching for content is easier
  3. We can use analytics to see the benefits and uses of the site.

 

 Pricing.

 

Some additional styling and features.

 

Op Manager

September 4, 2019

https://www.manageengine.com/network-monitoring/demo-form.html

I have been working on website/Application development for many years. This tool is really helpful, there are a lot of tools that provide these features. It is up to us to choose which one to use. 

What we made with this tool looks awesome.

 

 

 

We had a TV in our development team space and we project these graphs on the TV. It looks awesome. Anyone who comes to the room can tell how the production servers are doing.

How to Improve life ?

January 4, 2019

As 2018 comes to an end, these are the lessons I learned.

1: Make small changes that are sustainable long term.

2: Buy time back by spending money. e.g Live close to work or work from home.

3: Find all the things you want to improve in life and pick one to work on.

4: Always have a balance in everything you do.

e.g - Health, Wealth, Happiness.

5: Learn to say no to distractions in life.

6: Give back to the community in any way possible.

7: Know that everything will pass and everything is temporary, even life.

8: Make yourself happy.

9: Learn, Learn, Learn - The more you know, you realize the more you don’t know. 

10: Always reflect on life and everything you do. 

(“ Always know the why, of what you are doing ? ”)

11: You need to make space for new things to come in life, which means you may have to remove some of the old habits or things. 

Insurance for earnings.

November 6, 2018

My insurance looks like this. It is a good one.


Time to allocate. -- 10 hours a month. 


1) Keep good contacts and relationships with the people you work with. - 3 hours.

2) Study the latest technologies - 4 hours.

3) Write a blog once a month. - 1 Hour.

4) Be good at programming and logical reasoning. - 2 hours 

I am working with Visual Studio 2012 (Premium edition). I was using spring.dll and it needs some .xml files in the bin folder. When I was publishing to the dev server it was not copying the .xml files. Then I had to make this change so that it will copy all the files.

 

Please see the 2 sections required in the .csproj file.

Section 1
<PropertyGroup>
<CopyAllFilesToSingleFolderForPackageDependsOn>
               CollectAllBinFiles;
               $(CopyAllFilesToSingleFolderForPackageDependsOn);
 </CopyAllFilesToSingleFolderForPackageDependsOn>
</PropertyGroup>
Section 2
<Target Name="CollectAllBinFiles">
          <ItemGroup>
               <_CustomFiles Include="bin\**\*" />

               <FilesForPackagingFromProject  Include="%(_CustomFiles.Identity)">
                    <DestinationRelativePath>bin\%(RecursiveDir)%(Filename)%(Extension)</DestinationRelativePath>
               </FilesForPackagingFromProject>
          </ItemGroup>
     </Target>

Partition By in Sql server.

August 13, 2015

I thought this was cool.

I had to add a sort order for a list of unique id's in a table.
It is like a Group by. Otherwise, I had to loop through each of the records using a while loop.
E.G 
INSERT INTO dbo.CommunityLists (ListCategoryId, SortOrder,CommunityId ,
ListText, 
LastUpdatedBy,LastUpdated )
SELECT
5 ,
ROW_NUMBER() OVER(PARTITION BY CF .CommunityID ORDER BY CF.CommunityID)
 as Sortorder ,
CF .CommunityID,
CF .FeatureText,
1 ,
getdate()
FROM
      dbo .tbl_CommunityFeatures CF;

1) Certainty.

2) Un-certainty.

3) Significance

4) Love and Connection

5) Growth

6) Contribution.

E.g 


1) Certain that I have a job. Certain that this person will be there for me.

2) Un-certainty or variety in life, do something new in life, go somewhere you have never been.

3) Significance, I feel significant that I am good at what I do. People appreciate my good work.

4) Love and connection. People love me for who I am, I have friends.

5) I grow as a human being. I learn something new every day and I become a better person.

6) Give back what you know. Share your knowledge.


These are the 6 human needs, but each of us weighs them differently, for some the most important need can be “significance” for some it is
“love and connection” for some it is a “certainty”. It also changes as we grow in life. In the end, the most important need should become “growth and contribution” because that change who you are. It is not what you have, it is who you become that matters.

Parallel programming in .net.

 Collection<DataSet> comms = new Collection<DataSet>();
                     var sp1 = new Action(() =>
                           {comms = MarketingWebsitesDataManager.GetMarketingCommunities(BuilderCode, 1);
                           }
                           );
List<IAttachment> Attachmentsnew = new List<IAttachment>();
                     var sp2 = new Action(() =>
                           {
                                  Attachmentsnew = MarketingWebsitesDataManager.GetMarketingProductAttachmentsReader(BuilderCode, 1);
                           }
                     );

System.Threading.Tasks.Parallel.Invoke(sp1, sp2);

Both of these methods will be called at the same time. This will improve performance. 

Can be used if the param we are passing to method 2 is not getting changed in method 1.

or if the returned data from method 1 is not used in method 2 then we can use this.

This is part of .net 4.0


Concepts to remember. 


1) Sql is faster in getting the data.

2) .net is faster in processing the data.

3) When you select the data from the db. No of columns and rows matter because the size of the data getting transferred or read from the disk varies if the data is big.

4)It is better to convert the data from the reader to Bo than putting the value in a dataset and then converting it into Bo.


I was getting to a stage in life where it was hard for me to manage passwords and I started clicking “forgot password” which sends an email each time I had to log into an account.



A friend suggested me to use Pass keep. Woow. I have to say it is cool.

Makes my life a lot better. No more forgot password.

 

It took me some time to get this setup and enter all the password but once it is set up it is cool. It works like a charm. I have this password file in google drive and it syncs to the cloud.

 

There is a key file that is on my local computer to keep the password file safe.

I am happy. I like the Autotype feature of Kee pass. It is a lifesaver.

There is also a browser plug-in called "Kee Fox". Which enabled me to click a link to go to the site and log in.

 

If you are ready to spend some extra money on this use 1password my friend is using. He is happy with this. I am using Keypass. It is free but it is not that clean. I would recommend you buying 1password. I already entered all my data to kee pass so it will take a bit of effort for me to change to 1password.