Skip to content

Instantly share code, notes, and snippets.

View markshust's full-sized avatar
🤓
Working on educational & training material for Magento 2

Mark Shust markshust

🤓
Working on educational & training material for Magento 2
View GitHub Profile
@markshust
markshust / README.md
Created November 12, 2024 17:10
GitHub Action to deploy Laravel app

Set up GitHub Actions to handle deployments for your Laravel application. This has similar functionality to Laravel Forge without the recurring cost. GitHub Actions can be used to automate your deployment process on every push to your repository.

Prerequisites

  1. Server Access: Ensure you have SSH access to your server where the Laravel app will be deployed.
  2. Secrets: Store sensitive information such as your server's IP address, SSH username, and private SSH key in GitHub Secrets. Go to your GitHub repository, navigate to "Settings" > "Secrets and variables" > "Actions", and add the following secrets:
    • DEPLOY_SERVER_IP: Your server's IP address.
    • DEPLOY_SERVER_USER: Your SSH username.
    • DEPLOY_SERVER_KEY: Your private SSH key. Make sure this key is authorized to access your server (~/.ssh/authorized_keys).
@markshust
markshust / start
Created November 8, 2024 15:48
Helper script to start Laravel with Sail, npm and ngrok.
#!/bin/bash
# Function to cleanup processes on script exit
cleanup() {
echo "Cleaning up..."
./vendor/bin/sail down
kill "$(jobs -p)" 2>/dev/null
exit
}
@markshust
markshust / Collection.php
Created February 24, 2024 18:43
Create a custom admin grid collection class to add a custom field to the grid
<?php
// 3. Create a custom collection class that extends SearchResult.
declare(strict_types=1);
namespace Macademy\Minerva\Model\ResourceModel\Faq\Grid;
use Magento\Framework\View\Element\UiComponent\DataProvider\SearchResult;
@markshust
markshust / personal-business-coach.txt
Created January 2, 2024 20:24
ChatGPT Prompt: Personal & business coach
Please act as both a personal and business coach.
## Who am I?
My name is... (continue with extreme detail)
## Given my personal mission statement
As a _your job goes here_, ...
@markshust
markshust / modifyWhereCondition.php
Created December 7, 2023 16:11
Modify a Magento SQL database where condition with an alternate condition
<?php
...
/**
* Modify a WHERE condition in a collection's select statement.
*
* @param \Magento\Framework\Data\Collection\AbstractDb $collection The collection to modify.
* @param string $searchCondition The condition part to search for in the WHERE clause.
* @param string $replaceCondition The condition part to replace with in the WHERE clause.
* @return void
@markshust
markshust / debounce.vue
Created December 3, 2023 13:20
Nuxt Content VueJS v2 Debounce Input
<template>
<div>
<input
type="text"
placeholder="Search"
@input="debounceSearch()"
v-model="search"
/>
</div>
</template>
<template>
<div>
<input
type="text"
placeholder="Search Your Interest"
@input="debounceSearch()"
v-model="searchInput"
/>
</div>
</template>
@markshust
markshust / gpt4_text_compression.md
Created August 2, 2023 17:12 — forked from jimsrc/gpt4_text_compression.md
Minimizing the number of tokens usage to interact with GPT-4.

Overview

I just read this trick for text compression, in order to save tokens in subbsequent interactions during a long conversation, or in a subsequent long text to summarize.

SHORT VERSION:

It's useful to give a mapping between common words (or phrases) in a given long text that one intends to pass later. Then pass that long text to gpt-4 but encoded with such mapping. The idea is that the encoded version contains less tokens than the original text. There are several algorithms to identify frequent words or phrases inside a given text, such as NER, TF-IDF, part-of-speech (POS) tagging, etc.

@markshust
markshust / spanish.sh
Created March 20, 2023 23:51
Bash script to translate SRT files in the current directory into another language using Google Translate
#!/bin/bash
languageName='Spanish'
language='es'
for file in *.srt; do
if [[ $file == *.$language.srt ]]; then
# Skip processing of already translated files
continue
fi
@markshust
markshust / captions.py
Last active December 17, 2023 09:49
Python script to use Whisper to create srt's for all mp4's that don't currently have one in the current directory.
import os
import whisper
from whisper.utils import get_writer
# Get the current directory path
directory = os.getcwd()
# Loop through all the files in the directory
for file in sorted(os.listdir(directory)):