Development Notes #5 Getting organized a bit more for execution

Over the three weeks there’s been a lot of questions on my mind on how to execute and do the presentation on some things. These things, they take time, because first impression is at best one of the first thing I have to focus on.

If there’s one thing I could say is very taxing is the user experience. The first impressions, the never-ending testing of things and the sheer insecurity and impostor syndrome that develops along this journey. I want my project to be successful, like anybody else. Sometimes it drives you a bit crazy on I hope I hope that it’s a hit around the world because who doesn’t want to slack off a little bit and get some vacation. Of course, technically speaking we can’t…. really do much about vacation with the COVID-19.

Truth is, developing a product is itself a gamble. No matter how much you study you can’t quite penetrate the market as you would hope because either the presentation is done poorly or the execution of the project is done poorly.

Documentation and presentation are keys that I have identified. I need to prepare a lot of documentation or a modest amount of documentation for the people to develop software.

I honestly don’t know how things are gonna go. But, we’ll see in the future. For now I’m just continuing working on this and hoping for the best.

Today I was able to finalize the environment for development on my new laptop. This wasn’t really a slow thing to do but bringing my laptop up to date and preparing everything did take a while… or most of my evening.

Now that everything is ready I think I can finally proceed on what to do next. There’s been a lot of things that I’ve been setting up in the background… working slowly through the items.

In a weird sense… I did complete a major portion of it. Now I’m just making sure that the following items are represented well enough.

Now, I know I haven’t said what I’m working on. It’s too abstract to understand at the moment but eventually I’ll be able to talk more about it.

Development Notes resuming

My MacBook Pro broke down and I switched over to a Dell XPS 9500. I didn’t go over for the 4k screen because I prefer having a better battery life overall and I mostly do programming with a side of gaming. The thing that I mostly miss about the mac is having good font support it seems that on Windows 10 if you are on 1080 or 1200 it means that fonts gets pixelated a bit.

The font being pixelated a bit doesn’t really bother me much. This machine is a bit of a bit. Anyway, I’m happy to say that I’m back on Windows 10 and I’m back to continuing my development.

Development Notes #4 Refactoring & Hitting the milestone feels so good

This week I did get to a milestone, one that really makes me feel pretty proud of the work I’ve poured into this. Initially the idea was to do a simple website with simple community tools that I would give to users.

This idea grew into something else.

The idea remained the same. I would provide said tools to all the users, however the methodology of that idea drastically changed because I wasn’t thinking of just “my site” but something else that ocurred to me.

I think, once everything is done I hope to talk a lot more because right now a lot of things are being refactored and changing and yet the idea remains the same.

This week I hit a milestone which left me with the best feeling ever because it was one of the core components I was working on, it was also one of the most convoluted pieces that I had to standardize and normalize because if I didn’t it would bite me back.

So, overall I’m pretty darn happy. The refactoring actually took me 1-2 hours to do because it was a constant struggle of how to manage some things without altering the default capabilities.

Hopefully all this hard work pays off. If not, I can assure you that I’ve hit one item off my bucket list and that is to release a product out in the open.

Development Notes #3 – How easy it is to fall into the “oh, this will be easy” pitfall.

Photo by Trung Le

Actually I never fell for that when I started. Sorry to disappoint you! (Jokes on you though, things can be seemingly easy, sadly, they will still consume a rather large portion of your personal time).

Truth is after doing this for so long you get ideas of how long things will take. Some will require a lot of time, and some will require more than time, it will require a will and motivation to burn through.

Truth is, it’s really, really easy to fall into hype and excitement of things that you are doing. You’ll start to notice that 2-3 weeks later things are still being worked on, and that in truth that idea you had didn’t account for a dozen of things that site owners may require and you have to refactor a lot of code to accommodate to that.

This, to me is the biggest challenge in software development. Starting a product by yourself is not really a joke. It requires a lot of determination, will, if you may, to power through a lot of the things.

