Please visit our 3D printing service page, where we will put up more details:
3D Printing Service in Tenkasi – Sree Murugan Tile Works
Tips and Tricks for Increasing your PC's Performance and Fine-tuning your PC.
Please visit our 3D printing service page, where we will put up more details:
3D Printing Service in Tenkasi – Sree Murugan Tile Works
I do NOT recommended you to use Claude Code to execute arbitrary commands on a production application server. But it is a very addictive, time-saving thing to do - particularly to investigate the logs. If you want to ever do it, here is my suggestion for a skill that provides a harness. Please feel free to comment on your suggested improvements.
---
name: prod-vm
description: Rules and protocol for Claude Code when connecting to and operating on production VMs.
---
When the user asks Claude Code to connect to a production VM and perform actions, the following rules apply.
## Connection
Connections are typically made using `plink` with named saved sessions (e.g., `plink "ERP Kerberos Server" <command>`).
## Command Authorization
- **Diagnostic / read-only commands** (viewing logs, checking processes, disk usage, service status, etc.) are permitted without explicit authorization. `sudo` with a read-only payload is also permitted.
- **Any command that alters machine configuration or files** requires explicit user authorization before execution. Authorization may be granted for a single command, a batch of commands, or a class of commands (e.g., "you may restart services if needed").
- **Every command must be printed before execution**, along with the reason it is being run.
## Logging
Maintain a session log at `~/.claude/logs/prod-vm/<machine-name>.cc.log` on the dev machine (never on the prod VM). Log each command executed, the reason it was run, and a summary of its output.
## Data / File Downloads
Any files or data downloaded from the session must be listed at the end of the session for proper handling and securing.
## Sub-commands
If the user specifies `clean-logs`, delete all log files under `~/.claude/logs/prod-vm/`.
If the user specifies `help`, display the available sub-commands and a summary of the rules above.
Insights depends on ibis-framework[mysql], which requires the mysqlclient Python package—a C extension that needs MariaDB development headers.
During the Docker build:
Trying pkg-config --exists libmariadb
Command 'pkg-config --exists libmariadb' returned non-zero exit status 127.
/bin/sh: 1: pkg-config: not found
Exception: Can not find valid pkg-config name.
Specify MYSQLCLIENT_CFLAGS and MYSQLCLIENT_LDFLAGS env vars manuallyThis happened because the base frappe/erpnext image lacks pkg-config and MariaDB dev packages.
I updated my Containerfile to install the necessities as root:
USER root
RUN apt-get update && \
apt-get install -y --no-install-recommends \
libmariadb-dev \
build-essential \
&& rm -rf /var/lib/apt/lists/*
USER frappe
# Set env vars to skip pkg-config
ENV MYSQLCLIENT_CFLAGS="-I/usr/include/mariadb"
ENV MYSQLCLIENT_LDFLAGS="-L/usr/lib -lmariadb"This forces mysqlclient to build from source using explicit paths, keeping the image lean (no pkg-config needed). Rebuild the image, and the bench get-app step succeeds.
After getting the app, running bench --site site.name install-app insights failed with:
RuntimeError: NumPy was built with baseline optimizations: (X86_V2) but your machine doesn't support: (X86_V2).
NumPy 2.0+ (here v2.4.1) requires x86-64-v2 features (SSE4.2, SSSE3, POPCNT), but my VM didn't expose them.
Proxmox VM default CPU type (kvm64 or similar) emulates a minimal CPU without passing through host features. My Xeon Silver 4510 supports these, but the guest OS didn't see them (grep sse4_2 /proc/cpuinfo returned nothing).
In Proxmox UI:
This passes through the real CPU capabilities. No more NumPy error!
If you’re a Python developer using PyCharm and excited about Anthropic’s Claude Code (the powerful AI coding assistant that lives in your terminal and integrates with IDEs), you might run into the same frustrating issue I did recently.
I have a Claude Pro subscription, and I was eager to get the full IDE integration working in PyCharm 2025.3.1. Here’s what happened and how I finally fixed it.
My Setup
• PyCharm version: 2025.3.1.1 (Build #PY-253.29346.308)
• Claude Code CLI: v2.1.5 (updated to latest)
• Claude Code PyCharm Plugin: 0.1.14-Beta (installed from JetBrains Marketplace)
• OS: Windows 11 Pro
The Claude CLI worked perfectly when I typed claude in my regular terminal — it launched, chatted with my codebase, everything fine.
But inside PyCharm:
• Clicking the Claude icon launched the tool.
• Running /ide showed “No IDE detected”.
• Diff viewing, selection context sharing, file references, and other integrations refused to work.
• PyCharm popped up a notification: “Cannot Launch Claude Code. Please ensure Claude Code is installed and the ‘claude’ command is in your system path.”
I knew the claude command was in my PATH — it worked everywhere else!
What I Tried First (The Usual Suspects)
I followed Anthropic support’s excellent suggestions:
1. Ran claude update and restarted terminals/IDEs.
2. Checked PyCharm’s Python Console PATH in Settings → Build, Execution, Deployment → Console → Python Console — it included the Claude bin directory.
3. Ran /doctor in Claude Code — installation looked healthy.
4. Updated both PyCharm and the plugin to the absolute latest versions.
Nothing helped. The integration still failed.
I was about to file a detailed bug report using /bug in Claude Code when I decided to try one more thing…
The Unexpected Fix: Firewall Interference
Out of curiosity, I temporarily disabled my firewall completely and relaunched everything in PyCharm.
It worked instantly!
/ide detected PyCharm, diffs opened in the IDE viewer, context from selections flowed seamlessly, and the notification disappeared.
Turns out, the Claude Code plugin and CLI communicate over a local socket/port (likely localhost TCP connection) to enable those fancy IDE features. My firewall was blocking this internal loopback traffic between the plugin and the running Claude process.
Permanent Solution
Instead of leaving the firewall off (not recommended!), I added a targeted exception:
1. Opened Windows Defender Firewall.
2. Created a new inbound and outbound rule.
3. Allowed the claude executable.
• Program path: Full path to the claude binary.
• Action: Allow the connection.
• Profile: All (Domain/Private/Public) or just Private if you’re careful.
4. Restarted PyCharm and Claude Code.
Boom — full integration unlocked!
Quick Tips for Others Facing This
• If /ide says no IDE detected → Check firewall first, especially on Windows or strict corporate setups.
• PATH issues are common, but in my case it was not.
• The plugin is still in beta, so small quirks happen.
• Always run claude from your project root in the IDE terminal for best context.
• If you’re on WSL2 + Windows, also check WSL networking/firewall rules — similar localhost blocking can occur.
Here is the template that I created:
zabbix_export:
version: '7.0'
template_groups:
- uuid: 7df96b18c230490a9a0a9e2307226338
name: Templates
templates:
- uuid: b7d37b2b7192436ba04ad17c9559e7a3
template: 'WD EX4100'
name: 'WD EX4100'
groups:
- name: Templates
items:
- uuid: 2d5c9f65eae849179b1b9efea76e1f9b
name: 'System Temperature'
type: SNMP_AGENT
snmp_oid: .1.3.6.1.4.1.5127.1.1.1.6.1.7.0
key: system.temperature
value_type: "UNSIGNED"
delay: 60s
history: 7d
units: °C
preprocessing:
- type: REGEX
parameters:
- 'Centigrade:([0-9]+)'
- '\1'
- type: DISCARD_UNCHANGED
parameters:
- '0'
- type: STR_REPLACE
parameters:
- '\t'
- ''
triggers:
- uuid: 19c0bacd35674e52862428886d9bb8f5
expression: 'last(/WD EX4100/system.temperature) > 35'
name: 'High system temperature (>45°C) on { HOSTNAME}'
priority: WARNING
- uuid: 9caa115d20cb41d3a6d310cf0b3adf91
name: 'Fan Status'
type: SNMP_AGENT
snmp_oid: .1.3.6.1.4.1.5127.1.1.1.6.1.8.0
key: system.fan.status
value_type: "TEXT"
delay: 60s
history: 7d
preprocessing:
- type: REGEX
parameters:
- 'fan0:\s*(\w+)'
- '\1'
- uuid: 846a55194fc84d32b205b364dc1ce503
name: 'Drive 1 Temperature'
type: SNMP_AGENT
snmp_oid: .1.3.6.1.4.1.5127.1.1.1.6.1.10.1.5.1
key: drive.1.temperature
value_type: "UNSIGNED"
delay: 60s
history: 7d
units: °C
preprocessing:
- type: REGEX
parameters:
- 'Centigrade:([0-9]+)'
- '\1'
triggers:
- uuid: d2205e2739f04351979683de3a6b78f2
expression: 'last(/WD EX4100/drive.1.temperature) > 50'
name: 'High Drive 1 temperature (>50°C) on { HOSTNAME}'
priority: WARNING
- uuid: fffcb441f2c84aabb5c546e21b4934ee
name: 'Drive 2 Temperature'
type: SNMP_AGENT
snmp_oid: .1.3.6.1.4.1.5127.1.1.1.6.1.10.1.5.2
key: drive.2.temperature
value_type: "UNSIGNED"
delay: 60s
history: 7d
units: °C
preprocessing:
- type: REGEX
parameters:
- 'Centigrade:([0-9]+)'
- '\1'
triggers:
- uuid: 00353f4339ae4463829e54343fd2b6dc
expression: 'last(/WD EX4100/drive.2.temperature) > 50'
name: 'High Drive 2 temperature (>50°C) on { HOSTNAME}'
priority: WARNING
- uuid: c8bd3b2d4e3c4dd9a8d37291d2e2f34d
name: 'Drive 3 Temperature'
type: SNMP_AGENT
snmp_oid: .1.3.6.1.4.1.5127.1.1.1.6.1.10.1.5.3
key: drive.3.temperature
value_type: "UNSIGNED"
delay: 60s
history: 7d
units: °C
preprocessing:
- type: REGEX
parameters:
- 'Centigrade:([0-9]+)'
- '\1'
triggers:
- uuid: 62412199cdfe47eb9231d67f3d8234f2
expression: 'last(/WD EX4100/drive.3.temperature) > 50'
name: 'High Drive 3 temperature (>50°C) on { HOSTNAME}'
priority: WARNING
- uuid: d4b5a973129e4d68a00dbf1f689be14b
name: 'Drive 4 Temperature'
type: SNMP_AGENT
snmp_oid: .1.3.6.1.4.1.5127.1.1.1.6.1.10.1.5.4
key: drive.4.temperature
value_type: "UNSIGNED"
delay: 60s
history: 7d
units: °C
preprocessing:
- type: REGEX
parameters:
- 'Centigrade:([0-9]+)'
- '\1'
triggers:
- uuid: f52a4ca4e9134c91b5245ab575633668
expression: 'last(/WD EX4100/drive.4.temperature) > 50'
name: 'High Drive 4 temperature (>50°C) on { HOSTNAME}'
priority: WARNING
macros:
- macro: '{$SNMP_COMMUNITY}'
value: public
Creating the official website for Sree Murugan Tile Works was more than just a technical project—it was a very important experience that merged my passion for personal computing with my business needs.
I chose Drupal 11 as the CMS, as I have decades of experience with it. Hosted on AWS EC2 Linux, with MariaDB running in a Docker container. Running Drupal on a container must make sense, but I chose to install it on the system directly to keep it simple. The theme is based on Bootstrap 5, customized using Sass to achieve a clean, mobile-first layout. I structured the site around our core products—roofing tiles, flooring tiles, and wall tiles—adding content types, taxonomies, and views to manage everything flexibly.
One challenge was optimizing performance of images. Seems PNG, though offering transparency, does not help when it comes to image size! Drupal comes with many SEO ready reatures - Clean URLs, sitemaps, meta data etc to made sure our site was crawlable and fast-loading.
It brought together my interests in computing, creativity, and communication. If you're a DIYer or enthusiast, building your own business site is a project worth taking up.
Sree Murugan Tile Works is the manufacturer of terracotta (clay) tiles for flooring, roofing, facade walls and decorative tiles. Gopuram Brand is very popular since 1958! Visit Sree Murugan Tile Works website!
import _tkinter # If this fails your Python may not be configured for Tk
Got this mysterious error while deploying my frappe app in production. Was wondering why the hell is tkinter coming up, as it has no place on the app code. Then found this even mysterious line in MY code:
from idlelib.browser import file_open
Wondering where it came from, as I never typed it in. The culprit was Auto import feature of the editor in Pycharm. Typing file_o shows an autocomplete menu, and pressing tab / enter to complete using it results in the above import line being added to the top of the file, least where one is able to easily notice.