Tuesday, May 7, 2024

IoC - DI


Inversion of Control (IoC) design is achieved using service locator, factory pattern or Dependency Injection (DI).  DI is the recent framework to build in the modern application framework.

As depicted in the diagram, DI has 4 core elements

  1. Client - dependent role
  2. Server - functionality provider 
  3. Injector - creates server instances to client
  4. Interface - communication contract between client and server

DI decouples objects from their dependencies by receiving from an external source - not with direct implementations.

Multiple ways of dependency injection implementations are available in github https://github.com/gsenthilvel/InversionOfControl 

Top-3 advantages

  1. Loosely coupled
  2. Unit testability
  3. Scalability

Top-3 disadvantages

  1. Complexity to develop
  2. Reduced transparency
  3. Overhead to troubleshoot/debug


Sunday, May 5, 2024

TLS-1.2 Architecture


The architecture of TLS (Transport Layer Security) 1.2, is defined in RFC 5246. As defined in the given diagram, TLS 1.2 has 4 phases of execution.

1. Record TCP check

It serves as the underlying transport mechanism for TLS, which is responsible for encapsulation of higher-level protocols

2. Certificate Exchange

In mutual authentication scenarios, client and server exchanges and verifies certificates to generates shared keys.

3. Key Exchange

The communication is based on the chosen cipher suite. The client and server then generate a pre-master secret and exchange it securely.

4. Final Data Transmission

Both the client and server connect with encrypted derived keys, to confirm that the handshake. It enables to continue the client request and server response in secured way.

Source code is demonstrated using C# in github repo at gsenthilvel/tls-demo (github.com)

Saturday, May 4, 2024

SSL TLS End of Life


In the world of secured HTTP protocol (HTTPS), Secure Socket Layer (SSL) and Transport Layer Security (TLS) plays a vital role in the network industry.

SSL is a cryptographic protocol, which extends HTTP to authenticate internet connections and enable encryption and SSL decryption for data communication over a network. 

SSL 1.0

  • Release: SSL 1.0 was never publicly released due to serious security flaws.

SSL 2.0

  • Release in 1995
  • End of Life: The Internet Engineering Task Force (IETF) officially deprecated in 2011 through RFC 6176.

SSL 3.0

  • Release in 1996
  • End of Life: June 2015 through RFC 7568.


TLS is a direct evolution of SSL and introduced to address security vulnerabilities in the earlier protocol.

TLS 1.0

  • Release in January 1999
  • End of Life: IETF recommended deprecating TLS 1.0 in 2018. Major browsers like Google Chrome, Mozilla Firefox, Microsoft Edge, and Safari officially ended support in 2020.

TLS 1.1

  • Release in April 2006
  • End of Life: IETF in 2018, with major browsers in 2020.

TLS 1.2

  • Release in August 2008
  • End of Life: Now, it is widely supported; but recommended to TLS 1.3 for which adoption increases.

TLS 1.3

  • Release in August 2018
  • End of Life: Not applicable as it is current standards


Friday, May 3, 2024

Ubuntu 24.04 LTS


Yday Canonical announced the availability of Landscape’s first LTS release. 

Today, it was required to upgrade/replace the end-of-life version Ubuntu 16.04.2 LTS at my work.  As sync, it's a great opportunity to explore the latest and greatest version Ubuntu 24.04 LTS

Landscape 24.04 LTS features a new versioned API, a new web portal with accessibility and performance in mind, and intuitive controls for software distribution. It comprises Landscape Server and Landscape Client. 

With a modernized backend and web portal in place, engineering teams can work efficiently, focusing on patches and new features.

Fact sheet is available at https://pages.ubuntu.com/rs/066-EOV-335/images/Landscape%20DS%20v3%205.4.2024.pdf?version=0&_gl=1*ux7hxq*_gcl_au*NDc5NjcxODM3LjE3MTQ3OTAwMDk.&_ga=2.140511158.548493742.1714790009-980279757.1714790009

This new version is not just faster, but also a fortress system.  Welcome to Noble Numbat!

Sunday, April 28, 2024

Gov security in Copilot


Last month US House of Representatives has set a strict ban on congressional staffers' use of Microsoft's, opens new tab Copilot generative AI assistant, Axios

"We recognize that government users have higher security requirements for data. That’s why we announced a roadmap of Microsoft AI tools, like Copilot, that meet federal government security and compliance requirements that we intend to deliver later this year,” a Microsoft spokesperson told Reuters.

The U.S. House's chief administrative office did not immediately respond to a Reuters request for comment.

Ref: https://www.reuters.com/technology/us-congress-bans-staff-use-microsofts-ai-copilot-axios-reports-2024-03-29/


Friday, April 19, 2024

CoPilot short cuts



This week, started using the enterprise version of Microsoft CoPilot AI companion framework.

Foremost important usage factors on short cuts
  • Accept suggestions: Tab
  • Reject suggestion: Esc
  • Open Copilot suggestions panel: Ctrl + Enter (This panel shows up to 10 suggestions)
  • Next suggestion: Alt/Option + ]
  • Previous suggestion: Alt/Option + [

Saturday, April 6, 2024

NYC earthquake


Yday, the earthquake had a preliminary magnitude of 4.8, which lasted several seconds started at 10:23 a.m. 

The earthquake’s epicenter was 3.7 miles (25 miles from my place) southeast of Califon, New Jersey, according to the USGS (United States Geological Survey).

More than 120,000 responses poured into the USGS’s “Did You Feel It?” tool. Many of those were from reports in densely populated New York City, Boston and Philadelphia.

USGS figures indicate that the quake might have been felt by more than 42 million people.