Today is Wednesday
September 19, 2018

Category: software

July 6, 2017

Using Browser plugin to crowdsource against fake images

by viggy — Categories: internet, social, software, tech — Tags: , , , , Leave a comment

Recently we have seen an exponential increase in circulation of fake news and images. Fake images play a major role as with some simple image editting, a completely different context can be conveyed. This menace has been used by various political parties to spread their propaganda.
With Google Image search being so powerful, I propose that it should be possible to use a browser plugin to verify the originality of the image. We can use Google Image Search to find other sources where the image is used and hence get different contexts of the image. Once this is developed, a repository of responses from the users may be created where they can easily report images which they feel are being used in wrong context on a particular website. As this repository improves, what we will see is that most of the images can be captured in the repository so that for the same image, we do not have to depend on Google Image Search everytime but rather use the repository itself.

Let us now look at how a common user would use the plugin.
A user who has the plugin installed browses a webpage with different images on it. Suppose he/she is interested in understanding the source of the image, the user right clicks on the image and selects the option, “Search For Source”. Initially, this should cause a Google Image Search Query and the results along with the websource of the images found should be displayed in a dailog box. The user should be given an option of reporting the image as original or fake based on the results shown along with option of marking what the user thinks is the original source of the image along with some comments.
This usecase seems to be a good starting point to release the plugin as version 1.

In the next version, we should be able to first look at the repository of all the reported images and give a much better information about the image based on all previous reportings of the image. As the community grows, we would ofcourse want moderation of reportings to ensure that false reportings by the very people spreading false news is avoided. An open structure similar to Wikipedia would be needed to ensure a fair community is developed to keep the system unbiased and trustworthy.
An API of the repository can also be created so that social networking sites and messaging platforms can develop support in their platform so that when images are shared on their platform, users automatically get the information from the repository. For example, a simple bot for telegram messaging platform can be developed which can be asked to show the information from the repository based on a certain command when a image is shared in a group. Ofcourse we need to ensure that private images from people’s chat is not shared in the repository and necessary checks and balances are put in place for the same.

December 12, 2013

Using jhbuild to compile and run gnome applications

by viggy — Categories: debian, FOSS, FSMK, linux, software — Tags: , , , Leave a comment

I have been trying to compile and run gnome-chess from source. The first way, I tried was by downloading the source tarball and then running configure, make and make install. This worked fine after I fixed the dev libraries dependencies. This is one of the first point that you need to remember if you are compiling anything by source on any GNU/Linux distribution.

Point 1: If the compilation fails due to bad dependencies, it is generally because the dev library of that package is not installed.
If on debian, use apt-cache search to check which pacakges are available to download and apt-cache policy to check which package version you currently have installed.

This worked just fine and I was able to run gnome-chess with the latest code. Now when I modified few lines of code and tried to build it again, I started getting errors and that too in files which I hadnt even modified.

After looking a lot around for answers, I decided to use jhbuild and try compiling the source using it. I had hoped that it will help resolve all dependencies issues and hence I will be able to run the modified code.

I do not understand jhbuild yet completely, however I started following the manual in the gnome website.
Downloaded the jhbuild source from git repo.
build is using, make and make install.
Copied the sample jhbuildrc to my ~/.config directory.
Ran jhbuild sanitycheck and fixed the issues that were shown.
Then ran jhbuild build. This again gave me close to 60-70 missing packges.
Went through each one of them and again installed all the dev libraries.
Then when I ran jhbuild build, it started the process of downloading the source and building each of the gnome packages. In all 175 of them.
Finally I was loosing patience as some of the packages were as big as 300MB say for GTK+. It didnt make sense that just to build gnome-chess, I needed to build complete gnome from source.

This is when I met Mario(maweki) on #gnome-chess on IRC. Frustrated, I had sent a mail to few minutes ago and he pinged me on IRC to help me.
He explained to me patiently what I exactly need to do.

Point 2:
So if you need to just compile and build gnome-chess,
Add the following in your jhbuildrc file which should in ~/.config directory.
ignore_suggests = True
This will reduce what needs to be build as much as possible

You can use the following command of jhbuild.

jhbuild build gnome-chess
Note: I had not given any module name in my previous command and hence it was downloading everything required for gnome.
This for me downloaded only 21 packages.
In some cases you may have to first build gnome-standard-themes package first. This is when the application doesnt use graphics but css-rules.

You can run jhbuild it using
jhbuild build gnome-standard-themes

However this might not always be necessary for all applications. So you can skip it safely also.

Point 3:
If you make changes to the source file and want to build the application again, use the following command
jhbuild buildone -n 'application-name'

buildone just builds the single application
-n switch is for networkless building and this will ensure that the source from your local directory is picked rather than checking out from the repo.

Point 4:
If you want to run the application from the newly build source, use the following command,

jhbuild run 'application-name'
By this, you should be able to see the changes, if any you made in the source directory.

Most of the pointers above were what Mario suggested me. I hope this would help you to get started with atleast downloading, compiling and running gnome-applications from source.

