Revisiting ElectronJS

A couple of years ago, I had stumbled upon the ElectronJSframework from Github. I played around with the program and spawned an idea or two, yet could not for the life of me shake the idea that the Chromium wrapper on steroids was… unnecessary. I understood the intention of bringing web technologies to the desktop environment, although I always figured that if you can accomplish your goal with web technology, why not keep it on the web? At first glance, ElectronJS seemed like an unnecessary bloat to your system to accomplish writing quick and dirty programs without taking the time to figure out a language more appropriate for the job.

My view on this since then has shifted slightly. There is still a plethora of micro-programs, to-do lists, websites-in-an-app and other applications lacking in the form of imagination. And yet, Gitkraken.

Gitkraken is an ElectronJS program that defines what the power of the V8 engine should be used for. I was impressed with the speed and functionality of Gitkraken, and so I opened up to the idea of using more ElectronJS programs. I found useful programs like Abricotine, a visual markdown editor, and… well that’s just about it. There are a few submissions to the ElectronJS apps  page that seem decent enough, but I can’t find a use for them in my development cycle. The page is cluttered with an overwhelming amount of native web-service clients and list managers. It’s a sea of Hello, World‘s in there. Many of the programs aren’t even cross platform, one of the big selling points of ElectronJS!

In short, I’ll give more ElectronJS programs a chance, and maybe even spend some more time sub-atomic, but as for right now… I’ll stick to the native code environments.

[Mettle CMS Update] Small change, will continue this project, promises… promises…

[Mettle CMS Dev Log] Small change, will continue this project, promises… promises…

This is the big change I’m making to the Meddle project right now… the name. Something about Meddle always bothered me and I realized it was because the name sounds more like spyware than a powerful media tool. So I changed it to… MettleCMS. Over the next little while I’ll be making the appropriate changes. That’s all for now!

[Meddle CMS Dev Log] Making things, breaking them, fixing them and brains before beauty.

I’ve got news for you, Network. I’ve been struck with a new found passion for this project and have been toiling away at it for a couple of weeks now. So what new frustrations have I brought upon myself? Well, I’ve properly set up a devise (Member) model AND a CRUD interface for that model for admins. I’ve also had a moment of enlightenment.

Would you like to keep reading?

Slight changes that have no effect on anyone whatsoever

Hey Network! I’m changing things up a tiny bit. It’s not much, but I modified the header from it’s previous incarnation.








You’ll notice I made some changes to more properly emulate a Unix shell prompt. I decided to move that detail to the URL, because that just made more sense in the long run. I choose to represent a ‘root’ user to imply that we can do anything we want here.

That’s all. Just a little update today. Let me know what you think of the new look in the comment section!

Happy Coding!

[Meddle CMS Update] Where is it? What happened?

[Meddle CMS Update] Where is it? What happened?

For starters: I have not abandoned my Meddle CMS project. I just kind of forgot about it. But I plan to continue working on it and plan to continue writing about my progress. However, I’d like to change direction on how I share my development process.

As dedicated readers might know, I am not a book-learning kind of guy. I find videos and practical learning to be far better tools for me, and that is a personal preference. So what I would like to start doing is making videos about my development process. I haven’t decide how to go about this just yet, ut I would like to make a plan and start doing regular development and content around MeddleCMS for mid to late January.

I will not be moving fully to videos though, and I will still write updates about the program, but I hope the written work and videos will go alongside each other.

Keep in mind, I am learning with every step, as any good developer should. Everything is by trial-and-error. There will be mistakes, there will be blood, sweat and tears. Okay, maybe not.

Stay tuned for more info later on down the line, until then, Happy Coding!


Joseph William Hays

Missing and Murdered Aboriginal Women in Canada

Note: I will be deviating from my standard content today to open a dialogue on the missing and murdered aboriginal women and children in Canada. Please keep in mind during discussion, this is a sensitive topic for many people, so please be respectful in the comments section.

Today, I attended a panel discussion in Whitehorse, Yukon about the Missing and Murdered Aboriginal Women and Girls in Canada. The panel included Melissa Atkinson, a renowned former Crown prosecuter and current criminal defense lawyer, Adeline Webber, chair of the Whitehorse Aboriginal Women’s Circle, Jessica Loacke-Thompson, the Director of the Yukon Human Rights Commision, and, Liane Charlie, Political Science Instructor at Yukon College. The panel was moderated by Christine Genier, a talented Southern-Tutchone actor and radio broadcaster who has worked extensively with programs and productions bringing awareness to the epidemic of violence against women.

The event started a wonderful and thought-provoking discussion that I would like to share. The panelists spoke about the reason behind the national ignorance around the topic of violence against aboriginal women. It also addressed the relationship between indiginous women and the RCMP and Canadian Justice System along with many other topics that beg to be addressed in a public forum.

During the discussion, when asked what they believe is a solution to the nationwide issue of unrecognized violence, Jessica shared this with the audience:

To imagine a world without [domestic] violence is to imagine a world where consent is one of our highest and most precious values. Toddlers can learn consent.

This point really stuck with me and is one with which I completely agree. The begining of the end of this sickness, this disease of disregard towards life and culture, begins with education. With teaching the next generation what it means to respect one another as equals. Our community deserves to know what it means to respect women. Women who deserve the right to equality and security, to live in their homes and neighborhoods without fear of being beaten or murdered.

Again, the panel brought up many points to be considered, including the lack of cooperation with the RCMP. CBC News has curated a page that explores 34 cases of missing and murdered aboriginal people, which the RCMP say do not invlolve foul play. However, these women’s families do not accept these findings, as evidence towards foul play is apparent but was not considered. Please note that many readers may have known some of these women personally. Any disrespectful mention of these women in the comments section will be removed and those commenters will be banned from discussion here. I’ve also shared links and contact information for those who are here to help in The City of Whitehorse and it’s surrounding communities. If you live elsewhere in Canada, I encourage you to share similar information in the comments section, which will be added either here, or in a page of it’s own.

Please show our women the respect they have a right to. Please take the time to research how you can help fight against passive and apparent racism in your community and our nation.

Those who are here to help:

Chantal Genier
Women’s Legal Advocate
(867) 633-7691
Skookum Jim™ Friendship Centre
3159 – 3rd Avenue
Whitehorse, Yukon
Y1A 1G1

The Victoria Faulkner Women’s Center
Women’s Support Center and Safe House Drop-in
(867) 667-2693
503 Hanson Street
Whitehorse, Yukon
Y1A 1Y9
Drop-in Hours: 11:00 am to 3:00 pm Monday to Friday
Safe Place Drop-in: 5:00 pm to 8:00 pm Friday, Saturday, Sunday

Kaushee’s Place, The Yukon Women’s Transition Home
24-hour Crisis Line: (867) 668-5733
Third Party Reporting Information

Minetest: A Minecraft Clone That I’ll Definitely Be Playing

No beating around the bush here: Minetest is a game that was “inspired” by Minecraft. I won’t be talking about how to survive your first night, or what the first thing you should craft is, because Minetest is such a pixel for pixel clone that it plays almost exactly as our favourite, one-block-at-a-time voxel-based indie game. And I love it.

Would you like to keep reading?

My biggest weakness as a programmer: git. I hate git.

Git is an AMAZING tool, I’m not going to preach otherwise. But I hate it. And my biggest problem? Remembering how and when to use it. Git flows and branches are like an almost unsolvable maze for me, and I always forget to push commits. When it’s time to setup a new feature, trying to write $ git branch or $ git flow commands gets my blood boiling. But it’s something I work on all the time! For example, I regularly revisit old course material from our introduction to Git at Lighthouse Labs and run through the Codecademy Git courses. I suppose it’s just a matter of practice. And keeping in mind my second Git-related issue, remembering when to push and when to commit. It’s not so much a confusion this one, as I tend to get ahead of myself when working on a project, and will dive into new problems after solving the previous one. The biggest issue with that is the incomprehensive commit messages and the hard to follow update notes.

The solution? I use a small notebook and write down each problem I’m going to tackle. And between each item in my checklist, I write “commit?” and every so often I write “git push?”. Does it help? Yes, and when I do miss my mark, it’s on me and I make a note of it. I will master Git!

[Meddle CMS Dev Log] Finally, success! Sort of…

Last Commit: To be updated, I haven’t had a chance to push yet!

After two excruciating weeks of trial and error, reading and re-reading through my code and pulling out my hair, I finally figured out the problem. Well, actually I didn’t figure it out, I asked for the help of an amazing coder and my mentor, Andrew Kalek. He showed me something that blew my mind and made me hate myself for not seeing it sooner. It was a simple /. Yup, that’s the big piece that was missing. Let’s recap, shall we?

Would you like to keep reading?

[Meddle CMS Dev Log] Routing errors impeding progress…

Commit: None

I haven’t pushed a commit as of yet because it seems I’m having issues with the current feature I’m working on. That feature is to Show pages with a "http://root/slug" formatted URL. Why is this proving difficult? Routing.

Routing errors may be a misnomer, but it so far seems to be the issue with my application. In our routes.rb file, I have Cms::Pages scoped under admin. My goal is to have every CRUD action with the exception of Read to be read in our path as /admin/cms/pages/page-slug, but it seems to cause an issue when using another controller to call on a Cms::Page record. Because Reading pages shouldn’t be an admin related task, I’ve created another controller to Show the pages, a controller that isn’t namespaced at all. And yet, ActiveRecord insists I’m experiencing a RECORD NOT FOUND error. In our Pages controller I have:

def show
@page = ::Cms::Page(params[:id])

The ::Cms reportedly instructs rails to search for a record from top-level. Any suggestions?

I have no solution as of yet, but will update soon when I have better information.