Skip to main content

This research intern worked with teams in two countries

Research happens at Google everyday, on many different teams throughout the company. Elena Kirilenko conducted a research internship with both the Chrome team in Paris and the Compression Research team in Zurich. She shares what it was like to intern virtually with teams across multiple countries, and how her internship led to publication of her research and open-sourced code focused on making the internet a faster place.

How did you first get interested in technology?

I’m from Moscow, where I graduated from high school, got a bachelor’s degree and am now doing a master's program in applied mathematics and Informatics. Computer science was my number-one passion starting in ninth grade. Since then I’ve explored different areas of computer science including backend, data science, natural language processing and frontend. My main interests are now machine learning and software engineering, although I’m always open to learning new technologies and picking up new skills.

What was it like to intern virtually?

It was quite hard and unusual in the beginning, as you can’t walk through the office, engage in personal conversations or go to the canteen with your coworkers. At first it was harder to communicate because messaging or video conferences could not replace a real conversation. 

However, when I got to know Google's culture and became more confident with my project, this problem totally disappeared because it became clear that each person in Google is really responsive and there is no need to be afraid to ask questions. 

Moreover, there were a lot of exciting activities you could participate in online, like sports  and dance classes, virtual lunches, games and speaker series.

What project was your internship focused on? 

Efficiently delivering Web applications is a hard problem to solve. Compression technologies play a crucial part in solving that problem, by reducing the size of the resources that need to be downloaded over a network. Web Bundles enable servers to avoid sending to the browser resources it previously downloaded, by only sending to parts of the bundle the browser doesn't have.

This is where my research fit in. I was working on achieving fast and efficient compression for WebBundle subsets with Google’s Brotli, a general-purpose compression algorithm. High-quality Brotli compression creates small files, but takes a lot of time and processing power. As a result, it’s only feasible to apply to content ahead of time, as opposed to compressing resources as they’re being sent to the browser. . 

Brotli compresses content by calculating artifacts about it (an artifact is a piece of information, like how the content should be divided for optimal encoding), and storing them in the compressed file. High-quality compression invests time and resources in calculating the ideal artifacts for the content, resulting in smaller files and faster compression rates. My project reused the ideal artifacts for an overarching piece of content when compressing just a subset of the same content, achieving both time and processing benefits compared to regular dynamic Brotli compression.

What was the outcome of your internship? 

My code has been fully integrated into a branch of Brotli and is now ready to be deployed by users at Google, or anywhere else! We also published a comprehensive design doc describing the work done and result we achieved. If you want to learn more, there is ablog post explaining it at a higher level.

What key skills have you gained from your time at Google?

During my internship I’ve learned a lot of new things about compression algorithms and Web Bundles, which I knew almost nothing about before. I also got a big experience in writing in C and found out many interesting tricks and things you can do there that I didn’t know about. Besides that, I learned how to present the work you’ve done, structure the documentation and how to write blog posts which people may find interesting and useful.

Another thing I picked up is to take initiative. Once I became confident with my project I developed the intuition on what will work and what probably won't. I wasn’t afraid to share my ideas with my host and co-host or even tried to experiment with them on my own.

Any advice for potential intern candidates?

Don’t hesitate to ask. It’s totally OK if you can’t understand the technology you don’t know. People at Google are really open to help you and it’s really important to ask them for help, otherwise you may spend hours or even days trying to figure out something instead of doing some great work. I think communication is one of the most important aspects that drives Google.


by Florence Poirel via The Keyword

Comments

Popular posts from this blog

certain keys on my keyboard dont work when "cold"

Hi guys, i have a Lenovo Y520-15IKBN (80WK) and certain keys on the keyboard don't work (e,g,h,8,9,Fn...) but only when the weather is cold. for example in the winter it used to work after certain amount of time when i first boot the laptop and stops working when i stop using it for a while, but now that the weather is hot it works just fine except for the first couple of minutes or when its colder. of course i do realise that it has nothing to do with the outside weather but with the temperature of the computer itself. can someone explain to me why this is happening and how it should be fixed as i cannot take it to the tech service until july even though it's still under warranty because i need it for school. ps: an external keyboard works fine. Submitted April 29, 2018 at 03:35PM by AMmej https://ift.tt/2KiQg05

Old PC with a Foxconn n15235 motherboard needs drivers! Help!!

So my Pc corrupted and I had to fresh install windows on it, but now its missing 3 drivers and one of them is for the Ethernet controller! I've tried searching everywhere for the windows 7 drivers but all I seem to find are some dodgey programs saying they will install it for me. Problem is without the ethernet driver I can't bloody connect to the internet. I've been using a USB to try get some drivers on there, but they just end up being useless programmes . I'm also a bit of a noob at these things, I don't understand where to find the names of things in my PC, I've opened it up but I don't understand whats significant and what isnt. If someone has the drivers and can teach me how to install them I'd be very appreciative! Submitted April 29, 2018 at 02:47PM by darrilsteady https://ift.tt/2r76xMZ