The following topics were discussed during the 2nd open talks session :
On the 28th of March, a one-hour talk on “Cryptographic Hashing” was conducted. The talk comprised of the basics of hashing, digests and it’s applications in real world scenarios. It introduced the attendees to the different types of hashing functions and it’s evolution over the course of time, detailing it’s use as an alternative to storing passwords in plain text at the server end and also it’s utility as file checksums. They were also given a brief insight into the different methods used to break hashes which included brute force, cryptanalyzation and rainbow tables.
Link to slides for this session
Regular Expressions are commonly used in Compiler Design, and form a basis for theoretical computer science, but their power in programming languages for pattern matching, and searching is under utilized. The focus of the talk was to apply the power of regular expressions in programming.
The highlight of the talk was on constructing regular expressions. The format and various syntaxes were discussed. All the required concepts were covered in a construction of a regular expression for a typical email address. Lastly, an example on Java, showing the practical implementation of regular expressions was shown. Implementation in C++ with the Boost/Regex library was also mentioned.
Click to Download the Reference Document
- Augmented Intelligence and Machine Learning :
The talk began with the discussion on what learning is and what styles of learning surround us. The classic approach of classroom was picked up and so was the process of distance learning. The distance learning model was picked up and we saw as to what its various advantages and disadvantages are. The talk was focused on Opencourseware, which was an initiative started by MIT, USA which put up their entire course material online including lectures and handouts so that people could learn from them.
The second part of the talk session was on machine learning and augmented intelligence. With the main focus being on Milo, a online entity that was created in association with Microsoft, it could actively learn and could be taught new things to do. It exhibited Augmented intelligence and discussions ensured on the same till the end of the session.
- Esoteric Programming Languages :
Esoteric languages are languages that are created testing the boundaries of programming languages, they are often written as a joke or humor and exhibit no sense of purposes whatsoever. Still, they are interesting to learn and a lot of fun.
There were several languages that were demonstrated. Brainfuck was the main focus however. The most popular esoteric language has only 8 commands and has the minimalistic designs. Other language include Piet, which takes bitmap images as input. Whirl which has only 0 and 1. and other such languages. The humor aspect of the session was the main focus as computer science jokes and parodies were at the fullest.
- Allegro – C/C++ Gaming Library :
A talk was held on Allegro a C/C++ game programming library. It was basically an introduction to Allegro and game programming in general.
At first the audience were made familiar with the initial setup procedures as required by Allegro environment for outputting data to the screen. Next they were shown the basic functions provided by the library to output bitmaps and sprites onto the screen along with a brief introduction to masking functions.
How to animate sprites to show movement was shown next. This quickly followed the implementation of Double buffering to facilitate smooth motion of the sprites on screen. Collision detection was explained at this stage with proper demonstrations along with the explanation of Bounding Box Collision concept.
Lastly, the programs were shown highlighting the differences between those using timers and those not using them.