“Kindred Spirits”

This is another important chapter in software development, chapter four “Accurate Self-Assessment”, they are talking about how we assessment ourselves. “The talented and hard-working apprentice must not become self-satisfied with his success.” We know there is never ending road of learning in this business. We must fight mentality by seeking out and learning about other teams, organizations, journeymen, and master craftsmen. We always to leave room to recognize ourselves if we are going easy way and room to improve.

Again, when we are walking on “The Long Road”, you find yourself stranded without mentors and in an atmosphere that seems at odds with your aspirations. The road is not mean to walk alone, we need camaraderie. It is can be difficult for some people, including myself. The people we meet along the way could make huge impact on us. There are always someone who on the same road, or ahead of us, someone we have career connection with. We can feel free to show each other what you’re learning and have no obligation to follow the other’s lead. We also should be someone who benefit to our community. This is how our industry get to next level with welcome open arms.

The pattern “Kindred Spirits” also suggest that trying to join all the communities you could join based on what you are interesting. Also join new group with fresh open mind. Inside your group, feel free open discussion and become “regular”. I do like this suggestion; I think this is one of the best way to meet new people and learn naturally. This is what I will try to do more, not just get out of comfort zone but surround myself with people with same interest. Be kind to one another is the best way to be a community.

From the blog CS@Worcester – Nhat's Blog by Nhat Truong Le and used with permission of the author. All other rights reserved by the author.

Sprint-1 Retrospective Blog Post

This semester for my Software Development Capstone course we are working on a AMPATH project working on a point of system by Ampaths Clinic. For this semester I will be working on this with a team. This blog is actually Sprint-1 Retrospective blog post. As part of our assignment we are assigned to complete a Sprint Retrospective blog post at the end of each sprint. As of Today, February 20th, 2019, we have completed Sprint-1. This first sprint was a pretty good sprint where we got a lot of work we needed to do done. However,  there were a few bumps on the road where we didn’t get to do everything we intended to get done during this first sprint cycle. For sprint-1 we had a total of 8 task we were hoping to get done. These task were:

  1. Come up with a name for our team.
  2. Set-up a sprint-kanban board to keep track of our “Product Backlog”, “Sprint Backlog(stories)”, “Sprint Backlog(task)”, “Doing” and “Done”.
  3. Set-up our development environment by installing insomnia, gradle, and a typescript IDE.
  4. Create an organization for our team on github
  5. Fork ng2-amrs and etl-rest-server repository to our organization and then clone the ng2-amrs and etl-rest-server repository from our organization into our computers.
  6. We had to read the readme.md section for instructions.
  7. build and run ng2-amrs.
  8. Learn about testing in Angular to be able to write tests for our new code.

From the list above I was able to complete all the task except for the last 2. When it came down to trying to build and running ng2-amrs I ran right into a wall. Trying to build or run it feels nearly impossible. I have been trying to do everything possible, and just when I feel I got it going I have more errors appear. Trying to get this going is pretty important since, the purpose of doing this is to make sure the system is running correctly and have it ready for you to modify and update it with your code. For the next sprint I am hoping I am able to build/run the system.

From this sprint and activities I have learned that if I am stuck on something to make sure that I do not wait until last minute to ask for help. I have also learned that if your stuck on something try working on the next task and come back to it when your done with that new task. With that in mind going forward I will make sure that I ask for help after struggling for 3-4 days or less. Going forward I will also make sure that if I am stuck. I will take a break from that, move on to the next task, and return the old task after completing the new task. That way I am not wasting too much time on something I am stuck on for too long. Come to think about it these are actually good idea that can be applied in other situations.

For this sprint I did not find any useful information or help. I did manage to go on the slack channel where my team mate kat was successful  and she gave me a few good suggestions I will work on the next sprint to try and get the system build/running. I am certain that for the next sprint I will have better luck!

Thank you for your time. This has been YessyMer in the World Of Computer Science, until next time.

