Thursday, October 2, 2014

How secure email works

Security is fast becoming one of the differentiating factor between the multitude of apps coming out. Consumer is also getting aware about the perils of readily available connectivity and the lack of privacy it comes with.
Lack of security in messaging is not for the lack of tools, but for the lack of ease of use for the end user. So, the seamless integration of security features becomes very important.
What is Encryption?
encryption is the process of encoding messages or information in such a way that only authorised parties can read it. Encryption does not of itself prevent interception, but denies the message content to the interceptor.
There are 2 types of encryption based on the key.
  1. Symmetric Encryption
    In symmetric-key schemes, the encryption and decryption keys are the same. Thus communicating parties must have the same key before they can achieve secret communication.
  2. Public Key Encryption
    In public-key encryption schemes, the encryption key is published for anyone to use and encrypt messages. However, only the receiving party has access to the decryption key that enables messages to be read.

Uses of Encryption
Encryption can be used to:
  1. Preserve the confidentiality of the message.
  2. Validate the integrity of the message.
How does it works
Symmetric encryption has it inherent issues, As the key being used is common, and has to be shared between the users, the key itself can be compromised. 
Hence "Public key encryption" is more widely used.
Public Key Encryption:
Preserving the confidentiality of the message:
There should be a common location where the public keys for all the users are stored and which is accessible for everybody.
When sending a message to a contact app will access the public key of the contact to whom the message is being sent. The content of the message will then be encrypted with the retrieved key.
When the intended recipient gets the message, the app will open the message and using the private key of the recipient (User will have to create a key pair to enable encryption feature) will decrypt the message and display it as plaintext.
Validating the integrity of the message
The above process makes sure the message is confidential but we still cannot authenticate the sender's identity. The solution for this issue is:
Before sending the message, the app will first encrypt the message using the public key of the recipient (as described in the previous point), then the app will use the private key of the sender to re-encrypt the cipher text generated from the previous step.
When the recipient receives the message, the app will now first use the senders public key to decrypt the message, this will ensure that the message sender is authenticated.
Then the app will proceed with the steps laid out in the previous step to decrypt again to get the message in plaintext.
Conclusion:
Hopefully this laid down the basics of how things work, we will continue the series on the tools and techniques used to secure your communication.

Tuesday, September 9, 2014

My thoughts on Swift - Apple's new programming language

Hi,

I have been dabbling in Swift, the new programming language Apple introduced in WWDC 14. It won't replace Objective-C anytime soon, as the code base of the existing apps is too large to shift over to Swift, And Swift does not add anything new, feature wise atleast, to the iOS platform.

As we all know that Objective-c is a very old language, an object oriented take with C as its base. It was missing many of the new programming paradigms, Swift took language ideas "from Objective-C, Rust, Haskell, Ruby, Python, C#, CLU, and far too many others to list".

What Swift does is, it lowers the barrier of entry for the new developers to the iOS universe, developers with experience with languages like javascript etc, can now easily learn Swift and being with native development.

As comfortable as I am with Objective-c now, it's syntax is arcane and harder to grasp, which make the learning curve steep for the new developers wanting to start with iOS/Mac development.

As many of you might know, Google also released a new language "Go", but it's acceptance has been minimal, google didn't push hard enough. On the other hand Apple has provided all the existing Cocoa / Cocoa touch frameworks to be used with Swift. This can just be the incentive required for widespread adoption of Swift.

Sunday, November 24, 2013

Elysium - Movie Review

Hi,

Saw Elysium today, Matt Damon plays the protagonist in this one. I am a sci-fi fan, and Matt Damon is a good enough actor to sit up and notice when his movies come out.

What I didn't know was that the movie is written and directed by Neil Blomkamp, who also happens to be the director of District 9, one of my favourite sic-fi. Needless to say I had big expectations from Elysium. And I was not disappointed. This movie has heart, you can see the city of LA transform into a wasteland, which due to overpopulation and increasing pollution can be a possibility.

The tech shown is a bit too advanced, but today's imaginations are tomorrow's inventions.
Movie starts slow, stressing the human factor in a sic-fi setting, same as the director's previous movie.
You can relate to the characters, feel the desolation and restlessness. There is the resistive faction too but the resistance movement is not too stressed upon.

