Author Archives: Tyler Quist

Breaking Toys

The Breakable Toys pattern talks about a familiar lesson in life, which is that you can learn from your mistakes and failures because they are bound to happen. The pattern suggests that you create something similar to what you are doing in your job/work and use it as a playground to see what will work and what won’t and expand on the things that interest you and learn from what you create or fail to create. The one thing they suggest making and that a lot of developers make is a wiki because they simple to make and expand upon over time to show what you have learned and what you are capable of.
This pattern seems very useful and something that I might implement very early into my career because it sounds fun and interesting. The ability to create something and build on is something that is very important especially in the world of computer science where new things are always being made/optimized. I think this pattern makes me feel like the ability to grow and work on what interests you is an extremely important quality to have in software development. I now understand why our professors wanted us to make a professional blog and use it later in our professional careers since it will demonstrate our interests and progress made in learning more about the different aspects of computer science and software development.
The one thing that I really like about this pattern is the creativity aspect because it makes learning more fun since you are adding and making things more refined because you want what you create to look or work better. The best projects, not only in computer science courses, were the ones that allowed us to create whatever we wanted and pursue what we were interested in. Treating a job like this can turn it from a boring and exhausting job to a hobby that you enjoy and get paid to do. I really like this pattern and wish I knew about it earlier because I most likely applied it to my computer science courses as well to make them easier and more fun.

From the blog CS@Worcester – Tyler Quist’s CS Blog by Tyler Quist and used with permission of the author. All other rights reserved by the author.

Apprentice of the code

While reading these chapters, I realized what it meant to be a software developer and how you have to evolve and change as things in the field change. I really agreed with the thought that developing code is like a craft and you need to hone it through learning from people that are more experienced in the topic or language you are trying to learn. when I did my final project for my CS-348 class I needed to learn other languages and things that weren’t explicitly taught to me and at that time I knew I would need to continuously learn in the field of Computer Science. These chapters said the same thing and reinforced that idea in my mind and I agreed when they worded it as “He’d no longer be a grade-motivated person. He’d be a knowledge-motivated person”. Chapter 3 really resonated with me cause it talks about a feeling that all people in Computer science feel which is that they feel out of place or that they haven’t done/learned enough to be in the same space. I felt like this for a while and it really made consider changing majors for a while when I was really having difficulties with certain projects and assignments. One thing I do disagree with is Chapter 4 in which they try to warn people to not be content with their situation, I think its important to take a breath and enjoy how far you have come and what you have done. I agree that its important to continue improving and learning more than you knew before, but if you constantly push yourself in an unhealthy way, you will find yourself in a deep hole of “I don’t belong here”. People need to be able to enjoy the success that they have created for themselves and worked hard to achieve. The thing that I feel applies to me the most at the moment is how Software developing is a craftmanship, perpetual learning, and not getting stuck in your first language. I think the idea of getting stuck in the mindset of your first language is a common one because its easy to think in a language that you understand fully and apply that as a learning style. reaching out and getting involved in other communities is also another great way to learn and hone your craft because it allows people to communicate their interests to one another and ask for help and advice on things that they might not get or are having trouble with. I want to continue to learn about computer science so the chapter on perpetual learning was really interesting to me and helped me learned new ways to learn more about how I can learn more in the field of computer science.

From the blog CS@Worcester – Tyler Quist’s CS Blog by Tyler Quist and used with permission of the author. All other rights reserved by the author.

No Need for Tissues Even if We Have Issues

I thought the issues section of the git lab project was really interesting and a great way to communicate with other members of the project on things that aren’t working to see if others are facing a similar problem or have a solution to it. I believe that it is a great way to give ideas to others and help generate interest in specific areas that are needed or could be created for the project. I really like that people can get involved and discuss ideas for future implementations and things that need to be done in order to move forward. The issues section is definitely a useful part of git lab that i have not used and seen used, but seeing it used in this way is good and helps me to understand how large groups efficiently use git lab to create and optimize projects.

From the blog CS@Worcester – Tyler Quist’s CS Blog by Tyler Quist and used with permission of the author. All other rights reserved by the author.

Intro to My Blog

This blog is a culmination of my thoughts and information learned through various means and allows me to express my ideas and other things with others. I will also be using many different sources to further explain what i have learned and how i may or may not apply it in my future as a computer scientist.

From the blog CS@Worcester – Tyler Quist’s CS Blog by Tyler Quist and used with permission of the author. All other rights reserved by the author.

Sights Set On the Future

