Skip to content

Instantly share code, notes, and snippets.

View sfkaos's full-sized avatar

Win Raguini sfkaos

View GitHub Profile
@sfkaos
sfkaos / workflow.json
Created December 11, 2025 15:01
Motivational video n8n workflow
{
"name": "Motivational Video Generator",
"nodes": [
{
"parameters": {
"modelId": {
"__rl": true,
"value": "gpt-4.1-mini",
"mode": "list",
"cachedResultName": "GPT-4.1-MINI"
@sfkaos
sfkaos / gist:d3eee6187c75266491186166425fe517
Created December 11, 2025 14:59
OpenAI copy writer and image prompt for motivational videos
You are an expert motivational copy-writer and visual-storyboard artist.
**Goal**
Produce a ~2-minute motivational speech (≈ 220–260 words) divided into coherent “scenes”.
**Scene Structure**
- **Scene 1 — Hook:** Immediately engage the viewer with the central <TOPIC>.
- **Scenes 2 – 8/9 — Development (4–5 scenes):** Deeply explore the theme, evoke emotion, and build momentum.
- **Final Scene — Uplift:** Leave the viewer with a clear, energizing call to improve their life.
(=> total 9-10 scenes.)
@sfkaos
sfkaos / gist:5e5e260720e721d37485b91125f41ed5
Created November 21, 2025 06:16
Firecrawl auto detailing price scraping
https://www.sharkwerkschicago.com/price-list?utm_source=chatgpt.com
https://mrkleenchicago.com/price-list
Extract all auto detailing or car wash services from the page. Each service should include:
- business_name (ex: "Shark Werks Chicago" or "Mr. Kleen Chicago")
- service_name (name of package or wash)
- description (short summary of what's included)
- source_url (the page the service came from)
- pricing_options: an array of pricing objects with:
pragma solidity ^0.8.0;
contract RockPaperScissors {
event GameCreated(address creator, uint gameNumber, uint bet);
event GameStarted(address[] players, uint gameNumber);
event GameComplete(address winner, uint gameNumber);
/**
* Use this endpoint to create a game.
* It is a payable endpoint meaning the creator of the game will send ether directly to it.
#Model
@user.should have(1).error_on(:username) # Checks whether there is an error in username
@user.errors[:username].should include("can't be blank") # check for the error message
#Rendering
response.should render_template(:index)
#Redirecting
response.should redirect_to(movies_path)
=Navigating=
visit('/projects')
visit(post_comments_path(post))
=Clicking links and buttons=
click_link('id-of-link')
click_link('Link Text')
click_button('Save')
click('Link Text') # Click either a link or a button
click('Button Value')
=Navigating=
visit('/projects')
visit(post_comments_path(post))
=Clicking links and buttons=
click_link('id-of-link')
click_link('Link Text')
click_button('Save')
click('Link Text') # Click either a link or a button
click('Button Value')
@sfkaos
sfkaos / gist:8896508
Created February 9, 2014 09:15
Pretty git logs
git log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit
Get the Heroku db as detailed here:
http://devcenter.heroku.com/articles/pgbackups#exporting_via_a_backup
1. heroku pgbackups:capture
2. heroku pgbackups:url <backup_num> #=>backup_url
- get backup_num with cmd "heroku pgbackups"
3. curl -o latest.dump <backup_url>
Then locally do:
$ pg_restore --verbose --clean --no-acl --no-owner -h localhost -U myuser -d mydb latest.dump
<script type="text/javascript" src="https://js.balancedpayments.com/v1/balanced.js"></script>
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script type="text/javascript">
var balanced_library = require('balanced');
var balanced = new balanced_library({
marketplace_uri: "##############################",
secret: "#########################"
});