Internet Archive
Gist
| #!/bin/bash | |
| # Usage: ./reduce_gif_frames.sh input.gif output.gif | |
| if [ $# -ne 2 ]; then | |
| echo "Usage: $0 input.gif output.gif" | |
| exit 1 | |
| fi | |
| INPUT_GIF="$1" | |
| OUTPUT_GIF="$2" | |
| echo "Processing $INPUT_GIF…" | |
| # Get frame count | |
| FRAME_COUNT=$(gifsicle –info "$INPUT_GIF" | grep -c "image #") | |
| echo "Original frame count: $FRAME_COUNT" | |
| # Get delays for each frame | |
| echo "Analyzing frame delays…" | |
| DELAYS=() | |
| for ((i=0; i<FRAME_COUNT; i++)); do | |
| DELAY=$(gifsicle –info "$INPUT_GIF" "#$i" | grep "delay" | sed 's/.*delay \([0-9]*\).*/\1/') | |
| if [ -z "$DELAY" ]; then | |
| DELAY=10 # Default delay if none specified | |
| fi | |
| DELAYS[i]=$DELAY | |
| done | |
| # Calculate new frame count | |
| NEW_FRAME_COUNT=$(((FRAME_COUNT + 1) / 2)) | |
| echo "New frame count: $NEW_FRAME_COUNT" | |
| # Build gifsicle command to create new GIF | |
| GIFSICLE_CMD="gifsicle -U '$INPUT_GIF'" | |
| for ((i=0; i<FRAME_COUNT; i+=2)); do | |
| # Calculate combined delay | |
| DELAY1=${DELAYS[i]} | |
| if [ $((i+1)) -lt $FRAME_COUNT ]; then | |
| DELAY2=${DELAYS[$((i+1))]} | |
| else | |
| DELAY2=0 # If odd number of frames, no second frame to add | |
| fi | |
| COMBINED_DELAY=$((DELAY1 + DELAY2)) | |
| echo "Keeping frame $i with combined delay $DELAY1+$DELAY2=$COMBINED_DELAY" | |
| # Add frame with new delay to command | |
| GIFSICLE_CMD="$GIFSICLE_CMD –delay $COMBINED_DELAY '#$i'" | |
| done | |
| GIFSICLE_CMD="$GIFSICLE_CMD –colors 256 –optimize=3 –output '$OUTPUT_GIF'" | |
| echo "Creating new GIF…" | |
| eval $GIFSICLE_CMD | |
| echo "Done! Created $OUTPUT_GIF with $NEW_FRAME_COUNT frames" | |
| echo "Original duration preserved by combining frame delays" |
https://gist.github.com/troutcolor/d6f06f9fd44746a4e4aa41048c474e9b.js
Google maps
@thedesignspacex WordPress Beginners tips & next steps When installing WordPress, not knowing what to do next is completely normal. Everyone starts here, even the pros pretending they didn’t. Here’s what you need to do first. Add your site title, logo and basic business information This includes your business name, tagline, contact details and location if you’re local. This helps visitors trust you and helps Google understand who you are. Delete the default blog posts and sample page Goodbye “Hello World”. It serves no purpose other than confusing you and making your site look unfinished. Install your essential plugins Elementor is your safest bet. It’s beginner friendly, visual and easy to navigate without touching code. If you can drag and drop, you can build a website. Install an SEO plugin This is non negotiable. An SEO plugin helps your site appear in search results once it’s built. You’re creating a website to be found, not to sit quietly on the internet doing nothing. Write enough content on each page For a service based website, aim for a minimum of 500 words per page. This gives Google enough context to understand what you do and who you help. Thin pages rarely rank. Google is picky like that. — Strong opinion incoming A pretty website with no structure or content is just digital decoration. Strategy first, aesthetics second. Always.
♬ show me how – <3
https://pin.it/10njDlCTo



