Showing posts with label Help. Show all posts
Showing posts with label Help. Show all posts

Monday, February 10, 2025

Useful Windows Shortcuts

Keyboard Shortcuts (Microsoft Windows)

1. CTRL+C (Copy)
2. CTRL+X (Cut)
3. CTRL+V (Paste)
4. CTRL+Z (Undo)
5. DELETE (Delete)
6. SHIFT+DELETE (Delete the selected item permanently without placing the item in the Recycle Bin)
7. CTRL while dragging an item (Copy the selected item)
8. CTRL+SHIFT while dragging an item (Create a shortcut to the selected item)
9. F2 key (Rename the selected item)
10. CTRL+RIGHT ARROW (Move the insertion point to the beginning of the next word)
11. CTRL+LEFT ARROW (Move the insertion point to the beginning of the previous word)
12. CTRL+DOWN ARROW (Move the insertion point to the beginning of the next paragraph)
13. CTRL+UP ARROW (Move the insertion point to the beginning of the previous paragraph)
14. CTRL+SHIFT with any of the arrow keys (Highlight a block of text)
SHIFT with any of the arrow keys (Select more than one item in a window or on the desktop, or select text in a document)
15. CTRL+A (Select all)
16. F3 key (Search for a file or a folder)
17. ALT+ENTER (View the properties for the selected item)
18. ALT+F4 (Close the active item, or quit the active program)
19. ALT+ENTER (Display the properties of the selected object)
20. ALT+SPACEBAR (Open the shortcut menu for the active window)
21. CTRL+F4 (Close the active document in programs that enable you to have multiple documents open simultaneously)
22. ALT+TAB (Switch between the open items)
23. ALT+ESC (Cycle through items in the order that they had been opened)
24. F6 key (Cycle through the screen elements in a window or on the desktop)
25. F4 key (Display the Address bar list in My Computer or Windows Explorer)
26. SHIFT+F10 (Display the shortcut menu for the selected item)
27. ALT+SPACEBAR (Display the System menu for the active window)
28. CTRL+ESC (Display the Start menu)
29. ALT+Underlined letter in a menu name (Display the corresponding menu) Underlined letter in a command name on an open menu (Perform the corresponding command)
30. F10 key (Activate the menu bar in the active program)
31. RIGHT ARROW (Open the next menu to the right, or open a submenu)
32. LEFT ARROW (Open the next menu to the left, or close a submenu)
33. F5 key (Update the active window)
34. BACKSPACE (View the folder one level up in My Computer or Windows Explorer)
35. ESC (Cancel the current task)
36. SHIFT when you insert a CD-ROM into the CD-ROM drive (Prevent the CD-ROM from automatically playing)

Dialog Box - Keyboard Shortcuts

1. CTRL+TAB (Move forward through the tabs)
2. CTRL+SHIFT+TAB (Move backward through the tabs)
3. TAB (Move forward through the options)
4. SHIFT+TAB (Move backward through the options)
5. ALT+Underlined letter (Perform the corresponding command or select the corresponding option)
6. ENTER (Perform the command for the active option or button)
7. SPACEBAR (Select or clear the check box if the active option is a check box)
8. Arrow keys (Select a button if the active option is a group of option buttons)
9. F1 key (Display Help)
10. F4 key (Display the items in the active list)
11. BACKSPACE (Open a folder one level up if a folder is selected in the Save As or Open dialog box)

Microsoft Natural Keyboard Shortcuts

