Author Archives: What the Cat Said

“The lady doth protest too much, methinks”

(Week 11)

If you can’t guess from the very obvious title, this post will be on Angular.

Sorry Shakespeare, nobody cares.

Old timey meme with some peasant farmers gesturing at a field saying, "Behold! The field in which I grow my fucks. Lay thine eyes upon it and thous shall see that it is barren."

If you have happened across my last post, you will know how new I am to Angular. If you had not, I am brand spanking new. As the responsibility to know Angular for one of my projects was thrust upon me, my React-laced soul was ripped in two and I dramatically prepared myself for the worst.

Woe… WOE.

Lucille Bluth pretending to faint with the caption, "Faints in Spanish."
Oh, Lucille you! (At least I think this is Lucille Bluth)

So why am I doing a post on something I am new at and already have an unnecessarily dramatic negative attachment to? Once upon a time, I heard somewhere from someone much smarter than me that to really learn and know a topic is to be able to successfully talk about and teach that topic. So here I am, so brave.

Alright, let’s get down to the brass tax (also what is brass tax?).

What is Angular?

Angular is an open-source platform that utilizes Typescript and allows for the simplified building of web applications.

Angular focuses on the use of components, templates, dependency injection, and other tools to get the job done.

What are components?

A component is a building block that you may use to create an Angular application. Components control an area on the screen and may be used multiple times throughout the application, achieving reusability and modularity. A component consists of three things:

  • A class
  • A template
  • And a style sheet

Here is an example I coded of a simple Leaflet map component:

Screenshot of my simple map component code.

What are templates?

A template acts as a companion to a component and describes the view of that component. This view is in the form of good ol’ HTML.

In Angular, there is a view hierarchy that starts with the root template and branches down to other nested templates.

Here is an example of a table template for a table component that utilizes Angular Material UI:

Screen shot of some code I made in an Angular app for a table template.

What is dependency injection?

Do you lay awake at night worrying about instantiating your objects? Lose sleep no more as Angular has you covered with dependency injection!

All you need to do is declare your dependencies, and Angular does the rest allowing for more flexibility in code.

I have not really done any dependency injection yet, so here is a source I feel is straightforward in explaining it better than I could at the present moment.

I’d like to say more, but I am strapped for time due to my pursuit of graduating with a decent GPS and trying REALLLYYYY hard not to check out (aka lots of projects).

Ta ta for now!

Meme of Tony Stark rolling his eyes with words that say, "Bye! See you next time"
Just kidding, you are still here so obviously you are awesome and I am grateful. Ok bye for real!

React-ing to Angular

(Week 11)

An image of the Angular log vs the ReactJs logo taken from

Hehe. For you front-end devs, I am learning Angular. Coming from a background of React I have been forced this semester to learn angular.

Ok, forced sounds bad, while in actuality I would rather be using React, Angular has been pretty similar and the learning curve looks nice and loggy.

A pic of some logarithms.

Going over the architecture was interesting. Going over the Angular CLI was interesting. Going over data binding was interesting. Going over routing was interesting. blah blah blah. Same fruit, different orange.

Like programming language, there are very similar if not the exact same concepts spread out over various syntaxes, so jumping from one language to another isn’t a huge difficulty. Actually, if you learned how to code via Python and are jumping to C, you’re probably going to have a not-so-great time for the first bit. However, if you’re old and learned C/C++ as your first language, jumping from one language to a “higher” level language is not that bad.

When we’re talking front-end web dev platform to front-end web dev platform, as far as React and Angular are concerned, the jump is similar. On the first class of my CMPT 272, the honourable lecturer Bobby Chan said as people protested his choice of Angular, “If you know React, then you know React. If you know Angular, then you know React.” Do I agree? Yes??? I think that if you learn React crash-course style, then yeah learning Angular from the bottom up via the architecture, components, directives, templates, pipes, etc. will only benefit in porting over to React after the fact. However, if you are actually paying attention to the nuances of React and trying to understand how everything is linked up, then the missing boilerplate is not going to be a problem.

