About a month ago I was notified by Linode that my server had been compromised and was initiating a DDoS attack out to the internet. Of course they don't take things like that lightly so the server was suspended, and after many hours of diagnosing and trying to find the cause, I found nothing :sad_face:.
Read more >From My Desk
Today I want to discuss something important to most websites, analytics, and why I chose not to go with offerings from Google.
Read more >I'm guilty. Last week I was working on my website on my laptop and testing as I went, but I was only running in dev mode, and it bit me in the butt. I had finished up a major refactor of my react-query hooks and types and all looked good, so I git pushed my code, and on my production server pulled, built, and restarted my app. And then I found out it didn't work! Very quickly my website crashed because I didn't account for something in my code that would affect the production build on my website and because my laptop also stopped working had no live website for days!
Read more >The last couple of days I was doing some profiling of pages on my website, seeing where and how I could optimize and cut down on bundles to improve the user experience and noticed something that when I started thinking about it made no sense.
Read more >So let me start with a pre-face on why this came up and how I worked it through till I finally came up with the rather hacky solution that works! One of the goals with my new website was to build a dedicated models page. A space where I can show off the work I've put into building models over the last few years, but also make it easy enough for visitors to my site to be able to navigate and sort and search for what they want to see rather easily. Basic things that all kits have in common are the grand, the scale, if they are completed or not (some are still in progress), and tags that i've added. As time has gone on many new ones have been built and I needed a way for users to narrow down their search results as well, say you want a specific brand in a specific scale that isn't done. My first pass through was to just add dropdown boxes with all the options possible (populated from GraphQL queries) and just push the new URL with that one variable changed. It worked but you could only select one thing, not more, that presents a problem with trying to sort down to specific subset. From there I began researching the best method to handle this mult-sort. I knew I wanted to build a function that could be re-used wherever routing was in place on the page so that everything could take advantage of it, but the implementation details I wasn't sure on.
Read more >So I thought a good place to begin my new blog was on a topic that is pretty important to this website and its functions, the tech stack used, both hardware and software and services used.
Read more >
Welcome to the first blog post on my new website! Why the title though? Well because simply it is humble beginnings. This is now the third or fourth iteration of my website, none of which I have ever been happy with but today, today I feel like I'm going in a great direction. For once I feel a great sense of accomplishment, pride, and overall enthusiasm about my new brand and look. But wait you might ask! Didn't the old website look exactly like this? Yes, yes it does, with minor tweaks here and there of course to accomodate the new tech being used but otherwise its the same old familiar look. Coming from WordPress and not feeling like I had total control over everything to now with Strapi providing the backend technology and extensive use of Facebooks React and many other awesome tools I for once feel like I'm in charge. Truely in charge at that. One one hand this new setup is so much more complex, and some day I shall delve into that and how I've gone about building my new website but today I just wanted to basically say hey. So I guess without further adu:
Read more >