Tech Kaizen

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

Search this Blog:

Google Online Books

An extensive list of top programming books available for preview on Google Books. Google Books provides scans of thousands of textbooks. The scans are not the best, most books have visible scan defects in them.

Even though the scans are not the best, there are some features that just work well. Just like Google Maps, where you can send a link to a map (with a set size, address, etc), with Google Books you can send a link to a specific page in a certain book with specific words highlighted. Google also has handy links such as the table of contents, popular passages, and where to buy the book (perhaps in a better quality PDF format).

All the books listed here have a 'limited preview', meaning that some pages are not available for viewing but for the most part you can browse through most the the book. Google Books does indicate the pages that are not available.


C/C++

Practical C++ Programming

C++ The Core Language

The Concurrent C Programming Language

C++ Primer Plus


.Net/C#

The C# Programming Language

The Visual Basic .NET Programming Language

Pro C# 2005 and the .NET 2.0 Platform

Learning Visual Basic .NET

VB.NET Language in a Nutshell


Java

The Java Language Specification

Effective Java Programming language

Java: The complete Reference

Java In A Nutshell

Head First Java


Python

Python in a Nutshell

Learning Python

Visual Quickstart Guide: Python

Python Pocket Reference

Python Cookbook


JavaScript/DOM

JavaScript: The Definitive Guide

Beginning JavaScript with DOM Scripting and AJAX

The Book of JavaScript

The Complete Reference JavaScript

JavaScript Bible

DOM Scripting


Ruby/Rails

Ruby in a Nutshell

The Ruby Way

Beginning Ruby

Ruby on Rails: Up and Running

Rails Solutions: Ruby on Rails Made Easy

Beginning Ruby on Rails E-Commerce


PHP

PHP in a Nutshell

Programming PHP

PHP Cookbook

Learning PHP and MySQL

Learning PHP 5


Database

Visual Quickstart Guide: MySQL

MySQL Cookbook

MySQL in a Nutshell

MySQL Tutorial

Programming SQL Server 2005

SQL Server 2005: Developer's Guide

SQL Server 2005: A Beginner's Guide

Beginning SQL Server 2005 Express

Labels: TECHNICAL MISCELLANEOUS

Microsoft Online Resources

Microsoft Beginner's Learning Resources

1. MSDN - http://msdn.microsoft.com/en-us/default.aspx

2. Windows Aspiring Professional - http://msdn.microsoft.com/en-us/beginner/dd547995.aspx

3. Essentials of Web Development (For Beginners) - http://msdn.microsoft.com/en-us/beginner/bb308760.aspx

4. Microsoft Web Development - http://www.microsoft.com/express/Web/

5. Essentials of Windows Development (For Beginners) - http://msdn.microsoft.com/en-us/beginner/bb308891.aspx

6. Microsoft Security Development Center - http://msdn.microsoft.com/en-us/security/default.aspx


Microsoft Blogs

1. ScottGu's Product Development Blog -
http://weblogs.asp.net/scottgu/

2. Somasegar's Technology Blog - http://blogs.msdn.com/somasegar/

3. Raymond Chen's Software Developers Blog - http://blogs.msdn.com/oldnewthing/

4. Michael Howard's Security Blog - http://blogs.msdn.com/michael_howard/

5. Bryan Sullivan's Security Blog - http://blogs.msdn.com/sdl/

6. Jensen Harris's Microsoft Office Blog - http://blogs.msdn.com/jensenh/

7. Chris Green's Unix/Windows and .Net/Java Interoperability Blog - http://blogs.msdn.com/chris.green/

8. Chris Jackson's Vista Blog - http://blogs.msdn.com/cjacks/


Microsoft Technologies Magazines:

1. msdn magazine - http://msdn.microsoft.com/en-us/magazine/

2. Technet Magazine - http://technet.microsoft.com/en-us/magazine/