Of course, all of this is my opinion. Switching from React to Angular or Angular to React is going to be different for everyone.

In case you may be interested in the differences, here is a link that may help.

We have two weeks left of school (yayyyyy), and that means lots of projects (booooo)! One of those projects, you guessed it, is in Angular and it is going… ok. I have barely started which isn’t the best, but it doesn’t seem like it’s going to take too, too long. I don’t think I’ve mentioned it so far, but for my CMPT 272 class, all of our projects this semester have been about pigs… So many pigs. This project is no different and I need to make a pig tracker. Sounds dumb, but also cute and maybe, potentially, useful? I will use it to track my dog Totoro after the end of the course. Also… I AM ALMOST DONE FOREVER. YAY! Except for maybe grad school one day, but who knows?

Meme of Kanye West sitting in graduation garb looking sad AF with a caption that says, "when u are graduating and u don't even remember what u studied"

Anyhow, this is no longer on topic so I think it’s safe to say that this process post is done.


PR #3: A Sustainable Fashion Blog

(Week 11)

Wow. Dressing sustainably (DS). I know this peer review post is supposed to be about analyzing your audience and marketability and this may tie into it… but damn, the optics (in a good way)!

Snapshot of the welcome banner on that outlines the site is about dressing sustainably as well as an ethical fashion blog

The layout, the topography, the framing, the contrast with the colour pops and the neutrals. Your site looks very clean, approachable, and professional.

How your site presents itself/your brand/the way you market yourself, sets an idea of what kind of audience you have and could potentially attract.

Who I believe your audience may be

The proof is in the pudding, and the pudding has dropped and smeared on the ground in front of you. Albeit not the best visual, it’s more of a metaphor for how apparent the topic of your site is. Your site is about sustainable fashion and it’s obvious. That obviousness is great as it allows those who stumble across your site the directness they need to either stay or leave, because why stay if you don’t care for the content? The fact that you allow the experience for your audience to be an obvious one, builds a more niche audience while strengthening their alliance with your brand. Those who are looking for a sustainable fashion alternative, those whose default is to shop sustainably for anything, those who love fashion, and those that care about the planet, are your audience. Taking a look at these possible audiences, these counterpublics range from small to large audiences. In that regard, I don’t believe numbers will be an issue for you to grow your brand and your audience and this can be quite powerful. How do you harness this power in numbers? Marketing.

Some points on marketing

You have the material, and you have the vibe, but you need to work on marketability.

I’ve pointed this out in every peer review, and yours, regrettably, is no exception. I’m noticing that your images do not have alt text. I cannot claim to be an expert in any regard towards the shrouded mystery that is Google’s search algorithms, but I know one of the many data points are the content you have going on in the background, in the code. Alternative/alt text is not just some fictional topic that Lauren and Suzanne are trying to convince you is real. It exists, and it exists here:

Snapshot of a blogpost image on that shows the image beside an open console showcasing there is not alternative text.

Now, why is this important? HyperText Markup Language (HTML) is a programming language that is used to build the structure of a web application or component. In this day and age, we use HTML5 which is semantic. This means, the code that we developers use has meaning, it’s not just a waterfall of <divs> anymore, it’s a grouping of relative content tagged with semantic tags.

Again, why is this important? Giving meaning to code allows that code to be categorized more easily. Alt text lives in the <img> tag as a property. It is meant to give an alternative definition to the image source for those that may need or choose to use it. It is also used as a data point for Google’s search algorithms to categorize your site and content and allow those that are searching for sustainable fashion to find sites and information that are related to sustainable fashion. Yes, alt text is important for accessibility, but it is also important for boosting your site in relevancy for Google aka boosting your marketing. So, more of that.

Aside from boosting your marketability via alt text. What I found interesting about your blog posts was the form at the bottom of the posts that allows your audience to sign up for emails on comment updates! This is great. It allows those who are interacting with your site to multiply their interactions with your site and drive up your page viewings, and time spent on that page while lowering the page bounce rate.

Snapshot on that shows the form at the end of a blog posts that allows users to sign up their email to follow up on comments they have made.