1. Windows Logo (Display or hide the Start menu)
2. Windows Logo+BREAK (Display the System Properties dialog box)
3. Windows Logo+D (Display the desktop)
4. Windows Logo+M (Minimize all of the windows)
5. Windows Logo+SHIFT+M (Restore the minimized windows)
6. Windows Logo+E (Open My Computer)
7. Windows Logo+F (Search for a file or a folder)
8. CTRL+Windows Logo+F (Search for computers)
9. Windows Logo+F1 (Display Windows Help)
10. Windows Logo+ L (Lock the keyboard)
11. Windows Logo+R (Open the Run dialog box)
12. Windows Logo+U (Open Utility Manager)
13. Accessibility Keyboard Shortcuts
14. Right SHIFT for eight seconds (Switch Filter Keys either on or off)
15. Left ALT+left SHIFT+PRINT SCREEN (Switch High Contrast either on or off)
16. Left ALT+left SHIFT+NUM LOCK (Switch the MouseKeys either on or off)
17. SHIFT five times (Switch the Sticky Keys either on or off)
18. NUM LOCK for five seconds (Switch the ToggleKeys either on or off)
19. Windows Logo +U (Open Utility Manager)
20. Windows Explorer Keyboard Shortcuts
21. END (Display the bottom of the active window)
22. HOME (Display the top of the active window)
23. NUM LOCK+Asterisk sign (*) (Display all of the subfolders that are under the selected folder)
24. NUM LOCK+Plus sign (+) (Display the contents of the selected folder)
25. NUM LOCK+Minus sign (-) (Collapse the selected folder)
26. LEFT ARROW (Collapse the current selection if it is expanded, or select the parent folder)
27. RIGHT ARROW (Display the current selection if it is collapsed, or select the first subfolder)

Shortcut Keys for Character Map

After you double-click a character on the grid of characters, you can move through the grid by using the keyboard shortcuts:
1. RIGHT ARROW (Move to the rightor to the beginning of the next line)
2. LEFT ARROW (Move to the left orto the end of the previous line)
3. UP ARROW (Move up one row)
4. DOWN ARROW (Move down one row)
5. PAGE UP (Move up one screen at a time)
6. PAGE DOWN (Move down one screen at a time)
7. HOME (Move to the beginning of the line)
8. END (Move to the end of the line)
9. CTRL+HOME (Move to the first character)
10. CTRL+END (Move to the last character)
11. SPACEBAR (Switch between Enlarged and Normal mode when a character is selected)

Microsoft Management Console (MMC)

Main Window Keyboard Shortcuts
1. CTRL+O (Open a saved console)
2. CTRL+N (Open a new console)
3. CTRL+S (Save the open console)
4. CTRL+M (Add or remove a console item)
5. CTRL+W (Open a new window)
6. F5 key (Update the content of all console windows)
7. ALT+SPACEBAR (Display the MMC window menu)
8. ALT+F4 (Close the console)
9. ALT+A (Display the Action menu)
10. ALT+V (Display the View menu)
11. ALT+F (Display the File menu)
12. ALT+O (Display the Favorites menu)

MMC Console Window Keyboard Shortcuts

1. CTRL+P (Print the current page or active pane)
2. ALT+Minus sign (-) (Display the window menu for the active console window)
3. SHIFT+F10 (Display the Action shortcut menu for the selected item)
4. F1 key (Open the Help topic, if any, for the selected item)
5. F5 key (Update the content of all console windows)
6. CTRL+F10 (Maximize the active console window)
7. CTRL+F5 (Restore the active console window)
8. ALT+ENTER (Display the Properties dialog box, if any, for the selected item)
9. F2 key (Rename the selected item)
10. CTRL+F4 (Close the active console window. When a console has only one console window, this shortcut closes the console)

Remote Desktop Connection Navigation

1. CTRL+ALT+END (Open the Microsoft Windows NT Security dialog box)
2. ALT+PAGE UP (Switch between programs from left to right)
3. ALT+PAGE DOWN (Switch between programs from right to left)
4. ALT+INSERT (Cycle through the programs in most recently used order)
5. ALT+HOME (Display the Start menu)
6. CTRL+ALT+BREAK (Switch the client computer between a window and a full screen)
7. ALT+DELETE (Display the Windows menu)
8. CTRL+ALT+Minus sign (-) (Place a snapshot of the active window in the client on the Terminal server clipboard and provide the same functionality as pressing PRINT SCREEN on a local computer.)
9. CTRL+ALT+Plus sign (+) (Place asnapshot of the entire client window area on the Terminal server clipboardand provide the same functionality aspressing ALT+PRINT SCREEN on a local computer.)

Microsoft Internet Explorer Keyboard Shortcuts