October 18, 2013

Being committed to free software is the only way forward

by viggy — Categories: FOSS, FSMK, linux, software — Tags: , , Leave a comment

One of my friend shared this article about how Facebook is now a leading open source contributor and how most of the web giants are encouraging open innovation. The article also mentioned about how this trickle down is helping the community in general. Though I largely agree to the points mentioned in the article, I think the author missed one main point.
It only makes sense to open source your changes rather than maintaining forks
Its a common practice for any start-up to go with free software tools. When you are experimenting lot of ideas, free software tools help you to quickly come up with prototypes which you can get it validated with potential customers. The teams can also work independently without having to deal with licensing costs and other agreements with proprietary software companies.
What I think the article missed to point out is that when companies start developing their infrastructure around free software tools, it becomes a necessity for them to contribute back their code to the parent repository. Else maintaining and merging different code bases as and when new released for the particular project is released becomes very time consuming defeating the whole purpose of using free software tools. Hence I think it is not that Facebook and Google want to open source their technologies(Definitely, it can be that they want to contribute to the community), but the choice of becoming free software users ensures that you also contribute your changes back to the repository.
For example, we know that Google dumped its Google Compute Engine Linux and shifted to Debian as per this report.

June 10, 2011

Sharing: That is what internet is all about

by viggy — Categories: discussion, experience, Misc, software — Tags: , , , Leave a comment

When was the last time you lent few hundred rupees to your best friend without thinking of getting it back in return? When was the last time you showed your collection of Coins or Stamps or DVDs to your nephew without being tensed of they spoiling it? When was the last time you lent your car to your dearest friend without hoping that he will return it without an extra bump or scratch on it?

Long long time ago, probably when you were kids. I guess not, kids especially are possessive about their toys and stuff.

Now again, when was the last time you shared a hilarious video link with your friends? When was the last time your shared an idea with your friend and other who follow you on Twitter? When was the last time you kept a movie on torrent even after it was fully downloaded so that others could download it from you? When was the last time you wrote a nice poem or a story or an experience on your blog so that others can enjoy it?

I guess, the answer for almost all the second set of questions is “Today or yesterday”.

Why such a difference? Why is sharing much more easier on Internet but not in real world?

Well, no prizes for the right answer. Because the obvious answer is that sharing on internet does not mean that you are loosing something. You will still have the video with you to watch again, you will still have the idea with you and you will still have the poem or the story or the experience with you. Which means, things on internet are growing as you share  them.

A perfect example is “Wikipedia”. While an Indian match goes on, the score of Sachin Ramesh Tendulkar keeps getting updated on his wikipedia page after every run he scores. I can understand why cricinfo guys do it, for the ad money but why is a person sitting in some remote place in front of his T.V. watching the match updating the wiki page simultaneously. Because he just wants to give the most updated information to his set of readers whom he does not even know. He is just contributing to it so that others also do the same for the contents which he reads on the internet.

So the obvious answer for the question was that on internet things grow as you share them and that is why we share them. As long as we do not loose the stuff we have, we are quite happy to share it others.

Then, how about software? Shouldnt they be also shared? I mean, even softwares grow as we share them with others without loss to the source.

Similarly, what about knowledge? Havnt we reached this wonderful world of technology with Iphones and 3D movies and aeroplanes because our predecessors shared the knowledge that they had without restricting it? Zero was discovered in India and it travelled all the way to Persia from where it reached all the corners of the world. Havent we been sharing knowledge from long long time.

So here are some more difficult questions for you.

In the world of sharing of knowledge, where does patents fit in?

In the world of sharing of softwares, where does licenses and proprietary softwares fit in?

And does it makes sense to put any type of restrictions on people sharing over internet?

Please share your views.

P.S. I thought of writing this blog when I read few lines of a junk article in a newspaper by Arindam Chaudhuri where he condemned internet and said that internet was full of articles that were written to spread wrong news and justifies the latest policy of Indian government to put restrictions on internet bloggers/contents.

July 20, 2008


by viggy — Categories: hardware, software — Tags: , , , Leave a comment

today Debayan made an excellent comparison of soul and body with software and hardware. it made so much sense. if hardware stops working, software disappears. but without software, hardware does not have any purpose. it is just some matter. but with software, it gains a purpose and becomes a machine. similarly, body without soul(after death) is just some matter without any purpose. but when body is alive, it runs due to some software which we call as soul. ofcourse, the software associated with the body is highly architecture specific and its future highly depends on the environment in which the hardware is present. also, the software continuosly changes the hardware. now getting more deeper, let us think about the main memory and secondary memory. I think the role of main memory and secondary memory is played by heart and brain, not necessarily in same order. ofcourse, what is what changes from person to person. people keeping everything in their heart and listening to brain, use brain as main memory and heart as secondary memory. but people using their brain to store memories and who listen to their heart, use heart as main memory and brain as secondary memory.
another importent observation is that there is no restart option. you can just put it to stand by for sometime by sleeping or you can shutdown only once.