The Tor Project : Anonymity Online

As of now, we don’t have any privacy online. It can be the government or websites we browse , keep an eye out for what we do and store that data. And in times like these what we need is a tool to protect us from the exploitation and protect our privacy.

Why should we be worried?
That is because website knows from where a person is browsing and identifies the user. Then starts profiling the user. This helps them to send targeted ads to the user in a hope that the user will buy it. This information can then be sold to others and they exploit it.The result can be unwanted mails , ads and many more.  Now there is a near to perfect solution to it. Its TOR.

Tor helps the user to stay anonymous , provided the user obeys certain browsing rules while using the tor network.

So what exactly is TOR?
The TOR project is a network of servers called the tor network run by volunteers all across the globe.  So when a user is on the tor network , and sends some request, (say a search for a particular topic) then the request is sent through the TOR network and it flows through various path and  finally comes out of some random server present in the TOR network. So the website to which the request was sent thinks it came from the server from which  the request came out of the tor network and not from the user. Hence keeping you anonymous.
How anyone could get into the TOR network –
Getting into the tor network can be done through downloading and setting up the tor bundle. Its mainly a Firefox browser that it configured and modified to connect to the tor network when you open the browser. Tor also allows user to view  blocked website because of its amazing technology.
The bundle can be found HERE.
But one should note that to stay anonymous , the user should follow the rules strictly. Some of them are the tor browser plugins are disabled.Which means most of youtube videos wont play, One cannot use torrent through TOR and also that when a file or a document is downloaded, It shouldn’t be opened before exiting the TOR  network. So read the whole set of detailed Documents from here.

I have used it and its interesting to know the way it works. What is even more amazing is that, the Tor project includes an operating  system called TAILS. Tails is actually Debian Linux operating system which is modified to help its users stay anonymous. Its designed to run off of a pendrive and helps to leave no trace of what the user was doing. This OS can downloaded here. 

So all you have to do is make  a live USB of trails and run it directly from the pendrive each time. Tor or Trails both don’t save history, so it means that all the work when done is deleted, leaving no trace. SO its advisable to store important data in permanent drives rather than on the USB stick itself.

Utilizing the tor network purely depends on the user. It can protect a user if used correctly or sacrifice the privacy if misused. I have  high interest in this project and there is lots to explore  about the TOR network and lots to know about the services it offers. More than following a standard procedure, this is about exploring things, so the more you explore, the more you use it, the more you will start liking it. Give it a try!!

Advertisements

Give people what they want : Windows meets Android

The two most used operating system in the world are the windows and the android. And how would it be if there is a release to have them both together on a PC simultaneously  and one could use them at the same time without switching??
This year at CES , many people got just the thing they were looking for. The company BlueStacks in collaboration with AMD have created the android for windows 8. It runs on top of windows and they have taken care of the very last details while creating it.

I have tried emulators, tried running android on VMs but it was still painfully slow. But with this release its become awesome. Imagine the apps that are only on android can be played in full resolution. You don’t need your phone/tab while you are home and because the apps will be synced straight into the android running on your PC. And for the best part it even allows you to sync multiple android devices.

So this has the potential to bridge the gap between multiple operating systems and multiple devices. This does not involve Dual booting, as it becomes very messy and is very resource intensive. The bluestack-AMD approach  is a virtual environment created to run android natively. This is as of now optimized under AMD and thus makes use of the AMD’s  APUs, beginning with the 4th generation AMD APU codenamed “Kaveri” .

amd_bluestacks_android_win8

For the user, the workflow advantages are enormous. BlueStacks provides a full Android User Interface (UI). The customization, settings and personalization capabilities you expect from your Android phone or tablet are right there in the virtual Android environment.

And that Android UI? It is a fully functional window on your Windows desktop. So, you can have Photoshop open on one side of your desktop and your favorite Android app on the other.  About to unlock a Booster? Blow your Android window up to full screen and fill your desktop. BlueStacks takes full advantage of the AMD platform.

check out the live demo:

For those of you having Intel, I think it should be a short wait before something alike comes for Intel as well, because BlueStacks has made it clear why this is very necessary.

You can read the full press release here.
SOURCE – AMD COMMUNITY

 