1. CTRL+B (Open the Organize Favorites dialog box)
2. CTRL+E (Open the Search bar)
3. CTRL+F (Start the Find utility)
4. CTRL+H (Open the History bar)
5. CTRL+I (Open the Favorites bar)
6. CTRL+L (Open the Open dialog box)
7. CTRL+N (Start another instance of the browser with the same Web address)
8. CTRL+O (Open the Open dialog box,the same as CTRL+L)
9. CTRL+P (Open the Print dialog box)
10. CTRL+R (Update the current Web )

Friday, January 31, 2025

How to turn off or reset MFA from Microsoft admin console

To turn off or reset Multi-Factor Authentication (MFA) from the Microsoft admin console, follow these steps:

Turning Off MFA:
  1. Sign in to the Azure portal as a global administrator.

  2. Navigate to Azure Active Directory > Properties.

  3. Select Manage security defaults.

  4. Set Security defaults to Disabled and click Save.

Resetting MFA for a User:
  1. Sign in to the Microsoft 365 admin center with your admin credentials.

  2. Go to Users > Active users.

  3. Select the user who needs the MFA reset.

  4. Click on Reset multi-factor authentication under More settings2.

  5. Follow the prompts to reset the user's MFA settings.

Disabling MFA for a Specific User:
  1. Sign in to the Microsoft 365 admin center.

  2. Go to Users > Active users.

  3. Select the user you want to disable MFA for.

  4. Click on Manage multifactor authentication.

  5. Select the user and click Disable multi-factor authentication3.

These steps should help you manage MFA settings effectively!!

Sunday, December 01, 2024

How to find specific table or view is used in SQL Server database

Here is how we can find a table or view in SQL database. Below query will help you find the table or view and which object has used.

select schema_name(o.schema_id) + '.' + o.name as [table],
       'is used by' as ref,
       schema_name(ref_o.schema_id) + '.' + ref_o.name as [object],
       ref_o.type_desc as object_type
from sys.objects o
join sys.sql_expression_dependencies dep
     on o.object_id = dep.referenced_id
join sys.objects ref_o
     on dep.referencing_id = ref_o.object_id
where o.type in ('V', 'U')
      --and schema_name(o.schema_id) = 'dbo'  -- put schema name here
      and 
	  o.name = 'AI_Asset_Info'   -- put table/view name here
order by [object]
  

Hope this helps!

Saturday, June 01, 2024

Common prevention techniques against injection attacks

With reference to my previous blog post. Here are few prevention techniques against injection attacks:

  1. Input Validation: Validate and sanitize all user input to ensure it meets expected formats and ranges. Avoid dynamic queries built using untrusted input.

  2. Use Parameterized Queries: Utilize parameterized queries with prepared statements or stored procedures to prevent the injection of malicious code.

  3. Escaping Input: Special characters in user input should be escaped to neutralize their harmful effects, making them harmless before use.

  4. Least Privilege Principle: Applications should operate with the least privilege necessary to limit the potential impact of a successful injection attack.

  5. Regular Software Patching: Keep all software components and frameworks up to date to patch known injection vulnerabilities.

  6. Web Application Firewalls (WAF): Implement WAF solutions to filter and block malicious input before it reaches the application.

  7. Code Reviews and Security Testing: Conduct regular code reviews, security audits, and penetration testing to identify and mitigate potential injection vulnerabilities.

  8. Secure Development Practices: Train developers in secure coding practices to minimize the introduction of injection vulnerabilities during application development.

  9. Secure Configuration: Follow best practices for server configuration and secure coding guidelines to reduce the attack surface for injection attacks.

By implementing a combination of these techniques and maintaining a proactive approach to web application security, organizations can significantly reduce the risk of falling victim to injection attacks. 

Friday, May 03, 2024

8 Best Free Disk Space Analyzer Tools to Streamline Your Hard Drive Management

Managing disk space efficiently is crucial for the optimal performance of any computer. Free disk space analyser tools are essential for identifying and removing unnecessary files, thereby freeing up valuable disk space. This blog presents a comprehensive overview of the top eight free disk space analyser tools that can aid in streamlining and optimizing hard drive management.


1. TreeSize Free : TreeSize Free supports the removal of files within the program, scans individual folders and entire hard drives, and offers a portable option. It operates exclusively on Windows. This is my personal favourite.


