Monday, 18 May 2015

How to remove reflections from photographs? Here is how



Image source
I was at this conference dinner in a fancy restaurant and the view from the restaurant window was amazing. I flipped out my cell phone and clicked a few shots expecting to capture an award winning photo but damn!! the window, reflection reflection every where; and the lights outside the restaurant made it worse. A lot of us are faced with such situations where we click pics through a window. Professional photographers use extravagant techniques like wrapping their camera lens with a dark cloth and all other mumbo-jumbo but the common folk lacks such sophistication and ends up capturing a sub standard memoir of their good times. These reflections are difficult to remove even by a photoshop expert. Keeping in mind all these problems, researchers at MIT have developed an algorithm to remove these reflections. Now, when will this algorithm be included in commercially available photo editing packages is a matter of speculation for us but it should happen soon enough owing to the techniques usefulness. 

Here is the link for the original article published on the MIT News website and those of you who are interested in understanding how this reflection removal works check out the following original research articles by the lead researcher.

Friday, 1 May 2015

Decisive Breakthrough Achieved in Quantum Computing



Scientists at IBM have reportedly achieved an important breakthrough in the development of quantum computer. For long it has been widely known that Moore's Law would eventually fail and scientists have been working on systems to further improve computing speed. This is were the importance of quantum computers is realized. Quantum computers would rapidly speed up processing time and would be immensely useful in extracting meaningful information for a large heap of data.

Today's computer understand information in the form of bits. A bit can have only two values '1' or '0', i.e. 'on' or 'off' state. Now, bit in a quantum computer is called quantum bit or 'qubit'; this qubit can have values '1', '0' or both 1 & 0 at the same time. This condition of having both states at the same time is called superposition and is represented by '0+1'. The sign in superposition is important as 0 & 1 have a phase relationship. Superposition is what makes quantum computers faster than today's computers.

More about this can be read at the original article posted on 'phys.org'.

Sunday, 19 April 2015

A Vest that Helps the Deaf Feel and Understand Speech


Checkout this article about a vest developed at the Rice University which allows the deaf to feel and understand speech. I think it's a great innovation that will make them have a more emotional communication than sign language.

Original article by Mike Williams, Rice University: Click here to read the whole story

Image Source
A vest that allows the profoundly deaf to “feel” and understand speech is under development by engineering students and their mentors at Rice University and Baylor College of Medicine.Under the direction of neuroscientist and best-selling author David Eagleman, Rice students are refining a vest with dozens of embedded actuators that vibrate in specific patterns to represent words. The vest responds to input from a phone or tablet app that isolates speech from ambient sound.

Eagleman introduced VEST – Versatile Extra-Sensory Transducer – to the world at a TED Conference talk in March. He is director of the Laboratory for Perception and Action at Baylor College of Medicine and an adjunct assistant professor of electrical and computer engineering at Rice, of which he is also an alumnus. His lab studies the complex mechanisms of perception through psychophysical, behavioral and computational approaches as well as neuroscience and the law.

Wednesday, 8 April 2015

My Tribulations with Daily Standup Meetings (aka Daily Scrum Meetings)


Image Source: Image


I was listening to Eminem’s ‘Real Slim Shady’ when the lines ‘Please Stand Up, Please Stand Up’ suddenly brought the image of Agile’s Daily Stand Up Meeting before my eyes. Though, the song and Agile methodology have no connection I wonder why I visualized the many daily stand up meetings I have attended. Probably, because I never have liked these meetings and the song’s lyrics just triggered my brain to make an odd neural connection.

Anyways, now when the memories have cropped up I would like to explain the reasons for my beef with this agile practice. Though, Agile software development is a very positive initiative in making software engineering more efficient and evolutionary, it is far from perfect. Daily stand up meetings being one of the good intentioned processes gone bad. The purpose of these meetings is to provide an informal platform to briefly discuss ones progress and to bring up their issues. This helps the team get an idea of where the project is headed and steps they need to take to tackle the obstacles. However, with time Agile practitioners forget the basics of this meeting and the following ill practices emerge.

