Posts tagged: thought

All posts with the tag "thought"

851 posts latest post 2026-05-06
Publishing rhythm
Apr 2026 | 20 posts

This is a handy guide to cancelling stripe subscriptions.

# Set your secret key. Remember to switch to your live secret key in production. # See your keys here: https://dashboard.stripe.com/apikeys import stripe stripe.api_key = "sk_test_51ODvHtB26msLKqCAPBAo1qkBBuIfT5tQBX6YFWCLMsPixIExxITCRVa9tNCIqkdQS8olhR79NYXsFWBPKsM3LbGO00zEcNQfNI" stripe.Subscription.modify( "sub_49ty4767H20z6a", cancel_at_period_end=True, )

You can even inverse it by flipping True to False and re activate the subscription.

You can find your customers next billing date through the stripe api by using Invoice. and passing in customer, customer_details, subscription, or schedule.

import stripe stripe.api_key = "sk_test_51ODvHtB26msLKqCAPBAo1qkBBuIfT5tQBX6YFWCLMsPixIExxITCRVa9tNCIqkdQS8olhR79NYXsFWBPKsM3LbGO00zEcNQfNI" invoice = stripe.Invoice.upcoming(customer="cus_NeZwdNtLEOXuvB")

Within the invoice, you can find the next_payment_attempt as a epoch.

Prefix Description Notes ac_ Platform Client ID Identifier for an auth code/client id. acct_ Account ID Identifier for an Account object. aliacc_ Alipay Account ID Identifier for an Alipay account. ba_ Bank Account ID Identifier for a Bank Account object. btok_ Bank Token ID Identifier for a Bank Token object. card_ Card ID Identifier for a Card object. cbtxn_ Customer Balance Transaction ID Identifier for a Customer Balance Transaction object. ch_ Charge ID Identifier for a Charge object. cn_ Credit Note ID Identifier for a Credit Note object. cs_live_ Live Checkout Session ID Identifier for a checkout Session object in live mode. cs_test_ Test Checkout Session ID Identifier for a checkout Session object in test mode. cus_ Customer ID Identifier for a Customer object. dp_ Dispute ID Identifier for a Dispute object. evt_ Event ID Identifier for an Event object. fee_ Application Fee ID Identifier for an Application Fee object. file_ File ID Identifier for a File object. fr_ Application Fee Refund ID Identifier for an Application Fee Refund object. iauth_ Issuing Authorization ID Identifier for an Issuing Authorization object. ic_ Issuing Card ID Identifier for an Issuing Card object. ich_ Issuing Card Holder ID Identifier for an Issuing Card Holder object. idp_ Issuing Dispute ID Identifier for an Issuing Dispute object. ii_ Invoice Item ID Identifier for an Invoice Item object. il_ Invoice Line Item ID Identifier for a Invoice Line Item object. in_ Invoice ID Identifier for an Invoice object. ipi_ Issuing Transaction ID Identifier for an Issuing Transaction object. link_ File Link ID Identifier for a File Link object. or_ Order ID Identifier for an Order object. orret_ Order Return ID Identifier for an Order Return object. person_ Person ID Identifier for a Person object. pi_ Payment Intent ID Identifier for a Payment Intent object. pk_live_ Live public key Public key in a live environment. pk_test_ Test public key Public key in a test environment. pm_ Payment Method ID Identifier for a Payment Method object. po_ Payout ID Identifier for a Payout object. price_ Price ID Identifier for a Price object. prod_ Product ID Identifier for a Product object. prv_ Review ID Identifier for a Review object. pst_live_ Live Connection token Connection token in a live environment. pst_test_ Test Connection token Connection token in a test environment. py_ Payment ID Identifier for a Payment object. pyr_ Payment Refund ID Identifier for a psuedo Refund object of a payment. qt_ Quote ID Identifier for a Quote object. rcpt_ Receipt ID Identifier for a receipt. re_ Refund ID Identifier for a Refund object. req_ Request ID Identifier for a HTTP Request rk_live_ Live restricted key Restricted key for live environment eg. stripe-cli rk_test_ Test restricted key Restricted key for test environment eg. stripe-cli seti_ Setup Intent ID Identifier for a Setup Intent object. si_ Subscription Item ID Identifier for a Subscription Item object. sk_live_ Live secret key Secret key in a live environment. sk_test_ Test secret key Pecret key in a test environment. sku_ SKU ID Identifier for a SKU object. sli_ Subscription Line Item ID Identifier for a Subscription Line Item object. sqr_ Scheduled Query Run ID Identifier for a Scheduled Query Run object. src_ Source ID Identifier for a Source object. src_ Source ID Identifier for a Source object. sub_ Subscription ID Identifier for a Subscription object. tml_ Terminal Location ID Identifier for a Terminal Location object. tmr_ Terminal Reader ID Identifier for a Terminal Reader object. tok_ Token ID Identifier for a Token object. trr_ Transfer ID Identifier a Transfer object. tu_ Topup ID Identifier for a Topup object. txi_ Tax ID Identifier for a customer Tax object. txn_ Transaction ID Identifier for a Transaction object. txr_ Tax Rate ID Identifier for a Tax Rate object. we_ Webhook Endpoint ID Identifier for a webhook endpoint. whsec_ Webhook Secret Secret key for signing a web hook.

