Today I’ve decided to write a post explaining the process of creating packages in python. I will cover the part on uploading it to PyPi and hosting it for easy installation via pip in another post, but for this one we will have a look at making a sample python package that contains two modules, and we will create the two packages separated physically, but install-able from the same setup.py.
So in short, we will build two packages, adder and multiplier. Here’s the catch, both of them will reside in the same repository, but different folders, and the multiplier package will depend upon the adder package. So the setup.py will install both adder and multiplier. This is a tutorial is best suited for creation of libraries, bootstrapping them in particular.
For a normal package, the official documentation has awesomely documented the procedure from start to end, I’d highly recommend you to go through https://packaging.python.org/tutorials/packaging-projects/ if you want exactly that. Although I will again go through from the basics so this post will be approachable without reading any other material.
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.
It was the night of April 23rd when the fate of my summers was decided. I was so happy to get selected as a student at coala in Google’s Summer of Code 2018. This will be my first venture with an open source organisation and I am extremely excited for the journey.
Photoshop’s an amazing piece of software, and one of my favorites. It can not only edit photos, you can even edit pdf’s to some extent, and also make animations and do some advanced stuff.
If you have ever organised an event or a competition, the struggle to make and send out e-certificates having a personalised name of each participant on it is a real struggle. We can make this work easier using the advanced features of Photoshop.
One of the very less known features of photoshop is the feature of writing scripts for it.
I will illustrate how to write simple scripts in photoshop and leave you with a real world use case (It can be a real life saver).
A computer is only as good as the programs it has. So here is my collection of programs for anyone out there looking for some power packed softwares. Recently I switched from Ubuntu 14.04 to Ubuntu 16.04, and I realised I need to have a list of softwares that I need to check are there on my system or not. I will put here a curated list of all my top must-have software for any developer on Linux systems (Ubuntu in particular).
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.