WAARTAA : web based IRC client

You may be satisfied with IRC clients like Pidgin, Xchat, mIRC or any other, But now there is a reason for you to change that. Its the new web based IRC client “WAARTAA”. Its got a beautiful UI and appeals instantly to anyone who uses it.

waartaa” is a hindi word which means to communicate, and its apt because its the reason why it was made.
Opensourced under the MIT Licence, this is one amazing project worth giving a try. It is very user friendly ,has a beautiful and bold user interface and very easy to join channels or even create your own IRC server.Being a web based IRC cliesnt as a service it facilitates centralized logging, idling functionality, unique identification across multiple clients.

It is built on the meteor platform. its written in meteor JS and it uses mongoDB and It has also incorporated node-irc which is an IRC client libraary written in JavaScript for Node and also uses a host of meteorite apps.

The User Interface

       waartaa3
(click on image to get a better view)

The Options

waartaa1         waartaa2

Selection_006           Selection_007

 

 

Installation procedure as a local application can be found here.

The question that may arise is why another IRC client when there already exist so many of them?
Well, waartaa has a tons of things to offer that you may have wished were present in existing clients:

  •       while GUI clients work only for single machines, waartaa on a better infrastructure will ensure
    that the user is always connected to IRC while it also captures IRC logs.
  •       It also preovides a central place to store all the chat logs
  •       No matter what device you login from to Waartaa, YOU are always YOU in the IRC and not some
    YOU_, YOU__, etc. which means the it can identify you when you are logged in from multiple devices simultaneously.
  •       Being a web service, it runs flawlessly on the browser of any device making your experience comfortable

Sourcecode available HERE.

Installation tutorial and procedure for waartaa here.
Waartaa is not yet deployed and will  soon be , but as of now you can run it locally as of now and try it out. The sourcecode and the setup instructions can be download from the github page.
So fork it and customize it as you want your client to look like. So do try it out, this might  just be the thing you always wanted.

wxPython: GUI interface toolkit

WxPython is a GUI toolkit based on python programming language.It allows programmers to build a robust, high functionality UI very easily. It is cross-platform, which means it can run on multiple platforms without having to change the code.To make it cross-platform, it uses the wxWidget cross-platform GUI library written in c++.
This is an open source project and anyone interested to contribute to the project or if you would like to download the entire code for this software you can do so here. As of now it has support for 32-bit microsoft windows, most unix and linux systems and also MAC OSx.

tutorials for wxPython can be found here.

download can be found here.

all of wxWidget and wxPython sourcecode can be downloaded from here.
Here is a sample edtor created using wxPytohn. It has all the basic fuctions that an editor should have, but has a lot of scope for improvement, so do try to modify it to make it better.
this program can be found on github here.

#!/usr/bin/env python
import wx, os
ID_TEXT=1000

ID_NEW=100
ID_OPEN=101
ID_SAVE=102
ID_SAVEAS=103
ID_QUIT=104

ID_UNDO=200
ID_REDO=201
ID_CUT=202
ID_COPY=203
ID_PASTE=204
ID_DELETE=205
ID_SELECT_ALL=206

ID_VIEW_STATUSBAR=300

ID_ABOUT=400

ID_T_NEW=1
ID_T_OPEN=2
ID_T_SAVE=3
ID_T_UNDO=4
ID_T_REDO=5
ID_T_CUT=6
ID_T_COPY=7
ID_T_PASTE=8
class MainWindow(wx.Frame):
def __init__(self,parent,id,title):
wx.Frame.__init__(self,parent,wx.ID_ANY, title, size = (800,600))

# variables
self.modify = False
self.undos=[]
self.redos=[]

self.text = wx.TextCtrl(self, ID_TEXT, style=wx.TE_MULTILINE)
self.text.Bind(wx.EVT_TEXT, self.OnTextChanged, id=ID_TEXT)
self.text.Bind(wx.EVT_KEY_DOWN, self.OnKeyDown)
self.Bind(wx.EVT_CLOSE, self.OnQuit)
self.backuptext = self.text.GetValue()
self.statusbar = self.CreateStatusBar() #Create the statusbar