Stripe has so many keys and ids this is a very helpful list to decode what exactly an id is for.

Dang this is such a good message. I can’t exactly relate to being forced into the overworking situation that PirateSofware is talking about. I can relate to being conditioned to feeling a certain way and changing that is very difficult. I can also relate to not feeling like I am getting enough done in the day. Sometimes a bit of separation is good.

I’m working on something that might go to print, so I want the page breaks to happen somewhat in my control as the content author. As I do my writing I break my content up in to many short sections using h2, sometimes an h3. These are generally short sections that go together, should stay together, and typically are not too lengthy to cause a large white space in print.

I found a way in css to only allow page breaks to happen on h2 and h3, and it turned out perfect, suck it WSIWIG editors

How to Build a Website or App - Syntax #696 This podcast episode covers a wide range of topics related to building a website or web application from start to finish. syntax.fm Great tips in this one. They discuss everything from front end to backend, databases and ORMS, here are a few of my favorite points. Use good data or good fake data make it have some variation like long and short text Don’t use a database if you need one, static content is eaiser to manage end to end test, (does the site load page x) You DONT NEED all this complexity, you can deploy a site with HTML and CSS.

Nice take by @t3dotgg. Some of the old patterns that go deep into webdev, MVC, separation of concerns, REST, are things we are told to believe on day one, thrown so many things, no mental bandwidth, or experience to form our own opinions we must take them as fact. Rarely do we take these facts and revisit them with our new understandings years later.

heroicons is a really nice set of many of the basic icons that you will need for building nice ui’s. They have a really nice copy as svg or jsx button, so that you can just yank it and paste it on your page without any extra packages or installation.

Kubetail is a pretty sick bash script that allows you to tail logs for multiple pods in one stream. Very handy when you have more than one replica running.

wget https://raw.githubusercontent.com/johanhaleby/kubetail/master/kubetail chmod u+x ./kubetail

Now with kubetail I can tail all the logs for every shot-wayl-one pod in the shot namespace.

I am converting my docker compose env secrets over to k8s secrets. This guide was clear and to the point how I can replicate this exact workflow.

First set the secret, the easiest way is to use kubectl wtih –from-literal because it automatically base64 encodes for you.

kubectl create secret generic minio-access-key --from-literal=ACCESS_KEY=7FkTV**** -n shot

If you don’t use the --from-literal you will have to base64 encode it.

echo "7FkTV****" | openssl base64

Once you have your secret deployed, you have to update the container spec in your deployment manifest to get the valueFrom secretKeyRef.