From the blog cs@Worcester – YessyMer In the world of Computer Science by yesmercedes and used with permission of the author. All other rights reserved by the author.

Sprint Review #1

For this first sprint we all communicated well when were in person, speaking what was wrong and then some. Everyone is vocal on and offline, except for me who sort of just lurks on slack due to my own procrastination which I will be fixing for my next sprint. Not much was really done with sprint as it was more of a trial and error-based sprint with trying to get our projects to start. First it was a server issue then it became an issue with the ng2 commands. I am still experiencing issues with my setup of the ng2 while everyone else has completed initial set up. At first, I was having an angular issue which a few people outside my group was having than it was a ncss-sass issue which is yet to be resolved at the time of writing this. My laptop is not the best and is all around a pain to use due to this I plan on getting a new laptop soon if not this week. In the meantime, I will try and resolve my issues on my desktop on home so any progress is not wasted on my old “laptop”. As I said above everyone started the day we were assigned are groups in class trying to get everything situated. From here the error we were all facing involved the etl server not working. After a week of plug and chugging along I believe Gulshan was the first one to complete the initial set up after he was faced with a windows x64 error. From here James and Harry fixed their errors with Kyle being next up. After I wrestled with an angular issue, laptop issue and such I am a step closer to completing the initial ng2 setup. As I am writing this I am trying to reinstall my node.js dependencies for the third time. After some research online for the node-sass error I was receiving there should be a gulp-sass line in the package. Son along with the other json files, in my case there was not. After trying some more commands in the prompt a python dependency error began to prompt. So I redownloaded chocolatey to get python through the PowerShell window but to no avail. Hopefully this will be fixed when my new laptop comes, or a new solution comes up. All in all from this sprint I learned that I need to get better to manage my time much better and not wait until the last minute. So from the future I will strive to be better at communicating and trying my hardest.

From the blog CS@Worcester – Matt's Blog by mattyd99 and used with permission of the author. All other rights reserved by the author.

Sprint Review I

As we started the capstone class, we got the teams set up and started to prepare ourselves to participate in the project. Each team got assigned to one of the two projects, and I and my team are going to work in the AmPath EMR project. The professor, who is going to play the Product … Continue reading Sprint Review I →

From the blog cs-wsu – Kristi Pina's Blog by kpina23 and used with permission of the author. All other rights reserved by the author.

Sprint Retrospective – Sprint 1

Well a not so wonderful start to my Ampath adventure and I think that is putting it lightly. My first experience was filled with errors, problems, and set backs. However what was important in this time of stress was to remain calm and not let me mental dwindle. I was consistently frustrated first trying to… Continue Reading →

From the blog CS@Worcester – Computing Finn by computingfinn and used with permission of the author. All other rights reserved by the author.

Sprint Retrospective – Round One

            A reflection on what I learned form this week’s activities is that everything is easier said then done. We are given a sprint board and should strive to meet the objectives by the end of the sprint. However, it is not surprising there is issues to be accounted for during the first sprint. As expected, the amount of communication outside of class is lacking than when we are interacting with one another during class. In regard to this, the solution is to make sure that everyone is fully aware that our only source of communication, Slack, is important to check every day. As it also affects our course grade due to our attendance with the sprint standups. This is solution is also applicable to any problems regarding communication in the future as it’s simple to address but execution requires effort.

At the start of the sprint, our
backlog started with two items to complete. The first item is summarized to
speaking with other university professors about what information is valuable.
The steps taken to ensure we have contact with the other professor was to join
the appropriate slack channel. In this case, I joined the LibreFoodPantry slack
channel with my respective group members and under the “food-saver” channel.
Our group got information indirectly from another team’s question regarding the
REST API addressed to the other university’s professor. In response, we learned
that they would like to know how long an item can be eaten opposed to its
actual expiration date, and possibly a way of filtering by food categories.
This is the first step but there is a roadblock, even if we know what is needed
from the client, if we don’t have a place to begin then it seems pointless to
know what they need.

            The road