# Setting up the “File” menu
filemenu= wx.Menu()
tempitem=wx.MenuItem(filemenu, ID_NEW, “&New”,” Create a new document”)
tempitem.SetBitmap(wx.Bitmap(‘/usr/share/icons/Human/16×16/actions/document-new.png’))
filemenu.AppendItem(tempitem)
tempitem=wx.MenuItem(filemenu, ID_OPEN, “&Open”,” Open a file”)
tempitem.SetBitmap(wx.Bitmap(‘/usr/share/icons/Human/16×16/actions/document-open.png’))
filemenu.AppendItem(tempitem)
tempitem=wx.MenuItem(filemenu, ID_SAVE, “&Save”,” Save the current file”)
tempitem.SetBitmap(wx.Bitmap(‘/usr/share/icons/Human/16×16/actions/document-save.png’))
filemenu.AppendItem(tempitem)
tempitem=wx.MenuItem(filemenu, ID_SAVEAS, “Save &As…”,” Save the current file with a different name”)
tempitem.SetBitmap(wx.Bitmap(‘/usr/share/icons/Human/16×16/actions/document-save-as.png’))
filemenu.AppendItem(tempitem)

filemenu.AppendSeparator()

tempitem=wx.MenuItem(filemenu, ID_QUIT,”&Quit”,” Quit the program”)
tempitem.SetBitmap(wx.Bitmap(‘/usr/share/icons/Human/16×16/actions/application-exit.png’))
filemenu.AppendItem(tempitem)

#Creating the “Edit” menu
editmenu=wx.Menu()
tempitem=wx.MenuItem(editmenu, ID_UNDO,”&Undo”,”Undo the last action”)
tempitem.SetBitmap(wx.Bitmap(‘/usr/share/icons/Human/16×16/actions/edit-undo.png’))
editmenu.AppendItem(tempitem)

tempitem=wx.MenuItem(editmenu, ID_REDO,”&Redo”,”Redo the last undone action”)
tempitem.SetBitmap(wx.Bitmap(‘/usr/share/icons/Human/16×16/actions/edit-redo.png’))
editmenu.AppendItem(tempitem)

editmenu.AppendSeparator()

tempitem=wx.MenuItem(editmenu, ID_CUT,”Cu&t”,”Cut the selection”)
tempitem.SetBitmap(wx.Bitmap(‘/usr/share/icons/gnome/16×16/actions/edit-cut.png’))
editmenu.AppendItem(tempitem)

tempitem=wx.MenuItem(editmenu, ID_COPY,”&Copy”,”Copy the selection”)
tempitem.SetBitmap(wx.Bitmap(‘/usr/share/icons/gnome/16×16/actions/edit-copy.png’))
editmenu.AppendItem(tempitem)

tempitem=wx.MenuItem(editmenu, ID_PASTE,”&Paste”,”Paste the clipboard”)
tempitem.SetBitmap(wx.Bitmap(‘/usr/share/icons/gnome/16×16/actions/edit-paste.png’))
editmenu.AppendItem(tempitem)

tempitem=wx.MenuItem(editmenu, ID_DELETE,”&Delete”,”Delete the selected text”)
tempitem.SetBitmap(wx.Bitmap(‘/usr/share/icons/gnome/16×16/actions/edit-delete.png’))
editmenu.AppendItem(tempitem)

editmenu.AppendSeparator()

tempitem=wx.MenuItem(editmenu, ID_SELECT_ALL,”Select &All”,”Select the entire document”)
tempitem.SetBitmap(wx.Bitmap(‘/usr/share/icons/gnome/16×16/actions/edit-select-all.png’))
editmenu.AppendItem(tempitem)

# Setting up the “View” menu
viewmenu=wx.Menu()
self.statusbaritem=wx.MenuItem(viewmenu, ID_VIEW_STATUSBAR,”&Statusbar”,”Show or hide the statusbar in the current window”)
self.statusbaritem.SetCheckable(True)

viewmenu.AppendItem(self.statusbaritem)
self.statusbaritem.Check()