The theme of the movie can be related to the recent Occupy movement, which stressed on the fact that majority of the wealth is concentrated with the 1% of the population.

To keep it short and not providing any more spoilers, If you liked District 9, go ahead and watch Elysium, though not as promising as District 9, this one is worth watching.

Regards,
Ishan

Security Over The Internet : How Secure Are You?

Hi,

From the past few months the world has been in a frenzy over the revelations made by Edward Snowden. Though it just reaffirmed what most of the people were already expecting. But the enormity of the surveillance has blown the roof out.

The American electronic surveillance agency, the NSA, once ironically referred to as "No Such Agency", not only spies on the American citizen, they also have their tentacles deep into other nations communications, even covering the state heads of the so called American allies.

One of the most commonly given argument is that , "If you have nothing to hide, you should not be afraid of somebody listening on to you". This is complete non sense. Every body has their own private life and have full right to decide what they want to share and what not. The information being generated by you is owned by you. Nobody has the right to take that information without your consent.

Through some of the off the shelf software, which many of the governments, including our own Indian government, has purchased, Anybody can listen in to your communication, have access to your data, even Remotely activate your web cam. This is a serious breach of your rights.

Through a series of articles, as I keep learning myself, I will try to bring to light some of the most basic day to day things that you can do to keep your self safe and keep the intruders out.

Stay tuned.

Regards,
Ishan 

Wednesday, October 23, 2013

Book review: Counting from zero

Hi Folks,

I am an avid reader, and reading is a very good hobby to have.
So I have decided to start sharing the books I have recently read and what I think about them.

So on this note, Today I am going to talk about a book called "Counting from zero".
Author of this book is Alan B. Johnston, he is the author of ZRTP, VOIP security protocol. So, I had big hopes from this book. Throughout this book, there are numerous technical references, lots of security details. needless to say, I loved it.

The plot in Counting from Zero was gripping. The protagonist travelled all over the world and Mr. Johnston did an exceptional job of painting a detailed portrait of each location in which a convention was held, especially Las Vegas. The nuts and bolts of the story are propelled along by entries into Mick's security blog that fill in the technical details of the plot.

Any body interested in security, encryption and tech in general will like it.
So, go ahead, if the details I shared interested you, go ahead and enjoy the text.

Regards,
Ishan Malviya

Saturday, October 12, 2013

iOS Core Animation - Advanced Reading

Hi All,

iOS has a very fluid and structured animation stack, the frameworks involved are clear and approachable. But most of the contents you will come across shows you the basics of animation, like moving a block from location to another, or hiding/unhiding some container. 

Beyond that the only option you have is to dig deep into the Core Animation Guide from apple or scrape the internet for some tutorial.

Recently I was just going through the Amazon's Kindle books and found a promising prospect, iOS Core Animation: Advanced Techniques, This book seems to have raised the game. I am going through the book right now and it seems promising.

For now, If you want, create an account on amazon and you can read the sample chapters for free, decide for yourself.

Will provide more detailed thoughts on the book once I am done with it.
Till then, Happy learning.

Regards,
Ishan Malviya

Gravity - Movie Review

Hi All,

Just saw the movie Gravity, and I must say, the visuals are stunning. Better to watch this one in 3D.
This movie comes in the category of Apollo 13, Which was another master piece.

Don't expect it to be a thriller like Alien series. This one is not a fast paced thriller. The movie takes its own sweet time to unfold, but in the end enthrals you with its enormity.

This movie is about overcoming the fear and adversity (There is a lot of it), and triumphing.

So, what are you waiting for, go watch this one.

Regards,
Ishan Malviya

Friday, October 11, 2013

Restarting the blog!

Hi All,

Its been over a year that I have posted on this blog, and shared the tech goodness with you all.
Many things have happened so far in the tech universe, Blackberry is going down, Nokia went down, Microsoft is getting ready for another push into the mobile industry, with the purchase of Nokia.

Keep an eye out for this space, will keep on sharing tech news and geeky goodness.

Regards,
Ishan Malviya

Monday, February 13, 2012

Microsoft India hacked

Hi,

