Articles on AngelaRemolina's Bloghttps://blogs.python-gsoc.orgUpdates on different articles published on AngelaRemolina's BlogenTue, 24 Aug 2021 02:48:13 +0000Weekly blog post #12https://blogs.python-gsoc.org/en/angelaremolinas-blog/weekly-blog-post-12-2/<h2>What are you working on?</h2> <p>This last week of GSOC I worked on documenting all my code. I recorded everything I did this summer in the <a href="https://github.com/PyAr/PyZombis/wiki/GSOC-2021-PSF-PyAr-Final-code-submission-PyZombis-Angela-Remolina">PyZombis repository’s wiki</a>. I created 4 sections: What was proposed, What was done, What was left to do and a general summary where I put a table with a log of all commits made to the master branch by me.</p> <h2>What have you struggled with?</h2> <p>I did not have any struggles this week.</p>angelasofiaremolinagutierrez@gmail.com (AngelaRemolina)Tue, 24 Aug 2021 02:48:13 +0000https://blogs.python-gsoc.org/en/angelaremolinas-blog/weekly-blog-post-12-2/Weekly Check-In #11https://blogs.python-gsoc.org/en/angelaremolinas-blog/weekly-check-in-11-11/<h2>What did you do this week?</h2> <p>This week I put some final touches to all the work I have done: </p> <ol><li>I fixed one bug found on the Brython module achieved in the first milestone that limit the use of triple quotes for a string. Here is the <a href="https://github.com/angelasofiaremolinagutierrez/RunestoneComponents/pull/20">PR</a></li> <li>I splitted the last lecture I could. Since TWP52 is under edition by other collaborator. Here is the <a href="https://github.com/PyAr/PyZombis/pull/188">PR</a>. </li> <li>Another split structure was proposed so I opened one PR as an example of how that structure would look with one of the lectures. <a href="https://github.com/PyAr/PyZombis/pull/189">PR</a>. </li> <li>I fixed the quiz numeration since quiz8 did not exist. Here is the <a href="https://github.com/PyAr/PyZombis/pull/190">PR</a>.</li> <li>I numbered sub toctrees. Here is the <a href="https://github.com/PyAr/PyZombis/pull/191">PR</a>.</li> <li>Finally I built an update to the fork with runestone since the books that are built from the fork were not responsive. Here is the <a href="https://github.com/angelasofiaremolinagutierrez/RunestoneComponents/pull/22">PR</a>.</li></ol> <p>I also found 2 other alternatives to the database lecture:</p> <li>One is using the sql.js library to store the database in a global variable that can be called or used from a Brython activecode block. Here is the <a href="https://github.com/PyAr/PyZombis/pull/184">PR</a>. This is a work in progress since I was able to create that global database but not call it inside the iframe of the activecode block.</li> <li>The other option was to use the SQL language for runestone. However, whenever I tried to use this tool an error of CORS policy was showing up. Even when I tried following the same example Runestone has in their instructor guide. I opened a <a href="https://github.com/PyAr/PyZombis/pull/185">draft PR</a> since this is not working. </li> <h2>What is coming up next?</h2> <p>All final touches are done. I look forward to document all my work and open some new issues explaining with detail what was left to do for the future contributors of PyZombis.</p> <h2>Did you get stuck anywhere?</h2> <p>I did! Several occasions. Fixing the Brython module bug was a hard one. Also finding the database lecture alternatives was a big struggle. These two are still under construction. I will try to find help for this one and document all my attempts.</p>angelasofiaremolinagutierrez@gmail.com (AngelaRemolina)Mon, 16 Aug 2021 16:41:42 +0000https://blogs.python-gsoc.org/en/angelaremolinas-blog/weekly-check-in-11-11/Weekly blog post #10https://blogs.python-gsoc.org/en/angelaremolinas-blog/weekly-blog-post-10/<h2>What are you working on?</h2> <p>By this last weeks of GSOC I’ve been working on the last parts of my proposed UX/UI milestone. </p> <ol><li>For the lecture splitting I opened 6 PRs and I only have 2 lectures left to divide. I’m waiting for the merge of some changes that were done to them to split them. On this note, the mentors suggested to try out splitting with tabbed option. This means that a lecture will be all in one page, only changing with tabs between them. I will be trying this out with the lectures I have left.</li> <li>The mentors liked the styling I proposed last week for the index page so I opened a PR (<a href=" https://github.com/PyAr/PyZombis/pull/163">PR #163</a>.) to try it out. I’m waiting for that to get merged.</li> <p>on the other hand, since I’m already finishing what I proposed, I’ve been asked by my mentors to look at another problem happening with one of the lectures. We need to refactor the database lecture since it has not been possible to use it with runestone as it does not support sqlite3 module. I opened one PR (<a href=" https://github.com/PyAr/PyZombis/pull/171">PR #171</a>.) with a possible solution with an API called IndexedDB. I don’t think this is the best solution so I will keep working on that.</p> <h2>What have you struggled with?</h2> <p>I did struggle with the IndexedDB API. It is not a friendly syntax, in my opinion, which is why I don’t consider it a good option for new learners. I want to find another solution for this but the ones I have looked seem hard to implement. </p> <h2>What solutions have you found?</h2> <p>One of my mentors suggested to look for a javascript solution. Here is a reference <a href="https://sql.js.org/#/?id=example-html-file">reference</a>. I will be trying to implement it this week. Let’s see how it goes :)</p></ol>angelasofiaremolinagutierrez@gmail.com (AngelaRemolina)Mon, 09 Aug 2021 06:06:04 +0000https://blogs.python-gsoc.org/en/angelaremolinas-blog/weekly-blog-post-10/Weekly Check-In #9https://blogs.python-gsoc.org/en/angelaremolinas-blog/weekly-check-in-9-14/<h2>What did you do this week?</h2> <p>We solved the issue that came up last week with the numeration of the lectures. Even though we were using runestone’s last version, the books’ structure changed since 2015 that the book was created. This was making some styling conflicts and some other issues came up. One of my teammates took care of that and now the project is updated. We are still having some small issues, but we are managing it. </p> <p>Apart from this, I made other advances:</p> <ol><li>I had to make a style update to the Brython module. For the output to show on bottom and the content on top. <a href="https://github.com/angelasofiaremolinagutierrez/RunestoneComponents/pull/18">Here is the PR</a></li> <li>I continued with the splitting of lectures with two of the advance ones. <a href=" https://github.com/PyAr/PyZombis/pull/154">PR #154</a> and <a href=" https://github.com/PyAr/PyZombis/pull/156">PR #156</a>. I haven’t continued with these splits since my teammates have been editing them as well, so to avoid conflicts I’m waiting for them to finish it. </li> <li>Finally, I grouped the quizzes with the lectures, and I made a proposal to the PyZombis team to change the menu layout. </li></ol> <p>Here is how the menu is looking right now</p> <img src="https://i.postimg.cc/MKJGxLSh/oldmenu.png"><br> <p>And this is how I’m proposing to update it</p> <img src=" https://i.postimg.cc/tCz9bCDx/proposal.jpg"><br> <p>I would be changing a menu with 41 options, to a menu with only 4 options. Inside these options are the 41 options that were before but splitted and styled in the same way. </p> <h2>What is coming up next?</h2> <p>While I wait for an approval or suggestion to my proposal, I will continue splitting the lectures as I can to not create conflicts with other changes. </p> <h2>Did you get stuck anywhere?</h2> <p>The styling of the Brython module took me a while. I had to add some CSS styles to make it work and I had to try different approaches, but I finally accomplished it. </p>angelasofiaremolinagutierrez@gmail.com (AngelaRemolina)Mon, 02 Aug 2021 17:34:42 +0000https://blogs.python-gsoc.org/en/angelaremolinas-blog/weekly-check-in-9-14/Weekly blog post #8https://blogs.python-gsoc.org/en/angelaremolinas-blog/weekly-blog-post-8-1/<h2>What are you working on?</h2> <p>This week I was splitting all the lectures with the structure that I proposed last week for a better learning experience for the users of the course. For these changes I opened 13 PRs that are now under revision. </p> <p>Right now, to keep enhancing the course experience I’m working on matching lectures with quizzes. That way each time a student finishes to study one lecture gets to practice the same topic. </p> <h2>What have you struggled with?</h2> <p>An issue came up with the structure I suggested. The sublectures were numbered to follow an order, but this made that the next and previous buttons display some html text and not just the title. </p> <img src="https://i.postimg.cc/W45bhQ04/numbered.png"> <h2>What solutions have you found?</h2> <p>I have asked to the Runestone community why this is happening. But if it’s not possible to fix this we have decided to just remove the <code>numbered</code> tag and leave the titles unnumbered. </p>angelasofiaremolinagutierrez@gmail.com (AngelaRemolina)Mon, 26 Jul 2021 21:37:55 +0000https://blogs.python-gsoc.org/en/angelaremolinas-blog/weekly-blog-post-8-1/Weekly Check-In #7https://blogs.python-gsoc.org/en/angelaremolinas-blog/weekly-check-in-7-18/<h2>What did you do this week?</h2> <p>This week I continued to improve the user experience for the course.</p> <ol><li>The PR that I mentioned last week (<a href=" https://github.com/PyAr/PyZombis/pull/129">PR #129</a>), where I replaced the code screenshots with codeblocks and eliminated repeated titles, had some corrections to do. I already implemented them and is under revision again.</li> <li>I added the introductory video in the index. <a href=" https://github.com/PyAr/PyZombis/pull/130">PR #130</a> </li> <li> I did a proof of concept to divide the readings by topic into shorter sublectures. <a href=" https://github.com/PyAr/PyZombis/pull/132">PR #132</a> </li></ol> <h2>What is coming up next?</h2> <p>This last proof of concept seemed very useful and more organized to my colleagues and mentors. This upcoming week I will be implementing the same structure with all the other lectures.</p> <p>If I finish early, I plan on grouping the lectures into subgroups with each quiz. That way the menu looks with no more than 7 items (following UX rules). Instead of the large list that is displaying right now.</p> <h2>Did you get stuck anywhere?</h2> <p>I did not get stuck. I had to pause my work to make corrections that were necessary, but I continued working just fine :)</p>angelasofiaremolinagutierrez@gmail.com (AngelaRemolina)Mon, 19 Jul 2021 21:45:40 +0000https://blogs.python-gsoc.org/en/angelaremolinas-blog/weekly-check-in-7-18/Weekly blog post #6https://blogs.python-gsoc.org/en/angelaremolinas-blog/weekly-blog-post-6-3/<h2>What are you working on?</h2> <p> This week I made some fixes, enhancements, and new things: </p> <p><b>Fixes:</b> I worked on the Brython console. The output was given as a static block and when the text shown was very large, you could not see it due to the size of the iframe. To solve this, I implement a CSS style that allows the block to be scrolled and resizable. I also added another style called sticky, so that the console is always visible at the top of the iframe and the rest of the content below it. <a href=" https://github.com/angelasofiaremolinagutierrez/RunestoneComponents/pull/16">Here is the PR</a></p> <p><b>New things:</b> An interactive Python interpreter was required for the first lecture. For this I used a Brython library called Interpreter and added them to the first lecture of the course TWP05. <a href=" https://github.com/PyAr/PyZombis/pull/127"> Here is the PR</a></p> <p><b>Enhancements:</b> Lastly, I did a general review of all the lectures. I removed the content that was duplicated (like: titles, images, text), change some images that were screenshots of a fraction of code, for elements like code-blocks, code-lens or activecode. <a href=" https://github.com/PyAr/PyZombis/pull/128">PR #128</a> and <a href=" https://github.com/PyAr/PyZombis/pull/129">PR #129</a></p> <h2>What have you struggled with?</h2> <p>Runestone uses a tool called Sphinx to build the projects. I have struggled with its limitations and learning the syntax for reStructuredText files. For example, to color text it is needed to embed html. It does not have an instruction for that.</p> <h2>What solutions have you found?</h2> <p>The <code>.. raw::html</code> instruction helped me. Since is writing in HTML syntax it has more documentation coverage and it allowed me to add color to the text.</p>angelasofiaremolinagutierrez@gmail.com (AngelaRemolina)Mon, 12 Jul 2021 20:01:01 +0000https://blogs.python-gsoc.org/en/angelaremolinas-blog/weekly-blog-post-6-3/Weekly Check-In #5https://blogs.python-gsoc.org/en/angelaremolinas-blog/weekly-check-in-5-17/<h2>What did you do this week?</h2> <p>As I mentioned in my previous Blog Post my mentors were reviewing the console improvement for the Brython module. It was approved! :) So, we are officially done with this new tool that is helping with the exercises that had limitations due to Skulpt. I started to do a sketch of what I would like to implement graphically for the course (bootstrap buttons, forms, etc). But after a reunion with the mentors, we have decided to do these changes after the first evaluation period to avoid conflicts with the changes that are being done with the exercises. </p> <h2>What is coming up next?</h2> <p>In the reunion they suggested to implement a Python interpreter for the first part of the PyZombis course where we want to show students how to write expressions and not to construct a whole program for it. For example how to print a line of output like “2+2” without actually writing <code>print(2+2)</code>. <a href="https://brython.info/tests/console.html?lang=en">Here is a reference</a>. So that is what I will be working on this week. And some other minor improvements reviewing old pictures that are outdated or that just not apply to the context. Like reference to the IDE code highlighter. e.g. “When you write print you can see the word is purple, that is because it is a reserved word…”. As we are not using the same IDE anymore, this kind of clarifications must change.</p> <p>Also, I will be communicating with the Runestone community for the upcoming front-end changes and ask if it is possible to change the books layout. </p> <h2>Did you get stuck anywhere?</h2> <p>I would not call it stuck, but I could not continue with some of the work I started. For example, for the course I wanted to show the PyZombis logo instead of the Runestone icon, but as we are building the course as a Runestone Book we cannot do that, and I did not know that. So more than getting stuck, it was that I had to reformulate my ideas and undo some of my advances. </p>angelasofiaremolinagutierrez@gmail.com (AngelaRemolina)Tue, 06 Jul 2021 04:50:11 +0000https://blogs.python-gsoc.org/en/angelaremolinas-blog/weekly-check-in-5-17/Weekly blog post #4https://blogs.python-gsoc.org/en/angelaremolinas-blog/weekly-blog-post-4-2/<h2>What are you working on? </h2> <p>This week I kept working on the console that shows outputs and errors on screen (inside the iframe output) and I have finished it. I made two approaches:</p> <ol> <li>Overriding the <code> console.error, console.debug, console.info and console.log </code> javascript methods, <b>only when they are called inside the iframe. </b>I made sure that these new methods keep logging on the browser console but also display the message on a pre tag inside the iframe. <a href="https://github.com/angelasofiaremolinagutierrez/RunestoneComponents/pull/11">Here</a> is the PR for this approach.</li> <li>Redirecting <code>sys.stderr and sys.stdout. </code>Similar to the first solution, I redirected these two Python methods so they show the errors and the <code>print()</code> outputs on a pre tag inside the iframe as well. To catch the errors I used a <code> try except </code> with a <code> exec() </code> function inside, that runs the program captured in the text area. <a href="https://github.com/angelasofiaremolinagutierrez/RunestoneComponents/pull/13">Here</a> is the PR for this approach.</li> </ol> <p>On both approaches I used the highlight.js library when there is an error to color key words. </p> <p>My mentors are reviewing these two approaches to see which one is better. They were the ones that recommended a second approach on the first place because overriding console.log does not look like a good idea. </p> <p>Once this gets merged, I would finish my <a href="https://github.com/angelasofiaremolinagutierrez/PyZombis/milestone/1">first</a> milestone. And start working on the <a href="https://github.com/angelasofiaremolinagutierrez/PyZombis/milestone/2">second one</a>. </p> <h2>What have you struggled with? </h2> <p>I struggled finding the second approach. Before I got to what I have now, I tried a lot of other alternatives but those were not working. I submitted an <a href="https://github.com/angelasofiaremolinagutierrez/RunestoneComponents/issues/12">issue</a> logging what I tried. My last attempt was missing the <code>try except</code> sentence for it to work. I could solve it, but I did struggle finding the solution. </p> <h2>What solutions have you found? </h2> <p>I joined the <a href="https://groups.google.com/g/brython/c/MbGfjV7M788">Brython google group</a> where other people were having similar issues to mine, and I received a lot of help there: :D</p>angelasofiaremolinagutierrez@gmail.com (AngelaRemolina)Mon, 28 Jun 2021 15:26:33 +0000https://blogs.python-gsoc.org/en/angelaremolinas-blog/weekly-blog-post-4-2/Weekly Check-In #3https://blogs.python-gsoc.org/en/angelaremolinas-blog/weekly-check-in-3-19/<h2>What did you do this week?</h2> <p>I achieved the Brython module! :D you can try it <a href="http://pyar.github.io/PyZombis/102/lectures/TWP45.html">here</a> in an exercise I did that works with the Facebook API getting the profile picture. The mentors are reviewing my <a href="https://github.com/PyAr/PyZombis/pull/102">PR</a> on this component that will help implement the advance exercises of the course. This PR changes the requirements of the project, so it uses my fork of Runestone that has the new option for active code blocks with Brython. </p> <p>I also submitted a <a href="https://github.com/RunestoneInteractive/RunestoneComponents/pull/1208">PR to Runestone Components</a> repository. If it gets accepted and merged PyZombis will not have to reference my fork on its requirements which would be a great thing. </p> <h2>What is coming up next? </h2> <p>I started working on some upgrades the mentors suggested for the Brython option. Right now, the output displays an iframe with an embedded html page that shows the results. But when a Syntax error is made or the simple <code>print()</code> function is used, these results are shown on the browser console rather than the iframe. I look forward to having a console, that displays below the iframe the errors or logs that are written. </p> <h2>Did you get stuck anywhere? </h2> <p>I did not get stuck. I solved the issue I was struggling with last week, about the Runestone project and I ended up with a great outcome! I am happy with my achievements this week and I hope to keep this work rhythm up :)</p>angelasofiaremolinagutierrez@gmail.com (AngelaRemolina)Mon, 21 Jun 2021 22:25:56 +0000https://blogs.python-gsoc.org/en/angelaremolinas-blog/weekly-check-in-3-19/Weekly blog post #2https://blogs.python-gsoc.org/en/angelaremolinas-blog/weekly-blog-post-2-3/<h2>What are you working on?</h2> <p>This week I have been working in creating a Brython module as a runestone component. The idea is to be able to write something like this:</p> <code> .. activecode:: <br> :language: python3<br> :python3_interpreter: brython<br> from browser import document, alert, html<br> <br> def hello(ev):<br> alert("Hello world! I'm using Brython now")<br> <br> document &lt;= html.BUTTON("My button", id="button_alert")<br> document["button_alert"].bind("click", hello)<br> </code> <p>And it shows you an active code block that can be rendered to do what the inner code specifies. This can be done using the html tag (see image below) and inserting the Brython script. But the idea is to achieve the same using writing only the inner python code (pointed on red in the image)</p> <img src="https://i.postimg.cc/C57H0bL3/brython-test-on-html.png"> <h2>What have you struggled with?</h2> <p>Familiarizing myself with a new project structure and finding where to put my ideas and my code has been challenging. I have tried to follow similar PR where they implement a new directive to see what files I should change, but even though I am following all the same steps, it isn’t working yet.</p> <p></p> <h2>What solutions have you found?</h2> <p><a href="https://github.com/angelasofiaremolinagutierrez/RunestoneComponents"> Runestone Components </a>is a big project! But I have join their development community on Slack and I have been getting help from my mentors as well to guide me across the project.</p> <p>I have talked to my mentors about this difficulty I’ve been having. They are reviewing my work, but they suggest looking for other alternatives to make it work. I have two alternatives to make this work: 1. The html tag mentioned above, and 2. Using the .. raw:html directive for the rst files and doing some <a href=" https://runestone.academy/runestone/books/published/instructorguide/ActiveCode/python.html#dom-access">DOM access with activecode</a>.</p>angelasofiaremolinagutierrez@gmail.com (AngelaRemolina)Mon, 14 Jun 2021 23:44:26 +0000https://blogs.python-gsoc.org/en/angelaremolinas-blog/weekly-blog-post-2-3/Weekly Check-In #1https://blogs.python-gsoc.org/en/angelaremolinas-blog/weekly-check-in-1-7/<p>Hello! My name is Angela Remolina. I am working this summer with Python Argentina for the project PyZombis. During all GSOC period I will be posting each week here on my blog updates of my work, starting today! :D</p> <h2>What did you do this week?</h2> <p>The community bonding period helped me to know my mentors and my coworkers and set a communication media and a working plan for the next weeks. </p> <p>I put the milestones mentioned on my proposal as GitHub milestones in my <a href="https://github.com/angelasofiaremolinagutierrez/PyZombis/milestones">forked repo.</a></p> <p>Also, an upgrade needed to be done. One of my mentors helped me with a guide on how to test this update of the versions with pytest-playwright with and <a href="https://github.com/PyAr/PyZombis/pull/78">example.</a> I also did a <a href="https://github.com/angelasofiaremolinagutierrez/PyZombis/pull/10">test</a> with pytest-selenium. </p> <h2>What is coming up next?</h2> <p>I will start to work on a navigation test made with Playwright to solve the <a href="https://github.com/angelasofiaremolinagutierrez/PyZombis/issues/1">first issue. </a> Then, I will start working on the Brython module for runestone. Here is the sub-milestone for this part of the project: <a href="https://github.com/angelasofiaremolinagutierrez/RunestoneComponents/milestone/1"> Here</a>. </p> <h2>Did you get stuck anywhere?</h2> <p>No, I did not. My mentors and peers were very helpful :)</p>angelasofiaremolinagutierrez@gmail.com (AngelaRemolina)Mon, 07 Jun 2021 18:21:25 +0000https://blogs.python-gsoc.org/en/angelaremolinas-blog/weekly-check-in-1-7/