And the same goes for theme development has become insanely complicated with an array of devices with different resolutions they have to re-adjust and re-test their things over and over.

There has been a lot of progress regarding development of the plug-in I’ve been working on. I don’t want to say I’ve had to rework the things I’ve been working on. Rather I’ve had to refactor a lot of the code to accommodate future code so that it’s easier to extend. That itself is rather different than reworking because reworking would be something along: “I had to rework X feature because not only it didn’t work as expected or the implementation didn’t work out.”

So, there’s been a lot of architectural changes, if you want to call them that. When it comes to organization PHP is a bit messy. For me, this time I just decided to keep things as simple as possible. I don’t want to get overly crafty. I just want to get things done. Less classes, less overhead, less useless organization.

If in the future I think of reorganizing it I’ll just work on that but I’m not gonna focus on that.

My mindset is about getting things done. Getting to where I want. No more Mr. Fancy. I love being organized, but I also waste a lot of time on said organization because when it comes down to it maybe the architecture you did for it wasn’t quite well-thought out and you see yourself wasting even more time to have a fancy structure.

Development Notes #2: WordPress suggestions and practices are awful when it comes to security

Photo by alx_chief

A disclaimer: This post doesn’t have anything to do with the core team or their roadmap.

As anyone doing software development, when we have questions one of the things we have to do is use a search engine. The documentation in WordPress can sometimes be extremely vague, or at times there are situations where a hook or filter I need exists but I end up recreating the wheel just to be annoyed that it’s already there and my time has been wasted.

One of the things that really stood out is the amount of really, really bad recommendations because some of the answers are copy/pasted from other answers and of course maybe the person writing out the answer hasn’t come to the realization that WordPress way of naming their hooks and filters can come out as vague.

And to know surprise I’m talking about:


The is_admin() function is meant to just check if you are within the administrative interface. But given the rather free and exposed nature of WordPress it’s also a function that could have unintended effects. For example, Some plug-in creators doesn’t develop plug-ins with security in admin, I’ve noticed with a plug-in that I use that anyone could literally change the configurations of my plug-in as long as he/she is registered.

But the problem goes deeper. The workflow that WordPress has introduced over the year is a bit convoluted. A plug-in is literally a free soul that is attuned to the environment, it’s a vacuum that receives all types of requests.

is_admin() while it is an offender doesn’t cover the next thing. Some plug-ins aren’t aware of AJAX/RESTful calls so they end up blocking the calls because the plug-in is expecting the call to be done while a user uses the admin interface but that may also break features that are meant for the public, depending on how things have been laid out.

I feel like while WordPress does tell the developer “hey, you can use this to achieve this”, it doesn’t instruct the developer on “hey, that’s cool you are using our hook/filter but before all that you should check out documentation on security and understanding the functions you need to safely provide resources to your users.”

But it’s not only a thing about security. Like I said, a plug-in in WordPress is a free soul. It listens to all requests, meaning the developer has to devise a way to tend to the needs of:

  • public requests
  • private requests (within admin)
  • public (ajax/RESTful)
  • private ajax(RESTful) (within admin)

That aside for a moment, I have actually enjoyed my time developing my plug-in. I can’t actually wait to use it in the public myself but it’s under heavy development.

One of the things I love is how flexible/extensible/versatile WordPress do things. It takes very little effort, or any at all! But as all things, it’s also super easy to mess up your code and leave yourself wide open to attacks.

And I fear that while WordPress has vast amounts of plug-ins out there the bigger question is how many of them are secure?

Would the fault lies with WordPress core team not communicating things? Would WordPress StackExchange need to go on a purge to flag all high risk answers ?

It’s food for thought honestly. Personally, we are already here, and I’ve seen their new documentation and it’s amazing but the people who are writing plug-ins may not be aware of such documentation and maybe being more vocal about security isn’t a bad idea.

DNS Updates