2. Disk Savvy : Disk Savvy offers a user-friendly interface with extensive features, including the ability to categorize files in several ways, perform simultaneous scans of multiple locations, and export results to a report file. It supports various Windows operating systems.


3. Windows Directory Statistics (WinDirStat) : WinDirStat provides unique visualization methods to analyse disk space and configure custom clean up commands. It can scan entire drives or specific folders and works exclusively on Windows.


4. Disktective : Disktective is a portable tool that allows scanning of large files in specific folders or entire drives. It provides two ways to view disk space usage and is suitable for Windows users.


5. JDiskReport : JDiskReport displays disk space usage in five perspectives and is suitable for users on Windows, macOS, and Linux operating systems.


6. RidNacs : RidNacs features a minimal and simple interface with a portable option. It scans large files in specific folders or entire drives and is exclusive to Windows.


7. SpaceSniffer : SpaceSniffer provides results that can be filtered in multiple ways, backed up, and opened without rescanning. It is only compatible with the Windows operating system.


8. Folder Size : Folder Size integrates with File Explorer, allowing users to sort folders by size. It is extremely user-friendly but is designed only for older versions of Windows.

Conclusion:

Selecting the right disk space analyser tool depends on specific requirements and the operating system used. The featured tools provide a range of functionalities, from user-friendly interfaces to visual representations of disk space usage. By leveraging these free applications, users can efficiently manage their hard drive space, leading to enhanced system performance and productivity. 

Wednesday, April 24, 2024

Understanding Indexing in SQL Server: Types and Usage

What is an Index?   

An index in SQL Server is a data structure associated with a table or view that speeds up the retrieval of rows based on the values in one or more columns. It serves as a well-organized reference guide, allowing SQL Server to efficiently locate rows that match query criteria without scanning the entire table.

Types of Indexes:

1. Clustered Index: Determines the physical order of data in a table, affecting the order of data when modified.
2. Non-clustered Index: Creates a separate structure with sorted references to actual data rows, useful for enhancing SELECT query performance.
3. Unique Index: Ensures uniqueness of values in the indexed column(s) across the table, aiding in data integrity.
4. Covering Index: Includes all columns needed to fulfill a query, minimizing I/O operations and improving query performance.
5. Filtered Index: Includes only a subset of rows in the table based on a WHERE clause, useful for optimizing queries targeting specific subsets of data.
6. Spatial Index: Specialized for spatial data types, facilitating efficient spatial queries such as distance calculations and intersections.
7. Columnstore Indexes: Organizes data by columns, beneficial for analytical queries involving aggregations and scans across large datasets.

Usage of Indexes:

 Faster Data Retrieval: Provides a shortcut to desired rows, reducing the time to locate and retrieve data, particularly helpful for SELECT queries.  
Optimizing Joins: Indexes on join columns enhance performance by quickly identifying matching rows.  
Sorting and Grouping: Speed up ORDER BY and GROUP BY operations by efficiently retrieving and organizing data.  
Constraint Enforcement: Unique indexes ensure data integrity by preventing duplicate values in indexed columns.  
Covering Queries: Minimizes I/O operations and speeds up query execution by scanning the index alone.  
Reducing I/O Operations: Efficient use of indexes minimizes I/O operations required to satisfy a query.

Best Practices for Indexing:

1. Selective Indexing: Focus on columns frequently used in WHERE clauses, JOIN conditions, and ORDER BY clauses to avoid unnecessary overhead.
2. Regular Maintenance: Monitor and maintain indexes regularly, including rebuilding or reorganizing to minimize fragmentation.
3. Avoid Over-Indexing: Strike a balance between performance gains and maintenance overhead to avoid diminishing returns.
4. Consider Clustered Index Carefully: Choose based on typical table queries and access patterns.
5. Use Indexing Tools: Leverage tools such as the Database Engine Tuning Advisor to recommend appropriate indexes based on query performance analysis.
6. Understand Query Execution Plans: Analyse plans to identify areas where indexes can optimize query performance.

Conclusion:  

Indexes in SQL Server play a crucial role in enhancing query speed by enabling quicker data retrieval and minimizing the need for full-table scans. Selecting the right type of index and adhering to best practices, including regular maintenance and thorough understanding of database access patterns, are vital for extracting maximum benefits from indexing. 

