Category Archives: software

Concrete Skills|| S.S. 4

Sams Ships (4)On this weekly individual apprenticeship pattern post, I’m going to discuss Concrete Skills. This pattern is pretty much explained with someone wanting to be a part of a good development team but they have not yet built up their development experience. My reaction to this pattern is that this would be a comforting one for students in college or upcoming graduates (and even entry-level developers) to feel a little less pressure on bridging the gap between starting fresh and being an experienced developer.

Concrete skills are interesting to me because you can have all the knowledge and information but being able to take what you know and apply it to something is different. The main takeaway I got from this pattern is to learn things that you will be able to apply even when you are still in the on-boarding phase. This has caused my to change the way I think about my intended profession because of course I want to get started and involved in projects right away. I like the feeling of being able to help people out when I have down time at my current opportunity just because I get to sharpen up a skill in one area instead of just sitting there.

A good question proposed in the pattern stood out to me, “If we hire you today, what can you do on Monday morning that will benefit us?” It’s interesting to imagine yourself in the role of a hiring manager; they have to hope to understand you well enough so that they can trust that you will be able to do your job and have an impact on the company. This thought makes me want to continue what I’ve been doing in terms of pursuing different learning experiences that will help me become a stronger developer not only knowledge-wise but skills-wise.

I do not disagree with something in the patterns as it gave me something new to think about and look forward to using in my future. I found it useful to hear their advice on considering looking at other CVs as references of what we would like to put on our potential list of skills.

 

From the blog CS@Worcester by samanthatran and used with permission of the author. All other rights reserved by the author.

Do You Hate Your Computer Too?

Sams Ships (3)Apparently doctors hate their computers, according to an article titled Why Doctors Hate Their Computers by Atul Gawande. Gawande started out the article by mentioning Epic, a company a lot of people know of because it is a leading provider of software for the healthcare industry. It’s funny because just the other day, a classmate who will not be named groaned when he heard Epic being mentioned by someone, as he works in a healthcare center.

I found the reading was interesting because I have no intentions of becoming a medical doctor one day but was able to hear about how it is being one while interacting with technology that exists today.

It seems like the tension of logging everything caused the system to make doctors’ lives harder instead of easier; this was noticeable when Sadoughi was talking about how she had to look over all notes from different doctors including herself per patient. Instead of being able to just see what is going on right away; it would take up time to gather all information and even then it was not always helpful because some notes were different than others and became dated. And then work-life balance had to be thrown off a little because people had to spend extra time, up to hours after-hours to catch up with the system and review things from the day.

The real customer for the system seemed to be patients because they have some benefits from using the system like logging when to take medications or see how they are doing. Doctors are also able to monitor how they are doing and communicate with them by being pinged.

The lessons from this system do not only apply to Electronic Medical Record systems; they also apply to working in life because burnout can happen to anyone in the workforce. I thought it was interesting how one of the ways doctors were trying to save time and prevent burnout from technology was by hiring in-hospital scribes or even virtual scribes when necessary.

The reading has caused me to changing the way I think I will work based on if I ever end up creating software that affects people’s healthcare by considering how much time it takes to interact with it, no matter how “cool” or “innovative” it may be. In terms of the topic itself, the reading has caused me to think more about software that has altered people’s professions as a whole; which I thought of before but never this deeply.

I do not disagree with anything in the reading for now as I do not personally know what it is like to work in a profession that is not traditionally non-technical and then gets transformed into something that relies on it.

 

From the blog CS@Worcester by samanthatran and used with permission of the author. All other rights reserved by the author.

Software Capstone: Apprenticeship Patterns Post 1

Hello again readers.

So, what is a pattern as is described in the book Apprenticeship Patterns by Adewale Oshineye and Dave Hoover? Patterns are ways in which we program or otherwise do our work/solve problems repeatedly. When applied correctly, patterns allow us to easily overcome many problems/obstacles we face in our jobs and personal hobbies.

The patterns in the book make their approach based on the context, problems, and possible solutions. “The context sets the mood… problem statement identifies the problem being solved by the entirety of the pattern. The solution usually begins with a one sentence resolution for the problem…” (Pattern Form, Apprenticeship Patterns)

Developing a pattern allows for the mass production of programs, buildings, and other structures, whether physical or metaphysical. It is intended to further the abilities of the novice to moderately advanced programmer. One model/pattern for programming is using a master node and slave nodes: the master node controls what slave nodes do (which instructions the slave nodes undergo.)

 

