Category Archives: Computer Science

More Readings…

Well, finally got the files and such accessible from my own computer in eclipse, which was more of a hassle than I really expected, I found I had to read up more on JUnits and how they work. Took a bit of time looking through various online sources, so now I feel like I can really get into this.

Hopefully, at least. Jury might still be out on that one. Learned a few new things, at least.

From the blog Kyle's Works » CS@Worcester by kyleprimmer and used with permission of the author. All other rights reserved by the author.

GitHub Activities

Well….This is kind of annoying. I hate that feeling that I’m not even sure what the heck I’m doing. GitHub doesn’t seem to like cooperation with me. I think I’ve gotten it downloaded properly, but I seem to have trouble finding things to edit and such.

I have been able to edit a few things on the School/Class Wiki, though. Managed to update my own page to include some of the information from the recent ‘assignment’ from class (blog link, OpenMRS ID, GitHub Username), and added a function to collapse all that information from the Issue Tracker activity. I find it a lot easier to work with that, seeing as if I’m not sure what I need to do, I can find another page with the formatting I’m looking for, then copy/experiment. Might look into doing some things for our project from there. Already started making the page, at least (though, it was mostly copy/paste from the original CS 401 page).

I managed to get linked to the project ticket for our group, though that was mostly them adding me, than anything else, and I think I’ve copied the files from the original to my machine, but I’m still looking for a way to edit….

Well, now I think I’m getting somewhere updating eclipse. Had to go in and update what I currently had on my computer, and then install Maven, though there were a few errors popping up. If I avoid the optional things, maybe…

Well, it seems to be working. Maybe. Fingers crossed…

Ok….. most of these downloads are going over 100%…… Hope nothing’s broken… Please? Well, restarting eclipse again…

HA! Finally got everything working (so far as I can tell). Hopefully this will let me keep working.

From the blog Kyle's Works » CS@Worcester by kyleprimmer and used with permission of the author. All other rights reserved by the author.

OpenMRS Set Up

Setting up the system has been difficult. My laptop is running Windows 8.1, so that’s the first challenge I have.

First, when I tried to check which version of java I had installed, I got this output: “ ‘javac’ is not recognized as an internal or external command, operable program or batch file”. So, I decided to check: Program > Java > About > Version 7 (1.7.0-b147). The Developers Guide instructs to check the version as follow “javac –version” on the command line, but instead I entered “java -version” and it worked!

Then, I got stuck in the installation step. I downloaded and run the OpenMRS SDK installer. The wizard setup was completed without outputting any error. Once again, in order to get the output in the console I had to change “omrs-version” to uppercase, “OMRS-version”, otherwise the result would not have succeeded.

This time, the prompt line gave me an error: “JAVA_HOME not found in your environment. Please set the JAVA_HOME variable in your environment to match the location of your Java installation”

If you are running into the same problem, here is the solution:

  1. Locate the Java Runtime Environment (JRE) Installation Directory
    1.  If you didn’t change the installation path for the Java Runtime Environment during installation, it will be in a directory under C:\Program Files\Java. Using Explorer, open the directory C:\Program Files\Java.
    2.  Inside that path will be one or more subdirectories such as C:\Program          Files\Java\jre7
  2. Set the JAVA_HOME Variable
    1. Right-click the My Computer icon on your desktop and select Properties.
    2. Click the Advanced tab.
    3. Click the Environment Variables button.
      1. Under System Variables, click New.
      2. Enter the variable name as JAVA_HOME.
      3. Enter the variable value as the installation path for the Java Development Kit. (e.g.C:\Program Files\Java\jre7)
    4. Click OK.
    5. Click Apply Changes.

Close any command window which was open before you made these changes, and open a new command window. If the changes do not take effect even after reopening the command window, restart Windows.

After fixing the JAVA_HOME, I checked if the SDK is working properly. The console output looks similar as the one on the Developers Guide.

Now the last step, running OpenMRS locally, it starts to create the directory, but nothing happens. It never launches the web server to be tested. If I click the link, the web page loads blank. I’m still trying to figure out what I missed!

From the blog Naty Zelaya » CS@Worcester by natyzelaya and used with permission of the author. All other rights reserved by the author.

Wiki & Git are FUN!

The third week of the semester has been very busy. Let’s start with the wiki editing that was started in class. This is the first time I have to edit a wiki. It was fun and easy to learn how to add and modify content. What I like about the wiki application is its simplicity, which allows any user to contribute text without being a web designer.

