sexta-feira, 22 de fevereiro de 2013
Google Research Awards: Winter, 2013
Another round of the Google Research Awards has just been completed. This is our bi-annual open call for proposals on a variety of computer science-related topics, including systems, machine perception, natural language processing, security and many others. Our grants cover tuition and travel for a graduate student and provides faculty and students the opportunity to work directly with Google scientists and engineers.
This round, we received almost 600 proposals from 46 different countries. After expert reviews and committee discussions, we decided to fund 102 projects. The subject areas that received the highest level of support were human-computer interaction, machine learning, and mobile. In addition, 22% of the funding was awarded to universities outside the U.S.
Google’s University Relations funding falls into three categories. The first is the Google Research Award program which funds new faculty and innovative projects, or helps faculty get a new research program off the ground. We fund over 200 projects annually through this program. We feel this is a great way for Google to support a large number of faculty and projects, and it helps us keep a pulse on what’s going on in academic computer science research.
The second category of funding goes toward more focused, longer-term projects, where we collaborate closely on projects of mutual interest. Our PhD Fellowship program is also a part of our focused program strategy. The third category goes toward new programs and initiatives, and to the development of research and education in emerging countries.
Congratulations to the well-deserving recipients of this round’s awards. If you are interested in applying for the next round (deadline is April 15), please visit our website for more information.
sexta-feira, 15 de fevereiro de 2013
Mobile interaction research at Google
Posted by Xiaojun Bi, Ciprian Chelba, Tom Ouyang, Kurt Partridge and Shumin Zhai
Google takes a hybrid approach to research - research happens across the entire company, and affects everything we do. As one example, we have a group that focuses on mobile interaction research. With research backgrounds in human-computer interaction, machine learning, statistical language modeling, and ubicomp, the group has focused on both foundational work and feature innovations for smart touchscreen keyboards. These innovations help us make things like typing messages on your Android device easier for hundreds of millions of people each day.
We work closely with world-class engineers, designers, product managers, and UX researchers across the company, which enables us to rapidly integrate the fruits of our research into the Android platform. The first major integration was the launch of Gesture Typing in Android 4.2.
Rapidly developed from basic concepts up to product code, and built on years of Android platform groundwork on input method editors (IME) and input method framework (IMF), Gesture Typing uses novel algorithms to dynamically infer and display the user’s intended word right at the fingertip. Often the intended word is displayed even before the user has finished gesturing--creating a magical experience for the user. Seamlessly integrated with touch tapping, Gesture Typing also supports two-thumb use.
It is exciting and rewarding to do research inside a product team that enforces engineering and user experience discipline. At the same time, we as researchers also contribute to the broader research community; publication, whether in the form of papers, code, or data, bind a research community together. The following papers are based on our work over the last year, some with bright and hardworking student interns:
Octopus: Evaluating Touchscreen Keyboard Correction and Recognition Algorithms via “Remulation”
by Xiaojun Bi, Shiri Azenkot (U. of Washington), Kurt Partridge, Shumin Zhai
CHI 2013, in press (link to come)
FFitts Law: Modeling Finger Touch with Fitts’ Law
by Xiaojun Bi, Yang Li, Shumin Zhai
CHI 2013, in press (link to come)
Making Touchscreen Keyboards Adaptive to Keys, Hand Postures, and Individuals - A Hierarchical Spatial Backoff Model Approach
by Ying Yin (MIT), Tom Ouyang, Kurt Partridge, Shumin Zhai
CHI 2013, in press (link to come)
Bimanual gesture keyboard.
by Xiaojun Bi, Ciprian Chelba, Tom Ouyang, Kurt Partridge, and Shumin Zhai
UIST 2012
Touch Behavior with Different Postures on Soft Smart Phone Keyboards
by Shiri Azenkot (U. Washington) and Shumin Zhai
MobileHCI 2012
Google takes a hybrid approach to research - research happens across the entire company, and affects everything we do. As one example, we have a group that focuses on mobile interaction research. With research backgrounds in human-computer interaction, machine learning, statistical language modeling, and ubicomp, the group has focused on both foundational work and feature innovations for smart touchscreen keyboards. These innovations help us make things like typing messages on your Android device easier for hundreds of millions of people each day.
We work closely with world-class engineers, designers, product managers, and UX researchers across the company, which enables us to rapidly integrate the fruits of our research into the Android platform. The first major integration was the launch of Gesture Typing in Android 4.2.
Rapidly developed from basic concepts up to product code, and built on years of Android platform groundwork on input method editors (IME) and input method framework (IMF), Gesture Typing uses novel algorithms to dynamically infer and display the user’s intended word right at the fingertip. Often the intended word is displayed even before the user has finished gesturing--creating a magical experience for the user. Seamlessly integrated with touch tapping, Gesture Typing also supports two-thumb use.
It is exciting and rewarding to do research inside a product team that enforces engineering and user experience discipline. At the same time, we as researchers also contribute to the broader research community; publication, whether in the form of papers, code, or data, bind a research community together. The following papers are based on our work over the last year, some with bright and hardworking student interns:
Octopus: Evaluating Touchscreen Keyboard Correction and Recognition Algorithms via “Remulation”
by Xiaojun Bi, Shiri Azenkot (U. of Washington), Kurt Partridge, Shumin Zhai
CHI 2013, in press (link to come)
FFitts Law: Modeling Finger Touch with Fitts’ Law
by Xiaojun Bi, Yang Li, Shumin Zhai
CHI 2013, in press (link to come)
Making Touchscreen Keyboards Adaptive to Keys, Hand Postures, and Individuals - A Hierarchical Spatial Backoff Model Approach
by Ying Yin (MIT), Tom Ouyang, Kurt Partridge, Shumin Zhai
CHI 2013, in press (link to come)
Bimanual gesture keyboard.
by Xiaojun Bi, Ciprian Chelba, Tom Ouyang, Kurt Partridge, and Shumin Zhai
UIST 2012
Touch Behavior with Different Postures on Soft Smart Phone Keyboards
by Shiri Azenkot (U. Washington) and Shumin Zhai
MobileHCI 2012
terça-feira, 12 de fevereiro de 2013
Research Projects on Google App Engine
By Andrea Held, Program Manager, Google University Relations
Cross-posted on the Google Developers Blog
Last spring Google University Relations announced an open call for proposals for Google App Engine Research Awards. We invited academic researchers to use Google App Engine for research experiments and analysis, encouraging them to take advantage of the platform’s ability to manage heavy data loads and run large-scale applications. Submissions included exciting proposals in various subject areas from mathematics, computer vision, bioinformatics, climate and computer science. We have selected seven projects that have the potential to impact people’s lives by making community seismic networks affordable, creating individualized DNA profiles, collecting useful local data through social media, and by understanding global climate trends, just to mention a few.
We have donated $60,000 in Google App Engine credits to each of these projects recognizing the innovation and vision of the Principal Investigator and his collaborators. Congratulations to all of them!
Below is a brief introduction of the award recipients and their research. We look forward to learning about their progress and will share the news right here. Stay tuned!
K. Mani Chandy, Simon Ramo Professor and Professor of Computer Science, California Institute of Technology
Project title: Cloud-based Event Detection for Sense and Response
Description and research goals: We developed an App Engine-based sense and response platform for the Community Seismic Network (CSN) project. CSN's goals include measuring seismic events with finer spatial resolution than previously possible and developing a low-cost alternative to traditional seismic networks, which have high capital costs for acquisition, deployment, and ongoing maintenance. We are working on generalizing our implementation and experience to provide a system for other members of the community to use in future sense and response applications.
Lawrence Chung, Associate Professor, The University of Texas at Dallas
Project title: Google App Engine: Software Benchmark and Simulation Forecaster
Description and research goals: An important consideration before migrating a company’s application software to Google App Engine is performance and operating cost.
Similarly, the Google App Engine organization would want to estimate Google App Engine’s resource usage and how well the particular resource allocation will meet the performance and cost requirements, as in the service level agreements (SLAs). This research project aims to develop a Google App Engine simulation forecaster - a tool for estimating the performance and cost of software operating on Google App Engine, and produce some important operational benchmark.
Julian Gough, Professor, University of Bristol, UK
Project title: Personalised DNA Analysis
Description and research goals: Personal genomics is still in its infancy and although it is easy, and relatively cheap to obtain personal genotype data, the available analysis is not personalised; it is the same for everybody. In this project we will set up a service powered by App Engine that provides personal DNA analysis specific to each individual. The proposed service does not focus on disease, but on identifying aspects of a healthy person that make them unique. What does your genome tell you about yourself that makes you special?
Ramesh Raskar, PhD, MIT Media Lab; Dr. Erick Baptista Passos, IFPI (Federal Institute of Technology, Brazil)
Project title: Vision Blocks
Description and research goals: Vision Blocks is a research project that aims to make computer vision available to everyone. Its primary goal is to develop tools for delivering computer vision to masses through an extensible visual programming language and an online application building and sharing system. We have a prototype HTML5 client that already performs computer vision tasks locally. Our goals for the next iterations include integration with App Engine for preprocessing of video streaming platforms.
Norman Sadeh, Professor, Director of Mobile Commerce Lab, School of
Computer Science, Carnegie Mellon University; Justin Cranshaw, PhD student, School of Computer Science, Hazim Almuhimedi, PhD student, School of Computer Science
Project title: Mapping the Dynamics of a City & Nudging Twitter Users
Description and research goals: We are working on two research
projects. The first is Livehoods in which we take a computational approach to analyzing large-scale trends in the ways people move through dense urban areas. Our goal is to find algorithmic ways of uncovering local collective knowledge about the city using social media. The second is “Nudging Twitter Users” in which we utilize quantitative and qualitative approaches to understand why people post things on Twitter they wish they had not, and also to understand the nature of these posts. Our objective is to develop tools that help nudge users to reduce the likelihood of those posts.
William Stein, Professor of Mathematics, University of Washington
Project title: Sage: Creating a Viable Free Open Source Alternative to Magma, Maple, Matlab, and Mathematica
Description and research goals: The goal is to create a highly scalable and resilient website through which very large numbers of people can use Sage. This is the next step.
Enrique Vivoni, Associate Professor, Hydrologic Science, Engineering & Sustainability, Arizona State University; Dr. Giuseppe Mascaro, Research Engineer; Jyothi Marupila, Graduate Student; Mario A. Rodriguez, Software Engineer
Project title: Cloud Computing-Based Visualization and Access of Global Climate Data Sets
Description and research goals: Our project uses Google App Engine for analyzing global climate data within the Google Maps API. At this stage, we are able to generate loads from the Global Land Data Assimilation Systems (GLDAS) climate model into the Google App Engine datastore. We select the climate variable to be used and aggregate data at different spatial resolutions. We are using Google App Engine Task Queue API to load large files. For the presentation layer, we are using Django templates to integrate the display of many data points in the Google Maps API. Our objective is to provide scientific data on global climate trends by allowing map-based queries and summaries at the appropriate resolutions. Sample Map
Currently, no further rounds for Google App Engine Research Awards have been planned. We will announce any updates to the program on our website.
Cross-posted on the Google Developers Blog
Last spring Google University Relations announced an open call for proposals for Google App Engine Research Awards. We invited academic researchers to use Google App Engine for research experiments and analysis, encouraging them to take advantage of the platform’s ability to manage heavy data loads and run large-scale applications. Submissions included exciting proposals in various subject areas from mathematics, computer vision, bioinformatics, climate and computer science. We have selected seven projects that have the potential to impact people’s lives by making community seismic networks affordable, creating individualized DNA profiles, collecting useful local data through social media, and by understanding global climate trends, just to mention a few.
We have donated $60,000 in Google App Engine credits to each of these projects recognizing the innovation and vision of the Principal Investigator and his collaborators. Congratulations to all of them!
Below is a brief introduction of the award recipients and their research. We look forward to learning about their progress and will share the news right here. Stay tuned!
K. Mani Chandy, Simon Ramo Professor and Professor of Computer Science, California Institute of Technology
Project title: Cloud-based Event Detection for Sense and Response
Description and research goals: We developed an App Engine-based sense and response platform for the Community Seismic Network (CSN) project. CSN's goals include measuring seismic events with finer spatial resolution than previously possible and developing a low-cost alternative to traditional seismic networks, which have high capital costs for acquisition, deployment, and ongoing maintenance. We are working on generalizing our implementation and experience to provide a system for other members of the community to use in future sense and response applications.
Lawrence Chung, Associate Professor, The University of Texas at Dallas
Project title: Google App Engine: Software Benchmark and Simulation Forecaster
Description and research goals: An important consideration before migrating a company’s application software to Google App Engine is performance and operating cost.
Similarly, the Google App Engine organization would want to estimate Google App Engine’s resource usage and how well the particular resource allocation will meet the performance and cost requirements, as in the service level agreements (SLAs). This research project aims to develop a Google App Engine simulation forecaster - a tool for estimating the performance and cost of software operating on Google App Engine, and produce some important operational benchmark.
Julian Gough, Professor, University of Bristol, UK
Project title: Personalised DNA Analysis
Description and research goals: Personal genomics is still in its infancy and although it is easy, and relatively cheap to obtain personal genotype data, the available analysis is not personalised; it is the same for everybody. In this project we will set up a service powered by App Engine that provides personal DNA analysis specific to each individual. The proposed service does not focus on disease, but on identifying aspects of a healthy person that make them unique. What does your genome tell you about yourself that makes you special?
Ramesh Raskar, PhD, MIT Media Lab; Dr. Erick Baptista Passos, IFPI (Federal Institute of Technology, Brazil)
Project title: Vision Blocks
Description and research goals: Vision Blocks is a research project that aims to make computer vision available to everyone. Its primary goal is to develop tools for delivering computer vision to masses through an extensible visual programming language and an online application building and sharing system. We have a prototype HTML5 client that already performs computer vision tasks locally. Our goals for the next iterations include integration with App Engine for preprocessing of video streaming platforms.
Norman Sadeh, Professor, Director of Mobile Commerce Lab, School of
Computer Science, Carnegie Mellon University; Justin Cranshaw, PhD student, School of Computer Science, Hazim Almuhimedi, PhD student, School of Computer Science
Project title: Mapping the Dynamics of a City & Nudging Twitter Users
Description and research goals: We are working on two research
projects. The first is Livehoods in which we take a computational approach to analyzing large-scale trends in the ways people move through dense urban areas. Our goal is to find algorithmic ways of uncovering local collective knowledge about the city using social media. The second is “Nudging Twitter Users” in which we utilize quantitative and qualitative approaches to understand why people post things on Twitter they wish they had not, and also to understand the nature of these posts. Our objective is to develop tools that help nudge users to reduce the likelihood of those posts.
William Stein, Professor of Mathematics, University of Washington
Project title: Sage: Creating a Viable Free Open Source Alternative to Magma, Maple, Matlab, and Mathematica
Description and research goals: The goal is to create a highly scalable and resilient website through which very large numbers of people can use Sage. This is the next step.
Enrique Vivoni, Associate Professor, Hydrologic Science, Engineering & Sustainability, Arizona State University; Dr. Giuseppe Mascaro, Research Engineer; Jyothi Marupila, Graduate Student; Mario A. Rodriguez, Software Engineer
Project title: Cloud Computing-Based Visualization and Access of Global Climate Data Sets
Description and research goals: Our project uses Google App Engine for analyzing global climate data within the Google Maps API. At this stage, we are able to generate loads from the Global Land Data Assimilation Systems (GLDAS) climate model into the Google App Engine datastore. We select the climate variable to be used and aggregate data at different spatial resolutions. We are using Google App Engine Task Queue API to load large files. For the presentation layer, we are using Django templates to integrate the display of many data points in the Google Maps API. Our objective is to provide scientific data on global climate trends by allowing map-based queries and summaries at the appropriate resolutions. Sample Map
Currently, no further rounds for Google App Engine Research Awards have been planned. We will announce any updates to the program on our website.
quinta-feira, 24 de janeiro de 2013
GIT Merge conflict solving with kdiff3
First we will create a test repository and a test file on which we will create a merge conflict later on.
(in this example, the commands are executed with PowerShell in Windows, but the GIT commands are exactly the same on any other shell or OS)
- Creation of test repository
> cd \tempmd mergetestcd mergetest
> git init - Creation of test file
> 'Original line' | Out-File file.txt
- Commit into repository
> git add file.txt
> git commit -m "Original checkin" - Current repository state: (using the tool GIT Extensions)