My issues with daily stand up meetings-
  •  It allows micromanagement. Managers with a dictator’s mindset love it, especially old fellas from the software industry who have worked most of their life on traditional models.
  • Though by rule there is no leader or manager in daily standup meeting, usually the scrum master behaves like a manager or the team members start treating him/her as one.
  • It becomes more of a status report meeting.
  • With time people start telling lies as they don't want to show that they haven't done anything on a particular day. Occasionally people get mental blocks, especially the developers and probably they have spent the last two days researching and strategizing their coding approach. However, often the higher management are inconsiderate to these issues and the developer tells lies that he/she has completed the XYZ module. This leads to wrong estimation of project matrices which might only be discovered a day or two before the actual code delivery and have proven to be catastrophic.
  • It saps out energy from people.
  • It is very difficult to conduct if teams are located at different geographical locations having a large time difference.
PS: The above issues were the ones faced by me, maybe you faced some or a few or some other issues or you could be lucky to have faced none. Do mention your experience with daily standup meetings in the comments.

Probable Solutions-
  • Most of the problems I faced were more due to bad implementation of the idea and not because the idea was bad.
    • Development teams and also top management should have regular Agile refresher sessions so that they can gauge their compliance with Agile practices. 
    • It should be made sure that micromanagement doesn’t occur in the guise of daily stand up meetings. Micromanagement is often the trait of a weak manager/leader having little to no confidence in his/her team.
    • The management should also understand that people are people and not ‘resources’ that can give constant performance. They should be aware that technical people are like artistic people who sometimes get a mental block or due to the love of their work like to give a perfect solution. Until these one or two days of thinking doesn’t affect the delivery target, the management should be fine with it. In fact they should explicitly make this clear that mentioning ‘no actual code written or test carried out’ for a day or two in the standup meetings won’t affect their KRAs and appraisals. This show of confidence in the team will help in accurate project estimations and will also boost the morale of the team.
    • Agile should really be agile. Instead of fixing the format of these meetings as ‘daily stand up meetings’ teams should be flexible about how and how many times during a week these meetings should be conducted. Instead of standup meetings maybe teams could discuss over snacks or maybe lunch. If the team is small enough the whole team can go out for fresh air, take a brief stroll and discuss the issues and stuff. Instead of ‘daily’ meetings maybe the team could meet three days in a week or maybe more than once in a day depending on their needs.
  •  For teams separated by a large time difference meeting even through webcam etc. can be challenging. Two solutions could be tried –
    • Since the meeting is very short, maybe the team members can be cajoled into attending the meeting from their homes OR
    • A team member from both locations can act as ‘point of contact’ for their teams and these two people can first have discussion with their own teams and then they two can share the meeting points with each other. This person need not do this permanently but this position should be rotational and all members (especially seniors) should get a chance to be in this position.

I think Agile is like democracy and Waterfall rigid like dictatorship. Inherently Agile has more chances of success than waterfall but nowadays it is becoming like a corrupt democracy.


---M A Imtiaz, Sophos-R
 

Monday, 30 March 2015

Project DeepCode: Auto Detection & Fixing of Security Flaws






  
With the increase in the number of devices connected to the internet and the emergence of 'internet of things' along with benefits many security issues have also risen. DARPA it seems have have come upon a solution to the ever increasing security vulnerabilities. Their latest project codenamed DeepCode can automatically find and fix security issues. This is a more proactive approach to counter security issues than the usual 'fix after attack approach' or 'defend when attacked approach'.  However, as with all military research you shouldn't expect these technologies to be released to public anytime soon but the distant future appears to be a bit more safe. I have pasted an abstract and a link for the complete article below.

Original Article by Robert Lemos of eweek.com

