Monday 6 December 2021

Release 0.4 #2 - Progress and Backup

This week I switched gears and plans for release 0.4.  I found I am inadequate with finishing the three Telescope issues and made a backup in case I am unable to solve them in time.  My backup for my main issue is participating in Advent of Code and learning and coding in python while starting out the first five days of the programming challenge for December.  I feel this is truely open source if I share my experience of how to solve some of the beginning issues so that others may see how it can be done.  I have marked the issues for my repository as #1, #2, #3, #4 and #5 for each  of the five days.  I feel I am more confident in finishing this task rather than struggling with Telescope.  I am not dropping the Telescope issues yet, but I need to finish tasks where I can be allocated some marks rather than none.

Open issues have dried up significantly since Hacktoberfest, but I would like to address my previous issues that I made a pull request but did not merged by author.  One of these issues, is the Chinese chess repository the author has kindly responded and I made the corresponding changes.  Another is a pull request where the author has not responded, but I made a test Vercel website to verify that everything works at this link.  I did this because our professor mentioned in a comment during release 0.3, that he wants me to finish issues.  Thus when I have extra time I will also look into the Telescope issues.

On the note about Advent of Code it is very interesting, there is a recurring theme on each of the Days of the code and you only input an answer for each of the Days of the month.  For those who doesn't know you can have a private score board and people try and compete with each other for points and stars.  You get one star for each question completed and two for the day if you also complete the challenge part 2 for the day.  I want to thank my Algorithms professor Catherine for the idea and showing the event to us.  I feel like my ability to write better python code or any other language stretched to its limits as each day, presents a new challenge.  I made progress by finishing pull #6 and will finish the rest by end of this week.

I am also busy studying for finals like everyone else this week.

Kind Regards,

Eugene Chung

Saturday 4 December 2021

Release 0.4 #1 Disaster management

Introduction

I believe at the start of the week I reset my computer, however as I tried to create a recovery drive I accidentally wiped the wrong drive which is my main backup.  Long story shot a lot of data was lost and time to reset everything.  That was last week.  I'll be real honest with this post and life happens not the way you intend, but there is hope.

 The Issues

I was only able to select a Secondary issue on IPC144 to continue my search from release 0.3.  In addition, I have to start over with the search issue and I have yet to begin looking at viable solutions due to pressure from my other courses.  Sometimes students need to be pushed to their limits in order to simulate real world scenarios where deadlines are not met in time.  The beauty of open source is that it can be picked up quickly and not all is lost as long as I push through in the end.  However this maybe another big task as I thought i was suppose to finish my previous work which is now scrapped.

As for my main issue is a combination of three issues from Telescope.  It is maintenance work on updating logger to use printing API in pino.  The relating issue is removing all elastic APM code from telescope  and update pino to make sure everything works.  I probably need a lot of help with these issues as I  have no idea how they work because they may seem trivial as a logger tool in Telescope.

Overall my motivation at the moment is low and I am sure there are many low points for everyone.  Hopefully I find the strength to push forward with these issues in the end and manage studying for my exams with my other courses. 

Kind Regards,

Eugene Chung

Friday 26 November 2021

Lab 10: Software Release

 Introduction

This week we are looking at software releases and getting our code into the hands of users.  We are working with git tags, package managers and user testing.

Step 1: 

I am using Node.js so I picked NPM as my release method as suggested.

Step 2: Implementation

The only tricky part of this lab is needing the --access public in order to publish the package publicly.  This is the only part that I got stuck and needed to search on Google.


Other things such as having the correct version number for each iteration of release in package.json and making sure the package installs locally and works as intended.

Step 3: Tagging Releases

 This is relatively straight forward.  I created tags on main and used git to push --follow-tags.

Step 4: Do A Release

My release is located at https://www.npmjs.com/package/@ycechung/cmd-ssg, and I finalized on version 1.0.2.

Step 5/6: Update Documentation

I made sure my documentation is updated and pushed on Github.  In addition, I made sure others know about my release and tested installing my project using npx.

It is near the end. Labs are done.

Thanks for Reading,

Eugene Chung

 


 

 

Friday 19 November 2021

Release 3.0 #2 IPC144

Introduction

 After doing the Docusaurus Lab, I was keen on doing an issue related to it.  At the time, issue-10 was one of the few issues in IPC144 website.  I have mixed feelings after seeing how complicated this implementation could get, but I am glad I have taken on this challenge.  This is definitely one of the hardest issues I have worked on for Github to date, because the documentation on Facebook Algolia website is not very clear on the entire process of implementating search and that it is outdated if you used their service.  Therefore I found out that I have to build my own index using a custom scrapper application.  I broken the issue down into just building the index for my pull request and branching to two more issues, #69 and #70 for the future.

Steps to Creating Index

Based on the CONTRIBUTION.md file I modified, I added the following

1. sign up for an account on https://www.algolia.com/users/sign_in

2. create a project for the purpose of creating the index

3. add an 'INDEX_NAME' called 'docusaurus'

4. Add API_KEY and give rights (`search, addObject, deleteObject, editSearch)` for the key

5. SITE_URL is the deploy site, but siteindex needs to match it in order to crawl it

Implementation

The Algolia scrapper is run on the Docker platform on Ubuntu linux and I made a bash script for it called scrape.sh, in which the Github Actions CI is run to call it.


















The bash script is as follows:

Just running the script locally gives the following result.


The Experience

The practice of working with Git on this repository is a good experience especially reviewing squash and re-basing over twenty commits is a unique experience.  The order to get things merged and reviewing other's pull request is also interesting.


Useful links

Algolia Integration Docs

Using Algolia Search

Deployment

Algolia API

Algolia Docsearch-action

Take care Release 0.3

Kind Regards, Eugene Chung

What I learned from Project 1 of Udacity's Data Science with Python bootcamp

Introduction As part of the project I completed successfully, I used SQL to explore a database related to movie rentals. SQL queries was ran...