Tag Archives: motivation

Learn Exactly How I Improved My Digital Security and Privacy In 2 Days

You have zero privacy anyway, Get over it! – Scott McNealy ~ 1999

What is the real fuss all about?

In real life we have privacy, well kind of, no stranger can enter our houses still? Well think again from an evil strangers perspective, there are layers of security already there that ensure our security:

Systems: Govts,Municipality,Locality,Society,House.

People: Police,Neighbours,House occupants,Passerby,You.

Q: So why is it that the digital security has caused so much trouble?
A: Each and every individual (You) & their digital account (your) is a potential target for the evil stranger!
Hereโ€™s the simple math: online world population x online accounts per person == potential virtual estate targets for the evil stranger!
Assuming that a person has a single email account atleast, the online world is as insecure as the real world, add to the mix these accounts are held by anyone from 8+ years to 60+ age with varying degrees of meaning of security in their minds!

Defining the attacks

All attacks can be broadly arranged into these 2 categories!

  1. Illegal entry (un trusted)
    These attacks are generally entrusted to be taken care by the system you are connected to! Say you go a friends place for a dinner; you would not expect to take care about your food from the dacoit running on the streets! You would trust your friends premise would take care of this already, any mischief would be assumed to be an illegal entry actually questioning the system as a whole!
  2. Pretending to be someone else (trusted)
    Its not just people, systems can now also presume our identities and hence are subject to being trusted or not! When this happens, the systems can be abused on behalf of an individual. So it is not just a stranger mis-using your credit card, but worse, a lesser-known stranger!

The Warrior Approach

Every digital identity is under attack, and like in the real world, a responsible citizen keeps their ears and eyes open, in our digital avataar, we ought to think likewise!
There is no fool-proof way to secure your digital identity except taking care of known best practices! You break the rule; you end up paying the price depending on where you committed the mistake!

  1. Choose better passwords
    a)Create/Update and change your existing account passwords from here http://passwordsgenerator.net/b)If you have a number of connected systems and too many passwords to manage, think about getting a password management system(they are not safe too!) or best keep them in an offline system with a ready access!
  2. Never trust a new system
    The least you trust a new system, its fun when it turns out to be totally trustworthy, and if not atleast you donโ€™t end up loosing a fortune!
    Use this mantra in life too, good results recommended! ๐Ÿ™‚
  3. Never trust a known system too much!
    Know your limits, you own your body totally, but a flu attack can happen on the best of days uninvited!
    Even your trusted disconnected home system is subject to virus attacks from the chinese-make pen-drive!
  4. You are as secure as the world around us!
    The equation of trusted<->non-trusted keeps getting updated regularly, that keeps the battle on between the evil strangers and the white hats!
  5. Question Everything!
    If you are not finding the answers, start looking for the right ones elsewhere! Donโ€™t take anything for granted, for the but obvious, have an inquisitive mind!

Few years into the future, and these practices might not change, only the systems we interact and correlate with will keep upgrading!

Conclusion

The Question is, how do we trust

Workout Guy

from

Tiffany

Either be a paranoid like Agent J or start following the warrior approach! ๐Ÿ™‚

PS:This was written for an opening @ THN.

Social Media Marketing of things!

 

As the year 2015 comes to end, high time to board the social marketing bandwagon!(Better late than never!).

With BA out of the woods, and desperately looking for people to start using it! :-/, @ideapreneur suggested to try the FB thing and get the app to be downloaded via FB advt!(superb idea!) :-), On With The Implementation!!

So we had 3 contenders: FB/Google/Twitter as usual, as max footfall is via these 3 mediums! I will be sharing how I felt while using these mediums to reach out the potential audiences for the app!

1/Audience filtering:

Winner: FB

Tw: Had exactly 300 people interested in biking, This made Tw go out of the competetion way too early!

Gg: No way to find the potential audience, and there is no concept called interest, only keywords(way too year 2000 style)

FB: yay! tune your parameters location/interest/demographics and you get a potential reach! Way cool feature — actually won right stragihtaway there!

2/Ease of usage

Winner: None(maybe Gg)

FB: It took 3 weeks to get a hang of their systems! Their weird terminology of campaign/adverts/adverts set(yuck!) had me stuck unnecessarily for 3 days, as an advert in an advert set was OFF! Also their constraint that an image cannot have more than 20% text also had me waste 3 days getting them to approve/disapprove my advts. Oh and they pulled away 2k bucks in a day for an app install campaign! :-/

