Sorry for long delay in updating posts here. All my previous blog posts could not be uploaded here due to technical problems.
A lot major steps and milestones were reached with respect to this project. First and foremost, the tool was renamed to ruby_curry to elicit the feature of the tool i.e compile Curry to Ruby.
The code was moved to a new codebase which can be found here.
Yesterday I worked on scrubbing the code and finishing documentation. I also included a .install file that includes code to create two tables required by MDN. Multiple Diagram Navigation tool is live and working. I will continue working on MDN drupal module and MDN research. Finally, I would like to thank Bart Massey and all PSU-GSoC 2015 team members for the great experience. It was fun and productive summer.
I hit the point where everything works last night. The main author Gavin Crooks was kind enough to meet up in the evening after a busy day to help me double check WebLogo's functionality. I fixed some errors regarding the logo creation buttons and problems with examples pages. We tested WebLogo by creating sequence logos from URLs on an ipad, and it worked. And it looks great! The images can be saved locally as part of the mobile device's image gallery. Working the controller logic that takes in the URL was a little tricky b/c we had to negotiate how Weblogo processes local files and data pasted into the textbox and needed to prevent a user from using more than 1 of the input types, as well as throw an error.
This afternoon I completed testing the migration of the 2 Eclipse projects to Android Studio (mitm client and test harness). The APKs built cleanly and tested as expected on my Nexus tablet. After looking closely at the IDE project configuration files I saw some values specific to my workstation (added after migration) which I removed from Git.
Additional updates were made to the user documentation. I think it's easier to follow now, however the proof will be when someone else tries to follow the instructions.
At this point, I decided the the project was at a point where I could wrap-it-up for the Summer of Code. Here is the link to the release repo snapshot I created for the final GSoC code: https://github.com/mkenne11/nogotofail-pii/releases/tag/soc-final
This isn't the end for the project - just a milestone. There are bugs and enhancements I will continue to work through as well as new features. Unfortunately there is a lack of privacy testing tools available for mobile applications (and software in general) and hope this project can make some contribution to address this and improve the privacy awareness of developers.
I'm discussing with the parent project main author the possibility of merging PII detection and other security functions into the parent project.
Thanks so much to my supervisor (Bart Massey) for all his help, encouragement and the opportunity to be sponsored on this project! It's been such a great opportunity!! Thanks also to the nogotofail parent project author (Chad) has also been very helpful and encouraging!!
Well time to pack my bags. I've been studying in Malaysia for the last year which has been an unreal life-changing experience. Met so many great people/had so many awesome meals/and so many great experiences! Malaysia Boleh!!!
I'll be sad to leave Malaysia behind but it will be nice to get back to Australia as well. I wish everyone the best of luck in the future and all your endeavors!!
It turns out that I had forgotten to convert from degrees to radians, and that made a significant difference. My angular data is maintaining precision at a level that I would expect. My positional data, on the other hand, quickly becomes unusable due to the slight angular error that causes the gravity vector to become misaligned and no longer accounted for. A little constant acceleration quickly becomes a large velocity and a very wrong position. This is where a Kalman filter would be helpful, perhaps. I could also probably look into measuring the total acceleration magnitude, and when it is about equal to Earth's gravity, assume the device is sitting still and recalibrate, which might help some, particularly when the device isn't moving much, like sitting on a table.
While trying to merge code last night, the main author and I found a major bug that prevented WebLogo from functioning as a standalone server on Windows machines. Running WebLogo from the command line hadn't been tested until, I tried and failed. WebLogo couldn't find the python environment variables needed to run on a windows machine b/c the os.path was being demarcated by colons ":" , which is the case in unix and linux, while in windows the path is being demarcated by ";". It was a puzzle to figure out what was happening. And there are probably many more windows specific errors that may need to be addressed. However, now WebLogo is more portable for use on different operating systems.
I found the code causing the intermittent bug for HTTPS responses with no header fields, and corrected the problem. This was fixed by adding error handling code to deal with the exception raised when no headers were found.
For my remaining time today I migrated the two Android Eclipse projects to Android Studio projects i.e. the nogotofail client and test-harness apps. I decided to make this change as Google has designated Android Studio as the official Android development tool, and will soon stop supporting Eclipse (Android Development tools): http://android-developers.blogspot.com/2015/06/an-update-on-eclipse-android-developer.html
The migration of the Android projects was simpler than I expected.
I finished the colors window where users can set the color scheme for each diagram (colors used to distinguish hovered, selected, and highlighted diagram elements). I still have one little feature to finish tomorrow, and I will spend the rest of the time in documentation and cleaning the code.
Tonight, I backported some improvements from my Kalman branch to master, worked on the general state of documentation, and wrote some conclusions. The conclusions are not final yet -- I am still actively working to make my angular state information more closely reflect reality, and if I do, that conclusion could easily change in its entirety.
I'm going through the current documentation to clean up and update references and the API. I went to see the AWS engineer, and he couldn't help me at that AWS loft b/c launching python applications on the AWS elasticbean service wasn't his specialty. We went over what the hang up over deployment could be, and he pointed me to resources and opened a ticket with AWS help support. The WSGI path not found error may be addressed by creating a folder and an options setting designed to satisfy elasticbean's requirements. I wrote a generic python.config yaml file that may appease. I'm working on trying to deploy the application again and troubleshoot deployment while I review and tweak documentation.