Gregory Varghese
  • About Me
  • Labs
  • GitHub
  • My Work Setup
  • My Photography Blog
  • Contact Me
  • About Me
  • Labs
  • GitHub
  • My Work Setup
  • My Photography Blog
  • Contact Me
  • Categories
  • All
  • Administration
  • Solutions
  • Troubleshooting
  • Tips and Tricks
  • Development
24th March 2023
AI

A sonnet about Batman in the style of William Shakespeare

Oh Batman, knight of darkness, hero bold
Fierce in battle, strong in heart and mind
Defender of the weak and young, behold
Thy righteous justice, keen and unconfined

With cape and cowl, thou roam'st the gloomy night
In search of evil, lurking in the shade
With batarangs and gadgets, swift and right
Thou fight'st with valor, never unafraid

Thou art the Dark Knight, feared by thy foes
But loved by Gotham, city of thy birth
Thy loyal allies, Robin and Batgirl knows
Thy strength of spirit, unmatched on this earth

Oh Batman, thy courage doth inspire
Thy legend shall never fade, nor expire.

Continue Reading
0
405
23rd March 2023
AIDevelopment

AI Experiments Featuring Monkeys

I was experimenting with AI writing and images and was experimenting. My initial testing was for serious subject matters, and it proved to be surprisingly well-written.

I decided to experiment to see how absurd things could get and was not disappointed. Here's the first result.

Oh primate of the jungle wild, with fur so soft and warm,
Your funny face is full of cheer, your spirit full of charm.
Your leaps and bounds are so delight, your antics such a sight,
Your antics bring joy and laughter, day and night.

Your antics full of curious play, never a dull moment today,
Your cries bring life to the trees, your presence is here to stay.
Your chatter fills the air with sound, as you swing from tree to tree,
Your kind is full of joy, of this much I guarantee.

Your life is full of family, and you are never lonely,
Your love and care for one another, is so pure and honestly.
Your life is filled with plenty of adventure, curiosity and more,
Your life is full of joy, and near the jungle floor.

Oh primate of the jungle wild, I sit and watch you play,
Your furry face and kind spirit, I shall never forget today.
Your life is full of joy and cheer, your presence warm and bright,
Your life is full of love and fun, and I am glad to be in your sight.

Continue Reading
0
354
6th January 2023
AdministrationSoftwareSolutionsTips and TricksToolsTroubleshootingUtilitiesWindowsWindows 10Windows 7Windows 8

How to Delete Folder with Special Character in Windows 10/11

I ran into an issue where a folder was created by some application with a special Unicode character that Windows Explorer doesn't seem to play nicely with. I also was unable to tell what the character was since nothing would reveal it. The folder's there, but you can't rename or delete it. If I tried to remove or delete it, I'd get an error saying the folder doesn't exist:

I have LockHunter installed but it wasn't able to delete it for some reason. The easiest way I found to delete the folder was to use Git Bash and then use the appropriate commands to rename or delete the folder.

Browse to the folder where the offending folder is located. For example purposes, I'll use c:\temp\folder1

Rename:

Delete:

If you don't have Git Bash or are not a developer/power user, you can download the portable version from https://git-scm.com/download/win to use temporarily. Once you decompress the files to a folder, you'll find git-bash.exe which you can double-click to run and use the above commands.

Continue Reading
0
466
14th November 2022
DevelopmentLaravelMacMAMPPHPProgramming

Using Laravel Vite with MAMP

As seen in other posts, I use MAMP quite a bit for my web development environment. I know I can run docker, or any of the other platforms out there but they use more memory and resources that I'd prefer to devote to my dev tools.

I started a new Laravel project and wanted to use MAMP but Vite was throwing errors due to the SSL not matching out of the box.

When adding

to my blade file, I'd get errors including:

I found articles saying to add --https or --host to my package json command but then I got this error:

Load MAMP Pro, add your host and generate your SSL certificates. For this example, we'll use set the host name to my-app.test, and assume you're storing the SSL keys in the default location.

Open vite.config.js and add the following 2 lines:

Then add this to defineConfig section:

You should now be able to run npm run dev and have no issues.

Sample full vite.config.js file for easy reference:

Continue Reading
2
431
1st August 2022
Uncategorized

Deploying Storybook via Gitlab Pipeline via SFTP

This is an update to my previous script to deploy Storybook to S3 via Gitlab Pipelines. We're running a dev server on EC2 and I wanted to be able to deploy the project using SFTP. This assumes you already created a new user account on the FTP server.

Create an SSH key on your local machine and save it without a password using the following command:

You should have two new files in .ssh directory:

Copy content of private key and go back to GitLab project. Navigate to Settings -> CI/CD -> Variables -> Expand -> Add Variable. GitLabโ€™s variable is a key-value pair. Name key SSH_PRIVATE_KEY and paste private key in value field. Click Add Variable.

Add two more variables:

Copy the contents of public key and go back to remote server. Login as the same user which you have specified inย SSH_USERย GitLabโ€™s variable.

Navigate to /home/<username>/.ssh. If directory .ssh doesnโ€™t exist, then create it. Paste the public key into authorized_keys file. If you donโ€™t have authorized_keys file, create it.

