Now it’s nearly the end of coding phase -1 for GSoC, and this post will be dedicated to my journey throughout this month.
My project got a new direction, and the concept was validated with some concrete code.
I’ve started building the library hosted currently at – https://gitlab.com/virresh/coala-antlr
(maybe consider it a result of anticipation of #movingtogitlab :p, but it was more because of the features it provided to us and done way before the deal was even announced).
At coala, we have a good practice of first writing out our concept concretely and documenting it first. A wise person once said:
Think twice, Code once 😉
Continue reading “GSoC Coding Phase-1 Wrap-up”
So the first phase in GSoC was to bond with the community, get an insight about the codebase and help the community.
We had the task of finishing up our conceptual documentation of what we would be doing in the future phases, draft a schedule and make a cEP (coala enhancement proposal) for our chosen project.
The most exciting part in this phase for me was completing my existing issues (remember, you’re reading the blog of a geek :p). I had started making an HgCommitBear for coala before the application period, and had my first difficulty/medium issue right up there. The part was to create a bear, similar to GitCommitBear, to check for style issues in commits of a mercurial repository.
Continue reading “Community Bonding with coala”
Making a new document is always a task, and choosing a editor to do the same is confusing at times. Probably MS Word is the best suited for the needs of many people, but it is not cross platform, and certainly not a free solution.
Fortunately, we have loads of free editors out there, like LibreOffice, OpenOffice etc, which provide easy to edit options for documents. But still manipulating mathematical formulas and using variety of symbols is often a headache in most editors.
The solution is LaTeX. LaTeX is not the most easy to use writing system out there, and certainly has a steep learning curve, but it easily beats almost most of the document editors and creates the most professional looking documents easily.
Latex Documents can be visualised in the form of PDF documents using GUI programs like TeXMaker.
Also for those who want to take the advantage of LaTeX without any hassle of installing and setting it up, they can use online websites like Overleaf and ShareLatex etc.
Continue reading “Making LateX Documents”
We are surrounded by various kinds of technology, and one of the most commonly encountered technology is a robot. Ever wondered, how the traffic lights keep on switching themselves from time to time without getting tired ? They are a robot, that has been assigned a task, which it keeps on performing without asking any questions. Similarly, a vehicle follows whatever the driver instructs it to, without asking any questions. These simple robots can be made smarter by something called artificial intelligence, but it still is just another algorithm that makes use of heuristics to determine what would be the optimal choice. Google Allo’s smart reply would be a very common example of what artificial intelligence is like.
In most simplistic sense, a robot is referred to something that can do a particular piece of work repeatedly, without getting tired. A robot does “forced labor” in some sense. It is like a slave, that cannot decide anything on it’s own. The latest developments suggest that we might be able to create a simulated brain, that could impersonate a human (commonly called androids), though presently a robot is far from such capabilities. An old but quite interesting experiment of this kind of cognitive science was the Medusoid, an artificial jellyfish. This was an attempt to replicate the heart movements, using silicone and rat heart cells, but the success it received was tremendous, in the fact that it could replicate a jellyfish.
The creation of robot’s has been a revolutionary idea. It has transformed innumerable fields. It has facilitated doing computationally intensive work, without much wastage of human resources. For example calculation tasks can be easily given to a robot, like calculations for a house construction, calculating the most efficient wing design to minimize the air resistance, calculating shortest path to reach a destination. Even some tasks that are hazardous to humans, but yet essential can be handled by a robot. Not only calculations, but surveillance tasks can also be done very effectively with the use of robots. The robots have transformed the world, and have been an integral part of the IT revolution. They are slowly taking up a large portion of the industry level tasks. The future where every person will have their own personal robot assistant isn’t far away.
We work with internet everyday. It has become an essential part in our life. We cannot imagine a day without it. It is such a vital tool for so many purposes. There are lots of things on the net, that are now accessible to even a common person. So much information, that it is impossible for one person to know everything. This simply means that we require instructions about how to use a facility available to us on the internet.
Continue reading “Cyber Security”
I was introduced to the term Hackathons in my first month of my college. The software development society of our college (called BYLD) organised a hackathon. What I came to know was that hackathons are an event for learning. They aren’t actually about hacking. The name is a bit misleading. We actually work on making something productive and not particularly hack anything. This was my incentive to participate – I’d get to learn. Since then I have participated in two hackathons in my first 3 months, and both of them were an exhilarating experience of learning. I learned a variety of skills. Not only related to the hackathon’s theme, but also non-transferable skills that include learning how to use a particular piece of library, how to collaborate with others and team work etc.
Continue reading “Hackathons – A great way to learn”
In any device, plugins are an indispensable tool for customization. For e.g in a television, we can add a home theater, to enhance our experience. In any book that we read, we can add a bookmark to help us remember the last page, but it isn’t necessary. Similarly in programming a real world problem, we have several small tasks. Some of these tasks are routine one’s and have an already written piece of code, that we can reuse in our work. This is called a Library.
Continue reading “Frameworks”