Trading Thesis
Traders refer to a "thesis" a lot. I've come to believe this is just jargon for a hypothesis. "I think it will do this".
Traders refer to a "thesis" a lot. I've come to believe this is just jargon for a hypothesis. "I think it will do this".
I got some advice recently that I liked: options are for strong conviction trades. "I think this might work" is for shares trades, not options.
"This is working as expected" is when you keep an options trade open.
"This still has a chance it might work as expected" is when you close an options trade. Maybe reopen a smaller position with shares if you absolutely have to gamble.
Pretty much, I'm thinking, whenever you think "It still might..." it's time to close the options trade. The thesis is broken.
This would be haiku,
But it only has two lines.
Oh, wait — nevermind.
This is a haiku.
You can tell because it's, uh,
not everything else?
This, too, is a hai
ku, even though it's labored
I still got it right.
Someday maybe this,
too, will be a haiku, dude,
but it just ain't now, man.
Ere, now I follow
the plain footsteps of Basho
but without his skill.
Occasionally I visit the Indieweb Chatroom when nobody is there and leave haikus.
the lone web dev sighs
soft, in the empty chat room
indieweb haiku
8/9/2025
The empty chat room.
The placid textarea
bears no hacker wit.
11/20/2025
N8n by default binds to localhost, and even binding it to listen on all interfaces, it still by default listens only for IPv6. You also may want to tell it to not use the Secure Cookie if you don't want to set up an SSL certificate or sign up for their cloud service. Make sure you only have it reachable on the local network if you do this, you don't want to open your instance to the entire world.
N8N_SECURE_COOKIE=false N8N_HOST=0.0.0.0 N8N_LISTEN_ADDRESS=0.0.0.0 npx n8n
Remember to open port 5678 on the machine's firewall if necessary.
This is (almost*) the entire contents of the site, presented in blog-like form. This is all articles and blog posts from newest to oldest
*Individual movie reviews won't get posted on this page. I write too many of them, it would drown everything else out.
This is my placeholder scratchpad for what will be my page of rules of thumb, natural laws, and other such handy guidelines.
1. Child rearing
Keep a parent's vigilant eye, and keep the kid away from high stuff and sharp stuff and hot stuff and anything with teeth and no training. You'll do fine.
2. Kupietz's Henriksen Conjecture
As described on my movie reviews page: Lance Henriksen will be the last to die in any horror movie he is in.
I'll be adding to this as I remember these, until it grows into an article.
Some virtual spectral photography to spookify your Halloween. True fact: none of these AI-generated images had ghosts in them when I prompted them. WoooOOOOoooo! 👻
I believe I originally made these as a Saturday Monster Challenge but I can't recall when. I'll update if I run across the original info.
With the browser plugin uBlock Origin, you can block shares from Instagram with the custom rule:
www.facebook.com##.html-div:has(a[href*="www.instagram.com"])
Note: Facebook changes their css often. This may not work for long.
Also, uBlock Origin is not always the fastest plugin, you may see the Instagram posts briefly on your screen before it removes them.
How to Block Instagram Shares from Facebook Using uBlock Origin: A Complete Guide
Social media platforms have become increasingly interconnected, with content from one platform frequently appearing on another. For Facebook users, this often means encountering Instagram shares in their news feed—sometimes from accounts they follow on both platforms, creating redundant content, and sometimes from accounts they don't follow on Instagram at all, courtesy of Facebook's algorithmic recommendations.
If you're looking to curate a cleaner Facebook experience by filtering out these Instagram cross-posts, browser extensions like uBlock Origin offer a powerful solution through custom…
This is a regular snack around my place.
Ingredients:
1 large (7oz unopened) can tuna, drained
2 thin slices ham
healthy dollop or two of mayonnaise
red Tabasco sauce
black pepper
optional: lemon pepper
powedered garlic
shredded cheese of your preference
1. Put tuna in a large bowl
2. shred ham slices and add
3. add healthy dollop or two of mayonnaise
4. Several dashes of Tabasco sauce. This is one of the exceedingly rare instances where you don't want to overdo it with Tabasco sauce... just a dash or two. This is because we're about to overdo it with the black pepper, and surprisingly, they don't mix.
5. Add garlic to taste... I like a lot.
6. Add pepper. Now, I have a standard rule of them for how much black pepper you need to add…
I screenshare into a Mac for playing video on my TV, and had an intermittent problem where Firefox would not play video while screen sharing was connected, but then locked the screen as soon as I disconnected.
It turns out that if the screen is locked when you log in via screensharing, MacOS defaults to locking it again when you disconnected, and, being MacOS, the ability to turn this off has been removed from the UI.
Enter this in terminal to turn it off: sudo defaults write /Library/Preferences/com.apple.RemoteManagement RestoreMachineState -bool NO
Amongst my most-used browser extensions is Webstickies by Lawrence Hook, which allows you to leave a permanent "sticky note" on any web page. It's available for both Firefox and (yuck, ptui) Chrome, although I only use it in Firefox.
However, the one thing it lacks is an import/export functionality. For $10, you can get access to "Cloud Sync" for your notes—yes, another unneeded "cloud integration" where local functionality would have been superior.
Consider this side-by-side feature comparison:
Local Import/Export Cloud Sync Transfer notes between browsers or computers ✔ ✔ Allows the plugin developer to make some money selling the use of infrastructure that shouldn't strictly be needed ❌ ✔ Need to literally copy down every single note by hand, one by one, to get them out of the extension ❌ ✔ Email yourself a full copy of your notes for safekeeping ✔ ❌…As with all other advice-y sounding things on this site, don't take my word for it. I'm just telling you what worked for me. Use your discretion. I'm not responsible for your actions or the consequences of anything you chopse to do. I'm just saying if you try to clean a stain off suede with vinegar and it winds up costing you a limb or killing somebody, that's not my fault. You're on your own recognizance.
Water is bad for suede. If stains haven't set yet, you can clean them off suede with a rag or sponge soaked in white vinegar. I've had pretty good luck even with stuff that's dried on there pretty good.
As this is a food handling tip, it is presented as documention of something I do. That does not mean I suggest you do it. As with all things, the foremost rule is: use your discretion. I am not responsible for anything you do.
I wish I could remember who showed this to me. This is one of the most useful tips I've ever received. I use this all the time. It even works for frozen-solid inch-thick pork chops. I just did it tonight.
To fully defrost a completely frozen steak in 30 minutes:
1.) Wrap it tightly in something 100% watertight. The watertightness is essential otherwise you will ruin it rather than defrost it. High-quality bags might work in lieu of anything else.
2.) Fully submerge it in a bowl or container of cold tapwater. Put something on top of it to keep it submerged if you…
I had a truly maddening problem where my /embed/ functionality was sometimes returning full pages to CURL commands and online services like redirect-checker.org, etc.
It turned out, it was Yoast's URL parameter stripping. I had failed to update Yoast's settings with some new parameters I was using, and what Yyoast never tells you is that when you're logged in, it lets everything work fine, and only strips parameters for non-logged in users. It just lets you proceed on your way thinking everything is working fine until you can't figure out why curl -I https://mysite.com/blah?param1¶m2 is getting a 301 redirect while https://mysite.com/blah?param1¶m2 is loading fine in your browser. This is especially fun on sites like mine where things like /embed/ and ?embed get written back and forth to each other internally.
I lost several hours to this.
Yoast's docs say there's a way of registering parameters but,…
Richmond-upon-Thames, UK – Nestled precariously on a foundation of questionable architectural decisions and a deep-seated commitment to the unconventional, the Wobbly Wombat Academy stands alone in its unique approach to education. Forget standardized tests and traditional subjects; at WWA, the only constant is change, and the only rule is... well, there really isn't one.
"We believe in fostering a spirit of delightful bewilderment," declared Michael Kupietz, the school's enigmatic Headmaster-in-Absentia, in a recent telegram delivered by carrier pigeon. "Why teach quadratic equations when you can teach the subtle art of competitive cheese rolling? Or the sociological implications of a particularly jaunty hat?"
Indeed, Wobbly Wombat's curriculum reads less like a prospectus and more like the fever dream of a particularly eccentric lexicographer. Mornings might see students engaged in Advanced Cloud Gazing, meticulously cataloging shapes and their potential emotional impact. Afternoons could be dedicated to "Applied Surrealism," where pupils are tasked…
Way back in the heady days of the dotcom boom, as a newbie in San Francisco, I fell in with a group of kids trying to revivify the Cacophony Society via the SF-Caco email list, which, for a while, consisted mostly of a bunch of underemployed young adults kidding around with each other and trying to come up with funny ideas. Finally, one day, a young woman who went by the on-list moniker "Drunken Consumptive Panda" threw out a sentence that was to change a lot of lives: "We should have a pigeon roast in Union Square".
The Union Square Pigeon Roast, as it happens, deserves a much longer reminiscence, is it was the start of a remarkable, brief but fun period of activity that lasted a few years. The event itself was ludicrous: we posed as a group called "Bay Area Rotisserie Friends" (that was…
Determining which script changed an element's attribute
So, I had an issue where quite a while ago I added some js code that would open a [code]details[/code] disclosure element if it contained a named anchor that was included in the page's URL. For instance if you loaded the URL [code]https://thisdomain.com/somepage.html#blahblahblah[/code], and the page had [code][/code] hidden inside a closed [code]details[/code] element, it would open that element by setting the attribute "open" on the details element, and scroll to reveal the anchor.
The problem was, I needed to make some changes to how that code functioned, and I couldn't find where I had added the script that did that.
Long story short: I temporarily added this script to the head of the page, and then reloaded it with an #anchor added to the URL, in this case [code]https://michaelkupietz.com/literally-hundreds-capsule-reviews/#puzzlehead[/code]:
[code] // Override the open property setter to catch when…
Here's the SQL query to get all post revisions, which I do prior to cleaning them out of the database, which seems to make it much faster:
SELECT p.*
FROM [posts table name] p
WHERE (p.post_type = 'post' OR p.post_type = 'page') -- Include posts/pages
AND (p.post_date BETWEEN '2020-01-01' AND '2029-07-01') -- Adjust date range
OR (p.post_type = 'revision' AND p.post_parent IN (
SELECT ID FROM [posts table name]
WHERE post_date BETWEEN '2024-01-01' AND '2024-07-01'
));
To get just a count of revisions, change SELECT p.* to SELECT count(*).
I removed a bunch of wildcard paths from rsnapshot.conf's exclude, and suddenly tonight my backup ran in a few minutes instead of taking over a day like it usually does.
Interesting, I've been looking off and on for at least the better part of a year for ways to lighten the load of rsnapshot's under-the-hood rsync backup commands, which reliably took up about half my CPU power almost continuously, and never found this tip before. You can see, plenty of wildcard paths removed, plus a few other things.
Here's a diff, rsnapshot.conf before changes (<) vs after (>):
< verbose 1
---
> verbose 4
120c120
< loglevel 2
---
> loglevel 4
143a144,146
> rsync_short_args -Wa
> #-W is transfer whole files without prescan, recommended for performance by https://serverfault.com/questions/639458/rsync-taking-100-of-cpu-and-hours-to-complete
> #NOTE: if you set the above short…
I had an interesting problem where I set an image's CSS rules to display:fixed and it still scrolled with the page. Here's what I discovered:
In CSS, display:fixed means fixed with regard to the nearest ancestor stacking context, not necessarily to the page coordinates. You can reset the stacking context by adding a transform, will-change, or other attributes (list provided below) to an element. If an ancestor element resets the stacking context, any descendant of it with display:fixed will stay fixed with regard to it, but if it scrolls with the page, will scroll too.
Ditto for the CSS attribute z-index. A higher z-index is only in front of objects in its stacking context. A new stacking context, lower down on the page, can contain elements with a lower z-index but that nonetheless appear in front of it visually, because they're not in the same stacking context.
Josh Comeau's site…
Following several days of frequent freezes, I tried changing the following settings
updated in :
[opcache] original settings
;recommended by https://vpsfix.com/14433/virtualmin-post-installation-configuration-and-server-optimization-guide/
opcache.enable=
opcache.memory_consumption=
opcache.interned_strings_buffer=
opcache.max_accelerated_files=
opcache.validate_timestamps=
opcache.revalidate_freq=
opcache.save_comments=
;end recommendation
to
[opcache]
;recommended by https://vpsfix.com/14433/virtualmin-post-installation-configuration-and-server-optimization-guide/
opcache.enable=
opcache.memory_consumption=
opcache.interned_strings_buffer=
opcache.max_accelerated_files=
opcache.validate_timestamps=
opcache.revalidate_freq=
opcache.save_comments=
-
added var_dump(opcache_get_status()) to php status page to be able to monitor opcache usage
-
changed warning logs from E_ALL & ~E_DEPRECATED & ~E_STRICT to
----
noticed contained a LOT of processes being stopped for tracing
turned off request_slowlog_timeout by setting to 0s in
had been 4s
---
I had turned on lightspeed at 1:45 am est , aug 26. Seems like more problems since then.
None of the above seem to help, still getting freezes maybe every 30 minutes. Next…
PHP config -
Includes:
- opcache settings
- error warnings
PHP slow log setup is in
PHP log -
PHP error and slow logs by pool are in
I discovered rsnapshot hadn't run in a few days. Checking /etc/rsnapshot.log, I found every recent day had this:
rsync: --delete does not work without --recursive (-r) or --dirs (-d). rsync error: syntax or usage error (code 1) at main.c(1795) [client=3.2.7]A few days ago I had added the line rsync_short_args -W to /etc/rsnapshot.conf in an effort to get rsync to run without putting such a load on my system. Removing this and running rsnapshot -v hourly from the command line shows that without it, the first line of the rsync command was /usr/bin/rsync -ax --delete --numeric-ids --relative --delete-excluded \, but with it, the first line was /usr/bin/rsync -Wx --delete --numeric-ids --relative --delete-excluded \.
Changing the line rsync_short_args -W to rsync_short_args -Wa, with an a flag explicitly included, solved the problem. Apparently specifying custom short flags overrides at least one of the default flags.
Also: remember, when you run an…
This is a placeholder to remind me to post the photo album of exploring the hidden Fort Mason rail tunnel.
This is a placeholder page to remind me to post my gallery of photos from Wendee Key's plantation.
There are intentionally vague broad steps, here just as a reminder to myself; best to look specific instructions for each of these steps up at restore time for the particular system you're restoring to.
A.) Backups should include all user data. Depending on who you ask, that's either:
1.) The entire filesystem except /dev/*, /proc/*, /sys/*, /tmp/*, /run/*, /mnt/*, /media/*, /lost+found (which can be pulled from a complete filesystem backup with rsync -avhP --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} /mnt/olddrive/ /mnt/netdrive/)
2.)/home, /etc (except /etc/passwd and /etc/groups, these have useful information to back up but may conflict if written to a new install), /usr/local, /opt, /root, /var (exluding /var/tmp, /var/run/, /var/lock, or /var/spool except you DO want /var/spool/cron/crontabs/)
B.) After copying all the above to the new or restored disk, you need to update /etc/fstab with the new disk UUIDs.
C.) Install GRUB Bootloader.
D.) If you're using LUKS encryption, set that…
Per numerous references around the web, to delete /path/to/directory-to-delete/:
cd /path/to/ mkdir empty_dir rsync -a --delete empty_dir/ directory-to-delete/ rm -r empty_dir rm -r directory-to-delete Disclaimer: this is for my own reference, not recommended for your use. Use it at your own risk. If I am wrong—and I may be—these commands can do tremendous damage to your system.
This is my /Now page, after Derek Sivers's proposal.
I've recently back in San Francisco after a few months on the east coast.
I'm doing a lot of generative art, some (but nowhere near all of which, yet) you see all over this site, as well as having a few pieces published as cover and internal illustrations for a not-for-profit poetry anthology published by UCSF's Poetic Medicine program at the MERI Center for Palliative Care at Mt Zion.
On the music front, for the last few months I've been practicing playing the lyre, as well as still regularly playing guitar, saxophone and clarinet. I have a 24-string lyre and expect to have a video or two posted in the reasonable near future.
Professionally, I've been working doing general business IT support, WordPress and FileMaker development for a local managed services IT…
Here’s a guide to all currently available CSS units, with explanations and common use notes. This includes all CSS units listed in MDN Web Docs as of 2025aug15.
Sections:
By Category Angle unitsI had an interesting thing happen a few months ago where a troll in a chat room decided for some reason to run my site through the W3C's Nu HTML Validator and apparently was grievously wounded by the validation errors it had—and furthermore, had a big concern with the overall bandwidth consumption of the site, with all its images and heavy pages.
Rather than simply solving the problem by not visiting my site, this person apparently felt some sort of imperative to berate me over these things and not. let. it. drop, making the chat room difficult to be in and necessitating action on my part.
So, rather than try to verbally wrangle with a troll, I whipped up a technological solution. And, of course, the monkey in my soul decided to have a little fun with it.
I. Lassoing the HTML ValidatorNowadays, if…
For confused first-time visitors and other people still acclimating, here is a description of these little tabs to the left, as well as some other features of the site.
Open "Expert Mode" CLI Navigation - this give you the option to switch your browser's display to an old-fashioned terminal mode where you may browse this site, view pages and images by typing text commands. Just like how we used to browse the web back in 1978!
Open Visual Settings - This gives you controls to customize the visual display of this website to your liking: turn up or down the brightness, contrast, color temperature, hue, saturation, dark mode, and earthquake. Settings are saved per browser tab, so they will be remembered for your whole visit.
Open My Eyes - Have you ever been engrossed in your work, when you suddenly realize someone is staring at your screen, watching everything you do over your shoulder? If not, this simulates the experience.
Open Help - This help popup, silly! You just clicked it! Do you not remember?
New - Draggable elements! Several elements on this website, including these tabs, this popup message, and the "Hire Mike" badge in the lower right, can be dragged around with your mouse, to avoid them blocking content. Positions are remembered per tab, so as you navigate around the site, they will stay in the same place for your whole visit.
Enjoy!
Are you sure you want to switch to viewing this website in the "expert mode" command-line interface?
This will switch to a terminal emulator, load this page, and allow you to browse this website and view its contents by typing text commands.
Plus there might be, y'know, some fun stuff hidden in there. Just for geeks.