Tobias Markus: MozCamp invitation only for contributors who comply with the Grow Mozilla initiative? |
|
Peter Bengtsson: HTML Tree on Hacker News |
On Friday I did a Show HN and got featured on the front page for HTML Tree.
Amazingly, out of the 3,858 visitors (according to Google Analytics today) 2,034 URLs were submitted and tested on the app. Clearly a lot of people just clicked the example submission but out of those 1,634 were unique. Granted, some people submitted more than one URL but I think a large majority of people came up with a URL of their own to try. Isn't that amazing! What a turnout of a Friday afternoon hack (with some Sunday night hacking to make it into a decent looking website).
The lesson to learn here is that the Hacker News crowd is excellent for getting engagement. Yes, there are a lot of blather and almost repetitive submissions but by and large it's a very engaging community. Suck on that those who make fun of HN!
|
Jared Wein: New in Firefox Nightly: In-content Preferences |
I’m happy to announce that starting today, the new in-content preferences are enabled by default in Firefox Nightly.
This project was started by a group of students at Michigan State University and was mentored by Blair McBride and myself. Since its start, it has continued to get a ton of attention from contributors world-wide.
This is a list of people who have contributed patches to the in-content preferences as of this posting:
There is still a lot of work to be done before shipping the new in-content preferences out to people on the release builds of Firefox. That also means that this long list of contributors doesn’t have to stay at 59 people, it can keep growing :)
We have a list of bugs that we need to fix before we can call version 1 of this project complete. The easiest way for someone new to help out is to download Firefox Nightly and help test that the new preferences work just as well as the old preferences. If you find an issue and see that it hasn’t already been reported, please file a new bug in Bugzilla and leave a comment on this blog post with a link to the bug that you filed.
http://msujaws.wordpress.com/2014/05/18/in-content-preferences/
|
Priyanka Nag: MozCamp India 2014...a few FAQs answered here |
http://priyankaivy.blogspot.com/2014/05/mozcamp-india-2014a-few-faqs-answered.html
|
Nick Cameron: Rust for C++ programmers - part 6: Rc, Gc, and * pointers |
use std::rc::Rc;Ref counted pointers are always immutable. If you want a mutable ref-counted object you need to use a RefCell (or Cell) wrapped in an `Rc`.
fn bar(x: Rc) { }
fn baz(x: &int) { }
fn foo() {
let x = Rc::new(45);
bar(x.clone()); // Increments the ref-count
baz(&*x); // Does not increment
println!("{}", 100 - *x);
} // Once this scope closes, all Rc pointers are gone, so ref-count == 0
// and the memory will be deleted.
use std::gc::Gc;
fn bar(x: Gc) { }
fn baz(x: &int) { }
fn foo() {
let x = Gc::new(45);
bar(x);
baz(x.borrow());
println!("{}", 100 - *x.borrow());
}
fn foo() {
let x = 5;
let xp: *int = &5;
println!("x+5={}", add_5(xp));
}
fn add_5(p: *int) -> int {
unsafe {
if !p.is_null() { // Note that *-pointers do not auto-deref, so this is
// a method implemented on *int, not int.
*p + 5
} else {
-1 // Not a recommended error handling strategy.
}
}
}
http://featherweightmusings.blogspot.com/2014/05/rust-for-c-programmers-part-6-rc-gc-and.html
|
Ben Hearsum: This week in Mozilla RelEng – May 16th, 2014 |
Major highlights:
Completed work (resolution is ‘FIXED’):
In progress work (unresolved and not assigned to nobody):
http://hearsum.ca/blog/this-week-in-mozilla-releng-may-16th-2014/
|
Kim Moir: 20 years on the web |
http://relengofthenerds.blogspot.com/2014/05/20-years-on-web.html
|
Kim Moir: Release Engineering Special Issue |
![]() |
A different type of mobile farm ©Suzie Tremmel, https://flic.kr/p/6tQ3H Creative Commons by-nc-sa 2.0 |
http://relengofthenerds.blogspot.com/2014/05/release-engineering-special-issue.html
|
Nikhil Marathe: ServiceWorker implementation status in Firefox |
curl -vX PUT 'URL'
http://blog.nikhilism.com/2014/05/serviceworker-implementation-status-in-firefox.html
|
Roberto A. Vitillo: Using Telemetry to recommend Add-ons for Firefox |
This post is about the beauty of a simple mathematical theorem and its applications in logic, machine learning and signal processing: Bayes’ theorem. During the way we will develop a simple recommender engine for Firefox add-ons based on data from Telemetry and reconstruct a signal from a noisy channel.
tl;dr: If you couldn’t care less about mathematical beauty and probabilities, just have a look at the recommender system.
Often the problem we are trying to solve can be reduced to determining the probability of an hypothesis H, given that we have observed data D and have some knowledge of the way the data was generated. In mathematical form:
Where P(D|H) is the likelihood of the data D given our hypothesis H, i.e. how likely it is to see data D given that our hypothesis H is true, and P(H) is the prior belief about H, i.e. how likely our hypothesis H is true in the first place.
That’s all there is, check out my last post to see a basic application of the theorem to find out why many science research findings based purely on statistical inference turn out later to be false.
Logic
According to logic, from the statement “if A is true then B is true” we can deduce that “if B is false then A is false”. This can be proven simply by using a truth table or probabilistic reasoning:
where
So we can see that probabilistic reasoning can be applied to make logical deductions, i.e. deductive logic can be seen as nothing more than a limiting case of probabilistic reasoning, where probabilities take only values of 0 or 1.
Recommender Engine
Telemetry submissions contain the IDs of the add-ons of our users. Note that Telemetry is opt-in for our release builds so we don’t collect data if you don’t grant us explicitly permission to do so.
We might be interested in answering the following question: given that a user has the add-ons , what’s the probability that the user also has add-on B? We could then use the answer to suggest new add-ons to users that don’t possess B but have
. So let’s use Bayes theorem to derive our probabilities. What we are after is the following probability:
eq. 1
which corresponds to the ratio between Telemetry submissions that contain and the submissions that contain all those add-ons but B. Note that if
then obviously eq. 1 is going have a value of 1 and it isn’t of interest, so we assume that
Since the denominator is constant for any B, we don’t really care about it.
eq. 2
Say we want to be smart and precompute all possible probabilities in order to avoid the work for each request. It’s going to be pretty slow considering that the number of possible subsets of N add-ons is exponential.
If we make the naive assumptions that the add-ons are conditionally independent, i.e. that
we can rewrite eq. 2 like so
Awesome, this means that once we calculate the probabilities
where is the total number of add-ons in the universe, we have everything we need to calculate eq. 2 with just
multiplications.
If we perform this calculation for every possible add-on B and return the add-on for which the equation is maximized, then we can make a reasonable suggestion. Follow the link to play with a simple recommendation engine that does exactly this.
Keep in mind that I didn’t spend time cleaning up the dataset from non interesting add-ons like Norton Toolbar, etc. The reason those add-ons show up is simply because a very large fraction of the population has them.
Signal Processing
Say we send a signal over a noisy channel and at the other end we would like to reconstruct the original signal by removing the noise. Let’s assume our original signal has the following form
where is the amplitude,
is the frequency and
is the phase. The i-th sample that we get on the other side of the channel is corrupted by some random noise
:
where ,
,
,
and
are random variables and
i.e. we assume the variance of the noise is the same for all samples.
Since we have some knowledge of how the data was generated, let’s see if we can apply Bayes’ theorem. We have a continuous number of possible hypothesis, one for each combination of the amplitude, frequency, phase and variance.
where the functions are probability density functions.
We are trying to find the quadruplet of values that maximizes the expression above so we don’t really care about the denominator since it’s constant. If we make the reasonable assumption that ,
,
and
are independent then
where ,
,
and
are our priors and since we don’t know much about them let’s assume that each one of them can be modeled as an Uniform distribution.
Assuming the measurements are independent from each other, the likelihood function for the vector of measurements is
Now we just have to specify our likelihood function for a single measurement, but since we have an idea of how the data was generated, we can do that easily
To compute the posterior distributions of our random variables given a series of measurements performed at the other end of the line, let’s use a Monte Carlo method with the python library pymc. As you can see from IPython notebook, it’s extremely easy to write and evaluate computationally a probabilistic model.
Final Thoughts
We have seen that Bayesian inference can be applied successfully in seemingly unrelated fields. Even though there are better suited techniques for logic, recommender systems and signal processing, it’s still interesting to see how such a simple theorem can have so many applications.
http://ravitillo.wordpress.com/2014/05/16/using-telemetry-to-recommend-add-ons-for-firefox/
|
Joel Maher: Some thoughts on being a good mentor |
I have done a good deal of mentored bugs as well as mentoring new Mozillians (gsoc, interns, employees) on their journey. I would like to share a few things which I have found that make things easier. Most of this might seem like common sense, but I find it so easy to overlook little details and forget things.
With those things said, just try to put yourself in the shoes of a new Mozillian. Would you want honest feedback? Would you want to feel part of the larger community?
Being a good mentor should be rewarding (the majority of the time) and result in great Mozillians who people enjoy working with.
Lets continue to grow Mozilla!
http://elvis314.wordpress.com/2014/05/16/some-thoughts-on-being-a-good-mentor/
|
Leo McArdle: Mozilla & DRM |
Most people’s reaction to the Mozilla & DRM debacle makes me want to firmly and repeatedly smash my head against my desk - not a great idea when I’m surrounded by exams. I’ll outline why in a minute, but first, if you haven’t already, you really should go and read both Mitchell’s post on the Mozilla blog and Andreas’ post on the Mozilla Hacks blog.
Done? Good. Now for the things that make me want to hit myself over the head:
Most of the criticism comes from people who haven’t been bothered to go and read what Mozilla’s written about the issue (or just suck at it). If these people had, we’d have no complaints of Mozilla forcing users to use DRM, bundling proprietary code, or ‘giving up’ on user’s freedom and rights.
As you know from reading those two posts, essentially all that is happening is Adobe’s CDM is going to be implemented as an optional, monitored, special-type-of-plugin.
I’d say it’s no different from Flash, but it is going to be different. It’s going to be more secure, and presumably less buggy (being a ‘feature’ of Firefox). Once Firefox implements EME, there’s really no reason for Flash or Silverlight to continue to exist. Sure, this setup sucks. But I think Flash sucks more.
As for ‘giving up’: Mozilla can only be influential if it has influence. The primary source of Mozilla’s influence is the number of people using Firefox, which isn’t currently very big. Not implementing EME won’t help that. As others have said, this is not the hill to die on.
This all leads nicely onto my second point:
One of the best Tweets I found on the issue was somebody threatening to switch to Google Chrome because of this. I think the irony here is clear.
Yet, what astounds me more is not people threatening to switch, but people already using Chrome who want Mozilla to protect their rights.
Google is a for-profit company which exists to exploit users data. It’s collaborated with the NSA. It’s helped to lead the charge with Microsoft and Netflix for EME. Why on Earth, then, would you give Google support by using Chrome?
This may seem hypocritical from someone who uses Google’s services. Yet Google Search, Maps, Android (and so-on) are unparalleled. Chrome isn’t.
The single easiest thing you can do to support Mozilla is to use Firefox. It gives Mozilla the influence it needs to fight.
I hate DRM as much as the next guy and I think copyright is fundamentally broken - it’s why I’m a member of the Pirate Party, it’s why I donate to ORG and EFF, and it’s through these avenues I expect to see real change.
Mozilla can only change the industry with user support. And users don’t care about DRM, they only care that video works. We clearly saw this with WebM and H.264.
There’s work to be done, but it can’t be done if Mozilla loses its influence, and it can only be done with the support (not ire) of other organisations.
Users want DRM. We should give them DRM. That doesn’t mean Mozilla supports DRM, and it doesn’t mean Mozilla can’t educate users about what DRM means (and there are some very good signs of that being bundled into Webmaker soon).
Don’t be disappointed in Mozilla.
Be disappointed in Google, Microsoft and Apple for implementing this first, and forcing Mozilla’s hand.
Be disappointed in Netflix and its friends (including, surprisingly, the BBC!) calling for DRM.
Be disappointed in your elected representatives creating an environment where it is potentially illegal to say specific things about DRM.
Now go out, educate users about what DRM means, and why it’s bad. Use Firefox, and donate time or money to Mozilla to give it the influence it needs. Support organisations (such as EFF, ORG, FSF, FSFE) and political parties who represent your views on DRM and Copyright reform.
This is by no means the end of the battle over DRM and Copyright - it’s just the beginning.
|
Mic Berman: Two Steps to Getting Better Organized |
Recently I learned, through ClearFit’s ‘job-fit’ profiling tool that being organized is not my strength - anyone who knows me might be surprised by this. I mean I manage my life by lists, I tend towards being OCD the day before a vacation, or running an event, and my filing systems are beautiful! Well it turns out that these are all coping mechanisms for naturally *not* being organized. If I was naturally so - this would simply flow effortlessly.
As a Leadership Coach - I have the advantage of hearing about this common problem from many vantage points. There is not one client I’ve had, from the C-suite on down who doesn’t struggle with this same thing. There are an amazing plethora of books dedicated to this topic and my favourite first foundational tool is Covey’s First Things First. This book is my go-to on this topic because he uses a super simple model that’s easy to remember and apply for any list of priorities. But when I am feeling particularly overwhelmed or stuck in the choice modality, I turn to the two action steps I share below
So, from the ‘trenches’, here is a dead simple 2-step daily practice. And the key to the success of this approach is daily practice!
Step 1 - Each morning take a few minutes to yourself to sit quietly and answer two questions: What is most important today to focus on? How do you want to show up for the people you will be meeting?
I do this sometimes in the car while waiting for the engine to warm up in winter - I close my eyes, and take some nice slow and deep breaths
My favourite version of this practice, is to take 15 minutes and mediate in my cozy been bag chair ideally in the morning sunrise light and find the answer to these questions before my time is done
Step 2 - When you get that 'overwhelm' feeling take 3 deep - and I mean deep - breaths. Then decide what is most important in that moment. And/or go for a walk around the block - essentially you want to get in touch with your physical being.
Bonus step - find an activity that works for you in practicing that brain/body connection eg,Yoga, TaiChi, Basketball, Running, whatever will do it for you.
So, what's working for you?
Comment below or tweet me @micberman
http://michalberman.typepad.com/my_weblog/2014/05/two-steps-to-getting-better-organized.html
|
Mozilla Reps Community: Rep Of The Month : May 2014 – Nino Vranesic |
When Nino joined the Mozilla community, he didn’t spend much time talking, asking questions and thinking about how he could start contributing. Instead, he already applied for Mozilla Student Reps (today known as Firefox Student Ambassadors) and started acting by organising a local Open Source conference, with strong presence from Mozilla.
Passionate about free and open technologies, Nino continues to be the driving force behind the event (Open Way), which is growing every year and has just completed its 4th incarnation. As the main community builder of the Mozilla Slovenija community, he made sure the New Firefox release party was part of the conference, too.
Nino is a kind of a person you want on your team: he gets things done.
https://blog.mozilla.org/mozillareps/2014/05/15/rep-of-the-month-may-2014-nino-vranesic/
|
Joel Maher: Are there any trends in our Talos regression bugs? |
Now that we have a better process for taking action on Talos alerts and pushing them to resolution, it is time to take a step back and see if any trends show up in our bugs.
First I want to look at bugs filed/week:
This is fun to see, now what if we stack this up side by side with the alerts we receive:
We started tracking alerts halfway through this process. We show that for about 1 out of every 25 alerts we file a bug. I had previously stated it was closer to 1/33 alerts (it appears that is averaging out the first few weeks).
Lets see where these bugs are filed, here is a view of the different bugzilla products:
The Testing product is used to file bugs that we cannot figure out the exact changeset, so they get filed in testing::talos. As there are almost 30 unique components bugs are filed in, I took a few minutes to look at the Core product, here is where the bugs live in Core:
Pardon my bad graphing attempt here with the components cut off. Graphics is the clear winner for regressions (with “graphics: layers” being a large part of it). Of course the Javascript Engine and DOM would be there (a lot of our tests are sensitive to changes here). This really shows where our test coverage is more than where bad code lives.
Now that I know where the bugs are, here is a view of how long the bugs stay open:
The fantastic news is most of our bugs are resolved in <=15 days! I think this is a metric we can track and get better at- ideally closing all Talos regression bugs in <30 days.
Looking over all the bugs we have, what is the status of them?
Yay for the blue pacman! We have a lot of new bugs instead of assigned bugs, that might be something we could adjust and assign owners once it is confirmed and briefly discussed- that is still up in the air.
The burning question is what are all the bugs resolved as?
To me this seems healthy, it is a starting point. Tracking this over time will probably be a useful metric!
In summary, many developers have done great work to make improvements and fix patches over the last 6 months that we have been tracking this information. There are things we can do better, I want to know-
What information provided today is useful to track regularly?
Is there something you would rather see?
http://elvis314.wordpress.com/2014/05/15/are-there-any-trends-in-our-talos-regression-bugs/
|
David Boswell: Connecting with more people interested in contributing |
To increase the number of active contributors by 10x this year, we’re going to need to connect with more people interested in contributing. I’m excited that the Community Building team has helped reboot a couple of things that will let us do that.
Nightly builds used to bring up a page with information about how to help test Firefox, but it had been turned off about a year ago because the page was not being maintained. The page is now back on and we’re already seeing an increase in traffic.
We’ve taken a first pass at updating the Nightly First Run and What’s New page and are working on a larger redesign to get relevant contribution information in front of people who are interested in testing, developing and localizing Firefox.
We’ve also been working with Community Engagement to bring back the about:mozilla newsletter which has over 60,000 people who have signed up to receive regular contribution opportunities and news from us.
The first issue since October is coming out this week and new issues will be coming out every two weeks (sign up for the newsletter on the Get Involved page). We’re also making it easier for you to submit timely contribution opportunities that we can feature in future issues.
These are just a couple of the ways that we have to connect with people interested in contributing to Mozilla. We’re putting better documentation together to make it easy to tap into all of the ways to connect with new contributors.
If you have questions about any of this or would like to get help with bringing new contributors into your project, feel free to get in touch and we’ll be happy to work with you.
|
Adam Lofting: Contributor Dashboard Status Update (‘busy work’?) |
While I’m always itching to get on with doing the work that needs doing, I’ve spent this morning writing about it instead. Part of me hates this, but another realizes this is valuable. Especially when you’re working remotely and the project status in your head is of no use to your colleagues scattered around the globe.
So here’s the updated status page on our Mozilla Foundation Contributor Dashboard, and some progress on my ‘working open‘.
Filing bugs, linking them to each other, and editing wiki pages can be tedious work (especially wiki tables that link to bugs!) but the end result is very helpful, for me as well as those following and contributing to the project.
And a hat-tip to Pierros, whose hard-work on the project Baloo wiki page directly inspired the formatting here.
Now, back to doing!
http://feedproxy.google.com/~r/adamlofting/blog/~3/Hd27d4tMEk8/
|
Gervase Markham: To Serve Users |
My honourable friend Bradley Kuhn thinks Mozilla should serve its users by refusing to give them what they want.
[Clarificatory update: I wrote this post before I'd seen the official FSF position; the below was a musing on the actions of the area of our community to which Bradley ideologically belongs, not an attempt to imply he speaks for the FSF or wrote their opinion. Apologies if that was not clear. And I'm a big fan of (and member of) the FSF; the below criticisms were voiced by private mail at the time.]
One weakness I have seen in the FSF, in things like the PlayOgg and PDFReaders campaigns, is that they think that lecturing someone about what they should want rather than (or before) giving them what they do want is a winning strategy. Both of the websites for those campaigns started with large blocks of text so that the user couldn’t possibly avoid finding out exactly what the FSF position was in detail before actually getting their PDF reader or playback software. (Notably missing from the campaigns, incidentally, were any sense that the usability of the recommended software was at all a relevant factor.)
Bradley’s suggestion is that, instead of letting users watch the movies they want to watch, we should lecture them about how they shouldn’t want it – or should refuse to watch them until Hollywood changes its tune on DRM. I think this would have about as much success as PlayOgg and PDFReaders (link:pdfreaders.org: 821 results).
It’s certainly true that Mozilla has a different stance here. We have influence because we have market share, and so preserving and increasing that market share is an important goal – and one that’s difficult to attain. And we think our stance has worked rather well; over the years, the Mozilla project has been a force for good on the web that other organizations, for whatever reason, have not managed to be. But we aren’t invincible – we don’t win every time. We didn’t win on H.264, although the deal with Cisco to drive the cost of support to $0 everywhere at least allowed us to live to fight another day. And we haven’t, yet, managed to find a way to win on DRM. The question is: is software DRM on the desktop the issue we should die on a hill over? We don’t think so.
Bradley accuses us of selling out on our principles regarding preserving the open web. But making a DRM-free web is not within our power at the moment. Our choice is not between “DRM on the web” and “no DRM on the web”, it’s between “allow users to watch DRMed videos” and “prevent users from watching DRMed videos”. And we think the latter is a long-term losing strategy, not just for the fight on DRM (if Firefox didn’t exist, would our chances of a DRM-free web be greater?), but for all the other things Mozilla is working for. (BTW, Mitchell’s post does not call open source “merely an approach”, it calls it “Mozilla’s fundamental approach”. That’s a pretty big misrepresentation.)
Accusing someone of having no principles because they don’t always get their way when competing in markets where they are massively outweighed is unfair. Bradley would have us slide into irrelevance rather than allow users to continue to watch DRMed movies in Firefox. He’s welcome to recommend that course of action, but we aren’t going to take it.
http://feedproxy.google.com/~r/HackingForChrist/~3/g_fnoepF6N8/
|
Chris Double: Firefox Development on NixOS |
Now that I’ve got NixOS installed I needed a way to build and make changes to Firefox and Firefox OS. This post goes through the approach I’ve taken to work on the Firefox codebase. In a later post I’ll build on this to do Firefox OS development.
Building Firefox isn’t difficult as NixOS has definitions for standard Firefox builds to follow as examples. To build from a local source repository it requires all the pre-requisite packages to be installed. I don’t want to pollute my local user environment with all these packages though as I develop on other things which may have version clashes. As an example, Firefox requires autoconf-2.13
whereas other systems I develop with require different verisons.
NixOS (through the Nix package manager) allows setting up build environments that contain specific packages and versions. Switching between these is easy. The file ~/.nixpkgs/config.nix
can contain definitions specific for a user. I add the definitions as a packageOverride
in this file. The structure of the file looks like:
{
packageOverrides = pkgs : with pkgs; rec {
..new definitions here..
};
}
My definition for a build environment for Firefox is:
firefoxEnv = pkgs.myEnvFun {
name = "firefoxEnv";
buildInputs = [ stdenv pkgconfig gtk glib gobjectIntrospection
dbus_libs dbus_glib alsaLib gcc xlibs.libXrender
xlibs.libX11 xlibs.libXext xlibs.libXft xlibs.libXt
ats pango freetype fontconfig gdk_pixbuf cairo python
git autoconf213 unzip zip yasm alsaLib dbus_libs which atk
gstreamer gst_plugins_base pulseaudio
];
extraCmds = ''
export C_INCLUDE_PATH=${dbus_libs}/include/dbus-1.0:${dbus_libs}/lib/dbus-1.0/include
export CPLUS_INCLUDE_PATH=${dbus_libs}/include/dbus-1.0:${dbus_libs}/lib/dbus-1.0/include
LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:${gcc.gcc}/lib64
for i in $nativeBuildInputs; do
LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:\$i/lib
done
export LD_LIBRARY_PATH
export AUTOCONF=autoconf
'';
};
The Nix function pkgs.myEnvFun
creates a program that can be run by the user to set up the environment such that the listed packages are available. This is done using symlinks and environment variables. The resulting shell can then be used for normal development. By creating special environments for development tasks it becomes possible to build with different versions of packages. For example, replace gcc
with gcc46
and the environment will use that C compiler version. Environments for different versions of pango, gstreamer and other libraries can easily be created for testing Firefox builds with those specific versions.
The buildInputs
field contains an array of the packages to be avaliable. These are all the pre-requisites as listed in the Mozilla build documentation. This could be modified by adding developer tools to be used (Vim, Emacs, Mercurial, etc) if desired.
When creating definitions that have a build product Nix will arrange the dynamic loader and paths to link to the correct versions of the libraries so that they can be found at runtime. When building an environment we need to change LD_LIBRARY_PATH
to include the paths to the libraries for all the packages we are using. This is what the extraCmds
section does. It is a shell script that is run to setup additional things for the environment.
The extraCmds
in this definition adds to LD_LIBRARY_PATH
the lib
directory of all the packages in buildInputs
. It exports an AUTOCONF
environment variable to be the autoconf
executable we are using. This variable is used in the Mozilla build system to find autoconf-2.13
. It also adds to the C and C++ include path to find the DBus libraries which are in a nested dbus-1.0
directory.
To build and install this new package use nix-env
:
$ nix-env -i env-firefoxEnv
Running the resulting load-env-firefoxEnv
command will create a shell environment that can be used to build Firefox:
$ load-env-firefoxEnv
...
env-firefoxEnv loaded
$ git clone git://github.com/mozilla/gecko-dev
...
$ cd gecko-dev
$ ./mach build
Exiting the shell will remove access to the pre-requisite libraries and tools needed to build Firefox. This keeps your global user environment free and minimizes the chance of clashes.
http://bluishcoder.co.nz/2014/05/15/firefox-development-on-nixos.html
|
Benjamin Kerensa: On DRM and Firefox |
There has been a lot of criticism of Mozilla’s decision to move forward in implementing W3C EME, a web standard that the standards body has been working on for some time. While it is understandable that many are upset and believe that Mozilla is not honoring its values, the truth is there really is no other decision Mozilla can make while continuing to compete with other browsers.
The fact is, nearly 30% of Internet traffic today is Netflix, and Netflix is one of the content publishers pushing for this change along with other big names. If Mozilla were to choose not to implement this web standard, it would leave a significant portion of users with inability to access some of the locked content the a majority of users desire. A good portion of users would likely make a decision to leave Firefox rather quickly if this was not implemented and they were locked out.
So with that reality in mind, Mozilla has a choice to support this standard (which is not something the organization necessarily enjoys) or to not support it and lose much of its user base and have a very uncertain future.
“By open-sourcing the sandbox that limits the Adobe software’s access to the system, Mozilla is making it auditable and verifiable. This is a much better deal than users will get out of any of the rival browsers, like Safari, Chrome and Internet Explorer, and it is a meaningful and substantial difference.” – Cory Doctorow, The Guardian
The best thing that can be done right now is for users who are unhappy with the decision to continue to support Mozilla which will continue to fight for an open web. Users should also be vocal to the W3C and content publishers that are responsible for this web standard.
In closing Ben Moskowitz also wrote a great blog post on this topic explaining quite more in depth why Mozilla is in this position.
http://feedproxy.google.com/~r/BenjaminKerensaDotComMozilla/~3/c_Q9eW1_Jco/drm-firefox
|