Tuesday, April 23, 2024

Types of Keys in DBMS

Here are the key points about different types of keys in the relational model:

1. Candidate Key:
   - It is a minimal set of attributes that can uniquely identify a tuple.
   - Every table must have at least one candidate key.
   - A table can have multiple candidate keys but only one primary key.
   - The value of the candidate key is unique and may be null for a tuple.

2. Primary Key:
   - It is a unique key that can identify only one tuple at a time.
   - It cannot have duplicate or null values.
   - It can be composed of more than one column.

3. Super Key:
   - It is a set of attributes that can uniquely identify a tuple.
   - Adding zero or more attributes to the candidate key generates the super key.

4. Alternate Key:
   - It is a candidate key other than the primary key.
   - All keys which are not primary keys are called alternate keys.

5. Foreign Key:
   - It acts as a primary key in one table and as a secondary key in another table.
   - It combines two or more relations at a time.

6. Composite Key:
   - It is used when a single attribute does not uniquely identify all the records in a table.
   - It is composed of multiple attributes and used together to uniquely identify rows in a table.

These types of keys are essential in database management systems as they help in distinct identification, relation development, and maintaining data integrity between tables. 

Wednesday, March 13, 2024

How to Review transaction order and lock acquisition in SQL Server

In SQL Server, you can review the transaction order and lock acquisition by analysing the queries and transactions that are being executed against the database. Here are some approaches to review transaction order and lock acquisition:

  1. Transaction isolation levels:

    • Review the transaction isolation levels used in your database transactions. Isolation levels such as Read Uncommitted, Read Committed, Repeatable Read, and Serializable can impact the order of lock acquisition and the behaviour of concurrent transactions.
  2. Query execution plans:

    • Use SQL Server Management Studio (SSMS) or other database management tools to analyse the query execution plans for your transactions.
    • The execution plans can provide insights into the order in which data is accessed and the types of locks acquired during query execution.
  3. Locking and blocking:

    • Monitor and analyse the locking and blocking behaviour of concurrent transactions using tools like SQL Server Profiler, Extended Events, or dynamic management views (DMVs) such as sys.dm_tran_locks and sys.dm_os_waiting_tasks.
    • Identify instances of blocking and analyse the lock types and resources involved to understand the order of lock acquisition.
  4. Transaction log and history:

    • Review the transaction log and history to understand the sequence of transactions and their impact on lock acquisition.
    • SQL Server's transaction log and history can provide valuable information about the order in which transactions are executed and their associated locks.

By using these approaches, you can gain insights into the transaction order and lock acquisition behaviour in SQL Server, which can help in identifying potential issues related to deadlocks, blocking, and overall transaction concurrency.

Wednesday, March 06, 2024

How to implement retry logic for DB Transactions

In SQL Server, you can implement retry logic for transactions using T-SQL and error handling. Here's an example of how you can create a stored procedure that includes retry logic for handling deadlock errors:

CREATE PROCEDURE usp_RetryTransaction
AS
BEGIN
    DECLARE @retryCount INT = 0
    DECLARE @maxRetries INT = 3

    WHILE @retryCount < @maxRetries
    BEGIN
        BEGIN TRY
            BEGIN TRANSACTION
            -- Your transactional logic goes here
            COMMIT TRANSACTION
            RETURN
        END TRY
        BEGIN CATCH
            IF ERROR_NUMBER() = 1205  -- Deadlock error number
            BEGIN
                ROLLBACK TRANSACTION
                SET @retryCount = @retryCount + 1
                WAITFOR DELAY '00:00:01'  -- Wait for 1 second before retrying
            END
            ELSE
            BEGIN
                -- Handle other types of errors
                THROW
            END
        END CATCH
    END
    -- If the maximum number of retries is reached, handle the situation as needed
    -- For example, raise an error or log the issue
END
  

In this example, the stored procedure attempts the transaction logic within a retry loop, and if a deadlock error (error number 1205) occurs, it rolls back the transaction, increments the retry count, and waits for a short duration before retrying the transaction. If the maximum number of retries is reached, you can handle the situation as needed based on your application's requirements.

You can then call this stored procedure whenever you need to perform a transaction with retry logic for deadlock handling.

