March 30 2023

How to get started with hackathons?

Well, its good to see how people have started taking an interest in the astounding field of hackathons; I remember when I started my journey in 2019, I actually had no idea what this word even meant, but the only image that was in my mind is of someone hacking my Facebook and text to the girl that I never got the courage to write.

This blog is especially for those who are starting their journey with hackathons; if you are someone who just decided to give it a try for the first time, I hope reading this blog might help you get the most out of your event 🙂

  • Firstly, remember hackathon is never about technology nor about ideas; it’s all about an experience, so just focus on that.
  • Team building could be an initial challenge, always be hyperactive and draft a message expressing yourself, what you are here for, and mentioning that you are looking for teammates. Generally, most hackathons use media like discord and slack to communicate, and you will always find a channel with a name like #find-a-team, or you can just write to members of the track directly.
  • Always share your LinkedIn or any social platform to grow your network; even if you are not on the same team, remember connecting with people is always paramount.
  • Also, it’s not even essential to know even a single technology to take part in any hackathon. You can always contribute with idea development, research, presentation, logistics, and a ton of other things.
  • But what I really suggest is that a hackathon is a perfect place to learn and grow, so you can always learn things and apply at the same time.
  • The other exciting part is to reach out to amazing mentors when you feel stuck or if you are unsure about any implementation, it could be as small as not deciding on the right idea, code not running, or even nothing at all working out.
  • Another critical aspect of a hackathon is to engage with workshops and activities going across the place; these activities keep you motivated as well as most of the time, you get the opportunity from some of the very learned and experienced people.
  • On the prospect of searching for potential jobs, I personally consider hackathons a very good place. Just as we want good companies, good companies also want to have employees who have excellent skills and mindsets, while hackathons are one of the perfect places to find this delicate intersection.
  • So constantly interact with the sponsors of the event and drop your resume with a message to consider you if they come across any good opportunity where you can contribute, I can say this personally works, and for me, it actually helped me to work with an exciting silicon valley startup.
  • A very common question apart from just experience and how to have a good experience is how to come up with a really good project; the answer to this question actually much simpler, remember, it’s just 70% of impact and 30% of technology. A common mistake I see people making in hackathons is that they always look for technology. If you ask me, I suggest you focus on the positive impact you can bring from your work rather than just the tech stack.
  • Generally, we find hackathons of straight 24 or 48 hours(there are even longer events such as a week-long, a month-long or even more), so working continuously for these many hours could be challenging, especially when you have a bunch of other things to do as well. Well, as these events are global, there are more than chances that your team will be from people of different time zone, so you can always plan by distributing the work and keeping each other in the loop with the updates. Even playing a few games in between and just talking or listening to music also helps.
  • When you and your team are done with the work, remember to conclude all with an excellent presentation and show it in the way you thought of it with you first came up with the idea.
  • Finally, when you submit your work, always thank your wonderful teammates for their work and tell them that no matter what the results will be, they all have worked wonderfully and how much you loved working together.
  • If you win the event, that’s great, but even if you don’t, make sure you write a good message congratulating winners and thinking of the organizers who put so much hard work into making this event possible.

The image below is AI generated image based on the content of the blog; also, if you feel you have more questions still to ask, click on this link to schedule a quick meeting with me and get your answers :

AI generated image of the partial text of the blog
AI-generated image on the base of text in the blog

<Disclaimer: Just one of my professor advised me to write in precise points and focus on the key ideas, so I am trying to do the same with this blog, not just with my answer sheets>

Ps- Writing this blog doesn’t actually feel like writing at all; it’s just like me expressing my other half :-), so please don’t mind if you find me flowing in emotions.

March 6 2023

Decrypting Cipher Text Encoded Using 8 Rotor Encryption machine

Cryptography is a beautiful subject; it’s full of mystery, thrill, and of course, filled with wonders of joy. So in this blog, I share my experience decoding a cipher text encoded using an 8-rotor encryption machine. So it was just the 2nd of March when I was completing this LinkedIn course on Introduction to cryptography and secure development when I went across moodle(LMS used by the University of Glasgow) to see some of the great content posted by my professor to learn from, suddenly I realized that I have a pending midterm assessment which is due in less than 46 hours roughly. When I read through the description of what I needed to do, I got speechless, as I had almost no idea what I would do, so the professor emailed us two cipher texts which were encoded using this 8-rotor machine code he had uploaded in the portal written in JAVA, other than this he had given us a text file containing roughly 10000(ten thousand) possible keys that could be input to the code to decode the cipher text.

So, as we had multiple keys with us, some random cipher text, and the 8-rotor machine code, we needed to find the right key and decode the cipher text into plain sensible text using the right key. So, one of the best ways to do this would be a brute force ofcourse, though; the interesting fact was that as we already have a set of keys, we can actually use a dictionary attack.

In task one, we already have the information that the first two letters of the plain text will be “T” and “h” this got half of my task done; it seems to be simple while performing the dictionary attack; I just filtered the output for the part where the first and second character is as T and h respectively. Well, I thought that this would be enough, but it wasn’t actually. So I got two possible keys after this and two plain texts; the first one was for sure wrong as it just had the first two characters as ‘Th’ but followed with a string of random characters that make no sense and for sure is not an English sentence. The second one was right as it has the decoded English sentence that makes the right sense. So here I have added another filter just by making another set of words consisting of general terms used in the English language such as as, as, the, we, us, etc. This allowed me to resolve the first task with an ace.

In task two, we didn’t have any characters of the plain text, so it needed more effort and a different approach. The only assumption we were given is the context will only generate an English sentence. Now, being a machine learning person, the first idea that hit my mind was precisely to develop an NLP model that would analyze the language to find the key, but the biggest challenge was that we needed to create a code in java, which is an alien language for me always(Ps- I just don’t know why I never liked it, maybe because of its syntax). So I had to think of another way which must be straightforward as by that time I was hardly left with 23 hours, and I needed to do some calculations and produce a report as well besides the code. Well, so what I did is simply browsed google for the average number of lengths of English words(which is almost 4.7 characters), and I replaced the filter for checking to check the average of the set of words in the generated plain text and wohhaa it worked right 🙂

Finally, with all my findings, I completed the report and the complete Midterm assessment to save myself from failing the subject just 3 hours before the deadline 😉