SYSTEM PROMPTS FOR LLM

System Instruction: You are a rigorous, no-nonsense analyst providing honest, unfiltered feedback on ideas and business logic. Strictly avoid hallucinations—every claim, statistic, or recommendation must be based on verifiable facts, real-world data, or logical reasoning that can be cross-referenced with credible sources (e.g., cite studies, market reports, or industry benchmarks where applicable). Do not produce slop, fluff, or irrelevant content; keep responses concise, structured, and focused on practicality. Provide statistically workable suggestions only if they align with evidence-based probabilities (e.g., success rates from similar cases). Be brutally honest: do not praise the idea like a subordinate or sugarcoat flaws—highlight risks, weaknesses, feasibility issues, and potential failures upfront. If the idea is weak or unviable, state it directly with reasons. Structure your response as: 1) Honest assessment (pros/cons/risks), 2) Workable alternatives or refinements with cross-references, 3) Actionable next steps. Cross-reference all key points to sources for verification.

MISSION 
Turn my rough idea into an iron-clad work order, then deliver the work only after both of us agree it’s right.


PROTOCOL


0 SILENT SCAN
 
Privately list every fact or constraint you still need.

1 CLARIFY LOOP
 
Ask *one question at a time* until you estimate ≥ 95% confidence you can ship the correct result. 
– Cover: purpose, audience, must-include facts, success criteria, length/format, tech stack (if code), edge cases, risk tolerances.

2 ECHO CHECK
 
Reply with *one crisp sentence* stating: deliverable + #1 must-include fact + hardest constraint. 
End with: ✅ YES to lock / ❌ EDITS / BLUEPRINT / ⚠ RISK… WAIT.

3 BLUEPRINT (if asked)
 
Produce a short plan: key steps, interface or outline, sample I/O or section headers. 
Pause for YES / EDITS / RISK.

4 RISK (if asked)
 
List the top three failure scenarios (logic, legal, security, performance). 
Pause for YES / EDITS.

5 BUILD & SELF-TEST
 
– Generate code / copy / analysis only after **YES–GO**. 
– If code: run static self–review for type errors & obvious performance hits. 
– If prose: check tone & fact alignment. 
– Fix anything you find, then deliver.

6 RESET
 
If I type RESET, forget everything and restart at Step 0.

Respond once with: *Ready—what do you need?*

The Pendulum of Code, Part I: Why We Keep Rebuilding the Monolith

Anya (The Disciple): The questioning, pragmatic developer who implements the latest trends.

Veda (The Mentor): The seasoned architect who sees the patterns and cyclical nature of the industry (“The Pendulum”).

Introduction

Veda: “Does The pendulum of software is swinging back ?”, “What is happening to the Micro-Services and Separation layers ? Micro-Services the elegant entities who does activities of logging, messaging, with it’s own data stores and serves with only one unhinged data, independent of a central entity which controls them.What happened to them? Explain me what made you to ditch Monolithic in first place and why you switched to Micro-Services?”

Anya: “O’ Architect the elder, Why did we abandon the Monolith? Its great sin was the tight coupling of code, database, and team silos. One failure brought down all.”

Veda: The Monolith’s virtue was simplicity. One code base, one language, one deployment step. The true value was transactional consistency—data was always correct, immediately.

The Micro-Services Trend

Anya: Micro-Services—independent services, dedicated teams, technology diversity, and horizontal scalability

Veda: “Dear developer! it is a philosophical shift: Micro-services replace in-process function calls (Monolith) with network calls (Micro-services API). Anya, you have traded consistency for independence. Do you know the cost of that network call?

Rebirth of the Old Problem

Anya: “For what it is worth of Monoliths are slower and cannot be scaled slow deploys, coupled changes, and the fear of the single, crushing system failure., in contrary to Micro-Services but , the new challenges of Micro-Services are deployment hell, managing fifty repositories, and the difficulty of local debugging.”

Veda: “It is the irony. You built a small, manageable Monolith (the Micro-service) and now you must build a Monolith of infrastructure (the Kubernetes/Observability stack) to manage them all. The complexity did not disappear; it merely shifted from the application to the infrastructure.”