This book was written for “software apprentices” (as put forth by the author.)  The three tiers of the programmer go from apprentice, to journeyman, to a master craftsmen. The apprentice believe that there is always a better way to do what they are doing. The journeyman focuses inwardly as well as on teamwork and connecting with others. The master does this all as well as attempt to move the industry forward.

 

On to the review of this pattern. I find taking instructions from a singular source and running processes on many smaller sources of computing power to be interesting: you can get vastly more processing power by adding many slave or sub-nodes to a master or dominative node. I haven’t really found that it changes how I will approach programming in the future but I may look back on this way of programming for reference. Finally, I have no disagreements or other takeaways from the first chapter and pattern of this book.

I hope you’ve enjoyed my first post about Apprenticeship Patterns, I will see you next time.

 

-SMR

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

Software Capstone: First Day of Class

We started our course today; we have been introduced to the CATME project  (Comprehensive Assessment of Team Member Effectiveness.)

We are going to be using CATME to build our teams and for our professor to be able to survey our responses to questionnaires. It will be useful for us to find a better placement in our seperate groups and to figure out which person would be most suited for which kind of task.

For communication between team members, we will be using Slack (the programmers go-to team messaging and update system.) This will allow us to share files and keep in touch with the people we will be working with.

 

Regardless, it will be interesting to work in larger groups than I’ve done previously. Furthermore, we will be working with actual institutions of health and programming systems for places such as food banks. My next post should be focusing on some of the text we will be reading (articles and books primarily.) I will most likely be reviewing these texts and giving my interpretation of them.

I look forward to my next posting.

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

And it’s over: OpenMRS Final Thoughts

This has been an exciting 15 weeks. Already, I feel ready for the real world.

On Monday, we continued work on OpenMRS RAD-235. At this point, we had not hit any roadblocks with completing the issue. Too my other teammates, I felt it seemed like an easy task. They might say otherwise compared to myself.

On our last day of class, Friday, we discussed how our Capstone class would be improved. After a good discussion, all of us were asked to complete the survey. However, once we were done, several members of our team pushed our changes in regards to the error, and as of the time I am writing this blog, we are still waiting on a pull request.

My experience with OpenMRS has been a huge help to my experience in the field of Software Development. Understanding how an open source medical program running on Linux would work intrigued me, despite the many roadblocks we hit in the process. I feel that understanding each computer’s architecture would be beneficial in determining whether the system would be capable of running a virtual machine successfully without issue, particularly one that runs on Vagrant.

Thank you to all the Computer Science professors at Worcester State for providing me the opportunity to keep pursuing my education in this field. I hope with the tools I’ve learned, I can maintain my success in the field wherever I end up.

From the blog cs-wsu – jdongamer by jd22292 and used with permission of the author. All other rights reserved by the author.

OpenMRS: A New Issue

This week couldn’t have gotten any better. We’re already working on another issue, coded RAD-235.

On Monday, we found out that our original issue, RAD-58, was already completed by Ivo, one of the lead developers of the OpenMRS radiology module, but he forgot to mark the issue as such. As a result, Ivo granted us another error that he knows he never worked on.

We made progress on this issue since Wednesday, and there’s still more to be done with one week left. Although one of our group members couldn’t understand how the enum class in Java worked. We’ll see if he can figure it out by next week.

From the blog cs-wsu – jdongamer by jd22292 and used with permission of the author. All other rights reserved by the author.

PAX East 2016: VR in a Software Development Environment

This year, I went to PAX East in Boston. At least one exhibit I saw on the show floor contained at least one VR (virtual reality) device to try. During the event, I had the chance to try the Oculus Rift and the HTC Vive.

On Friday, the first VR project I got to see was an Oculus Rift story told by a WPI graduate. “The Piper” tells the ancient story of the Pied Piper of Hamelin in a first-person perspective. Although the sequence through the Oculus Rift headset was accurate, I found some bugs. For example, several of the virtual children kept passing through me as if I wasn’t there. This was something I could expect from an early use of VR.

I never got the chance to try any VR related projects on Saturday, as I was focused on other independent video games. Although on Sunday, another opportunity to try VR arose with another project from an independent Chicago-based developer. Titled “We Are Chicago”, the game tells the true story of a family the southside of Chicago, historically a part of the city where most gang violence has happened. In the demo, the family, the subject of the game, goes through their normal evening routine when gunshots are heard. It is then the player’s choice to take the story in their own direction. The booth displayed an HTC Vive setup, allowing the player to control the character using the headset and the two handheld motion controllers. During a brief interview with Lead Designer Cindy Miller, she told me that the game was not meant for VR and “because you’re in a Virtual Reality setting, you are expected to have unexpected things happen, like going through a table or a counter.” This had happened to me many times in my experience with the demo, though they didn’t give me any problems as I was able to fix my position easily with a combination of moving myself and the use of the motion controllers.