# Setting up the “Help” menu
helpmenu=wx.Menu()
tempitem=wx.MenuItem(helpmenu, ID_ABOUT, “&About”,” About this application”)
tempitem.SetBitmap(wx.Bitmap(‘/usr/share/icons/Human/16×16/actions/gtk-about.png’))
helpmenu.AppendItem(tempitem)
# Creating the menubar.
menuBar = wx.MenuBar()
menuBar.Append(filemenu, “&File”) # Adding the “filemenu” to the MenuBar
menuBar.Append(editmenu, “&Edit”) # Adding the “editmenu” to the MenuBar
menuBar.Append(viewmenu, “&View”) # Adding the “viewmenu” to the MenuBar
menuBar.Append(helpmenu, “&Help”) # Adding the “helpmenu” to the MenuBar
self.SetMenuBar(menuBar) # Adding the MenuBar to the Frame content.
wx.EVT_MENU(self, ID_NEW, self.OnNew)
wx.EVT_MENU(self, ID_OPEN, self.OnOpen)
wx.EVT_MENU(self, ID_SAVE, self.OnSave)
wx.EVT_MENU(self, ID_SAVEAS, self.OnSaveAs)
wx.EVT_MENU(self, ID_QUIT, self.OnQuit)

wx.EVT_MENU(self, ID_UNDO, self.OnUndo)
wx.EVT_MENU(self, ID_REDO, self.OnRedo)
wx.EVT_MENU(self, ID_CUT, self.OnCut)
wx.EVT_MENU(self, ID_COPY, self.OnCopy)
wx.EVT_MENU(self, ID_PASTE, self.OnPaste)
wx.EVT_MENU(self, ID_DELETE, self.OnDelete)
wx.EVT_MENU(self, ID_SELECT_ALL, self.OnSelectAll)

wx.EVT_MENU(self, ID_VIEW_STATUSBAR, self.ToggleStatusBar)

wx.EVT_MENU(self, ID_ABOUT, self.OnAbout)

#Make the toolbar
toolbar = wx.ToolBar(self, -1, style=wx.TB_HORIZONTAL | wx.NO_BORDER)
toolbar.AddSimpleTool(ID_T_NEW, wx.Image(‘/usr/share/icons/Human/24×24/actions/document-new.png’, wx.BITMAP_TYPE_PNG).ConvertToBitmap(), ‘Create a new document’, ”)
toolbar.AddSimpleTool(ID_T_OPEN, wx.Image(‘/usr/share/icons/Human/24×24/actions/document-open.png’, wx.BITMAP_TYPE_PNG).ConvertToBitmap(), ‘Open a file’, ”)
toolbar.AddSimpleTool(ID_T_SAVE, wx.Image(‘/usr/share/icons/Human/24×24/actions/document-save.png’, wx.BITMAP_TYPE_PNG).ConvertToBitmap(), ‘Save the current file’, ”)
toolbar.AddSeparator()
toolbar.AddSimpleTool(ID_T_UNDO, wx.Image(‘/usr/share/icons/Human/24×24/actions/edit-undo.png’, wx.BITMAP_TYPE_PNG).ConvertToBitmap(), ‘Undo the last action’, ”)
toolbar.AddSimpleTool(ID_T_REDO, wx.Image(‘/usr/share/icons/Human/24×24/actions/edit-redo.png’, wx.BITMAP_TYPE_PNG).ConvertToBitmap(), ‘Redo the last undone action’, ”)
toolbar.AddSeparator()
toolbar.AddSimpleTool(ID_T_CUT, wx.Image(‘/usr/share/icons/gnome/24×24/actions/edit-cut.png’, wx.BITMAP_TYPE_PNG).ConvertToBitmap(), ‘Cut the selection’, ”)
toolbar.AddSimpleTool(ID_T_COPY, wx.Image(‘/usr/share/icons/gnome/24×24/actions/edit-copy.png’, wx.BITMAP_TYPE_PNG).ConvertToBitmap(), ‘Copy the selection’, ”)
toolbar.AddSimpleTool(ID_T_PASTE, wx.Image(‘/usr/share/icons/gnome/24×24/actions/edit-paste.png’, wx.BITMAP_TYPE_PNG).ConvertToBitmap(), ‘Paste the clipboard’, ”)
self.Bind(wx.EVT_TOOL, self.OnNew, id=ID_T_NEW)
self.Bind(wx.EVT_TOOL, self.OnOpen, id=ID_T_OPEN)
self.Bind(wx.EVT_TOOL, self.OnSave, id=ID_T_SAVE)