- Create new branch
> git branch branch-A
> git checkout branch-A - Update file
> 'Branch A line' | Out-File file.txt
- Commit into repository
> git add file.txt
> git commit -m "Branch A change" - Current repository state:

- Create new branch, starting from the original master branch
> git checkout master
> git branch branch-B
> git checkout branch-B - Update file
> 'Branch B line' | Out-File file.txt
- Commit into repository
> git add file.txt
> git commit -m "Branch B change" - Current repository state:

- Select the target branch (in this case branch A)
> git checkout branch-A
- Merge the source branch (in this case branch B)
> git merge branch-B
- This results in a merge conflict:
Auto-merging file.txt
CONFLICT (content): Merge conflict in file.txt
Automatic merge failed; fix conflicts and then commit the result. - This conflict can be resolved by starting your mergetool
> git mergetool
- It gives you a message before it launches your mergetool (in my case kdiff3):
Merging:
file.txt
Normal merge conflict for 'file.txt':
{local}: modified file
{remote}: modified file
Hit return to start merge resolution tool (kdiff3): - You get a window containing 4 versions of the same file:
- Top left: "Base". This is the original version of the file, the last shared version between what became later branch-A and branch-B.
- Top Middle: "Local". This is the target branch version of the file. It is called "Local", because this is the currently selected branch (using the last git checkout command).
- Top Right: "Remote". This is the source branch version of the file. It is called "Remote", as apposed to "Local".
- Bottom: "Output". This is the merged version of the file. After successful completion of the merge, this will become the new version of the target branch. In this pane, you can edit the text, or you can right click on any merged part and select what version(s) of the original file you want to include in the output. In this case, I decide to include the changes done in both branch-A and branch-B.