Small update that the site is currently switching over to new nameservers and it might not work for everyone. Propagation usually takes 48 hours.

Hello, WordPress, great to see you again! Development Notes #1

This week has been extremely busy for me. It’s been a while since I worked on the development of a new site. A lot of what I’ve done this week has been pretty much the definition of: “Can I do this with WordPress?” *proceeds to poke the code with a stick*

And so far the answer has been, yes, a lot of the difficulties I’ve thought would cause me a a lot of headaches has turned out to be great, yet I don’t want to make it sound easy either I have spent a lot of time reading documentation and going back and forth with the core code. As to why you wonder, why would you go to the core code? Surprisingly because the answers I seek weren’t found in Google.

A lot of the answers became more of a sales pitch: “Hey, what’s up, my company works on this plug-in it just costs $60 monthly”. Quite frankly I’m not against making a living out of this at all. I’m gearing myself towards this as well.

As I progress I notice a lot of potential that can be untapped with WordPress… it’s actually insane how much you can do with it and the nature of how you do business with WordPress code always feels slightly primitive. It’s like having this piece of software akin to the likes of Slackware which a lot of well-tested scripts to power through the OS, but instead you have a lot of scripts, tiny functions that can be overridden or filtered.

WordPress is honestly a miracle that has stayed glued together.

You still find code from WordPress 1 or WordPress 2 versions and see them hanging around in 2020.

Overall, it’s been a great experience. That were some things with the structures that took me by surprises and in the long run it makes sense to have it that way.

I’ve also been using Visual Studio Code which so far has been a delight to use. I thought about paying for PHPStorm but ultimately…. the experience provided by Visual Studio Code suffices.

Evolving the site and giving everyone their place to talk. Humble Spaces™

Photo by Lilac and Honey

As of late I’ve been thinking of expanding this site into something else. It’s been a long time since I’ve done something community-driven and for someone who moderated communities a long time ago I guess there’s a small part of me who feels a tiny bit uneasy.

Well, in general handling people is never easy in any profession.

The Humble Spaces thing is a joke… kinda. I mean, in a sense I’m giving you the space to have your own thing going. I also don’t usually talk much of what I do, I’ve always adapted the idea that it’s always better to speak with actions rather than words. Words are cheap, actions solidifies your commitment to what you have planned. Excitement gets the best of us, and it has happened that sometimes I get overly excited about something and talk about it endlessly but at the end of it it’s all hot-air, nothing. So, in a sense I actually dislike talking about things that I have in mind for the future because I consider it a taboo, consider it something I’ve instilled within me as a code to follow.

I do think it’s the best approach and for whatever it’s worth it’s more of an experiment than anything else. I don’t think I’m going with the mindset that suddenly it’ll be flooded with people.

I ended up choosing WordPress as my go to content management system. I think at some point, and it happened again this year is that I usually prefer to create my own stuff, but the truth behind that is that it takes 10-15x times the effort to just roll out on your own for an audience that may not be exactly there at all.

WordPress fits the bill in almost every area. It’s easy-to-use, it’s manageable, and it has all the tools I need for people to use. PHP 7.4 is around the corner for me, although I could go ahead and make it available for me but I’d rather wait for Ubuntu Server 20.04.1 because it’d be less headaches.

There are some integration things that I want to do to broaden the way the audience share their content. But ultimately, my expectations are that I just gotta keep working on it.

I do subscribe to the ideas of Jeff Atwood. I’ve always wanted to get better at writing, but there’s a huge part of me that fears writing. Quite honestly, you can’t get good at something if you don’t practice every day or at least a few times in a week. And what I mean by all of this is that you’ll see more content from me. I will continue writing more, and I hope that once the site has expanded that you also join me in writing and speaking your thoughts.

Maybe that idea you have had for years isn’t a bad idea, so why not commit to it?


Photo by duncan c.

I like to think I have a very good imagination. It fuels me when I’m being creative, it creates a spark within me. I guess, my inner mind, or whatever you want to call it keeps popping them up from time to time.

