03/05/23 5:33 PM
Welcome to my Vanilla Era.
I am burnt out on frameworks. Period, end of discussion. I can debug them and manage them, but I will be damned
if I spin up another one without a lot of analysis to make sure that it's needed. If you need to see why I, a lot
of other developers, and now departments in enterprises are starting to feel this way I recommend checking out
this article. It's a very entertaining
and informative read.
So welcome to my personal Skunkworks. If you're reading this close to the posted date, then it's pretty barebones.
There are things going on in the background I swear, however for right now you'll have to settle for Marvin
falling over. It's a fitting representation of my future mental state from this sprint to work out the lethargy
of not having a project for a while. So to keep myself sharp it's time to clear the back log of personal projects
and ideas.
On to the actual work:
Finally got a vanilla component build path ready to go with TS and Webstorm working beautifully in tandem. So well
that when I save something in the project it's instantly available at sys.house. I am beginning to prefer this
method for development environments. I can see myself in the future to separating staging / live devel and release
into their own entirely different pipelines. Everything should work in devel as it does in production anyway
(seriously stop with the over engineering of CI/CD), and if it isn't will probably bite me in the ass much later.
Current backend stack consist of (everything configured vanilla thus far):
- Virtualbox with guest and host addition.
- Shared project folder with Linux guest.
- Arch Linux VM running headless
- nginx webserver only modified to support shared project folder
- Node installed for tools like sass, ts, and webstorm. No actual modules needed yet.
- Sass file watcher configured for dev environment.
- TS Configuration files generated for dev and staging
- Deployment settings configured in Webstorm for static media.
03/06/23 8:43 AM
Tracking, storing and displaying. Oh my.
Noticed that I didn't have time my tracking plugin enabled in WebStorm today, so I added that back in to keep
myself honest and motivated. Time to start fresh and fill it up.

