Posts

Microsoft’s Physiology -- Understanding .NET and DB Connections

Image
Microsoft’s Physiology -- Understanding .NET and DB Connections "Microsoft’s Physiology" isn’t a commonly used phrase in tech, but I assume you're asking for an understanding of how .NET interacts with databases (DB connections) within Microsoft’s ecosystem. I’ll break it down into key components: 1. .NET Framework Overview .NET is a software framework developed by Microsoft that provides a controlled environment for the development and execution of applications. It supports multiple languages (like C#, VB.NET, and F#) and is widely used for developing Windows applications, web applications, and cloud services. Here’s how it fits in with database connectivity: 2. ADO.NET for Database Connectivity ADO.NET is the part of the .NET framework responsible for data access. It provides a bridge between the front-end application and databases, enabling interaction with relational databases like ...

NodeJS Ambiguity Sometimes – Import, Export, CommonJS, and ES Modules

Image
NodeJS Ambiguity — .mjs, CommonJS, and ES Modules The .mjs extension is used for JavaScript modules in the ECMAScript (ES) module format. Below are key points to help you navigate the often-confusing landscape of CommonJS vs ES Modules in Node.js. 1. Module Syntax Files with the .mjs extension allow you to use modern import and export statements, enabling modular programming in JavaScript. This provides a standardized way to manage dependencies and organize code. 2. Differentiation from .js While .js files can be used for both CommonJS ( require/module.exports ) and ES modules, .mjs explicitly indicates that the file is an ES module. This explicitness helps avoid ambiguity in environments that support both module types. 3. Browser and Node.js Support Modern browsers and Node.js support the .mjs extension. In Node.js you can alternatively set "type": "module" in pac...

Time is UP – Easepick the Simple Date Picker

Image
Litepicker is a lightweight and easy-to-implement date picker. If you're working in a Node.js environment, simply install it via the command line with: &nbsp For a bash install use the command line: npm install litepicker &nbsp Alternatively, you can use the CDN for quick integration. &nbsp &nbsp If you're using TypeScript and encounter an error, try adding `esModuleInterop` to your `tsconfig.json` file. For more details, check the documentation. &nbsp In addition to the usual date-picking features, Litepicker offers several useful plugins, such as: &nbsp &nbsp Keyboard accessibility &nbsp &nbsp Mobile-friendly design &nbsp &nbsp Predefined date range &nbsp &nbsp Multiple date selection &nbsp Litepicker is open-source, well-documented, and works seamlessly with your custom CSS.

Oracle and Microsoft .NET – Developing .NET Applications with Oracle Databases