Important Note: I ended up using node:16 for my script because my instance of Storybook was using Webpack 4 and the node:latest was using Node 18 which wasn't compatible. If you're using webpack 5, you should be able to use a later version. I'm also using node:16 instead of alpine or buster because I ran into issues adding the SSH keys. I'll work on optimizing this later for performance but it works.

Continue Reading
0
308
11th January 2022
DevelopmentGatsbyProgrammingWeb Development

Add GTM to Gatsby using Helmet

One of my devs needed to add Google Tag Manager (GTM) to an older Gatsby project we built and he was running into issues implementing the GTM code provided by Google since the react-google-tag-manager package required a newer version of Gatsby and its dependencies.

The issue turned out to be that the strings needed to be escaped for Helmet/React to process it correctly. If you're using an older version of Gatsby, the snippet below should help you add GTM and call your events as needed. Just add it to your main template file.

Continue Reading
0
253
23rd October 2021
AdministrationDevelopmentGitlabPipelinesTips and TricksTools

How to deploy a React app to Amazon S3 using Gitlab CI/CD

I've been trying to build more CI/CD scripts using Gitlab to automate pipeline deployments for work. Here's a useful one for building and deploying a React app to Amazon S3.

You'll need to add a variable called S3_BUCKET_NAME to your repo or replace the variable with your bucket path.

Continue Reading
0
358
4th January 2021
AdministrationBitbucketDevelopmentDigital OceanDropletJigsawLaravelLaravelPHPPHPPipelinesProgrammingSolutionsTips and TricksToolsTroubleshootingWeb Development

How to Setup CI/CD of Jigsaw Site to Digital Ocean Droplet Using Bitbucket Pipelines

I created a new personal resume site and decided I wanted to build a static site since it wouldn't be frequently updated. I evaluated Nuxt, Gatsby, and a few others but settled on Jigsaw, a static site generator based on Laravel. I had never used it before and figured this would be a good learning experience while building something I needed. I was pleasantly surprised by how easy it is to use and setup, so kudos to the Tighten team for putting together such an elegant solution.

I wanted to get a CI/CD pipeline configured to handle the site's deployment but couldn't find any working tutorials, so I'm sharing my solution in case it helps others. I'm using Bitbucket for this since it's a personal private repo, so I'm using Bitbucket Pipelines.

After you enable pipelines for your project, you'll need to configure a Pipelines Repository Variable in your project. Go to the settings tab in your repo, and then select Repository variables:

Add 3 variables:

Generate an SSH key (or use your own) and add it to your server under the SSH Keys tab in Pipelines:

I generated a new key and then added it to ~/.ssh/authorized_keys for the account.

Add this YAML snippet to your bitbucket-pipelines.yml in your root. This will use PHP 7.4, install rsync, node + npm, composer, and build the production version of the site to deploy to the specified folder.

The -aVP switch for rsync is to give me verbose progress feedback so I can see what's happening. If you don't need the detail, switch it to -a.

I received a few errors when rsync ran. In case you run into them as well, here's the list and fixes. The first was:

rsync: failed to set times on "$FOLDER": Operation not permitted (1)

I added --no-t to resolve that and then got a new error:

rsync: failed to set permissions on "$FOLDER": Operation not permitted (1)

which was fixed with adding the switch --no-perms. My final rsync command became:

Continue Reading
0
478
28th July 2020
Backblaze B2DevelopmentLaravelLaravelPHPPHPProgrammingWeb Development

How to use Backblaze B2 with Laravel

I am working on a Laravel project and decided to use a Backblaze bucket as it's cheaper for storage when compared to AWS S3. I couldn't find a tutorial on how to get it working from scratch and I tested a bunch of Laravel B2 libraries that didn't end up working. The good news is that you don't need a special B2 plugin and instead can use the S3 package recommended by the Laravel docs.

If you haven't added the flysystem-aws-s3 package, add it to your project using composer:

Login to your B2 account and create your bucket with your required settings. Once created, you'll want to create a new application key with the permissions you need for your app. You should get a confirmation once it's generated:

Open your .env file and locate the settings for AWS. You'll need to add one key that's not there by default:

Match the settings in your .env from the application key to the values below.

Now you should be able to call the Laravel storage system like normal:

Continue Reading
2
426
4th May 2020
AdministrationCloudGitlabTips and Tricks

How to Setup a CI/CD Pipeline for Storybook.js using Gitlab

I just spent a few hours setting up a Gitlab pipeline to deploy a Storybook.js site. Of course the end result ended up being much simpler than I made it out to be. Like everything else on my blog, I'm sharing in case anyone else can use the information to save time.

Just put this in your gitlab-ci.yml and it'll take care of caching the node modules and building your static version of Storybook to deploy.

Continue Reading
0
421
Page 2 of 10
Newer Posts
  • 1
  • 2
  • 3
  • 4
  • …
  • 10
Older Posts

Tags