3. MSJ Magazine (till year'2000) - http://www.microsoft.com/msj/

4. Dr. Dobb's Journal - http://www.ddj.com/

5. Microsoft .NET Code Magazine - http://www.code-magazine.com/

6. Windows IT Magazine - http://windowsitpro.com/

7. Windows Tools - http://www.sysinternals.com/

8. MDSN Development Centers (VC++, .NET, ... ) - http://msdn.microsoft.com/en-us/aa937802.aspx

9. MSDN VC++ Development -
http://msdn.microsoft.com/en-us/visualc/default.aspx

10. MSDN .NET(C#) Development -
http://msdn.microsoft.com/en-us/vcsharp/default.aspx


Microsoft URLs

1. MSDN -
http://msdn.microsoft.com/

2. MSDN Code Gallery -
http://code.msdn.microsoft.com/

3. MSDN for Developers -
http://msdnbookmarks.com/

4. Microsoft Communities -
http://www.microsoftcommunities.com/

5. Software Factory -
http://msdn.microsoft.com/en-us/practices/bb190362.aspx

6. WebService Software Factory -
http://msdn.microsoft.com/en-us/library/bb931187.aspx

7. CodePlex : If you need to manage a live code project and collaborate with others on it, use it, another offering that we provide for open source project hosting. -
http://www.codeplex.com/

8. Microsoft Technet Forums -
http://forums.technet.microsoft.com/en-us/Forums/

9. TechNet for IT Professionals -
http://technetbookmarks.com/

10. Technet Code Gallery -
http://code.msdn.microsoft.com/
(Range of resources available from snippets to SDKs)

11. Technet Visual studio Gallery -
http://visualstudiogallery.com/
(A catalog that showcases free and commercial products that complement or extend Visual Studio)

12. Visual studio Extensibility - http://msdn.microsoft.com/en-us/vsx/default.aspx

13. TechNet - http://technet.microsoft.com/en-us/default.aspx

14. Developer -
http://msdn.microsoft.com/en-us/vbasic/default.aspx

15. Technology Center -
http://technet.microsoft.com/en-us/sqlserver/default.aspx?wt.svl=leftnav

16. Technet Forums -
http://forums.technet.microsoft.com/en-us/Forums/

17. Microsoft SDK downloads -
http://www.microsoft.com/downloads/Search.aspx?displaylang=en#

18. Expression for Designers -
http://expressionbookmarks.com/

19. Releasing the Source Code for the .NET Framework Libraries with VS2008 -
http://weblogs.asp.net/scottgu/archive/2007/10/03/releasing-the-source-code-for-the-net-framework-libraries.aspx

20. VC++ 2008 Feature Pack Release -
http://www.microsoft.com/downloads/details.aspx?FamilyId=D466226B-8DAB-445F-A7B4-448B326C48E7&displaylang=en

21. Microsoft Security Development Life Cycle (SDL) - http://msdn.microsoft.com/en-us/security/cc448177.aspx

22. Microsoft DreamSpark student program -
http://channel8.msdn.com/

Microsoft DreamSpark, that makes professional-level developer and design tools available to students around the world at no charge, to support and advance their learning and skills through technical design, technology, math, science and engineering activities. This program equips tomorrow's leaders with the professional tools to inspire and create today.

The software that is included in this program includes Microsoft Developer tools such as Visual Studio 2005 Professional Edition, Visual Studio 2008 Professional Edition, and XNA Game Studio 2.0. It also includes our tools targeted at Designers with the full Expression Studio. And lastly, it includes our platform resources including SQL Server 2005 and Windows Server, providing a security-enhanced and reliable environment for students to more quickly turn ideas into reality.

23. New Ideas from Students all over the world -
http://imaginecup.com/
where students around the world who are like-minded and passionate about using technology to solve real-world problems come together and show their best ideas.

24. The Ingenuity Point : ISV's making a difference -
http://www.theingenuitypoint.com/main/default.aspx

To recognize ISVs (Independent Software Vendors) that are using Microsoft platforms.In order to help the ISV community to be successful, we have developed a number of resources designed specifically for ISVs and have put them all in one location at
http://www.microsoft.com/isv.

Here you can find product related news and tools, information about partner programs, training and event resources, stories of successes and challenges from their peers, as well as information on events like the Ingenuity Point. There are even regional versions of this site such as
http://www.microsoft.com/isv/mea that directs our partners to events and resources that are relevant to a specific geography.

25. Encapsulate Silverlight with ASP.NET Controls - http://msdn.microsoft.com/en-us/magazine/cc135987.aspx


Labels: TECHNICAL MISCELLANEOUS

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

Labels: .NET DEVELOPMENT

Remote Desktop Management

Remote desktop control applications are a popular computing trend that allow users to access their desktop from anywhere in the world via the internet. So as long as your main computer is switched on and connected to the internet you can retrieve, edit and share any file as easily as if you are sitting right in front of it.


Popular Tools:

Citrix GoToMyPC

TeamViewer

Radmin

CrossLoop

VNC, UltraVNC , RealVNC, TightVNC

WebEx

PCAnyWhere

Remote Desktop


ref:

Remote Desktop Software - http://www.freedownloadmanager.org/downloads/remote_desktop_software/


Remote PC Access Reviews - http://remote-pc-access.no1reviews.com/


The Best Remote Desktop Control Software for Windows -

http://www.voip-sol.com/the-best-remote-desktop-control-software-for-windows/


10 Remote Desktop Access Apps for Enhanced Client Support - http://www.sitepoint.com/blogs/2010/01/06/remote-desktop-access-client-support/


Romote Control Applications - http://www.fredshack.com/docs/remotectrl.html

Labels: TECHNICAL MISCELLANEOUS

The Eight Fallacies of Distributed Computing - Peter Deutsch

Essentially everyone, when they first build a distributed application, makes the following eight assumptions. All prove to be false in the long run and all cause big trouble and painful learning experiences.


1. The network is reliable

2. Latency is zero

3. Bandwidth is infinite

4. The network is secure

5. Topology doesn't change

6. There is one administrator

7. Transport cost is zero

8. The network is homogeneous


ref:

http://en.wikipedia.org/wiki/Fallacies_of_Distributed_Computing

http://www.rgoarchitects.com/Files/fallacies.pdf

WebServices and Eight Fallacies -

http://www.oreillynet.com/xml/blog/2002/07/web_services_and_the_eight_fal.html

Distributed Computing Fallacy - http://feedblog.org/2007/09/23/distributed-computing-fallacy-9/

Labels: ENTERPRISE ARCHITECTURE, SOFTWARE DESIGN

The Principles of Service-Orientation

The adoption of SOA often comes with an expectation that many of the benefits commonly associated with service-oriented technology platforms will be realized simply through their successful implementation. However, some of the longer-term and more strategically significant goals of an SOA transition (such as the attainment of increased business agility) can really only be achieved to their full potential by applying a consistent approach to how automation logic is designed.

Before a service-oriented solution can be built, it needs to be understood what makes an individual service suitable for SOA in support of its strategic goals. In other words, the question of how services can be created to be truly service-oriented needs to be asked early on in the project lifecycle.

The answer lies in a design paradigm that has emerged to uniquely distinguish the service-oriented architectural model from its predecessors. This paradigm is service-orientation and its approach to modeling business automation logic has resulted in a set of commonly accepted principles that, when applied, position and shape the primitive components (services, descriptions, messages) found in a typical service-oriented environment.

Service-Orientation and the Separation of Concerns

Service-orientation has had many influences, but its roots lie in a software engineering theory known as the "separation of concerns." This theory is based on the notion that it is beneficial to break down a large problem into a series of smaller, individual problems or concerns. This allows the logic required to solve the larger problem to also be decomposed into a collection of smaller, related pieces. Each piece of logic addresses a specific concern.

The theory has already been implemented through established paradigms, such as object-orientation and component-based approaches. Service-orientation can be viewed as a distinct (and more recent) manner in which to realize a separation of concerns. More specifically, though, key service-orientation principles provide a unique approach to how the separation is performed. In doing so, these principles establish a foundation paradigm for SOA. If you study the common characteristics associated with contemporary implementations of SOA, you will notice that several are linked to how concerns have been separated.

The Common Principles of Service-Orientation

There are many opinions, originating from public IT organizations to vendors and consulting firms, about what constitutes service-orientation. As part of an on-going industry analysis initiative by SOA Systems Inc., I have been researching and assessing perspectives of service-orientation for quite some time. The purpose of this project is to identify and describe a set of common principles that are supported by all major SOA platforms, thereby establishing a real-world definition of the service-orientation paradigm. Our focus in this series is therefore centered around those principles that have become commonly accepted in the SOA industry and supported by corresponding vendor platforms.

The most recent results establish the following eight principles:

· services share a formal contract

· services are loosely coupled

· services abstract underlying logic

· services are composable

· services are reusable

· services are autonomous

· services are stateless

· services are discoverable

Of these eight, autonomy, loose coupling, abstraction, and the need for a formal contract can be considered core principles that form a baseline foundation for SOA. Although each of the eight principles support or are supported by the others, these four directly enable the realization of the remaining principles. The study of inter-principle relationships is quite interesting and provides a deeper perspective of the unique dynamics introduced by service-orientation.

It is also worth noting that Web services naturally support a subset of these principles, which provides an indication as to why the Web services technology platform is considered so suitable for building service-oriented solutions. Later in this series we will discuss some of the relationships between principles as well as how some are intrinsically realized through the use of Web services. These principles are "common" in that they represent an industry-level perspective of service-orientation as determined by research conducted by SOA Systems Inc.

An aspect of service-orientation that ties directly into our previous discussion of service contracts and loose coupling is that of abstraction. It is through abstraction that we can control what parts of the underlying service logic are exposed to the outside world. By ensuring that these parts are designed in a generic manner so as to accommodate multiple potential service requestors, we can strive to position the service as a reusable IT asset. In this article we will explore different levels of abstraction and then move on to a discussion of how reuse supports the overall strategic goals associated with SOA.

Abstracting functionality and technology

Also referred to as service interface-level abstraction, it is this principle that encourages us to establish services as black boxes, intentionally hiding their underlying details from potential consumers. Abstraction is accomplished through the disciplined use of service contracts. By limiting what is made public about a service to what is documented in the service contract, a high degree of separation can be achieved between what becomes private (hidden) and public (consumable). This is desirable because it supports the loosely coupled relationship.

There is no limit to the amount of logic a service can represent. A service may be designed to perform a simple task or it may be positioned as a gateway to an entire automation solution. There is also no restriction as to the source of automation logic a service can draw upon.

For example, a single service can expose logic from multiple different underlying systems. In fact, as we move toward the standardization of service models that establish a functional context associated with a business entity or task, it is expected that in environments with numerous legacy solutions, one service will commonly expose functionality that relies on a variety of different systems.

Service interface-level abstraction is one of the inherent qualities provided by distributed platforms, such as component and Web services-based architectures. The use of Web services are especially synergetic because they elevate the level of attainable abstraction beyond just functionality. Web services abstract the proprietary implementation details of the underlying automation logic, which frees potential consumers of the service from having to interface with specific vendor technologies. Even though we refer to abstraction as a characteristic of the service, it is actually the individual operations that collectively abstract the underlying logic. Services simply act as containers for these operations. The level of abstraction of any given service is therefore determined to large extent by the collective levels of abstraction attained by each of its service operations.

This puts a great deal of emphasis on the design of the service contract. The more that is expressed in the service contract, the less details we end up abstracting. The more generic we make the service contract, the less process or consumer-specific the service becomes. This then determines the reuse potential of what we choose to expose (to not abstract) through the service contract.

Fostering agility through reuse

Service-orientation encourages reuse in all services, regardless of whether immediate requirements for reuse exist. This fundamental principle forces us to pay extra attention to each delivered unit of automation logic we want to call a "service."

The primary strategic goal associated with reuse is to position each service as an IT asset with "repeatable value." As the amount of reusable assets accumulate, the chances increase to fulfill new business automation requirements by building less and using more of what we already have.

This is expected to reduce the time it takes to build automation logic, thereby improving an organization's overall responsiveness to change. By decreasing the associated effort, the fulfillment of automation requirements is also anticipated to become more cost-effective, leading to the significant potential of streamlining IT development environments. This may sound like a tall order, but many organizations are investing heavily in the creation of a highly reusable service inventory to attain these very benefits.

This principle facilitates all forms of reuse, including inter-application interoperability, composition and the creation of cross-cutting or utility services. As we established earlier, a service is simply a collection of related operations. It is therefore the logic encapsulated by the individual operations that must be deemed reusable to warrant representation as a reusable service.

The emphasis on far reaching reuse also highlights the suitability of Web services as an implementation option for services. By making each service available via an industry standard communications framework, reuse potential can broaden dramatically because the logic encapsulated by a service now becomes accessible to service requestors built with different underlying technologies.

It all comes down to the service contract

Both of these principles bring us back to the required use of the service contract. It is the content of this contract that determines what is and is not abstracted. It is through the design of this content that we can determine how generic and reusable the non-abstraced parts actually are. This raises the need to truly view the design of a service as an investment. Building service-oriented solution logic is almost always more expensive and more time consuming because considerations need to be taken into account that go beyond immediate tactical requirements. An appreciation of what service-orientation is intended to accomplish is therefore useful in justifying this investment.



Continuing our exploration of service-orientation, we now focus on two principles that tend to receive much less attention than they deserve. When it comes to service design, so much of the spotlight is on enabling design characteristics most commonly associated with SOA marketing terminology, namely loose coupling and reuse. While certainly important, if not critical to achieving the long-term goals of SOA transition projects, there is more to consider. Abstraction and the strategic use of service contracts represent two additional principles that, to a large extent, support the realization of reusable, loosely coupled services. But, even the most reusable service is not useful if it cannot be found by those responsible for creating potential consumers. Furthermore, even the most loosely coupled services will have limited reuse potential if they cannot be assembled into effective compositions. This is where the principles of service discoverability and service composition come into play.

Service discoverability

The characteristic of discoverability essentially helps avoid the accidental creation of redundant services or services that implement redundant logic. Because each service operation provides a potentially reusable piece of automation logic, the metadata attached to a service needs to sufficiently describe not only the service's overall purpose, but also the functionality offered by its individual operations.

This service-orientation principle is related to, but distinct from, discoverability on an architectural level, in which case service discoverability refers to the technology architecture's ability to provide a discovery mechanism, such as a service registry or directory. These extensions effectively become part of the overall infrastructure in support of SOA implementations.

On a service level, the principle of discoverability refers to the design of an individual service so that it becomes as discoverable as possible, regardless of whether a discoverability product or extension actually exists in its surrounding implementation environment.

The reasoning behind this is that even if there's no need for a service registry because there simply isn't enough of a service inventory to warrant one, services should still be designed as highly discoverable resources. That way, when a service portfolio grows in size, the evolutionary governance of those services can be better managed because each service is equipped with sufficient metadata to properly communicate its purpose and capabilities.

Service composition

As service portfolios grow in size, service compositions will become an unavoidable and increasingly important design aspect of building service-oriented solutions. The main reason this particular principle is so important is because it ensures that services are designed in such a manner so that they can participate as effective members, or controllers, of these compositions.

The requirement for any service to be composable also places an emphasis on the design of service operations. Composability is simply another form of reuse and therefore operations need to be designed in a standardized manner (and with an appropriate level of granularity) to maximize composition opportunities.

A common SOA extension that underlines the relevance of composability is orchestration. Here, a service-oriented business process can be expressed through a composition language, such as WS-BPEL, essentially classifying the process itself as a service composition represented by a parent process service. Either way, the need for a service to be highly composable is irrespective of whether immediate composition requirements exist.

Composition discoverability

Each of the principles we explain in this series has relationships with others. Service composability, for example, is a characteristic that is influenced by the extent to which several other principles are collectively applied.

Even discoverability ties into effective composition. A fundamental rule of service abstraction is that a service can represent any range of logic from any types of supported sources, including other services. If services encapsulate others, we have a composition. To build an effective composition, the service designer will need a means of finding the most suitable services to act as composition members. Furthermore, once the composition is completed and deployed, potential consumers of the service representing the composition will benefit from an awareness of its existence, purpose, and capabilities.

Discovery supports and enables both of these scenarios, thereby furthering the cause of service-orientation.

ref:

Principles of Service Oriented Design - http://msdn.microsoft.com/en-us/library/bb972954.aspx

SOA Principles - http://www.soaprinciples.com/

Principles of Service Orientation - http://searchsoa.techtarget.com/tip/0,289483,sid26_gci1165286,00.html


Labels: SERVICE ORIENTED ARCHITECTURE (SOA)
Newer Posts Older Posts Home
Subscribe to: Posts (Atom)

The Verge - YOUTUBE

Loading...

Google - YOUTUBE

Loading...

Microsoft - YOUTUBE

Loading...

MIT OpenCourseWare - YOUTUBE

Loading...

FREE CODE CAMP - YOUTUBE

Loading...

NEET CODE - YOUTUBE

Loading...

GAURAV SEN INTERVIEWS - YOUTUBE

Loading...

Y Combinator Discussions

Loading...

SUCCESS IN TECH INTERVIEWS - YOUTUBE

Loading...

IGotAnOffer: Engineering YOUTUBE

Loading...

Tanay Pratap YOUTUBE

Loading...

Ashish Pratap Singh YOUTUBE

Loading...

Questpond YOUTUBE

Loading...

Kantan Coding YOUTUBE

Loading...

CYBER SECURITY - YOUTUBE

Loading...

CYBER SECURITY FUNDAMENTALS PROF MESSER - YOUTUBE

Loading...

DEEPLEARNING AI - YOUTUBE

Loading...

STANFORD UNIVERSITY - YOUTUBE

Loading...

NPTEL IISC BANGALORE - YOUTUBE

Loading...

NPTEL IIT MADRAS - YOUTUBE

Loading...

NPTEL HYDERABAD - YOUTUBE

Loading...

MIT News

Loading...

MIT News - Artificial intelligence

Loading...

The Berkeley Artificial Intelligence Research Blog

Loading...

Microsoft Research

Loading...

MachineLearningMastery.com

Loading...

Harward Business Review(HBR)

Loading...

Wharton Magazine

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

Monthly Blog Archives

  • ►  2025 (2)
    • ►  May (1)
    • ►  April (1)
  • ►  2024 (18)
    • ►  December (1)
    • ►  October (2)
    • ►  September (5)
    • ►  August (10)
  • ►  2022 (2)
    • ►  December (2)
  • ►  2021 (2)
    • ►  April (2)
  • ►  2020 (17)
    • ►  November (1)
    • ►  September (7)
    • ►  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)
      • Google Online Books
      • Microsoft Online Resources
      • Memory Leaks in .Net Managed Code
      • Remote Desktop Management
      • The Eight Fallacies of Distributed Computing - Pet...
      • The Principles of Service-Orientation
      • Bad & Good Design Traits
      • Poka Yoke - Mistake Proofing
      • Android - Software Stack for Mobile Devices
      • CentOS - An Opensource Enterprise Linux
      • MySQL - Popular Opensource Database
  • ►  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) (9)
  • AI/ML (4)
  • ANDROID DEVELOPMENT (7)
  • BIG DATA ANALYTICS (6)
  • C PROGRAMMING (7)
  • C++ PROGRAMMING (24)
  • CAREER MANAGEMENT (6)
  • CHROME DEVELOPMENT (2)
  • CLOUD COMPUTING (45)
  • CODE REVIEWS (3)
  • CYBERSECURITY (12)
  • DATA SCIENCE (4)
  • DATABASE (14)
  • DESIGN PATTERNS (9)
  • DEVICE DRIVERS (5)
  • 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 (19)
  • LATEST TECHNOLOGY (18)
  • 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 (23)
  • SYSTEM and NETWORK ADMINISTRATION (3)
  • SYSTEM PROGRAMMING (4)
  • TECHNICAL MISCELLANEOUS (31)
  • 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

  • Observer Pattern - Push vs Pull Model
  • Porting Linux Applications to VxWorks RTOS
  • Windows FileSystem Mini Filter Driver Development
  • SSCLI(Shared Source Common Language Infrastructure)

My Other Blogs

  • Career Management: Invest in Yourself
  • Color your Career
  • Attitude is everything(in 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

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.

Favourite RSS Syndications ...

Google Developers Blog

Loading...

Blogs@Google

Loading...

Berklee Blogs » Technology

Loading...

Martin Fowler's Bliki

Loading...

TED Blog

Loading...

TEDTalks (video)

Loading...

Psychology Today Blogs

Loading...

Aryaka Insights

Loading...

The Pragmatic Engineer

Loading...

Stanford Online

Loading...

MIT Corporate Relations

Loading...

AI at Wharton

Loading...

OpenAI

Loading...

AI Workshop

Loading...

Hugging Face - Blog

Loading...

BYTE BYTE GO - YOUTBUE

Loading...

Google Cloud Tech

Loading...

3Blue1Brown

Loading...

Bloomberg Originals

Loading...

Dwarkesh Patel Youtube Channel

Loading...

Reid Hoffman

Loading...

Aswath Damodaran

Loading...