Image
You might wonder, “Why would I develop .NET applications with Oracle databases, knowing that Microsoft SQL Server and related services are tightly integrated with .NET, and easily accessible within Microsoft’s development tools?” &nbsp As a Technology Architect designing government projects, I’ve had to work in environments where clients use various database systems, including Microsoft SQL Server, Oracle databases, and others. &nbsp But hold on to your $1,000 iPhone—Oracle offers a suite of tools for .NET development: - .NET Core for Visual Studio Code - .NET Core for Visual Studio - .NET Framework for Visual Studio - .NET Core Command Line &nbsp Additionally, just like Microsoft, Oracle provides free development databases and tools for both Windows and Linux. So, how does the magic happen? Setting up the environment using the .NET Core Command Line involves four basic steps (Note: Depending on your configuration, it's best to run the comman...

Tuning the MS SQL Server – The Easy Way, Securely

Image
Tuning the MS SQL Server – The Easy Way, Securely SQL Server performance tuning is essential for maintaining a fast, efficient, and secure database environment. Tuning is about optimizing SQL Server to handle workloads efficiently, reducing bottlenecks, and ensuring that security is not compromised during optimization. Here’s a practical guide for tuning SQL Server the easy way, with a focus on keeping it secure. 1. Index Optimization Indexes improve query execution speed but poorly designed or fragmented indexes can degrade performance. Rebuild or Reorganize Indexes: Use SQL Server’s Rebuild and Reorganize index options to fix fragmentation. Rebuild for heavily fragmented indexes (>30%). Reorganize for less fragmented indexes (5-30%). Schedule during low-traffic periods. Use DMVs to monitor index usage: SELECT db_name(database_id) AS DatabaseName, object_name(i...

The Gram Cracker Effect – Open Source Security Assessment

Image
The Gram Cracker Effect – Open Source Security Assessment There are approximately 150 key security terms defined by the SANS Institute. How many of them focus on the use of open-source code? Surprisingly, none are directly related to code risk assessment. How Can You Consistently Assess the Risks of Open Source Code? To start, tap into your knowledge of security assessment. Yes, this will require research. From your research, you'll be able to identify gaps in your understanding and areas where you need to focus. Step 1: Recognize the Risks of Using Open Source Code One of the highest risks in coding comes from using someone else’s code. Why is this a big risk? Some code is deliberately written to be malicious. Even non-malicious code can contain vulnerabilities that create security holes. Open-source code is often not updated regularly with the latest security patches. Step 2: Develop a Risk...

Rolling Your Own – Prompt Engineering (the basics)

Image
Prompt engineering is an essential aspect of working with AI models, particularly those based on natural language processing (NLP) like GPT-4. &nbsp The quality of the prompts directly impacts the quality of the AI's responses. Well-crafted prompts can elicit more accurate, relevant, and creative answers. In addition, precise prompts help minimize ambiguity and misunderstandings, leading to more focused and useful outputs. Good prompt engineering can reduce the need for multiple iterations, saving time and computational resources. &nbsp The challenges in Prompt Engineering are wide and long including the following: Ambiguity: Even well-crafted prompts can sometimes be misinterpreted by the AI, leading to irrelevant or incorrect output Bias: Prompts can inadvertently introduce biases, affecting the fairness and objectivity of the AI's responses. Complexity: Crafting effective prompts for complex tasks or niche domains can be challenging and may require domain-...

Having SharePoint’s Cousin to Dinner – InfoPath

Image
What is InfoPath? What is InfoPath? Microsoft InfoPath is a software application originally released as part of the Microsoft Office suite, designed to help users create, distribute, and manage electronic forms with structured data. It was primarily used to build forms that integrate with SharePoint, facilitating data collection, automation, and document workflows. Key Features of InfoPath: Form Creation: Create rich, dynamic forms with text boxes, drop-down lists, checkboxes, date pickers, and more. Data Connection: Connect forms to SharePoint, SQL databases, web services, or XML files for real-time data integration. Conditional Formatting: Apply logic-based formatting to show/hide fields, validate inputs, or change display settings. Integration with SharePoint: Embed forms in SharePoint libraries, lists, or workflows for business automation. Why Would You Use InfoPath? Automating Data Collection and Processing ...

Learning React Native — A Short List for Beginners

Image
1. Udemy Course: React and React Native 2 in 1 - Build Websites & Mobile Apps Cost: Paid What You’ll Learn: Build web apps with React Build mobile apps with React Native Create APIs with Node.js Use React Router v6 Integrate SocketIO for real-time apps Build login, registration, password recovery systems Work with MongoDB Send emails using SendGrid Full-stack apps: React, React Native, Node.js 2. Official React Native Documentation Cost: Free Best For: Text-based learners Overview: The official React Native documentation is a fantastic resource for beginners, offering detailed guides and examples to help you get started. 3. TutorialsPoint Cost: Free Overview: A comprehensive resource with tutorials on React Native, offering step-by-step instructions and examples for various concepts. 4. Encore Framework Website: Encore Framework Cost: Free Overview: Encore is a backend fram...

Power Automate – Going with the Flow

Image
Do you know what RPA is? &nbsp &nbsp It stands for Robotic Process Automation, and Power Automate is essentially a lighter version of RPA. &nbsp If you missed the memo in RPA class, here’s a quick refresher: RPA is a way to automate repetitive tasks that people currently do manually. For example, a simple RPA task could be pinning your favorite program to the Windows taskbar, eliminating the need to click "Start," scroll through the application list, and open the program manually. &nbsp A more complex use case might be routing an incoming email from your website to marketing, the order desk, and the fulfillment team—then automatically printing the shipping label. &nbsp That’s where Power Automate comes in: it automates processes within Microsoft Power Apps. It's fairly easy to learn, and like many Microsoft products, it uses a user-friendly graphical interface. Power Automate, similar to Word and Excel, offers pre-bui...

Learning to speak JavaScript for Excel

Image
The Excel JavaScript Object Model (JSOM) is a powerful feature for creating Office Add-ins that enhance the functionality of Excel. This API allows developers to interact with Excel workbooks, ranges, and worksheets directly through JavaScript. Here’s a comprehensive overview to get you started with the Excel JavaScript Object Model in Office Add-ins. Introduction The Excel JavaScript Object Model (JSOM) provides a way to create Office Add-ins that can interact with and manipulate Excel workbooks. This API enables developers to automate tasks, enhance user experience, and integrate Excel with other web services and applications using JavaScript. Key Concepts Office Add-ins: Office Add-ins extend the functionality of Office applications, such as Excel, by using web technologies like HTML, CSS, and JavaScript. They can run in the Excel client, in a browser, or in Excel Online. Excel JavaScript API: This API allows you to interact with Excel objects, such as worksheets, range...

Microsoft’s AirSim

Image
Microsoft's AirSim is a simulation platform originally designed for training autonomous vehicles, particularly drones, cars, and other robotic systems. Initial launched and developed AirSim an open-source project in 2017, aimed at providing a realistic simulation environment for researchers and developers working on autonomous systems. It was built on the Unreal Engine, allowing for highly realistic simulations. Of course it can be integrated with Azure (name a MS product that can’t be) Azure cloud platform enables large-scale simulations that require significant computational resources. AirSim has been used extensively in research and development for training AI models, especially in reinforcement learning, computer vision, and control systems for autonomous vehicles. The most recent updates before 2023 were focused on enhancing the platform's capabilities, such as more accurate physics, better integration with machine learning frameworks, and e...

What’s in the Box – Common Software Testing Types and Related Software

Image
What’s in the Box – Common Software Testing Types and Related Software Software testing is essential for ensuring that applications perform as expected, are free from critical bugs, and meet the requirements of users. Various testing types target different aspects of a software's functionality, security, and performance. Here's a breakdown of the common software testing types and the tools used for each. 1. Unit Testing Purpose: Validate that individual parts of the codebase function as expected. Common Tools: JUnit (for Java) NUnit (for .NET) pytest (for Python) Jest (for JavaScript) 2. Integration Testing Purpose: Ensure that combined components or services work together correctly. Common Tools: Postman (API testing) Selenium (UI-based integration testing) PyTest (with plugins for integration tests) SoapUI (for testing web services) ...

Writer’s Tears – Turning Numbers into Textures

Image
Raise your hand if you find telling stories with data challenging. If you’ve ever counted the number of books on the subject, you're not alone. &nbsp For data analysts (or those aspiring to be), much of your day involves taking numbers and giving them meaning. If I say “150” and just leave that number hanging, what does it mean? Is it the price of a watch, a percentage increase in stock, or the distance a train has traveled? &nbsp As an analyst, your job is to define numbers and give them context. For example, “150” could be the number of cars your company didn’t rent out over the weekend. That might represent 50% of your rentable vehicles, which in turn means revenue could be down by 30% compared to last weekend. &nbsp While those insights can be verbalized or written down, the real challenge comes when you have to present them visually. What type of graph should you use? Which colors, data points, and legends will best convey the story behind the number...

The Church of Agile – Sins of the Necessary

Image
I just realized that for the past seven years, I've been practicing essential Agile software development. After improving my skills by completing Google's Technical Documentation Course, I dove right into an Agile course. &nbsp But what exactly is Agile? How much does it cost, where can you get it, and is it a rub-on cream or a pill? Well, it’s free (unless you go for an Agile certification), and you’ll find it in the “best practices” section of project management. Depending on your team lead, you might get the cream (for a part of the project) or the pill (for the entire project). &nbsp The point is, Agile is a process for managing projects, as opposed to other management methods, and here's how it differs from other Software Development Life Cycle (SDLC) models: &nbsp Iterative and Incremental: Agile is characterized by iterative development, where the project is broken down into small, manageable units called "sprints" (usually 2-4 w...