Welcome to my homepage!
The idea of making a personal portfolio website in 2017, is kind of ridiculous. If I want a potential employer or client to check out my work, there's much easier ways to go about it, than creating an entire website. Hosting? PHP? FTP clients? What awful tedious things to spend your time on, when you could be spending that time creating!
But when I started doing web design & development a decade ago, a personal website was the only way to showcase yourself. Pre-iphone, prime-Flash era websites. They were often horrible to use. They were also often very ugly. But they were all pretty unique. Taking that inspiration and my need to create a new project, I decided to create a new personal website.
See my work
Usually, a web portfolio site is a way to showcase your work that potentially someone would pay your for. But my career has gone in a way, that I actually don't do much web dev at my job anymore. And the things that I want to show people aren't necessarily the things that people would pay me to do. I have many interests that don't exist 100% on the internet. So, you won't see my work on Be Creative Everyday. You'll see the projects I'm proud of.
Check out my thoughts!
What is the thing everyone wants more of? People's opinions on the internet of course! I think the main reason I'm putting any sort of blog on my website is to get myself to write more. Also, as you get older and code a lot less, being a "thought leader" becomes a valuable skill. So egotistically, expanding my brand is also a part of it. It's like my twitter, only longer and more boring.
Good! If a company can lose that much, it probably wasn’t really worth that much https://t.co/UZLkA2X85x— Mike Moore (@mikeatmercer) July 27, 2018
I love tracking my life. All that data out there in the world. It's all probably never going to be seen, but I like that it's there. Frank Chimero used to have a place on his site with all the media he liked (since taken down). That was inspiration, but taken to the level where it's just an unfiltered feed, closer to Steven Soderbergh's yearly list. It's not curated to show my great taste, so it's potentially embarrassing. Did I watch 15 episodes of Cheers in a day? It's on there.
"This site is ugly and the line through the middle makes it hard to read."
I've been a web developer for a decade and I'm so sick of making & looking at boring sites with pleasant color schemes and tasteful skeuomorphic design. The current trend of brutalist web design really speaks to me. A bunch of little cards with drop-shadows on a grey background does not.
But not surprisingly , it's also super hard on the browser to change the color of every element on the page constantly. This is not a problem with most of the site, but it becomes an issue with the Media Stream since it has a lot of elements. This causes the color transitions to get all choppy on less-powered devices. To remedy this, I used the completely awesome Intersection Observer API. This new JS feature solves so many use cases that involved connecting
onScroll events to the
window. This is gross and labor-intensive both for the developer and the browser. Now, when a little media block leaves the screen, all of its
innerHTML gets removed, which removes it from the render tree. When it comes back into the screen, I put it back in. Simple! This is what a lot of feed-based apps have done for a while. You can see my implementation here.
"Wordpress?!? How lame."
Yes, this site is built on Wordpress. I absolutely love Wordpress. It's extremely easy to use, well documented, and can be run almost anywhere. I agree that PHP is pretty slow unlike a static site generator and unlike Node, you have to know a whole separate language. But I also think that's kind of great! I personally think PHP is a pretty great server side language and does so much without all of the set-up and package management required of modern development. Just look up how to do something and do it. You don't have to install some module, turns out it doesn't work right, uninstall and do all this stuff. It just works.
And as far as my Wordpress set-up, I've done a few customizations that make it more tuned to me. I write it Markdown. I made custom plugins & shortcodes to insert interior links & images into posts, and I've also installed some great plugins to optimize images, cache pages & to boost security.
When making this site, there were a lot of things that I wanted to do, that I haven't ever done in a site build. When building something for a client, you have to take a lot of shortcuts and not waste time on things they won't even really care about. But luckily this time, I'm the client! I make the rules for the lowly developer of this site. And I have a lot of annoying things I want on this site.
Did I make a site that changes day-glo colors constantly, potentially hurting people's eyes? Yes. Does it have a line going through it, making it hard to read? Yes. Is aforementioned color changing & diagonal line resource intensive, making for a bad experience on less powerful machines? Oh yes. These design choices make the site pretty inaccessible for a lot of users and I understand that. That's why I allow users to turn all those things off, so users don't have to deal with my very distracting design choices.
I'm also adding the whole ARIA-accessible thing and following more of the inclusive components standards. That's a WIP for sure.
- Add embedded video image functionality
A looping video is more network-efficient than a .gif.
- Load pages with AJAX
I like it and it makes for a faster render, imho.
- Video Game Tracking
You'll know when I play Zelda once every 6 months.
- More robust post archive browsing
Easily be able to find the 1 post I made about Facebook in August 2017.
- Move media stream to cloudDB
Millions of entries! All sorts of filtering, etc
- Opt-in 3rd-party scripts
If I'm giving your browsing data to Google, you should know about it.
- Integration with Medium
🙄 why not
- Apply the media blank thing to the whole site
Only render the stuff in the frame. Make it fast as hell!
What I Learned
- using CURL to talk to apis
- cron jobs