After the event, I looked back at a panel that was in progress while I tried We Are Chicago. The panel, “The Cutting Edge of PC Gaming with Newegg,” centered around the future of VR as well as the relationship between hardware and competitive gamers, a concept collectively known as eSports. The entire panel focused on a hardware developer’s perspective on how VR is affecting the consumer base. Several key points were made about VR, including its impact and whether it was here to stay. When asked about impact, and using education as an example, Robert Hallock, Head of Global Technical Marketing at AMD, stated that VR “redefines the way [anyone] can sense and understand learning,” supporting his case with examples such as the ride of Paul Revere and a child’s perspective of a blue whale swimming over their head.

In my perspective, I think VR has a place in the software development environment for many reasons. One of them is the many opportunities it brings, such as the point about education that Hallock described in the panel. In the same panel, when asked whether VR was here to stay, Hallock stated “versus 3DTV…everyone [he] talked to has tried or wants to try VR.” Chris Pate, Senior Product Manager at Logitech, described the evolution of VR before Hallock, stating, “as [VR] becomes more immersive [and] more compelling…that’s where it drives the interest…of the technology and…the accessibility and affordability of it is a large part of it.” These statements have helped me push my stance towards the inclusion of VR in the software development field, and, taking in a quote from Chris Geiser, Head of US SSD Sales at Samsung, I “certainly think that [VR] is a technology that is here to stay.”

You may watch a recording of the hour-long panel on VR here:
https://www.twitch.tv/pax3/v/62558539

From the blog cs-wsu – jdongamer by jd22292 and used with permission of the author. All other rights reserved by the author.

Issue Complete?

This week was very eventful. As far as what we did, I could say we felt accomplished for actually completing an issue in the OpenMRS Radiology module.

On Wednesday, I found out that when we put the working machines on others’ computers, the machines wouldn’t work on PCs other than the original. In what I felt was a good decision, we decided to work off the working machines to help us work on the code.

We didn’t start working on error messages until Friday. All we had to do was change some error messages. The effort was to make it clear for the user that patient records would not be completely saved in OpenMRS, and that the first step for the user was to check their internet connection.

I’m really looking forward to our next issue. But lately, I heard that a specific lead developer of the radiology module forgot to mark our issue as completed. I wonder how we’ll resolve it.

From the blog cs-wsu – jdongamer by jd22292 and used with permission of the author. All other rights reserved by the author.

OpenMRS: We’ve got a working build!

Throughout the week, I’ve been reinstalling Vagrant and the OpenMRS radiology puppet module in an effort to see whether the resulting Virtual machine worked at some point. On Monday, I uninstalled Vagrant and redownloaded the MSI file for the program. On Wednesday, I reinstalled both Vagrant and the puppet module. Shortly afterward, I tried running vagrant up on the puppet module, and 5 minutes later, the VM boot timed out. I reported this to my teammate, Nick, on Friday. What I received shortly after was what seemed like good news: we managed to get a working build of the puppet module on someone else’s laptop.

I’m hoping come Wednesday, I can receive a copy of the working build for my own laptop. I’ve spent countless weeks uninstalling and installing hoping that I can get a working build of the puppet module.

From the blog cs-wsu – jdongamer by jd22292 and used with permission of the author. All other rights reserved by the author.

“Factory Reset your PC”?

Out of many things that could possibly solve my timeout issues with the OpenMRS Radiology virtual machine, one member of my team has been telling me for the past few weeks to “factory reset [my] computer and start from scratch.” As much as this might help me with the issues, I also did not want to give up other important files on my computer that I would need outside this class and outside my career.

This week was no different. Although on Friday, after what felt like the hundredth time trying to get the dcm4chee VM connected, and still unable to find the Vagrantfile where the config.vm.boot_timeout value was stored, I decided I would follow along with my teammates until I found a solution to my problem that doesn’t involve factory resetting my laptop. My only other solution at this point is to reinstall the files for the virtual machine, reinstall Oracle VirtualBox, and reinstall Vagrant. I’m hoping this solution works by Monday.

From the blog cs-wsu – jdongamer by jd22292 and used with permission of the author. All other rights reserved by the author.