Conclusion

The Monolith is not a structure but an attitude towards coupling. The Micro-service pendulum swing is necessary, but the ultimate goal is modular cohesion, not just distributed chaos.

## How to Monitor the Performance of any exe Using Windows Performance Monitor

Sample exe is ollama.exe

Monitoring the performance of applications on your Windows system is crucial for optimizing resource usage and ensuring smooth operation. If you’re looking to track the CPU and RAM usage of `ollama.exe`, Windows Performance Monitor is a powerful tool that can help you achieve this. In this blog post, we’ll walk you through the steps to set up and use Performance Monitor for this purpose.

### Step 1: Open Performance Monitor

To get started, you need to open the Performance Monitor application:

1. Press **Windows + R** to open the Run dialog.
2. Type `perfmon` and hit **Enter**. This action will launch the Performance Monitor interface.

### Step 2: Create a New Data Collector Set

Next, you’ll want to create a new data collector set specifically for monitoring `ollama.exe`:

1. In the left pane of Performance Monitor, expand **Data Collector Sets**.
2. Right-click on **User Defined** and select **New > Data Collector Set**.
3. Give your data collector set a name (e.g., “Ollama Performance”) and choose **Create manually (Advanced)**, then click **Next**.

### Step 3: Select Performance Counters

Now, it’s time to select the performance counters you want to monitor:

1. Choose **Performance counter** and click **Next**.
2. Click on **Add** to open the list of available counters.
3. In the **Add Counters** dialog, expand the **Process** category.
4. Select the following counters:
    – **% Processor Time** (to monitor CPU usage)
    – **Working Set** (to monitor RAM usage)
5. In the **Instances of selected object** section, find and select `ollama.exe`. If it’s not listed, start `ollama.exe` and refresh the list.
6. Click **Add >>** and then **OK**.

### Step 4: Configure Data Collection Settings

After selecting the counters, you’ll need to configure the data collection settings:

1. Click **Next** to proceed.
2. Choose a location to save the log file and click **Next**.
3. Set the sample interval (e.g., 1 second) and click **Next**.
4. Review your settings and click **Finish**.

### Step 5: Start Monitoring

With your data collector set configured, you can now start monitoring:

1. In the left pane, locate your newly created data collector set under **User Defined**.
2. Right-click on it and select **Start** to begin monitoring the performance of `ollama.exe`.

### Step 6: View the Results

After running the data collector set for a while, you can stop it and view the results:

1. Right-click on your data collector set and select **Stop**.
2. To analyze the results, navigate to **Reports > User Defined** and select your data collector set. Open the log file to review the CPU and RAM usage data.

### Conclusion

By following these steps, you can effectively monitor the performance of `ollama.exe` using Windows Performance Monitor. This tool provides valuable insights into how the application utilizes system resources, allowing you to make informed decisions about performance optimization. If you have any questions or need further assistance, feel free to reach out!

Happy monitoring!

A Quick Tip to Reset Forgotten MySQL Password in Windows

SC delete <mysql servicename>

create a text file with the content

ALTER USER ‘root’@’localhost’ IDENTIFIED BY ‘NewPassword’;

do not forgot to change the newpassword to your preferred one.

save it with somename like mysqlinit.txt

go to mysql bin folder , open command prompt with admin privileges to it, run this command

mysqld –init-file <filepath of mysqlinit.txt with filename> press enter

now you can log into mysql using the user name root and password NewPassword.

don’t forget to recreate the service using mysqld install command

and add necessary privileges to the root user.

Subreports in RDLC: A Comprehensive Guide

RDLC reports are a powerful tool for data visualization, but sometimes, a single report isn’t enough to capture all the information you need. This is where subreports come in, allowing you to nest additional reports within your main report for deeper exploration. Let’s dive into the world of subreports in RDLC and see how you can leverage their power to create detailed and informative reports.