My wiki profile has information about the Issue Tracker Activity. This activity was useful in a way that I can get familiar with the OpenMRS Issue Tracker system, which is a system that allows browsing and filtering bugs. In this activity not only learned to browse and filter issues, but I also learned to find reports based on a specific project.

The second part of the assignment was the Git Videos and the tutorial, which gave me an insight of what Git is and how it works. Git is a Version Control System (VCS) with capability to keep track the history of every file, and changes made by a team member who is working or collaborating on a single project. VCS allows to revert files back to a previous state, revert the entire project, review changes made over time, see who last modified something that might be causing a problem, who introduced an issue and when, etc.

In summary, some features that Git provides are:

  • Configuration: Free download and installation; fast and easy setup.
  • Fast: Nearly all operations are performed locally (on local disk).
  • Distributed Version Control: if any server dies, any of the client repositories can be copied back up to the server to restore it.
  • Team Centric: Allows group of contributor working simultaneously within the same project.
  • Integrity: Contributor can’t lose information in transit or get file corruption without Git being able to detect it.
  • Merging Capability: Git is flexible when more than one user’s work needs to be brought together.
  • Opt in: You decide on which projects to participate.
  • Open Software: Let people offer contributions.
  • Backup: Every user has a full backup of all data. 

Finally, this week I went through the selection of 3 tickets within the issue tracker. I am very excited to work on projects related to database.

From the blog Naty Zelaya » CS@Worcester by natyzelaya and used with permission of the author. All other rights reserved by the author.

Ways to contribute to Open Source

An interesting aspect about open-source software is that it allows you to use your skills where you feel comfortable working with. Open-source helps people to discover that you don’t have to master all levels of computer science to contribute a piece of knowledge.

Personally, the readings have opened my eyes, and I’m glad that writing code is not the only way to contribute to large projects. Having 14 or more different ways to contribute to major projects make newbies want to add something to it.

IRC Activity

IRC activity in-class was enjoyable. It’s been a long time since the last time I chatted for over an hour. IRC is a great way to communicate in real time while working on large projects, especially since most people are looking for answers right away.

IRC is a great tool because it can be easily installed on user’s computers who have access to internet, regardless of the operating system running on the computer. IRC has different features such as chat and data transfer, file sharing, and also allows one to one communication using the private message.

From the blog Naty Zelaya » CS@Worcester by natyzelaya and used with permission of the author. All other rights reserved by the author.

The Initial Blog

As I thought about my expectations of this course, Software Development Process, undoubtedly hope to have the opportunity to learn the techniques to solve development problems in an effective and efficient manner. Also, I am excited to work on a real and large project. I think it will give me the experience I need within the Computer Science field.

Writing blogs will be challenging because this is something that I did not expect at all. I’m not a blogger, actually this will be my first time writing blogs.

This course could not have had a better start than by reading “Free vs. Open”, along with other readings and the in-class activities.

Free vs. Open

When thinking about Free Software, most people might think about software free of charge. However, the idea is more complex since it promotes user’s respect and freedom, even if one has to pay for such software. Personally, I think that free software it a good way to express our intellectual and to contribute in the improvement or development of new  software.

For software to be considered as “free” must meet four conditions: 1. Users have the freedom to run the program, 2. freedom to study and change the program, 3. freedom to redistribute copies, 4. freedom to distribute  copies of the modified version.

On the other hand, open source licenses are too restrictive; cannot be use it as it is our means, and do not allow the user to install modified versions of executables.

OpenMRS: Health IT

An electronic medical record (EMR) is not only a need of replacing paper with digital technology, but it also provides the opportunity to improve the workflow. Persuading physicians to use information technology (IT) in their practices may result in increased efficiency and reduced costs. OpenMRS is one among many of the different EMR softwares and here are the key points:

  • Accuracy (e.g. can reduce medical errors.)
  • Efficiency (e.g. improve data exchange between health it applications.)
  • Better patient care (e.g. can support decision making by health care professionals)
  • Understanding data about public health (e.g. data captured can be used to monitor public health standards.)
  • Serving as a record of patient care (e.g. historical record of patient care that can be easily transferrable to different locations.)

The information provided in the OpenMRS Guide is a good start for a better understanding of this project.

Git Activity