Gg: For a new comer not getting footfall on google, seems like their system was broken! That was a problem!Their system is perfectly reflecting how a mainframe of advts should look like! :-D(ha ha!). One super feature was me giving them a link to my site and they creating an advt out of it!WOW Take a look what they did here. This made them win by a small margain!

 

3/Footfall

Winner: FB

Gg: Well maybe the websites are going out of fashion! A great reach but people not interested in the advt at all! more than 50% CPC as compared to FB, and the number seemed small!

FB: Does this need an explanation? Most of the virtual world still visits FB. Plain. Simple.Get it.

 

So, this feat is captured, WHY AREN’T PEOPLE USING THE APP STILL? ๐Ÿ˜›

 

Zero Fat( read: XML), Zero Cholestrol(read: Annotations) Web Services!

I have never been an advocate of XML per-say.
And I was faced with the difficulty of writing one recently overwhelmed by the amount of XML and Annotations, well I was looking forward to a hard day ahead. 

Then motivated to defeat XML in my own war, and reducing its footprint in the codebase I am working on, I put on the searching glasses and XFire came to the rescue(credits to them for integrating WS in the most cleanest manner done with Spring, that I know of!)

Now that the plot is set, here’s simple how to:

Presumption: You have two different projects one is the WS other is the consumer of the WS.

Step 1/ Write your service and its implementation in the WS project.
(eg: XXXService/XXXServiceImpl for the project YYY)

Step 2/ Configure the usual project as a spring web project.

Step 3/ Add the following snippet into the web.xml(append incase you have contextConfigLocation predefined.). This makes your project XFire aware.

  
    contextConfigLocation  
    classpath:org/codehaus/xfire/spring/xfire.xml  

Step 4/ Expose the service as Http WS through XFire Exporter:

    
                
                
                
        XXXService    

Step 4.2/ Inject the Service Impl Bean.


Step 4.3/ Configure the Url for accessing the Service.

    
        
                                                

Step 5/ Deploy the WS project an tomcat/jboss.

 

|| End of Server Side Configuration||

Step 6/ Test using the soap url:: http://localhost:8080/YYY/XXXws?wsdl

Step 7/ Configure the XFire client on the other project as follows:

    
      XXXService        
      http://localhost:8080/YYY/XXXws?wsdl    

Step 8/ Inject it in your client

  
      

Step 9/ The client should be configured as::

public class WsClient{    private XXXService xxxService;}
|| End of Client Side Configuration||

Step 10/ Done!

Things to remember::
1/The Java Interface XXXService needs to be shared with the client.
One can overcome this by creating a third common project shared for the WS Provider and WS Consumer.

2/Any changes in the WS provider, would require re-deployment of the first project.
This is the least a java developer(xml unfriendly) can absolutely live with!

3/Once these configurations are done, forget that you ever need to look into the xml’s!
Also any change addition/removal of the methods that needs to be exposed will be purely a java exercise, without requiring to smell XML.
Well you won’t be able to find any xml!!!, thanks again to the wonderful folks at XFire!

PS: All these steps are written here with the help of http://xfire.codehaus.org/Spring+Remoting and implementing this in a production environment!

Hope this helps you in reducing the amount of unnecessary XML’s in your java projects!

~rohit.

Annotations are hardcoded string literals.

Well,
I do not have much to say apart from the what the title of this post says.

I do not like annotations as a way of weaving code for an application at all.
XML’s are bearable, but looking at an annotated code, is like looking at hardcoded values as if they are all string literals.

The reason I prefer XML over annotations is atleast they keep the configuration part staked away seperately or is it just me who does not like overloaded contexts?

Here’s the real motivation:
The OO paradigm was there to do the abstraction right, by punctuating them with annotations, we miss the broader general rule of why the object maping was done initally.

Let’s Keep the principle Simple!

The missing software oath!

We as software creators, affect lives of everyone.
Be it a lawyer/doctor/government/police/reporters and what not.
All of them have an oath they take acknowledging with their conscious the work they are supposed to do would be done with best spirits and with best intentions.
Although at the ground, it might not be true but atleast as a ceremony they have something to swear by!