I like to think that everyone goes through this. The voice just keeps bringing up old ideas I’ve had. Deep down I think they would be super fun to do. Whether the people like them or not I do not know. I think the last thing want to think about is if other people like it. As to why, it’s very simple. When you create things you are creating things you want to create. The moment you start creating things because people like them I feel everything becomes a chore to do.

Whether the idea is to throw it at the market and see what happens or not ultimately you are creating something because you want to create it. Obviously there’s always the business side of things and that’s a whole other type of thought process.

I guess after many years I’m actually baffled that old ideas I’ve had for applications or games keep resurfacing.

There’s a lot of way things can go wrong.

You implemented the first stage of your idea, then what?

This happened to me once but I have gotten stuck in the past with ideas that started really simple and then as I progressed I stumbled upon another issue: “what do I do next with this…?”

Or you can just start toying with the different outcomes

It’s what I usually do when I get stuck and I can’t progress with a problem or a creative issue. If I get stuck, I step back, grab something to it and may widen the scope that perhaps we need to twist it a little bit to give it a new shape.

The biggest reason I’m bringing this is because we are all getting old, honestly.

I didn’t have a lot of things in life. I think a person once in a while stops and wonders if they should continue without ever fulfilling that idea or product you have had in mind. Ultimately it all falls down to regret I believe.

In a sense this summer I did over-commit to a lot of things. Learning Japanese, setting some personal goals I’m currently working right now, learning photography, and learning to draw.

Now for the drawing part I still genuinely suck but I’m also confident that I will get better with practice. I haven’t really given up. I got to the part that I don’t want to watch TV or series and I just want to focus on what I really want to do rather.

Has it been done? So what? Do you know how many series subscribe to the same tropes? Do you know how many Zelda clones are out there and that hasn’t stopped people from buying them or any “clone game” or “clone comic” or “clone book”.

One of the things I learned before I end this post, because some of you are probably wondering “well, you know, this is really common knowledge”. It isn’t common knowledge, and I like to think people need to be reminded. A quick example would be opening nottheonion subreddit and check the titles and wonder if any of the content presented had any common sense? You could argue that the subreddit isn’t a valid option, then I guess you can easily browse the news and see all the news reported of people doing things that don’t have a modicum of common sense in them.

I guess I just wanted to write this off my mind. What is common to you is uncommon to someone else. What you have thought about may be new to someone. So, maybe that idea you have right now isn’t so bad?

My eGPU experiences so far with a Macbook Pro (Mid/2017)

The current GPU I use (2020)

I think when it comes to buying high-end laptops it doesn’t matter if it is MacBook, or a Dell XPS, or a Razer laptop. Most of the cost can easily range from $2,000 to almost $3,000 and that alone could be a crazy price if you don’t have a job good enough to tackle that type of price.

I really never thought I would do this type of setup. The thought of using an eGPU was intriguing at best. It’s a technology that is still in diapers and it makes you wonder what sort of future it holds for Thunderbolt/USB-C for these types of scenario. I do believe there’s a market out there that wants eGPUs to evolve to the native speeds a GPU would run attached to a motherboard.

On a personal taste, I’d rather use a laptop, because it’s portable and I can leave with it at any time and do my things both on a professional and personal level. Then I can just come back home, put my MacBook Pro on the desk and just simply plug in the eGPU. And that’s all you really have to do. I haven’t found myself to be frustrated with it, some operative system issues aside.

Truth be told using a really good GPU and putting it inside a eGPU enclosure can limit your GPU power of what it can really do. You will never see the true potential of a video card you purchase compared to plugging it to the motherboard. In fact some games, mostly old ones with really archaic structures won’t detect an external eGPU even if its life depends on it. And here are some examples:

Soul Worker

Soul Worker is an old MMORPG (if we can call it that) released a few years ago to the west. When you try to run this game it just literally fails initializing.

