Tech Kaizen

passion + usefulness = success .. change is the only constant in life

Search this Blog:

Showing posts with label .NET DEVELOPMENT. Show all posts
Showing posts with label .NET DEVELOPMENT. Show all posts

WinRT(Windows Runtime)

WinRT is the new Windows Runtime (Windows 8 or above required) that expose Operating System functionality in an object oriented fashion. WinRT is Microsoft's 2011 programming model that forms the backbone of the new Metro-style apps (also known as Immersive) in their new Windows 8 operating system. WinRT supports development in C++ (usually with Component Extensions, C++/CX) and the managed languages C# and VB.NET, as well as JavaScript. Programs can be written using Windows Runtime that will run on both the Intel and ARM editions of Windows 8 without modification. WinRT is essentially a COM-based API, although relying on an enhanced COM. Because of its COM-like basis, WinRT allows relatively easy interfacing from multiple languages, just as COM does, but it's essentially an unmanaged, native API. It's Microsoft's implementation of the XAML-based UI system. Unlike WPF which was exposed only to the .NET world and Silverlight which was only exposed to the browser, this new implementation is available to C++ developers, HTML/Javascript developers and also .NET developers.


WinRT is a new set of APIs that have the following properties:
  • It implements the new Metro look.
  • Has a simple UI programming model for Windows developers (You do not need to learn Win32, what an HDC, WndProc or LPARAM is).
  • It exposes the WPF/Silverlight XAML UI model to developers.
  • The APIs are all designed to be asynchronous.
  • It is a sandboxed API, designed for creating self-contained, AppStore-ready applications. You wont get everything you want to create for example Backup Software or Hard Disk Partitioning software.
  • The API definitions is exposed in the ECMA 335 metadata format (the same one that .NET uses, you can find those as ".winmd" files).
WinRT wraps both the new UI system as well as old Win32 APIs and it happens that this implementation is based on top of COM.

ref:

Asynchronous Programming in C++ Using PPL - http://msdn.microsoft.com/en-us/magazine/hh781007.aspx

Windows Runtime - http://en.wikipedia.org/wiki/Windows_Runtime

WinRT Overview - http://winrt.codeplex.com/

Demystifying WinRT - http://tirania.org/blog/archive/2011/Sep-15.html

Parallel Patterns Library (PPL) - http://msdn.microsoft.com/en-us/library/dd492418.aspx

Posted by Krishna Kishore Koney
Labels: .NET DEVELOPMENT, VC++ PROGRAMMING, WINDOWS OPERATING SYSTEM

CLR Hosting in Native Applications

Developing a large application in native C++ and want to extend this app so they can mold it to their needs. Allowing to write the extensions in managed code inside the Microsoft® .NET Framework would make their development experiences much smoother than if they had to work with native code.

For applications that were written by using the .NET Framework, hosting the common language runtime is completely transparent. If you compile your managed code as an .exe assembly, the runtime is started automatically by mscoree.dll when the .exe is run. However, unmanaged applications can also benefit from hosting the common language runtime. Whether it is invoked automatically, as with managed .exe assemblies, or loaded by using the unmanaged hosting API, a .NET Framework application requires a piece of code called a runtime host. The runtime host loads the runtime into a process, creates application domains within the process, and loads and executes user code within those application domains.

Selecting CLR Version From Unmanaged Host:

Question: What is the correct way determine what framework version is installed on a computer to choose the correct CLR hosting approach(I would like my code to work in CLR 2.0+ environment) ?

Answer:
  1. LoadLibrary mscoree
  2. GetProcAddress for CLRCreateInstance. If you get NULL, fall back to legacy path (CorBindToRuntimeEx)
  3. Call CLRCreateInstance to get ICLRMetaHost. If you get E_NOTIMPL, fall back to legacy path (same as above)
  4. Otherwise, bank on the ICLRMetaHost you just got

ref:

CLR Hosting API - http://msdn.microsoft.com/en-us/magazine/cc163567.aspx

Hosting the Common Language Runtime - http://msdn.microsoft.com/en-us/library/9x0wh2z3(v=vs.90).aspx

CLR 4.0: In Process Side-by-Side CLR Hosting - http://geekswithblogs.net/sdorman/archive/2008/11/10/clr-4.0-in-process-side-by-side-clr-hosting.aspx

Hosting CLR in native application - http://www.lenholgate.com/blog/2010/07/clr-hosting---a-flexible-managed-plugin-system-part-1.html

Selecting CLR Version From Unmanaged Host - http://bradwilson.typepad.com/blog/2010/04/selecting-clr-version-from-unmanaged-host.html

CLR memory management - http://community.bartdesmet.net/blogs/bart/archive/2005/07/24/2984.aspx

Scheduling & Threading - http://community.bartdesmet.net/blogs/bart/archive/2005/07/26/3094.aspx

App Domain Shallow Copy - http://community.bartdesmet.net/blogs/bart/archive/2006/07/29/4146.aspx

Posted by Krishna Kishore Koney
Labels: .NET DEVELOPMENT

Microsoft Sync Framework

Microsoft Sync Framework is a comprehensive synchronization platform that enables collaboration and offline access for applications, services, and devices with support for any data type, any data store, any transfer protocol, and any network topology. Developers can build synchronization ecosystems that integrate any application, any data from any store using any protocol over any network. Sync Framework features technologies and tools that enable roaming, sharing, and taking data offline.

A number of providers are included by Sync Framework that support many common data sources. Although they are not required, to minimize development it is recommended that developers use these providers wherever possible. The following are the providers included:
  • Database synchronization providers: Synchronization for ADO.NET-enabled data sources
  • File synchronization provider: Synchronization for files and folders
  • Web synchronization components: Synchronization for FeedSync feeds such as RSS and ATOM feeds
Database Synchronization Providers:
The Sync Framework database synchronization providers were built to allow developers who were familiar with the concepts of ADO.NET to apply that knowledge to data synchronization through a very similar set of APIs to that of ADO.NET. The database synchronization providers offer the flexibility of a programming model like offline datasets and a richer synchronization feature set like that found in Merge replication. These providers also support synchronization over services, such as Windows Communication Foundation (WCF). Specifically, Sync Framework targets the following scenarios:

Offline Database Synchronization:
With Sync Framework you are able to build a solution where multiple remote clients connect and synchronize to a central ADO.NET database in a Hub-and-Spoke configuration. This enables occasionally connected devices to periodically connect and synchronize changes with a central ADO.NET database server. This topology is a common solution for remote workers such as sales reps or field service workers.

Collaboration Between Databases:
Sync Framework also includes Peer-to-Peer capabilities. Through a custom Peer provider, collaboration between two or more SQL Server databases can occur. Unlike a Hub-and-Spoke architecture, this provider enables a SQL Server database to communicate and exchange information with any other SQL Server database. This type of scenario is useful in group scenarios where users (such as auditors) need to update information and then collaborate those changes with other group members.

Synchronizing Files:
Sync Framework has a built-in algorithm for detecting changes that are made to the files and folders in the synchronization scope :

A change is reported when any of the following properties has changed:

  • The last modification time on a file.

  • If hashing is enabled, the value of the hash that was computed for the file.

  • The file size.

  • The file or folder name. This check is case-sensitive.

  • Any of the file attributes that are handled by the provider.

A file move or rename is reported when a file is found that has the same creation time, size, and hash value (when hashing is being used) as a previously known file, but the file has a different name or path. If more than one file is found that meets these criteria, Sync Framework acts as if the original file was deleted and new files were created.

Sync Framework treats a folder move or rename as if the old folder was deleted and the new folder was created. The files in the folder are reported as moves. Therefore, in this case, file data does not usually have to be re-sent.

ref:

Microsoft Sync Framework Overview - http://msdn.microsoft.com/en-us/sync/bb736753

Microsoft Sync Framework Beginner's Guide - http://msdn.microsoft.com/en-us/data/ff629461

Sync Framework Sample code(part of Microsoft SDK) - http://msdn.microsoft.com/en-us/library/bb902852.aspx

Sync Framwork sample code in Microsoft Code Gallery - http://code.msdn.microsoft.com/site/search?f%5B0%5D.Type=SearchText&f%5B0%5D.Value=Microsoft%20Sync%20Framework&f%5B1%5D.Type=Affiliation&f%5B1%5D.Value=Official&f%5B1%5D.Text=Microsoft

Sync Framework Managed API - http://msdn.microsoft.com/en-us/library/cc306319.aspx

Sync Framework Unmanaged API - http://msdn.microsoft.com/en-us/library/bb902965.aspx

Introduction to Sync Framework Database Synchronization - http://msdn.microsoft.com/en-us/data/bb887608

How to Choose a Data Synchronization Technology: Offline & Collaboration - http://msdn.microsoft.com/en-us/data/cc470041

Microsoft Sync Team Tweets - http://twitter.com/syncfx

Microsoft Sync Team Blog - http://blogs.msdn.com/b/sync/

Getting Started with Microsoft Synchronization Services for ADO.NET(Developer.com) -
http://www.developer.com/net/article.php/3716891/Getting-Started-with-Microsoft-Synchronization-Services-for-ADONET.htm

Take Data Offline Using Microsoft Synchronization Services for ADO.NET(CodeProject) - http://www.codeproject.com/KB/smart/takedataoffline.aspx

Detecting File Changes using Sync Framework - http://msdn.microsoft.com/en-us/library/bb902836.aspx

Synchronization sample code(.Net) - http://www.syncguru.com/projects/SyncServicesDemoBuilder.aspx

How to: Synchronize Files by Using Unmanaged Code(C++) - http://msdn.microsoft.com/en-us/library/cc305401.aspx

Sync Framework v4 is now Open Source, and ready to Connect any Device to SQL Server and SQL Azure - http://robtiffany.com/sync-framework/sync-framework-v4-is-now-open-source-and-ready-to-connect-any-device-to-sql-server-and-sql-azure

Making Microsoft Sync Framework work with PostgreSql - http://www.infoq.com/articles/Microsoft-Sync-Framework-PostgreSql;jsessionid=7C322D813E07FCBDDB027658538B2715

Microsoft Sync Framework 2.0 Software Development Kit (SDK) - http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=14159

Microsoft Sync Framework 2.1 Software Development Kit (SDK) - http://www.microsoft.com/download/en/details.aspx?id=23217

Posted by Krishna Kishore Koney
Labels: .NET DEVELOPMENT

C# .Net Books


CLR via C# by Jeffrey Richter(3rd edition adds a lot of useful info on threading and the new parallel extensions)

Professional .NET 2.0 Framework by Joe Duffy is very similar to Richters book, so I like it for the same reasons

C# in Depth by Jon Skeet is an excellent treatment of all the stuff that the two others do not cover

Programming C# By Jesse Liberty

C# Cookbook By Jay Hilyard and Stephen Teilhet

Applied Microsoft .NET Framework Programming - Jeffrey Richter

Essential C# 4.0 by Mark Michaelis

C# 4.0 in a Nutshell. Excellent reference

Effective C# - Best Practices

More Effective C# - Best Practices

The C# Programming Language by Anders Hejlsberg

Programming .Net components by Juval Lowy

Pro ASP.NET 2.0 in C# 2005

The C# language specification (get the book for the annotations)

Posted by Krishna Kishore Koney
Labels: .NET DEVELOPMENT

Fast User Switching(FUS) - Ensure Only One Version of Your Application Is Running

Fast User Switching enables multiple-user sessions to run at the same time.

There are several parts of the operating system that interact with the Fast User Switching feature:

1.Winlogon: This is the logon subsystem of Windows XP. Winlogon includes Winlogon.exe, Msgina.dll, and other components that provide user identification and authentication services to the operating system.

2. Windows user subsystem: This contains support for the desktop programming interfaces that support the creation of multiple desktops and the setting of the currently visible desktop.

3. Security subsystem: This contains the security functionality of Windows, which includes support for access control lists (ACLs) and user security tokens.

4. Windows shell: This is the user interface of Windows. It contains the Start menu, the taskbar, the file and folder management user interface, and Control Panel.

To log on to a computer that has the Fast User Switching feature enabled:

1. When the computer first restarts, it starts at the Welcome screen. At this screen, the user enters the appropriate identification information and, if necessary, enters a password. The Welcome screen is on a desktop known as the Winlogon desktop, which is sometimes referred to as the secure desktop because other programs cannot be run on this desktop.

2. After the user has entered the appropriate identification information, the credentials of the user are authenticated by Winlogon.

3. The token and profile information of the user are returned to Winlogon by the Msgina.dll file.

4. Winlogon checks the list of users that are currently logged on to the computer. If the user is already on the list, Winlogon switches to the existing desktop of the user, and the logon process is complete.

5. If the user is not already logged on to the computer, Winlogon creates a new thread for this user and transfers the information to that thread.

6. The thread of the user creates a new desktop for this user, sets up the user environment, and then starts the user shell on the newly created desktop. The thread and desktop information are added to the list of users that are currently logged on to the computer. Winlogon switches to the new desktop of the user, and the logon process is complete.

To log off from a computer or switch users to a computer that has the Fast User Switching feature enabled:

1. The threads of the user wait for the log off from event that is associated with the thread that is going to be signaled (which occurs when the user logs off from the computer). When the user logs off from the computer, the thread of the user is finished.

2. At any point prior to logging off from the computer, the user can initiate an action (for example, Switch User) that can return the computer to the Welcome screen without signaling to the thread of the user that a log off from event has occurred. When this behavior occurs, the user desktop continues to run and all programs that have been started on that desktop continue to run. The user is unable to observe any of these programs because the desktop is hidden. The desktop is reported to be "switched out", but it is still active.

3. When the computer displays the Welcome screen, any user can be identified and authenticated. If a user already has an active desktop that is switched out, that desktop becomes the active desktop. The state of the program of the user is maintained because none of the programs needed to be shut down when the user had been switched out. If the user does not have a switched-out desktop, a new desktop is created for that user.

The following services use the Fast User Switching feature:

1. Terminal Services: This provides a multiple-session environment that enables multiple users to be logged on to the computer at the same time. If this service is not started, only one user can log on to the computer at a time.

2. Fast User Switching Compatibility Services: Some programs had been designed only to run in a single-user environment. This service provides assistance to many of those programs to enable them to run in a multiple-user environment

