Author image

Ray Gervais

Topics of Programming, Techno-babble, Music, and Life through the eyes of a Canadian Software Developer.

Cover image

Why I Got Into Programming

Despite my constant drift to different technologies, operating systems and languages (which, to be fair is rather natural with the given task, ever-changing preferences, etc), I've found the motivation and drive behind has never changed. So I decided to write about it. Let's get the obvious (in my mind at least) out of the way first.

Tags

Link
Cover image

Adding Stats To Telescope's Banner Component in React

Initially, I leveraged the Login and Search components mentioned above as examples of how to both write JSX and also how to modify state. Coming from VueJS -where state's modified via `Vuex` (Redux), or via local components without a state or store, React's state management both made more sense out of the box (and this could be attributed to Cindys and A Garcia maintenance and development of the front-end) and more convoluted in comparison. It had the intimidation and challenging factor that I was looking forward to tackling and equally yearning to avoid for as long as possible.

Tags

Link
Cover image

Determing Average Storage Costs via Azure with Python

About a month ago, a photographer (and filmmaker in the making) friend approached me about hosting in Azure a copy of his media for safekeeping, and wanted to also understand an average cost over time as they'd add more files to the Storage Account. Funnily enough, this is a small application script that I had written before for the green office, along with a script that I had integrated into one of my monthly to-be-automated tasks here in the red office. I figured I's share the Simple Python script, seeing that despite some of the excellent documentation provided by Microsoft, there are multiple ways to approach the solution which can easily be mangled and confused with other solutions and recommendations.

Tags

Link
Cover image

Experiment: Moving to Pop!OS For A Month

As of this past weekend, which marked the start of March and what appears to be kinder climates, I opted to conclude the one year experiment and evaluate the state of the Linux desktop in comparison for a month. Though Windows itself wasn't giving much grief, there were still workflows and quirks that I truly never got over; likewise developing with WSL 2.0 proved to be quite the abstract objective than I thought which led to quite a bit of productivity-loss. I still quite enjoy the concept of Windows Subsystem for Linux, and feel that if I had started using it from day one instead of dropping it into a pre-existing `GIT-BASH` setup that things would be quite smoother. Curiously, I have plans to test exactly that If I end up returning to Windows 10 in the near future. Regardless, I have to work with CentOS, Red Hat and Fedora systems daily at work -which, encourages me to run a similar system for both my home an development environments. Such familiarity truly can help produce fantastic results when enveloped in a unified mindset among different.

Tags

Link
Cover image

Reduced Container Sizes With Multi-Stage Docker Builds

I had worked on Docker in the past for one of my internships, optimizing our microservice build pipeline to utilize multi-stage containers (at the sake of time complexity) which enabled far smaller artifacts to be stored in the private repository which had the compiled resources and bare minimum node-modules that were needed. For that microservice architecture, we successfully decreased the size from ~1GB (x 7 for the services) to ~140mb (x 7). That's just under 1GB for the entire architecture compared 7GB previously!

Tags

Link
Cover image

What I Use in 2020 For Software Development

I figured I'd open up this article with explaining a few of the domains that I work in, both professionally and as a hobby. My hopes is that it provides a better context into some of the choices of technologies. For work, my current title is Cloud Engineer, and on the side, I find myself doing hobby programming in the web, mobile and open source domains.

Tags

Link
Cover image

Leveraging Functional Programming for Data Parsing

For much of January, a key deliverable of the team was to parse and send data between critical systems; a simple enough task really when worded like that. The complexity arose from the included business requirements and edge cases which drove the sprint estimate points from a capable `3` to a concerning `8`, knowing that only a single developer would be focused on this for 100% of their sprint until a POC to be demonstrated came from their efforts. Only then, could the team help carry the torch and make decisions based on the challenges encountered.

Tags

Link
Cover image

A January 2020 Retrospective

2020 has been off to quite the unsettling start, between the wildfires that burn through Australia, the recent passing of Neil Peart and Kobe Bryant, World War III concerns being raised in much louder voices than a fearful whisper, etc. Yet, I wanted to touch upon some of the items that I was working with in attempts to better myself in the first month of 2020.

Tags

Link
Cover image

Migrating a WordPress Site to JAMStack

I've been working with Gridsome and VueJS for a few hobby projects throughout 2019, and was quite impressed with what JAMstacks offered. It intrigued the systematic side of me; the one which is always looking for efficiency, for the next big thing which bridges upcoming and established platforms and produces a user experience like no other. Having always resented the (truthfully, well developed) WordPress editors (both new and classic), the concept of writing blog posts in Markdown and having them compiled to a static website seemed incredibly modern. Imagine blogging without ever having to leave your editor (assuming you're confident in your spelling of course for this example!), and a commit taking that little markdown file to your published blog in such a way that you can't help but say grin in aw.

Tags

Link
Cover image

Starting Ruby Software Development With Unit Tests

Since joining my current employer, I've found myself working with Ruby programs more often so than other scripting languages. I can't really say just yet whether or not I enjoy working in the language, but it's syntax is no beauty such as Python. Instead, once getting past syntax which is comparable to a blended mix of multiple 2000s languages, it's built-in idioms draw you into a new level of thinking and designing. With all the recent exposure, including inheriting a legacy Ruby project and it's surrounding components, I decided for 2020 that I wanted to learn proper software testing and enterprise designs.

Tags

Link
Cover image

Introducing My Jamstack Site!