Coming to the profession(an occupation requiring special knowledge) of software development and related works, we do have no such promises to make or oaths(commitment to tell the truth!) to take!

Maybe all related software professionals are assumed to lie or are assumed to be true.
If we all are liars, then we might not have his wonderful profession, as good things rest on good souls and get bad name from a few unfortunate few.

What place do you belong?

2 CAME, PIZZA HUT SAW, GANG-STIR CONQUERED

Well, the title might sound a bit off track, there’s some story behind it. As all “Gang-Stirs” following this blog have read RK’s earlier post Somethings cooking! (stir-ring) me and RK met at Pizza Hut @ CP today (that explains 2 CAME, PIZZA HUT SAW part) and had a meeting of sorts (that explains GANG-STIR CONQUERED part). Without much further ado, I hereby put the minutes of the meeting (or discussion whatever one would love to call it):

Three broad points were on our agenda as outlined below:

  1. WHAT DO WE HAVE TO DO?

One of the important points is what are we going to do as a team if we become one. The discussion was centered around:

  • Get or identify guys from varied backgrounds and technologies together. Already few “Gang-Stirs” have been identified for ownership of various tracks:
      • Mobile: GG
      • JAVA (ranging from middleware to front-end): JC/RK/NA/HKA
      • Rails: SD
      • Database/Backend: AP

 

  • Find/search for ideas that click. You can think about anything under the sun, but the implementation of the same should be possible for you and other “Gang-Stirs” to implement.
  • A website has to be put up containing a small description of our work/ideas. RK is driving this effort and will update once done.
  • Search for a hosting solution that supports JAVA/J2EE and we badly need this to be in place to proceed further.
  • Ruby hosting solution has been found. Check out justhost.com for more info.
  • Finally, need UI experts to design nice layouts for our ideas. I know most of “Gang-Stirs” (if not all) struggle at it.
  • R&D was also discussed, but it’s more of an individual rather than collective effort.

2. WHAT WE HAVE BEEN THINKING OF DOING?

The second which we discussed about. Few ideas which came out:

  • BIKE-ASSIST: Kind of a GPS/navigation system which would assist bikers/motorists find next option in case of breakdown. For starters, might be implemented on mobile/web platform. More info would be available once we actually start on this.
  • A RUBY PROJECT: Something similar to National UID started by Govt. of India under Mr. Nilekani. But the difference would be the identity of the person would not be based on data like ration card or gas connection etc. rather it would be on his own individual identity. SD can work on this.
  • E-Commerce Engine: I have been thinking about this for long, but it involves lots of effort and R&D from initial plan to final product. Hopefully, would start on this and come up with more details.
  • Work on improving and contributing to open-source projects under Apache preferably. This can vary from developing eclipse plugins to working on actual source code. Apache Maven has been identified for starters to work on the same.

3. THE PREREQUISITES BEFORE WE START WORKING

I think this is the most important part one needs to focus on before doing actual work. Few prerequisites have been identified for starters:

  • Complete ownership of the identified track is a must. Apart from doing the actual coding this would include mentoring the new guys, taking additional roles/responsibilites etc.
  • Each track would be responsible for their deliverable. By deliverable we mean a final product which we just need to deploy or copy and it would work without much additional rework. Apart from the deliverable, each track should have an extensive documentation on wiki or any documentation platform explaining features/known issues or bugs related to their respective deliverable.
  • Most importantly, need to stick to best practices and standards while going about our job/passion.

Well, that’s the whole summary of our discussions. Please feel free to comment and suggest further so that we might have a better perspective while going about our passion.

White Code!

Today while working at my desk, I came across a situation where a colleague was writing some piece of code as a missing implementation when a module changed hands.
There was little time and so, the part had to be just written for the sake of it.
And that’s where I wanted to dis-associate myself from the partnership.
It so happened that the situation was getting complex and two heads were good at solving it.
I could not yet overcome my hesitation to help in a piece of code that would not be tested, so rather than saying this, I called it the white code: The one that was written on the white background of eclipse editor and never get through living in the main memory and get executed!
To my happy surprise, he got motivated and understood my hesitation and ensuring the missing implementation code was atleast working on a non matching scenario and breathe life into the code.
There we called it the green code:Simply because it was executed, not for complete scenarios, but it was executed!

Green is the way to go!