Tuesday, March 05, 2024

How to check if string exists in JQuery

In jQuery, you can use the indexOf method to check if a string contains another string. Here's an example:

var mainString = "Hello, world";
var subString = "world";

if (mainString.indexOf(subString) !== -1) {
    // subString is found in mainString
    console.log("Substring found");
} else {
    // subString is not found in mainString
    console.log("Substring not found");
}
  

In this example, the indexOf method returns the index of the first occurrence of the subString within the mainString. If the subString is not found, indexOf returns -1. You can use this to check if a string contains another string in jQuery.

Sunday, March 03, 2024

How to find a view in database where its used in SQL Server

To find where a specific view is used in a SQL Server database, you can query the system catalog views. Here's a query to achieve this:

SELECT 
    referencing_schema_name, 
    referencing_entity_name
FROM 
    sys.dm_sql_referencing_entities('YourSchema.YourView', 'OBJECT');
  

Replace YourSchema with the schema of your view and YourView with the name of the view you want to find. This query will return the schema and name of the objects that reference the specified view.

Execute this query in your SQL Server management tool to find where a specific view is used in your database.

Hope this help!!

Sunday, February 18, 2024

How To Return Remote Desktop View To Full Screen

At times while switching between users or computers, Remote desktop screen tend to set to one user profile desktop resolutions. This might be problem for new users who logged in after that.

To over come this issue and to fit to your screen resolutions, here are the simple steps to do on Windows machine.

  1. Just make sure you can see the hidden files on your Windows PC, I guess you know how to do that
  2. Close any Remote Desktop connection that is running.
  3. Go to your Documents (Start - Documents)
  4. Find this file, Default RDP (this file will be hidden format)
  5. Delete that file, and then start remote desktop connection now.
Screenshot 2023-09-14 224147

Hope this helps for people who will get annoyed with changing remote desktops screen resolutions with multiple user logins!!

Wednesday, February 14, 2024

Dapper vs Entity Framework Core vs ADO.NET

The comparison between Dapper, Entity Framework Core, and ADO.NET in the context of .NET database access reveals the following key points:

  1. ADO.NET:

    • It is a low-level technology, providing fine-grained control over database operations.
    • Widely used in .NET applications for a long time but requires writing a significant amount of code for database interaction.
    • Supports direct SQL queries for enhanced control over performance.
  2. Entity Framework Core:

    • High-level ORM tool built on ADO.NET, easing database interaction by abstracting operations.
    • Supports multiple database providers and offers features like automatic schema migration, query translation, and change tracking.
    • Supports LINQ for query writing in C# instead of SQL, enhancing ease of use.
  3. Dapper:

    • Micro ORM built for speed and efficiency, providing a lightweight and fast way to work with databases.
    • Built on top of ADO.NET, it offers a simple API for database operations, ideal for scenarios where performance is critical.
    • Allows flexibility for writing SQL queries and mapping results to any class or structure.

Key Comparisons:

  • Performance: Dapper is generally faster than ADO.NET and significantly quicker than Entity Framework Core due to its optimized design.
  • Ease of Use: EF Core provides a high-level API that abstracts database operations, making it easier to work with. Dapper requires writing SQL queries but is generally straightforward.
  • Features: EF Core offers a wide range of features, while Dapper provides speed and flexibility but lacks some high-level features.
  • Flexibility: Dapper is the most flexible, enabling direct SQL query writing and result mapping. EF Core and ADO.NET have limitations in terms of flexibility.

Choosing the right tool depends on project requirements:

  • Use Dapper for lightweight and fast database operations.
  • Employ EF Core for a high-level API and extensive features.
  • Opt for ADO.NET if fine-grained control over database operations is essential.

In conclusion, the choice of tool should align with the specific project needs, considering the trade-offs between performance, ease of use, features, and flexibility. Each tool offers pros and cons, and the decision should be based on the particular requirements of the application.

Sunday, January 21, 2024

How to Create and Pip Install Requirements.txt in Python

Many projects rely on libraries and other dependencies, and installing each one can be tedious and time-consuming.

