Exposing Composer to the WWW user on FreeBSD
15 June 2025
This blog post explains how to securely enable Drupal's web-based composer functionality on a FreeBSD system, which restricts the `www` user for security reasons (no shell, no home directory). While most users won’t need to expose composer to the web server, Drupal CMS introduces convenient module management through composer and requires it. Since the `www` user can't access environment variables through traditional shell methods, the guide outlines a solution using `php-fpm`, which allows passing the composer path via environment variables. The guide covers enabling `php-fpm` on FreeBSD, configuring Apache to connect to the `php-fpm` process using the correct handler syntax, and ensuring both services are restarted, making it possible to use composer through Drupal’s interface without compromising system security.
Text Data Augmentation Techniques
14 May 2025
In the final semester of my Master’s program, I built an NLP model to classify mental health states such as Bipolar, Depression, Suicidal, and others based on written text. Using a labeled but highly imbalanced Kaggle dataset, initial efforts with over-sampling and under-sampling led to limited accuracy and generalizability. This prompted a shift to data augmentation, specifically through synonym replacement and back translation, to enhance model performance.
What I learned is that data augmentation via synonym replacement and back translation offers a practical approach for handling class imbalance in NLP datasets. While not a silver bullet, when applied carefully, these methods improve both the robustness and generalizability of mental health classification models.
What I learned is that data augmentation via synonym replacement and back translation offers a practical approach for handling class imbalance in NLP datasets. While not a silver bullet, when applied carefully, these methods improve both the robustness and generalizability of mental health classification models.
Determining the quantity of weights and biases in an ANN
5 October 2024
This example is a quick refresher on how to determine the weights and biases in a basic Artificial Neural Network (ANN). It’s not something I calculate often, so this serves as a handy reference in case I forget. Let’s dive in!
Improving CI/CD with Snyk
18 August 2024
The post explores how Snyk, a security scanning tool, fits into modern CI/CD pipelines by enabling developers to catch vulnerabilities early during development, not just at the end like in traditional waterfall models. While CI/CD automates code integration and unit testing, it doesn’t check for security issues — and that’s where Snyk adds value.
Snyk is a strong contender for secure DevOps, especially for teams seeking seamless integration with development tools and continuous security monitoring.
Snyk is a strong contender for secure DevOps, especially for teams seeking seamless integration with development tools and continuous security monitoring.
Q Developer from Amazon
13 August 2024
Amazon’s Q Developer, a rebranded version of Code Whisperer, serves as a generative AI coding assistant. It integrates with VS Code and IntelliJ via plugins and requires authentication through a free AWS Builder ID.
The tool is almost "telepathic" in how well it anticipates next coding steps, even suggesting methods for handling external files and recommending libraries. However, despite its capabilities, developers still play a crucial role in vetting suggestions, ensuring libraries are installed, avoiding redundant or overly complex code, and addressing security needs.
Final verdict: Q Developer is a powerful and insightful assistant for experienced developers, but it still requires human oversight to ensure its recommendations are appropriate and secure.
The tool is almost "telepathic" in how well it anticipates next coding steps, even suggesting methods for handling external files and recommending libraries. However, despite its capabilities, developers still play a crucial role in vetting suggestions, ensuring libraries are installed, avoiding redundant or overly complex code, and addressing security needs.
Final verdict: Q Developer is a powerful and insightful assistant for experienced developers, but it still requires human oversight to ensure its recommendations are appropriate and secure.