mozilla

Mozilla Nederland LogoDe Nederlandse
Mozilla-gemeenschap

Firefox terá indicador e silenciador de áudio em abas, afirma Mozilla - Boa Informação

Nieuws verzameld via Google - fr, 24/07/2015 - 22:25

Boa Informação

Firefox terá indicador e silenciador de áudio em abas, afirma Mozilla
Boa Informação
O assunto vem sendo pautado pela Mozilla pelo menos desde 2009, mas os desenvolvedores sempre esbarraram na dificuldade de identificar áudio oriundo de aplicações em Flash. É bem provável, portanto, que você tenha ouvido falar de um plano ...
Atualização do Firefox vai permitir silenciar abas com áudioOlhar Digital

alle 3 nieuwsartikelen »
Categorieën: Mozilla-nl planet

Firefox terá indicador e silenciador de áudio em abas, afirma Mozilla | Tecnoblog - Tecnoblog (Blogue)

Nieuws verzameld via Google - fr, 24/07/2015 - 21:02

Tecnoblog (Blogue)

Firefox terá indicador e silenciador de áudio em abas, afirma Mozilla | Tecnoblog
Tecnoblog (Blogue)
O assunto vem sendo pautado pela Mozilla pelo menos desde 2009, mas os desenvolvedores sempre esbarraram na dificuldade de identificar áudio oriundo de aplicações em Flash. É bem provável, portanto, que você tenha ouvido falar de um plano ...

Google Nieuws
Categorieën: Mozilla-nl planet

Spike In Yahoo Searches On Mozilla Firefox Declining 07/27/2015 - MediaPost - MediaPost Communications

Nieuws verzameld via Google - fr, 24/07/2015 - 20:56

Spike In Yahoo Searches On Mozilla Firefox Declining 07/27/2015 - MediaPost
MediaPost Communications
Yahoo's agreement with Mozilla to become the default search engine on the Firefox browser for mobile and desktop might not become as profitable as first expected. The deal initially provided Yahoo with a spike in searches, but has since declined ...
Firefox is getting audio indicators to show noisy tabs, and will let you mute ...VentureBeat

alle 2 nieuwsartikelen »
Categorieën: Mozilla-nl planet

Stuart Colville: Back to the future: ES6 + React

Mozilla planet - fr, 24/07/2015 - 20:21

I've just recently finished shaving about a billion yaks * to convert a React app over to use ES6 modules and classes so we can start living in the future that is ES6 with a sprinkling of ES7.

* Might not be true

Transpiling back to the present

We're using babel via webpack to transpile our ES6+ code into ES5. Babel exposes the various stages of ECMAScript proposals so you can choose whatever stages are appropriate for your project. For example Stage 0 will give you the most features, but that will include things like strawman proposals that may never actually see the light of day.

For our project we've tried to stick to Stage2 which is Babel's default (Stage 2 features Draft specs), and then add to that a couple of more modern features which should hopefully make it to prime time.

The two features we've specifically added are:

ES6 Modules

Es6 Modules are very powerful, it takes a bit of getting used to coming from commonJS or AMD modules.

One of the really great things is that you can export more than one thing by using a default export and exporting something else.
In this example the instance will be the default export that you'll get when importing this module:

E.g.

