My outreachy internship with Open Information Security Foundation has ended and this marks one of the last blog posts for it. I can’t believe I’ve come so far. I still remember the day when getting into outreachy was just a dream to me. And when I made that dream come true and got selected, I was so afraid that I got thoughts like “what if I’m not good enough? What if I couldn’t complete a task? What if I’m not showing any progress?” and now here I am successfully completing the internship, feeling more confident and motivated.
In this blog post I’ll point out my challenges I faced and what I’ve gained throughout my journey.
The Internship started with simpler tasks so that I could get a better understanding of the codebase and know things which were still unclear to me. Well, this time was more of a learning phase for me.
During the second phase of the internship my mentors gave a bit of the complex task compared to the previous ones. During this time, I started feeling lost with my progress, struggling and figuring out correct approach to solve a problem. One of the challenge I had during the internship was in keeping the communication clear with the mentors and trying to explain them where I am stuck at, which now, I think has improved a little.
The third phase of the internship was to add important features to the project. I remember there was time when I decided to give up on the task after trying every possible way to find the correct approach to the problem while I was stuck into it. I decided to take a break and talk to my friends. Next day I was able to find a way to approach the solution. Sometimes sitting on the problem for hours does not give you the solution. You need to relax and refresh your mind and handle things patiently.
I’ve mentioned about the description of the tasks I’ve completed in the first two phases in my previous blog posts. For the third phase of internship I’ve contributed to the following parts of the project :
- Log a warning if index is old: Added a check to log a warning if the index file is older than 2 weeks and user needs to update it by running suricata-update update-sources.
- Added “check-versions” subcommand: Added a “suricata-update check-versions” subcommand that checks the version of suricata and logs if the versions are up to date, outdated or EOL.
- Separated log messages to stderr and stdout: Currently, all the messages in suricata-update are logged to stderr. Changes are made to split between log messages where regular output (INFO, DEBUG) goes to stdout whereas ERRORS, WARNINGS and CRITICAL messages goes to stderr.
- Added a check to apply color if output stream on tty
- Added “no-checksum” option: Added a –no-checksum option to the add-source command of suricata-update. It will skip downloading the checksum URL if the source is configured with no-checksum true.
You can find all my contributions to the project on the github page.
The internship has helped me build many skills. I never thought if I could ever write a blog post. I just loved the way we got a theme for every alternate week taking time to brainstorm and think outside the box for every blog post! Apart from this, it has helped in communicating through chat and emails effectively.
In technical terms, I’ve learned about so many things – Logging, argparse and operating system interfaces in python, contributing to the documentation, writing clean code, etc.
Additionally, I’ve learned to ask questions and be less afraid of making mistakes. I have gained so much motivation to reach everything I want, with hard work and consistency. I have finally let go of all my apprehensions to learn newer technologies, frameworks, skills! I can’t emphasize how big an achievement it is for me. And I could do this over a couple of months as opposed to a year and a half that I’d been trying for.
I had an awesome time during these 3 months. It’s really hard to bid farewell to this internship.
Thank you to all my mentors Shivani, Jason and Victor for giving me this opportunity and for all the guidance and support. You all are amazing people. 🙂 Hoping to learn more things from you all in future and meeting you in person.
Thank you outreachy organizers for bringing this opportunity, hosting weekly zulip chat sessions and for awesome blogging assignments and lastly thank you to everyone else who too worked hard to make all this happen!
Thanks for reading! 🙂