Angular ngx-bootstrap bug fix #3

For my release-0.3 i decided to work on some date-picker issues that seems to be piling up. the first bug that i came across wasn’t really so much as a bug, but i feature request. the user wanted to see the date picker close when the tab button was triggered. the next issues was an actual date picker bug that didn’t allow the user to exit the date picker unless you clicked out side or select some giving date. so i decide to try and work on both of these at the same time.

after doing some research, and reaching out to some people in the community about locating or even getting started it quickly became evident that i had my work cut out for me. so  decided to Digg deep and put some trust in my reliable IDE ‘web storm’  :).

web-storm is a great IDE with some cool features like ‘Find usages’,  and more more that can really come in handy for times like this. Find usages provides different search options depending on whether you are searching for usages of a class, method, field, parameter. after finding what i needed i had to make a decision for the feature request.red_pill_blue_pill-copy3.gif

i could have easily duplicated what was already inside the host: {} and set it to call a hide() function, but i had know idea what i was doing.

i decided to track this small block of code ‘(keyup.esc)’: ‘hide()’ across four files. it took me a couples of days to understand what was going.

it was a headache at times, but the process was a good one.

Advertisements

Getting Started With Angular Material Bug

the journey continues with the second part of Seneca open source project
osd700. osd700 is a 7 release bug base course that gives you the freedom of working on any project large or small. the first project that i decided to work on was based upon helping Kansas city to collect street light data with the hopes of obtaining smarter street lights, but unfortunately it did not work out so i put my focus onto angular material design. angular material s a specification for a unified system of visual, motion, and interaction design that adapts across different devices. the bug that i decide to work out involved the fixing of jshint warnings. This was a simple,but good bug to get me started.

the first issues that i ran into was the building of the material repository, but after having a chat with mt fellow class mate, and professor i was back in business. a easy way to find all the jshint warnings is to run “gulp jshint” from and command prompt inside the project. this little command was a time saver

Example of JSHint fixes
diff1.JPG

Material Examples:

matBut.JPG

Bug Release 0.2 Update

Hello Again as i previously stated in my introduction for Release 2.0  my confident was shattered going in to this project. but after spending some Time to properly research the bug before i ask to be assigned. i was very confident that i had the ability to solve this bug. the issues in question needed to Styled console logs with unit-less line-height default to px unit. this seems to only affect the new Mozilla fronted even though the server was returning the correct style

ConsoleErr.JPG

after consulting with my professor.he took to time to help me get up to speed with some java-script that might help me to solve this bug. both my professor and hi was amazed at how the developers was using the bowers to perform some cool debugging. my first approach to this was to leave the code as is,but create a function that would perform some clean up before it reaches the dictionary

firstApp.JPG

The developers suggested that i should create a dictionary with key “line-height” that can also be checked by the browser, but this would seem costly as it would call for more files to be edited.

secApp.JPG

stub-snippets.js

stub.JPG

this define a stub aka JSON objects, and because it was modified it will also needed to updated. i also had to make sure that the browser was able to check if lineHeight style is 1.5 and not 1.5px.

browser.JPG

the bug was successfully push for review and is awaiting approval.

AllGood.JPG

mozreview.JPG

Bug Release 0.2

with this semester coming to a close, we where giving our second  and last bug release. my confidence has been shattered after my completion of my first bug release. at this point in my computer programming journey i can be completely honest to say that this is not my cup of tea. due to the fact that i  like to know what i am doing before i do it. most of these bugs are focus on a language that is some what foreign to me. this time around we are encourage to find more challenging bugs,but my goal was to try and find something more simple like erase some lines or change functions name etc, but no such luck.

i have decide to work on a Mozilla Firefox Developer Tools project that as issues with java-script not displaying the styles properly in console logs. i believe that is will be a good project to show some growth and help me to  build back my confidence. i  will also create a fail proof plan just in-case that this bug don’t work out

Testing Python with Travis CI

Continuous integration is an important part of software development and has Many advantages, such as a faster development cycle, And higher software quality. Travis CI is a service that provides continuous integration and will test your software project for every change. Their service provides testing environments for many programming languages including C, C++, C#, Java, PHP, Python, Ruby, and just to name a few.

To Get Started with Travis Ci, You must Allow Travis To know about your GitHub public projects. Login to Travis CI and press the “+” button. Next, flick the repository switch on for your repo.

switchJPG.JPG

at First i did not see any of my repositories, but after i hit the sync button to refresh the list of public repositories.

Next is to create  a .Travis.yml File in the root of The project repo to start a build configuration. This can vary from language to language and even if your project is using the command line.

build.JPG

  • The ‘language’ section is used to specify the language of the software.
  • The ‘python’ section is used to specify the version or versions of Python to use for testing.
  • The ‘script’ section is used to specify the command to test your software. Typically, this command will find all tests in your project and run them. The specified command must exit with a status code of 0 if the test is successful; otherwise the test will be considered a failure.

 

Lastly is The Process of Triggering The Build. the step is very easy just push the commit that adds “.travis.yml” to the project, and Travis will get to work

final.JPG

Mozilla first Bug

the  plan for my first bug fix “0.1 release” was to play to my strengths.  i wanted to work on bugz that affected languages such as c++,java or python with the hopes of learning some real world problem solving that can be applied to my resume. a good portion of the bugs that a listed under “Good first bug” seem to be aimed at more front end languages like java script, css and so on. this issues made landing a bug a bit tricky. it took me two weeks to land my first bug. the bug that i landed was css base and was asking to Remove the dotted focus border from selected row. this one seem very simply at first. the instruction was straight forward.

  1. clone Mozilla central
  2. build the repo
  3. use yarn to inspect what was causing the issues

using yarn to find the issue took some time, and some assistance from my professor. we decide to apply “outline: none !important” to the request-list-item .after submitting the patch i was old that by using “outline: none !important” would cause future problem when debugging the css, and  should look into using “:-moz-focusring”. after doing some more research i  finally fix the problem, and proceed with submitting the final patch. after my submission a users pointed out that by removing the dotted line might cause a break in the keyboard accessibility. after this they decided that it would be best to leave the bug as it is  so we won’t break the keyboard navigation. i was very disappointed with this decision, but was happy that i made some progress

creating a github Library

for this week lab we was instructed to create a simple library that can perform some simple task, such as calculate different hash codes,read file size, and display file name with out the path. this task was to be performed by using one of five Language. JavaScript (or TypeScript) and node.js, Python, Rust, Go, or Swift; i descended on going  with python because of its growing in popularity. getting started with python was fairly easy; the syntax makes it easy to write and not hard to read,but difficult to analyze. i was able to find some open source python code that i can re use,but decided to try and implement them my self so i can get some better understanding of how python works. the second part of this task was to create a git-repo with the appropriate License,and a well documented read me file instruction on how someone can  use or make changes to the library.
read_me.png

we were also  ask to contribute to someone else library, but at this time i have not yet gotten the chance to do so.