block is what leads to our second item in the sprint backlog, which is to
develop the REST API interface to manipulate a JSON file. From the Department
of Agriculture’s Food Safety and Inspection Service, we are provided a public
JSON file to work with.

The first step is to figure out
where to start, and my approach was to tackle a small issue that was mentioned
beforehand, which is a place to store, and pull the JSON file from. In which, I
spent about an hour looking up information about DigitalOcean and there was a
way of getting 12 months of access to DigitalOcean for free from GitHubs
Student Developer Pack. However, I put this information on the back of my mind
since another member was looking into Heraku.

In response, I chose to get started
on researching about REST API. The first site visited is restfulapi.net which
introduced the concepts of REST. Next, since the group unanimously decided to
work with JAVA as the preferred language, I decided to revisit my favorite java
IDE, IntelliJ IDEA. On the JetBrains site, it provided a tutorial to REST API
web services which I read and got introduced to the JAX RS library. Lastly,
after completing that tutorial, I learned that it was not the place to begin
this journey and found the “Building a RESTful Web Service” with spring
tutorial. In conclusion, I’m still working on the spring tutorial and that is
where this sprint ended for me.

What I produced this sprint:

https://gitlab.com/irresoluteduck/spring-boot-tutorial-example

References:

https://catalog.data.gov/dataset/fsis-foodkeeper-data

https://www.digitalocean.com/

https://education.github.com/pack

https://restfulapi.net/

https://www.jetbrains.com/help/idea/restful-webservices.html

https://jersey.github.io/

https://spring.io/guides/gs/rest-service/

From the blog CS@Worcester – Progression through Computer Science and Beyond… by Johnny To and used with permission of the author. All other rights reserved by the author.

Sprint 1 Retrospective

My software development class is structured to feel more like a real work environment. In this way, we practice completing tasks on schedule in a “sprint” format. This means each student is assigned a development group and communication is emphasized heavily. We began the semester by signing up and downloading the required tools.

We made sure everybody joined the same slack channel, so we could share information and update each other as we continue the project. On this slack channel, we are required to periodically enter what we have done, what we are doing, and any roadblocks we encounter in order to keep the rest of the team informed on our progress. Various slack channels are also set up so that we can ask questions to other groups who may have similar obstacles. Interestingly, we found that collaborating through the other channels was the most effective way to solve our recent issues.

We also used a website named trello.com to organize our project and condense it into workable tasks. This includes a product backlog for general goals, a sprint backlog for tasks and stories we aim to finish before the end of the sprint, a “doing” column for tasks that are currently underway, and finally a “done” column for completed tasks. We spent some time making sure the organization was set up correctly and that everybody was joined in on it. In class today, we prepared new objectives for the next sprint and archived old completed tasks.

In the first few days of this sprint, we also made a repository following the project we will be contributing to this semester, AMPATH/ng2-amrs. Everybody in our group cloned the project from the repository, so we each have the ability to view a local copy. Looking further into the README file, we gained an understanding of how to build, test, and access the server associated with the project.

Next we had to make sure we had a proper development environment to run the project. This included getting everybody the latest version of NPM, Gradle, Insomnia, open MRS, and an IDE of choice that runs typescript, for that I chose Jetbrains Webstorm with a student license. This task took us the most time and still is not finished, only one group member so far is able to run the project successfully. Some of the software we installed, namely Gradle and Insomnia, we may not end up using, so ultimately I think we can get better at limiting redundancies by further defining what is required to complete a task.

By the time our next sprint is over, we aim to have every member able to run the project, then we can start contributing to it. It seems that each group member has their own issues with starting the project, which will slow us down since we may have to work through new problems for each member. We also have sprint backlogs set up to become familiar with the programs Karma and Protractor to help us test the new angular code.