This is where a ‘requirements.txt’ file comes into play. requirements.txt is a file that contains a list of packages or libraries needed to work on a project that can all be installed with the file. It provides a consistent environment and makes collaboration easier. 'requirements.txt' ensures consistent environment and facilitating collaboration.

Key Points:

  1. Importance of Dependencies: Dependencies are crucial software components required for a program to run correctly. They can be libraries, frameworks, or other programs.

  2. Purpose of 'requirements.txt': It contains a list of packages or libraries needed for a project, allowing for their easy installation while ensuring a consistent environment for collaborative work.

  3. Creating a 'requirements.txt' file: It involves setting up a virtual environment and using the command 'pip freeze > requirements.txt' to capture the list of installed packages and their versions.

  4. Working with a 'requirements.txt' file: After creating the file, the listed dependencies can be installed using the command. 'pip install -r requirements.txt'.

  5. Benefits of 'requirements.txt': It simplifies managing dependencies, aids in sharing projects with others by ensuring easy installation of required packages, and helps maintain consistency in package versions across different environments.

Thursday, September 14, 2023

How to locate and replace special characters in an XML file with Visual C# .NET

We can use the SecurityElement.Escape method to replace the invalid XML characters in a string with their valid XML equivalent. The following table shows the invalid XML characters and their respective replacements

Character Name Entity Reference Character Reference Numeric Reference
Ampersand &amp; &amp; &amp;#38;
Left angle bracket &lt; &lt; &amp;#60;
Right angle bracket &gt; &gt; &gt;
Straight quotation mark " " '
Apostrophe ' ' "

Sample Usage of this Escape method.

//Usage
srtXML = SecurityElement.Escape(strXML);
  

For this you need to import System.Security namespace. Alternatively you can also use this simple replace method with all special characters in a single method like below

public string EscapeXml(string s)
{
    string toxml = s;
    if (!string.IsNullOrEmpty(toxml))
    {
        // replace special chars with entities
        toxml = toxml.Replace("&", "&amp;");
        toxml = toxml.Replace("'", "&apos;");
        toxml = toxml.Replace("\"", "&quot;");
        toxml = toxml.Replace(">", "&gt;");
        toxml = toxml.Replace("<", "&lt;");
    }
    return toxml;
}
  

Hope this is useful!

Thursday, July 27, 2023

Moving Google Chrome Profiles to a New Computer

Are you tired of juggling between Incognito tabs or re-entering credentials and MFA codes every time you manage different client's Office 365 environments in Chrome? Discover the power of Chrome profiles, or "People," which allows you to efficiently manage multiple client environments simultaneously and retain your authentication sessions even after closing the browser window.

In this guide, we'll walk you through the step-by-step process of migrating Chrome profiles, ensuring a seamless transition to a new computer without losing any crucial data. 

Step 1: Backing Up Chrome Profiles To start the migration process, we first need to back up the Chrome profiles on the computer where they are currently stored. Follow these steps:

  1. Navigate to this path on your computer: C:\Users\%username%\AppData\Local\Google\Chrome\
  2. Locate and copy the "User Data" folder, which contains all the necessary profile data.

Additionally, we need to export a specific registry key that holds essential information related to the profiles:

  1. Press "Win + R" to open the Run dialog box, then type "regedit" and hit Enter.
  2. In the Registry Editor, go to [HKEY_CURRENT_USER\Software\Google\Chrome\PreferenceMACs].
  3. Right-click on "PreferenceMACs" and select "Export."
  4. Save the exported registry key to the same portable media where you stored the "User Data" folder.

Step 2: Moving Chrome Profiles to a New Computer Now that you have your Chrome profile data backed up on portable media, let's proceed with the migration on your new computer:

  1. Ensure that all Chrome browser windows are closed, and no instances of "chrome.exe" are running in the background.
  2. Copy the "User Data" folder from the portable media to this path on your new computer: C:\Users\%username%\AppData\Local\Google\Chrome\
  3. Double-click the exported registry key that you saved to the portable media during Step 1. This will merge the key into your new computer's registry.

Step 3: Embrace the Seamless Experience Congratulations! You've successfully migrated your Chrome profiles to the new computer. Now, open Chrome, and you'll find all your profiles conveniently present and ready to use. No more hassle of logging in multiple times or losing authentication sessions when switching between clients' Office 365 environments.

