# Seneca

Removing the Excess Years from Angular Material's DatePicker

So here we are, potentially the last contribution to occur for OSD700 from this developer before the semester ends and marks are finalized. No pressure.

Tags

Link

The Cost of Aesthetic in Flat Design

For the final release, one of the issues I wanted to focus on was [this](https://github.com/angular/material2/issues/10727), which I figured would be an easy contribution toward the project and a check off of my final release requirements. After reviewing the comments on the issue, I was under the impression that I had to learn a new accessibly standard titled aXe. aXe was going to be the driving force behind this post, but to my fortune it's more of a testing engine than a standard; testing instead web applications and pages against the WCAG 2.0 AA rulesets.

Tags

Link

A Second Semester of Open Source Contributions Completed

It's hard to believe how quickly this semester has come to a close. Some of us including me even had countdown calendars, and yet the days escaped even quicker than we could count. It feels like just last week I started my second dedicated foray into Open Source technologies, and yet in the next two weeks it'll be the end of such adventure (for now, that is). Similar to what I did when I completed OSD600, I thought I'd recap and share my thoughts as I complete OSD700, and perhaps also allude to the progression and experiences between the two which is only possible through fantastic instructors such as David.

Tags

Link

The Importance of Properly Setting Up Your Linter

This week, having thought I had climbed and conquered the smallest imaginable version of Everest, I climbed into my favorite chair, put on headphones, and let hours pass by while finishing `Haunted Empire`. My phone went off during this time, but unless it was a call or message, I thought nothing of it. I finished the book, pleased with the epilogue and wondering if had it been updated with the current exploits and affairs of Apple, would the ending remarks differ.

Tags

Link

Autocomplete for All, An Angular Material Story

this day and age, you live in one of two camps, you either love or hate autocomplete. Autocomplete (which differs from autocorrect due to contextual opposites of operation) is the answer to the mundane long dropdown lists, providing a means to both filter and evaluate a value without scrolling through the entire component _(and then some!)_.

Tags

Link

The Importance of Documented API for UI Components

Documentation is a topic that often splits developers into two or more camps, those who write and those who don't; an irony since both camps rely heavily on documentation with external libraries to utilize and understand it's respective API. So, when is documentation considered 'good'?

Tags

Link

Accessibility - Headings and Colour Examples

As you would have guessed, even I found the issues discussed above in past work from two websites which I used to claim where the best I was capable of at that time. Even more so, now that I know of these issues (which I discovered while looking for examples), the urge to fix and improve upon is there. In the South Wind Motel Website, I improperly used a H1 for the hero component, which would be fine had I made that hero display 'Accommodations' instead of a tagline. Let's explore!

Tags

Link

The Trials of The Promise-Centric Input, a Visual Studio Code Story - 2

In a previous post, I went through a retelling of anguish, environmental issues and dead ends while trying to evaluate how a bug such as this was possible. Throughout the process, I kept asking myself and even the other developers, what is the scope? Where could this bug be created?

Tags

Link

The Trials of The Promise-Centric Input, a Visual Studio Code Story

It was made clear to me that the bug was a regression, and not evident two months or so ago. I knew that the current master branch contained the issue. According to the comment thread, this issue had arrived around a month or two ago.

Tags

Link

Initial Reactions to working with Programmatically Generated UIs in Visual Studio Code

When I first started contributing what I could to Visual Studio Code, I was under the impression that it was written using React. Even while working with the custom drop down component, I was still under the impression there were React Front-end technologies which enabled for the dynamic rendering of various components and functionalities. Only in recent, while debugging and looking for high-level understanding of different scopes, did I realize that Visual Studio Code developed without the front-end JavaScript frameworks such as Angular, Vue, React or even MeteorJS. Without sounding like I just discovered Pluto being once called a planet, this was very left field.

Tags

Link

How I Approach Bug Fixes in a new Code Base

The one thing that Humphrey said which really resonates with me on the topic of bug fixing is summed up as this, '(on bugs) they're easier to understand since the code foundations have already been laid out before you, all you have to do is understand it'. Even at work, I found myself for the past 4 weeks focused on bug fixes to our product prior to the Mobile World Congress (MWC) event, so I was both sick and very well experienced in trial-error approaches towards bug fixing. Here are three concepts / thoughts which I find often result in a step in the right direction when it comes to solving the infamous issue, resolving the ticket, or adding the feature which exists in a different scope.

Tags

Link

Approaching Accessibility with Visual Studio Code

For the last three years, I've grown a passion for extending technologies towards a direction which makes them more accessible for a wider range of users. It took a while to realize what accessibility truly meant in the world of development, software, websites and health organizations. Through the process, I took a course on behalf of my employer at the time to learn the three levels which make up the Web Content Accessibility Guidelines (WCAG) 2.0, A, AA, and AAA. This course took me through so many spirals of knowledge and issue, all-encompassing different scenarios and acceptance criteria for web development. After taking the course, I started to see software design and accessibility very differently. Contrast between colors, element organization, font-sizing even became subject of my mental focus at first.

Tags

Link

Exploring The Inner Workings of Visual Studio Code’s Command Panel

Interesting concept, it’s a very surreal experience to explore and work on a project while using said project as the tool for development and exploration.

Tags

Link

Building Visual Studio Code

Building Visual Studio Code is quite the interesting process, mostly because the dependencies differ in obtainability between operating systems. For this article, I’m going through the process on MacOS High Sierra since it will be primary development machine for upcoming bug fixes, code improvements and contributions to Microsoft’s Visual Studio Code.

Tags

Link

Contributing to the Bulma CSS Framework

I've been a major fan of Bulma ever since discovering it through the weekend project of developer Hassan Djirdeh (@djirdehh), https://www.cryptovue.com. On top of introducing me to the Bulma CSS framework which I instantly fell in love with, it also introduced me to VueJS, a JavaScript framework which, like Bulma, is capturing the attention of developers quicker and quicker each day. It's been at least five months since I had first discovered Bulma, and in that time it's already become my favorite CSS Framework and goto tool for Front-end Web Development. It's replaced Bootstrap, Foundation, and Semantic UI within the span of months; a task which I wouldn't consider easy by any means.

Tags

Link

Reviewing a Peer's Optimization

This post will be one of my last related to this semester, specifically to OSD600 which has seen the class learning quite a bit about Open Source web technologies; contributing to Mozilla’s Thimble in doing so.

Tags

Link

Introducing Thimble’s Console V1.0

This post will be one of my last related to this semester, specifically to OSD600 which has seen the class learning quite a bit about Open Source web technologies; contributing to Mozilla’s Thimble in doing so.

Tags

Link

A Conclusion to My First Semester Dedicated to Open Source Technologies

This semester, I dragged mind, body and code through five courses which strengthened, degraded, and tested the absolute limits of how little sleep one can get. Of the courses, two had a central focus on understanding, contributing and leveraging Open Source technologies on a multitude of platforms.

Tags

Link

To Fail, is to Learn Without Safety Nets 2

The reason for such debauchery of our beloved cryptographic function? Because in attempts to optimize; I did the polar opposite. Coming to terms with such a fact is a difficult endeavour; analysing why it couldn’t be any more optimized being the only solution at the present time. So, I’ll continue from where I left off on!

Tags

Link

To Fail, is to Learn Without Safety Nets

This series of posts includes not just my admittance to failure, unable to optimize a previously selected function, but also how I learned from said failure in regards to style, logic, and also why the algorithm was already at peak performance.

Tags

Link

An Introduction to Heroku

This week, the class was introduced to Heroku, which is described as, “a platform as a service (PaaS) that enables developers to build, run, and operate applications entirely in the cloud”.

Tags

Link

Giving Life to the Console in Thimble

This short article will elaborate recent developments to the Thimble developer console that I’ve been implementing, with the previous progress post located.

Tags

Link

Why Mobile Devices Are Built Using AArch64 Chipsets

A common theme in the SPO600 course, is the need for software which originally was written for x86_64 to be ported over to AArch64 chipsets. This includes providing better capability,  optimizations, and developer support for the alternative processing architecture. Doing so is not as easy as one might imagine, for the GCC compiler (in the case of C code) already covers quite a bit of optimizations during compilation on a AArch64 system.

Tags

Link

Unit Testing a NodeJS Driven Project

This lab extends the previous OSD600 Lab, which had us creating a NodeJS project with which utilized ESLint, choosing a JavaScript coding guideline, and finally testing our efforts with the powerful Travis CI. This time, we were introduced to the process of unit testing; another important developer tool which is often overlooked in smaller projects. Unit testing involves the process of programmatically asserting the expected results of your functions, providing both valid or invalid arguments or any item which may considered edge cases. For those searching for a better definition, I’d recommend looking into [Wikipedia’s definition](https://en.wikipedia.org/wiki/Unit_testing). One thing that Wikipedia doesn’t have, is the process of which this lab had us going through, which I’ve included below. Let’s jump in!

Tags

Link

When Segfaulting Won’t Do

Sometimes, you have a great idea which may improve one of the worst processes a developer routinely experiences over and over, and sometimes your idea is so grand that reality escapes your grasp quicker and quicker with each passing second. This is what I had come to realize after discussing with Chris how I could benchmark my updated segfault function, to which his response was simply, “why?”

Tags

Link

Bramble Console = self.Console()

This small post is an update to the [Thimble Console implementation](http://raygervais.ca/javascript-console-in-thimble/) that I’ve been working on with the help of [David Humphrey](https://github.com/humphd).

Tags

Link

Creating a NodeJS Driven Project

For this week, we were introduced to a few technologies that though interacted with during our contributions and coding, were never described or explained the ‘why’, ‘how’, or even the ‘where to start’ aspects. The platforms on trial? Node, Travis CL and even ESLint -curse you linter, for making my code uniform.

Tags

Link

Optimizing Glibc’s SegFault

Segmentation Fault (Core Dumped) is a phrase that many know all too well, so much so that some developers such as yours truly was even granted the pleasurable nickname of ‘segfault’ during their first year at Seneca College. So, when tasked with the intention of optimizing a function or few from the GNU C Library (GLibc for short), I thought I may as well play a hand in ruining other programmer’s days as well. Seeing that segfault() existed in this library lit up my eyes to mischievous intents and melancholy memories, but I knew I wanted to take a crack at improving it.

Tags

Link

Writing Inline Assembly in C

For this exercise, the task was described in the following way, “Write a version of the Volume Scaling solution from the Algorithm Selection Lab for AArch64 that uses the SQDMULH or SQRDMULH instructions via inline assembler”.

Tags

Link

Writing Good Contribution Messages

On Tuesday, the class was told a key fact that I imagine not a single in the room had ever thought before; commit messages, pull requests, and even issue descriptions, are the sole most challenging item for any developer to get right. This was in the context of working in an open source community. I was curious, so I looked into my pull request titles, commit messages and pull request descriptions.

Tags

Link

Compiler Vectorization in Assembly

For this exercise, we were tasked with the following instructions, cautioned that only ones with patience would achieve completion of this lab with their sanity intact.

Tags

Link

JavaScript Console in Thimble

Originally, my aspirations had drawn my contribution choice to a recently suggested UI enhancement, which can be found in my previous [blog post here](http://raygervais.ca/brackets-enhancement-proposal/). Though it led to some valuable discussions for said implementation, it was decided that until such topic is further conceptualized, my contributions should be spent otherwise in a more concrete topic.

Tags

Link

Going Evil

I have been a vim user for about two years, most of that time dedicated to simply learning how to exit the application. But all jokes aside, I’ve been using this editor for 90% of my projects and can say with confidence that despite its perverse editing modes, my continuous failures to execute the correct command -by hitting the key right beside the desired target mind you, I am proficient enough to navigate a document and develop. This week, I decided I wanted to see what it was like on the other side of the editor war. This week, I went evil.

Tags

Link

Brackets Enhancement Proposal

When we were given the instructions to search, locate and eventually implement fixes or upgrades to Mozilla’s Thimble or Brackets, I found what perhaps was the most challenging enhancement I could possible implement.

Tags

Link

Algorithm Selection in C

During this lab, we were instructed to program two different implementations which attempted the same process; adjusting the volume of a sequence of samples. This program would be implemented in C, and benchmarked using the conventional time.h library available through the system.

Tags

Link

Contributing a Bug Fix to Thimble

In the last week of January I posted about setting up a local instance of Thimble, an online editor which supported the learning of HTML, CSS and JavaScript.

Tags

Link

Creating Static Web Content hosted by Github

When we were given the instructions to search, locate and eventually implement fixes or upgrades to Mozilla’s Thimble or Brackets, I found what perhaps was the most challenging enhancement I could possible implement.

Tags

Link

Compiler Optimizations and Features

When we were given the instructions to search, locate and eventually implement fixes or upgrades to Mozilla’s Thimble or Brackets, I found what perhaps was the most challenging enhancement I could possible implement.

Tags

Link

Contributing to Mozilla's Thimble

An OSD600 contributions to Thimble, a web learning tool/editor based off of Adobe's Brackets.

Tags

Link

Assembly Language on x86_64 and aarch64 processors

Assembly language, a low level programming language which enables deeper integration with the supported machine’s architecture.

Tags

Link

Open Source Contributions

In this class, we learn and work about the complex field of Open Source development, including the vast ways it can be found in our everyday devices.

Tags

Link

Linux Package Build Process

Today we learned how to build GNUChess from source

Tags

Link

The Differences between Git & SVN

With the start of the new year, and a semester which contains a promising set of courses that many are excited for, it's appropriate that open source technologies have become the leading topic of this semester.

Tags

Link

Django Python Framework & OptiKey Keyboard Project Analysis

A quick look into the Django and OptiKey project Licenses.

Tags

Link

Kickstarter Open Sourced Android and iOS Applications

Kickstarter open-sources their Android and iOS Application!

Tags

Link

Source Code to 2017

With the start of the new year, and a semester which contains a promising set of courses that many are excited for, it's appropriate that open source technologies have become the leading topic of this semester.

Tags

Link