From the blog CS@Worcester – CS Mikes Way by CSmikesway and used with permission of the author. All other rights reserved by the author.

Capstone Retrospective 1

Up until this point, it has felt like we have mostly been trying to simply get our project to run.
I am not sure if the other teammates have felt this way, but I am anxious to contribute. It would be nice to have something to show for our efforts. It has been slightly frustrating, but I should have expected this slight speed bump.

In light of this, I have not been able to do some of the less important tasks that I wanted to get done. I wanted to research about testing in angular. In addition, I have been wanting to complete a tutorial to refresh my knowledge on Angular. I feel that this is one area that I would really like to round out my knowledge on because I feel it is somewhat lacking.

The bright side is that I was able to get my code to build and run without as much trouble that many of my teammates and other teams have experienced. Also, by the end of yesterday (2/19/19), with some input from me and some of the other teams, it looked like all of us got it to build and run.

A takeaway from this is that I should dedicate at least a sliver of my time everyday to dedicate to this class and project. In the apprenticeship patterns textbook, there was a quote by CS Lewis that I particularly enjoyed, which said “The only people who achieve much are those who want knowledge so badly that they seek it while the conditions are still unfavourable.”

I should apply this to learning this information. Even dedicating half an hour a day is better than nothing. I’m going to be a realist and say that on some days this class might be put on the back burner because of looming deadlines and exams from other classes, but I should never let that interfere with doing even a small amount every day.

In class yesterday, the code did not build and run right away, so I decided to go through step by step the commands that I got it to run the first time. You can imagine how nervous I felt when it did not start right away. I thought that since it had already been built, I could just run the last command to start it. It turns out that I had to go through them in order to get it to run the second time around.

The following is a list of commands that I used to get it to run, in this order:

(1) ng serve
(2) ng build —prod
(3) npm start

Note that this is run from the command line in the top layer of the directory that you have designated for the project. After these commands are prompted, go to your web browser, and type the following:

http://localhost:3000/#/login

For node or module problems, I found the solution was to do the following command:

npm rebuild

I experienced this when I was trying to rebuild it yesterday. I breathed a sigh of relief when it was such an easy fix.

From the blog Sam Bryan by and used with permission of the author. All other rights reserved by the author.

Sprint-retrospective 1

On our first sprint, we talked about karma, the setting of GitHub, help with other members of the team, went through things they did not understand. For example, some were having issues setting up the karma. I myself, was having issues on it too. During gathering, we talk on what has been done, things that will be done including things that will be needed for the project.

During the week i learn learned angular. The reason for learning angular is because, the project we have been handed to do, was done with angular. And i’m not all that very good at it. For me to be able to help the team, i decided to learn it. I started with the basic even though i have studied them. I wanted to know if i still can do the basic. I then practice a whole lot on it. And since it goes along with html,java-scripting, i did a little revision on html and java-scripting. It was fun going back to JavaScript. My first programming language.  Because i have visited JavaScript for a very long time i visited some websites just to refresh my mind on it.

while going through the ng2-amrs folder, i realize, have to learn Typescript. Typescript which is the same as JavaScript but it just is a sub of JavaScript. It is well organized than the JavaScript. for instance, when creating classes, with typescript, it is easy and less code while you can do the same with JavaScript but will have to implement a whole lot of code and it is not easy too. I got some tutorials on from https://www.typescriptlang.org/. It really helped me.

Next thing i did, was looking for the  best IDE which i will use for the project. I wanted to pick eclipse but i found out that most of the members of the team were using visual studio. And since i’m with the team, thought having the same IDE will be the best. Just in case i do have a problem, one of the team members can help me out. And beside that, i learnt visual studio is very easy to use. So after the IDE i will be using, i started doing some research on it. during the research, i got to know it belongs to Microsoft. I downloaded, and tried a hand on it. It was a little bit confusing. But with time as in the next two day, i got to know how to use it. very very cool application. I did a little fast learning on YouTube. How to use typescript/angular on the visual studio.