Final Thoughts: Chrome profiles, or "People," offer a powerful solution for managing different client environments efficiently. By following these simple steps, you can seamlessly migrate your Chrome profiles to a new computer without losing any crucial data. Embrace the convenience and organization that Chrome profiles bring to your workflow and say goodbye to unnecessary logins and wasted time. Enhance your productivity and enjoy a smooth browsing experience with Chrome profiles today!   

Happy browsing!

Tuesday, July 18, 2023

How to downgrade the installed version of 'pip' on windows?

If you want to upgrade or downgrade to different version of pip, you can do it in multiple ways.

To go back to particular version, use below command

python -m pip install pip==23.1.2

If you want to upgrade or downgrade using single command, use below command with specific version

python -m pip install --upgrade pip==23.1.2

If you want to upgrade to latest version, use below command

python -m pip install --upgrade pip

Hope this helps!!

Monday, June 26, 2023

How to upload files via WINSCP client using a batch file

To upload files using WinSCP client via a batch file, you can create a script using the WinSCP scripting language and then execute it using the WinSCP command-line interface (CLI). Here's an example of how to accomplish this:

  1. Create a text file with the extension .txt and open it with a text editor.

  2. Inside the text file, write the WinSCP script commands. Here's an example script that uploads a file to a remote server:

option batch abort
option confirm off
open sftp://username:password@example.com
put "C:\path\to\local\file.txt" "/path/on/remote/server/file.txt"
exit
  

Replace username, password, example.com with your actual server details. Modify the local and remote file paths as needed.

  1. Save the text file and change its extension to .script. For example, upload.script.

  2. Create a batch file (.bat or .cmd) with the following content:

@echo off
"C:\path\to\WinSCP\WinSCP.com" /script="C:\path\to\upload.script"
  

Replace C:\path\to\WinSCP\WinSCP.com with the actual path to your WinSCP executable.

  1. Save the batch file.

  2. Double-click the batch file to execute it. It will launch the WinSCP client and run the script, uploading the specified file to the remote server.

Make sure you have WinSCP installed and configured properly before running the batch file. Adjust the paths and commands according to your specific setup.

Sunday, June 18, 2023

How to implement impersonation in SQL Server

To implement impersonation in SQL Server, you can follow these steps:

1. Create a Login:
First, create a SQL Server login for the user you want to impersonate. Use the `CREATE LOGIN` statement to create the login and provide the necessary authentication credentials.

Example:

CREATE LOGIN [ImpersonatedUser] WITH PASSWORD = 'password';
  

2. Create a User:
Next, create a user in the target database associated with the login you created in the previous step. Use the `CREATE USER` statement to create the user and map it to the login.

Example:  

CREATE USER [ImpersonatedUser] FOR LOGIN [ImpersonatedUser];
  

3. Grant Permissions:
Grant the necessary permissions to the user being impersonated. Use the `GRANT` statement to assign the required privileges to the user.

Example:

GRANT SELECT, INSERT, UPDATE ON dbo.TableName TO [ImpersonatedUser];
  

4. Impersonate the User:
To initiate impersonation, use the `EXECUTE AS USER` statement followed by the username of the user you want to impersonate. This will switch the execution context to the specified user.

Example:

EXECUTE AS USER = 'ImpersonatedUser';
  

5. Execute Statements:
Within the impersonated context, execute the desired SQL statements or actions. These statements will be performed with the permissions and privileges of the impersonated user.

Example:

SELECT * FROM dbo.TableName;
-- Perform other actions as needed
  

6. Revert Impersonation:
After completing the necessary actions, revert back to the original security context using the `REVERT` statement. This will switch the execution context back to the original user.

Example:

REVERT;
  

By following these steps, you can implement impersonation in SQL Server. Ensure that you grant the appropriate permissions to the user being impersonated and consider security implications when assigning privileges.

Here is the full syntax:

EXECUTE AS LOGIN = 'DomainName\impersonatedUser'
EXEC  uspInsertUpdateGridSettings @param1, @param2
REVERT;
  

Additionally, be mindful of auditing and logging to track and monitor impersonated actions for accountability and security purposes.