Sample Code in .Net(C#) for Ensuring One Version of Your Application Is Running

Using Mutex is the standard way to solve this problem in .NET

I'd be concerned that MyApplicationMutex would go out of scope and get garbage collected. To prevent this, you should store the Mutex in a static field. You don't need to WaitOne on the mutex. The usual way of doing this is to make use of the createdNew output parameter of the Mutex constructor.

Sample Code in C#

static class Program

{

private static Mutex m_Mutex;

static void Main()

{

Application.EnableVisualStyles();

Application.SetCompatibleTextRenderingDefault(false);

bool createdNew;

m_Mutex = new Mutex(true, "Global\\MyApplicationMutex", out createdNew);

if (createdNew)

Application.Run(new Form1());

else

MessageBox.Show("The application is already running.", Application.ProductName,

MessageBoxButtons.OK, MessageBoxIcon.Exclamation);

gc.KeepAlive(m_Mutex);

}

}

ref:


Microsoft Windows XP Fast User Switching: Design Guide for Building Business Applications - http://msdn.microsoft.com/en-us/library/ms997634.aspx

How to write an application that supports fast user switching in Windows XP -
http://support.microsoft.com/kb/310153

Launch your application in Vista under the local system account without the UAC popup -
http://www.codeproject.com/KB/vista-security/VistaSessions.aspx?display=PrintAll&fid=406624&df=90&mpp=25&noise=3&sort=Position&view=Quick&fr=51&select=2022539

Displaying a UI That Works with Fast User Switching -
http://msdn.microsoft.com/en-us/library/ms802203.aspx

How To Use the Fast User Switching Feature in Windows XP -
http://support.microsoft.com/kb/279765

Why isn't Fast User Switching enabled on domains -
http://blogs.msdn.com/oldnewthing/archive/2003/11/21/55799.aspx

Microsoft Windows XP Fast User Switching: Design Guide for Building Business Applications -
http://msdn.microsoft.com/en-us/library/ms997634.aspx

User Accounts with Fast User Switching and Remote Desktop -
http://msdn.microsoft.com/en-us/library/bb776783.aspx

Displaying a UI That Works with Fast User Switching -
http://msdn.microsoft.com/en-us/library/ms802203.aspx

Get information about the currently logged-on user - Part 1 -
http://www.codeproject.com/KB/IP/LoggedOnUSer.aspx

Get information about the currently logged-on users - Part 2 -
http://www.codeproject.com/KB/IP/LoggedOnUsersPart2.aspx

Posted by Krishna Kishore Koney
Labels: .NET DEVELOPMENT

Memory Leaks in .Net Managed Code

What is a Memory Leak:


A Memory Leak occurs when memory is allocated in a program and is never returned to the operating system, even though the program does not use the memory any longer. The following are the four basic types of memory leaks:

  • In a manually managed memory environment: Memory is dynamically allocated and referenced by a pointer. The pointer is erased before the memory is freed. After the pointer is erased, the memory can no longer be accessed and therefore cannot be freed.
  • In a dynamically managed memory environment: Memory is disposed of but never collected, because a reference to the object is still active. Because a reference to the object is still active, the garbage collector never collects that memory. This can occur with a reference that is set by the system or the program.
  • In a dynamically managed memory environment: The garbage collector can collect and free the memory but never returns it to the operating system. This occurs when the garbage collector cannot move the objects that are still in use to one portion of the memory and free the rest.
  • In any memory environment: Poor memory management can result when many large objects are declared and never permitted to leave scope. As a result, memory is used and never freed.

Symptoms of memory leak:


When the amount of memory that a program is using continues to increase during the execution, this is a symptom of a memory leak. (You can watch this count of memory through a performance monitor.) The amount of memory that the program uses can eventually cause the program to run out of resources and to crash.


Common Causes of Memory Leaks in Managed Applications:

  • GC Class
  • Memory Performance Counters
  • Automatic Memory Management
  • Interoperating with Unmanaged Code
  • Holding references to managed objects
  • Failing to release unmanaged resources
  • Failing to dispose Drawing objects


ref:

How to identify memory leaks in the common language runtime -

http://support.microsoft.com/kb/318263


Identify And Prevent Memory Leaks In Managed Code -

http://msdn.microsoft.com/en-us/magazine/cc163491.aspx


Three Common Causes of Memory Leaks in Managed Applications -

http://blogs.msdn.com/davidklinems/archive/2005/11/16/493580.aspx


CLR Profiler for the .NET Framework 2.0 download -

http://www.microsoft.com/downloads/details.aspx?FamilyID=a362781c-3870-43be-8926-862b40aa0cd0&displaylang=en


.Net Memory Profiler - http://memprofiler.com/


Redgate ANTS Performace Profiler - http://www.red-gate.com/products/ants_performance_profiler/index.htm


How To: Use CLR Profiler(allows developers to see the allocation profile of their managed applications) -

http://msdn.microsoft.com/en-us/library/ms979205.aspx


Tracing memory leaks in .NET applications with ANTS Profiler -

http://www.simple-talk.com/dotnet/.net-tools/tracing-memory-leaks-in-.net-applications-with-ants-profiler/


Tracing memory leaks in .NET applications with ANTS Profiler -

http://www.c-sharpcorner.com/Reviews/DisplayReview.aspx?ReviewID=41


Memory Leak Detection in .NET -

http://www.codeproject.com/KB/dotnet/Memory_Leak_Detection.aspx


Detecting .NET application memory leak - http://www.codeproject.com/KB/dotnet/BestPractices5.aspx


.NET Memory Leak: To dispose or not to dispose, that’s the 1 GB question –

http://blogs.msdn.com/tess/archive/2009/02/03/net-memory-leak-to-dispose-or-not-to-dispose-that-s-the-1-gb-question.aspx


Detecting .Net Memory Leaks -

http://www.dotnetfunda.com/articles/article625-best-practices-no-5--detecting-net-application-memory-leaks.aspx


Identifying Memory Leak With Process Explorer And Windbg –

http://blogs.msdn.com/alikl/archive/2009/02/15/identifying-memory-leak-with-process-explorer-and-windbg.aspx


Finding Memory Leaks In Silverlight With WinDbg -

http://davybrion.com/blog/2009/08/finding-memory-leaks-in-silverlight-with-windbg/


Troubleshooting ASP.NET using WinDbg and the SOS extension –

http://support.microsoft.com/kb/892277


Debugging Native Memory Leaks via LeakDiag -

(does its magic by using Detours technology to intercept memory allocators calls) -

ftp://ftp.microsoft.com/PSS/Tools/Developer%20Support%20Tools/LeakDiag/


The Debug Diagnostics 1.1 tool (is designed to help troubleshoot performance issues in any Win32 user-mode process) –

http://support.microsoft.com/kb/931370

Posted by Krishna Kishore Koney
Labels: .NET DEVELOPMENT
Older Posts Home
Subscribe to: Posts (Atom)

The Verge - YOUTUBE

Loading...

Hard Fork Podcast

Loading...

Dwarkesh Patel Podcast

Loading...

SemiAnalysis Podcast (Dylan Patel)

Loading...

Andrej Karpathy Youtube Channel

Loading...

Microsoft Research

Loading...

Hugging Face - Blog

Loading...

AI at Wharton

Loading...

Stanford Online

Loading...

MIT OpenCourseWare - YOUTUBE

Loading...

NPTEL IISC BANGALORE - YOUTUBE

Loading...

HackerRank - YOUTUBE

Loading...

FREE CODE CAMP - YOUTUBE

Loading...

BYTE BYTE GO - YOUTBUE

Loading...

GAURAV SEN INTERVIEWS - YOUTUBE

Loading...

Tanay Pratap - YOUTUBE

Loading...

Ashish Pratap Singh - YOUTUBE

Loading...

Kantan Coding - YOUTUBE

Loading...

SUCCESS IN TECH INTERVIEWS - YOUTUBE

Loading...

IGotAnOffer: Engineering - YOUTUBE

Loading...

DEEPLEARNING AI - YOUTUBE

Loading...

MIT News - Artificial intelligence

Loading...
My photo
Krishna Kishore Koney
View my complete profile
" It is not the strongest of the species that survives nor the most intelligent that survives, It is the one that is the most adaptable to change "

View krishna kishore koney's profile on LinkedIn


Failure is not falling down, it is not getting up again. Success is the ability to go from failure to failure without losing your enthusiasm.

Where there's a Will, there's a Way. Keep on doing what fear you, that is the quickest and surest way to to conquer it.

Vision is the art of seeing what is invisible to others. For success, attitude is equally as important as ability.

Monthly Blog Archives

  • ▼  2026 (7)
    • ▼  July (2)
      • REST vs GraphQL
      • Nautobot: Opensource Network Source of Truth (NSoT...
    • ►  May (1)
    • ►  April (1)
    • ►  March (3)
  • ►  2025 (4)
    • ►  October (1)
    • ►  August (1)
    • ►  May (1)
    • ►  April (1)
  • ►  2024 (18)
    • ►  December (1)
    • ►  October (2)
    • ►  September (5)
    • ►  August (10)
  • ►  2022 (2)
    • ►  December (2)
  • ►  2021 (2)
    • ►  April (2)
  • ►  2020 (18)
    • ►  November (1)
    • ►  September (8)
    • ►  August (1)
    • ►  June (8)
  • ►  2019 (18)
    • ►  December (1)
    • ►  November (2)
    • ►  September (3)
    • ►  May (8)
    • ►  February (1)
    • ►  January (3)
  • ►  2018 (3)
    • ►  November (1)
    • ►  October (1)
    • ►  January (1)
  • ►  2017 (2)
    • ►  November (1)
    • ►  March (1)
  • ►  2016 (5)
    • ►  December (1)
    • ►  April (3)
    • ►  February (1)
  • ►  2015 (15)
    • ►  December (1)
    • ►  October (1)
    • ►  August (2)
    • ►  July (4)
    • ►  June (2)
    • ►  May (3)
    • ►  January (2)
  • ►  2014 (13)
    • ►  December (1)
    • ►  November (2)
    • ►  October (4)
    • ►  August (5)
    • ►  January (1)
  • ►  2013 (5)
    • ►  September (2)
    • ►  May (1)
    • ►  February (1)
    • ►  January (1)
  • ►  2012 (19)
    • ►  November (1)
    • ►  October (2)
    • ►  September (1)
    • ►  July (1)
    • ►  June (6)
    • ►  May (1)
    • ►  April (2)
    • ►  February (3)
    • ►  January (2)
  • ►  2011 (20)
    • ►  December (5)
    • ►  August (2)
    • ►  June (6)
    • ►  May (4)
    • ►  April (2)
    • ►  January (1)
  • ►  2010 (41)
    • ►  December (2)
    • ►  November (1)
    • ►  September (5)
    • ►  August (2)
    • ►  July (1)
    • ►  June (1)
    • ►  May (8)
    • ►  April (2)
    • ►  March (3)
    • ►  February (5)
    • ►  January (11)
  • ►  2009 (113)
    • ►  December (2)
    • ►  November (5)
    • ►  October (11)
    • ►  September (1)
    • ►  August (14)
    • ►  July (5)
    • ►  June (10)
    • ►  May (4)
    • ►  April (7)
    • ►  March (11)
    • ►  February (15)
    • ►  January (28)
  • ►  2008 (61)
    • ►  December (7)
    • ►  September (6)
    • ►  August (1)
    • ►  July (17)
    • ►  June (6)
    • ►  May (24)
  • ►  2006 (7)
    • ►  October (7)

Blog Archives Categories

  • .NET DEVELOPMENT (38)
  • 5G (5)
  • AI (Artificial Intelligence) (16)
  • AI/ML (10)
  • ANDROID DEVELOPMENT (7)
  • BIG DATA ANALYTICS (6)
  • C PROGRAMMING (7)
  • C++ PROGRAMMING (24)
  • CAREER MANAGEMENT (6)
  • CHROME DEVELOPMENT (2)
  • CLOUD COMPUTING (47)
  • CODE REVIEWS (3)
  • CYBERSECURITY (12)
  • DATA SCIENCE (4)
  • DATABASE (14)
  • DESIGN PATTERNS (9)
  • DEVICE DRIVERS (5)
  • DIY (3)
  • DOMAIN KNOWLEDGE (14)
  • EDGE COMPUTING (4)
  • EMBEDDED SYSTEMS (9)
  • ENTERPRISE ARCHITECTURE (10)
  • IMAGE PROCESSING (3)
  • INTERNET OF THINGS (2)
  • J2EE PROGRAMMING (10)
  • KERNEL DEVELOPMENT (6)
  • KUBERNETES (20)
  • LATEST TECHNOLOGY (25)
  • LINUX (9)
  • MAC OPERATING SYSTEM (2)
  • MOBILE APPLICATION DEVELOPMENT (14)
  • PORTING (4)
  • PYTHON PROGRAMMING (6)
  • RESEARCH AND DEVELOPMENT (1)
  • SCRIPTING LANGUAGES (8)
  • SERVICE ORIENTED ARCHITECTURE (SOA) (10)
  • SOFTWARE DESIGN (13)
  • SOFTWARE QUALITY (5)
  • SOFTWARE SECURITY (24)
  • SYSTEM and NETWORK ADMINISTRATION (4)
  • SYSTEM PROGRAMMING (4)
  • TECHNICAL MISCELLANEOUS (32)
  • TECHNOLOGY INTEGRATION (5)
  • TEST AUTOMATION (5)
  • UNIX OPERATING SYSTEM (4)
  • VC++ PROGRAMMING (44)
  • VIRTUALIZATION (8)
  • WEB PROGRAMMING (8)
  • WINDOWS OPERATING SYSTEM (13)
  • WIRELESS DEVELOPMENT (5)
  • XML (3)

Popular Posts

  • Windows FileSystem Mini Filter Driver Development
  • Windows Shutdown Messages/Events : WM_QUERYENDSESSION, WM_ENDSESSION
  • Nautobot: Opensource Network Source of Truth (NSoT) and Network Automation Platform
  • Windows User-Mode Driver Framework (UMDF) ..

My Other Blogs/Channels

  • Career Management: Invest in Yourself
  • A la carte: Color your Career
  • Attitude is everything(Telugu language)
  • "Invest in Yourself" Youtube Channel (Telugu language)
WINNING vs LOSING

Hanging on, persevering, WINNING
Letting go, giving up easily, LOSING

Accepting responsibility for your actions, WINNING
Always having an excuse for your actions, LOSING

Taking the initiative, WINNING
Waiting to be told what to do, LOSING

Knowing what you want and setting goals to achieve it, WINNING
Wishing for things, but taking no action, LOSING

Seeing the big picture, and setting your goals accordingly, WINNING
Seeing only where you are today, LOSING

Being determined, unwilling to give up WINNING
Gives up easily, LOSING

Having focus, staying on track, WINNING
Allowing minor distractions to side track them, LOSING

Having a positive attitude, WINNING
having a "poor me" attitude, LOSING

Adopt a WINNING attitude!

Total Pageviews

Who am I

My photo
Krishna Kishore Koney

Blogging is about ideas, self-discovery, and growth. This is a small effort to grow outside my comfort zone.

Most important , A Special Thanks to my parents(Sri Ramachandra Rao & Srimathi Nagamani), my wife(Roja), my lovely daughter (Hansini) and son (Harshil) for their inspiration and continuous support in developing this Blog.

... "Things will never be the same again. An old dream is dead and a new one is being born, as a flower that pushes through the solid earth. A new vision is coming into being and a greater consciousness is being unfolded" ... from Jiddu Krishnamurti's Teachings.

Now on disclaimer :
1. Please note that my blog posts reflect my perception of the subject matter and do not reflect the perception of my Employer.

2. Most of the times the content of the blog post is aggregated from Internet articles and other blogs which inspired me. Due respect is given by mentioning the referenced URLs below each post.

Have a great time

My LinkedIn Profile
View my complete profile

Aryaka Insights

Loading...

Reid Hoffman - YOUTUBE

Loading...

Martin Fowler's Bliki - BLOG

Loading...

The Pragmatic Engineer

Loading...

AI Workshop

Loading...

CYBER SECURITY - YOUTUBE

Loading...

CYBER SECURITY FUNDAMENTALS PROF MESSER - YOUTUBE

Loading...