Take it or leave it – Some Advice

What do people like about fashion? How it looks, how it makes you feel, and how it may inspire others. This is great, however, if we cannot see fashion, is fashion really there?

Tree falling in the woods aside, I feel that you could attract your audience more if you use more images. Fashion is huge on sight and how what they see makes them feel, so it feels like fashion and images of fashion should go hand and hand. I would suggest including more images on your main blog post page as well as just adding more images on the individual posts themselves, for example:

Screenshot of a blog post on to showcase that there are no images on the blog post.

It would be cool if there were some screenshots/images of the banners of these sites so that your audience doesn’t need to read a whole paragraph to get a feel of the site you are recommending. Linking and backlinking are great for SEO and increase your marketability.

I mentioned numbers and how you have them, but I believe that the numbers you may have may be underutilized if you do not ensure smooth, usable interfaces for ALL devices. Your desktop site is tops, but the responsiveness of your site’s home page for mobile users is (I’m sorry) horrendous:

Screenshot of what a mobile device would see on the home screen of It is all squished together.

Being accommodating to as much of your audience as possible right off the bat will only help you in keeping new visitors and growing your numbers.

I also mentioned how I think it is great to ask your audience to further interact with your site by sending them emails for responses to their comments. Perhaps just adding a general email list that allows your audience to sign up for new post updates will help with your marketability and deepen your fan base.


I think you are doing a great job. Great aesthetic, great concept, good content. There are just a few suggestions I believe would take your site to the next level in terms of growing your audience and adding more marketability.

Hope this was helpful in some way! Bye for now!

How does one analyze something with no data to analyze?

(Week 10)

Alright, Google analytics, I get it. It’s important for sure, however, there is a caveat…

There are no stats when there are no viewers 🙃.

I’m trying, I swear! I guess I shouldn’t sell myself short though because in reality What the Cat Said has struck a goldmine with all 7 of its users:

Snapshot of users, sessions, bounce rate, and session duration for What the Cat Said in the past 7 days.

These impressive stats are only in the last 7 days. What say we take a look at the last month?

Snapshot of users, sessions, bounce rate, and session duration for What the Cat Said in the past 28 days.

That’s pretty good! 7 to 15 users is not so bad… right? But 15 does not a good sample size make. Anyhow, looking at the bounce rate, it’s pretty low so it seems as though people are generally staying longer than a couple of seconds or navigating to more than one page! The session duration also shows the average session per user is 6 minutes and 38 seconds! That time is roughly the length of reading one/maybe 2 articles. I feel like that’s pretty good!

Let’s take a look to see if we are retaining our audience:

Pie chart of new vs returning users on  What the Cat Said.

This looks kind of floppy. Ideally, I would like to have more visitors returning, however, it’s probably a good thing that we have new users?

Meme of Gordon Ramsey yelling at his poor lackeys saying, "NOT GOOD ENOUGH!."

A statistic I found interesting was device usage. It seems that 75% of our audience is mobile! This is cool, but it is interesting because much of the content that is posted (public posts anyway) is about things that happen on computers, aka comp. sci. Yes, yes I know that mobile devices are computers. Well here are the device stats:

Stats showing the percentage of mobile users (75%) vs desktop users (25%) on What the Cat Said.

And unsurprisingly, the most viewed pages are the public and process anchor pages:

Stats showing pages vs page views on What the Cat Said in the last 28 days.

In the end, even though the sample size is small, it was kind of informative to understand what is happening to this site outside of the publishing itself.

Anywho, perhaps I’ll look into these stats again once the semester ends.

Hope to see you again (got to pump up those stats)!

Essay: Filter bubbles and their creation of echo chambers and polarizing viewpoints