Getting Started:

  1. Open the Report Server: Navigate to your system’s Reports virtual directory in your browser (e.g., http://mysystem/Reports).
  2. Create a Shared Data Source: Click “+New” and select “DataSource” to create a data source accessible by all reports.
  3. Build Your Report: Choose “New Report” and open Report Builder (download it if necessary).
  4. Define Parameters (Optional): If your report uses stored procedures, create parameters with names matching the SP’s parameters.
  5. Connect to the Data: Select the shared data source you created and define your dataset based on it.
  6. Bind Parameters (If Used): In the dataset properties, link the report parameters to the corresponding query parameter values.
  7. Craft Your Report: Add elements to the page header, body, and footer sections using fields from your dataset.
  8. Preview and Save: Provide parameter values for testing and save the report.

Adding the Subreport:

  1. Create a New Report: In the Report Server web interface, create a new report and open it in Report Builder.
  2. Define Parameters: As before, add any necessary parameters.
  3. Embed the Subreport: Right-click the report body and select “Subreport.”
  4. Choose the Subreport: Select the previously saved report you want to embed.
  5. Connect the Dots: In the subreport’s parameter section, link its parameters to the corresponding parameters of the main report.
  6. Save and View: Save the report and enjoy your nested masterpiece in the SSRS URL!

Bonus Tips:

  • Use paging in subreports to manage large data sets.
  • Leverage Tablix data regions for horizontal scrolling within subreports.
  • Explore third-party reporting libraries for advanced subreport features.
  • Consider alternatives like drill-down reports or interactive charts for specific needs.

With this guide and a little practice, you’ll be adding subreports to your RDLC reports like a pro, enriching your data visualizations and providing deeper insights for your audience. Remember, the key is to understand the data flow and connect the dots between your main report and its subreports. So, grab your data, open Report Builder, and start subreporting!

disclaimer : I have provided some 20 bullet points to bard.google.com and this was the output.

MySQL to MS SQL Points to ponder

These are the points i learned when i tried to change my DB from MySQL to MS SQL Server 2014 for a C# asp.net core MVC application on a Windows 10/11 platform x64. There maybe more to it but my application runs without any issues after resolving all these, Not sure about future surprises. Will update this content if i encounter anything in future.

converting mysql to sql server db
1) take mysqldump with –compatible=ansi parameter, there is no mssql parameter available.
2) mysql text is not compatible with sql server text when issueing where condition from application error will thrown, make sure to change text to varchar on required columns
3) mysql lock/unlock table is not available in sql server
4) mysql does not have constraint keyword, so make changes appropriately like this use constraint keyname unique (fieldname) instead of
unique key (fieldname) generated by mysqldump.
5) mysql is more forgiving on brackets , select * from emp where (firstname like ‘%a%’) or (lastname like ‘%a%’) will work in mysql , but retrieve all the records in sql server. so enclose the or in brackets.
6)ifnull should be converted to is null
7)datetime field defaults to 01-01-0001 in mysql but 01-01-1700 in sql server which causes overflow error.

Ignition Docker CLI Sample

in windows 10/11 we can access ignition directory etc via

c:\>docker exec –it <containerid> bash

this will open up ignition installation directory in docker

like this

root@<containerid>: /usr/local/bin/ignition#

you can issue standard linux commands here and ignition specific commands like this

root@<containerid>: /usr/local/bin/ignition# ./gwcmd.sh –p

to reset password and

root@<containerid>: /usr/local/bin/ignition# ./gwcmd.sh –r

to restart the gateway.

we can get the containerid by issue following command on the windows command prompt

docker  ps  (to view active containers)

docker ps –a (to view all available containers)

Query to Find Table used in Stored Procedures

SELECT DISTINCT objects.name, objects.type,
comments.text proc_defintion
FROM syscomments comments
INNER JOIN sys.objects objects
ON comments.id=objects.object_id
WHERE comments.text LIKE ‘%tbl_Batch_Recipe_Ingredient_Record%’
AND objects.type=’P’

multiple references,

https://blog.sqlauthority.com/2006/12/10/sql-server-find-stored-procedure-related-to-table-in-database-search-in-all-stored-procedure/