This project was a fun one and helped me grow significantly as a computer scientist and as a coder. all the tools needed where given to me to succeed and the freedom to make something that interested me and was fun, fuel my passion and made me happy to do this final project. Angular is a powerful tool and through the presentations of my fellow classmates I saw many ways that I can work on and improve my own project. One thing that another classmate used was Ionic which a framework built on top of angular that allows for easy app porting to android, ios and other devices and does the creation and scaling for you. Applying this to my project would help me to make it even more stylish and user friendly since at the moment it is not fully mobile friendly and has some of the styling relying on pixel size which will not scale correctly on mobile. I also saw alot of my classmates use a nav bar which would lock in place as you scroll down the screen and have drop down menus and searches, Which I thought my site and app would benefit from.
This project helped me to learn the extent that the skills learned in about software construction can go and that looking to other people’s creations and seeing how they did something can also benefit your site/application as well. I also felt great when I learned a new thing in both Angular or HTML/CSS and seeing it work on my Website made me want to do more and sad that I didn’t have more time to work on this Project. The design patterns and tools learned in this Software Construction and Design class will aid me in any future career i have in software development and i have a newfound respect and interest in front end coding as well since it was one of the best parts of this project in my opinion. Online tutorials and websites that gave examples on how to do certain things helped my project immensely and made the process easier and less stressful. I might return to this project in the near future and further develop the site to become more interactive and user friendly as well as support more devices. One thing I really wanted to do but didn’t have the time to was both a keyword search to find articles that contained a word or words when searched and an auto fill function for searches of sources.

From the blog CS@Worcester – Tyler Quist’s CS Blog by Tyler Quist and used with permission of the author. All other rights reserved by the author.

Stylin and Profilin

As I finished up the back end part of my project, I Knew I would need to figure out some HTML and CSS because I wanted my site to look good and I haven’t done HTML or CSS since a class I took in High school. Since most of my college coding has been back end stuff I needed a refresher and to look for things similar to what I wanted on my website and to figure out how to adapt them to work for me. Things that i wanted where to display different information at different places, create a better layout for the website, a search bar and, of course, stylish buttons. There was alot of helpful code examples for what I wanted to do for my website which made the process easier. One thing I knew i would need to do was create a border for the news posts since the pictures and text would scale and stretch to fit the whole screen. Once I created a margin for the posts the images and text looked alot better. I decided to bold and make the title font bigger than the description since I wanted to draw the user’s eyes when they read the posts.
I used material classes from angular to make the process of styling even easier and through css i created a better looking website by customize each individual class. I had a search bar and a button to search by source which looked a little to basic so i customized the buttons to be blue, have white text, and when you hoover on it, it places a shadow behind the button. I also made a reset button to return to the “home Page” after a search by source and made the button uniform with the search button.
Lastly I created a list of sources that were all interactive buttons that had the same style as all the other buttons on the website. I wanted to make this list a drop down menu or something that would only appear on the side if you clicked on another button instead of being constantly there, but I did not have enough time to implement this addition to the website. Overall this learning of CSS and HTML was really fun and helped me to realize that this is how I am going to be learning other coding languages in the future and applying them as needed.

From the blog CS@Worcester – Tyler Quist’s CS Blog by Tyler Quist and used with permission of the author. All other rights reserved by the author.

The Key to Apis

I was searching for a good api that did not require a key to use since i had no idea how to use one or how long it would take to get one. I searched and searched but I was unsuccessful in my search and ended up looking for one that had a key and an easy process to get that key. when i found the newsApi and it said all you needed to do was give an email address and sign up to get a key, I was ecstatic at the simplicity. After I got the key, I needed to figure out how it worked and what I should do to make using it even easier. I decided like most people on the internet chose to do and save it as a string called api key and passed it at the end of each api request.
I assumed that api keys were used to log what people do with the api and at what times for both security and to keep track of the usage of the api and I was right. Api keys are important for any api to use to keep spam and other malicious users from constantly requesting from your api or server and causing a denial of service. since the people who made the api have access to the keys, they can shut a key off if it request too many times in a certain time frame. I noticed, in my search for an api, that many of the apis had strict rules about how many times you can request in a time frame. The api i was using had pricing plans for different number of requests and how far back you could request articles and how fast they would load. The one i was using was free and allowed me to request 500 times a day which was more than enough for me to show off what it does and test it. The other plans costed 449 dollars a month and 849 dollars a month. these kinds of api that are hosted and easily accessible have the ability to make a lot of money. The other thing I noticed was that they didn’t allow it to be used for commercial use which means if you pay for the larger plans you would be just pumping money into the service without getting anything back.