Algorithms lurk beneath the surface of an individual’s every search and click on websites like Google and Facebook, gathering a user’s data to display information the company believes the user wants to see. These algorithms are portrayed as helpful to the user tailoring their experience in a personalized manner so that they may obtain the information that is correct for them (Google’s Search Algorithm and Ranking System – Google Search, n.d.). However, there is a more nefarious side effect of collecting data, that side effect is called a filter bubble. A filter bubble is an abstract concept to explain an online lens an individual may see through when an algorithm takes their data and only provides them with information representative of that data (Techopedia, n.d.). Filter bubbles are nefarious as their application sculpts a user’s point of view by continuously reinforcing their original viewpoint, blocking them from gaining a deep understanding and doing so without them realizing that it is happening. On the other hand, if the user is getting the information they want, then why does it matter to know all sides? While asking for and being presented with data the user wants to see may seem efficient and ideal in concept, the information the user cannot see deters them from knowing all sides of the coin restricting the user from obtaining a truly objective answer. To gain deeper insight, a user must be shown a breadth of answers. The solution to getting around filter bubbles and accessing that breadth of answers starts with understanding what effects they may have on the user. Such effects may hinder a person’s ability to profoundly question and obtain a well-rounded answer, due to filter bubbles and their propensity toward echo chambers, and polarizing viewpoints.

Echo chambers

Due to filter bubbles, a person’s ideologies tend to isolation (Berman and Katona, 2020). This isolation propels the person to seek information that reinforces their initial viewpoint, creating echo chambers. When an individual has an isolated view on a subject and they are searching for answers, they may gravitate towards information that instils confirmation bias on their point of view. Research has shown that people do not prefer to use opposing information to alter their views but instead will use the information they find that confirms their original viewpoint to double down on what they already believe (Kappes et al., 2020). Even if a user specifically searches for an opposing point of view, regardless of the information brought forth to them through filter bubbles, the user will tend to agree with the information that pertains to their isolated viewpoint. This propulsion towards their initial point of view builds an echo chamber from other users that have similar beliefs, thus confirming their own beliefs.

Echoing beliefs of a user’s viewpoints is encouraged and projected by social media groups that have aligning viewpoints of the user. Groups on social media platforms like Facebook are formed by like-minded people who join to have their views confirmed (Vicario et al., 2016a). When social media platforms allow the creation of groups coupled with algorithms that perpetuate confirmation bias, the ability to find a space that projects and confirms a user’s biased views allow the user to exist in an echo chamber.

An individual that joins a social media group that has aligning viewpoints ends up reverberating and strengthening their own viewpoints within that group. Vicario et al. (2016b) finds that when communities create homogeneous clusters (Facebook groups for instance) with like-minded people, these clusters become the primary driver of information isolation. Furthermore, Dandekar et al. (2013) devised a model that shows homophilous networks paired with an individual’s biased assimilation results in a more extreme view of information pertaining to their initial viewpoint. Therefore, the reverberation of the individual’s pre-existing reinforced views within a like-minded group on social media acts to create echo chambers that perpetuate information isolation.

Polarizing viewpoints

The by-product of echo chambers is that they tend to deepen polarizing viewpoints. Filter bubbles hinder users from expanding their viewpoints past their own, and this lack of expansive awareness generates polarizing societal views (Min et al., 2019). It is understood that echo chambers emerge from confirmation bias, but when a website’s filter bubble inducing algorithm contains social filtering mechanisms, these mechanisms have been shown to strengthen social polarization and disjoint echo chambers further (Geschke et al., 2019). Filter bubbles exacerbate social polarization as algorithms with social filtering propel the user towards echo chambers that provide confirmation bias.

Of the many infinite issues that may be addressed online, viewpoints on political topics are often inherently polarizing in nature and on the issue of Brexit, social media echo chambers increased social polarization. A study and analysis done on over 1 million Facebook users that searched for Brexit information in 2016 revealed their search results influenced polarization on the perception of Brexit (Vicario et al., 2017). The echo chambers Facebook created with their filter bubble inducing algorithms, socially and politically polarized the matter of Brexit by filtering search results and only showing results that were congruent to a user’s initial viewpoint.

