Giuseppe (Tony) Sena
Giuseppe (Tony) Sena is an Assistant Professor of Computer Science at [Massachusetts Bay Community College] (MassBay) (Wellesley Hills, MA). Prof. Sena is currently teaching courses in the areas of computer networks, IT, databases, and web technologies. Before teaching at MassBay, he taught computer science courses at Roxbury Community College (Boston, MA), Clark University (Worcester, MA), and Northeastern University (Boston, MA) in the areas of networking, E-Commerce, business analysis, operating systems, algorithms & data structures, computer organization & programming, fundamentals of computer science, discrete mathematics, numerical analysis, and others.
Prof. Sena has been working on several multidisciplinary projects involving students and faculty from the Computer Science, Engineering, and Biotechnology departments at MBCC. His group is doing research in the areas of parallel & distributed systems, network security, Big Data, cloud computing, encryption/decryption, signal & image processing, and DNA sequencing. They are developing distributed applications using message-passing technologies on the MassBay Cerberus Beowulf cluster.
Mr. Sena received a M.S. in Computer Science from Northeastern University (NEU) (Boston, MA, 1997), and a M.S. degree in Earth Sciences (Applied Computer Science) from the Massachusetts Institute of Technology (MIT) (Cambridge, MA, 1995). He obtained a B.S. in Computer Science from the Central University of Venezuela (Caracas, Venezuela, 1990). He has worked as a consultant in the area of networking, Internet and Web technologies, and LDAP (Directory Services). He has also worked in industry as a Software Developer, Network Engineer & Consultant, and Network & System Administrator. Prof. Sena is an Associated External Collaborators at the Center for Computer Machine/Human Intelligence Networking and Distributed Systems (CMINDS), University of Massachusetts (Lowell, MA).
Languages: English, Spanish and Italian.
Memberships: IEEE, ACM.
Other: Sports (Soccer).
Stage 1 Activities
Intro IRC Activity
- How do people interact?
Very similar to text messaging where were people is called my name.
- What is the pattern of communication? Is it linear or branched? Formal or informal? One-to-many, one-to-one or a mix?
Communication could be one-to-one, one-to-many, or many-to-many. Anybody can jump in at any time, and it is very informal. You don't ask for permission to talk. You can change topics at any time.
- Are there any terms that seem to have special meaning?
All the "#" tags are commands you can use.
- Can you make any other observations?
All messages/posts are time-stamped and includes the sender.
FOSS Field Trip Activity
Part 1 - SourceForge
3. How many projects are there in this category? DNA Sequencing = 55
4. How many different programming languages are used to write software in this category? 7 (seven): PERL, Python, C++, C# .NET 2005, UNIX Shell, JAVA, and C
5. List the top four programming languages used to write programs in this category. Python, C++, C, and PERL
7. Compare two projects in this category that have two different statuses. Describe the differences between the statuses.
a. RAY: it is old 2008, only one review in 2011, not a lot of info, last updated in 2012, multiple versions, currently version 2.3.1, last download in May 2016. b. FastQZ: last update was May 2012, last version V.1.5, only two downloads, bad documentation, poor Wiki, and no discussion.
8. Which projects are the most used? How do you know? By checking when it was last updated, looking for comments, discussions and posts.
9. Pick a project in your category. Answer the questions below:
1. What does it do? Assembles read obtained by new sequencing techniques 2. What programming language is the project written in? C++ and MPI 2.2 3. Who is likely to use the project? How do you know this? Somebody in the area of Biotechnology 4. When was the most recent change made to the project? Feb 2014 5. How active is the project? How can you tell? Last time it was updated, last time it was downloaded, comments, website mailing list. 6. How many committers does the project have? Don't know (I guess only one?) 7. Would you use the project? Why or why not? No. Not recently updated, and no recent activity.
Part 2 - OpenHub
4. What is the main programming language used in OpenMRS? JAVA
5. How many lines of code does OpenMRS have? 3,753,673 lines of code
6. Click on "User & Contributor Locations" (lower right side of screen). List some of the locations of the developers. Did not work with Chrome (stuck on loading)
7. Go back to the main OpenMRS page. Click on the "Languages" link. How many languages is OpenMRS written in? 15 languages
9. Of the programming languages used in OpenMRS , which language the has the highest comment ratio? JAVA = 35.5%
11. What is the average number of contributors in the last 12 months? Average = 10 contributors
12. Scroll down to the Top Contributors section. How long have the top three contributors been involved in the project? 1) over 5y, 2) a;most 5y, and 3) over 2y
Use the information on the project summary page to compute the 12-month average of commits. What is the average number of commits over the past 12 months?. # commits per 12-month = (# commits 12-months)/AVG commits = 53
Project Evaluation Activity
Part 2 - Walk through of an evaluation of the OpenMRS project
Mission Critical criteria-Viability
1. Size/Scale/Complexity: 2
2. Activity: 3
3. Community: 3 [a)Download history: HIGH, b)Discussion activity: HIGH, and c)IRC activity: HIGH]
Mission Critical criteria-Approachability
1. Examine project on-ramp: 3
Mission Critical criteria-Suitability
1. Appropriate Artifacts: 3
1.1. Opportunities to contribute bug fixes: How many are listed in each category? fourteen (14), and thirty five (35)
2. Contributor Support: 3
Critical Total: 17
1. Domain: 3
2. Maturity: 3
3. User Support: 3
4. Roadmap: 3
1. Contribution Types: 3
2. Openness to Contributions: 3
3. Student Friendliness: 3
1. Project Description: 3
2. Platform: 2
3. Development Features: 2
Secondary Total: 27
4.FOSS in Courses Planning 1
3.1. I’m interested in working with MouseTrap (MouseTrap Project)
I would like to design a course (“Intro to Free Open Source”) that presents HFOSS concepts in a Directed Studies format:
- Intro to FOSS
- Open Source philosophy
- Tools: IRC, WIKIs, Blogs, Bug Tracking (GNOME Bugzilla account: https://bugzilla.gnome.org/createaccount.cgi), and Source Control (Git and GitHub)
Use MouseTrap as a Case Study:
- Overview (Getting Started)
- Installing & using MouseTrap
- Join and access the IRC channel (server: freenode, channel: foss2serve)
- Review and update documentation (add comments)
- Review and confirm simple bugs (GNOME Bugzilla account)
- Fix or attempt to fix simple bugs
4. I liked the Steve Jacobs’s at RIT about the Open Source Course., Rensselaer Polytechnic Institute course about the Center for Open Source Software (Welcome to Open Source Software Practice).
1. IRC Meeting - DONE
2. Bug-Tracker Activity:
Part 1 - Bug Reports
1. Open a browser and go to the GNOME Accessibility Bugs
2. Define what each of the column names below indicate.
1.ID: unique identifier for the bug/ticket. Needed because bugs are kept on a DB.
2.Sev: severity of the bug: blocker, critical, major, etc.
3.Pri: priority of the bug found: Immediate, Urgent, High, Normal, and Low.
4.OS: version of the OS where the bug was detected: AIX, LINUX, FreeBSD, IRIX, etc.
5.Product: software package (application) where the bug was found.
6.Status: current status of the bug: NEW, ASSIGNED, REOPENED, RESOLVED, VERIFIED, UNCONFIRMED, NEEDINFO)
7.Resolution: indicates what happened with the bug: FIXED, WONTFIX, DUPLICATE, NOTABUG, INCOMPLETE, INVALID, OBSOLETE, etc.
8.Summary: short description of the bug.
3. Describe how you discovered the definitions and how did you find the information from above?
- Bugzilla Advanced Search - Bugzilla Adv Search: DETAILED BUG INFO
4. Identify the order in which the bugs are initially displayed?
I don’t see the order. It looks like there is no order where bugs are initially displayed.
5. What is the meaning of the shading of some bug reports?
Didn’t see it.
6. What is the meaning of the colors used when describing a bug (red, gray, black)?
- RED: looks like tag is "critical" or "blocker"
- GRAY: looks like tag is"enhancement"
- BLACK: looks like tag is "normal", "major", “trivial”, and “minor”
7. Select a bug that you think that you might be able to fix and look at it more closely (click on the bug number).
8. Repeat the previous step with a different kind of bug.
Part 2 - Collective Reports
3. Source Code Management/Control Activity
4. FOSS in Courses Planning 2
OPTIONAL: Download/Install project MouseTrap
Created two VMs with 1)Fedora 18 64-bit, and 2)Fedora 23 64-bit