diff --git a/_config.yml b/_config.yml index 1a238087674..8a26cdfac43 100644 --- a/_config.yml +++ b/_config.yml @@ -2,11 +2,11 @@ # REQUIRED CHANGES # Edit next line, providing your own name. -title: Molly Maluhia | Professional Portfolio +title: Jonathan Valencia | Professional Portfolio # Edit next line, replacing 'techfolios' with your github username -url: "https://techfolios.github.io" +url: "https://jon-valencia.github.io" # Edit next line so that baseurl is "" if your repo is .github.io -baseurl: "/template" +baseurl: "" # OPTIONAL CHANGES # You might want to change the bio page label to something else, such as CV diff --git a/_data/bio.json b/_data/bio.json index bbd4a0c66c1..863f9850c25 100644 --- a/_data/bio.json +++ b/_data/bio.json @@ -1,92 +1,98 @@ { "basics": { - "name": "Molly Maluhia", + "name": "Jonathan Valencia", "label": "Student", - "picture": "https://techfolios.github.io/template/images/molly.png", - "email": "molly@hawaii.edu", - "phone": "808-333-4444", - "website": "https://mmaluhia.github.io", - "summary": "I am studying for a B.S. in Computer Science in the Department of Information and Computer Sciences at the University of Hawaii. I expect to graduate in Spring, 2020.", + "picture": "../images/me.jpg", + "email": "jon.valencia@outlook.com", + "phone": "808-381-1814", + "website": "https://jon-valencia.github.io", + "summary": "I am studying for a B.S. in Computer Engineering in the College of Engineering at the University of Hawaii at Manoa. I expect to graduate in the Fall of 2022.", "location": { "address": "", - "postalCode": "96822", - "city": "Honolulu", + "postalCode": "96744", + "city": "Kaneohe", "countryCode": "USA", "region": "Hawaii" }, "profiles": [ { "network": "github", - "username": "mmaluhia", - "url": "http://github.com/changeme" + "username": "jon-valencia", + "url": "http://github.com/jon-valencia" }, { "network": "linkedin", - "username": "mollymaluhia", - "url": "http://linkedin.com/in/changeme" - }, - { - "network": "twitter", - "username": "mollymal", - "url": "http://twitter.com/changeme" - }, - { - "network": "instagram", - "username": "molly", - "url": "http://instagram.com/changeme" + "username": "jon-valencia", + "url": "http://linkedin.com/in/jon-valencia" } ] }, "interests": [ { - "name": "internet of things", + "name": "Software Engineering", + "keywords": [ + ] + }, + { + "name": "Game Development", "keywords": [ - "Arduino", - "TI MSP430" ] }, { - "name": "data mining", + "name": "Esports", "keywords": [ ] }, { - "name": "artificial intelligence", + "name": "Music", "keywords": [ ] } ], "skills": [ { - "name": "Languages and Frameworks", + "name": "Languages", "level": "", "keywords": [ - "C", - "C++", - "Java", - "Javascript", - "Assembly", - "Common Lisp" + "C/C++", + "C#", + "JavaScript", + "HTML/CSS", + "Verilog", + "Python", + ] + }, + { + "name": "Frameworks and Libraries", + "level": "", + "keywords": [ + "Node.js", + "Undersore.js", + "jQuery", + "Semantic UI", + "React", + "Meteor", + "MongoDB", + "Unity Engine" ] }, { "name": "Toolsets/OS", "level": "", "keywords": [ + "Windows", "MacOS", - "Ubuntu", - "Git/GitHub", - "g++", - "TI LaunchPad" + "Linux/Unix", + "Git/GitHub" ] } ], "education": [ { "institution": "University of Hawaii, Honolulu, HI", - "area": "Computer Science (expected Spring, 2018)", + "area": "Computer Engineering (expected Fall, 2022)", "studyType": "B.S.", - "startDate": "2013-09-01", + "startDate": "2018-08-20", "endDate": "Present", "gpa": "", "courses": [ @@ -95,69 +101,51 @@ ], "work": [ { - "company": "UH Manoa Board of Publications", - "position": "Web Developer", + "company": "University of Hawaii", + "position": "Circulation Records: Student Assistant IV", "website": "", - "startDate": "2015-08-01", + "startDate": "2018-09-24", "endDate": "Present", - "summary": "Head of online presence for Ka Leo", + "summary": "", "highlights": [ - "Maintain, update, and oversee official college newspaper website", - "Drive, design and build student-community projects for UH Manoa" + "Oversees and trains new hires following the training schedules set by staff members", + "Manages the schedules of all student employees and ensures that it is updated weekly", + "Leads new projects and tasks in collaboration with staff members", + "Acts as a welcoming face for the library and handles all circulation desk duties and transactions" ] }, { - "company": "UH Information Technology Services", - "position": "Help Desk Consultant", - "website": "http://www.hawaii.edu/its/", - "startDate": "2015-01-01", - "endDate": "2016-03-15", + "company": "Blizzard Entertainment, Inc", + "position": "Overwatch League: Project Aloha Intern", + "website": "", + "startDate": "2021-05-04", + "endDate": "2021-09-25", "summary": "", "highlights": [ - "Troubleshoot software, hardware and networking issues over the phone", - "Answer phone and email responses to the ITS Help Desk" + "Learned how Overwatch League and esports as a whole operates on a global scale through interaction with Overwatch League staff", + "Collaborated closely with fellow interns and Overwatch League staff to ensure that their standards of competitive integrity were maintained", + "Troubleshot and stress-tested the Overwatch League hardware and servers to verify that it was fit for competition" ] } ], "volunteer": [ { - "organization": "Center for Renewable Energy and Island Sustainability", - "website": "http://manoa.hawaii.edu/reis", - "position": "Software Developer", - "startDate": "2016-01-01", + "organization": "University of Hawaii Esports", + "website": "https://discord.gg/uhesports", + "position": "Player/Content Representative", + "startDate": "2019", "endDate": "Present", - "summary": "Lead developer for weather sensing project", + "summary": "Player and content representative for the Overwatch A Team", "highlights": [ - "Design firmware for distributed weather sensor network", - "Maintain custom data collection and storage infrastructure" - ] - }, - { - "organization": "", - "website": "", - "position": "Professional organization involvement", - "startDate": "", - "endDate": "", - "summary": "", - "highlights": [ - "Chair, ACM Manoa, 2016-Present", - "Member, IEEE Student Branch, 2014-Present", - "Webmaster/IT Officer, IEEE Student Branch, UH Manoa, 2012-2013" ] } ], "awards": [ { - "title": "B+ Scholarship", - "date": "2013-Present", - "awarder": "State of Hawaii", - "summary": "Scholarships awarded to incoming freshmen and continuing students who complete a rigorous high school curriculum with a minimum overall GPA of 3.0 at a Hawai'i public school." - }, - { - "title": "First place", - "date": "2015", - "awarder": "University of Hawaii Micromouse Competition", - "summary": "My team won first place in 2015. See my portfolio site for more details." + "title": "Ka Hikina O Ka La", + "date": "2019", + "awarder": "University of Hawaii Maui College", + "summary": "A specialized program at UHMC funded by the National Science Foundation. Ka Hikina O Ka La is committed to increasing the participation of Native Hawaiians in higher education and guiding them to leadership roles in Science, Technology, Engineering, and Mathematics (STEM). The program aims to continuously build strong relationships among cultural resources, scientists, technicians, educators, STEM employers, and community leaders." } ], "references": [ @@ -166,4 +154,4 @@ "reference": "" } ] -} \ No newline at end of file +} diff --git a/essays/2015-08-26.md b/essays/2015-08-26.md deleted file mode 100644 index 2bdabd710c4..00000000000 --- a/essays/2015-08-26.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -layout: essay -type: essay -title: Igniting the fire -# All dates must be YYYY-MM-DD format! -date: 2015-08-26 -labels: - - Software Engineering - - Learning ---- - - - -Ever since I first grasped a paintbrush, I’ve always been eager to learn about design. Design is such a complex concept. For example, when looking at abstract art, its meaning can be completely different for different people. It motivates a person to think thoughtfully and has the potential to submerge them in a sea of imagination. It’s that special relationship between the viewer and the art that makes something as technical as software engineering interesting to me. - - - -I never used to think that design and technology went hand in hand. Thus, learning about software engineering and the role of design has been incredibly interesting to me. Design, implementation, and management are just some of the many things I wish to learn more about. Good art, in a way, makes a person question it. They become joined in the idea of visualization – where captivation meets inspiration. - - - -I am now starting to take a Software Engineering class. I hope to learn a lot through the course, but I know it will be just the beginning of my journey. By the time I’m done with it, I hope I’ve learned enough to take the next step in my life as a developer. But until then, my fire will keep on burning. - diff --git a/essays/2015-09-08.md b/essays/2015-09-08.md deleted file mode 100644 index e8a005cf339..00000000000 --- a/essays/2015-09-08.md +++ /dev/null @@ -1,98 +0,0 @@ ---- -layout: essay -type: essay -title: Smart Questions, Good Answers -# All dates must be YYYY-MM-DD format! -date: 2015-09-08 -labels: - - Questions - - Answers - - StackOverflow ---- - - - -## Is there such thing as a stupid question? - -I’ve had instructors address a whole class and say, “There’s no such thing as a stupid question.” I now know that is in fact not true because I’ve challenged the statement and received the appropriate dumb-stricken, annoyed look. There are definitely stupid questions, and along with that, usually unhelpful answers. Though we all might be guilty of being callous and making people victim to our poorly formed questions, there are steps we can take to ask smarter questions that hopefully don’t illicit the dreaded “rtfm” or “stfw” response. - -## What’s a smart question? - -Stack Overflow, a question and answer site for programmers, is a great resource for anyone who may have issues with code or who may simply want to learn new or different methods of doing something. There I found examples of good questions and bad questions, which could probably be improved. - -In the following example, we examine the components of a decent question. In this case, the asker is trying to figure out a way to get the date of the previous month in Python. - -``` -Q: python date of the previous month - -I am trying to get the date of the previous month with python. Here is what i've tried: - -str( time.strftime('%Y') ) + str( int(time.strftime('%m'))-1 ) - -However, this way is bad for 2 reasons: First it returns 20122 for the February of 2012 (instead of 201202) -and secondly it will return 0 instead of 12 on January. - -I have solved this trouble in bash with: - -echo $(date -d"3 month ago" "+%G%m%d") - -I think that if bash has a built-in way for this purpose, then python, much more equipped, should provide something -better than forcing writing one's own script to achieve this goal. Of course i could do something like: - -if int(time.strftime('%m')) == 1: - return '12' -else: - if int(time.strftime('%m')) < 10: - return '0'+str(time.strftime('%m')-1) - else: - return str(time.strftime('%m') -1) - -I have not tested this code and i don't want to use it anyway (unless I can't find any other way:/) - -Thanks for your help! -``` - -While the heading of his question could be better, it does convey what he’s trying to figure out. Usually something as brief as “python date of previous month” is what other users would enter in as search terms on Google, making it easily found. Another good thing about the question is that it’s not just a question. The asker shows what he or she has done and that he or she has put in some effort to answer the question. And while it may not be as important as the question itself, the asker shows courtesy, which does increase the chance of getting an answer. - -``` -A: datetime and the datetime.timedelta classes are your friend. - -1. find today -2. use that to find the first day of this month. -3. use timedelta to backup a single day, to the last day of the previous month. -4. print the YYYYMM string you're looking for. - -Like this: - - >>> import datetime - >>> today = datetime.date.today() - >>> first = datetime.date(day=1, month=today.month, year=today.year) - >>> lastMonth = first - datetime.timedelta(days=1) - >>> print lastMonth.strftime("%Y%m") - 201202 - >>> - -``` - -The asker received six possible answers, and he or she was successful in inciting discussion from multiple users. The answers themselves were clear and were devoid of the rumored sarcasm and hostility of “hackers.” Since I myself have referenced this page and found it useful, I can confidently say that it is a good question. - -## The foolproof way to get ignored. - -While there are decent questions that benefit everyone, there are those one can ask to create an entirely different effect. In the following example, a user asks how he would, in short, create a desktop application with Facebook. - -``` -Q: Facebook Desktop Notifier - -I am a beginner programmer that have never used anything other than what's included in a language. - -I am trying to create a desktop application that notifies me anytime I get an update onfacebook. -How should go about doing this? Thanks in advance. - -edit Sorry I was not clear. Is there any way to make a DESKTOP application with facebook? -``` - -A simple “yes” would have answered the question, but we know that’s not the sort of answer he or she is looking for. Fortunately, someone kindly responded with a link to Facebook’s developer website. The asker should have done more research on his or her potential project. Then further down the road, he or she could have asked more specific and detailed questions that wouldn’t require a thousand-paged response for a sufficient answer. - -## Conclusion - -When we rely on others’ generosity and expertise to provide answers to our questions, it should hold that the question we ask should be one that leads to efficient and effective help that not only benefits us, but also the people we ask and others who might ask the same question in the future. Thus, if you have a question… make it a smart one! Asking questions may not always get you the best answer, but asking them in a way that will make others want to answer them will increase the success of finding a good solution and make it a positive experience on all sides. \ No newline at end of file diff --git a/essays/2016-02-06.md b/essays/2016-02-06.md deleted file mode 100644 index 807ca1d5a60..00000000000 --- a/essays/2016-02-06.md +++ /dev/null @@ -1,51 +0,0 @@ ---- -layout: essay -type: essay -title: The difficult things will always be difficult -# All dates must be YYYY-MM-DD format! -date: 2016-02-06 -labels: - - Engineering ---- - -*Difficulty: a thing that is hard to accomplish, deal with, or understand.* - -One of my friends asked the question earlier last week -- why is it so hard to be an officer for the student branch? Why is so hard compared to working at my on-campus job? This question came after he struggled a little with bookkeeping for the student organization. - -Now I gave him the standard answer - being an officer of an organization requires that you manage your time between school and work. There isn't anyone telling you what to do. It's the answer any good mentor would give, and is mostly true. - -But the more I though about it, the more I wondered to myself...damn that's a really great question; it's one that deserves some more thought. Most people I think stop at the answer I gave previously - he obviously isn't managing his time properly. - -Here's what I think: the difficult things will always be difficult. - -## In the context of programming - -In the context of programming, this has always been true. The difficult problems have always been different, although changes in technology can change the landscape quite a bit. "Business" type applications are the things that come to mind for me. Those types of applications are usually coupled in some way with people ... and people are awfully hard to deal with! - -Consider that one of the most popular content management systems is also considered the most horrible - Wordpress. But really, is there anything that fills that need? If it was so easy in the first place, where is the solution? Where's the magic CMS that is designed well enough that everyone hops on the boat to use it? - -Some things are just difficult - building applications that humans use is hard, and will probably be hard for at least the near future. - -## In the context of engineering - -Ever hear people ragging on engineering companies for delivering late and way over budget? Well, some engineering jobs are really difficult, especially if the requirements and funding are undulating underneath you. Because of the nature of the problem, sometimes engineering firms require large amounts of engineers and workers, inviting further problems and delays. - -The Honolulu Rail project at home has become this sort of poster child of failure, budget overrun and overall incompetence in Hawaii. Well, working though regulatory boards and fiscal procedures in Hawaii seems like it's a mind bogglingly difficult job to do. Granted, there might be some fishy stuff going on, but I refuse to believe that everyone is involved for nefarious reasons. - -The problem of creating an unprecedented public transportation backbone on an island is difficult! I'm not sure we would have done it right, even if the best people were involved. - -## In the context of relationships - -So in the end, we realize that all engineering and programming is there for a reason - to serve human needs. Maybe that's why those things are difficult, because they both involve humans and are for humans. - -Relationships, regardless if they're romantic or not take work. Humans are fickle creatures and relationships can come and go with the wind. To properly maintain something over time requires work. Family takes work. Marriage takes work. We live to figure out what works and what doesn't and hope that as we move forward we're improving. - -Relationships have always been difficult, and by nature will continue to be so. - -## Okay! - -So back to the original premise; why is being one of the club officers so difficult? - -And the final answer - it's supposed to be difficult, and it's supposed to challenge you, just like everything else that humans do that is difficult: programming, engineering, engaging in relationships, pondering the universe, etc. - -Ultimately the question you should really ask yourself if something if particularly difficult is then "is it worth it"? That is something that is context specific and only you can answer yourself. \ No newline at end of file diff --git a/essays/asking-smart-questions.md b/essays/asking-smart-questions.md new file mode 100644 index 00000000000..da61853efb3 --- /dev/null +++ b/essays/asking-smart-questions.md @@ -0,0 +1,34 @@ +--- +layout: +type: +title: Is it smart... to ask smart questions? +date: 2021-09-09 +labels: + - Schooling Adventures + - Lifelong Learning +--- + +We've all heard the saying that "there's no such thing as a dumb question", and yes, in many aspects this saying is true, there are many times where a question is ineffective in helping the asker achieve their end goal of solving their question and sometimes even prolongs the whole process. This is where smart questions come into play, or a question that effectively describes the issue as well as some of the things you've done to solve it. These types of questions make people more willing to answer and help you solve your problem So while we shouldn't dissuade people from asking questions because asking questions is one of the best ways to learn, we should steer them to try and form smart questions to make everyone's lives easier. + +# Example of a Smart Question +[Here](https://stackoverflow.com/questions/37245679/ecmascript-template-literals-like-some-string-are-not-working) is an example of good question. In this example of a smart question, the user shows the following line of code and the following output: + +``` +categoryName="name"; +categoryElements="element"; +console.log(`categoryName: ${this.categoryName}\ncategoryElements: ${categoryElements} `) +``` +``` +VM626:1 categoryName: name +categoryElements: element +``` +The user explains that they are trying to use a template literal, but instead of displaying the value stored in the template literal it is displaying the literal code that is used to write a template literal. The question goes on to get answered with the very next post which explains to the OP(original poster) that a template literal requires the use of backticks instead of single or double quotes. + +# Example of an Ineffective Question +[Here](https://stackoverflow.com/questions/42384565/return-json-object-with-duplicate-keys-using-c-sharp) is an example of an ineffective question. This post doesn't really even pose a question, rather a statement that they've tried something, but it's not working and giving them the wrong output. In this case the OP was only focused one way of answering the question rather than thinking of other solutions, a commenter even goes on to say: +> You have a classic "XY" problem. You have asked "How do I do X", but you really need to do Y and you think that X is the only way to get to Y -- but X is either impossible or very hard. By changing your requirements a little, you can get to Y a different way, but you haven't seen that yet since you're stuck on X. + +and eventually answers OP's question using a much simpler method. + +In the first example the question was answered quickly because the OP provided the necessary information to provide context for their question. In the second example, although the OP posted their code context and got question answered, they were met with some hostility about their approach to the problem because they thought that their method was the only way to solve their problem. + diff --git a/essays/coding-a-new-standard.md b/essays/coding-a-new-standard.md new file mode 100644 index 00000000000..bf6d4c93f27 --- /dev/null +++ b/essays/coding-a-new-standard.md @@ -0,0 +1,21 @@ +--- +layout: +type: +title: Coding a New Standard +date: 2021-09-23 +labels: + - Schooling Adventures + - Lifelong Learning +--- + +Before this week I had no idea that coding standards even existed. Sure, I tried to make my code look nice to my eyes, like not putting all of the code on a single line or making sure my nice and evenly spaced, you know the basics or what I thought were the basics. Using ESLint, while frustrating to use at many many times, as I began to understand why programs like ESLint existed. + +## Transitioning to ESLint on IntelliJ + +Transitioning to IntelliJ made me question lots of things, one of which was why we were even being introduced to ESLint and IntelliJ? From my perspective, it felt like we were trying to fix something that really wasn't broken because JSFiddle was seemingly doing all that we needed it do and were now switching it out for something that takes as many steps to setup correctly. + +## Acceptance + +Acceptance. Acceptance is what it took to convince myself to stop getting frustrated at our new toy and begin giving it the respect it deserved. After finally figuring out how to correctly configure IntelliJ to run ESLint, I found that it wasn't all that bad. I began to see the uses not only of ESLint and IntelliJ, but also coding standards as a whole. I started to realize that coding standards were needed because they keep written code, well... standard. Having a coding standard means that whoever reads your code will know exactly where everything is supposed to be, it keeps it uniform and not like a picture I saw a couple days ago where the programmer made it so that all of their curly brackets and semi colons were all collected on the right side of the screen. + +In the end, while I didn't like at it first, I now recognize that having coding standards is very important for having uniformity in your code and that both ESLint and IntelliJ in unison are important in enforcing a coding standard. diff --git a/essays/design-patterns.md b/essays/design-patterns.md new file mode 100644 index 00000000000..c5d1d632ee6 --- /dev/null +++ b/essays/design-patterns.md @@ -0,0 +1,20 @@ +--- +layout: +type: +title: Design Patterns, It's Meta +date: 2021-12-02 +labels: + - Software Engineering +--- + +I am not going to lie, trying to figure out how to write this essay was quite difficult, but then I realized something... Design patterns and the process of using them are very much like the the metas, or the most effective strategies in video games. + +## Using Video Game Metas to Describe Design Patterns + +I know it sounds crazy, how could one possibly relate strategies in a video game to design patterns? In reality, it's not that difficult to do so; design patterns in their most basic form are general solutions to problems that commonly occur. Now if we take a look at a game like Overwatch, a 6v6 MOBA/FPS hybrid developed by Blizzard Entertainment, at its highest level there has been many different optimal strategies throughout the years as the game has changed, but for the most part they have all followed mold of either favoring high sustain (in regards to healing your team) or high burst (in regards to trying to end a team fight as fast as possible). Time and time again we have seen new changes or characters be added to the game, but in the end the meta always favors high sustain or high burst damage compositions. This in itself is a design pattern because while we may not know what specifically is the best, we do know based on history of the game, that the solution to the problem will favor one of these two styles. + +## The Meta of Programming + +Like Overwatch metas, there are many different design patterns in programming that you will generally look to help build your program and solve your problem. While they may not be exact solutions, in the end, they will guide you towards the solution. An example of this is the Stuffs Meteor template, at first glance it is a simple web app, but what it really is, is a template that can be used to create something bigger and better. It lays the ground work of a fundamnetally sound app and allows the user to add on to it. + + diff --git a/essays/engineered-interest.md b/essays/engineered-interest.md new file mode 100644 index 00000000000..40f8046516d --- /dev/null +++ b/essays/engineered-interest.md @@ -0,0 +1,22 @@ +--- +layout: essay +type: essay +title: An Engineered Interest in Computers, Software and Engineering +date: 2021-09-02 +labels: + - Software Engineering +--- + +Ever since I was a kid, my curiosity revolved around me asking the hows, whys, and whats of the world, I wanted to know how the world around us was constructed. Luckily, as a member of Gen Z, this information was readily available to me at the press of a button, more particularly the press of two buttons on my family's TV remote that brought me to channel 71, the Discovery Channel. + +## A discovery on from the Discovery Channel +It was on the Discovery Channel, that I... discovered that I like watching things get built and there were two distinct shows that did just that. + +Mythbusters starred Adam Savage, Jamie Hyneman, Grant Imahara (R.I.P.), Tory Belleci, and Kari Byron. On the show, they'd all come together to either prove or disprove myths which they would judge at the end of the episode using their own scoring system of Busted, Plausible, or Confirmed. They'd bring you through the of hypothesizing, prototyping, and testing, which then led to the grand finale where you got to see whether a myth was busted or even better yet if their janky contraption even worked. + +HowStuffWorks was another Discovery Channel classic, and it complemented Mythbusters very well. While Mythbusters was pretty chaotic and there was more homegrown engineering done on the show, HowStuffWorks showed the other side of the coin and brought you into the factories of major companies across all industries. There were episodes done with automotive companies, aviation companies, and even more niche things like a firearms company. Through the show, I was able to gain some perspective and appreciation for things that I really only got to see the final product of. + +## From Discovery Channel to YouTube to Computer and Software Engineering +My interest in how things worked continued on to YouTube where I discovered a channel called LinusTechTips when I first learned that you could build your own computer. Linus and his crew's enthusiasm for technology was contagious and made me even more interested in technology than I already was. I remember writing in my freshman letter to my older self that one of my goals was to build my own computer. I achieved this goal in my junior year of high school and at the beginning of my senior year of high school, I remember going to my college counselor and asking her how I could merge my love for computers and technology with my love for learning how things are created, and that's when she pointed me in the direction of computer engineering. + +At the time I loved the idea because pursuing a degree in computer engineering meant that I would be able to double-dip in learning how to engineer my own software and hardware that I could present to the world. Since then, almost four years later, although I've fallen and got back up only to fall again many, many times, I can confidently say that I made the right decision to go on this wild ride that is computer engineering at UH Manoa. diff --git a/essays/javascript-mental-workout.md b/essays/javascript-mental-workout.md new file mode 100644 index 00000000000..962cb83507e --- /dev/null +++ b/essays/javascript-mental-workout.md @@ -0,0 +1,19 @@ +--- +layout: essay +type: essay +title: JavaScript, a Mental Workout +date: 2021-09-01 +labels: + - JavaScript + - Schooling Adventures +--- + +About two months ago I started going to the gym regularly again. I had tried to work out before in the past, but for whatever reason the exercise would stop. Whether I was telling myself that I had no time for exercise, convincing myself that because I was tired today, I could always have a workout another day, or even a global pandemic coming along destroying my UH gym schedule, there was never any real consistency, so the results I would see, if any, would be very minor. Having been inspired by a friend who goes to the gym almost every day, I had decided to myself that I would start going to the gym again. Since COVID-19 had shut it down almost a year ago, the Warrior Recreational Center was open again and the safety precautions they were taking to combat COVID-19 seemed effective and convinced me that I wouldn't be putting myself at risk by going. In that time I also got my driver's license meaning that I was no longer restricted by bus schedules, in my eyes the stars had aligned. + +I told myself that this time would be different from all the other times that I tried establishing my own workout regime. I had one goal in mind, consistency. The first day back in the gym was pretty hellish, but I was in the gym and that's all that mattered to me. The adrenaline rushes and the almost barbaric satisfaction that I got from simply lifting a heavy object were something that I had missed about the gym and a feeling that I wanted to keep in my life. From there on out, I made it a goal to go to the gym at least once every week to establish consistency. Sometimes I'd go two times a week, sometimes it would be three, and maybe even four, but always the baseline of once a week. As the summer progressed, I was able to push myself harder than ever before, and I was seeing consistent improvement in my physical and mental health, which set me up to begin the school year with a bang. + +Now you may be asking yourself, "it's two paragraphs deep, and he hasn't talked about JavaScript once and has only talked about going to the gym" and you would be right, but the gym and JavaScript have much more in common than one would think at a first glance. Whenever you do something new, whether it be learning a new programming language, or going to the gym, consistency is key. This is something that I hope was apparent in the first two paragraphs of talking about the gym and is something that I want to make even more apparent now. In the past when learning other programming languages I honestly did the bare minimum, which was enough to pass (barely) through my classes, but fundamentally I was lacking and there were a lot of holes in my programming knowledge. During this first week, I have learned more through JavaScript than I had ever done through C and C++. Now, part of it was due to the existing programming knowledge that I established in C and C++, as well as JavaScript's inherent benefits in object-oriented programming, but the biggest part of it was due to the new word of the day, consistency. Doing all 111 basic courses plus the 31 ES6 courses in FreeCodeCamp, while tedious, aided in creating a consistent mental workout routine. This consistency is something that I have lacked in the past and is something I hope to carry on throughout the semester and the rest of my time here at UH Manoa. + +If there's anything that you should take away from this essay, is that consistency is key. This is something that can be applied in all aspects of your life. Having even just a little consistency in your life can go a long way, even if it comes from something small like going to the gym once a week. + + diff --git a/essays/not-bad-radgrad.md b/essays/not-bad-radgrad.md new file mode 100644 index 00000000000..dfd4905f201 --- /dev/null +++ b/essays/not-bad-radgrad.md @@ -0,0 +1,22 @@ +--- +layout: essay +type: essay +title: Not bad, RadGrad +date: 2021-09-30 +labels: + - Lifelong Learning + - Schooling Adventures +--- + +First things first, my initial intentions of joining RadGrad was to get extra credit for ICS 314, straight-up. I thought nothing of it other than it being an extra credit opportunity which led me completing all the other steps for extra credit(except for the survey part where filled it out after the due date) and writing this essay. And you know what? I think that's okay, sometimes in life you need a bit of incentive to push you to do something that can benefit you in the future. + +## Getting Started with RadGrad +Getting started with RadGrad was a rather painless process. After following the links on the [ICS](https://courses.ics.hawaii.edu/ics314f21/morea/radgrad/experience-radgrad-new-user.html) website, I landed at the RadGrad [homepage](https://radgrad2.ics.hawaii.edu/#/). I was suprised to find out that RadGrad was integrated with our actual UH accounts, so we could log in using our UH credentials to gain access to the website instead going through a whole other process of filling personal information and signing up for the website. This was great for me as it reduced the amount of time I needed in my quest for extra credit. + +As I began to follow the RadGrad [tutorial](https://www.radgrad.org/docs/users/new-student/overview), I started realizing that there was more to this website than just extra credit. Because of its integration with the UH system, RadGrad is able to take all the classes we've taken and lay it out much like how STAR would do it. It really is like another version of STAR that's catered to the students in ICS and Computer Engineering departments. Like STAR, we are able to add classes to our student plans and generally plan the future of our "careers". The reason I say career, is because not only are we able to add future classes, we're also able to add future jobs or opportunities to our plan as a goal for us to go for. + +## The Future of RadGrad +The way that RadGrad is set up leads me to believe that it is eventually supposed to be a place where graduates from ICS and Computer Engineering can all come together and collaborate with each other. With RadGrad you can find other students who have similar interests and maybe one day in the future it may lead to something. + +And that's the thing about RadGrad, while it may not seem too useful now, in the future I can see it being a very useful tool for graduates who do want to collaborate with fellow alumni. + diff --git a/essays/semantic-frameworks.md b/essays/semantic-frameworks.md new file mode 100644 index 00000000000..f4f6a7e6051 --- /dev/null +++ b/essays/semantic-frameworks.md @@ -0,0 +1,24 @@ +--- +layout: essay +type: essay +title: Semantically Framing my Works +date: 2021-10-07 +labels: +- Lifelong Learning +- Schooling Adventures +- HTML/CSS +--- + +Prior to two weeks ago I had no experience with HTML/CSS and didn't even know that something like Semantic UI existed. I just thought that it was all jumbled up website code that average person will never see... and it is, which is exactly why I've enjoyed it so much. + +## Fulfilling the Instant Gratification Monkey +As someone who has played the clarinet since the 7th grade (which was in 2012, wow time flies) and sung pretty much my entire life, I've always looked at music as an out, a way to express myself and get the creative juices in my brain flowing. There's something about getting instant gratification from trying to sing or play a note or song that I've heard that just does it for me. There's no waiting for result, it's just instant and if you mess up you can go right back and keep on trying until you do get a result that you want. + +This feeling of instant gratification is exactly why I've been so enthralled with HTML, CSS, and Semantic UI. In a non-HTML/CSS programming world you have to wait till you finish writing a function or program until you can see any real results and even then you never get to see the end result until it is completely finished. And this is assuming that you've written code that can even run, as a majority of the time, the first compile of a newly written program tends reveal a laundry list of errors. In HTML, as soon as you start typing things in the you can load the Google Chrome page that IntelliJ generates and instantly see the results of your work, even if it is something as simple as typing: ["hi"](https://imgur.com/AQz98tu). And the best part is that your code doesn't even need to be fully correct for something to be shown on the webpage(ex. spelling the width portion for the image class as 'witdh' still displays the desired image, just not at the desired width). + +## Creative Expression Through Programming +As a programmer, there aren't many times when you can really express yourself creatively. I mean sure, you can always solve a problem differently than your peers or write interesting comments or function names, but in the end there is usually an optimized solution for the program that you write. As I've learned over the past two weeks, this is where a programmer who wants to express themselves creatively can turn to HTML. HTML and CSS give you the ability to create a website exactly how you want it and the addition of a UI Framework such as Semantic UI gives you even more options so that you can have even more control. It is truly a control freak's paradise and something that I wish I knew about when I was creating my Weebly website for my 8th National History Day project. + +For the My Choice assignment where we were tasked with recreating a website of our choice I found myself deep in the rabbit hole of HTML and Semantic UI documentation for a few hours to create a working replica of the [lttstore.com](https://www.lttstore.com) homepage. In doing that my eyes were opened to the true power of HTML and Semantic UI, and it made me want to recreate the entire website and continue working on an assignment that I had already finished and turned in, I can't remember the last time I've wanted to do that for a school assignment. + +Learning HTML has been a fun learning experience for me, and I can't wait to see what comes next with React. I'm also slightly infuriated that I can't look at a website without thinking about how I could recreate it with HTML and Semantic UI. \ No newline at end of file diff --git a/essays/thank-you-ics.md b/essays/thank-you-ics.md new file mode 100644 index 00000000000..0045304c935 --- /dev/null +++ b/essays/thank-you-ics.md @@ -0,0 +1,22 @@ +--- +layout: essay +type: essay +title: Thank You ICS +date: 2021-12-16 +labels: + - Software Engineering + - Life-long learning +--- + +My time in ICS has been an unforgettable experience. As a senior in Computer Engineering, I was absolutely blind-sided by enjoyment that I had seldomly experienced in my previous CENG courses. ICS 314 welcomed me into the ICS community with open arms and managed to breathe new life into my education, unlocking a passion for software engineering that I never knew I had. + +## Loss of Direction +To say that the past three and half semesters of online learning has been difficult would be an understatement. It hasn't even been a full two years since UH Manoa's switch to the virtual realm, but it has felt like I have aged five since we were last in a physical classrooom. Throughout a majority of the pandemic and even now, I've felt lost. School was there just for me to complete my degree, I wasn't really learning anything... online learning had me mentally checked out. But it was too late to quit, I was too far into my degree to just throw it all away, so I forged on. I had no goal in mind other than just completeling my degree, but the abyss that is post-college life scared me. + +## Enter ICS 314 +As I continued my trek, it was on to this semester. I entered ICS 314 not knowing what to expect, and immediately I am greeted by this old dude with a cool beard. That old dude, Dr. Phillip Johnson became someone that I respected more and more as the semester went on. From the first day I could tell that he had a passion for not only teaching and software engineering, but also learning new things. This was made apparent by the way ICS 314 was run, it shifted from the traditional exam heavy format of a college course in favor of daily low-risk assignments/quizzes that challeneged you to learn the material and not just save an answer key to your brain. + +As the semester progressed I became more and more fond of software engineering, from learning JavaScript to HTML and CSS to the React framework to the culmination of it all in Metoer. This was the first time in a while that everything in a class just "clicked", and I realized that it was because I found my passion. I was able to use what I learned to write code to that would solve actual real-world problems and not just arbitrary problems from a textbook. Beyond programming, I learned about project management techniques such as issue driven management where you break everything that needs to be done into separate parts or issues and merge the ideas later down the line. This all showed me the reach that I could potentially have as a software engineer, I just need to go out and get it. + +## 'Til Next Time +Overall, ICS 314 has shown me a life beyond the classroom and a passion that I never knew I had. I will forever cherish what I've learned here and hope to put it to good use in whatever internship/job is (hopefully) next for me. To the ICS community, y'all are pretty great, thank you for welcoming me with open arms, I've really enjoyed my time here and I'll see you next time for ICS 414. diff --git a/essays/the-sequel.md b/essays/the-sequel.md new file mode 100644 index 00000000000..eadbf821871 --- /dev/null +++ b/essays/the-sequel.md @@ -0,0 +1,17 @@ +--- +layout: essay +type: essay +title: The Sequel +date: 2021-12-16 +labels: + - Software Engineering + - Life-long learning +--- + +ICS 414 was a nice sequel to ICS 314. After learning all the basic fundamentals of web-development in ICS 314, I was hoping to apply the knowledge to a real world scenario shortly following completion of the class. And that's pretty much what ICS 414 was. + +From the beginning it was very clear that we were not going to be getting our hand-held throughout the process of this class; during our first week of class we were informed that we would be working together with an organization called VolunteerAlly to basically re-do their website from the ground up. Thrown in to the fire off the bat, was not what I was expecting on the first day, but it was a challenge that I welcomed and was happy to be a part of. + +To take on this project, we were divided up into four different, my group decided that we would be called Aloha Time. Throughout the semester we as Aloha Time were able to learn about the many different challenges and obstacles of the web development and project management cycles. Although juggling it all with school was a struggle in its own, development cycle is a process is something that I genuinely enjoy and I could see myself doing it as a career. + +Overall I had a good time in ICS 414 and will be forever thankful for the experience I gained in this course. diff --git a/images/IMG_20210902_220850.jpg b/images/IMG_20210902_220850.jpg new file mode 100644 index 00000000000..19ac7b28b60 Binary files /dev/null and b/images/IMG_20210902_220850.jpg differ diff --git a/images/OWL.jpg b/images/OWL.jpg new file mode 100644 index 00000000000..912b7129f58 Binary files /dev/null and b/images/OWL.jpg differ diff --git a/images/OWL_ProjectAloha_wallpaper.png b/images/OWL_ProjectAloha_wallpaper.png new file mode 100644 index 00000000000..c810eecb561 Binary files /dev/null and b/images/OWL_ProjectAloha_wallpaper.png differ diff --git a/images/UHE_logo_v4.png b/images/UHE_logo_v4.png new file mode 100644 index 00000000000..b02d0b1cefb Binary files /dev/null and b/images/UHE_logo_v4.png differ diff --git a/images/White_square_with_question_mark.png b/images/White_square_with_question_mark.png new file mode 100644 index 00000000000..7252dd2f9b7 Binary files /dev/null and b/images/White_square_with_question_mark.png differ diff --git a/images/ads b/images/ads new file mode 100644 index 00000000000..8b137891791 --- /dev/null +++ b/images/ads @@ -0,0 +1 @@ + diff --git a/images/cotton-header.png b/images/cotton-header.png deleted file mode 100644 index 763332c3d9b..00000000000 Binary files a/images/cotton-header.png and /dev/null differ diff --git a/images/cotton-square.png b/images/cotton-square.png deleted file mode 100644 index 272de47f1b0..00000000000 Binary files a/images/cotton-square.png and /dev/null differ diff --git a/images/cplusplus.png b/images/cplusplus.png new file mode 100644 index 00000000000..88f8e30f433 Binary files /dev/null and b/images/cplusplus.png differ diff --git a/images/degree_difficulty.jpg b/images/degree_difficulty.jpg deleted file mode 100644 index ab4a7cbc2f8..00000000000 Binary files a/images/degree_difficulty.jpg and /dev/null differ diff --git a/images/design-technology.jpg b/images/design-technology.jpg deleted file mode 100644 index 63fd1e4fcfb..00000000000 Binary files a/images/design-technology.jpg and /dev/null differ diff --git a/images/me.jpg b/images/me.jpg new file mode 100644 index 00000000000..03794b159a8 Binary files /dev/null and b/images/me.jpg differ diff --git a/images/micromouse-circuit.png b/images/micromouse-circuit.png deleted file mode 100644 index cad02515857..00000000000 Binary files a/images/micromouse-circuit.png and /dev/null differ diff --git a/images/micromouse-robot-2.jpg b/images/micromouse-robot-2.jpg deleted file mode 100644 index e46444d2a3e..00000000000 Binary files a/images/micromouse-robot-2.jpg and /dev/null differ diff --git a/images/micromouse-robot.png b/images/micromouse-robot.png deleted file mode 100644 index b709af4583c..00000000000 Binary files a/images/micromouse-robot.png and /dev/null differ diff --git a/images/micromouse.jpg b/images/micromouse.jpg deleted file mode 100644 index c5a777323b2..00000000000 Binary files a/images/micromouse.jpg and /dev/null differ diff --git a/images/molly.png b/images/molly.png deleted file mode 100644 index 48df3244164..00000000000 Binary files a/images/molly.png and /dev/null differ diff --git a/images/paintbrush.png b/images/paintbrush.png deleted file mode 100644 index 18dd7e7a0fb..00000000000 Binary files a/images/paintbrush.png and /dev/null differ diff --git a/images/paintbrushes.jpg b/images/paintbrushes.jpg deleted file mode 100644 index 75e2485654c..00000000000 Binary files a/images/paintbrushes.jpg and /dev/null differ diff --git a/images/roomniverse-editprofile.png b/images/roomniverse-editprofile.png new file mode 100644 index 00000000000..9973650fdb7 Binary files /dev/null and b/images/roomniverse-editprofile.png differ diff --git a/images/roomniverse-landing.png b/images/roomniverse-landing.png new file mode 100644 index 00000000000..0be44f51499 Binary files /dev/null and b/images/roomniverse-landing.png differ diff --git a/images/roomniverse-logo.png b/images/roomniverse-logo.png new file mode 100644 index 00000000000..9e50b7ac847 Binary files /dev/null and b/images/roomniverse-logo.png differ diff --git a/images/roomniverse-userprofile.png b/images/roomniverse-userprofile.png new file mode 100644 index 00000000000..df057331977 Binary files /dev/null and b/images/roomniverse-userprofile.png differ diff --git a/images/rtfm.png b/images/rtfm.png deleted file mode 100644 index a4ae484c6a2..00000000000 Binary files a/images/rtfm.png and /dev/null differ diff --git a/images/software-code.jpg b/images/software-code.jpg deleted file mode 100644 index 902d55977ad..00000000000 Binary files a/images/software-code.jpg and /dev/null differ diff --git a/images/vacay-home-page.png b/images/vacay-home-page.png deleted file mode 100644 index fd585a257c2..00000000000 Binary files a/images/vacay-home-page.png and /dev/null differ diff --git a/images/vacay-square.png b/images/vacay-square.png deleted file mode 100644 index 54e2496b95a..00000000000 Binary files a/images/vacay-square.png and /dev/null differ diff --git a/projects/project-1.md b/projects/project-1.md deleted file mode 100644 index 9131e53aa5f..00000000000 --- a/projects/project-1.md +++ /dev/null @@ -1,44 +0,0 @@ ---- -layout: project -type: project -image: images/micromouse.jpg -title: Micromouse -permalink: projects/micromouse -# All dates must be YYYY-MM-DD format! -date: 2015-07-01 -labels: - - Robotics - - Arduino - - C++ -summary: My team developed a robotic mouse that won first place in the 2015 UH Micromouse competition. ---- - -
- - - - -
- -Micromouse is an event where small robot “mice” solve a 16 x 16 maze. Events are held worldwide. The maze is made up of a 16 by 16 gird of cells, each 180 mm square with walls 50 mm high. The mice are completely autonomous robots that must find their way from a predetermined starting position to the central area of the maze unaided. The mouse will need to keep track of where it is, discover walls as it explores, map out the maze and detect when it has reached the center. having reached the center, the mouse will typically perform additional searches of the maze until it has found the most optimal route from the start to the center. Once the most optimal route has been determined, the mouse will run that route in the shortest possible time. - -For this project, I was the lead programmer who was responsible for programming the various capabilities of the mouse. I started by programming the basics, such as sensor polling and motor actuation using interrupts. From there, I then programmed the basic PD controls for the motors of the mouse. The PD control the drive so that the mouse would stay centered while traversing the maze and keep the mouse driving straight. I also programmed basic algorithms used to solve the maze such as a right wall hugger and a left wall hugger algorithm. From there I worked on a flood-fill algorithm to help the mouse track where it is in the maze, and to map the route it takes. We finished with the fastest mouse who finished the maze within our college. - -Here is some code that illustrates how we read values from the line sensors: - -```js -byte ADCRead(byte ch) -{ - word value; - ADC1SC1 = ch; - while (ADC1SC1_COCO != 1) - { // wait until ADC conversion is completed - } - return ADC1RL; // lower 8-bit value out of 10-bit data from the ADC -} -``` - -You can learn more at the [UH Micromouse Website](http://www-ee.eng.hawaii.edu/~mmouse/about.html). - - - diff --git a/projects/project-2.md b/projects/project-2.md deleted file mode 100644 index 95327a7152f..00000000000 --- a/projects/project-2.md +++ /dev/null @@ -1,25 +0,0 @@ ---- -layout: project -type: project -image: images/vacay-square.png -title: Vacay -permalink: projects/vacay -# All dates must be YYYY-MM-DD format! -date: 2015-12-15 -labels: - - Javascript - - Meteor - - MongoDB - - GitHub -summary: A responsive web application for travel planning that my team developed in ICS 415. ---- - - - -Vacay is a web application that I helped create as a team project in ICS 415, Spring 2015. The project helped me learn how to design and implement a responsive web site. - -Vacay is implemented using [Meteor](http://meteor.com), a JavaScript application platform. Within two weeks, we created a website that implements several types of reservations including flights, hotels, and car rentals. - -In this project I gained experience with full-stack web application design and associated technologies, including [MongoDB](http://mongodb.com) for database storage, the [Twitter Bootstrap](http://getbootstrap.com/) CSS Framework for the user interface, and Javascript for both client and server-side programming. - -Source: theVacay/vacay \ No newline at end of file diff --git a/projects/project-3.md b/projects/project-3.md deleted file mode 100644 index d05cd307f56..00000000000 --- a/projects/project-3.md +++ /dev/null @@ -1,61 +0,0 @@ ---- -layout: project -type: project -image: images/cotton-square.png -title: Cotton -permalink: projects/cotton -# All dates must be YYYY-MM-DD format! -date: 2014-04-12 -labels: - - Lisp - - GitHub -summary: A text adventure game I developed for ICS 313. ---- - - - -Cotton is a horror-esque text-based adventure game I developed using the functions and macros built from The Wizard's Game in [Conrad Barski's Land of Lisp](http://landoflisp.com/). Slightly more interesting and convoluted! (It is not that scary.) - -To give you a flavor of the game, here is an excerpt from one run: - -
- -
-You open your eyes, and you are greeted by an unfamiliar ceiling.
-Startled, you get to your feet and quickly scan your surroundings. It's
-dark except for the stream of light coming from a crack on the only boarded
-window in the room. You try to peek through the crack, but you cannot see
-anything. You wonder where you are and who could have possibly brought you here.
-
-<--------------------help------------------------>
-Enter quit or one of the following commands -
-Weld light look walk pickup inventory help h ?
-<------------------------------------------------>
-
-look
-The room is a picture of decay with only a faded number identifying it as room-4. The bed you were
- lying on is stained with what looks like dried blood. Could it be your blood? No - it is not. The
- only way out of the room aside from the door to the corridor is a window that is boarded shut. It
- looks like it has been like that for decades. There is a door going west from here. You see a candle
- on the floor. You see a match on the floor.
-
-pickup candle
-- you are now carrying the candle -
-
-pickup match
-- you are now carrying the match -
-
-light match candle
-
-The candle is now lit. It illuminates everything in the room.
-
-walk west
-The corridor is lit with the candle. It is so long that you cannot see to the end. You notice that
- there are words written on the wall. There is a door going east from here. There is a way going north
- from here. There is a door going south from here.
-
- -
- -Source: jogarces/ics-313-text-game - diff --git a/projects/project-aloha.md b/projects/project-aloha.md new file mode 100644 index 00000000000..cfccf43dd16 --- /dev/null +++ b/projects/project-aloha.md @@ -0,0 +1,21 @@ +--- +layout: project +type: project +image: images/OWL.jpg +title: Project Aloha +permalink: projects/project-aloha +# All dates must be YYYY-MM-DD format! +date: 2021-05-04 +labels: +- Overwatch League +summary: I assisted in hosting the Overwatch League at the University of Hawaii. +--- + +The Overwatch League is a global esports league with teams and players from all around the world and going in to their 2020 season they had a plan to have the teams compete all across the world in each other's cities, think the NBA or the NFL, but on a global level with 20 teams spread throughout Asia, Europe, and North America. This was their plan until COVID-19 sent the world into a global pandemic which put the whole world on lockdown. But this is esports, so the show continued online, but since it was online the teams in Europe had to relocate to North America and the teams that were in Asia could only compete against each other due to the latency issues that would happen if they tried to play against teams. + +Going into the 2021 season, the Overwatch League had to come up with a plan to go on with fair global competition during these COVID-19 times, and their solution to that Hawaii, the University of Hawaii to specific. Because of a series of underwater routing cables, you are able to connect to the servers in Japan from the university with a latency of just 90 ms! This number of 90 ms was enough for the Overwatch League and the University of Hawaii to form a partnership to host teams from North America to play against teams in Asia. + +Through an internship with Overwatch League and the University of Hawaii Esports program, I have been able to get a hands-on experience with the inner workings of the Overwatch League as well as getting to learn from of the industry's top professionals in both casual and professional settings. + +Learn more [here](https://overwatchleague.com/en-us/videos/yyy_2l6aOirhdQI) about Overwatch League and University of Hawaii's partnership that made this whole thing possible! + diff --git a/projects/roomniverse.md b/projects/roomniverse.md new file mode 100644 index 00000000000..2fd7e5b637b --- /dev/null +++ b/projects/roomniverse.md @@ -0,0 +1,36 @@ +--- +layout: project +type: project +image: images/roomniverse-logo.png +title: Roomniverse +permalink: projects/roomniverse +# All dates must be YYYY-MM-DD format! +date: 2021-12-15 +labels: +- Meteor +- React +- MongoDB +- Object-Oriented Programming +summary: As a final project for ICS 314, our created a web application called Roomniverse, a social network for UH students to meet new people and find roommates. +--- + + + +## Overview +Roomniverse is a web application that was developed as a final project for ICS 314 in the Fall 2021 semester. It serves as a social network for UH students to meet new people and find roommates. When signing up for Roomniverse, you are able to set your name, gender, major, and graduation year, all of which can be edited later on. By signing up for Roomniverse you gain access to the main message board called the "Hub" where you can speak your mind and update your status, the "Find Roommate" where you can find roommates and sort them by major, gender, and graduating class as well as add your own personal roommate request. + +## My Contribution to Roomniverse +Roomniverse was a team project made by [Tracy Bui](https://jubinc0911.github.io/), [Ju-bin Choi](https://jubinc0911.github.io/), [Eric Song](https://eric-song1773.github.io/), [Scott Vore](https://syhv-git.github.io/), and me, [Jonathan Valencia](https://jon-valencia.github.io). I mainly handled the creating the user collections as well as creating the profile card templates each of the users. This used a mixture of MongoDB, Semantic UI React, and Meteor. The user collection stores all user information in objects that can be edited by the user later on and the profile card simply displays the user information objects for each user. + + + + + +In addition to this, I also handled our project's deployment to the internet through the use of Digital Ocean and Robo 3T. + +## Takeaways From Roomniverse +As someone who almost always favored solo projects as opposed to group projects, this was a group project that I thoroughly enjoyed and learned a lot from. Using Git/GitHub we were able to assign "issues" to each person in the group and create our own separate branches so that we didn't interfere with each other's work (that is until we ran into our first major merge conflict situation). Proper usage of Git/GitHub made me appreciate group projects and showed me what could be accomplished in such a short time through efficient project management. + +If you want to learn more about Roomniverse you can check out the [Roomniverse project page](https://roomniverse.github.io/) and the official [Roomniverse web app](https://roomniverse.xyz). + +Roomniverse's source code is available at: [https://github.com/roomniverse/roomniverse-webapp](https://github.com/roomniverse/roomniverse-webapp) diff --git a/projects/starship-meltdown.md b/projects/starship-meltdown.md new file mode 100644 index 00000000000..dbe2d95293d --- /dev/null +++ b/projects/starship-meltdown.md @@ -0,0 +1,19 @@ +--- +layout: project +type: project +image: images/cplusplus.png +title: Starship Meltdown +permalink: projects/starship-meltdown +# All dates must be YYYY-MM-DD format! +date: 2020-05-08 +labels: +- C++ +- Object-Oriented Programming +summary: As a final project for EE 205, my group created a game called Starship Meltdown. +--- + +In the spring of 2020, after going into lockdown due COVID-19, Starship Meltdown was created. Starship Meltdown was a game created by me and my partners Joseph Roberts and Jason Enojardo; it's written in the C++ programming language, using the SFML library and was the culmination of our first time experimenting with object-oriented programming. The game itself is quite simple, it's a 2d game where the user controls a spaceship or "Starship" and tries to dodge or shoot asteroids of many sizes that approach the ship at many speeds. For every asteroid you destroy, points are added to you score and if you get hit by an asteroid you lose health and if you lose enough health, you lose one out of your three lives. Once you hit a certain a score, a boss is summoned that fire moves from left to right at the top of the screen and fires a big beam that can damage you; at that point the goal is to defeat the boss before it kills you. + +Although the game was simple, there were just so many aspects to that game that I didn't even think of until we were testing it, and we realized that there were things that were happening that weren't supposed to be happening. Things like resetting the position and speeds of the asteroids after one "wave" of asteroids pass or resetting the position of the ship after losing a life or my personal favorite, making sure the asteroid resets instantly after hitting you instead of "hitting" you 15 million times because you forgot to do collision detection for the asteroid. But besides all that this was a fun project to work on, and I hope I can do more in the future. + +Link to the repository: https://github.com/jon-valencia/starship-meltdown diff --git a/projects/uhesports.md b/projects/uhesports.md new file mode 100644 index 00000000000..87a000d3a7f --- /dev/null +++ b/projects/uhesports.md @@ -0,0 +1,16 @@ +--- +layout: +type: +image: images/UHE_logo_v4.png +title: UH Esports +permalink: projects/uhesports +# All dates must be YYYY-MM-DD format! +date: 2019-02-05 +labels: +- Esports +summary: At the beginning of the Spring 2019 semester I joined UH Esports. +--- + +Competitive gaming or esports is a global phenomenon that has taken the world by storm in the last decade or so. For years people have gathered in the thousands (before COVID) to experience the excitement that is esports. My story in esports started in the game Call of Duty, I followed a team called OpTic Gaming, a fan favorite in the scene. What got me hooked was hearing the crowd roar whenever a big play was made or just hearing them chant their name, "LET'S GO OPTIC" *clap clap clapclapclap*. + +What got me in to UH Esports was a game called Overwatch. It was the beginning of the Spring 2019 semester and they were hosting their inaugural tryouts for their Overwatch team and while I'm not the best I felt like I could hold my own so my friend and I went to the tryouts and ended up making it on the team. My time on the Overwatch team has led me to meet many people that I can call my friends and has opened doors to opportunities that I never thought I would ever have in my life, but here we are over two and half years later.