I decided to depart from the tried-and-true LAMP stack (powered WordPress of course) for what appears to be the future of websites, the allure of the shiny and new: JavaScript, Apollo, Markdown. In truth, the later is what truly got me interested in committing to such as stack; editing a post like such as this one in Markdown simply feels ten times better, even compared toWordPress' admittedly fantastic modern editor. Throughout my note-taking life cycles, I've always opted for the ones which supported Markdown and allowed for file exports in the same format.

Tags

Link
Cover image

Extending Traversey Media’s VueJS Crash Course

After completing the two hour VueJS crash course, I felt the wanting to extend the functionality to include an edit, and details view. Furthermore, I wanted to integrate a new CSS framework as well to give the project a coherent and modern look -gasp, without using my framework of choice: Bulma? Well I want to learn something new, evaluate a skeleton (minimalist) framework. For this little addition, I was considering using a heavyweight framework such as Formantic UI (a community fork of Semantic UI), but instead landed on the minimalist framework Milligram. For this article, due to work also keeping me incredibly busy on top of other obligations, I opted to split up the two (styling vs functionality) with this article targeting the former. Without further ado, let’s talk about enhancing the experience.

Tags

Link
Cover image

Approaching Minimalism

If you were to ask anyone who knew me well, they’d claim that I have not exhibited values or mindsets which dance around the same way that a minimalists does. I am so far from such a genre (according to some), that I made the joke of calling myself the ‘failed minimalist’ to which, a chorus agreed. Yet, I don’t think it’s impossible for anyone to swing that direction if their interests focus that way. I’ve been conducting research through both YouTube and also forums on how individuals gradually converted over to minimalism -taking on lifestyles inspired by minimalism, and the common thread is that the once the mindset changes, the rest will follow. There are plenty of YouTubers explaining the concept, some of which I’ve included below (starting to see how big a fan I am of Matt D’Avella?) for anyone interested in learning more.

Tags

Link
Cover image

My First Impressions of Udacity's Kotlin for Android Development

For 2019, one of my goals was to complete the Google/Udacity Kotlin for Android Development course. Since starting on the first, I’ve completed the first three `lessons` of ten in the course (sadly, it appears that they are still working on content for lessons five to ten, and have not published the work for them), so I thought I’d give my initial feedback and also thoughts on the course’s primary focus: developing Android applications using Kotlin.  Digging into the unfinished courses does provide the video files, so it’s possible to learn some of Lesson’s 5-10 on my own without the quizzes or sample code.

Tags

Link
Cover image

Starting 2019 with a Retrospective

This past year has been full of lessons, just as every year before; an expected constant which I think is important to reflect upon just around the end to identify growth, ambitions and also sway between where life is taking you, and which steps you want to take. Instead of mentioning the negative lessons, inner turmoil and emotional demons, I wanted to touch upon some career and personal growth discoveries that I learned this past year - some even being common sense!

Tags

Link
Cover image

Testing out a Flat File CMS: GRAV

As a developer, I find a lot of the ‘magical’ moments occurring from discovering new technology, platforms and applications which challenge the norm, or go beyond the tried and true to carve a path both familiar and unfamiliar to the user. While reading either Reddit or HackerNew (cannot remember origin sorry!), I saw a comment comparing popular CMS platforms to a modern abstract interpretation: Flat-File based CMS; namely, GRAV. I decided that I’d take a look. I wanted this look to be brief, similar to how one may compare this look to a spike in a sprint, where some time is spent identifying the viability of investing further efforts and time into the task.

Tags

Link
Cover image

Getting SSL Setup on WordPress and Static Sites

At the start of 2018, Google made a major push to rank and direct users to HTTPS websites in effort to be more web-safe; a fantastic way to push for such security onto as many websites as possible, aimed at those who care about there search rankings, privacy, and consumers. This also meant that at the time of writing this article, I was already at least eight months behind on this -and GoDaddy was the persistent parent who always reminded me of the HTTPS push, alongside their one-click-install SSL certificates sold on top of their hosting packages. In 2018, who wants to invest hundreds for SSL just to spend as much (if not more) in the next?

Tags

Link
Cover image

Using Docker to Orchestrate and Manage Node Projects

I found myself frustrated with this constant battle, be-it on ANY system that I was using. Eventually, they all became too cluttered and unlike a USB key which you could pull away and forget about, it was hard to clear out the jank without exposing your rm -rf habits to critical file systems. This is where I came up with the convoluted but totally awesome idea: Can I run NodeJS projects through Docker, and discard the container when I am done?

Tags

Link
Cover image

What I’ve Done Differently This Summer

So, this blog post has been long overdue. There is both so many experiences and thoughts I want to share, and yet so few which I personally feel would be of any use to you. Regardless, without any order, here are some of the activities that I’ve enjoyed and also learned from this summer. For the technical, programming centric, let me follow that up with a smaller post since I didn’t commit anything major this summer outside of my work at ManuLife (which has its own lessons including Docker, Kubernetes, Concourse, Chef, … let’s write an article on that soon, okay?).

Tags

Link
Cover image

Trying New Things, at the Cost of Old

A few weeks ago, I went with my friend Svitlana to view [Frame by Frame](https://national.ballet.ca/Productions/2017-18-Season/Frame-by-Frame), a ballet which paid homage to filmmaker and animator Norman McLaren. It was the first time either of us had gone to see a show based around the expression of dance. Instead of citing her opinions, I thought I'd focus on mine and opt for anyone curious of hers to ask or encourage her to post an article on it. But, that's not the point of this writing either. Put brief, the show is a fantastical mix of the digital modern aesthetic, classic analog grime, and contemporary fluidity used to depths which I never thought possible. Absolutely amazing. But, what is the point of this article?

Tags

Link