export class Tracking { // Whatever } export default new Tracking();

So now I have two options:

// Get an instance import tracking from tracking; tracking.init(); // Get the class (handy for tests) import { Tracking } from tracking; var tracking = new Tracking(); tracking.init();

There's lots of great info on the full range or what's possible with es6 modules here.

React components with ES6 classes

When converting from ES5 there's quite a number of things to be aware of.

Setting default state

You can easily do this in the constructor rather than using a separate getInitialState method.

import React, { Component } from 'react'; class MyComponent extends Component { constructor() { super(); this.state = { // Default state here. } } //... Everything else } Setting defaultProps and propTypes

When using defaultProps and propTypes are defined as static class properties.

If you have es7.classProperties you can do this like so:

import React, { Component, PropTypes } from 'react'; class MyComponent extends Component { static propTypes = { foo: PropTypes.func.isRequired, bar: PropTypes.object, } static defaultProps = { foo: () => { console.log('hai'); }, bar: {}, } //... Everything else }

The alternative to this (when you don't have es7 shiny enabled) is to just set props directly on the class e.g:

class MyComponent extends Component { //... Everything else } MyComponent.propTypes = {foo: PropTypes.func.isRequired}; MyComponent.defaultProps = {foo: function() { console.log('hai'); }};

I found this very ugly though, so static class props seems to be a good way to go for now.

isMounted() isn't available

If you'd used isMounted() then this isn't availabe on ES6 classes extended from Component. If you really need it you can set a flag in componentDidMount and unset it again in componentWillUnMount.

Method binding

When passing methods around as props you'll find with ES6 classes this doesn't refer to the component like it used to with React.createClass.

To get back the same behaviour without using something ugly like:

<Foo onClick={this.handleClick.bind(this)} />

You can use an arrow function instead:

class MyComponent extends Component { handleClick = (e) => { // this is now the component instance. console.log(this); } }

This works because arrow functions capture the this value of the enclosing context. In otherwords an arrow function gets the this value from where it was defined, rather than where it's used.

If you want to get really fancy you can use "function bind syntax".

Which you get by doing this:

<Foo onClick={::this.handleClick} />

Which is equivalent to the previous bind() example. But to do that you'd need to enable es7.functionBind. For me this was a step too far and I'm happy to stick with the arrow functions.

Testing with ES6/7

Our previous tests had made some good use of rewire.js to modify requires and vars that weren't exported from the module (It does this with some cheeky injection techniques).

Unfortunately due to some changes in Babel rewire isn't compatible (at the moment) with ES6 modules. There's an alternative babel-plugin-reqire but that injects getters and setters into every module.

Dependency Injection in React Classes

Instead of using module mangling it was easiest to fall-back to dependency injection for the places where we were changing Components to fake ones.

In React props look like a good fit for dep injection:

import DefaultOtherComponent from 'components/other'; class MyComponent extends Component { static defaultProps: { OtherComponent: DefaultOtherComponent, } //... Snip render() { var OtherComponent = this.props.OtherComponent; return ( <OtherComponent {...this.props} /> ); } }

Now in the test we can inject a fake component:

TestUtils.renderIntoDocument( <MyComponent OtherComponent={FakeOtherComponent} /> ); getDOMNode() is deprecated

In ES6 React classes getDOMNode() is not present so you'll need to refactor all calls to MyComponent.getDOMNode() to React.findDOMNode(MyComponent) instead. The docs also mention it's deprecated so it might be removed completely in the future.

Summary

There's quite a bit of work in making the conversion depending on how big your code-base is and depending on how much use of ES6 you're making already.

A lot of the new features in ES6 are making things much easier for developers so I'd definitely say it's a direction worth moving in assuming you're comfortable with all the aspects of transpilation. Webpack + babel makes this pretty straightforward. If you're already using babel for JSX (or some other similar loader for JSX) then you're already most of the way there.

FWIW: if you're not using babel, switching to it is now an official recommendation.

I'm very impressed with the currently ecosystem around JS e.g. tools like babel and webpack alongside forward thinking libs like React + Redux. All of these things sit well with each other and allow projects like ours to be able to step into the future today.

Now we've just got to get used to all the new syntax and start using more of it!

Further reading Credits
  • Image By Terabass (Own work) CC BY-SA 4.0, via Wikimedia Commons
Categorieën: Mozilla-nl planet

Mozilla comemora uma década de sua rede Mozilla Developer Network - Oficina da Net

Nieuws verzameld via Google - fr, 24/07/2015 - 20:15

Oficina da Net

Mozilla comemora uma década de sua rede Mozilla Developer Network
Oficina da Net
Há exatos dez anos, a Mozilla lançava a Mozilla Developer Network ou simplesmente MDN, a rede focada em desenvolvedores, tinha como objetivo a de servir como uma espécie de biblioteca para documentações ligadas a linguagem e tecnologia usada ...
Mozilla Developer Network completa dez anos. Veja trajetória da plataforma de ...IT Forum 365
Rede de desenvolvedores da Mozilla chega aos 10 anos com mais de 4 ...iMasters

alle 4 nieuwsartikelen »Google Nieuws
Categorieën: Mozilla-nl planet

Firefox 40: Mozilla macht den Browser fit für Windows 10 - COMPUTER BILD

Nieuws verzameld via Google - fr, 24/07/2015 - 20:10

GameStar

Firefox 40: Mozilla macht den Browser fit für Windows 10
COMPUTER BILD
24.07.2015, 19:30 UhrMit Firefox 40 arbeitet Mozilla derzeit an der Fertigstellung einer aktualisierten Browser-Variante. COMPUTER BILD stellt die Neuerungen der Beta-Version vor und verrät, was Sie erwartet.
Windows 10 - Mozilla beschwert sich über Standard-App-EinstellungGameStar
Microsoft Edge vs. andere Browser: Mozilla kritisiert Standardanwendungs ...PC Games Hardware
Mozilla wettert gegen Standard-App-Regelung in Windows 10WinFuture

alle 4 nieuwsartikelen »
Categorieën: Mozilla-nl planet

Air Mozilla: Webmaker Demos July 24 2015

Mozilla planet - fr, 24/07/2015 - 19:00

Webmaker Demos July 24 2015 Webmaker Demos July 24 2015

Categorieën: Mozilla-nl planet

Chris Cooper: RelEng & RelOps Weekly highlights - July 24, 2015

Mozilla planet - fr, 24/07/2015 - 18:57

Welcome back. When we last left our heroes, they were battling the combined forces technical debt and a lack of self-service options. We join the fight already in progress…

Kapow! width=100%

Modernize infrastructure: To pave the way for creating continuous integration (CI) automation for Windows 10, Q is auditing all of our Windows 8 GPOs to determine which will work as-is on WIndows 10, which will no longer be needed, and which will require rewriting to work on the new platform (https://bugzil.la/1185844).

Dustin has completed the taskcluster scope handling audit and has reporting his findings back to the team and filed bugs for remediation.

Rail has deployed a change that allows us to specify docker images by their sha256 in TaskCluster, reducing the risk of MITM attacks. This was one of the hard security blockers for Funsize (https://bugzil.la/1175561).

After much discussion, we’ve chosen to move forward with installing hg as an EXE on Windows for the time being. Mark is implementing this method so we can continue progress towards moving Windows 2008 builds into AWS (https://bugzil.la/1170588).

Morgan has a prototype of some github/TaskCluster integration: if your project lives in github/mozilla, you can drop a .taskclusterrc file in the base of your repository and the jobs will just start running after each pull request (http://linuxpoetry.com/blog/23/)

Dustin is migrating treestatus to relengapi, removing one of the blockers to existing the PHX1 datacenter and centralizing another of our many web apps (https://bugzil.la/1181153).

Amy is working at replacing the servers we use to image mac builders and testers. This will allow us to perform backups of critical information and will prepare us for new OS X 10.10 hardware that’s in the purchasing pipeline now (https://bugzil.la/1186197).

Kim disabled Android 4.0 test jobs by default on Try as another step toward to disabling Pandas as a test platform as we move Android 4.3 test jobs to emulators on AWS (https://bugzil.la/1184117)

Today is the last day of Anhad’s internship. :( His end-of-internship presentation is now available on Air Mozilla: http://mzl.la/1JlpT0P This week he met with Anthony to hand-off his work on the getting Windows builds working with the generic worker in TaskCluster. (https://bugzil.la/1180775)

Improve release pipeline: Ben worked with OpSec to generate a new GPG signing key (replacing our expired one) and deploy it to our Nightly and Release signing servers. We are also working to improve the monitoring around signing key expiry to avoid future fire drills.

Improve CI pipeline: Jordan has re-deployed the change that switches over all future CI and release jobs to using a Gecko-based copy of Mozharness (http://jordan-lund.ghost.io/mozharness-goes-live-in-the-tree/).

Ben has been working towards stopping automated builds of XULRunner for the Firefox 42.0 cycle, starting September 22nd, 2015 (https://groups.google.com/forum/#!topic/mozilla.dev.planning/mmNWxHOt_lw)

Release: Firefox 40 is currently in beta. We’re up to b7 now.

Operational: Amy and Coop have worked with DCops to re-balance the Linux/Windows test pools, removing 30 machines from the Linux talos pools increasing capacity by 10 machines each in the Windows XP, Windows 7, and Windows 8 test pools (https://bugzil.la/1151591).

We giveth: This week we enabled the B2G 2.2r branch. (https://bugzil.la/1177598)

…and we taketh away: We also disabled many obsolete B2G builds/branches to improve throughput and reclaim capacity.

vcs-sync is now running in AWS! Hal made the official switch this week after running both setups in parallel for a while. This allows us to retire some ancient hardware in the datacenter.

Callek touched over 55 bugs this week as buildduty, many of them during triage and resolution of machine loans. (http://tinyurl.com/nhhpjyr)

Will our heroes emerge victorious? Tune in next week!

Categorieën: Mozilla-nl planet

Firefox is getting audio indicators to show noisy tabs, and will let you mute ... - VentureBeat

Nieuws verzameld via Google - fr, 24/07/2015 - 18:15

Ubergizmo

Firefox is getting audio indicators to show noisy tabs, and will let you mute ...
VentureBeat
[Unlock ninja marketing project management skills with Scott Brinker. Register today for a live virtual online roundtable discussion.] Mozilla is working on identifying Firefox tabs that are currently playing audio. The feature will show an icon if a ...
Firefox Will Get Audio Indicators To Identify Noisy Tabs | UbergizmoUbergizmo

alle 2 nieuwsartikelen »
Categorieën: Mozilla-nl planet

Support.Mozilla.Org: What’s up with SUMO – 24th July

Mozilla planet - fr, 24/07/2015 - 16:42

A warm “hello” to all our readers across SUMO and Planet Mozilla! Here we go with another round of the good, the bad, and the reminders… ;-)

Say “hello” to the newcomers!
If you joined us recently, don’t hesitate – come over and say “hi” in the forums! Contributors of the week
  • Big thanks to Safwan, Orvi, Anush and pollti for all their Kitsune fixes the last few months!
  • Kudos to pollti once again, for his mozilla.org SUMO fixes!
  • Our awesome Arabic localizers for hitting the Top 20 Firefox OS milestone!
  • Tobias for helping with the final push of getting German l10n to 100%!
 We salute you! Last Monday SUMO Community meeting Reminder: the next SUMO Community meeting…
  • …is going to take place on Monday, 27th of July. Join us!
  • If you want to add a discussion topic to upcoming the live meeting agenda:
    • Start a thread in the Community Forums, so that everyone in the community can see what will be discussed and voice their opinion here before Monday (this will make it easier to have an efficient meeting).
    • Please do so as soon as you can before the meeting, so that people have time to read, think, and reply (and also add it to the agenda).
Help needed – thank you!

Let’s work together on the script for the tutorial videos for SUMO l10n

    ! Use the “comments” feature to leave your feedback and ideas in the document.
Developers Community Support Forum Knowledge Base L10n Firefox
Firefox OS Thunderbird
  • Reminder: as of July 1st, Thunderbird is 100% Community powered and owned! You can still +needinfo Roland in Bugzilla or email him if you need his help as a consultant. He will also hang around in #tb-support-crew.

Don’t forget that we are on Twitter! And don’t forget to cool off in the heat of the cruel summer (if you happen to have one, that is). See you on Monday!

Categorieën: Mozilla-nl planet

Rede de desenvolvedores da Mozilla chega aos 10 anos com mais de 4 ... - Info - Info Online

Nieuws verzameld via Google - fr, 24/07/2015 - 16:37

Info Online

Rede de desenvolvedores da Mozilla chega aos 10 anos com mais de 4 ... - Info
Info Online
Menos de um ano depois de colocar no mercado seu browser Firefox, a Mozilla lançou na rede uma iniciativa menos focada no usuário final. A chamada Mozilla Developer Network, ou MDN, nasceu exatamente em 23 de julho de 2005, com o objetivo de ...
Mozilla Developer Network completa dez anos. Veja trajetória da plataforma de ...IT Forum 365

alle 2 nieuwsartikelen »
Categorieën: Mozilla-nl planet

Mozilla celebrates as developer network turns 10 years old | ITProPortal.com - ITProPortal

Nieuws verzameld via Google - fr, 24/07/2015 - 14:05

ITProPortal

Mozilla celebrates as developer network turns 10 years old | ITProPortal.com
ITProPortal
In February 2005 a small team of developers set out to create an open, free, community-built online resource for all Web developers. A few months later, on 23 July, 2005 the original Mozilla Developer Network wiki site launched. Since then it has ...

Categorieën: Mozilla-nl planet

Mozilla Reps Community: Reps Weekly Call – July 23th 2015

Mozilla planet - fr, 24/07/2015 - 13:16

Last Thursday we had our weekly call about the Reps program, where we talk about what’s going on in the program and what Reps have been doing during the last week.

fxos

Summary
  • Firefox OS Foxfooding.
  • Featured events.
  • Webmaker app launch in Indonesia.
AirMozilla video

Detailed notes

Shoutouts to Ahmed Nefzaoui and Yofie Setiawan (@yofiesetiawan) as the Reps of the Month!

Firefox OS Foxfooding

The Foxfooding program started as an employee initiative but it will be expanded to mozillians soon.

A good way to contribute now is check the Foxfooding dashboard and help to triage bugs, we also have an app (Triagr) to help with this login with your bugzilla user, you can install or try it. Feel free to follow @foxfooding on Twitter.

Discourse topic about Foxfooding.

There is also the B2gdroid initiative to be able to experience Gaia directly on an Android device.

Future for Firefox OS is very interesting, like NGA (New Gaia Architecture) and new features like stream apps, share apps, hack apps, share modifications (Hackerspace).

Featured events
  • Maker Party Events:
  • Kathmandu (Nepal), 25th. Rep: Surit Aryal
    • Stockholm (Sweden), 25th. Rep: Åke Nygren
    • Kanpur (India), 28th. Rep: Chandan Kumar Baba
    • Sertaozinho (Brazil), 29th. Rep: Sergio Oliveira
    • And many more events in: https://events.webmaker.org/events
  • HackDehli – New Dehli (India). 25th-26th.
  • Mozilla Hindi Community Meetup – New Dehli (India). 25th-26th
  • Firefox OS Launch week 6 in Mauritius – 25 July 2015 in the South of Mauritius at Mahebourg.
Webmaker app launch in Indonesia

The launch is going to happen in August with the training help of WilliamQ, Bobby, Paul, Kevin.

The preparation is still in progress, including localization, planning for events content.

Raw etherpad notes.

Don’t forget to comment about this call on Discourse and we hope to see you next week!

Categorieën: Mozilla-nl planet

Alex Vincent: Introducing a WebGL-DOM Visualization Tool

Mozilla planet - fr, 24/07/2015 - 09:15

Repository: https://bitbucket.org/verbosio/webgl-dom

Home page: https://alexvincent.us/webgl-dom/

tl;dr:  I have a new way of visualizing DOM trees in WebGL, and I’m looking for volunteers to improve the basic tool, especially on the WebGL side with three.js.

I’ve run into some trouble with an experimental Document Object Model.  Specifically, I’m trying to visualize it, but I’m dealing with multiple dimensions:

  • The parent-child node relationships
  • Sibling nodes
  • Attributes of DOM Element nodes
  • Atomic change sets
  • and at least two models of “shadow content”.

About four to six weeks ago, I realized I needed a tool to not only debug the DOM I’m trying to build, but to simulate new ideas that I haven’t yet implemented.  So I started building a WebGL-based visualization tool.

The tool currently has two main tasks:

  1. Transforming a XML document into a specific JSON format
  2. Generating a tree diagram in WebGL from JSON documents in the specified format

Most importantly, hand-editing this JSON should allow me to show ideas that currently cannot be done in the standard DOM.  The “WebGL Inspector sample” link from the home page shows this:  it takes only JSON as input and renders the tree.

It is very primitive right now, a mere starting point.  I’m posting this now, hoping to find a volunteer who’s more familiar with WebGL / three.js than I am to improve on the rendering parts.  The image is static:  there’s no zoom, pan, or rotation support whatsoever.  I really would like some help there.

Also, it doesn’t work in Google Chrome, but that’s because I had to specify type=”application/javascript;version=1.8” to make it work in Mozilla Firefox 39+.  (I like ECMAScript 6th edition and strict mode, thank you very much.  I just wish it worked without versioning.  I understand that’s Coming Soon.)

There is some click support:  clicking on a sphere should give details about the corresponding DOM Node, including the nodeName and nodeType.

If anyone out there likes the 3-D visualization idea and wants to reimplement it in the Firefox Developer Tools, be my guest.  Though the Tilt add-on for Firefox is more practical right now.

Categorieën: Mozilla-nl planet

Adobe Flash Player - Mozilla Jammed Adobe Flash Player - Boosh Articles - Boosh Articles

Nieuws verzameld via Google - fr, 24/07/2015 - 08:22

Boosh Articles

Adobe Flash Player - Mozilla Jammed Adobe Flash Player - Boosh Articles
Boosh Articles
Mozilla has completely jammed the Adobe Flash Player from running on its browser until any of the latest security updates of Flash satisfies Mozilla. Flash is popular software used to run videos and images on web content. However, it has seen a ...

en meer »Google Nieuws
Categorieën: Mozilla-nl planet

Nick Desaulniers: Additional C/C++ Tooling

Mozilla planet - fr, 24/07/2015 - 06:10

21st Century C by Ben Klemens was a great read. It had a section with an intro to autotools, git, and gdb. There are a few other useful tools that came to mind that I’ve used when working with C and C++ codebases. These tools are a great way to start contributing to Open Source C & C++ codebases; running these tools on the code or adding them to the codebases. A lot of these favor command line, open source utilities. See how many you are familiar with!

Build Tools CMake

The first tool I’d like to take a look at is CMake. CMake is yet another build tool; I realize how contentious it is to even discuss one of the many. From my experience working with Emscripten, we recommend the use of CMake for people writing portable C/C++ programs. CMake is able to emit Makefiles for unixes, project files for Xcode on OSX, and project files for Visual Studio on Windows. There are also a few other “generators” that you can use.

I’ve been really impressed with CMake’s modules for finding dependencies and another for fetching and building external dependencies. I think C++ needs a package manager badly, and I think CMake would be a solid foundation for one.

The syntax isn’t the greatest, but when I wanted to try to build one of my C++ projects on Windows which I know nothing about developing on, I was able to install CMake and Visual Studio and get my project building. If you can build your code on one platform, it will usually build on the others.

If you’re not worried about writing cross platform C/C++, maybe CMake is not worth the effort, but I find it useful. I wrestle with the syntax sometimes, but documentation is not bad and it’s something you deal with early on in the development of a project and hopefully never have to touch again (how I wish that were true).

Code Formatters ClangFormat

Another contentious point of concern amongst developers is code style. Big companies with lots of C++ code have documents explaining their stylistic choices. Don’t waste another hour of your life arguing about something that really doesn’t matter. ClangFormat will help you codify your style and format your code for you to match the style. Simply write the code however you want, and run the formatter on it before commiting it.

It can also emit a .clang-format file that you can commit and clang-format will automatically look for that file and use the rules codified there.

Linters Flint / Flint++

Flint is a C++ linter in use at Facebook. Since it moved from being implemented in C++ to D, I’ve had issues building it. I’ve had better luck with a fork that’s pure C++ without any of the third party dependencies Flint originally had, called Flint++. While not quite full-on static analyzers, both can be used for finding potential issues in your code ahead of time. Linters can look at individual files in isolation; you don’t have to wait for long recompiles like you would with a static analyzer.

Static Analyzers Scan-build

Scan-build is a static analyzer for C and C++ code. You build your code “through” it, then use the sibling tool scan-view to see the results. Scan-view will emit and open an html file that shows a list of the errors it detected. It will insert hyperlinks into the resulting document that step you through how certain conditions could lead to a null pointer dereference, for example. You can also save and share those html files with others in the project. Static analyzers will help you catch bugs at compile time before you run the code.

Runtime Sanitizers ASan and UBSan

Clang’s Address (ASan) and Undefined Behavior (UBSan) sanitizers are simply compiler flags that can be used to detect errors at runtime. ASan and UBSan two of the more popular tools, but there are actually a ton and more being implemented. See the list here. These sanitizers will catch bugs at runtime, so you’ll have to run the code to notice any violations, at variable runtime performance costs per sanitizer. ASan and TSan (Thread Sanitizer) made it into gcc4.8 and UBSan is in gcc4.9.

Header Analysis Include What You Use

Include What You Use (IWYU) helps you find unused or unnecessary #include preprocessor directives. It should be obvious how this can help improve compile times. IWYU can also help cut down on recompiles by recommending forward declarations under certain conditions. I look forward to the C++ module proposal being adopted, but until then this tool can help you spot cruft that can be removed.

Rapid Recompiles ccache

ccache greatly improves recompile times by caching the results of parts of the compilation process. I use when building Firefox, and it saves a great deal of time.

distcc

distcc is a distributed build system. Some folks at Mozilla speed up their Firefox builds with it.

Memory Leak Detectors Valgrind

Valgrind has a suite of tools, my favorite being memcheck for finding memory leaks. Unfortunately, it doesn’t seem to work on OSX since 10.10. This page referring to ASan seems to indicate that it can do everything Valgrind’s Memcheck can, at less of a runtime performance cost, but I’m not sure how true this is exactly.

leaks

A much more primitive tool for finding leaks from the command line, BSD’s have leaks.

1 2 3 MallocStackLogging=1 ./a.out leaks a.out ... Profilers Perf

Perf, and Brendan Gregg’s tools for emitting SVG flamegraphs from the output are helpful for finding where time is spent in a program. In fact, there are numerous perfomance analysis tools that are Linux specific. My recommendation is spend some time on Brendan Gregg’s blog.

DTrace

OSX doesn’t have the same tooling as Linux, but DTrace was ported to it. I’ve used it to find sampling profiles of my code before. Again, Brendan Gregg’s blog is a good resource; there are some fantastic DTrace one liners.

Debuggers lldb

lldb is analogous to gdb. I can’t say I have enough experience with LLDB and GDB to note the difference between the two, but LLDB did show the relative statements forward and back from the current statement by default. I’m informed by my friends/mortal enemies using emacs that this is less of an issue when using emacs/gdb in combination.

Fuzzers American Fuzzy Lop

American Fuzzy Lop (AFL) is a neat program that performs fuzzing on programs that take inputs from files and repeatedly runs the program, modifies the input trying to get full code coverage, and tries to find crashes. It’s been getting lots of attention lately, and while I haven’t used it myself yet, it seems like a very powerful tool. Mozilla employs the use of fuzzers on their JavaScript engine, for instance (not AFL, but one developed in house).

Disassemblers gobjdump

If you really need to make sure the higher level code you’re writing is getting translated into the assembly your expecting, gobjdump -S will intermix the emitted binary’s disassembled assembly and the source code. This was used extensively while developing my Brainfuck JIT.

Conclusion

Hopefully you learned of some useful tools that you should know about when working with C or C++. What did I miss?

Categorieën: Mozilla-nl planet

Mike Hommey: Firefox nightlies for Linux are now using Gtk+3

Mozilla planet - fr, 24/07/2015 - 02:25

As of last nightly (2015-07-23), Firefox for Linux is using Gtk+3 instead of Gtk+2.

Thanks to the recent efforts of Andrew Comminos, all remaining test failures are gone and mozilla-central now defaults to Gtk+3 builds. Some jobs on treeherder are still not converted, but this will come soon (bug 1186748).

If you’ve been using elm builds for dogfooding, you should be automatically switched to standard nightlies today or tomorrow. The elm branch will be recycled to do Gtk+2 builds so that they keep working. Those builds won’t be auto-updating, so don’t use them.

Categorieën: Mozilla-nl planet

Joel Maher: lost in data – episode 1, tackling a bunch of alerts

Mozilla planet - fr, 24/07/2015 - 01:22

Today I recorded a session of me investigating talos alerts, It is ~35 minutes, sort of long, but doable in the background whilst grabbing breakfast or lunch!

I am looking forward to more sessions and answering questions that come up.


Categorieën: Mozilla-nl planet

Air Mozilla: Lost in Data with Joel Maher - Episode 1

Mozilla planet - to, 23/07/2015 - 23:50

Lost in Data with Joel Maher - Episode 1 Taking a stab at the incoming alerts

Categorieën: Mozilla-nl planet

David Burns: Microsoft ship a WebDriver implementation

Mozilla planet - to, 23/07/2015 - 22:19

Microsoft, the people still claim to be evil (who are actually big proponents of the the The Open Web), have... (wait for it...) SHIPPED. AN. IMPLEMENTATION. OF. WEBDRIVER!

At GTAC in California in 2011, Simon Stewart and I discussed that the Selenium project was at a crossroads (I am pretty sure beer was involved). We could ,and should, move this to the browser vendors. We had seen how in April the Chrome team had shipped their implementation and the Selenium project then deleted its implementation. I am pretty sure Daniel (Wagner-Hall) was glad to see it go.

In that time to now we have seen Mozilla get Marionette into Firefox and into release branches since Firefox 24 while slowly working on it (as well as Firefox OS support). We have seen Blackberry ship a version for the browser on their devices. We have seen mobile implementation with iOS-Driver, Selendroid and Appium.

The Spec is on track to be put forward for Recommendation by the end of the year. All the dreams that we (the Selenium Development team (my BFFs)) had are slowly coming true. This ship might be slow moving but it's mostly because some companies haven't always seen the value.

so...

.@kylealden I raise a drink to the @MSEdgeDev team (esp @thejohnjansen) for helping make this happen @jimevansmusic pic.twitter.com/eBxdpNNqPC

— David Burns (@AutomatedTester) July 23, 2015

P.s. There is an open bug on the WebKit tracker for Safari support (and it is getting some internal push so I am hopeful!)

Categorieën: Mozilla-nl planet

Pages