Microsoft's India retail store was hacked today , allegedly by Chinese hackers. This show the growing security risk of even poorly managed Indian government infrastructure.

Time to wake up and start preparing, war is coming and it is electronic.



Regards,
Ishan malviya

Sunday, February 12, 2012

Dig on the trenches, Amazon is coming

There has been news of Amazon entering India, which with its billion population is a very lucrative market.

Meanwhile, in the vacuum, local players have emerged, most notably flipkart, letsbuy,infibeam ......
The thing to ponder is whether these players will survive the entry of Amazon into the indian market.

Well it seems that the locals are getting ready, there was a news that flipkart has snatched up letsbuy for 25 million dollars. The consolidation has begun.

But will this be enough, we will see.

Regards,
Ishan Malviya

Tuesday, January 24, 2012

Move aside "Siri', "Evi" is here.......

"Siri" is one of the selling points of Apple's new marvel, the iPhone 4S. and Apple has done enough to keep it restricted to the newer version of the iPhone ( although through a complex hack, "Siri" can be ported onto your ios 4 devices ).

Android lover have their fair share of A.I. apps, but they are not as polished as "Siri", which is generally the case with almost all the android apps.

One shortcoming of "Siri" is that , it is best suited for US related data searches, so if you are living outside the states, you are out of luck.

But no need to worry now, a new kid is on the block, looking to give some serious competition to "Siri". Hold your breath folks, here is "Evi".

"Evi" is developed by True Knowledge (http://corporate.trueknowledge.com/), and is available in beta for both Android and ios platform , not limited to iPhone 4S.

Check more about it in this tech crunch article,

Regards,
Ishan Malviya

Monday, January 23, 2012

Trello - Project management for non-geeks

Fog Creek software, A company started by Joel Spolsky (If you haven't read his blog , http://www.joelonsoftware.com/, your are missing a great thing ), has recently released the new piece of software, " Trello ".

Trello is a web based project management software, and its free. But the scope of this software is not limited to managing software project. This can be easily used for "Event Planning", "Personal TO-DO's" and multitude of things.

You can read about the product on "http://www.joelonsoftware.com/items/2012/01/06.html" .
And check it out at "https://trello.com/".

Regards,
Ishan Malviya


Wednesday, January 11, 2012

Never thought will see this !

The news has been going around , but was confirmed at the recently concluded CES 2012, Microsoft's new redesigned Windows 8 will leave the comfort of the Intel based processor architecture and will be available on the most widely used mobile processor architecture i.e Arm.

Also, Intel at the same event showcased a new device manufactured by Lenovo, sporting the new Intel processor for mobile devices based on the energy efficient Medfield architecture, which is an extension of the Atom series. and this device will be running Android 4.0 ( Ice cream sandwich ).

These two events present the efforts being undertaken by the two tech giants ( Intel and Microsoft ) to stay relevant in this unstable, ever changing technological scene.

Tuesday, November 8, 2011

Cocos2d - what and why ?

Opengl es can be a bit daunting for the people who are relatively new to the game programming scene, and truth be told, using opengl es is not necessary.

For development of basic 2d games opengl es is certainly an overkill, it just doesn't justify the learning curve.

But don't give up hope just yet, Cocos2d is a really great , easy and fun option of getting started with game programming on iOS devices. but this doesn't mean that cocos2d is weak or insufficient in any way, fairly complex games can be build using cocos2d.

Cocos2d also come bundled with two very good physics engines box2d and chipmunk allowing it to bring in the simplicity and ease in game design.

And the best part is that it's FREE.
And the licensing allows for creation of proprietary products, the literature available in form of books are abundant.

So go ahead and create the next angry birds.
Here is how to do it :)

http://maniacdev.com/2011/09/tutorial-develop-an-angry-birds-like-game-with-cocos2d-and-box2d-step-by-step/


Regards,
Ishan Malviya


Sunday, November 6, 2011

Starting opengl development on linux

I have been working on opengl es for iphone from a past few days. But the development environment is available only at my home.

So i thought of trying my hands on opengl too, which will be easier to pick up, owing to the sheer amount of literature available for it.

I have Kubuntu 11.10 installed on my netbook ( a samsung n150 plus, dual core atom) and i use code:blocks as the development ide, when i tried building the provided sample for opengl i got the "GL/gl.h no such file or directory" error.

I looked around for a solution and this is how i was able to solve the problem.
The freeglut3 and freeglut3-dev libraries were missing.

after installing them i was able to execute the example successfully.

On a debian based system we can install them as,

apt-get install freeglut3 freeglut3-dev

Will share more on my experiments with opengl as I delve deeper on this exciting technology.

Regards,
Ishan Malviya





Thursday, October 20, 2011

Alternative way of updating your ios device

As you all might be knowing , iOS 5 was released last week, and Apple's servers were creaking under the pressure of user's trying to upgrade.

I too tried updating the OS on my iPod touch several time,  but was unsuccessful, which considering the size of update (~ 700 MB ) and the limited bandwidth is a costly task to repeat.

So, I started looking for alternatives.

I found out that you can download the update from several other site offering the updated ipsw files. Although i tried downloading ( just downloading not updating ) from Apples server and succeed.

If you also have downloaded the updated firmware and want to use that to update ( not re-downloading ), just press the options key on your mac keyboard and click update key, you will be presented with a prompt to select the ipsw file from your filesystem.

For those like me, using a windows keyboard, Alt key works as options.

So , go ahead and try the new shiny iOS.

Regards,
Ishan Malviya 


Saturday, September 24, 2011

installing Arch linux

I have a Samsung N150plus netbook on which ubuntu 11.04 with unity interface was installed, but i was getting bored with the ease of ubuntu. If I want easy , I will boot up my Mac with Mac os X Lion or my windows XP machine.

So i decided to go with Arch Linux, the bleeding edge distro. As netbooks lack the optical drive i went with usb install option.

I have been using "unetbootin" for installing ubuntu etc from usb media, but somehow i was unable to install Arch using this, The error i was getting was "Boot device didn't show up after 30 seconds".
after few hours of trying to find a solution i decided to go with the old and trusted dd command.

and it worked!

The command i used was
dd if=Arch---.iso of=/dev/sdb

for Arch---.iso you need to use the Arch iso file you downloaded and for of you need to find out the id of your usb device.

Booted and installed , am now trying to get a GUI working on it, yes it boots into plain old command prompt and no GUI is installed :)

