Skip to main content

Posts

Showing posts from 2020

Entangled Strings - Some JavaScript wisdom for when you get entangled

I get these Strings entangled sometimes. You gotta know your stuff well enough to speak to computers these days. They don't argue with you. They just do as you type, maybe say in some cases. Let us debug πŸ‘©πŸ½‍πŸ”§ str.charAt(index) !== str[index] in some cases and here's why: str.charAt(index) returns "" if no character is found at the given index BUT str[index] returns undefined instead. Do you even know what to do when you find me? This never logs because I am at position 0 and that's falsy . All you had to do was check for negative vibes. Now, you know I only do positive vibes yea?😏 Let's try this again. We found her! This logs because I check for negativity   instead. Using  str.indexOf(searchValue)   means to expect -1 when the search value is not found or a value >= 0 when it is found. Now, I know you heard stuff about  str.substring(2) === "POSSIBLE" being true. Yes, POSSIBLE is in fact a substring of IMPOSSIBLE. He

Wrapping Up Internship

Wrapping up internship ... Unwrapping Contribution The one fear I had about the internship was not making it past the first month. Not only did this not come true but I made it till the end of the internship. The amazing thing that happened during the internship was the sudden boost in my self-esteem. Outreachy internship helped me improve on my communication skills through my mentors; who are my accountability buddies and managers . It was easy to communicate progress, blockers, and feedback. The internship helped grow my debugging and problem-solving skills through blockers.πŸ˜… I always tried debugging issues while awaiting help from my mentors. I would go ahead with other tasks and take short breaks to debug...see if I'd catch something new.☺My coding skills did improve as well, through study (code learning and online learning) and practice. My mentors also had me explain my code sometimes to be sure that I understood what I was writing. My Outreachy mentors helped me g

Feedback makes the difference

COMMUNICATE your opinions. Feedback is someone giving their opinion(s)  on what you are doing or have done. Feedback is used as a basis for improvement. Some go further to tell you what could be improved. Feedback is my sixth love language . I get feedback from friends, colleagues, mentors, bots, software applications and others. I request feedback of people I work with because I strongly believe it aids my growth . I also give feedback; pointing out the fact that the opinion is personal because different feedbacks(views) can be given on the same issue/scenario. This is why I refer to giving/receiving feedback as an exchange of personal opinions . I give constructive feedback. I prefer to get constructive feedback as it is specific, helps me understand what is to be improved on and what I already do well. Feedback goes a long way. During the  Facebook Mentoring program, my mentors gave feedback on my performance at the end of every session and I have improved on areas like my commu

Constructive Feedback

GROWTH  is being able to deal with  Criticisms  as well as you do  Praises . Constructive feedback  is information-specific , issue-focused , and based on observations . It can come in the form of Praise(favorable)  or Criticism(unfavorable). One important point to note is that it is based on opinions or feelings . My feedback to you on somethings is my opinion about it, relative to you or the actions taken. I am direct with my feedback. Being direct and sincere when delivering feedback is very important as your feedback could be misinterpreted if not delivered in the right manner. I love feedback as much as I do chocolates. Examples of constructive feedbacks I have gotten: Jenkins: The Jenkins build for my first Wikimedia contribution failed because I had trailing spaces and commas in my code. I would normally have ignored it but I had to make conscious efforts from that point onward. My technical mentor from the Facebook Mentoring Program: To think out loud whenever I am try

Career Opportunities

I love to explore. I am looking for graduate internship, as well as full-time job opportunities that allows me the opportunity to build a career in technology. I have spent the last few weeks contributing to  Mediawiki API Integration Tests . As a result, testing piqued my interest. Hence, I am open to writing more integration tests πŸ˜‡. My JavaScript skills have improved during the course of my Outreachy internship with the Wikimedia Foundation . I also have experience building user interfaces with React Js , collaboration tools like Phabricator , Gerrit and Jira . After the training from my mentors over the last few weeks, I can also boast of my integration testing skills using Mocha and Chai . I would love to learn the hard skills required of a Security Engineer. Skills like Windows, UNIX and Linux Operating Systems , Virtualization technologies , IDS/IPS, penetration and vulnerability testing and the likes. Cybersecurity is a career path I would love to explore. My communicat

Modifying Expectations

It is very fine to modify your expectations... Initially, the estimated and actual completion date for my internship project was not specified. Resource estimates had 100 to 200 hours for writing the tests. So far, I have been able to meet some goals. Some of them include me being able to: learn the existing codebase test some success and failure scenarios for the edit , protect , rollback actions learn the basics of integration testing learn how to write tests using mocha learn the basics of the chai assertion library learn some vanilla javascripts fundamentals In the first half of my internship, I have been able to accomplish the goals listed above plus some extra learnings like:  Promises, async/await concepts technical writing team work open source contribution Setup took longer than expected but the progress since setup improved greatly. It took way longer than expected because I had no understanding of  docker  and some other technologies needed for setup

Think about your audience

My audience is what I like to call the Arc Reactor to my Iron Man suit. The mission if the Wikimedia Foundation is to bring free educational content to the world. Wikimedia is a global community id contributors and anyone who shares Wikimedia's vision to collect and share knowledge that fully represents human diversity is very much welcome to participate in the community. Imagine a world where every single human being can freely share in the sum of knowledge .   The purpose of integration testing is to expose show you how well modules/units in your software interacts. Hence, the community is rest assured that changing or refactoring Wikimedia won't break the API. In the past month, I have learnt quite a number of things just as I have made my own share of mistakes. Remember,  Everybody Struggles . The most interesting thing I learnt is that Wikimedia powers Wikipedia. I have used Wikipedia as my go-to for answers for years now and I never even knewπŸ˜ƒ. I also did learn

Everybody Struggles

I did struggle, more than a bit actually. During the application process, I was stuck on setup as I mentioned in  Experiences applying to Outreachy . This was resolved with help from my mentors and  Adam Shorland . Upon commencement of my internship for Mediawiki on the project  Improve Mediawiki Action API Integration Tests I ran into issues and got stuck on setup AGAIN. This was strange as I was active all through the application and waiting process. I had 94 tests passing, 1 pending and 38 failing as opposed to the current status of the tests which was 133 tests passing, 1 pending and 2 failing. I just didn't understand the errors to start with. It was very confusing for me as things were fine days earlier. I spent hours tying to understand the errors. I tried deleting the current setup and started all over but the errors persisted. I tried  https://www.mediawiki.org/wiki/Manual:Installing_MediaWiki_on_XAMPP  and  https://stackoverflow.com/questions/38378914/git-error-rpc-fai