Backend brain got overruled when the frontend and debugging side of the brain noticed some shiny little annoyances.
Those are somewhat fixed now, and I am finally off to write the API, so that I can begin to play with all my new
wonderful toys.
Shiny things made dull:
- Background and text now readable on all browsers.
- Page zoom control given production values for min and max instead of QA ones
- Still can't use //background-blend-mode: saturation; in Firefox in 2023. Forgot. Again. BG is now the
same across all browsers. Just not as pretty as it could be. C'mon this is akin to MS holding up alpha
transparent pngs way back in the day. Ok I'll shut up now.
- Added barcode font for display purpose because I am pretty much a 12 year old sci-fi nerd.
- Re-read it after sharing with some of my friends and the Alt-Write side of the brain had to shut up my
inner grammar nazi.
03/06/23 4:34 PM
Life is distracting, toss it away?
Separated the content for the blog / timeline, after I woke up from my "why do I still get up @ 5am" nap, that
definitely is just because I am tired and not because I am getting old. Moving on what was I doing, oh back to
standing up Express for the API in a TS friendly environment.
The fact that the zoom slider didn't have percentage listed was shiny. Never-mind the fact that I haven't bound
the current value to a display block. It's driving me nuts too, but I haven't figured out how I want to handle
templates with my components. So the shiny spot lives.
03/07/23 9:45 PM
Everything is a circle. Try to be the radius
Started with the Express configuration today. Started to configure virtualbox to share symlink files, to make
modifying nginx and everything else easier. It appears that I will need to get the git directory configured on
the Arch devel server sooner rather than later.
Things I fiddled with today that don't feel like accomplishments:
- Got nginx set up with HTTPS and certbot. (Still needs automated)
- http 2 activated for HTTPS
- lib directory given * CORS permissions since flat files and no SPA router allow for that separation
- Tested the Page Zoom on a few pages with greasemonkey. Needs the ability to switch a websites HTML
font-size to em, and everything else to rem. Also for websites I create and manage it needs the ability to
only zoom a certain div or any CSS selector.
- Started planning out how to structure the Express router.
- Using the isOnline custom component to plan out the API and figure stuff out before I move on to the actual
skunkworks / portfolio project.
03/09/23 8:08 PM
Another trip around the closest star.
Yesterday was my birthday so I took the day off and only managed like 19 minutes of programming when I was looking
at a shower thought of how to fix something. Forty two trips around the sun and I still don't know the answer
to life the universe and everything. Total slacker.
I finally got the SSE (server sent event) route up and running for the express server installation. I've decided
to go this route because it is really nice later PWAs that pull their updated flat HTML from the server, while
everything else hits the API. The web truly has come full circle. Since I have a working SSE instance, I am now
going to focus on some of the DRY stuff, like making methods to send different event types. Creating modules /
middleware for all the things that I usually just set up in the main server file.
- Created a nginx proxy for the whatever project is on the dev machine designated nodejs port. Examples are
isOnline and heartBeat
Hold
down ctrl while clicking to see the stream
- Added a page to play with and use SSE later. Currently is just showing a dump
of all the broadcast messages. Probably will be where I dump debug logs for dev environments so I can
get the logger and debugger to match up in their object architecture.
- Got nginx proxy to play nice with Node SSE route with the following options for location:
03/09/23 8:08 PM
Job search overrides DND.
Getting more and more calls now that my resume has been out there a few. Apparently of the quarter million in our
field not many were full stack people that have had to dabble in everything from the AS/400 to ruby to PHP to SSI
to whatever the hell people are going on about now. Didn't get much work done between the three calls that
completely shattered my concentration the last of which guaranteed I won't have it back for a day or two. So
here's my todo list for Sun and moving forward next week.
Now that SSE is up and in a rock solid PoC state, I need to work it into a fully complete server to client
messaging channel.
Stuff accomplished:
- Keep all the SSE code separate because there really is a giant hole in the SSE module department (node)
for SSE.
- Separate broadcast and user specific targets.
- Look into triggers for SQL DBs, so the servers are completely in charge of all their clients.
- Create a web component for display of notifications
Stuff that needs considered and started for next week:
- Logging. Steal over the one from geeks that was the express module. Also configure the nginx ones
properly since it's still vanilla configs.
- Session module for geeks.house needs to be adapted and modularized. Separate session storage and add
login hooks.
- Map out the views for the simple flashcard app for the girls.
- Blueprint the entire architecture for the portfolio project.
- Figure out how I want to handle templating for custom components
- Figure out how to handle mapping models and for the fetch functions for custom components.
03/16/23 6:36 PM
Autoplay videos are exactly like unwanted dick pics.
Felt like crap for the entire beginning of the week, so not much was accomplished outside settling a
personal vendetta with TikTok. In my downtime I help manage and do the technical stuff for a forum (gotta
stay current on PHP somehow), and relatively recently tiktok decided that an embed on a site meant that we
obviously wanted to see the video as soon as it comes into view. I didn't like it when FB forced it on us
and I don't like it now.
While I was playing around and seeing if there was an easy one or two line solution to the problem, I accidentally
discovered while messing with the CSS of the iframes on the page, that if the iframe wasn't tall enough,
the browser didn't notify the JS that the video was in view and to start playing. Apparently 575 is the
magic height, for anyone else that happens across this when I finally allow SE's to start crawling.

Once I had that defeated it wasn't enough. I saw how much extra BS shit is packed into the iframe and I decided
to work on stripping it out. Since TikTok uses a multi page approach to content and layout generation it was
rather easy. Created a route in my Express API portfolio server. I hooked directly into their embed API, grabbed
the video element using Cheerio and returned that HTML. Then I created the custom html element that uses just
the url as input to hit the api and grab the clean element. The results of which can be seen below in the legos
section.
Truly as simple as adding the following tag to a page after the small module has been loaded.
<tik-tok url="https://www.tiktok.com/@chishikuzan88/video/6927431734111767810"></tik-tok>