<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Ben Santos &#8211; CS@Worcester</title>
	<atom:link href="https://cs.worcester.edu/author/ben-santos/feed/" rel="self" type="application/rss+xml" />
	<link>https://cs.worcester.edu</link>
	<description>Worcester State University Computer Science Department</description>
	<lastBuildDate>Mon, 26 Jan 2026 00:24:09 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9</generator>
<site xmlns="com-wordpress:feed-additions:1">236835116</site>	<item>
		<title>Introduction Post for CS-443</title>
		<link>https://bencodingportfolio.wordpress.com/2026/01/25/introduction-post-for-cs-443/</link>
		
		<dc:creator><![CDATA[Ben Santos]]></dc:creator>
		<pubDate>Mon, 26 Jan 2026 00:24:09 +0000</pubDate>
				<category><![CDATA[CS-443]]></category>
		<category><![CDATA[CS@Worcester]]></category>
		<guid isPermaLink="false">http://bencodingportfolio.wordpress.com/?p=116</guid>

					<description><![CDATA[Hello everyone this is Ben and I am making a introduction post for CS-443. During this semester I want to use this time to improve my coding skills and fundamentals so that I can use these for my skills. During the break I have been reading a couple of books and textbooks about how to […]]]></description>
										<content:encoded><![CDATA[<p class="wp-block-paragraph">Hello everyone this is Ben and I am making a introduction post for CS-443. During this semester I want to use this time to improve my coding skills and fundamentals so that I can use these for my skills. During the break I have been reading a couple of books and textbooks about how to improving coding skills and learning habits. For example, Make it Stick by Peter C. Brown, Henry L. Roediger III, and Mark A. McDanie teaches people how to learn a new subject and maintain the knowledge. In addition, I need to build habits and consistency so that later in my career I can still learn new subjects and skills.</p>

<p class="syndicated-attribution"><em>From the blog <a href="https://bencodingportfolio.wordpress.com">CS@Worcester – Site Title</a> by <a href="https://cs.worcester.edu/author/0/" title="Read other posts by Ben Santos">Ben Santos</a></em> and used with permission of the author. All other rights reserved by the author.</p>]]></content:encoded>
					
		
		<enclosure url="https://1.gravatar.com/avatar/1612a607ee1fe5c9b745e787cdef1230dcb47255f7270aa11eb40609e8a22bb1?s=96&#038;d=identicon&#038;r=G" length="0" type="" />

		<post-id xmlns="com-wordpress:feed-additions:1">50123</post-id>	</item>
		<item>
		<title>Introduction blog to CS-448 and Libre Food Pantry</title>
		<link>https://bencodingportfolio.wordpress.com/2026/01/25/introduction-blog-to-cs-443-and-libre-food-pantry/</link>
		
		<dc:creator><![CDATA[Ben Santos]]></dc:creator>
		<pubDate>Sun, 25 Jan 2026 23:52:03 +0000</pubDate>
				<category><![CDATA[CS-448]]></category>
		<category><![CDATA[CS@Worcester]]></category>
		<guid isPermaLink="false">http://bencodingportfolio.wordpress.com/?p=114</guid>

					<description><![CDATA[Hello everyone, my name is Ben and for this year I will be helping the Libre Food Pantry for the class. According to the website it has a mission to expand a community of students and faculty across multiple institutions who believe software can be used to help society. This mission is meant to help […]]]></description>
										<content:encoded><![CDATA[<p class="wp-block-paragraph">Hello everyone, my name is Ben and for this year I will be helping the Libre Food Pantry for the class. According to the website it has a mission to expand a community of students and faculty across multiple institutions who believe software can be used to help society. This mission is meant to help any school or community in order to help everyone being able to eat meals.</p>
<p class="wp-block-paragraph">Moving on to the User Story map, I noticed that all walks of life from different communities struggled with this issue of not having enough food. Also in the map it showed the new features added to the system and when did the guests were able to use it. This made me think that not all the current features were added at the same time.</p>
<p class="wp-block-paragraph">The reason why I choose these two subjects about the Libre Food Pantry is because being able to help a community and knowing that people are affected from it helps with wanting to do more. Open source projects like this wants as much helps as possible so that it can benefit the community as much as possible with the efforts of programmers around the world and for any community.</p>

<p class="syndicated-attribution"><em>From the blog <a href="https://bencodingportfolio.wordpress.com">CS@Worcester – Site Title</a> by <a href="https://cs.worcester.edu/author/0/" title="Read other posts by Ben Santos">Ben Santos</a></em> and used with permission of the author. All other rights reserved by the author.</p>]]></content:encoded>
					
		
		<enclosure url="https://1.gravatar.com/avatar/1612a607ee1fe5c9b745e787cdef1230dcb47255f7270aa11eb40609e8a22bb1?s=96&#038;d=identicon&#038;r=G" length="0" type="" />

		<post-id xmlns="com-wordpress:feed-additions:1">50125</post-id>	</item>
		<item>
		<title>Understanding Linters: Enhancing Code Consistency</title>
		<link>https://bencodingportfolio.wordpress.com/2025/11/29/understanding-linters-enhancing-code-consistency/</link>
		
		<dc:creator><![CDATA[Ben Santos]]></dc:creator>
		<pubDate>Sat, 29 Nov 2025 20:18:20 +0000</pubDate>
				<category><![CDATA[CS-348]]></category>
		<category><![CDATA[CS@Worcester]]></category>
		<guid isPermaLink="false">http://bencodingportfolio.wordpress.com/?p=110</guid>

					<description><![CDATA[Recently in class we started to learn more about linting tools. In the class we used a linter to check all documents in a project to see which words are redundant or misspelled. After looking into some articles online I realised that linters could be used for many things. For example, if a company wants […]]]></description>
										<content:encoded><![CDATA[<p>Recently in class we started to learn more about linting tools. In the class we used a linter to check all documents in a project to see which words are redundant or misspelled. After looking into some articles online I realised that linters could be used for many things. For example, if a company wants its developers to write code within a certain format so that other developers in the company can easily read it. It is not just for formatting it can be used for coding errors, bugs, security vulnerabilities and stylistic inconsistencies. In addition, linters can be used for many different types of programming languages that allows organizations or groups to set a standard for everyone coding in that project.&nbsp;</p>
<p>A linter is able to do all of this by dividing the code into units for variables, types, functions etc. Then to make these units into tokens that then compare these tokens to the tokens already made in the linter. Next it checks if these tokens are different to the premade ones and will flag them depending on the reason the linter is used for that project.&nbsp;</p>
<p>There are a lot of reasons why projects use linters. Here are a few examples: it decreases errors, it makes code more consistent, improves code quality, improves security, saves money by being time efficient, and setting coding expectations with the team. Let me explain further: no project or company wants their program to have errors that make it towards the end user. In addition, linters being able to save money is by checking the code to prevent issues from costing more time to fix and more money to fix.&nbsp;</p>
<p>Many companies want to save as much money as possible within the different steps of development: production, design, testing, development and maintenance. Each of these steps requires a lot of people to verify if the code is working or if the code is what the customer wants. In addition, having developers be able to not spend as much time finding errors and solving them. That is why linters can save companies a lot of money for the next project or maintain operations.&nbsp;</p>
<p>I do have a problem with linters personally, when I am focused on doing something. Then I have to use a linter, it makes me lose focus and creates friction to get back to focusing on the task at hand. This a minor problem because once I get used to using a linter then there will be less friction between focusing on the task at hand and solving errors caught by the linter.</p>

<p class="syndicated-attribution"><em>From the blog <a href="https://bencodingportfolio.wordpress.com">CS@Worcester – Site Title</a> by <a href="https://cs.worcester.edu/author/0/" title="Read other posts by Ben Santos">Ben Santos</a></em> and used with permission of the author. All other rights reserved by the author.</p>]]></content:encoded>
					
		
		<enclosure url="https://1.gravatar.com/avatar/1612a607ee1fe5c9b745e787cdef1230dcb47255f7270aa11eb40609e8a22bb1?s=96&#038;d=identicon&#038;r=G" length="0" type="" />

		<post-id xmlns="com-wordpress:feed-additions:1">45718</post-id>	</item>
		<item>
		<title>The Role of Compilers in Programming Explained</title>
		<link>https://bencodingportfolio.wordpress.com/2025/11/29/the-role-of-compilers-in-programming-explained/</link>
		
		<dc:creator><![CDATA[Ben Santos]]></dc:creator>
		<pubDate>Sat, 29 Nov 2025 19:46:16 +0000</pubDate>
				<category><![CDATA[CS-343]]></category>
		<category><![CDATA[CS@Worcester]]></category>
		<guid isPermaLink="false">http://bencodingportfolio.wordpress.com/?p=108</guid>

					<description><![CDATA[In one of my classes this semester we started to learn about the purpose of a compiler in programming. After learning about a few things on how a compiler works, I just wanted to spend some free time learning more about the subject. Even though there are many different compilers out there currently they all […]]]></description>
										<content:encoded><![CDATA[<p>In one of my classes this semester we started to learn about the purpose of a compiler in programming. After learning about a few things on how a compiler works, I just wanted to spend some free time learning more about the subject. Even though there are many different compilers out there currently they all still use the same steps on processing high level language to machine coding. The following steps are lexical analysis, Syntax analysis, Semantic analysis, Optimization, Code generation.&nbsp;</p>
<ul class="wp-block-list">
<li>Lexical Analysis: In this step it sends the high level code through a compiler’s lexer changing certain parts of the code like operators, identifiers into units that make up tokens. </li>
<li>Syntax analysis: During this step it looks at all the tokens and checks the code for syntax errors and other programming errors within that coding language conditions. </li>
<li>Semantic Analysis: Once the code is checked the compiler uses semantic analysis in order to determine the purpose of the code. In addition it tests for logical errors with the code for example the code could have an arithmetic error. </li>
<li>Optimization: Within this step optimizations with a compiler are not always the same depending on what they want to optimize. For example, have the code run all the steps as quickly as possible or decrease the electrical demand for a coding language. </li>
<li>Code generation: Once the code goes through this step the code will be converted into assembly code so that the computer can read the instructions needed to run the program. </li>
</ul>
<p>The convenience of using a compiler is that it allows programmers to code in high level language which is a lot more readable than assembly code. In addition it allows programmers to be able to learn any high level language. Which allows them to not worry about the steps needed to convert the code into assembly since the compiler will do it for them. Also having the compiler check for multiple different types of errors helps improve with quality assurance. Another factor to consider, certain hardware can only run specific types of code but with a compiler it lets programmers choose which language they prefer.&nbsp;</p>
<p>Also compilers can reduce repetition due to only needing to run the code once and then it will be able to execute repeatedly from then on. Lastly Compilers can check for errors that we do not consider for example memory leaks and potential security issues with the code.&nbsp;</p>

<p class="syndicated-attribution"><em>From the blog <a href="https://bencodingportfolio.wordpress.com">CS@Worcester – Site Title</a> by <a href="https://cs.worcester.edu/author/0/" title="Read other posts by Ben Santos">Ben Santos</a></em> and used with permission of the author. All other rights reserved by the author.</p>]]></content:encoded>
					
		
		<enclosure url="https://1.gravatar.com/avatar/1612a607ee1fe5c9b745e787cdef1230dcb47255f7270aa11eb40609e8a22bb1?s=96&#038;d=identicon&#038;r=G" length="0" type="" />

		<post-id xmlns="com-wordpress:feed-additions:1">45720</post-id>	</item>
		<item>
		<title>Frontend development problems and rules</title>
		<link>https://bencodingportfolio.wordpress.com/2025/11/16/frontend-development-problems-and-rules/</link>
		
		<dc:creator><![CDATA[Ben Santos]]></dc:creator>
		<pubDate>Sun, 16 Nov 2025 22:47:46 +0000</pubDate>
				<category><![CDATA[CS-343]]></category>
		<category><![CDATA[CS@Worcester]]></category>
		<guid isPermaLink="false">http://bencodingportfolio.wordpress.com/?p=102</guid>

					<description><![CDATA[I was just curious about frontend development. After reading a couple of articles, frontend development is how the customer interacts with the website or program. The key aspects of Frontend development is User Experience, Visual feedback, Optimization, Responsive with devices, Integrating the backend APIs to the Frontend. First let me explain User experience which means […]]]></description>
										<content:encoded><![CDATA[<p>I was just curious about frontend development. After reading a couple of articles, frontend development is how the customer interacts with the website or program. The key aspects of Frontend development is User Experience, Visual feedback, Optimization, Responsive with devices, Integrating the backend APIs to the Frontend. First let me explain User experience which means the website is accessible, usable, and a good visual design. Next, Visual feedback the frontend can react to user input through the website and animations can appear on time. Moving onto Optimization, to reduce loading from one page to another or a response from the user.&nbsp;</p>
<p>Another aspect we need to consider is whether the website or program works with multiple devices like a phone, desktop, etc. Finally, integrating the backend APIs so that data can be sent to the user or sent from the user to the backend.&nbsp;</p>
<p>These 5 goals are meant for a user to be able to not feel any friction between the frontend and the backend. Users want a program or website to be able to use how they want it and does not take too much time. For example, companies like Youtube want users to be on the platform as long as possible to sell more advertising ads. Many other platforms are trying to incorporate more features to have more users just stay on the platform for everything.&nbsp;</p>
<p>In order to keep users on the platform no one wants to wait a long time to move to the next page or get the response they want. Another issue that frontend developers could face is having the website not be consistent with the responses or animations. Even though these problems are maintenance related it is important to have the website or program be functional as quickly as possible so that users do not notice if the website or program went offline. Another issue that users do not notice initially is does the program or website work with multiple Operating systems and browsers. Each browser and Operating system will react to the program or website differently depending on multiple factors.&nbsp;</p>
<p>In addition, front-end developers have to consider how the website looks on different browsers. If I have a mac book and a desktop, if I as a user sees the visual differences of the website from the two different browsers it would make me not want to use the platform at all. If a website can look the exact same through multiple platforms then there will be less friction for users and they would know where everything is.</p>

<p class="syndicated-attribution"><em>From the blog <a href="https://bencodingportfolio.wordpress.com">CS@Worcester – Site Title</a> by <a href="https://cs.worcester.edu/author/0/" title="Read other posts by Ben Santos">Ben Santos</a></em> and used with permission of the author. All other rights reserved by the author.</p>]]></content:encoded>
					
		
		<enclosure url="https://1.gravatar.com/avatar/1612a607ee1fe5c9b745e787cdef1230dcb47255f7270aa11eb40609e8a22bb1?s=96&#038;d=identicon&#038;r=G" length="0" type="" />

		<post-id xmlns="com-wordpress:feed-additions:1">44350</post-id>	</item>
		<item>
		<title>The Importance of User Experience in Game Testing</title>
		<link>https://bencodingportfolio.wordpress.com/2025/11/16/the-importance-of-user-experience-in-game-testing/</link>
		
		<dc:creator><![CDATA[Ben Santos]]></dc:creator>
		<pubDate>Sun, 16 Nov 2025 20:40:50 +0000</pubDate>
				<category><![CDATA[CS-348]]></category>
		<category><![CDATA[CS@Worcester]]></category>
		<guid isPermaLink="false">http://bencodingportfolio.wordpress.com/?p=98</guid>

					<description><![CDATA[While looking at internships I saw a couple of job postings for quality assurance at video game studios. Then I saw the qualifications and skills needed for the job. Then I started to look into the job. Looking at a couple of resources I noticed that this job has a couple of guidelines in order […]]]></description>
										<content:encoded><![CDATA[<p>While looking at internships I saw a couple of job postings for quality assurance at video game studios. Then I saw the qualifications and skills needed for the job. Then I started to look into the job. Looking at a couple of resources I noticed that this job has a couple of guidelines in order to help the video game have an amazing experience for players. These important concepts are called Functional evaluations, Regression assessment, User experience analysis. Within the job companies use Agile methodology to help QA teams to be able to solve upcoming issues throughout the game’s lifespan.&nbsp;</p>
<p>This job requires employees to be skilled to fix technical problems and have critical thinking in order to solve problems. Let me explain the guidelines of game QA and why it matters. The first guideline is called Functional evaluations. Functional values is a series of tests that makes sure the game&#8217;s features and the game works as intended.&nbsp;</p>
<p>Functional evaluations are divided into:&nbsp;</p>
<ul class="wp-block-list">
<li>Gameplay Mechanics: do player characters interact with objects correctly, can players use game mechanics correctly (for example special universal abilities), is character scale correctly.</li>
<li>User Interface: Can player controls activate certain buttons like pause, settings. Can players see certain features like health bars or ability cooldowns. </li>
<li>Missions and Objectives: If a player completes a mission do they get a reward. Is it possible </li>
<li>Multiplayer features: Can players join the server correctly and encrypted, etc…</li>
</ul>
<p>Moving onto Regression assessments. It is to retest key features in the game after all patches have been implemented. The purpose of these tests is to</p>
<ul class="wp-block-list">
<li> Identify Vulnerabilities,</li>
<li> Allocating Resources,</li>
<li> Enhancing Reporting Accuracy. </li>
</ul>
<p>The reason why I mentioned these types of reasons for the tests is because they need to consider multiple factors in order to maintain customers&#8217; enjoyment of the game. In addition, QA has to consider if the changes that could make the code be more complex, performance drops, user friction and costs.&nbsp;</p>
<p>Moving onto the last point is User Experience Analysis. This issue can either make or break the success for a game. When players face some sort of friction like the game is not optimized for certain hardware or even constant disconnects to the server. As a result it will cause more players to return the game or stop playing the game entirely. I noticed that some games companies do not know how to filter through good suggestions and bad suggestions to fix in the next patch of the game. Regardless, that will take time for the company to set a clear roadmap on how they want to make their game.</p>

<p class="syndicated-attribution"><em>From the blog <a href="https://bencodingportfolio.wordpress.com">CS@Worcester – Site Title</a> by <a href="https://cs.worcester.edu/author/0/" title="Read other posts by Ben Santos">Ben Santos</a></em> and used with permission of the author. All other rights reserved by the author.</p>]]></content:encoded>
					
		
		<enclosure url="https://1.gravatar.com/avatar/1612a607ee1fe5c9b745e787cdef1230dcb47255f7270aa11eb40609e8a22bb1?s=96&#038;d=identicon&#038;r=G" length="0" type="" />

		<post-id xmlns="com-wordpress:feed-additions:1">44344</post-id>	</item>
		<item>
		<title>Types of Software Testing: Ensuring Quality in Development</title>
		<link>https://bencodingportfolio.wordpress.com/2025/10/26/types-of-software-testing-ensuring-quality-in-development/</link>
		
		<dc:creator><![CDATA[Ben Santos]]></dc:creator>
		<pubDate>Sun, 26 Oct 2025 23:16:07 +0000</pubDate>
				<category><![CDATA[CS-348]]></category>
		<category><![CDATA[CS@Worcester]]></category>
		<guid isPermaLink="false">http://bencodingportfolio.wordpress.com/?p=95</guid>

					<description><![CDATA[Within the Software Development Lifecycle, it has a major step that takes a decent amount to do is Software testing. The purpose of software testing is that the program has no problems and meets the requirements set by the customer. Software development is divided into two different types: verification and validation. As noted before, verification […]]]></description>
										<content:encoded><![CDATA[<p>Within the Software Development Lifecycle, it has a major step that takes a decent amount to do is Software testing. The purpose of software testing is that the program has no problems and meets the requirements set by the customer. Software development is divided into two different types: verification and validation. As noted before, verification is a step that has programmers checking if the software is doing as the customer intended. In the same vein, the validation step is just programmers testing if the software meets the customer’s requirements. For example a website wants to add a new feature to handle an increase of daily users on the platform.&nbsp;</p>
<p>Moving on, there are multiple different types of testing programmers use to validate and verify if the program is working as intended. There is automation testing, and manual testing. They then divide into smaller more specific tests that will focus on certain aspects of the program. As mentioned earlier, automation testing is when programmers write test scripts with or without software and can run the tests repeatedly. While manual testing is a method of testing that has a programmer write tests that will check on different sections of the program.</p>
<p>Within software testing there are different levels of testing. They are called unit testing, integration testing, system testing, acceptance testing.&nbsp;</p>
<p>Unit Testing</p>
<ul class="wp-block-list">
<li>It is a testing that checks every component or software </li>
<li>It is to make sure the hardware or software that could be used by the programmers </li>
</ul>
<p>Integration Testing&nbsp;</p>
<ul class="wp-block-list">
<li>It checks two or more modules which are tested are then put in the program or hardware </li>
<li>To make sure the components and interface are working as intended</li>
</ul>
<p>System Testing</p>
<ul class="wp-block-list">
<li>Is a test that verifies the software itself </li>
<li>Also it checks the system elements </li>
<li>If the program meets the requirements of the system </li>
</ul>
<p>Acceptance Testing&nbsp;&nbsp;</p>
<ul class="wp-block-list">
<li>Validates if the program meets the customer’s expectation </li>
<li>If the customer can work correctly on a user’s device </li>
</ul>
<p>These different types of testing are used to prevent issues down the line. So that programmers can find potential bugs, improve quality of the program, improve user experience, testing for scalability, also to save time and money. In order to save money and time because it takes a lot of employees to solve problems with a program that could have been used to make a new product. A business wants a program to work and be improved over time.</p>

<p class="syndicated-attribution"><em>From the blog <a href="https://bencodingportfolio.wordpress.com">CS@Worcester – Site Title</a> by <a href="https://cs.worcester.edu/author/0/" title="Read other posts by Ben Santos">Ben Santos</a></em> and used with permission of the author. All other rights reserved by the author.</p>]]></content:encoded>
					
		
		<enclosure url="https://1.gravatar.com/avatar/1612a607ee1fe5c9b745e787cdef1230dcb47255f7270aa11eb40609e8a22bb1?s=96&#038;d=identicon&#038;r=G" length="0" type="" />

		<post-id xmlns="com-wordpress:feed-additions:1">42941</post-id>	</item>
		<item>
		<title>Why Software Maintenance Matters for Business Success</title>
		<link>https://bencodingportfolio.wordpress.com/2025/10/26/why-software-maintenance-matters-for-business-success/</link>
		
		<dc:creator><![CDATA[Ben Santos]]></dc:creator>
		<pubDate>Sun, 26 Oct 2025 20:28:02 +0000</pubDate>
				<category><![CDATA[CS-348]]></category>
		<category><![CDATA[CS@Worcester]]></category>
		<guid isPermaLink="false">http://bencodingportfolio.wordpress.com/?p=93</guid>

					<description><![CDATA[Recently AWS servers were not working due to something causing one third of the internet to go down. It made me start to think about what maintenance companies like Amazon have to have in order to make sure clients’ websites or programs do not get shut down. Then I found an article about Software maintenance […]]]></description>
										<content:encoded><![CDATA[<p>Recently AWS servers were not working due to something causing one third of the internet to go down. It made me start to think about what maintenance companies like Amazon have to have in order to make sure clients&#8217; websites or programs do not get shut down. Then I found an article about Software maintenance explaining in a software engineer’s perspective on what happens with a product already made but has to be maintained.&nbsp;</p>
<p>It starts to explain that software maintenance branches between bug fixes, adding new features, adding new hardware or software environments. At the end of the day the software has to work, be secure, efficient, and meet the users demands. As mentioned earlier there are multiple different types of software maintenance: bug fixes, patches, adaptive maintenance, optimizations, preventive maintenance.&nbsp;</p>
<p>As programs get used or the amount of users start to increase companies have to consider that users might face bugs. These bugs can affect user experiences that might cause the company to lose a potential sale and even get bad reviews. These bugs can range from small coding errors or errors that might affect the user experience.&nbsp;</p>
<p>In the future there is always the risk of needing to add patches to fix something very quickly. For example many companies would get hacked and have to undo the damage hackers might do to their program. Even though it could be an extreme case like getting hacked it could be a major update to the software that might be needed.&nbsp;</p>
<p>Moving on to Adaptive Maintenance, it is about whether customers might want a new feature added to the software. Which could even change involving the environment, hardware, business wants, or new regulations that apply to the company. For example in the past the U.S government added a law to ensure the privacy of online users to prevent websites collecting data on users without consent.</p>
<p>Another type of maintenance is Perfective maintenance but to me I consider it optimizations. This can be either the consistency of the performance of a program and reliability. In addition, to make the software be flexible when adding new features or changes to it.&nbsp;</p>
<p>The last type of Maintenance is Preventive maintenance. These could be features that make the program to be more secure, frequently tested, constant documents being made, and backups. This type of maintenance is to make sure potential problems can be fixed as quickly as possible and be tested so that it does not impact the user experience.&nbsp;</p>

<p class="syndicated-attribution"><em>From the blog <a href="https://bencodingportfolio.wordpress.com">CS@Worcester – Site Title</a> by <a href="https://cs.worcester.edu/author/0/" title="Read other posts by Ben Santos">Ben Santos</a></em> and used with permission of the author. All other rights reserved by the author.</p>]]></content:encoded>
					
		
		<enclosure url="https://1.gravatar.com/avatar/1612a607ee1fe5c9b745e787cdef1230dcb47255f7270aa11eb40609e8a22bb1?s=96&#038;d=identicon&#038;r=G" length="0" type="" />

		<post-id xmlns="com-wordpress:feed-additions:1">42916</post-id>	</item>
		<item>
		<title>Understanding CPU Cache: L1, L2, and L3 Differences</title>
		<link>https://bencodingportfolio.wordpress.com/2025/10/26/understanding-cpu-cache-l1-l2-and-l3-differences/</link>
		
		<dc:creator><![CDATA[Ben Santos]]></dc:creator>
		<pubDate>Sun, 26 Oct 2025 19:53:57 +0000</pubDate>
				<category><![CDATA[CS-343]]></category>
		<category><![CDATA[CS@Worcester]]></category>
		<guid isPermaLink="false">http://bencodingportfolio.wordpress.com/?p=89</guid>

					<description><![CDATA[In my spare time over the past couple of weeks I was looking into why do cpu manufacturers advertise the amount of cache they have in their cpus. It made me start to wonder. In video games people want to have as much L3 cache as possible but for work stations they might want a […]]]></description>
										<content:encoded><![CDATA[<p>In my spare time over the past couple of weeks I was looking into why do cpu manufacturers advertise the amount of cache they have in their cpus. It made me start to wonder. In video games people want to have as much L3 cache as possible but for work stations they might want a mixture of L1 and L2 cache instead of L3 cache. After reading a few articles, the cpu cache is made of SRAM (Static Random Access Memory). Which is high speed memory located very close to the cpu and it is volatile memory. The purpose of cache is so that the cpu can access data really quickly to complete the operation.&nbsp;</p>
<p>Then it made me start to think about the differences between the three different caches. Let me start off with L1 cache.</p>
<p>L1 Cache&nbsp;</p>
<ul class="wp-block-list">
<li>Is made within the cpu core </li>
<li>L1 is the closest and smallest out of the others </li>
<li>L1 size is around 16KB &#8211; 128KB depending on cpu model </li>
<li>L1 is directly mapped on the main memory blocks to improve speed of data </li>
<li>The main purpose of L1 is to store the data and instructions that the cpu uses the most</li>
<li>L1 access data within 1 &#8211; 3 clock cycles</li>
</ul>
<p>L2 Cache&nbsp;</p>
<ul class="wp-block-list">
<li>Is either core specific or shared between other cores </li>
<li>The size ranges between 256KB &#8211; 2MB </li>
<li>L2 access data within 3 &#8211; 10 clock cycles</li>
<li>The purpose of L2 cache is very similar to L1 it is just that the LRU (least recently used) decides whether to have the data be in L1 or L2 </li>
<li>L2 cache can be direct-mapped, set-associative or fully-associative just depends on cpu </li>
<li>It also helps L1 to store additional data if needed </li>
</ul>
<p>L3 Cache&nbsp;</p>
<ul class="wp-block-list">
<li>L3 cache is shared with multiple cores </li>
<li>Are the furthest from the cpu cores</li>
<li>Has the most capacity out of the group, which ranges between 2MB -64MB or more  </li>
<li>It has the same purpose of L2 cache but the LRU manages which data is sent to the L3 or L2 </li>
<li>Slowest speed it takes 10 &#8211; 20 or more clock cycles to access data</li>
<li> L3 cache data can be manipulated and other cores can see the new data</li>
<li>In order to help maintain consistency between shared cores </li>
<li>L3 cache associativity is 4 way or more mapped </li>
</ul>
<p>Even though the advancements of cpu manufacturers are trying to push the limits of cache it is still dependent on the users&#8217; need for them.&nbsp;</p>

<p class="syndicated-attribution"><em>From the blog <a href="https://bencodingportfolio.wordpress.com">CS@Worcester – Site Title</a> by <a href="https://cs.worcester.edu/author/0/" title="Read other posts by Ben Santos">Ben Santos</a></em> and used with permission of the author. All other rights reserved by the author.</p>]]></content:encoded>
					
		
		<enclosure url="https://1.gravatar.com/avatar/1612a607ee1fe5c9b745e787cdef1230dcb47255f7270aa11eb40609e8a22bb1?s=96&#038;d=identicon&#038;r=G" length="0" type="" />

		<post-id xmlns="com-wordpress:feed-additions:1">42918</post-id>	</item>
		<item>
		<title>API Types Explained: REST, SOAP, and RPC</title>
		<link>https://bencodingportfolio.wordpress.com/2025/10/26/api-types-explained-rest-soap-and-rpc/</link>
		
		<dc:creator><![CDATA[Ben Santos]]></dc:creator>
		<pubDate>Sun, 26 Oct 2025 15:39:06 +0000</pubDate>
				<category><![CDATA[CS-343]]></category>
		<category><![CDATA[CS@Worcester]]></category>
		<guid isPermaLink="false">http://bencodingportfolio.wordpress.com/?p=85</guid>

					<description><![CDATA[After class I spent some time researching what are the different types of REST API. Then I found more information about the different types of API architecture out there currently. There are currently three different types of API architecture. They are REST, SOAP, and RPC API each used differently depending on the task, data and […]]]></description>
										<content:encoded><![CDATA[<p>After class I spent some time researching what are the different types of REST API. Then I found more information about the different types of API architecture out there currently. There are currently three different types of API architecture. They are REST, SOAP, and RPC API each used differently depending on the task, data and specifications needed. </p>
<p>First let me explain REST API architecture. REST API uses front end and back end servers to communicate to complete tasks. Which can let this architecture be very flexible due to how you want to scale or other specifications. Another benefit to REST is that it does not store any data or status between requests. In addition it is resource oriented which lets URI’s (uniform resource identifier) to identify certain resources within the server. </p>
<p>The data format uses JSON, XML, HTML and plain text. As a result of using JSON as a data format it uses less storage and is a lot faster instead of resolving requests. Moving on in order to communicate with the server it uses HTTP methods and commands so that we can manipulate resources within the server. Lastly, how the architecture handles errors is through the application level. It is how the application handles errors and exceptions made by the individual or company. </p>
<p>Another architecture used is SOAP API. SOAP uses strict protocols that use XML and WSDL instead of HTTP methods. In addition, it uses message oriented instead of resource oriented messages. Let me explain further, is a program communicates with the server using messages to transfer data or receive data using a message queue. The data format  uses only XML, as a result it increases sizes of data being transferred over a connection. SOAP is an architecture that is stateless and stateful allows users to maintain session information over the server and still receive information from the server. </p>
<p>In order to protect information SOAP uses a WS-Security to encrypt messages and maintain the message. To clarify, SOAP uses XML as a data format but it causes it to be a lot slower due to increased data sizes being transferred and more complex the XML has to be to make sure everything works as intended. Within the XML code has built in error handling that are defined by the user to catch bad requests or other errors. One of the benefits of SOAP is a software architecture that can scale due to being able to add new features and define a stricter contract. </p>
<p>Lastly, let&#8217;s talk about RPC (remote procedural call) architecture. The architecture has a client and server connection to send information back and forth. Also it is written in JSON, XML, and Protocol formats. The RPC communication layer uses protocol IP/TCP to send the data between the server and the user. In addition, it has error handling to manage network and server problems. Plus the user can add in features to authentication actions and encrypt messages. Lastly, RPC uses IDL to call return types, parameters remotely.</p>

<p class="syndicated-attribution"><em>From the blog <a href="https://bencodingportfolio.wordpress.com">CS@Worcester – Site Title</a> by <a href="https://cs.worcester.edu/author/0/" title="Read other posts by Ben Santos">Ben Santos</a></em> and used with permission of the author. All other rights reserved by the author.</p>]]></content:encoded>
					
		
		<enclosure url="https://1.gravatar.com/avatar/1612a607ee1fe5c9b745e787cdef1230dcb47255f7270aa11eb40609e8a22bb1?s=96&#038;d=identicon&#038;r=G" length="0" type="" />

		<post-id xmlns="com-wordpress:feed-additions:1">42900</post-id>	</item>
	</channel>
</rss>