Not for the faint hearted....

Regards,
Ishan

Saturday, September 3, 2011

path to the embedded xml's in ios projects

Xml parsing is an integral part of any mobile project you will come across, 4 out of 5 projects are about parsing the xml and then using the data in one way or another.

xml's are also a great way of passing data between different platforms.

NSXMLParser is provided by the Foundation framework and is an event based parser (SAX ), though there are several free third party parsers available which perform better than NSXMLParser.

To get the xml file opened and read into the NSData variable we need to create the path to the xml file stored in the application.

It can be done as :

NSString *appDirectory = [NSHomeDirectory() stringByAppendingPathComponent:@"project_name.app/file_name.xml"];

Will post more when i'll experiment with a DOM parser in ios.

Regards,
Ishan


Wednesday, August 31, 2011

complementing c++

C++ as a language is very complex, that's where lies its beauty but everything is not built into the C++ standard library.

Multi threading and network programming are amongst the most missed components.

Some even suggest replacing C++ standard STL components with external libraries, most notable among those are "Boost C++ library".

This is a library designed by programmer, most of them are on the C++ standards committee, so there are great chances of the Boost components getting merged in C++0X standard.

Using Boost also gives the advantage of being platform independent so rather than worrying about porting your multi threaded code, you can now concentrate on better code architecture.

Regards,
Ishan Malviya

Learning c++

I have been a big fan of C/C++ since the time I started programming. In fact C++ was the first programming language I learnt.

Learning C++ is not an easy task and believe me when I say there is no replacement for writing code, but reading good books and reading code written by others is a very helpful practise.

There are a series of books that i would recommend and reading them in the order presented here will elevate your rank in the C++ guild.

1. Thinking in c++ vol 1/2
2. Effective c++
3. More effective c++
4. Modern c++ design
5. Design and principle of C++

I am assuming that you are at least comfortable as beginner, these books can take you from the beginner's level to near master.

As I have already said , nothing matches writing code.

Regards,
Ishan Malviya