Select Compile Heart games

For whatever reason Compile Heart games struggles to even use eGPUs. The performance is worse compared to the built-in dGPU my MacBook Pro has to offer.

Final Fantasy 8 Remaster

It seems that once again the team has sort of failed to detect more than one GPU apparently? I don’t really remember well the issue I was having and all I know is that the launcher didn’t even want to start. And this is just to name a few of the notable issues with the eGPU setup. However, I should note that it seems that people with normal setup and a normal computer have ran into this issue so hopefully Square Enix will fix it someday… probably not.

And I’m sure there’s many more games that aren’t quite as compatible with eGPUs. Internally I don’t know what the code does under the hood, but because we are talking about games that were developed 5-6 years ago I can’t simply be hard on them for the fact that they are underperforming because developers didn’t know eGPUs were going to be a thing.

And let’s be real a lot of the operative system layers have changed and we can’t really expect developers, especially game developers to keep up giving support to already released products. That’s not viable in any way.

The experience so far

So the experience so far is that it’s been pretty good but there are a lot of really rough corners, especially in macOS (OSX). For example, sometimes I connect the eGPU while I’m booted into OSX, and the operative system won’t even pick up the eGPU and I know it tries to because the eGPU icon shows up but then mysteriously exits. Anyhow, let us begin!

The macOS Experience with eGPU

I would say that it started really good. Initially I didn’t have a lot of problems compared to what I’m confronting now. There’s a really weird bug that would make the kernel literally hog the CPU. I assume that it is a driver issue that doesn’t know how to handle certain scenarios but no matter what I do it just always shows up eventually.

Basically all you have to do is plug in your eGPU and maybe the first two hours it works well, but if you trigger the bug you’ll notice that your system slows down to a crawl, your macbook gets worryingly hot, and the Activity Monitor is just tell you the CPU is on fire.

As to why this happens, I have no idea. I have exactly no one to reach out to about this nor do I know any Apple developer. Even if there was a Apple developer that I knew about I doubt everyone would have access to GPU drivers or even have the knowledge.

All that said, when OSX isn’t giving me heartburns with the eGPU it works incredibly well to the point I just love using it because it how well it works with multiple displays.

The Windows 10 Experience with eGPU

I would say that my setup with Windows 10 is quite…. unique in many ways that would make any decent human being question my ways.

I have Windows 10 running on a NVMe storage enclosure. It works blazingly fast except when the storage overheats, which it does, then Windows 10 will throttle it down the best it can to prevent damage.

Storage issues aside, and honestly the storage issue isn’t even an issue unless you have a setup like mine.

The best eGPU you can get is with Windows 10. I say this after playing games to completion like Trials of Mana and I’m almost done with Tales of Berseria as well… I have ABSOLUTELY almost no complaints about Windows 10 handling eGPUs.

Microsoft did an amazing job, minus some…….. issues with how it handles PCIs that would fail the detection of the eGPU or even fail to load it. However, once you overcome the issue you can play a lot of games at a decent framerate speed.

Overall eGPUs just performs better with Windows 10, for me.

In conclusion, this was a rather short and to the point sort of post. I’ve revised the post many times to the point I just wonder “what else can I really talk about eGPUs?” while the concept may be hard to wrap around your head, especially to technical people who would just question “who would plug a GPU through a USB port?”, turns out that there’s quite a big community behind the idea and it doesn’t surprise me.

The idea of having a laptop that is capable of running an external GPU is baffling even today. But, when you consider that you don’t have to spend and additional $2,000 or $3,000 then the math would work out in your favor.

Now, if you are an streamer then this is a completely horrible idea. The 40Gbps connection is being blasted away transmitting data with the game you are currently running on 4k, why would you think it’d be a good idea to stream on a eGPU? It isn’t. I have tried it. Those frames will never make it to Twitch through OBS.

All that aside. I’m rather complacent with the setup. It’s the most absurd setup one could have, suiting me completely.