Tuesday, February 20, 2018

Reflections on my Progress

When we first developed our timeline, we were conservative in our estimate of how many issues we could tackle within Jupyter Notebook. We noticed that bugs in the project get fixed very quickly, so we were worried bugs we worked on would be finished by someone else. We are now ahead of schedule because of this.  For our next task, we have decided to tackle adding a file upload activity indicator:

Right now, the user does not get any feedback when they are uploading a file. The user has no way of knowing the program is doing what its supposed to. Our task is to add this feedback. We have discussed a few different approaches to accomplish this. One approach is a loading bar. This would provide the most feedback to the user since they would get a visual of the progress the program is making. However, this would be difficult for us to implement due to the involvement of graphics and our lack of knowledge of the components that upload the files. We would have to find or create the graphics to create a loading bar. We would have to thoroughly understand the process the program goes through to upload files to be able to properly represent its progress visually. Because of these foreseen difficulties, this will not be our first approach. Instead will will start with a simple text box message that appears when the file starts uploading and disappears when its finished.

Refactoring Mindset


Tuesday, February 13, 2018

What's Happening?

7.2.2 Run the diff command again, this time without the -u flag and compare the output to the output when the -u flag is used.


7.8 Create a patch file that represents a new file, foo being created with the contents bar. Hint: on Linux systems, the file /dev/null represents an empty file -- use that as one of the files you are comparing.


7.9 Patch the echo command from the coreutils project so that it echoes out arguments in reverse order.


The Future of Java: What are the Java Trends for 2018?

Article by Carly Yuk



Tuesday, February 6, 2018

This bugs me

6.4 Find the oldest bug that’s still open in your chosen project. Write a blog entry describing the problem, with a theory about why the bug hasn’t been resolved yet. (Bonus points if you can actually resolve the bug.)


Jupyter Notebook's oldest open issue was first created on April 28, 2015. It involves creating keyboard shortcuts to simplify help requests involving some called "mimebundles." I do not have a full grasp on the issue since I have no idea what a mimebundle is. It appears that many contributors feel that returning information in a mimebundle would be better suited to program as a whole instead of returning information inline as it does now. Both new and experienced contributors have worked on this issue. It has been edited and updated several times over the years. It was last discussed just a few months ago in December of 2017.

6.5 Figure out how to create a new account on the bug tracker of your chosen project. You’ll need that account very soon.

Jupyter Notebook does not use a specific bug tracker. Instead, they are posted to Github as issues. Issues often do not last longer than a few days, so this system seems to suit the project. However, this can make it difficult to claim a bug since someone else might just fix it before you. We will need to act quickly to be able to contribute to the project. We can also communicate through Gitter and Slack to discuss the project and bugs with other contributors.

6.6 Go through your project’s bug tracker and find a bug that you think you might be able to reproduce — and then try to reproduce it in the latest build. Take careful notes. Report your experiences as a comment to the bug. If you can reproduce the bug, great! Give as much information as you can. If you can’t reproduce the bug, great! Give as much information as you can, and ask the original reporter if there are other steps you might be able to take to reproduce the bug.


6.7 Find five bug reports in the new state, and attempt to triage them according to the rules above. Your goal is to do as much as you possibly can, in a short period of time, to make those bug reports as useful as possible to the developer to whom they are assigned. (Note: be sure to follow any triage rules that your project may have defined. If there are no set triage rules, be sure to announce your intentions on the project’s mailing list, so that developers can provide you some guidelines if they choose.)


Tuesday, January 30, 2018

Reflections on Open Source in Today's World

Why isn't open source hot among computer science students?

This article strives to address misconceptions held by those who are new to the computer science field. The author surveyed 26 attendees of a hack-a-thon for high school and college aged programmers. Personally, I believe this is too small of a sample, but I found my self agreeing with the points she makes. First she points out that novice programmers would rather work on their own projects than contribute to an open source project. When I was a freshman and software, I had several small projects which were nothing more than toys. I could have learned a lot more my attempting to contribute to an open source project. The author also points out that many new programmers do not feel that their skills are up to snuff. Contributing to a an open source project is intimidating and it can be difficult to figure out what is the best way to contribute early on. However, I have noticed that many open source projects are welcoming and have easier tasks set aside for on-boarding new developers. The last point the author makes is that young programmers often believe proprietary software is simply better than open source software. This is not true and its easy to point to examples like Firefox to show what open source is capable of. I am relatively new to open source, but I hope to contribute to open source projects in some capacity for a long time to come.

Can anonymity and accountability coexist?

The author starts by pointing out how anonymous communicative has always existed outside of the internet such as whistle-blowing, voting, and crowd sourcing. These forms of communication can lead to a more open flow of ideas. This thought is continued in the authors first example of reddit (my favorite website) allowing the free flow of creative and imaginative ideas through anonymity. However, as a regular user of the site, I have seen how anonymity has allowed the flow of dangerous or malicious ideas that would never be shared outside a cloak of anonymity. The author points out that there often is a lack of accountability. The author believes there should be other forms of non-anonymous communication to go along side anonymous communication channels.