self.Bind(wx.EVT_TOOL, self.OnUndo, id=ID_T_UNDO)
self.Bind(wx.EVT_TOOL, self.OnRedo, id=ID_T_REDO)
self.Bind(wx.EVT_TOOL, self.OnCut, id=ID_T_CUT)
self.Bind(wx.EVT_TOOL, self.OnCopy, id=ID_T_COPY)
self.Bind(wx.EVT_TOOL, self.OnPaste, id=ID_T_PASTE)
self.SetToolBar(toolbar)
self.Show(True)
def OnNew(self, e):
self.filename, self.dirname = ‘New File’,”
self.text.Clear()
self.SetTitle(“IsMEdit – “+self.filename)
def OnOpen(self, e):
“”” Open a file”””
self.dirname = ”
dlg = wx.FileDialog(self, “Choose a file”, self.dirname, “”, “*.*”, wx.OPEN)
if dlg.ShowModal() == wx.ID_OK:
self.filename=dlg.GetFilename()
self.dirname=dlg.GetDirectory()
f=open(os.path.join(self.dirname,self.filename),’r’)
self.text.SetValue(f.read())
f.close()
self.SetTitle(“IsMEdit – “+self.filename)
dlg.Destroy()
def OnSaveAs(self, e):
self.dirname = ”
dlg = wx.FileDialog(self, “Choose a file”, self.dirname, “”, “*.*”, wx.SAVE)
if dlg.ShowModal() == wx.ID_OK:
self.filename=dlg.GetFilename()
self.dirname=dlg.GetDirectory()
f=open(os.path.join(self.dirname,self.filename),’w’)
f.write(self.text.GetValue().encode(‘utf8’))
f.close()
dlg.Destroy()
self.SetTitle(“IsMEdit – “+self.filename)
def OnSave(self, e):
try:
f=open(os.path.join(self.dirname,self.filename),’w’)
f.write(self.text.GetValue().encode(‘utf8’))
except AttributeError: self.OnSaveAs(e)
def OnQuit(self, e):
if self.modify:
dlg = wx.MessageDialog(self, ‘Save before exiting?’, ”, wx.YES_NO | wx.YES_DEFAULT | wx.CANCEL | wx.ICON_QUESTION)
val = dlg.ShowModal()
if val == wx.ID_YES:
self.OnSave(e)
self.Destroy()
elif val == wx.ID_CANCEL:
dlg.Destroy()
else:
self.Destroy()
else:
self.Destroy()
def OnUndo(self, e):
place=self.text.GetInsertionPoint()
self.redos.append(self.text.GetValue())
self.text.SetValue(self.undos[len(self.undos)-1])
self.text.SetInsertionPoint(place)
self.undos=self.undos[:-1]
if len(self.redos) >= 30: self.redos=self.redos[1:]
def OnRedo(self, e):
place=self.text.GetInsertionPoint()
self.text.SetValue(self.redos[len(self.redos)-1])
self.text.SetInsertionPoint(place)
self.redos=self.redos[:-1]
def OnCut(self, e):
self.text.Cut()
def OnCopy(self, e):
self.text.Copy()
def OnPaste(self, e):
self.text.Paste()
def OnDelete(self, e):
frm, to = self.text.GetSelection()
self.text.Remove(frm, to)
def OnSelectAll(self, e):
self.text.SelectAll()
def ToggleStatusBar(self, e):
if self.statusbar.IsShown():
self.statusbar.Hide()
self.statusbaritem.Check(False)
else:
self.statusbar.Show()
self.statusbaritem.Check()

def OnAbout(self,e):
d= wx.MessageDialog(self, “(I)an’s (M)ini (Edit)or\nA simple editor written in wxPython”,”About IsMEdit”, wx.OK) # Create a message dialog box
d.ShowModal() # Shows it
d.Destroy() # finally destroy it when finished.
def OnTextChanged(self, e):
self.modify=True
e.Skip()
def OnKeyDown(self, e):
keycode = e.GetKeyCode()
self.undos.append(self.text.GetValue())
if len(self.undos) >= 30: self.undos=self.undos[1:]
e.Skip()

