This document discusses the future of web browsers and Mozilla's Project Servo. It notes that current browsers need to be made safer and able to take advantage of parallel hardware. Project Servo seeks to build a new, parallel browser engine using the Rust programming language instead of C++ for improved safety. Early benchmarks show Rust code competing well with C++, suggesting Rust is a good choice for building high-performance and secure software for the future.
El ANTIVIRUS es un programa informático diseñado para detectar virus informático y malware, con el fin de ser bloqueados, eliminados y prevenir una futura infección por parte de algún virus. Su objetivo es proteger un equipo computarizado, desde PC, Tablet, hasta teléfonos inteligentes.
El ANTIVIRUS es un programa informático diseñado para detectar virus informático y malware, con el fin de ser bloqueados, eliminados y prevenir una futura infección por parte de algún virus. Su objetivo es proteger un equipo computarizado, desde PC, Tablet, hasta teléfonos inteligentes.
The State of Marketing - Insights from 2500 MarketersKyle Lacy
In the fall of 2013, we surveyed thousands of marketers to learn their top marketing objectives and priorities for 2014. With more than 2,500 responses, we’ve analyzed their insights to give you a current snapshot of the state of marketing. From lifecycle campaigns to return on investment (ROI), you’ll find timely recommendations to help you plan your marketing efforts for the year ahead.
A tutorial to basics of stock markets, basically for newbie's. Explains what is stocks, how trading happens, kinds of trading and some basic terminologies.
Messenger wars 2: How Facebook climbed back to number 1On Device Research
In the 2 years since our last report, Facebook has strategically climbed its way back to be number one of social messengers. With competition from super secret Snapchat and social messaging ecosystems, WeChat and Line - who will win the battle? Our research of smartphone users in USA, UK, Germany, Japan and China explores the best of social messaging.
A brief overview of the most popular social network in Russia and some former Soviet Union countries. Demographic insights are based on age, country, gender and relevance for local market.
Chemical translocation & molecular fateSumer Pankaj
A toxicant is any toxic (harmful) substance which are often used to denote substances made by humans or introduced into the environment by human activity, in contrast to toxins, which are toxicants produced naturally by a living organism.
Toxicants are poisonous and they can enter into the plants by the stomatal openings and by root absorption.
In animals these toxic compounds may enter by ingestion, inhalation and dermal absorption.
Translocation may be defined as a process which converts thee lipophilic compounds to more hydrophilic metabolites so that it can pass through the cell membrane.
Biochemical alteration of chemicals such as nutrients, amino acids, toxins, and drugs in the body through certain processes like oxidation, hydrolysis, conjugation with the help of some specific enzymes. This process is also know as Bio-transformation.
It is also needed to render nonpolar compounds polar so that they are not reabsorbed in renal tubules and are excreted.
The body typically deals with a foreign compound (DRUGS) by making it more water-soluble, to increase the rate of its excretion through the urine.
If there is no detoxification of the substance then the toxin or drug enters into ADR (Adverse Drug Reaction) phase which may disturb the normal functioning of the body.
This Bio-transformation generally takes place in the body to convert lipophilic compound to more hydrophilic compounds, so that it can be easily excreted out of the body.
My Mozilla Research Party talk on the occasion of Mozilla's public 15th anniversary, with some material from an invited talk I gave at MSR Paris in spring 2011.
This is a PDF containing slides of the presentation Michael gave at the 2009 PKP Conference in Vancouver, BC, Canada. His presentation questions how well we handle diversity issues in publishing.
Python: the secret weapon of Fedora - FLISoL 2015Bruno R. Zanuzzo
This presentation had the Intent to show the importance of Python for Fedora (especially as a pillar of innovation) goal is primarily to encourage new developers.
Civil engineers build structures to last. Aerospace engineers build airplanes for the long haul. Automotive engineers build cars to last. How about software engineers?
Not all of software needs to be engineered for long-life, but in some systems the predicted market span dictates we plan for the future. How can we do this, given the uncertainties in the technology industry?
What can we learn from the past?
How can we take informed bets on technologies and plan for change?
This session will cover some of the important technical considerations to make when thinking about the long term.
My Fluent 2014 keynote slides, without demos (Intel SIMD, BananaBread with Boon/FreeDOOM inside, Epic Games Unreal Tournament on UE3, Epic Games Soul on UE4).
Value Objects, Full Throttle (to be updated for spring TC39 meetings)Brendan Eich
Slides I prepared for the 29 January 2014 Ecma TC39 meeting, on Value Objects in JS, an ES7 proposal -- this one shotgunned the roadmap-space of declarative syntax, to find the right amount per TC39 (nearly zero, turns out).
My JSConf.eu presentation. Some recycling from CapitolJS, but new stuff in the middle on ES6 special forms triangle, monocle-mustache, classes (syntax in progress), and how the JS community can help.
My bonus #txjs talk, on paren-free (not in ES.next yet but now backward compatible), also the for-in (same old) and for-of (over values including iterators) loops.
My JSConf.eu talk about next-gen JavaScript metaprogramming features, starting with ES5's new Object APIs and then focusing on the forthcoming Proxy object, approved for the next ECMA-262 Edition. This is beautiful work from Tom Van Cutsem and Mark Miller, with Andreas Gal helping on the implementation front -- proxies are already shipping in Firefox 4 betas.
2. Future Tense
• “No fate but what we make.” - Sarah Connor, T2
mozilla
1
Friday, April 29, 2011
3. Future Tense
• “No fate but what we make.” - Sarah Connor, T2
• “Leaders can imagine a world that others don’t. Like Thomas Jefferson or that
kid in the Terminator movies.” - Finn, Glee
mozilla
1
Friday, April 29, 2011
4. Future Tense
• “No fate but what we make.” - Sarah Connor, T2
• “Leaders can imagine a world that others don’t. Like Thomas Jefferson or that
kid in the Terminator movies.” - Finn, Glee
• This talk is about the future, both what it will bring and what we want from it.
mozilla
1
Friday, April 29, 2011
5. Future Tense
• “No fate but what we make.” - Sarah Connor, T2
• “Leaders can imagine a world that others don’t. Like Thomas Jefferson or that
kid in the Terminator movies.” - Finn, Glee
• This talk is about the future, both what it will bring and what we want from it.
• At Mozilla Summit 2010, we launched Rust, a new programming language
motivated by safety and concurrency for parallel hardware, the “manycore”
future which is upon us.
mozilla
1
Friday, April 29, 2011
6. Future Tense
• “No fate but what we make.” - Sarah Connor, T2
• “Leaders can imagine a world that others don’t. Like Thomas Jefferson or that
kid in the Terminator movies.” - Finn, Glee
• This talk is about the future, both what it will bring and what we want from it.
• At Mozilla Summit 2010, we launched Rust, a new programming language
motivated by safety and concurrency for parallel hardware, the “manycore”
future which is upon us.
• This talk is a recap of motivation and a status report...
mozilla
1
Friday, April 29, 2011
7. Mobile vs. desktop slowdown
• From “Fast and Parallel Webpage Layout”, Meyerovich & Bodik, WWW2010, this
chart shows how “the power wall” hurts mobile single-core performance, driving
mobile to manycore and requiring a parallel browser engine “real soon now”:
mozilla
2
Friday, April 29, 2011
8. Data flow in a browser engine
• Traditionally mostly single-threaded, using C++ as implementation language,
with threads for image decoding, speculative script prefetching, rendering.
mozilla
3
Friday, April 29, 2011
9. Must parallelize every stage to win
• Even use data-parallel (SIMD) instructions as well... Amdahl’s Law bites.
mozilla
4
Friday, April 29, 2011
11. The “pwn2own” problem
• Every browser has endless security vulnerabilities due to lack of safety in the
main implementation language (C++, formerly C -- used for speed not safety).
mozilla
5
Friday, April 29, 2011
12. The “pwn2own” problem
• Every browser has endless security vulnerabilities due to lack of safety in the
main implementation language (C++, formerly C -- used for speed not safety).
• Chrome and Firefox survived this year’s pwn2own contest, but no boasting from
Mozilla on this count. And Chrome has been hacked elsewhere, too.
mozilla
5
Friday, April 29, 2011
13. The “pwn2own” problem
• Every browser has endless security vulnerabilities due to lack of safety in the
main implementation language (C++, formerly C -- used for speed not safety).
• Chrome and Firefox survived this year’s pwn2own contest, but no boasting from
Mozilla on this count. And Chrome has been hacked elsewhere, too.
• We have millions of lines of C++ in Gecko, both too-often unsafe due to memory
management bugs, and mostly single-threaded -- so slow on manycore mobile
devices.
mozilla
5
Friday, April 29, 2011
14. The “pwn2own” problem
• Every browser has endless security vulnerabilities due to lack of safety in the
main implementation language (C++, formerly C -- used for speed not safety).
• Chrome and Firefox survived this year’s pwn2own contest, but no boasting from
Mozilla on this count. And Chrome has been hacked elsewhere, too.
• We have millions of lines of C++ in Gecko, both too-often unsafe due to memory
management bugs, and mostly single-threaded -- so slow on manycore mobile
devices.
• Adding more threads to utilize multiple cores while fighting security bugs is like
team-juggling chainsaws to music where the record player has been sped up!
mozilla
5
Friday, April 29, 2011
16. Project Servo
• A new, safer systems programming language, Rust, instead of C++
mozilla
6
Friday, April 29, 2011
17. Project Servo
• A new, safer systems programming language, Rust, instead of C++
• Research building parallel browser engine stages in Rust
mozilla
6
Friday, April 29, 2011
18. Project Servo
• A new, safer systems programming language, Rust, instead of C++
• Research building parallel browser engine stages in Rust
• Experiment with Andreas Gal’s DOM implemented in JavaScript
mozilla
6
Friday, April 29, 2011
19. Project Servo
• A new, safer systems programming language, Rust, instead of C++
• Research building parallel browser engine stages in Rust
• Experiment with Andreas Gal’s DOM implemented in JavaScript
• For a scalably-faster-on-manycore, much safer Browser from the Future
mozilla
6
Friday, April 29, 2011
20. Project Servo
• A new, safer systems programming language, Rust, instead of C++
• Research building parallel browser engine stages in Rust
• Experiment with Andreas Gal’s DOM implemented in JavaScript
• For a scalably-faster-on-manycore, much safer Browser from the Future
• Rust is good for Servers and other Software from the Future, too
mozilla
6
Friday, April 29, 2011
25. What it all means
mozilla
11
Friday, April 29, 2011
26. What it all means
• First, these are just two of many benchmarks to conquer; Rust is still young.
mozilla
11
Friday, April 29, 2011
27. What it all means
• First, these are just two of many benchmarks to conquer; Rust is still young.
• The -rust-unsafe versions are competitive with their -gcc and -clang
counterparts (fannkuch-rust-unsafe actually wins!).
mozilla
11
Friday, April 29, 2011
28. What it all means
• First, these are just two of many benchmarks to conquer; Rust is still young.
• The -rust-unsafe versions are competitive with their -gcc and -clang
counterparts (fannkuch-rust-unsafe actually wins!).
• The -rust (safe) versions are currently about twice as slow as the C versions.
mozilla
11
Friday, April 29, 2011
29. What it all means
• First, these are just two of many benchmarks to conquer; Rust is still young.
• The -rust-unsafe versions are competitive with their -gcc and -clang
counterparts (fannkuch-rust-unsafe actually wins!).
• The -rust (safe) versions are currently about twice as slow as the C versions.
• We will reduce the cost of safety with ongoing, serious optimization effort.
mozilla
11
Friday, April 29, 2011
30. What it all means
• First, these are just two of many benchmarks to conquer; Rust is still young.
• The -rust-unsafe versions are competitive with their -gcc and -clang
counterparts (fannkuch-rust-unsafe actually wins!).
• The -rust (safe) versions are currently about twice as slow as the C versions.
• We will reduce the cost of safety with ongoing, serious optimization effort.
• Rust allows unsafe modules and functions, so we can dial in the remaining cost
that is not forgiven due to speedups on parallel hardware.
mozilla
11
Friday, April 29, 2011
31. What it all means
• First, these are just two of many benchmarks to conquer; Rust is still young.
• The -rust-unsafe versions are competitive with their -gcc and -clang
counterparts (fannkuch-rust-unsafe actually wins!).
• The -rust (safe) versions are currently about twice as slow as the C versions.
• We will reduce the cost of safety with ongoing, serious optimization effort.
• Rust allows unsafe modules and functions, so we can dial in the remaining cost
that is not forgiven due to speedups on parallel hardware.
• The Servo parallel browser engine project is starting, here and now.
mozilla
11
Friday, April 29, 2011