Videos uploaded by user “GoogleTalksArchive”
How To Design A Good API and Why it Matters
Google Tech Talks January 24, 2007 ABSTRACT Every day around the world, software developers spend much of their time working with a variety of Application Programming Interfaces (APIs). Some are integral to the core platform, some provide access to widely distributed frameworks, and some are written in-house for use by a few developers. Nearly all programmers occasionally function as API designers, whether they know it or not. A well-designed API can be a great asset to the organization that wrote it and to all who use it. Good APIs increase the pleasure and productivity of the developers who use them, the quality of the software they produce, and ultimately, the corporate bottom line. Conversely, poorly written APIs are a constant thorn in the developer's side, and have been known to harm the bottom line to the point of bankruptcy. Given the importance of good API design, surprisingly little has been written on the subject. In this talk, I'll attempt to help you recognize good and bad APIs and I'll offer specific suggestions for writing good ones. This talk is part of the Advanced Topics in Programming Series at Google. Google engEDU Speaker: Joshua Bloch
Views: 100633 GoogleTalksArchive
Dtrace Review
Google Tech Talks August 15, 2007 ABSTRACT Bryan Cantrill will discuss the Dtrace and how it can be used to significantly improve debugging both for development and live systems. Google engEDU Speaker: Bryan Cantrill
Views: 11012 GoogleTalksArchive
Focus Fusion: The Fastest Route to Cheap, Clean Energy
Google Tech Talks October, 3 2007 ABSTRACT To bring the whole of humanity up to the living standards of the developed world requires a new source of energy that is clean, inexhaustible and much cheaper than any existing source -- fossil, nuclear, solar or wind. Fusion with hydrogen-boron fuel, which allows direct conversion of fusion energy to electricity, can be that source. It could cut energy costs more than ten-fold. It produces no radioactive waste and would be safe enough to situate in residential neighborhoods. Of the three approaches to achieving hydrogen-boron fusion, focus fusion, using the dense plasma focus device, has experimentally achieved conditions that are closest to those needed for net power generation. It is the only approach that can utilize the high magnetic field effect, which reduces the cooling of plasma by x-rays, helping to achieve the multi-billion-degree temperatures needed for fusion. A currently-planned three-year, $2 million experiment, if funded, can demonstrate the scientific feasibility of focus fusion. This presentation will review the history and status of focus fusion and briefly compare it to the two competing approaches, Field Reversed Configuration (recently funded by Paul Allen) and Inertial Electrostatic Confinement, championed by Dr. Robert Bussard, a recent Google Tech Talk speaker. Speaker: Eric Lerner Eric J. Lerner is President of Lawrenceville Plasma Physics in West Orange, NJ and Executive Director of the Focus Fusion Society. He has been an independent researcher in plasma physics since 1979, and has become internationally known for his studies linking cosmic plasma phenomena and laboratory fusion devices, especially the dense plasma focus. He has developed original theories of quasars, large scale structure, the microwave background and the origin of light elements. He is the author of The Big Bang Never Happened, published in 1991 by Random House. In 2006 he was a Visiting Scientist at the European Southern Observatory in Chile. Google engEDU Speaker: Eric Lerner
Views: 524897 GoogleTalksArchive
Should Google Go Nuclear? Clean, cheap, nuclear power (no, really)
Google Tech Talks November 9, 2006 ABSTRACT This is not your father's fusion reactor! Forget everything you know about conventional thinking on nuclear fusion: high-temperature plasmas, steam turbines, neutron radiation and even nuclear waste are a thing of the past. Goodbye thermonuclear fusion; hello inertial electrostatic confinement fusion (IEC), an old idea that's been made new. While the international community debates the fate of the politically-turmoiled $12 billion ITER (an experimental thermonuclear reactor), simple IEC reactors are being built as high-school science fair projects. Dr. Robert Bussard, former Asst. Director of the Atomic Energy Commission and founder of Energy Matter Conversion Corporation (EMC2), has spent 17 years perfecting IEC, a fusion process that converts hydrogen and boron directly into electricity producing helium as the only waste product. Most of this work was funded by the Department of Defense, the details of which have been under seal... until now. Dr. Bussard will discuss his recent results and details of this potentially world-altering technology, whose conception dates back as far as 1924, and even includes a reactor design by Philo T. Farnsworth (inventor of the scanning television). Can a 100 MW fusion reactor be built for less than Google's annual electricity bill? Come see what's possible when you think outside the thermonuclear box and ignore the herd. Google engEDU Speaker: Dr. Robert Bussard
Views: 20086 GoogleTalksArchive
Advanced Topics in Programming Languages: A Lock-Free Hash Table
Google Tech Talks March 28, 2007 ABSTRACT I present a lock-free concurrent Hash Table implementation with better single-thread performance than most Hash Tables, and better multi-thread performance than all other implementations I tried. I demonstrate scaling up to 768 CPUs even with high mutation rates. I show correctness by looking at the problem in a very different light than the usual "happens-before" / memory-order / fencing style of thinking. Speaker: Dr. Cliff Click Dr. Cliff Click, Azul Systems. Chief JVM Architect, Distinguished Engineer With more than twenty-five years experience developing compilers Cliff serves as Azul Systems' Chief JVM Architect. Cliff joined Azul in 2002 from Sun Microsystems where he was the architect and lead developer of the HotSpot Server Compiler, a technology that has delivered dramatic improvements in Java performance since its inception. Previously he was with Motorola where he helped deliver industry leading SpecInt2000 scores on PowerPC chips, and before that he researched compiler technology at HP Labs. Cliff has been writing optimizing compilers and JITs for over 15 years. He is invited to speak regularly at industry and academic conferences, and has published many papers about HotSpot technology. Cliff holds a PhD in Computer Science from Rice University. Google engEDU Speaker: Cliff Click
Views: 21400 GoogleTalksArchive
Seattle Conference on Scalability: YouTube Scalability
Google Tech Talks June 23, 2007 ABSTRACT This talk will discuss some of the scalability challenges that have arisen during YouTube's short but extraordinary history. YouTube has grown incredibly rapidly despite having had only a handful of people responsible for scaling the site. Topics of discussion will include hardware scalability, software scalability, and database scalability. Speaker: Cuong Do Cuong is currently an engineering manager at YouTube/Google. He was part of the engineering team that scaled the YouTube software and hardware infrastructure from its infancy to its current scale. Prior to YouTube/Google, he held various software development and management positions at PayPal and Inktomi. Google engEDU Speaker: Cuong Do
Views: 40129 GoogleTalksArchive
Deconstructing The Xbox Security System
Google Tech Talks December 1, 2006 ABSTRACT In late 2001, Microsoft released the Xbox, their first gaming console, to compete against Sony and Nintendo in the living room. As the real money is made with the games and not the consoles, Microsoft had to make sure (as much as they could) that nobody could play pirated games or use the machine for anything other than games. Although the original security design idea was a good one and has been copied a lot since then, Microsoft's inexperienced team made a variety of design, implementation, and policy mistakes. This talk first (re)constructs the design of the Xbox security system from Microsoft's point of view, and then deconstructs it from the hacker's point of view. As a bonus, the talk will feature some insights in the security system of the Xbox successor, the Xbox 360. Michael Steil is the founder and maintainer of the Xbox-Linux Project. He oversaw most of the Xbox hacks and also contributed to hacking, reverse engineering and porting Linux on the Xbox. Google engEDU Speaker: Michael Steil
Views: 6249 GoogleTalksArchive
Tim Lister- We're on a Mission From God: The Return of Peopleware
Tim Lister, co-author of Peopleware and Waltzing With Bears discusses A Secret of Peopleware...why it's so hard for big successful companies to keep the edge of the Blues brothers..."We're on a A Mission from God." What can you do about turning from the "Joy of the Struggle" to "We're Entitled to This." Google MCS NYC Speaker: Tim Lister
Views: 1523 GoogleTalksArchive
From Nand to Tetris in 12 steps
Google Tech Talks October 10, 2007 ABSTRACT We describe a new approach and a course that aims to demystify the integrated function of computer systems, using a hands-on approach. The course presents many abstractions, algorithms, and data structures learned in CS courses, and makes them concrete by building a complete computer system from the ground up. In particular, we guide the students through a modular series of projects that gradually construct and unit-test a simple hardware platform and a modern software hierarchy, yielding a surprisingly powerful computer system. The hardware projects are done in a simple hardware description language and a hardware simulator supplied by us. The software projects (assembler, VM, and a compiler for a simple object-based language) can be done in any language, using the APIs and test programs supplied by us. We also build a mini-OS. The result is a GameBoy-like computer, simulated on the student's PC. We start the course (and this talk) by demonstrating some video games running on this computer, e.g. Tetris and Pong. Building a working computer from Nand gates alone is a thrilling intellectual exercise. It demonstrates the supreme power of recursive ascent, and teaches the students that building computer systems is -- more than anything else -- a triumph of human reasoning. We are able to squeeze all this into a single course since we deal with neither efficiency nor advanced features, leaving these subjects to other courses in the program. The resulting approach is completely self-contained, requiring only programming as a pre-requisite. Hence, courses based on the approach can be given at almost any stage in a CS program. Google engEDU Speaker: Shimon Schocken
Views: 47050 GoogleTalksArchive
Advanced Topics in Programming Languages: The Java Memory Model
Google Tech Talks March 21, 2007 ABSTRACT This talk describes the Java Memory Model and how it affects the ways concurrent software should be written. Recent changes to the memory model, which were incorporated into JDK 5, redefined the semantics of threads, synchronization, volatile variables, and final fields. The new memory model provides efficient and provably correct techniques for safely and correctly implementing concurrent operations. These techniques are compatible with existing good programming practice, although care needs to be taken in a couple of corner cases. Most programmers can avoid depending on low-level details and instead just use the high-level concurrency abstractions provided in the new concurrency libraries. However, for those who have to write their own concurrency abstractions, understanding the building blocks of concurrency can be vitally important. This talk will provide a simple and clear definition of what synchronization actually does, define the semantics of volatile variables and the java.util.concurrent.atomic package (and how they can be used to create efficient concurrent implementations), and describe how final fields can be used to provide thread-safe immutable objects without synchronization. This talk is part of the Advanced Topics in Programming Languages series. Google engEDU Speaker: Jeremy Manson
Views: 117131 GoogleTalksArchive
A New Way to look at Networking
Google Tech Talks August 30, 2006 Van Jacobson is a Research Fellow at PARC. Prior to that he was Chief Scientist and co-founder of Packet Design. Prior to that he was Chief Scientist at Cisco. Prior to that he was head of the Network Research group at Lawrence Berkeley National Laboratory. He's been studying networking since 1969. He still hopes that someday something will start to make sense. ABSTRACT Today's research community congratulates itself for the success of the internet and passionately argues whether circuits or datagrams are the One True Way. Meanwhile the list of unsolved problems grows. Security, mobility, ubiquitous computing, wireless, autonomous sensors, content distribution, digital divide, third world infrastructure, etc., are all poorly served by what's available from either the research community or the marketplace. I'll use various strained analogies and contrived examples to argue that network research is moribund because the only thing it knows how to do is fill in the details of a conversation between two applications. Today as in the 60s problems go unsolved due to our tunnel vision and not because of their intrinsic difficulty. And now, like then, simply changing our point of view may make many hard things easy. Google engEDU Speaker: Van Jacobson
Views: 21856 GoogleTalksArchive
Practical Common Lisp
Google TechTalks May 10, 2006 Peter Seibel ABSTRACT In the late 1920's linguists Edward Sapir and Benjamin Whorf hypothesized that the thoughts we can think are largely determined by the language we speak. In his essay "Beating the Averages" Paul Graham echoed this notion and invented a hypothetical language, Blub, to explain why it is so hard for programmers to appreciate programming language features that aren't present in their own favorite language. Does the Sapir-Whorf hypothesis hold for computer languages? Can you be a great software architect if you only speak Blub? Doesn't Turing equivalence imply that language choice is just another implementation detail? Yes, no, and no says Peter Seibel, language lawyer (admitted, at various times, to the Perl, Java, and Common Lisp bars) and author of the award-winning book _Practical Common Lisp_. In his talk, Peter will discuss how our choices of programming language influences and shapes our pattern languages and the architectures we can, or are likely to, invent. He will also discuss whether it's sufficient to merely broaden your horizons by learning different programming languages or whether you must actually use them. Google engEDU
Views: 24763 GoogleTalksArchive
How To Break Web Software - A look at security vulnerabilities in web software
Google TechTalks April 13, 2006 Mike Andrews Mike Andrews is a senior consultant who specializes in software security and leads the web application security assessments and Ultimate Web Hacking classes for Foundstone. ABSTRACT It all started out as a place to share physics documents, but has grown into potentially mankind's largest and most complex creation. The World Wide Web is a lot of things - a soapbox for everyone, a giant shopping mall, an application platform, and unfortunately a hacker's playground. As more applications get "web-ified" moving from the desktop or legacy systems onto the web, attackers follow the vulnerabilities. Without sophisticated tools or "1337 5x1llz", web applications are now the most attacked technology, with the majority of attacks categorized as "easily exploitable". So, before your application is placed out into one of the most hostile environments, how do you stop your software from being "0wn3d" by the 14 year old in their blacked-out bedroom, or being used by a Russian crime cartel? In this TechTalk, Mike Andrews will look at how web applications are attacked, walk through a testing framework for evaluating the security of an application and take some deep-dives into a few interesting and common vulnerabilities and how they can be exploited. Google engEDU
Views: 25683 GoogleTalksArchive
An Introduction to SQLite
Google TechTalks May 31, 2006 Richard Hipp ABSTRACT SQLite is a small C library that implements a self-contained, embeddable, zero-configuration SQL database engine. SQLite implements a large subset of SQL-92 and stores a complete database in a single disk file. The library footprint is less than 250 KB making is suitable for use in embedded devices and applications where memory space is scarce. This talk provides a quick overview of SQLite, its history, its strengths and weaknesses, and describes situations where it is much more useful than a traditional client/server database. The talk concludes with a discussion of the lessons learned from the development of SQLite and how those lessons can be applied to other projects. Google engEDU
Views: 13081 GoogleTalksArchive
Scrum et al.
Google Tech Talks September 5, 2006 Ken Schwaber co-developed the Agile process, Scrum. He is a founder of the Agile Alliance and Scrum Alliance, and signatory to the Agile Manifesto. Ken has been a software developer for over thirty years. He is an active advocate and evangelist for Agile processes. ABSTRACT Scrum is an amazingly simple process that causes many, many changes when it is implemented. This seminar presents the basic framework of Scrum and some of the implementation issues associated with it. Google engEDU Speaker: Ken Schwaber
Views: 23473 GoogleTalksArchive
7 Habits For Effective Text Editing 2.0
Google Tech Talks February 13, 2007 ABSTRACT A large percentage of time behind the computer screen is spent on editing text. Investing a little time in learning more efficient ways to use a text editor pays itself back fairly quickly. This presentation will give an overview of the large number of ways of using Vim in a smart way to edit programs, structured text and documentation. Examples will be used to make clear how learning a limited number of habits will avoid wasting time and lower the number of mistakes. Bram Moolenaar is mostly known for being the benevolent dictator of the text editor Vim. His roots are in electrical engineering and for a long time he worked on inventing image processing algorithms and software for big photo copying machines. At some point his work on Open-Source software became more important, making the development of Vim his full time job. He also did the A-A-P project in between Vim version 6.0 and 7.0. Now he works for Google in Zurich, still improving Vim on the side. His home page is http://www.moolenaar.net. Google engEDU Speaker: Brian Moolenaar
Views: 100774 GoogleTalksArchive
The history and development of the Carbon Fiber bicycle (as told by Kestrel)
Google Tech Talks March 22, 2007 ABSTRACT This presentation will be about 20-30 minutes, discussing Kestrel's initial development and design of the first carbon fiber bicycles, as well as what the future holds. It will be followed by Q&A, allowing time for attendees to get an up close look at Kestrel's bikes and carbon products at the end. Speaker: Preston Sandusky, Co-owner and Engineer at Kestrel Bicycles Google engEDU Speaker: Preston Sandusky
Views: 12938 GoogleTalksArchive
Launchd: One Program to Rule them All
Since time immemorial (or the advent of UNIX--pretty much the same thing), the init program has been the first user-space program to run on Unix-like systems. As systems grew more complex, so did system initialization. The responsibilities of init grew multifold and its implementations diverged. Beginning with the "Tiger" version of Mac OS X, Apple introduced a powerful new way of system initialization: launchd. Launchd isn't just an init replacement though--it provides a powerful XML interface for defining when, where, and how programs should be invoked on OS X. In this talk, Dave, who developed launchd, will discuss the rationale behind launchd and how the program came to be. You will also learn about the many options launchd provides for defining the interaction between the operating system and your code, and how your code can be started automatically through launchd. Dave Zarzycki is responsible for helping teams across Apple design and integrate their technologies in the the mainline operating system. As a part of this role, he has developed a technology called "launchd" to aid those developers. This talk will be taped by the engEDU Tech Talks Team. production company: Google engEDU
Views: 8039 GoogleTalksArchive
The Surprising History of Copyright and What It Means For Google
Google Tech Talks August 15, 2006 Karl Fogel ABSTRACT Copyright is derived from a 16th-century English censorship law, later turned into a monopoly right to subsidize distribution. This history is somewhat at odds with the modern conception of copyright, and an understanding of it is increasingly important today, as the economics of distribution are changing radically. This talk will give the audience a mid-level overview of copyright's history, with pointers to further reading, followed by a survey of alternative economic bases for creation and distribution, and a discussion of what these dynamics mean for companies, like Google, that flourish in an environment of frictionless information sharing. I will leave as much time as possible for Q&A. This is a slight reworking of a talk I just gave at OSCON in Portland, see http://www.questioncopyright.org/node/5 for more. Google engEDU
Views: 678 GoogleTalksArchive
Human Computation
Google TechTalks July 26, 2006 Luis von Ahn is an assistant professor in the Computer Science Department at Carnegie Mellon University, where he also received his Ph.D. in 2005. Previously, Luis obtained a B.S. in mathematics from Duke University in 2000. He is the recipient of a Microsoft Research Fellowship. ABSTRACT Tasks like image recognition are trivial for humans, but continue to challenge even the most sophisticated computer programs. This talk introduces a paradigm for utilizing human processing power to solve problems that computers cannot yet solve. Traditional approaches to solving such problems focus on improving software. I advocate a novel approach: constructively channel human brainpower using computer games. For example, the ESP Game, described in this talk, is an enjoyable online game -- many people play over 40 hours a week -- and when people play, they help label images on the Web with descriptive keywords. These keywords can be used to significantly improve the accuracy of image search. People play the game not because they want to help, but because they enjoy it. I describe other examples of "games with a purpose": Peekaboom, which helps determine the location of objects in images, and Verbosity, which collects common-sense knowledge. I also explain a general approach for constructing games with a purpose. Google engEDU
Views: 25824 GoogleTalksArchive
Mac OS Automator: Doing things over and over is over.
Google TechTalks June 27, 2006 Sal Soghoian ABSTRACT Mac OS X "Tiger" introduces Automator, a new application that automates anything on your computer quickly and easily. Join Automator Product Manager Sal Soghoian as he demonstrates how you can use this incredible tool to make using your Mac productive and fun Google engEDU
Views: 11318 GoogleTalksArchive
Metrication Matters
Google Tech Talks August 6, 2007 ABSTRACT In this talk I will explore the way that Australia upgraded to the metric system quickly, smoothly, and economically. I will describe which methods worked — while referring to the costs that Australians saved — and are still saving every day — through their successful metric transition. I will also comment on, the metrication programs of the UK and the USA. Pat specialises in the modern metric system based on the International System of Units (SI), but he is mostly concerned with the processes that people use for themselves, their groups, their businesses, and their industries, and their nations as they go about the metrication process. Google engEDU Speaker: Pat Naughtin
Views: 3063 GoogleTalksArchive
Modeling Science:  Dynamic Topic Models of Scholarly Research
Google Tech Talks May 24, 2007 ABSTRACT A surge of recent research in machine learning and statistics has developed new techniques for finding patterns of words in document collections using hierarchical probabilistic models. These models are called "topic models" because the word patterns often reflect the underlying topics that are combined to form the documents; however topic models also naturally apply to such data as images and biological sequences. While previous topic models have assumed that the corpus is static, many document collections actually change over time: scientific articles, emails, and search queries reflect evolving content, and it is important to model the corresponding evolution of the underlying topics. For example, an article about biology in 1885 will exhibit significantly different word frequencies than one in 2005. After reviewing the basics of topic models, I will describe probabilistic models designed to capture the dynamics of topics as they evolve over time. In addition to giving quantitative, predictive models of a corpus, topic models provide a qualitative window into the structure of a large document collection. This perspective allows a user to explore a corpus in a topic-guided fashion. We demonstrate the capabilities of the dynamic topic model on the archives of the journal Science, founded in 1880 by Thomas Edison. Our models are built on the noisy text from JSTOR, an online scholarly journal archive, resulting from an optical character recognition engine run over the original bound journals. (joint work with J. Lafferty) Speaker: David Blei, Princeton University g Speaker: David Blei
Views: 15146 GoogleTalksArchive
PhotoTechEDU Day 22: Measuring, Interpreting and Correcting Optical Aberrations.
Google Tech Talks June 20, 2007 ABSTRACT Every lens has flaws. The eye—arguably the most important lens—has more than it's share. This talk is about recent technology that lets physicians measure and understand these wavefront aberrations. Some of these aberrations degrade our vision, while others seem to enhance it. Finally, I'll talk about efforts and technology to correct those aberrations. # useful properties of light and image formation # theory and techniques of photographic optics and image capture # theory of colorimetry and techniques of color reproduction # where and how photography is being used in Google products and projects # what tools exist inside Google for photographic image storage, processing, etc. # and lots more... google EngEDU Speaker: Erik Gross
Views: 4038 GoogleTalksArchive
On Getting Creative Ideas
Google Tech Talks March 14, 2007 ABSTRACT Murray Gell-Mann is one of the largest living legends in physics. He's also been described as The Man With Five Brains, and it's no puzzle why: He was admitted to Yale at 15, got his PhD from MIT at 21, and is an international advisor on the environment. He speaks 13 languages fluently (at last count), and has expertise in such far-ranging fields as natural history, historical linguistics, archaeology, bird-watching, depth psychology, and the theory of complex adaptive systems. Oh yeah... he also coined the term "quark," after developing key aspects of the modern theory of quantum physics... for which he earned an unshared Nobel prize in physics in 1969. His ideas revolutionized the world's thinking on elementary particles. In this talk, he gives his thoughts "on getting creative ideas." Murray Gell-Mann Murray Gell-Mann is a Distinguished Fellow of the Santa Fe Institute, and author of the popular science book "The Quark and the Jaguar, Adventures in the Simple and the Complex." Besides being a Nobel laureate, Professor Gell-Mann has received the Ernest O. Lawrence Memorial Award of the Atomic Energy Commission, the Franklin Medal of the Franklin Institute, the Research Corporation Award, and the John J. Carty medal of the National Academy of Sciences. In 1988 he was listed on the United Nations Environmental Program Roll of Honor for Environmental Achievement (the Global 500). He also shared the 1989 Erice "Science For Peace" Prize. In 1994 he received an honorary Doctorate of Natural Resources from the University of Florida. Google engEDU Speaker: Murray Gell-Mann
Views: 19479 GoogleTalksArchive
Advanced Topics in Programming Languages Series: C++ Threads
Google Tech Talks May 16, 2007 Abstract The next C++ standard will provide direct support for threads, including a model of memory, atomics, variables, launching, scheduling, synchronization, and termination. This talk will present the current threading model and outline the remaining work. Google engEDU Speaker: Lawrence Crowl
Views: 41625 GoogleTalksArchive
Building Large Systems at Google
Google TechTalks May 31, 2006 Narayanan Shivakumar Shivakumar is a Google Distinguished Entrepreneur. Earlier, he was a Director of Engineering responsible for many of Google's advertising products and Google Search Appliances. Before Google, he cofounded Gigabeat ('99), a startup in the online music space, and later acquired by Napster. He graduated with a BS '94 (Summa Cum Laude) from UCLA in Computer Science and PhD '99 in Computer Science from Stanford University. ABSTRACT Google deals with large amounts of data and millions of users. We'll take a behind-the-scenes look at some of the distributed systems and computing platform that power Google's various products, and make the products scalable and reliable. Google engEDU
Views: 7195 GoogleTalksArchive
Aspect Oriented Programming: Radical Research in Modularity
Google TechTalks May 16, 2006 Gregor Kiczales Gregor Kiczales is Professor of Computer Science at the University of British Columbia. His work is directed at enabling programmers to write programs that, as much as possible, look like their design. ABSTRACT Aspect-oriented programming (AOP) is based on a radical exploration of modularity in software development. By presenting new mechanisms that enable better modularization in a number of systems, AOP is driving us to ask fundamental questions about what modularity should mean in our field. In the past, we have tended to think of modularity in terms of hierarchies of crisply defined blocks, where each block or module defines its interface with the surrounding modules. This idea seems attractive but experience tells us that it is hard to actually get the modularity of the software we build just right. Some issues are hard to code (or design) in a single module, others just don't seem to want to stay where you put them. Work in AOP and other areas suggests a different conception of modularity, based on crosscutting structures and a more fluid notion of module boundaries. The talk will present existing AOP techniques and the problems they solve, as well as open practical and research problems ranging from mechanisms, to applications, to theoretical formulations and to conceptual foundations. Google engEDU
Views: 10538 GoogleTalksArchive
Agile Retrospectives: Making Good Teams Great!
Google Tech Talks January 25, 2007 ABSTRACT Project retrospectives help teams examine what went right and what went wrong on a project. But traditionally, retrospectives (also known as "post-mortems") are only performed at the end of the project -- too late to help. In organizations where teams develop using iterative, incremental methods, Agile retrospectives at the end of each iteration or increment stimulate continuous improvement throughout the project. Exceptional software process and project improvement grows out of solid data and good planning. Esther Derby and Diana Larsen, authors of Agile Retrospectives: Making Good Teams Great, will introduce you to a framework for effective retrospectives, provide tips and pointers for sustaining interest in retrospectives throughout the project, and suggest ways to maintain the relevance of improvement to the work of your team. Google engEDU Speaker: Diana Larsen Speaker: Esther Derby
Views: 15172 GoogleTalksArchive
Performance Tuning Best Practices for MySQL
Google TechTalks April 28, 2006 Jay Pipes Jay Pipes is a co-author of the recently published Pro MySQL (Apress, 2005), which covers all of the newest MySQL 5 features, as well as in-depth discussion and analysis of the MySQL server architecture, storage engines, transaction procesing, benchmarking, and advanced SQL scenarios. You can also see his name on articles appearing in Linux Magazine and can read more articles about MySQL at his website. ABSTRACT Learn where to best focus your attention when tuning the performance of your applications and database servers, and how to effectively find the "low hanging fruit" on the tree of bottlenecks. It's not rocket science, but with a bit of acquired skill and experience, and of course good habits, you too can do this magic! Jay Pipes is MySQL's Community Relations Manager for North America. Google engEDU
Views: 5690 GoogleTalksArchive
Bay Area Discrete Math Day XII: Hierarchial Dirichlet Processes
Google TechTalks Bay Area Discrete Math Day XII April 15, 2006 Michael Jordan (UC Berkeley) ABSTRACT A Dirichlet process (DP) is a random probability measure that concentrates on discrete measures. It has interesting and well-explored connections to various topics in combinatorics and probability. It has also played an important role in nonparametric Bayesian statistics, via sampling algorithms that are based on its exchangeability properties. I define a hierarchical Dirichlet process (HDP), in which the base measure for each of a set of child DPs is itself distributed according to a DP. I discuss representations of HDPs in terms of stick-breaking processes and a generalization of the Chinese restaurant process referred to as a "Chinese restaurant franchise." I discuss Monte Carlo and variational algorithms for posterior inference in HDP mixtures, and describe applications to problems in information retrieval and bioinformatics. Joint work with Yee Whye Teh, Matt Beal, and David Blei. Google engEDU
Views: 6195 GoogleTalksArchive
Advanced Python or Understanding Python
Google Tech Talks February 21, 2007 ABSTRACT The Python language, while object-oriented, is fundamentally different from both C++ and Java. The dynamic and introspective nature of Python allow for language mechanics unlike that of static languages. This talk aims to enlighten programmers new to Python about these fundamentals, the language mechanics that flow from them and how to effectively put those to use. Among the topics covered are duck-typing, interfaces, descriptors, decorators, metaclasses, reference-counting and the cyclic-garbage collector, the divide between C/C++ data and Python objects and the CPython implementation in general. This talk is part of the Advanced Topics in Programming Languages series. The goal of this series is to encourage all of the people at Google who know and love programming languages to share their knowledge. If you would like information on upcoming talks, or to schedule a talk of your own, contact information is available on the wiki page: Google engEDU Speaker: Thomas Wouters
Views: 36250 GoogleTalksArchive
The Archimedes Palimpsest
Google TechTalks March 7, 2006 Will Noel Roger L. Easton, Jr. Michael B. Toth ABSTRACT The Archimedes Palimpsest is a 10th Century medieval manuscript that is the subject of an ongoing technical, scientific and conservation effort at the Walters Art Museum in Baltimore, Maryland. Since 1999, the multidisciplinary team has been disbinding, conserving, imaging, analyzing, transcribing and studying the 174 parchment folios – yielding approximately 400Gb of data to date. The Palimpsest, which the team affectionately calls “Archie,” includes at least seven treatises by Archimedes: The only copies of two of his Treatises, /The Method/ and /Stomachion/; the only copy in Greek of /On Floating Bodies;/ and copies of the /Equilibrium of Planes/, /Spiral Lines/, /The Measurement of the Circle/, and /Sphere and Cylinder/. It also contains 10 pages of text by the 4th century B.C. Attic Greek orator Hyperides; six folios from a Neo-Platonic philosophical text that has yet to be identified, but may be commentaries on Aristotle; four folios from a liturgical book; and twelve pages from two different books, the text of which has yet to be deciphered. Google engEDU
Views: 12438 GoogleTalksArchive
A New Marriage of Brain and Computer
Google Tech Talks September, 21 2007 ABSTRACT Brain and computer were wed mid-twentieth century by the McCulloch-Pitts model neuron and Hodgkin-Huxley equations for digital firing in biological neurons. Since then, brain neurons, synapses, firings and networks have been considered analogous to electronic switches, states and circuits in classical computers. But despite extraordinary advances and bold predictions, consciousness seems ever more elusive. On this, and other divisive issues like EEG gamma synchrony, deviations from Hodgkin-Huxley, gap junctions, dendritic webs/hyper-neurons, anesthesia, quantum computers and clear demonstration of functional quantum coherence in warm protein assemblies, brain and computer have drifted apart. Increasing evidence suggests that the brain-computer marriage could be spiced up, and consciousness accounted for, by exotic yet testable new approaches such as quantum computation in microtubules (Penrose-Hameroff Orch OR theory) in laterally connected input layers (gap junction dendritic web/hyper-neurons) of neuronal networks. Speaker: Stuart Hameroff Stuart Hameroff M.D. is an anesthesiologist, Professor of Anesthesiology and Psychology and Director, Center for Consciousness Studies at the University of Arizona in Tucson. Google engEDU Speaker: Stuart Hameroff
Views: 11306 GoogleTalksArchive
Zero Configuration networking with Bonjour
Google TechTalks November 2, 2005 Dr. Stuart Cheshire, Apple Computer http://www.stuartcheshire.org/ ABSTRACT The desirability of making IP networking easy to use has been obvious for many years, but achieving that goal has proved elusive. One day, Stuart Cheshire got tired of fellow Stanford Computer Science PhD students wanting to print from his Mac (via AppleTalk) because they couldn't work out how to configure their Linux /etc/printcap files to access the network printer they wanted to use via IP, and he decided it was time someone did something about it. Thus began a long saga, beginning with the formation of the IETF "Zero Configuration Networking" working group, and ending where we are today, with widespread adoption of Stuart Cheshire's Multicast DNS and DNS Service Discovery technology, or "Bonjour", as Apple likes to call it. Today just about every network printer from just about every printer vendor supports Bonjour, and ships with it enabled by default. Google engEDU
Views: 9496 GoogleTalksArchive
Java on Guice: Dependency Injection, the Java Way
Google Tech Talks April 26, 2007 ABSTRACT Guice is a new open-source dependency-injection framework for Java 5. It's small, fast, typesafe, doesn't require you to write XML, and is already in use in several Google projects. Come learn how Guice can help make your applications simpler and easier to test. Google engEDU Speakers: Kevin Bourrilliion and Bob Lee
Views: 9576 GoogleTalksArchive
LLVM 2.0
Google Tech Talks July 25, 2007 ABSTRACT What has changed in the new version of Low Level Virtual Machine. Its type system, the new bitformat, how it integrates with GCC. Google engEDU Speaker: Chris Lattner
Views: 10762 GoogleTalksArchive
Change your Mind Change your Brain: The Inner Conditions for Authentic Happiness
Google Tech Talks March 15, 2007 ABSTRACT If happiness is an inner state, influenced by external conditions but not dependent on them, how can we achieve it? Ricard will examine the inner and outer factors that increase or diminish our sense of well-being, dissect the underlying mechanisms of happiness, and lead us to a way of looking at the mind itself based on his book, Happiness: A Guide to Life's Most Important Skill and from the research in neuroscience on the effect of mind-training on the brain. Speaker Bio: Matthieu Ricard, a gifted scientist turned Buddhist monk, is a best selling author, translator, and photographer. He has lived and studied in the Himalayas for the last 35 years where he currently works on humanitarian projects. He is an active participant in the current scientific research on meditation and the brain. Google engEDU Speaker: Matthieu Ricard
Views: 11477 GoogleTalksArchive
The Paradox of Choice - Why More Is Less
Google TechTalks April 27, 2006 Barry Schwartz Google engEDU
Views: 23933 GoogleTalksArchive
Three Beautiful Quicksorts
Google Tech Talks August 9, 2007 ABSTRACT This talk describes three of the most beautiful pieces of code that I have ever written: three different implementations of Hoare's classic Quicksort algorithm. The first implementation is a bare-bones function in about a dozen lines of C. The second implementation starts by instrumenting the first program to measure its run time; a dozen systematic code transformations proceed to make it more and more powerful yet more and more simple, until it finally disappears in a puff of mathematical smoke. It therefore becomes the most beautiful program I never wrote. The third program is an industrial-strength C library Qsort function that I built with Doug McIlroy. A theme running through all three implementations is the power of elegance and simplicity. (This talk expands my Chapter 3 in Beautiful Code, edited by Oram and Wilson and published by O'Reilly in July, 2007.) Google engEDU Speaker: Jon Bentley
Views: 7148 GoogleTalksArchive
Quicksilver: Universal Access and Action
Google Tech Talks August 30, 2007 ABSTRACT Quicksilver hides almost unbounded power beneath the interface of a keyboard-driven launcher. Using a basic grammatical model, it allows you to move beyond basic search and work effortlessly with applications, data, and the web. Quickilver is above all a prototype intended to explore new forms of interaction. In this talk, we will explore the motivation behind Quicksilver, highlights of its implementation, lessons learned from its design, and the ways it might inform the future of navigation for the desktop and the web. Speaker: Nicholas Jitkoff Google engEDU Speaker: Nicholas Jitkoff
Views: 3508 GoogleTalksArchive
Seattle Conference on Scalability: SCTPs Reliability and Fault Tolerance
Google Tech Talks June 23, 2007 ABSTRACT Low cost clusters are usually built from commodity parts and use standard transport protocols like TCP/IP. Once systems become large enough, reliability and fault tolerance become an important issue and TCP/IP often requires additional mechanisms to ensure reliability of the application. The Stream Control Transmission Protocol (SCTP) is a newly standardized transport protocol that provides additional mechanisms for reliability beyond that of TCP. The added reliability and fault tolerance of SCTP may function better for MapReduce-like distributed applications on large commodity clusters. SCTP has the following features that provide additional levels of reliability and fault tolerance. Selective acknowledgment (SACK) is built-in to the protocol with the ability to express larger gaps than TCP; as a result, SCTP outperforms TCP under loss. For cluster nodes with multiple interfaces, SCTP supports multihoming, which transparently provides failover in the event of network path failure. SCTP has the stronger CRC32c checksum which is necessary with high data rates and large scale systems. SCTP also allows multiple streams within a single connection, providing a solution to the head- of-line blocking problem present in TCP-based farming applications like Google's MapReduce. Like TCP, SCTP provides a reliable data stream by default, but unlike TCP, messages can optionally age or reliability can be disabled altogether. The SCTP API provides both a one-to-one (like TCP) and a one-to-many (like UDP) socket style; use of a one-to-many style socket can reduce the number of file descriptors required by an application, making it more scalable. Speakers: Brad Penoff, Mike Tsai, Alan Wagner Google engEDU Speakers: Brad Penoff, Mike Tsai, Alan Wagner
Views: 2652 GoogleTalksArchive
How Open Source Projects Survive Poisonous People (And You Can Too)
Google Tech Talks January 25, 2007 ABSTRACT Every open source project runs into people who are selfish, uncooperative, and disrespectful. These people can silently poison the atmosphere of a happy developer community. Come learn how to identify these people and peacefully de-fuse them before they derail your project. Told through a series of (often amusing) real-life anecdotes and experiences. Google engEDU Speaker: Ben Collins-Sussman Speaker: Brian Fitzpatrick
Views: 20136 GoogleTalksArchive
Using open source tools for performance testing
Google London Test Automation Conference (LTAC) Google Tech Talks September 8th, 2006 Presenter: Goranka Bjedov Google engEDU Presenter: Goranka Bjedov
Views: 21043 GoogleTalksArchive
Market Failure and Market Design
Google Tech Talks October, 11 2007 ABSTRACT An overview of the field of market design Speaker: Al Roth Al Roth is the George Gund Professor of Economics and Business Administration in the Department of Economics at Harvard University, and in the Harvard Business School. His research, teaching, and consulting interests are in game theory, experimental economics, and market design. The best known of the markets he has designed (or, in this case, redesigned) is the National Resident Matching Program, through which approximately twenty thousand doctors a year find their first employment as residents at American hospitals. He has recently been involved in the reorganization of the market for Gastroenterology fellows, which started using a clearinghouse in 2006 for positions beginning in 2007. He helped design the high school matching system used in New York City to match approximately ninety thousand students to high schools each year, starting with students entering high school in the Fall of 2004. He helped redesign the matching system used in Boston Public Schools, adopted for students starting school in September 2006. He is one of the founders and designers of the New England Program for Kidney Exchange, for incompatible patient-donor pairs. He is the chair of the American Economic Association's Ad Hoc Committee on the Job Market, which has designed a number of recent changes in the market for new Ph.D. economists. He is a Fellow of the American Academy of Arts and Sciences and the Econometric Society, and has been a Guggenheim and Sloan fellow. He received his Ph.D at Stanford University, and came to Harvard from the University of Pittsburgh, where he was the Andrew Mellon Professor of Economics. Google engEDU Speaker: Al Roth
Views: 9327 GoogleTalksArchive
Scrum Tuning: Lessons learned from Scrum implementation at Google
Google Tech Talks December 7, 2006 ABSTRACT Adwords introduced a Scrum implementation at Google in small steps with remarkable success. As presented at the Agile 2006 conference this exemplifies a great way to start up Scrum teams. The inventor and Co-Creator of Scrum will use this approach in building the Google Scrum implementation to describe some of the subtle aspects of Scrum along with suggested next steps that can help in distributing and scaling Scrum in a "Googly way". Google engEDU Speaker: Jeff Sutherland
Views: 24311 GoogleTalksArchive
Advanced Topics in Programming Languages: Concurrency/message passing Newsqueak
Google Tech Talks May 9, 2007 ABSTRACT Sometimes what you want to say is hard to write or hard to get right in the programming model you're using. But how do we try another? There are many powerful programming models but most are not well supported by today's mainstream languages. Concurrency is one. This talk will discuss the programming model of Newsqueak, a concurrent programming language I designed and implemented to make it easier to write interactive applications in the late 1980s. It acts nothing like the tools used for that purpose today, but its ideas still have relevance. The language's users taught me a lot about concurrency, but they also taught me a lot about interface design and how to think about interactive - and interacting - systems. Google engEDU Speaker: Rob Pike
Views: 11787 GoogleTalksArchive
Best Practices in Javascript Library Design
Google Tech Talks August 17, 2007 ABSTRACT This talk explores all the techniques used to build a robust, reusable, cross-platform JavaScript Library. We'll look at how to write a solid JavaScript API, show you how to use functional programming to create contained, concise, code, and delve deep into common cross browser issues that you'll have to solve in order to have a successful library. John Resig is a JavaScript Evangelist, working for the Mozilla Corporation, and the author of the book 'Pro Javascript Techniques.' He's also the creator and lead developer of the jQuery JavaScript library and the co-designer of the FUEL JavaScript library (included in Firefox 3). He's currently located in Cambridge, MA. Google engEDU Speaker: John Resig
Views: 5542 GoogleTalksArchive
Competing On The Basis Of Speed
Google Tech Talks December 15, 2006 ABSTRACT Companies that compete on the basis of speed create a huge competitive advantage. But going fast is not easy. Speed requires a precise understanding of value: who, what, when, where, how, and why people will love your product. And it means getting value to them without complexity creeping into either your product or your process. Complexity comes in three basic flavors: 1. Inconsistency - Anything that is uneven, unbalanced, or irregular. 2. Overload - Any excessive or unreasonable burden. 3. Waste - Anything that unnecessarily takes up time, effort, space, or money. All three flavors of complexity are rampant in software development processes, and you can't go fast until you root them out. To learn more, join Mary and Tom Poppendieck in a discussion of Complexity, Queuing Theory, and Constant Innovation. Google engEDU Speaker: Mary Poppendieck
Views: 5291 GoogleTalksArchive
Using Static Analysis For Software Defect Detection
Google TechTalks July 6, 2006 William Pugh ABSTRACT I'll talk about some of my experience in using and expanding static analysis tools for defect detection. The FindBugs tool developed at the Univ. of Maryland is now being widely used, including inside Google. I'll give an overview of FindBugs, show some of the kinds of errors we routinely find in production code, discuss the methodology we use for enhancing and expanding FindBugs and some of the recent additions to it, discuss ways of incorporating FindBugs into your development process (such as being able to get a report of all the warnings introduced since the last release of your software), and talk about the future of static analysis, including things such as a new Java JSR to provide standard annotations for things such as @NonNull and @Tainted. Google engEDU
Views: 13411 GoogleTalksArchive