Not only did filter bubbles induce social and political polarization on the issue of Brexit, but filter bubbles also induced social and political polarization during the 2016 U.S. presidential election. Analytical testing done by Guo et al. (2020) on over 50 million tweets from Twitter suggested social and political polarization of the presidential candidates Hilary Clinton and Donald Trump. Like Facebook, Twitter played a part in the social polarization of what information was presented to the user based on the sites’ respective algorithms. More specifically, socially polarized information pertaining to Hilary Clinton and Donald Trump during the 2016 U.S. presidential election. In combination, polarization and the creation of homogeneous communities or echo chambers were further exacerbated by filter bubbles during the 2016 U.S. presidential election.


When an individual uses social media and search engine platforms to try to access true information, how that individual receives that information and what part of the truth they receive depends on the website’s algorithms and the data gathered about the user. This selective and filtered process creates the phenomenon known as a filter bubble and while seemingly harmless and at times thought of as efficient, the filter bubble has a more nefarious side. This nefarious side being, algorithm induced filter bubbles perpetuate echo chambers, and polarizing viewpoints. These by-products that filter bubbles perpetuate are significant because they all have the ability to sculpt the mind of the user and propel them toward a singular, isolated ideological viewpoint without them even realizing it’s happening. Homogenous clusters called echo chambers allow a singular viewpoint of an issue to be chorused, thus strengthening this viewpoint through confirmation bias. These self-serving echo chambers lead to further polarization on society and their points of view regarding all matters, but particularly social polarization that is political in nature. The social polarization echo chambers cause in social media platforms such as Facebook and Twitter divides and reinforces a user towards their initial viewpoint, giving them information filtered specifically for them through their algorithms social filtering mechanisms. One by-product of filter bubbles begets the other and the sum of the whole stops an individual from being able to ask thoughtful questions and receive well-rounded, deep answers to those questions.


Berman, R., & Katona, Z. (2020). Curation Algorithms and Filter Bubbles in Social Networks. Marketing Science, 39(2), 296–316.

Dandekar, P., Goel, A., & Lee, D. T. (2013). Biased assimilation, homophily, and the dynamics of polarization. Proceedings of the National Academy of Sciences, 110(15), 5791–5796.

Dwoskin, E., Stanley-Becker, I., & Kelly, H. (2020, November 4). Trump’s early victory declarations test tech giants’ mettle in policing threats to the election. Washington Post.

Geschke, D., Lorenz, J., & Holtz, P. (2019). The triple-filter bubble: Using agent-based modelling to test a meta-theoretical framework for the emergence of filter bubbles and echo chambers. British Journal of Social Psychology, 58(1), 129–149.

Google’s Search Algorithm and Ranking System—Google Search. (n.d.). Retrieved March 26, 2021, from

Guo, L., Rohde, J. A., & Wu, H. D. (2020). Who is responsible for Twitter’s echo chamber problem? Evidence from 2016 U.S. election networks. Information, Communication & Society, 23(2), 234–251.

Kappes, A., Harvey, A. H., Lohrenz, T., Montague, P. R., & Sharot, T. (2020). Confirmation bias in the utilization of others’ opinion strength. Nature Neuroscience, 23(1), 130–137.

Min, Y., Jiang, T., Jin, C., Li, Q., & Jin, X. (2019). Endogenetic structure of filter bubble in social networks. Royal Society Open Science, 6(11), 190868.

Techopedia. (n.d.). What is a Filter Bubble? – Definition from Techopedia. Techopedia.Com. Retrieved February 22, 2021, from

Vicario, M. D., Vivaldo, G., Bessi, A., Zollo, F., Scala, A., Caldarelli, G., & Quattrociocchi, W. (2016a). Echo Chambers: Emotional Contagion and Group Polarization on Facebook. Scientific Reports (Nature Publisher Group), 6, 37825.

Vicario, M. D., Bessi, A., Zollo, F., Petroni, F., Scala, A., Caldarelli, G., Stanley, H. E., & Quattrociocchi, W. (2016b). The spreading of misinformation online. Proceedings of the National Academy of Sciences, 113(3), 554–559.

Vicario, M. D., Zollo, F., Caldarelli, G., Scala, A., & Quattrociocchi, W. (2017). Mapping social dynamics on Facebook: The Brexit debate. Social Networks, 50, 6–16.