From the blog CS@Worcester – Tyler Quist’s CS Blog by Tyler Quist and used with permission of the author. All other rights reserved by the author.

A Different Type of Angles

I decided to learn more about angular since it peaked my interest in class and in general. in my search for more information on Angular, I found “Introduction to AngularJS” by GeeksForGeeks. This post explains the strengths and important things to know about Angular and some of the key features of Angular. some key points from the post are that its easy to use and requires little understanding of different coding languages like HTML, JavaScript, and CSS. Angular saves time as well and avoids unnecessary code. Angular is a powerful framework that allows the developer more control over their applications and web resources. Angular is also unit test ready which helps the developer even more in there processes of creating applications and resources. Angular has Data Binding which means that the developer does not need to continuously update the HTML file or create a special code to bind the data. This keeps data consistent and updated with the most recent version of an application or resource that the developer provides.
Angular seems to make web development easier than ever and gives people the templates and tools needed to create powerful and intuitive applications to suit their own needs. From my short experience with angular, i felt confident and powerful while using the framework and wasted less time than expected had i tried to create a web application without it. I felt in control and could see the real time changes that were occurring in my local website due to the changes I was making. Angular has been for sometime one of the three major frameworks for web developers and the other two are React and Vue. I’m unsure about the other too languages are better or worse or have advantages over Angular, but at this point in time Angular seems like a strong and good choice for my future with any type of web development. the one thing that i think makes angular so appealing to me and others is that the data is bonded and you don’t need to constantly change things to reflect one change in a web application or resource. This framework is something i could see myself using in the future or something like it for web development because it simplifies a larger more difficult job and allows people with enough information to traverse its power and harness that power to create powerful applications. I can’t wait to learn even more about Angular and how to use it effectively.
link to article referenced: https://www.geeksforgeeks.org/introduction-to-angularjs/

From the blog CS@Worcester – Tyler Quist’s CS Blog by Tyler Quist and used with permission of the author. All other rights reserved by the author.

Seeing Doubles

In Computer testing there exist many ways to automate test and create ways to use objects that behave in a similar way to what they are supposed to be. In the blog post by Michal Lipski titled “Test Doubles — Fakes, Mocks and Stubs.”, he goes through the different doubles testing forms and explains their strengths and weaknesses and even shows diagrams and examples of code to help people better understand what each one of them is. Fakes being a working implementation that takes shortcuts and are different from the actual version. Stubs hold data given to the object via the tester to check if that data is being returned at the right time and calls. Mocks just write down the calls they receive and allow the tester to know that the actions were completed, but not if they were completed correctly. these forms of testing allow the tester to create version that satisfy conditions that they wish to check and understand.
I personally really enjoy the simplicity of these testing methods and how they don’t require much time or effort to be completed. while stubs are one of the simplest, in my opinion, they take a good amount of time and are thrown away later which makes them a hassle and a waste. Fakes seem to be a great choice for prototyping different things and allowing the tester to do as they please without any fear of damaging or changing any actual data. all together these testing methods are useful and will help me in my future in the computer science field.
link to the article referenced: https://blog.pragmatists.com/test-doubles-fakes-mocks-and-stubs-1a7491dfa3da

From the blog CS@Worcester – Tyler Quist’s CS Blog by Tyler Quist and used with permission of the author. All other rights reserved by the author.

Follow the Yellow Brick Road

Path testing peaked my interest when discussed in my CS-443 Software testing class, so I decided to dig deeper into the topic and see what others said about the testing method. I found an Article on GeeksforGeeks that focused on Path Testing. this type of testing focuses on the path of the code itself. calculating the complexity by McCabe’s Cyclomatic Complexity = E – N + 2P, where E = Number of edges in control flow graph, N = Number of vertices in control flow graph, P = Program factor. The advantages of Path Testing are reducing redundant tests, and focusing on the logic of the program.
Path testing seems to focus on the specified program and create the most appropriate test cases based on that program which in turn allows for best possible tests to be performed. Understanding code in a node graph way allows the tester to accurately understand the program and what needs to be tested and what can be tested individually or as a group. I really like the way that path testing views code because it is easy to understand and follow. Path testing, to me, is a directed path of testing that most people do without realizing it on a much simpler scale and because of its complexity calculations, it has more concrete evidence to support the style of testing.

Link to Article Referenced: https://www.geeksforgeeks.org/path-testing/

From the blog CS@Worcester – Tyler Quist’s CS Blog by Tyler Quist and used with permission of the author. All other rights reserved by the author.