Sidhartha's profileInherited from System.Ob...BlogLists Tools Help

Blog


    April 27

    My Circle of life

    May 2000:
    Joined Master of Sciences in Computer Science in Osmania University:
     
    Oaths taken:
    1. Complete college by 2002 and never think of studying again
    2. Stay single and enjoy life
    3. Get into a job and stick to that like fevi-quick
    4. Dont save money, its dump and stupid idea.
    5. Starting own business is like shooting yourself in your foot... its crappy idea... why struggle when all you have to do is work for few hours a day and enjoy a paycheck at the end of the month every single month.
     
    May 2002:
    Graduated from Osmania University in Master of sciences in Computer science:
     
    Oaths taken:
    1. Will go back to college to do doctorate to research on programming methodologies around 2009 (after 6-7 years of work experience).
    2. Will join a software company within a year
    3. Will do certification exams within 2 years
    4. Will join a big software company within 2 years
    5. Prepare to join Microsoft within 3-4 years
     
    April 2004:
    Joined Hughes software systems as software engineer:
     
    Oaths taken:
    1. Will go back to college to do doctorate to research on programming methodologies around 2009.
    2. Prepare to join Microsoft within 2-3 years
    3. Will get married in 2008 end not before that.
     
    May 2006:
    Joined Microsoft, India as Associate Consultant:
     
    1. Stick in Microsoft for 5 years so you have some weight in resume
    2. Will go back to premium b-school to do MBA to give a major push to career around 2011
    3. After b-school join in a company at managerial level to gain that experience
    4. Dont get married until 2009 so I can focus on career
    5. Start own business in 2013 (if the world survives 2012)
     
    August 2008:
    Got married:
     
    1. Stick in Microsoft for 3 more years so you have some weight in resume
    2. Will go back to premium b-school to do MBA to give a major push to career around 2011
    3. Save a huge amount for family while I spend 1.5 years for college without working.
    3. After b-school join in a company at managerial level to gain that experience
    5. Start own business in 2014/2015
     
    April 2009:
    No major event in life:
     
    1. Stick in Microsoft for undisclosed years
    2. Dont even think about going back to school.
    3. Dont save money for future, its so dumb and stupid thought.
    4. Dont start business, its a mad thought
     
    ------------------------
    This is my life in a nutshell, its round and is cyclic in nature... some things are irreversible.
     
     
     
     
     
     
     
    March 28

    Learn ASP .Net Web Application Development Best Practices (In TELUGU)

     

    In the midst of mad rush and technological revolution, there is very less of importance given to Indian languages on a daily basis. This is a gigantic leap taken by Microsoft to get the technology to the masses in India.

    For the first time, a major webcast is exclusively organized in Telugu.

    Pass on this information and help save your mother tongue survive the wave of technological revolution.

    Link to register: http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032410398&EventCategory=4&culture=en-IN&CountryCode=IN

     

    clip_image001

    clip_image002


    Twice the fun— Share photos while you chat with Windows Live Messenger.

    February 28

    New wave of Windows Live arrives

    I got this mail today, but I’ve been using all of them for long time, so I know they are second to none. Live Mesh is the best thing online. If you are not using it, you are missing so many things in life.

    Google provides 1GB for Picasa… thats all Google? What happened to your unlimited storage promise to Picasa?

    I’m shifting all my photos to Windows Live Photos, for several reasons including 25GB space. I have 2 live accounts between me and my wife, so we have 50GB for online storage. bye bye Picasa..

    ------------------------------------------------------------------------

    Windows Live Newsletter
    February 2009

    The new Windows Live is here!

    And better than ever. Updated versions of our online services—Hotmail®, Messenger, Photo Gallery, Spaces, SkyDrive™, and more—make it easier than ever to stay in touch with your friends and keep your life in synch.
    See how it works

    The new Windows Live is here!

    Stay in the know

    Stay in the know

    Keeping up with friends in your network is easier than ever! Now every time someone updates their personal status, or posts photos, comments, or public messages, you'll see them on your Home page. That way, you never skip a beat.

    See "What's New" right now.

    All about you

    Your new Profile page in Windows Live is where you share information about yourself—your interests, occupation, age, funny hobbies, and more—for the world to see. It's also where you add Web activities, so your friends can see what's you're up to online at places like Twitter, Flickr, and more.

    Update your Profile.

    Update your Profile.

    One place for all your e-mail

    One place for all your e-mail

    You don't have to log in to three or four different e-mail accounts every day. You can send and receive e-mail from your other providers—Gmail, AOL, YahooPlus, and more—right from your Hotmail® inbox. How easy is that?

    Try it today. Try it today.

    Share your calendar

    Share your calendar

    The simplest way to let friends know when you're free and when you're busy? Share your Windows Live Calendar with them. It's fun and convenient, and saves time when making plans.

    Learn how

    Missing mail?

    Missing mail?

    If you're not getting e-mail in your Hotmail inbox that friends are sending you, it may be because your junk e-mail filter or blocked sender list has excluded them. Fortunately you can fix it, in just a few clicks.

    Update your settings

    January 07

    Yet another dream post

    I never knew that I can come up with resolutions to many things in life.

    This happened couple of weeks back. I was under the mystical influence of a freak show called jetlag, just like that guy who fell down from his bike as a pillion rider. I was getting sleep, but then I was not actually getting that… that is why it is mystical.

    So, I was lying on my bed… beside the clutter of clothes - nonetheless to say… and trying to get sleep badly and having accepted my defeat, i diverted my focus onto something else so i can get sleep out of air.

    So, I was thinking on several things bugging human race in general and India in specific… while I was slipping into the magic of sleep, I managed to resolve the below problems:

    • Resolved Hunger
    • Cured Terrorism
    • Cooled down the global warming
    • Found alternate fuels that last of very millennia
    • Brought the world out of economic recession
    • Made India a developed nation
    • Resolved the bug I was trying to fix.

    Next day, story as usual… i mean the jet lag and me resolving the problems…

    So, one day when any of the above is actually resolved, you know who you should thank… right??? right???

    Kalam sir, I’m dreaming. :)

    November 21

    DreamSpark – chase your dreams!!!

    This is a wonderful opportunity for students in India.

    Now, you don’t have to pay for most of the softwares (required for development). Microsoft started this intuitive program called DreamSpark that allows all students in India to get a DVD from their nearest authorized center and start working using the best development tools on the planet.

    Whats more??? Microsoft is even giving the latest versions of Windows and SQL server along with the standard versions of the Visual Studio, Expression Studio and XNA Game Studio and several others.

    So, whatever is your interested area… if its in Microsoft technologies… flash your ID at your nearest authorized center and get a fully licensed DVD containing all the softwares.

    So… no more downloading torrents with viruses and no more copying pirated copies from friends… you can own your copy and be proud of it. :)

    Last but not the least, this is even for students with other than Microsoft technolgies experience/interest to try out why people like or hate Microsoft tools… don’t be a cattle and follow the herd… try it out yourself.

    You can find more information at this site.

    November 01

    Want to influence $1million charity???

    Please take a moment and suggest tripadvisor guys to use their charity money in the appropriate charitable trust (for various causes). It just take a moment, trust me.

    Here goes the link: http://www.tripadvisor.com/Causes

    October 31

    I’m a jackass

    Everything was going fine in my life… in fact everything was going exceptionally well until yesterday.

    No work to worry about. However, I’m married – so…
    And, my company does not demand me to come and fill my desk without any work, so I can stay home and fill my bed for longer time.

    My dad was taking an early morning flight and was running little late and my home is good 1hour 30 minutes drive from the airport. (Damn, new airport – I hate you.) So, being a good son (in fact a very good son) I drove him to the airport around 4.30 in the morning (its like mid-night for me).

    I wanted to go to office to steal some supplies (and to see if my ID card still works) and wanted to take company transport. Little background: My home is 2 hours drive from my office in the opposite direction as the airport.

    I wanted to drive a little faster and reach home and sleep for an hour before getting on to the bus to continue my sleeping session, but life has something else for me in the store.

    Now on, I'll time the events.

    4.20AM: Start to airport… vrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrroooooooooooooooooooooooooom
    5.15AM: Say bubbyee to my dad and drive back towards home… vroom
    5.20AM: Out of airport departure area… vrrooom
    5.25AM: Out of airport premisis… vrrrrrrrrrrrooooooooooommm
    5.30AM: Burning the road… vrrrrRRRRRRRoooOOOOOOmmm
    5.31AM: Car enjoying the ride… dhud…dhud…dhud…dhud
    5.32AM: Me, suspicious on car’s intent… screeeeeeeeeeeeeeeetch
    5.33AM: Turn off the engine… Zzzzz
    5:33.21AM: Realize no light around, so turn on the ignition… $#(&^$
    5:33.24AM: Get out of the car and close the door… BHAM
    5:33.28AM: Check the front wheel with my detective glasses… tan… tadan… tadan… tadan…
    5.33.55AM: No clues found… nothing whatsoever… hmmmmm
    5:35AM: Relish the fresh morning breeze… sshhhhhhh
    5.35.17AM: Open the car door
    5.35.17.011AM: Realize car kicked me out, my car kicked me out… jackass
    5.35.20AM: Woke up to reality and did a root cause analysis… huh!?!
    5.36AM: Remembered about the function I asked the sales man to include – auto locking.
    5.36.21AM: Thinking hard to get into the car… duh
    5.37AM: Brilliant idea found!!! - Call my brother to get duplicate keys… hello anybody home
    5.37.59AM to 6.40.43AM – smile at the passers by and become the clock of the day… “its 5.45AM… its 6.01.12.675AM… its 6.23AM… its 6.37.22AM… its… its…”
    6.40.44AM: Take the duplicate keys and unlock the car… beep beep
    7.40AM: Reach home… huh
    7.41AM: Got a call… hello DAD… “yea I too reached home”.

    Moral of the story: NEVER STOP WHEN YOUR CAR MAKES SOUND… IT IS FAKING.

    Break over

    Now that I came out of my cocoon, wanted to share updates and what exactly will be life inside the cocoon. :)

    I was expecting “Thanks for not writing mails from some of you, but never got any. So, I’m assuming that you actually wanted me to write”. It seems there are some laws surrounding blogs and one such law states that you should never apologize for your audience, they meant - no sorry for not posting/sorry I was making money for my employer posts. So, no sorry for you guys… in fact you should be sorry for not being able to read my blog… Okay… Apologies accepted… now that the enlightening session is over the actual blog post starts.

    Firstly, I got married!!!

    Once you are done with laughing, continue…

    Secondly, even without updating my blog I’m getting equal number of page visits… so pretty much happy that my blog is searchable. Most of the traffic is coming from Google. Thanks Goog, but its just little more time before Live curbs your enthusiasm and dominance… nevermind… continue.

    Thirdly, if you haven’t heard off – sub prime crisis in US is shaking the foundations of the economies world wide… including mine.

    I’m planning to devote at least one hour a week to write some stupid stuff and waste some disk space on the server hosting my weblog, so you’ll never be disappointed anymore. :D

    May 12

    Free relay server from Google

    Gmail, the email solution introduced by Google in 2003? undoubtedly changed other company's perspective towards web based emails. However, it is in news, these days, for all the wrong things.

    The newest flaw discovered in Gmail turns the email service into a sophisticaed spamming engine. So, next time you get a mail from a gmail server, make sure it is from your friend.

    Inspite of being a beta for almost 4.5 years, bugs seem to be surfacing everynow and then... Guess who is not dropping the beta tag for several more years to come? :)

    April 28

    Speeding up your CCF Workflow

    CCF Workflows takes several seconds to start for the first time. This is to do with the fundamental .Net feature called JIT. When you first launch the workflow, CCF creates the workflow engine for the first time and starts the engine before working on your request. This eats up so much of processor... remember the JIT compiler compiles the IL instructions only when required?

    One workaround for this problem would be warm up your workflow before the user actually uses this. This will help in faster response time from CCF as the required last minute compilations are already done for you and all you will do is to use the cached binary instructions instead of IL.

    As always, below is the sample code that does exactly what is mentioned in the above sentence:

    Find the line in your desktop.cs file

    customerWorkflowManager = (IWorkflowManager)this.GetHostedApp("Customer Workflow Manager");
    add the following lines below that statement.
    //Modified for warming up the workflow
    
    ThreadStart ts = new ThreadStart(ExecuteAsyncWorkflow);
    Thread wfThread = new Thread(ts);
    
    wfThread.Start(data);
    
    //end of modifications

    Finally, add this method.

    private void ExecuteAsyncWorkflow()
    {
        System.Reflection.MethodInfo method = customerWorkflowManager.GetType().GetMethod(
    "DoAction", new Type[] { typeof(Microsoft.Ccf.Csr.Action), typeof(string) }); Microsoft.Ccf.Csr.Action action = new Action(-100, "Human Workflow Automation", "");
    //TODO: Fill the below ALL CAPS words with proper values or better yet, make a web service call to get a valid workflow xml.
    // Refer to custom workflow manager project on how to use the web service call.
        string data = @"<Workflow><StepName>NAME HERE</StepName><HostedApplicationId>ID FROM DATABASE HERE</HostedApplicationId>
    <HostedApplicationName>VALID APPLICATION NAME HERE</HostedApplicationName><Action>VALID ACTION NAME HERE</Action></Workflow>"
    ; try { method.Invoke(customerWorkflowManager, new object[] { action, data }); } catch (Exception) { } }

    This is fairly simple code could save you up to 20 seconds. The tradeoff with this approach (of course all good things have an asterix) you are adding more load during the start up, though the time your solution loads will not change as this is a background thread, but the CPU is now split with one additional thread.

    Let me know if you have a better solution to this problem.

    April 27

    Adding CCF Agents Programmatically

    One of the most annoying features for admins with managing CCF is adding Agents. Updating/Deleting are less annoying as they are not in bulk most of the times. Even manually adding Agents using CCF Admin Console is not productive when adding more than few users.

    CCF Admin Console, internally uses WCF web services (in CCF 2008) to perform database related activities. You can write a custom program consuming these web services to ease your configuration. This is much faster way of handling the agents in the database.

    Warning: You should not get carried away with this approach and communicate to the database directly bypassing the webservices or if there is no web service for a desired database operation. This might cause long term problem when the CCF team changes their database. In worst case, it might even void your support.

    Now that we know what we should and shouldn't do, let me show some sample code to do the same.

    Every installation of CCF 2008 (server) installs several web services and the one we are interested here is AgentWS. Since we know the web service now, it is a simple WCF webmethod invokation.

    Following code illustrates how to add user to the database.

                AgentWSClient agentService = new AgentWSClient("BasicHttpBinding_AgentWS");
    
                try
                {
                    AgentDetails agentDetail = new AgentDetails();
                    agentDetail.FirstName = "John";
                    agentDetail.LastName = "Smith";
                    agentDetail.DomainId = "contoso\\jsmith";
                    agentDetail.AgentType = 1; //1 - Agent, 2 - Admin
    
                    agentService.Add(agentDetail);
                }
                finally
                {
                    agentService.Close();
                }
    

    As simple as this...

    You can probably write a small application that will fetch the user information from the Active Directory or any other list of users and add them all into the CCF database.

    March 06

    IE8 Beta 1 out there

    It has been long since I took some time to blog and more importantly blog something relevant rather than some sarcastic crap about my visit.

    Microsoft silently pushed the IE8 beta 1 bits onto their public site some time/days/years/decades ago... no news no marketing at all. At least I haven't heard of anything related to that.

    Interestingly, they've also released a readiness toolkit for the developers to design their web sites for this new tool.

    If you are in the mood to peek through the future of IE, download you copy here

    January 09

    21 Countries and still counting...

    Now I've visitors from more than 20 countries... hurrah...
    Here goes the list of countries in the descending order of number of visitors:

    1. USA
    2. England
    3. India
    4. Belgium
    5. Australia
    6. Sweden
    7. Israel
    8. Syria
    9. France
    10. UAE
    11. Bulgaria
    12. Iran
    13. China
    14. Ireland
    15. Portugal
    16. Norway
    17. Egypt
    18. Pakistan
    19. Nepal
    20. Taiwan
    21. Gulf of Guinea

    How many countries are there totally? Around 190, right... so i'm fairly read across 10% of the countries :P

    Thank you all, keep visiting while I write more rubbish.

    January 05

    My China trip in a nutshell... sorry, there are no nuts and no shell

    Well... I'm not sure where to start this and how to proceed here. This is kind of a lengthy post, so you are forewarned.

    Assumptions:

    Before going to China, I was very apprehensive about several things. I was not sure if I’ll survive for 3 weeks. This was because I do not know anything about that place and there is so less on the internet too. Well… they have so much more in the internet, but you know they are all in this box characters (I do not have those special glasses which will decrypt those).

    I’m a vegetarian and I had the gut feeling that I could survive anywhere in the world… hey… I survived in South Africa after all. But, there is a butt in everything, every other guy I met told that you’ll starve… carry bag full of ready to eat… you’ve to eat meat… so on and so forth.

    Chinese people are very aggressive and do not entertain outsiders, and we have this weird theory that they eat anything which moves. So, I was afraid if I’ll be hanging upside down on some butcher’s shop.

    Also, there are these dragons flying around picking its prey. :P

    How I survived:

    Coming from airport to hotel was an easy affair, I asked the guy at the foreign exchange about the approximate taxi fare to the hotel and kept on telling that number and showing the Chinese address before one taxi driver asked me sit. After reaching hotel, one of my chinese colleague dropped in and took out for dinner. I explained him that I’m a vegetarian and cannot eat meat/eggs, so that night was pretty good.

    Next day the hotel guys sent some stuff for breakfast and a drink, my colleague came to pick me up for the office and verified my breakfast if I can have them or not :D. He even informed the hotel guys to give me breakfast without meat/eggs. Thanks a lot friend.

    Lunch was never a problem as my colleague would take me out anyway. Courtesy Vincent, I even learnt couple of survival tips that would help me not to starve at the nights. Except for food and taxi, I must say, every movement in China for is like playing dumb charades. God… I’m good at this game now, my team mate should just be a Chinese and we can win the world cup in this.

    Enough of the crap, now comes the interesting part.

    Things I observed:

    1. All Chinese men are not of the same color
    2. There are some Chinese men about 6 feet tall.
    3. If I’m standing behind 10000 people in a straight line, there is a 99% probability that I can see the first person.
    4. Anyone over 5.7 feet tall is considered a monster. If they fall short of food… remember you the first one.
    5. There are no black Chinese… No… this is not a racist statement.
    6. These guys are not aggressive, not at all. They might fight among themselves, but never fight with a stranger.
    7. They can eat anything with chopsticks...
    8. There are no Chinese men with curly hair.
    9. Smile and the world (China) will think you are an idiot.
    10. All Chinese people do look sleepy. And of course sleep.
    11. You can sleep in your office. You’ll not be fired for that.
    12. Chinese and Japanese are different.
    13. LiuHua clothes market is the biggest market I’ve seen in my current life. There are like million shops throwing away clothes at the passers by and taking peanuts instead… No wonder all the clothes you find in all the countries are “Made in China”.
    14. Men’s fashion is the biggest joke of the millennium. Out of the million shops, there are like 100 ones for men. No wonder they don’t show them in FTV… who wants it anyway :D
    15. XiuHuia is the biggest IT market I’ve seen. Bangkok, which was my previous big one is just 1% of this, I must say. They do not throw the items, but you can get atleast 40% reduced prices. So sad, you cannot buy more if you want to be not bitten by the customs.
    16. You can get anything here… even Apollo rocket will be sold, just that it’d be Appolo.
    17. Last but not the least… a survival tip. You should either know mandarin or should be good with dumb charades.

    And yea… there are no dragons here… they might be a myth or they might have eaten them all.

    谢谢

    December 21

    Unsuccessful hacker

    This blog entry is dedicated to that person who has tried effortlessy to hack my gmail account.

    Well... friend... you want my password... it is ****************

    Come on... i gave you yet anoter clue.. go ahead and hack it again :P

    I'm alive

    For those people who are visitng my blog during the vaccum... your loyalty is greatly appreciated.

    I'm currently in China learning Chinese and ofcourse making some money for my employer :)

    There are couple of websites which are banned from public viewing such as blogspot. and wikipedia :o.
    Another good reason for using live spaces instead of blogspot.

    Wait for one more day, I'm going to post how I survived for the first week in China.

    Stay tuned... well what ever.. you can close the browser and comeback :D

    October 04

    Microsoft .Net framework source code to be released with VS 2008

    Ok, my blog is not as big as ScottGu's. If, you did not get to his blog, chances are you'll not see this too :P

    The news that broke yesterday from ScottGu's office is that they're planning to release the source code for most of the pieces of .Net framework library with Visual Studio 2008 (code named: Orcas) which is due Feb 2008.

    This will help you in stepping into the source code to see what and how your instruction is being executed. Well... to most of the extent.

    To me, the most useful aspect of this is. Now, there'll *hopefully* be less WorseThanFailure entries from .Net source code. As developers learn (or try to peep at how they do it) how to code.

    If you think of using the code, you might very well be in soup or whatever you don't like. This is only for reference purposes and *should* not be copy/pasted into your source code. Else, you'll be chased down the aisle by the ghosts and you might lose you job.

    You've been warned twice. Now, sit back and wait for them to release this.

    Oh... you wanted to original link is it. Here goes it.

    Community credit winner... again

    Not in the top 10, but made it to the list... sigh!!!

    Btw, if any of you know if Beer is included... let me know :D

    STFU Beer Stein
    Whether you went to college or not (or "university" as you Europeeps are wont to call it), you can appreciate the desire to show support for your school. It doesn't matter if you want to put a sticker on your car, paint your chest with funny letters, or wear a furry animal suit at sporting events. If you love your school you'll find a way to show it. Well, we've teamed up with the fine folks over at STFUniversity to provide an outlet to show a little school spirit.

            STFU is our favorite institution, and though many of us attended other universities around the world, we're encouraging as many people as we can to embrace STFU and its ideals. Tuition is cheap at STFU, in fact it's free. There are no books to buy, and since there's no physical campus, you can study as little or as often as you like; though we think you'll find the more you immerse yourself in the STFU lifestyle, the happier and more fulfilled all our lives will be.

    October 03

    Windows Live lives it all

    See what’s new and try it!

    The new version of Live Search makes landmark progress in two critical areas.  First, at the core, the technology that delivers relevant search has improved dramatically.  Second, they have focused on additional innovation in four key search experiences: Entertainment, Health, Local, and Shopping.

    · At the core:  Massive improvements have been made in five areas to help deliver results as good as any engine on the planet.  The team has increased the index by over 4x which delivers better coverage; improved the rich answers (try these queries: traffic, Frank Sinatra);  made improvements to query intent which solves for misspelled and plural words, and better gets to what users are searching for; improved RankNet, the neural net technology that helps determine the top results; and made key user interface improvements that present tools and results that are easy to use and help navigate to the right content more quickly. 

    · Entertainment:  The team has developed not just better answers, but a unique way of showing content as it relates to other celebrities (xRank) and better inline results.  (Try Will Smith and check out the xRank and the live in browser previews of the videos) 

    · Health:  With the acquisition of MedStory earlier this year, they are able now to bring trusted content in a unique experience to the Live Search users.  (Try diabetes at health.live.com)

    · Local:  They have dramatically improved local listings, mapping, printed directions, and the user interface to make the award winning local and mapping even better.  (try your favorite type of cuisine and a city, or directions the next time you need to)

    · Shopping:  Now you can search for a product or a product category (try Palm Treo 650 or the category “digital cameras”) and utilize not just the rich answer, but the expanded opinion index that intelligently crawls review sites and abstracts the pros and cons as well as the topics that drive the online conversation.  

    September 09

    Update on the Banana Security

    Woohoo...

    This is one of the easiest softwares anyone can use. Here are the few pros and cons on this software.

    Pros:

    1. Innovative - I do not know any such software in the market.
    2. Super fast - You don't even know that your face is recognized and it unlocks your screen. Cool
    3. Very less/No help required - At the most requires a 50 words documentation
    4. Small Download and quick install - ~1.8 MB installation package size and takes ~30 seconds to install
    5. No restart required (This certainly is the best thing with this software.) - Integrates with Windows Shell (it is basically a password protected screen saver) even without a restart
    6. FREE - greatest value for money anyone can get

    Cons:

    1. Face recognition does not work as correctly with spectacles on. So, I've to remove my spectacles for it to identify me correctly
    2. Crash dialog appears when it locks PC
    3. Help actually contains license information - Kind of weird, but luckily it does not require any help.
    4. Does not work in multi user scenario. This does not allow multiple enrollments. If we need to add one more, we have to delete the existing one.
    5. Less administrative features (settings) and no image correction features.

    In spite of these cons, I'd give it a high 8 out of 10 for this software (Remember, this is still in its beta). Meaning, I recommend this product to everyone.

    Source:
    BananaSecurity