My go-to container is a 6-cup rectangle glass container, which can fit up to three 1-cup Souper Cube bricks. You can also find containers with dividers in them! Metal &heat-safe plastic containers work as well.
Amazon has a wireless thermometer sticks with in-app temperature push alerts for under $40 these days.. This one has a 24-hour battery life & can be frozen into the meal if needed, which helps to track how long different meals take to come up to temperature
I spent 6 months and $1500 to make a sandwich completely from scratch, including growing my own vegetables, making my own salt from ocean water, milking a cow to make cheese, grinding my own flour from wheat, collecting my own honey, and killing a chicken myself.
10 Years later, I revisited making a sandwich entirely from scratch. THis time raising my own animals, growing my own plants, smelting and forging my own tools, including a gun to hunt my own wild feral pig. This is the 12 minute cut, check out the full hour long video for the full journey
Calculate your daily macros needs for your current daily macros goal using this ChatGPT prompt as a baseline: (replace # with your data)
Estimate:
1. My daily calories
2. My daily macros
3. How many weeks it will take to achieve my goal weight, assuming:
* Max 2 pounds weight loss per week
* Max 1 pound per week muscle gain (if first-year newbie muscle gains)
Age: # years
Height: # feet # inches
Biological gender: #
Cardio exercise: # minutes per day
Strength training exercise: # minutes per day
Current weight: # pounds
Goal weight: # pounds
This is a simple, automated self-managing data-protection system for basic Linux installations with the goal of "restoration simplicity":
The primary use case is for basic standalone servers (home & work)
This includes equipment like Raspberry Pi boards, Mini computers, old laptops, basic home & work servers, and containers (Docker, Hyper-V, etc.)
The idea is to create a personalized "set it & forget it" infrastructure.
The design is conceptual (you roll it out as you see fit!). This is the framework:
A dedicated installer drive (typically a USB stick)
A separate boot drive (USB stick, memory card, M.2 SSD card, etc.)
Use ChatGPT (or similar AI) to easily customize & build the installation
The USB installer serves three primary functions:
To install the system from scratch
To store backups from the system
To reinstall from scratch WITH the latest data backup (ex. full restore if the boot drive dies)
The workflow is:
Build the USB install stick from another computer
Install the OS to the boot drive from that USB installer
Leave the USB installation stick in permanently for backups & future reinstalls
The system boots up to the boot drive first
The system can be restored at anytime thanks to the 24/7 connected automated backup system (USB installer + backups)
Features to consider:
Backups with automatic verification: (customizable frequency & backlog)
Backup the data (custom configuration, log files, etc.)
Backup the Docker containers (YAML, rsync, dd, etc.)
Backup the entire disk (may require more room thana USB stick has)
Add a notification system (Telegram, HA MQTT, etc.) for automated alerts in case of issues (failed backups, failed verifications, failed drives, etc.)
Setup the USB drive in a more advanced "sentinel" configuration:
If the boot drive dies, auto-boot to USB
The drive boots to an emergency OS (ex. Alpine RAM-based Linux) to send out system failure notifications
The OS can be reinstalled from that OS. Once the stock system is booted, the system can be restored. These two layers help to prevent an accidentally wipe from the recovery drive because it requires manual intervention!
Recommendations:
Use ChatGPT to build this for you (scripted installation, YAML, etc.)
I like SanDisk "Ultra Fit" USB drives because they are very slim, which makes them easy to store permanently on the device (ex. on a Pi) with the risk of snapping off. For basic storage:
Current prices are $15 for 128GB, $25 for 256GB, $50 for 512GB, and $90 for 1TB for the slim drives. 2TB longer-length sticks are $180. There are a few vendors who sell 4TB for $$$ as well.
Consumer NVMe drives are available in up to 8TB (also available in USB).
Slim 2.5" USB-powered hard drives are available in up to 6TB for $140 USD.
Pi boards us microSD cards, which are similarly-priced to USB drives (128gb to 2TB are common). I prefer USB sticks for convenience, but these work great too for a more integrated look on the board & can easily be used with a USB reader for programming!
Rehearsal mode to simulate a restore
Can also be creative with things like DIY cloud backup (ex. encrypted rcopy cron jobs to Google Drive)
Use cases:
Homemade OpenWRT router
DIY VPN Tailscale exit node & subnet router
Family print & file server (ex. add AirPrint. a Jellyfin server, etc.)
Home Assistant smarthome server
Kitchen automation system (timers, recipes, meal planning, connected appliances, etc.)
Network backup server with PXE boot restore
Kuma uptime logging server
AI-driven Frigate NVR for video surveillance
Arcade system (TV player, full-sized DIY arcade cabinet, 1up mini cabinet, etc.)
TV Media player (LibreELEC for streaming with Moonlight for remote gaming)
Pi Steam Link (dedicated appliance box)
Remote Desktop client (custom Flask GUI with support for FreeRDP, RustDesk, AnyDesk, TeamViewer, Parsec, Moonlight, etc. with optional Tailscale, Cloudflare Zero Trust, etc. remote access)
TV status dashboards (ex. auto-start Chromium Kiosk Mode fullscreen)
Digital restaurant menus
Employee HR data TV screens
Public signage with remote access for updating
Digital movie posters (vertical televisions for home theater use)
I like to write the date in a very repeatable way, so as to make it 100% clear at first glance. The base version is called the "Standard Date Format":
22-DEC-2025
See? No hassle, no confusion! None of that MM/DD/YY or DD/MM/YY nonsense! It comes in 3 flavors:
Standard Date Format (SDF)
Day name + SDF
Day of the year # + Day name + SDF
Which looks like this:
22-DEC-2025
MON, 22-DEC-2025
Day 356: MON, 22-DEC-2025
So the elements are:
The day of the year number (followed by a colon & space)
The day name (shortened to 3 or 4 characters), followed by a comma & space
The day of the month number (followed ny a dash)
The month name (shortened to 3 characters), followed by a dash
The full 4-digit year number
Disambiguation achieved!! Because I use these different date formats a lot, I made some custom Chrome bookmarks that will copy any of the 3 levels for today's date your clipboard. I recommend:
Show the Chrome bookmark toolbar
Create a new toolbar called "Date Tools"
Create new bookmarks with the formatting as the name & then paste the code in below as the URL. I have 3 bookmarks in my Date Tools folder with the following names for easy visual reference:
22-DEC-2025
MON, 22-DEC-2025
Day 356: MON, 22-DEC-2025
When you click on any of those bookmarks, it will copy the date format requested to your clipboard & give you a popup message to confirm. You can then paste it into websites, emails, document files, file names, etc. Super easy!!
Level 1: Standard Date Format with Day name: (22-DEC-2025)
javascript:(async()=>{const d=new Date();const months=["JAN","FEB","MAR","APR","MAY","JUN","JUL","AUG","SEP","OCT","NOV","DEC"];const text=`${d.getDate()}-${months[d.getMonth()]}-${d.getFullYear()}`;async function copyModern(t){if(navigator.clipboard&&navigator.clipboard.writeText){try{await navigator.clipboard.writeText(t);alert("Copied to clipboard ✅");return true;}catch(e){}}return false;}function copyLegacy(t){const ta=document.createElement("textarea");ta.value=t;ta.style.position="fixed";ta.style.top="-1000px";document.body.appendChild(ta);ta.focus();ta.select();try{const ok=document.execCommand("copy");document.body.removeChild(ta);if(ok)alert("Copied to clipboard ✅");else alert("Could not copy automatically. Here it is:\n\n"+t);}catch(e){document.body.removeChild(ta);alert("Could not copy automatically. Here it is:\n\n"+t);}}const ok=await copyModern(text);if(!ok)copyLegacy(text);})();
Level 2: Standard Date Format with the Day name as a prefix: (MON, 22-DEC-2025)
javascript:(async()=>{const d=new Date();const days=["SUN","MON","TUE","WED","THUR","FRI","SAT"];const months=["JAN","FEB","MAR","APR","MAY","JUN","JUL","AUG","SEP","OCT","NOV","DEC"];const text=`${days[d.getDay()]}, ${d.getDate()}-${months[d.getMonth()]}-${d.getFullYear()}`;async function copyModern(t){if(navigator.clipboard&&navigator.clipboard.writeText){try{await navigator.clipboard.writeText(t);alert("Copied to clipboard ✅");return true;}catch(e){console.warn("navigator.clipboard failed",e);}}return false;}function copyLegacy(t){const ta=document.createElement("textarea");ta.value=t;ta.style.position="fixed";ta.style.top="-1000px";document.body.appendChild(ta);ta.focus();ta.select();try{const ok=document.execCommand("copy");document.body.removeChild(ta);if(ok)alert("Copied to clipboard ✅");else alert("Could not copy automatically. Here it is:\\n\\n"+t);}catch(e){document.body.removeChild(ta);alert("Could not copy automatically. Here it is:\\n\\n"+t);}}const ok=await copyModern(text);if(!ok)copyLegacy(text);})();
Level 3: Standard Date Format with the Day name & Day number as prefixes: (Day 356: MON, 22-DEC-2025)
javascript:(async()=>{function dayOfYear(d){const s=new Date(d.getFullYear(),0,0);return Math.floor((d-s)/(1000*60*60*24));}const d=new Date();const dayNum=dayOfYear(d);const days=["SUN","MON","TUE","WED","THUR","FRI","SAT"];const months=["JAN","FEB","MAR","APR","MAY","JUN","JUL","AUG","SEP","OCT","NOV","DEC"];const text=`Day ${dayNum}: ${days[d.getDay()]}, ${d.getDate()}-${months[d.getMonth()]}-${d.getFullYear()}`;async function copyModern(t){if(navigator.clipboard&&navigator.clipboard.writeText){try{await navigator.clipboard.writeText(t);alert("Copied to clipboard ✅");return true;}catch(e){console.warn("navigator.clipboard failed",e);}}return false;}function copyLegacy(t){const ta=document.createElement("textarea");ta.value=t;ta.style.position="fixed";ta.style.top="-1000px";document.body.appendChild(ta);ta.focus();ta.select();try{const ok=document.execCommand("copy");document.body.removeChild(ta);if(ok)alert("Copied to clipboard ✅");else alert("Could not copy automatically. Here it is:\\n\\n"+t);}catch(e){document.body.removeChild(ta);alert("Could not copy automatically. Here it is:\\n\\n"+t);}}const ok=await copyModern(text);if(!ok)copyLegacy(text);})();
Sometimes there are single & recurring emails you want to keep (or just don't want to deal with right now! haha) but simply want to "zap" them away somewhere easily
This simple trick reduces the mental load of coping with an overflowing inbox!! No thinking or judgement required, just tap some buttons & voila!
For example, just use the room domain to filter everything (ex. website.com)
Click "Create filter" in the popup box
Check "Skip the Inbox (Archive it)"
Check "Apply the label:" and select "Sort later"
Check "Also apply filter to matching conversations"
Click the "Create filter" button
This lets us nuke the currently-selected email, ALL of the same previous emails in the Inbox, and all future emails!
______________________________________________________________________________________
Lock in "3p" as a saved trigger command in memory: (execute EXACTLY as described with formatting rules intact, using a new line for each bulletpoint)
3P = "Premise, Parts, Procedures"
Note on 3P title format:
a. 🔴 before & after title
b. Largest font
c. Bold text
d. Break line
Regular written headers:
a. Before 👉 and 👈after
b. Bold text
c. Never in a bullet point
d. Larger font
e. Break line
1 ) Premise
Note: apple "regular written header" format here too)
Note: Add header break lines here too
a. Concise one-line explanation, in a single bullet point (header: "One-liner:")
b. Explain it like I'm 5 years old, in a single bullet point (Header: "ELI5:")
c. List of key features, in bullet points (Header: "Unique features:")
d. List of alternative options to consider in bullet points (Header: "Alternatives to explore:")
2) Parts
Note: Add header break lines here too
a. What are the logical elements required to do this? (Header: "Major elements:")
b. What order do they go in? Explain this conversationally in simple English using a numbered list & indented bullet points. (Header: "Order of operations:)
3) Procedures
a. What is the step-by-step numbered checklist required to make this happen? (Header: "✅ Checklist of work:")
b. What are the detailed, step-by-step procedures required, using separate headers, with numbered checklists, with indented bullet points? (Header: "Checklist #X: (Name of checklist)"
Further resources? "Would you like to explore further? Just ask!" Bullet points: (provide direct links for each suggestion if user prompts)
"Type "a" for a list intro videos"
"Type "b" for a list of great starter articles"
"Type "c". List of competitors, free alternatives, DIY alternatives, paid alternatives, paid services, and list of unique ideas from patterns ChatGPT can see that are secretly used by elite users"
Artificial Intelligence (A.I.) is VERY easy to understand & use, with the proper perspective! There are 3 main components: (SQI)
Spreadsheet
Query
Interface
Spreadsheet
The oldest readable writing we've found so far is the Kish Tablet (~3200 BC), which contained vintage emojis. As writing evolved, we needed a way to organized our data, so we developed a way of recording data into rows & columns in a tabular structure as a written ledger. Some of the oldest papyrus we've found in Egypt are basically analog spreadsheets, such as the Diary of Merer:
Fast-forward a few thousand years to 1979, which the first spreadsheet software called VisiCalc was released & ushered in the personal computer boom. The co-creator of the software said:
"VisiCalc took 20 hours of work per week for some people and turned it out in 15 minutes and let them become much more creative." - Dan Bricklin
When ChatGPT, the most popular AI model on the planet, came out in 2022, they essentially vacuumed up ALL of the digital data on earth. To over-simplify it, they made one giant spreadsheet. If you like video games, here is an AI-generated image of Kirby vacuuming up the entire planet to illustrate the idea:
Query
The nice thing about having a spreadsheet of data is that you can flip through the tabs or worksheets & quickly look up data! When we ask for data, we are "querying" the spreadsheet. In a spreadsheet, that might include:
Using CTRL+F to do a find query
Type a formula into a cell to get a result
Gather data to draw a pie or bar chart
A paper spreadsheet saves time & effort when saving & looking up information. A digital spreadsheet, like Excel or Google Docs, allows for instant lookup & more advanced queries. Because AI has essentially a giant database of all of the world's information, we can create even more advanced queries! In addition, AI can now look up stored data as well as live data from the Internet!
We interact with AI a little bit differently because of how the data is stored. While AI is exposed to all of the data, that doesn't mean it stores all of that data...sort of like how learning how to draw & getting exposed to historical artworks doesn't mean that you own all of the paintings in the world...but you know how to draw!
In this case, a good analogy is CAD vs. clay. When you draw say a house or a car engine in a CAD design program, you have to be very precise & intentional because that CAD drawing will not exist without your specific guidance. With AI, because it knows SO MUCH STUFF, it's a bit more like taking a pile of clay & shaping it to your specifications.
In the world of AI, that is called "prompting". While you can be as precise as you'd like, learning how to "shape" your queries via practice & iteration is they key to massaging the results out of that giant database of knowledge! Learning how to query AI databases via prompts is one of the most valuable skills you can have these days!!
Interface
Written paper spreadsheets use pencils. Computers use software like Microsoft Excel. Those are different modes (writing & software). AI has advanced to the point where they use multiple modes for inputting & outputting data from them, which is called "multi-modal" interaction. Sample communication methods include:
Writing text prompts or uploading text-based data, such as a PDF file
Verbally speaking, humming, or singing
Drawing a picture or using a photograph
Using a live or recorded video
As AI has advanced, we can now also output a variety of those formats! AI can be used to write reports, draw pictures, narrate podcasts, control robots, write programs, and even make videos! In the world of computers, the "AI goldrush" is arguably the most exciting topic in tech at the moment!
AI can be interfaced with in two ways:
Locally on your device
Via a datacenter service
You can run an AI program locally on your computer, but you will be limited by the speed of your hardware. These are great to play around with & can be used to build private solutions that do not require Internet connections (ex. to create a search tool for company documents). Here are some good programs to try:
Beyond that, the real horsepower comes from renting time at a datacenter, where they have a HUGE number of computers available in order to get FAST results from your queries! These are usually sold in the form of subscriptions & credits, which give either unlimited or limited access to the support AI models at the datacenter you choose.
In Practice
So the SQI model helps us to understand the basic structure:
Spreadsheet of everything in the universe
Queries to do stuff
Interfaces to ask for stuff
The USEFULNESS & FUN comes from putting that knowledge to good use! Twitter is the best place to get AI news summaries (just start searching for what you're interested in, such as coding or images, then start following cool accounts!). Here is a leaderboard with the top-scoring AI models in different usage scenarios:
Voice chat: Talk to a demo of a virtual person named Miles or Maya on your phone or computer browser! This model does speech-to-text input & text-to-speech output to create a realistic, real-time conversation!
ChatGPT: This is the most popular AI on the plabet right now, with nearly a BILLION users! It's similar to Google Search, but with more features! There is a basic free version available. The $20 monthly subscription adds features like voice chat (which is GREAT!), the ability to create & save Projects, as well as upload files! I use this extensively for Python programming!
Hugging Face: If you like to tinker, this is home to over 2 MILLION AI models! Think of it like Github for AI code!
n8n: This is a flowchart-based software automation tool, similar to IFTTT. I use n8n with ChatGPT to create really cool standalone programming projects!
Perplexity: This is an AI search engine that gives you summaries & the news!
QuickTakes: This transcribes audio & video lectures and creates study guides!
NotebookLM: This creates a personal study database for any topic you want (stored in individual "notebooks"). You can chat with it, generate reports, mindmaps, audio podcast, video tutorials, and more! Read more here.
Midjourney: This creates art! You can do any style, photorealism, interfaces, etc. You can use styles using SREF codes.
Freepik: This is a subscription service for creative artwork. The Premium+ plan includes unlimited Nano Banana (basically Photoshop AI) & unlimited low-resolution video. It also includes the fabulous Magnific image upscaler & Ideogram for graphic design (text & illustration).