app = wx.PySimpleApp()
frame = MainWindow(None, -1, “IsMEdit – New File”)
frame.SetIcon(wx.Icon(‘/usr/share/icons/gnome/16×16/apps/accessories-text-editor.png’, wx.BITMAP_TYPE_PNG))
app.MainLoop()

BitMessage – messaging client

After the news that government is snooping on the user’s messages ,calls, etc, this was created by few developers who wanted to create a messaging client that would keep the user’s messages private. This client is written in python. It  is a P2P communications protocol used to send encrypted messages to another person or to many subscribers. It is decentralized and trustless, meaning that you need-not inherently trust any entities like root certificate authorities. It uses strong authentication which means that the sender of a message cannot be spoofed, and it aims to hide “non-content” data, like the sender and receiver of messages, from passive eavesdroppers like those running warrantless wiretapping programs.

It helps t keep your identity a secret. That is it will generate a unique key for a particular user and you can share that with others,  so  only you can know who that person is when he/she shares their key with you. It can be used for good or bad purposes but, the developers believe that when  privacy is not given to us  then we have to take such measures to maintain it ourself.
You can use this to send, receive messages without having to fear the loss of your privacy. It also has measures to help you block spams if your key is got by some unwanted people. It also allows you to have multiple identities and helps you create an addressbook (which only you can see), so that you can easily know to whom  you are sending / receiving the message from.

the best part about it is that it is completely open source, so for those who wish to tinker around with it or want to have a look at the code can download from github here.

if you want the detailed documentation  as to what it is, how it works you can read the developers whitepaper here.

download link:

click here to download for Linux.

click here to download for Windows.

click here to download for Mac

instructions:

once the client is downloaded and installed first you have to click on the “your identity” tab and generate a unique key for yourself or you can give a key explicitly. Once that is done , save it and then you can share tht key with anyone you wish to. Then you can message them using the various tabs in the BitMessage  window.

you can also discretely use your email to use the services of bitmessage free of cost without using any software. Check out the link here  . all the instruction for using this client online is in that link.
Share your thought, your key(if you would like to) , and what you think about such software. in the comments below.

Impress.js : presentations in a better way!!

Whether its microsoft powerpoint you use or libre impress, giving presentations are the same. But what if there was a whole new way to do it?
Now , some of you might have heard about  or used  PREZI. Its awesome.. but again being a proprietary software, it allows you to have only  3 PREZIs  ,for free of cost.
To me, that’s not enough. I wanted something similar but with no limits or restriction.

 

That is when the “power” of open source and free software was shown to me, AGAIN. It was “impress.js“,  an amazing tool to build and create slides and give presentations also  in 3D.
A feature that’s not found in PREZI. All that matters while using impress.js is your imagination and creativity..
Its completely built on the power of CSS3 and HTML and runs on Browsers like Chrome, Safari and Firefox.

Here is what I am talking about IMPRESS.JS demo. (use “spacebar” to change slides)

impress_js

Running on the Browser, this gives you full freedom to edit and customize. It gives few amazing transformations and transitions and for people with good HTML skills, its a breeze to create  presentations that are outstanding.
The entire source code is availabe on github . Click here for the source code.

According to the author/creator of impress.js its only the people with good technical knowledge in HTML ,who are capable of creating amazing presentations in it. But that myth is now broken with the release of a GUI called STRUT beta for Creating presentations on impress.js . So those who don’t have a good knowledge about HTML can use STRUT  and create amazing slides and give a presentation like never before.

here is a video tutorial for using strut for presentation creation…

A little search on github can reveal more than 100 projects and transition effects created using impress.js and available for anyone to take it right into their presentation.

With an amazing open source community, we can expect this project to be even more better and be recognised among people from all fields. Lets all try and contribute to this amazing software and make it a  tool that changes the way how imagination can be implemented.

Do try it out… its easy to use and you can have lots of fun experimenting in 3D.