Researchers involved in a project funded by the U.S. Air Force Research Laboratory and the Defense Advanced Research Projects Agency are describing a machine-learning system as a fundamentally new approach to cybersecurity. DeepCode is designed to analyze terabytes of software code to find security flaws and fix them. Draper Laboratory, formerly part of the Massachusetts Institute of Technology, and a group from Stanford University led by machine-learning pioneer Andrew Ng, are behind the project. The researchers are using machine-learning and pattern-analysis techniques to teach the system what good code and bad code look like. Once DeepCode is trained to recognize vulnerabilities, it will be able to identify flawed code and recommend repairs. The team already has used the system to detect vulnerabilities such as the Heartbleed bug in OpenSSL, and is now working to increase the magnitude of data for making decisions by a factor of 1,000.  "The system collects and ingests massive amounts of software, makes this software searchable, indexes the known bugs and security vulnerabilities, and identifies--in new or existing code--matches to any previously identified flaws," says Draper Lab's Brad Gaynor.

For the complete article please click on the following link: DeepCode

Wednesday, 25 March 2015

Will Star Wars Like Force Field Become a Reality?





Science and technology has come a long way in bringing things of fiction to reality. The pace of development has increased  exponentially in the recent 1 to 2 years. Just came upon a very interesting article on CNN according to which the staple favorite of sci-fi movies, 'the force-field' is about to become a reality. Boeing has recently been granted a patent for this technology.

Visit the CNN page 'force-field' for more details. What other sci-fi stuff do you guys think can become a reality in the near future?

Monday, 16 March 2015

Evolving man’s best friend: wearable tech for dogs


Imagine this; you are caught in a blizzard, alone on the highway, in a broken down car waiting for help. Suddenly a search and rescue dog appears, bringing a smile to your face which quickly fades away as you don’t see its handler. The dog looks at you, sniffs you and then bites at an attachment on its vest which releases a dull beep sound. You look at all this, astonished, wondering what’s up with the dog and where its handler might be when within minutes you are surrounded by the rescue team members.

In the above scenario the attachment bitten by the dog was a GPS locator that transmitted your position to the rescue team. This is just an example of the many ways in which dogs could use wearable technology to assist humans better. Associate Professor Melody Jackson and her research team at Georgia Tech, Atlanta has developed devices that allow dogs to communicate with their handlers through technology. The researchers designed the devices in line with the natural tendencies of dogs to bite, tug and sniff.  Total eight dogs were used for this study which comprised of five Border Collies, two Retrievers and a Pit Bull. All these dogs before being part of the experiment had received training for assistance, agility or both and were used as regular work dogs. For this experiment all the dogs were trained using positive reinforcement techniques like clicker training to use the devices. The dogs were trained so that they tried to activate the device till they heard a tone from it which indicated task completion. The tug activated device is based on a stretchable resistor and elastic band sewn together into a fleece ball. To activate it the dog has to grasp the fleece ball attached on its vest and briefly tug and release it. The device activated by the dog’s nose has an infra-red proximity sensor and is based on the VCNL 4000 module. To activate it the dog has to only bring its nose near the device and not necessarily touch it. There were three types of devices activated by bite. A four sided bite device that could be bitten from any direction was used. It is based on force sensitive resistors; to activate it the dog has to bite on it resulting in variation in resistance and hence activating the sensor. Bite device based on capacitive sensors was used for dogs that had softer bites. To activate it the dog has to grasp the device slightly and the moisture from the dog’s saliva increases the capacitance hence activating the sensor. Another bite device was developed based on pneumatic sensors. Devices based on such sensors can be bitten from any direction. To activate it the dog has to bite on it which increases pressure at the ends of the sensor and activates the sensor. The experiments revealed that the best sensors were capacitive and pneumatic bite sensors with 100% success rate with all the dogs. These experiments have revealed that developing wearable technology for dog to handler communication is possible and such devices can help us use working dogs more efficiently.


Source: Jackson, M. M., Valentin, G., Freil, L., Burkeen, L., Zeagler, C., Gilliland, S.,& Starner, T. (2015). FIDO--Facilitating interactions for dogs with occupations: wearable communication interfaces for working dogs. Personal and Ubiquitous Computing, 19(1), 155-173.