Tuesday, May 30, 2023

How to open chrome in kiosk mode with a fixed URL?

To open Google Chrome in kiosk mode with a fixed URL, you can follow these steps:

  • Create a desktop shortcut for Google Chrome (if you don't already have one). Right-click on the desktop or the Chrome executable, select "Create shortcut," and place it on your desktop.
  • Right-click on the newly created shortcut and select "Properties" from the context menu.
  • In the "Target" field, you will see the path to the Chrome executable. Add the following flags at the end of the path:
    • --kiosk --app=<URL>
    • Replace <URL> with the fixed URL you want to open in kiosk mode. For example:
    • Example: "C:\Program Files\Google\Chrome\Application\chrome.exe" --kiosk --app=https://www.example.com
  • Click "Apply" and then "OK" to save the changes.
  • Double-click on the modified shortcut, and Google Chrome will launch in kiosk mode with the specified URL. The browser window will be full screen and locked down, preventing users from accessing the browser's menus or other websites.

Note: Keep in mind that when running Chrome in kiosk mode, it's essential to have a way to exit the kiosk mode. You can press Alt+F4 (Windows) or Command+Q (Mac) to close the browser.

Additionally, please note that the exact location of the Chrome executable may vary depending on your operating system and installation settings. Adjust the path accordingly if needed.

Sunday, May 28, 2023

How can someone with no prior knowledge of web development or programming learn ASP.Net Core?

Learning ASP.NET Core as a beginner with no prior knowledge of web development or programming can be challenging but definitely achievable. Here's a step-by-step guide to help you get started:

  • Understand the Basics: Familiarize yourself with fundamental concepts of programming like variables, data types, control structures (loops, conditionals), and basic algorithms. Learn about HTML, CSS, and JavaScript as they are essential for web development. These languages handle the client-side of web applications.
  • Get Familiar with C#: ASP.NET Core uses C# as its primary programming language. Invest time in learning C# basics, such as syntax, variables, data types, classes, and object-oriented programming (OOP) concepts.
  • Set Up Your Development Environment: Install Visual Studio Code or Visual Studio, which are popular integrated development environments (IDEs) for .NET development. Install .NET Core SDK, which includes the necessary tools to build and run .NET applications.
  • Learn ASP.NET Core Concepts: Study the foundational concepts of ASP.NET Core, such as routing, middleware, MVC (Model-View-Controller) pattern, and dependency injection. Explore the official ASP.NET Core documentation and tutorials provided by Microsoft. They offer comprehensive guides and examples for various topics.
  • Online Tutorials and Courses: Take advantage of online resources, tutorials, and courses designed specifically for learning ASP.NET Core. Websites like Microsoft Learn, Udemy, Pluralsight, and YouTube offer excellent learning materials.
  • Hands-on Practice: Apply what you've learned by building small web applications. Start with simple projects and gradually increase the complexity. Participate in coding exercises and challenges to improve your problem-solving skills.
  • Join Developer Communities: Engage with the developer community to seek guidance, share knowledge, and ask questions. Join forums, online communities, and social media groups related to ASP.NET Core or C#.
  • Explore Sample Projects: Examine open-source projects on platforms like GitHub to see how ASP.NET Core is used in real-world scenarios. Analyzing code written by experienced developers can deepen your understanding.
  • Read Books: Consider reading books dedicated to ASP.NET Core and web development in general. Some popular titles include "Pro ASP.NET Core MVC" by Adam Freeman and "ASP.NET Core in Action" by Andrew Lock.
  • Continuous Learning: Keep up with updates and new features in ASP.NET Core by following official documentation, blogs, and online resources. Technology evolves rapidly, so ongoing learning is crucial.

Remember, learning web development and ASP.NET Core is a journey that requires patience and persistence. Break down complex concepts into manageable parts and celebrate small achievements along the way. Practice regularly and gradually take on more challenging projects to solidify your skills. Good luck!

Saturday, May 27, 2023

What is the best resource for learning .NET, ASP.NET, and MVC framework in .NET?

There are several excellent resources available for learning .NET, ASP.NET, and the MVC framework. Here are some popular options:

  • Microsoft Documentation: The official Microsoft Documentation is a comprehensive resource that covers all aspects of .NET, ASP.NET, and MVC. It provides detailed explanations, tutorials, and examples. You can find documentation at the following links:
  • Microsoft Learn: Microsoft Learn is an interactive learning platform with a wide range of free courses and tutorials for .NET, ASP.NET, and MVC. It offers hands-on exercises, guided learning paths, and assessments. You can access Microsoft Learn here: https://docs.microsoft.com/en-us/learn/
  • Pluralsight: Pluralsight is an online learning platform that provides high-quality video courses on various programming topics, including .NET, ASP.NET, and MVC. It offers a vast library of courses taught by industry experts. You can find .NET courses on Pluralsight at: https://www.pluralsight.com/browse/software-development/dotnet
  • Udemy: Udemy is another popular platform that offers a wide range of video courses, including comprehensive .NET, ASP.NET, and MVC tutorials. It features courses created by different instructors, allowing you to choose the one that suits your learning style. You can explore .NET courses on Udemy at: https://www.udemy.com/topic/dotnet/
  • Books: There are numerous books available that cover .NET, ASP.NET, and MVC in detail. Some highly recommended titles include "Pro ASP.NET MVC Framework" by Adam Freeman, "C# 9.0 in a Nutshell" by Joseph Albahari and Ben Albahari, and "CLR via C#" by Jeffrey Richter.

Remember that learning resources can vary in terms of depth, complexity, and teaching style. It's a good idea to try out different resources to find the ones that resonate with your learning preferences and goals. Additionally, practicing coding exercises, building projects, and participating in developer communities can greatly enhance your learning experience.

Is it possible to learn software development and coding from scratch in an easy way?

Yes, it is possible to learn software development and coding from scratch, and there are several resources available to make the process easier. Here are some steps you can follow:

  • Define your goals: Determine what you want to achieve in software development. It could be building websites, mobile apps, or working with specific programming languages.
  • Choose a programming language: Start with a beginner-friendly language such as Python or JavaScript. These languages have a gentle learning curve and are widely used in various domains.
  • Online tutorials and courses: Many online platforms offer tutorials and courses for beginners. Websites like Codecademy, Udemy, Coursera, and freeCodeCamp provide structured lessons and hands-on coding exercises.
  • Practice coding: Actively engage in coding exercises and projects to reinforce your learning. Practice regularly to build your problem-solving skills and improve your understanding of programming concepts.
  • Join coding communities: Participate in online forums, coding communities, and social media groups where you can interact with fellow learners and experienced developers. This can provide opportunities for discussions, sharing knowledge, and getting feedback on your code.
  • Build projects: Apply your knowledge by working on small projects. Start with simple projects and gradually increase the complexity as you gain confidence. Building projects helps you apply your skills and provides valuable hands-on experience.
  • Learn from open-source projects: Explore open-source projects on platforms like GitHub. Analyze the code written by experienced developers, understand their approaches, and learn from their best practices.
  • Read documentation: Familiarize yourself with the documentation of programming languages and frameworks you are using. Documentation provides valuable insights, examples, and explanations of various functions and features.
  • Stay updated: The field of software development is constantly evolving. Stay updated with the latest trends, frameworks, and best practices through blogs, podcasts, newsletters, and online communities.
  • Continuous learning: Software development is a lifelong learning process. Keep exploring new languages, frameworks, and technologies to expand your skill set.

Remember, learning software development requires dedication, practice, and perseverance. Be patient with yourself, embrace challenges, and celebrate your progress along the way.

Why do programmers keep three-four systems on their desk instead of using a single computer?

Programmers often use multiple systems on their desk for various reasons. While it's not a universal practice, here are some common reasons why programmers might choose to use multiple computers:

  • Specialized Environments: Programmers often work with different technologies, frameworks, or programming languages. Having multiple systems allows them to set up dedicated environments for each technology without the need to constantly switch configurations. For example, they may have one machine set up for web development, another for mobile app development, and so on.
  • Testing and Debugging: Programmers frequently need to test their code in different environments to ensure compatibility and identify potential issues. By using multiple systems, they can simultaneously test their code on different operating systems, browsers, or hardware configurations.
  • Resource Intensive Tasks: Some development tasks, such as compiling large codebases or running resource-intensive simulations, can consume a significant amount of processing power or memory. By distributing the workload across multiple systems, programmers can speed up their development process and avoid overloading a single machine.
  • Separation of Work: Using separate systems helps programmers keep their work organized and separate. They can have one system dedicated to their primary development tasks, another for communication and browsing, and possibly a third for experimenting or testing new tools without risking the stability of their primary environment.
  • Redundancy and Backup: Programmers often deal with valuable code and data. By having multiple systems, they can create redundant backups, ensuring that their work is safe even if one machine fails. They may also use one system as a dedicated backup server or version control system.
  • Collaboration and Pair Programming: In team environments, programmers might have multiple systems to facilitate collaboration. They can work side-by-side with another programmer, sharing screens or code between the systems, which can enhance productivity and teamwork.

It's important to note that not all programmers use multiple systems, and many are perfectly content with a single powerful machine. The decision to use multiple systems depends on individual preferences, specific work requirements, and budget considerations.

Are average software engineers of age 35-40 struggling to find jobs that pay up to their expectations?

While age alone is not a determining factor for job opportunities, there are a few considerations that can impact an individual's job search experience:

  • Experience: Software engineers with 10 to 15 years of experience can bring valuable skills and expertise to the table. However, some companies may prioritize hiring younger engineers due to perceived cost benefits or a focus on new technologies. This can make it more challenging for mid-career professionals to find positions that match their expectations.
  • Evolving technology landscape: The field of software engineering is dynamic, with new technologies and programming languages emerging regularly. Mid-career professionals should ensure they keep their skills up-to-date to remain competitive in the job market. Demonstrating a willingness to learn and adapt can enhance their chances of finding suitable opportunities.
  • Job market demand: The demand for software engineers can vary based on factors such as location, industry, and economic conditions. Some regions or industries may have a higher demand for software engineers, leading to more job opportunities and potentially better compensation. Researching the local job market and understanding the demand for specific skills can be helpful in assessing job prospects.
  • Networking and personal branding: Building a professional network and maintaining an online presence can be advantageous when searching for job opportunities. Engaging in industry events, conferences, and online communities can help mid-career professionals expand their network and uncover hidden job prospects.

Ultimately, the job search process can be influenced by a variety of factors beyond age. Factors such as skills, experience, market demand, and the ability to adapt to new technologies play significant roles in determining job opportunities and salary expectations for software engineers.

Saturday, May 20, 2023

How to send notification on Microsoft Team using Webhook from UiPath?

By using webhook we can send notification on Microsoft Team's channel only. To configure a webhook in UiPath we need an HTTP Request activity and for http request activity we have to install UiPath.WebAPI.Activities package.

Webhook is a post request, so for http request activity we need following information for configuration purpose:

  • Webhook URL 
  • Payload for request
How to create a webhook in Microsoft Team?
I have already created an article for this. Please refer to the below article if you don't know about it.

How to create process in UiPath for sending notification?
Select a Process from New Project section


Provide a name to your process and click on Create button
Click on Main.xaml in project tab
A webhook is a rest API, so to call it from UiPath we need "HTTP Request" activity. To do this we have to install UiPath.WebAPI.Activities package.
Click on Manage Packages => Click on All Packages => In search tab type 'UiPath.WebAPI.Activities' => Click on 'UiPath.WebAPI.Activities' from search result => Click on 'Install' button => Click on 'Save' button
Click on Activities tab
Drag 'HTTP Request' to Main Sequence => Click on Configure button => a pop up window will appear

In the End point text box paste your webhook URL in double quotes("") => From Request Method dropdown select POST => Click on Ok button
In the right panel go to Properties tab => set the Body Format to application/json => In Body provide your payload(webhook supports a specific format only) => Click on OK button
Example of a very simple payload:
"{'title':'New Ticket','text':'Splunk created a new ticket'}"

Now go to Debug File => click on Run
You will get a notification
Go to teams channel and you will see the message 








How to create a webhook in Microsoft Team?

A webhook in Microsoft Team can be created for a team's channel only.

For creating a new team, you can do it under Teams tab. Once you create a new team then a default channel with name "General" is created by Microsoft inside the team.

Teams => Join or create a team => Create team


Now select the team and create a webhook for it
Click on the selected team name=> click on General => click on three dots(...) next to it => click on Connectors

Now from the pop up window click on  "Add" button which is next to "Incoming Webhook"

Once it will add successfully then a "Configure" button will be shown next to "Incoming Webhook"

Click on "Configure" button, a new popup window will open. In the popup window provide a name for your webhook and click on Create button

Once you will done it, webhook URL will generate. You can copy and save it.

How to convert plain string to base64 string in PowerShell?

We can also convert plain string to base64 string in PowerShell. In case you don't have C# or .NET on target machine where you want this conversion then PowerShell will be best choice. For this conversion PowerShell will also use same methods as we used in C#. 
Demo:


How to convert plain string to base64 string in C#?


In C# it is very easy to convert plain string to base64 string. We only have to use System and System.Text namespace in code for this conversion. Both namespaces are by default present in .NET Framework/Core.

Encode:

Decode:

Demo:

Output:


Will it be possible to live on Mars, as Elon Musk has said?

Elon Musk has expressed his ambition to establish a human presence on Mars in the future. While living on Mars is a long-term goal for Space...