The reason why i took this step for the week was to be very well prepared for the project. Also to be very active with the group discussion and what is being worked on. Also to be able to handle small matters so that i don’t worry other team members, by doing so we speed up on our work/project. The week was fun.

links : https://www.w3schools.com/js/

https://www.typescriptlang.org/

https://visualstudio.microsoft.com/vs/older-downloads/

From the blog CS@worcester – Site Title by Derek Odame and used with permission of the author. All other rights reserved by the author.

Sprint 1 Retrospective

I think the most important lesson I learned this past week was that front end development can be extremely annoyi– ahem. Particular. Yeah, that’s the word.

In all seriousness, for our sprint this past week we were given 5 tasks. We needed to create an organization for our team in capstone, fork & clone the ng2-amrs repository from AMPATH’s GitHub account, read through its’ README.md file, set up the development environment, and then learn about testing with Angular. As it turns out, this was a whole lot more frustrating than we originally anticipated. When setting up the development environment using the ng2-amrs repo, the entire class got errors. People had issues with sass, issues with CSS packages, issues with typescript and issues with javascript memory management. Thankfully having the slack was an extremely helpful tool because not only could we offer catered help to our individual team channels, but the entire class was working together in order to get things up and running. As it turns out, there are a lot of ways that an angular/node project can encounter errors purely based on the environment that you’re running it in.

By FAR the most difficult thing was getting the development environment set up for everyone in our team. I was running on Mac and everyone else was running on Windows. The common issue amongst us was an issue with the styles.css or styles.scss file in the /src folder in the project. For the windows users, the specific error they got was “Node Sass does not yet support your current environment: Windows 64-bit with Unsupported runtime (57).” Professor Wurst found that it was a problem with sass, which required them to run npm rebuild node-sass. After this, it seemed to fix that issue. Since I was the only one who had a mac, that was not an error that I got. When I got my error, it included “Can’t resolve ‘ion-rangeslider/css/……’. After a big of digging, it seemed as though there may have been a package I was missing regarding the ion-rangeslider, and so I found the tool npm-check, which allows you to check what packages you have installed in your project and what version is the most recent one. From there, I discovered that I didn’t have the ng2-ion-range-slider package, and after I installed that, my styles.css issue was resolved.

Once past the styles.css issue, it seemed like everyone encountered an issue when trying to resolve a .ts file. My teammate Harry emailed AMPATH directly about this, and they told him that he needed to run ng build –prod in order to get the production build of the server, as opposed to just running ng build. This worked perfectly and solved that typescript issue for everyone who encountered it. However, the very final error that most people were getting was an issue with the javascript heap running out of memory while building the server. Upon a little bit of googling, Harry also found the solution to that issue on this Stack Overflow post. Finally, the server ran and built as it was intended to — but not after much trial and error.

Along the way, there were constant issues with angular and npm versions that needed to be resolved. I can’t even tell you how many times I ran npm clean cache –force, rm -rf node_modules, rm -rf package_lock.json, and npm install@x.x.x just trying to figure out if the issues were a version or installation problem. I actually do feel like I learned a lot about the environment that Angular and Node need in order to run, just from digging through files and trying to see if all that was necessary was a small change to a .json file. There was a lot of reading, exploring, and self-development involved in finding changes for the issues, especially since we haven’t had a tremendous amount of front end development experience yet.

Currently, we’re all working on understanding testing in Angular a bit better and we still have one group member encountering technical difficulties. His seems to be partially related to his actual physical laptop which is hindering his progress, so that will likely get sorted out with time. Overall I think this sprint was really great way to kick off the projects. I enjoy my team and think we all work well together. Excited to continue onwards!

From the blog CS@Worcester – James Blash by jwblash and used with permission of the author. All other rights reserved by the author.