The Git program is something new for me, but the activity in class gave me a brief idea of the software. Since we are going to work in teams during this semester, this free-open software seems to be easy to learn and appropriate.

From the blog Naty Zelaya » CS@Worcester by natyzelaya and used with permission of the author. All other rights reserved by the author.

Jan 27 Class Work and Reading

Well, the classwork from last time was certainly more than the usual busy-work that most first-classes tend to be. Granted, given how rarely this class is planned to meet, such a thing is pretty much understandable. All in all, it’s a shame that we couldn’t finish everything during the class time, as I’m still not completely sure how the Git and IRC things are going to work. I’m pretty sure I either missed something or got lost in the Git activity, as while I could make it work on the online (GUI?) interface, I never got it downloaded to the program on my laptop. Was planning on going through everything again on my own time, to find what I missed, but I never saw the activity document posted… The fact we never got to the IRC part didn’t help my understanding of that, either.

The readings were interesting, if almost predictable, in content. I myself am fully aware that I can tend to overlook things, and it’s a great help to have more people pointing out problems and solutions to you (Cathedral and Bazaar). Heck, even outside of programming, this is a proven concept. I can’t count the number of times the attendant in charge of the shift before mine at my part-time job could not for the life of them find what was making their drawer off, only to have myself (or the next person coming in after me, should I get the first shift) take a look and point out something either misread/misused, or even unaccounted entirely. It was certainly nice to see how such things began evolving and was taken to the extreme with some computer programming. It’s long been known that, where the Internet is concerned, there is little to no privacy and information gets hacked all the time, but to see it used to create such a large project, then turn around and say ‘hey, rather than going to look for information to rip out and use, why don’t we all just open it up and work on it together?’, and turn things around to the point that innovation happens so quickly and so often….. It really is a whole new age that this sort of idea has brought about.

On the second reading, on Free vs Open……. Well, to be honest, it’s really not the type of argument that I generally get in to. From my own understanding, the main difference between the two terms stems from a difference in understanding the intended meanings of the terms. There have been numerous times in my life where I, personally, have had instances where I say or possibly do something and have my meaning be misunderstood. To me, misunderstandings are something that happens pretty much all the time, and are the reason why things should be taken with a ‘grain of salt’, as it were. From my own understanding of the reading, the biggest differences between the two terms are the ‘ideas’ and ‘philosophies’ behind them. Sure, there are some issues about ‘open software’ being restricting in the sense that ‘you can’t freely modify, use, and redistribute it’, but that seems to be a more minor justification to the argument that was presented. The real ‘argument’ is about the ‘freedom’ aspect of both, where people say that ‘open’ software isn’t truly ‘free’ software; and maybe in some cases, they’re actually right, but from what I understood of what I read, they’re also complaining about ‘free’ software that is labeled as ‘open’ and claiming it shouldn’t be called as such, even though the software in question still falls under the qualifications of ‘open’ software. I’m the type who cares more of the results rather than the ‘spirit’, as it were, so the whole thing starts coming off as pointless squabbling when there are other, better things to be doing with one’s time and energy.

As for our final reading work, the OpenMRS Developers Guide, well, it kinda reads like a brochure, but it’s nice to know just what we’re going to be working on. Having some background and information on just what you are helping to accomplish can be a rather great motivator. Now let’s see if we can’t start making differences in the world at large while getting some real life, practical experience in there as well.

From the blog Kyle's Works » CS@Worcester by kyleprimmer and used with permission of the author. All other rights reserved by the author.

What I’m Expecting..?

Well, this is probably shaping up to be the first computer science class the most involved with things to do outside the classroom. Never really had a blog or anything else to that nature before starting this class, so that’s probably going to cause me some headaches.

What am I expecting out of the course itself..? Well, I generally try to go into things with an open outlook, so I can’t really say I’m “expecting” anything. We’ll just have to see how things go. There seems to be a good amount of expected reading to start with, at least.

What I expect to take away from the course..? Probably something along the lines of ‘a better understanding of the greater world of computer science and how programmers and developers get in touch and interact with one another in an open environment’. Well, something like that. I never claim to be the best at putting thoughts into words.

All in all, it’s shaping up to be an interesting experience, all things concerned. Let’s see what we can learn…

From the blog Kyle's Works » CS@Worcester by kyleprimmer and used with permission of the author. All other rights reserved by the author.