.NET (4) Administration (24) AI (3) Applications (13) ASP.NET (8) ASP.NET MVC (2) C# (6) Caution (4) Debug (6) Development (23) digital ocean (2) Errors (9) ESET (3) Excel (2) Fix (23) High CPU Usage (2) IIS (3) Javascript (5) jQuery (4) laravel (7) linux (6) Mac (17) MAMP (3) Microsoft (5) NTFS (2) Open Source (3) Outlook (2) Outlook 2011 (4) Photography (2) php (4) Programming (9) review (2) Sitecore (2) Software (7) Solutions (44) SQL (4) SSL (3) Tips (36) Tools (5) Troubleshooting (27) Useful (23) Utilties (8) Windows (14) Windows 7 (4) Windows Server (2)

Categories

  • Administration 67
    • Caution 3
    • Cloud 8
      • Cloudflare 1
      • Digital Ocean 6
        • Droplet 5
      • Namecheap 1
    • Hardware 4
      • Drobo 3
    • IIS 2
    • Linux 9
      • Apache 1
      • SSH 7
        • Terminal 4
      • Ubuntu 16.04 1
    • Mac 14
      • Software 5
        • Alfred 1
        • MacFusion 1
        • MAMP 3
        • pCloud 1
        • PHPStorm 1
      • Terminal 9
        • bun.sh 1
    • Review 1
    • Security 6
      • ESET 4
      • Firewall 1
    • SQL 3
      • 2008 1
      • DTSX 1
      • mySQL 1
    • Stupid Tales 2
    • Windows 47
      • Applications 16
      • Malware 2
      • NTFS 2
      • PowerShell 2
      • Software 21
        • Excel 3
        • Outlook 1
        • Peerblock 1
        • Remote Desktop 1
          • RDC 1
        • SourceTree 1
        • Steam 1
        • Synergy 1
        • Visio 1
        • Visual Studio 2013 1
        • Word 1
        • Wordpress 2
          • Hack 2
      • Tips and Tricks 35
      • Tools 24
      • Utilities 20
      • Windows 10 2
      • Windows 7 9
      • Windows 8 4
      • Windows Server 3
        • Windows Server 2008 2
        • Windows Server 2012 2
  • Body Hacking 1
    • Diet 1
    • Soylent 1
  • Development 36
    • AI 3
    • Bitbucket 3
      • Pipelines 3
    • c# 2
    • CouchDB 1
    • Github 3
    • Gitlab 2
    • Open Source 4
    • ORM 1
      • Dapper 1
    • PHP 8
      • Laravel 8
        • Jigsaw 1
    • PHPStorm 2
    • Python 1
    • Sitecore 2
    • SourceTree 1
    • Syncfusion 1
  • Mac 13
    • iCloud 1
    • Outlook 2011 2
    • Safari 1
  • Photography 3
    • Food 1
    • Rockstars 1
    • Uproar Festival 2012 1
    • Wolves 1
  • Products 3
    • Backblaze B2 1
    • Reviews 2
  • Programming 32
    • ASP.NET 7
      • MVC 1
    • AWS 1
      • Rekognition 1
    • C# 3
    • Gatsby 1
    • Javascript 2
    • jQuery 3
      • Fancybox 1
    • MonoTouch 1
    • PHP 7
      • Laravel 7
        • Tinker 1
    • Regex 1
    • Sitecore 2
    • SQL 1
    • SSL 2
    • VBA 2
      • Microsoft Word 1
    • Web Development 10
      • JavaScript 2
    • WinForms 2
  • Raspberry Pi 1
  • Recipe 1
  • Self Experimentation 1
  • Troubleshooting 46
    • Solutions 45
  • Uncategorized 11

Archives

  • August 20251
  • May 20251
  • August 20241
  • July 20243
  • March 20241
  • January 20241
  • September 20232
  • March 20232
  • January 20231
  • November 20221
  • August 20221
  • January 20221
  • October 20211
  • January 20211
  • July 20201
  • May 20201
  • April 20201
  • February 20201
  • September 20191
  • August 20193
  • July 20191
  • June 20191
  • May 20194
  • October 20181
  • July 20181
  • May 20181
  • April 20182
  • November 20171
  • October 20171
  • June 20171
  • May 20171
  • November 20161
  • October 20162
  • September 20161
  • June 20162
  • May 20164
  • February 20161
  • January 20161
  • October 20151
  • September 20151
  • July 20151
  • June 20151
  • May 20153
  • April 20151
  • March 20151
  • February 20151
  • July 20141
  • June 20141
  • May 20141
  • December 20132
  • September 20131
  • July 20131
  • May 20132
  • March 20132
  • February 20131
  • September 20121
  • August 20124
  • July 20121
  • March 20121
  • November 20111
  • September 20114
  • July 20113
  • June 20112
  • February 20111
  • August 20101
  • May 20101
  • October 20071

Continue Reading

Recent Posts

  • Introducing AnonymizeReviewer: Remove Author Metadata from Word Docs Without Losing Edits
  • How to Extract SSL Certificates from a PFX File on macOS
  • Supercharge Your Laravel Development and Get AI to Understand Your Models
  • How to Take Ownership of Files and Folders Using PowerShell
  • How to add case insensitive where in Laravel

© Gregory Varghese 2026 • All rights reserved.

Published with WordPress.