- Close the kdiff3 application (saving the file), and commit the merge:
> git commit
(accept the default commit message) - This brings us to the following repository state:

- We can check if the content of the test-file is what we need:
> Get-Content file.txt
Branch A line
Branch B line
quinta-feira, 17 de janeiro de 2013
FxGqlC: Added aggregation functions ENLIST and ENLISTDISTINCT
Added aggregation functions ENLIST and ENLISTDISTINCT.
ENLIST creates a string value containing the list of all string values in their original order.
ENLISTDISTINCT creates a similar list, but the dupplicate values are removed, and the list is ordered.
SELECT [Winner], COUNT(*), ENLIST([Tournament])
FROM ['SampleFiles/Tennis-ATP-2011.csv' -Heading=On]
GROUP BY [Winner] ORDER BY 2 DESC
SELECT [Winner], COUNT(*), ENLISTDISTINCT([Tournament])
FROM ['SampleFiles/Tennis-ATP-2011.csv' -Heading=On]
GROUP BY [Winner] ORDER BY 2 DESC
This feature is added to FxGqlC in v2.5-alpha5.
FxGqlC: Added new function 'PREFIX'
Added (non-aggregation) text function PREFIX to return the common prefix of two strings.
An aggregation function PREFIX (with 1 argument) was already added in v2.4.
SELECT PREFIX('0032478123456', '0032478654321')
-- returns '0032478'
This feature is added to FxGqlC in v2.5-alpha5.
An aggregation function PREFIX (with 1 argument) was already added in v2.4.
SELECT PREFIX('0032478123456', '0032478654321')
-- returns '0032478'
This feature is added to FxGqlC in v2.5-alpha5.
quinta-feira, 10 de janeiro de 2013
Advanced Power Searching with Google -- Registration Opens Today
Posted by Daniel Russell, Über Tech Lead for Search Quality and User Happiness
Cross-posted at Inside Search Blog
What historic cafe inspired a poem by a Nobel Laureate? In the last three barista world championships, which winners did not use beans from their home country? If you were preparing a blog post on “Curious Trivia of Coffee Culture,” how would you find the answers to these questions? What else would you discover? Now you can sign up for our Advanced Power Searching with Google online course and find out.
Building on Power Searching with Google, Advanced Power Searching with Google helps you gain a deeper understanding of how to become a better researcher. You will solve complex search challenges similar to those I pose in my blog, or a Google a Day, and explore Google’s advanced search tools not covered in the first class.
Oftentimes the most intriguing questions invite you to explore beyond the initial answer, and there’s no single correct path to get there. When looking for questions that can’t be solved with a single query, “search” can quickly turn into “research.” Google Search offers a palette of tools to help you dive deeper into the web of knowledge.
Visit www.powersearchingwithgoogle.com to learn more about our online search courses, and review our search tips on the Power Searching with Google Quick Reference Guide. Advanced Power Searching begins on January 23 and ends on February 8th.
Cross-posted at Inside Search Blog
What historic cafe inspired a poem by a Nobel Laureate? In the last three barista world championships, which winners did not use beans from their home country? If you were preparing a blog post on “Curious Trivia of Coffee Culture,” how would you find the answers to these questions? What else would you discover? Now you can sign up for our Advanced Power Searching with Google online course and find out.
Building on Power Searching with Google, Advanced Power Searching with Google helps you gain a deeper understanding of how to become a better researcher. You will solve complex search challenges similar to those I pose in my blog, or a Google a Day, and explore Google’s advanced search tools not covered in the first class.
Oftentimes the most intriguing questions invite you to explore beyond the initial answer, and there’s no single correct path to get there. When looking for questions that can’t be solved with a single query, “search” can quickly turn into “research.” Google Search offers a palette of tools to help you dive deeper into the web of knowledge.
Visit www.powersearchingwithgoogle.com to learn more about our online search courses, and review our search tips on the Power Searching with Google Quick Reference Guide. Advanced Power Searching begins on January 23 and ends on February 8th.
Assinar:
Postagens (Atom)
