Mozilla Nederland LogoDe Nederlandse

Abonneren op feed Mozilla planet
Planet Mozilla -
Bijgewerkt: 1 dag 4 uur geleden

Kim Moir: Mozilla pushes - February 2015

di, 17/03/2015 - 16:54
Here's February's 2015 monthly analysis of the pushes to our Mozilla development trees. You can load the data as an HTML page or as a json file.

Although February is a shorter month, the number of pushes were close to those recorded in the previous month.  We had a higher average number of daily pushes (358) than in January (348).

10015 pushes
358 pushes/day (average)
Highest number of pushes/day: 574 pushes on Feb 25, 2015
23.18 pushes/hour (highest)

General Remarks
Try had around 46% of all the pushes
The three integration repositories (fx-team, mozilla-inbound and b2g-inbound) account around 22% of all the pushes

August 2014 was the month with most pushes (13090  pushes)
August 2014 has the highest pushes/day average with 422 pushes/day
July 2014 has the highest average of "pushes-per-hour" with 23.51 pushes/hour
October 8, 2014 had the highest number of pushes in one day with 715 pushes 

Categorieën: Mozilla-nl planet

Soledad Penades: Install to ADB: installing packaged Firefox OS apps to USB connected phones (using ADB)

di, 17/03/2015 - 14:25

I abhor repetition, so I’m always looking for opportunities to improve my processes. Spending a bit of time early on can save you so much time on the long run!

If you’re trying to build something that can only run in devices (for example, apps that use WiFi direct), pushing updates gets boring really quickly: with WebIDE you have to select each USB device manually and then initiate the push.

So I decided I would optimise this because I wanted to focus on writing software, not clicking on dropdowns and etc.

And thus after a bit of research I can finally show install-to-adb:

In the video you can see how I’m pushing the same app to two Flame phones, both of them connected with USB to my laptop. The whole process is a node.js script (and a bunch of modules!).

The module is not in npm yet so to install it:

npm install git+

And then to deploy an app to your devices, just pass in the app path, and it will do its magic:

var installToADB = require('install-to-adb');

installToADB('/path/to/packaged/app').then(function(result) {
    console.log('result', result);

Guillaume thinks this is WITCHCRAFT!

@supersole WITCHCRAFT!!

— Guillaume Marty (@g_marty) March 17, 2015

… and I wouldn’t blame him!

But it is actually just the beauty of port forwarding. What installToADB does is enumerate all connected ADB devices, then set up port forwarding so each device appears as a port in localhost, and then from there it’s just the same process as pushing to a simulator or any other firefox client: we connect, get a client object, and install the app using said client. That’s it!

Other artifacts

One of my favourite parts of writing code is when you refactor parts out and end up producing a ton of interesting artifacts that can be used everywhere else! In this case I built two other modules that can come in handy if you’re doing app development.


This is a module that uses a bunch of other node-firefox modules. It’s essentially syntactic sugar (or modular sugar?) to push an app to a client. In the process it will make sure there are no more copies of it installed, and also will return you the app once it’s installed, so you can do things such as launching it or any other thing you feel like doing.

Using it is similar to using other node-firefox modules:

pushApp(client, appPath);

and it returns a promise, so you can chain things together!

It’s not on npm, so…

npm install --save git+ sample-packaged-app

I also noticed that I kept copying and pasting the same sample app for each demo and that is a big code smell. So I made another npm module that gives you a sample packaged app. Once you install it:

npm install --save git+

you can then access its contents via node_modules/sample-packaged-app. In node code, you could build its full path with this:

var path = require('path');
var appPath = path.join(__dirname, 'node_modules', 'sample-packaged-app');

and then use it for example with installToADB :-)

Not in node-firefox and not on npm?

You might have surely noticed that these modules are not in node-firefox or in npm. That’s because they are at a super proof of concept stage, and that’s why they are not even named with a node-firefox- prefix.

On the other hand I’m pretty sure there’s people who would appreciate being able to optimise their processes today, and nothing stops them from installing the modules from my repositories.

Once the modules become ‘official’, they’ll be published to npm and updating the code should be fairly easy, and I will transfer the repositories to the mozilla organisation so GitHub will take care of redirecting people to the right place.

Hope you enjoy your new streamlined process! ;-)

flattr this!

Categorieën: Mozilla-nl planet

Mozilla Release Management Team: Firefox mobile 36.0.1 to to 36.0.2

di, 17/03/2015 - 10:48

A mobile only release. The main driver for this release is a fix for a startup crash on HTC One M8 devices (Verizon) with Android 5.0.1. We took also as ride along two patches. The first one will help the diagnostic of a crash, the second fix a crash with Flash videos.

Official release notes

  • 4 changesets
  • 7 files changed
  • 46 insertions
  • 42 deletions

ExtensionOccurrences java4 txt2 sh1

ModuleOccurrences mobile5 config1 browser1

List of changesets:

Eugen SawinBug 1051556 - Simplify GeckoEditable exception messages. r=snorp, a=sledru - f91f9947247a James WillcoxBug 1140830 - Don't try to use a null JSONObject in SiteIdentity.update(). r=rnewman, a=sledru - 050698a3df5e James WillcoxBug 1118216 - Stop recycling Message instances, as it's unnecessary. r=rnewman, a=sledru - a541bb82052f James WillcoxBug 1142459 - Fix mixed content shield notification broke by Bug 1140830. r=rnewman, a=sledru - 7c51bb7366b3

Categorieën: Mozilla-nl planet

Carsten Book: Please take part in the Sheriff Survey

di, 17/03/2015 - 10:20


When we moved to the “inbound” model of tree management, the Tree Sheriffs became a crucial part of our engineering infrastructure. The primary responsibility of the Sheriffs is and will always be to aid developers to easily, quickly, and seamlessly land their code in the proper location(s) and ensure that code does not break our automated tests. In the service of this objective, the Sheriffs work closely with the larger engineering organization to create and enforce landing policies that increase productivity while maintaining an efficient and robust automated testing system. Beyond the policy role, they have also become shepherds of automation quality by monitoring intermittent failures, performing uplifts and merges, and identifying poorly performing automation machines. This role has proven successful, and so a formal module for the Tree Sheriffs in the larger context of the Activities Module was created.

But of course there is always room for improvements and ideas how we can make things better. In order to get a picture from our Community how things went and how we can improve our day-to day-work.

So we created the Sheriff Survey here -> Thanks for taking part in that!

– The Mozilla Tree Sheriffs!

Categorieën: Mozilla-nl planet

Byron Jones: happy bmo push day!

di, 17/03/2015 - 09:29

the following changes have been pushed to

  • [1139872] The URL in bugmail microdata has the ‘#’ URI encoded, causing the links to break
  • [1140764] “suggested reviewers” menu overflows from visible area if there are many reviewers.
  • [1141440] OPTION response for CORS requests to REST doesn’t allow X-Bugzilla headers
  • [1143160] A review comment on bug 1131776 breaks splinter
  • [1141452] Adjustment on the project flags (blocking-b2g and tracking-b2g)
  • [1142399] invalid xmlrpc requests warns: Use of uninitialized value $file in substitution (s///) (Bugzilla/WebService/Server/
  • [1132963] Automatically detect and redirect to Google doc URLs (akin to github-pr and rb handling)
  • [1143536] product dashboard doesn’t honour product visibility
  • [1143753] Update to Mozilla Recruiting Requisition Opening Process Template

discuss these changes on

Filed under: bmo, mozilla
Categorieën: Mozilla-nl planet

Mike Taylor: Renaming your window.Request global

di, 17/03/2015 - 06:00

If you've defined your own global window.Request object and have users running Firefox 39 and Chrome 42 (and Opera and soon others), you're gonna have a bad time (because they ship with the Fetch API which defines its own Request class, obvs.).

Webcompat issue #793 details how breaks (thankfully the videos of awesome Japanese public toilets still work, but all the sidebar content is missing) because they define their own Request object.

Uncaught TypeError: Request.getHashParams is not a function.

So, anyways. If you're defining your own window.Request your code is going to break and you should pick a new global identifier. Here's a few suggestions inspired by mid-March conference synergy-fests in Austin, TX:

window.Oppressed window.WaspsNest window.Unimpressed window.SouthBySouthDepressed

Picking any one of those should fix the bugs you're about to have.

Categorieën: Mozilla-nl planet

The Mozilla Blog: Please welcome David Bryant, Vice President of Platform Engineering

di, 17/03/2015 - 01:32

I’m excited to announce that David Bryant is joining Mozilla today as our new Vice President of Platform Engineering. David will be based in our headquarters in Mountain View, California.

David was most recently at Nokia where he served as Vice President of Advanced Engineering and focused on leading the global hardware and software engineering teams to accelerate new mobile product development. He brings with him significant experience in mobile, software architecture and engineering management having held executive leadership positions spanning engineering and marketing at Nokia, Sun and Bell Labs.

We’re thrilled to have David join Mozilla as we work to fulfill our mission of building the Internet as a global public resource open and accessible to all. We do this by building great products, like Firefox and Firefox OS, that help people take control of and explore the full potential of their online lives, while empowering them with technology, education and opportunity to advance the open Web.

David’s background, experience and passion for technology, coupled with his commitment to building products and platforms that solve real world problems is an exceptional fit for Mozilla.

Categorieën: Mozilla-nl planet

Robert O'Callahan: Auckland University rr Talk Next Week

ma, 16/03/2015 - 22:57

I'm scheduled to give a talk at Auckland University next Wednesday on rr.

25 March 2015

12 - 1pm

Venue: 303S - 561, City Campus

Host: Department of Computer Science, University of Auckland

Note: Informal discussion and light refreshments 1 - 2 pm

Speaker: Dr Robert O'Callahan

Abstract: Mozilla's browser developers find debugging expensive and frustrating, especially when bugs are non-deterministic. Researchers have proposed to expedite debugging by recording, replaying and analyzing program executions, and in theory such techniques are well-understood, but they have not yet been widely adopted. Mozilla Research aims to understand and bridge this adoption gap by building a record-and-replay-based debugger that Mozilla's developers actually want to use. This talk will describe some barriers to adoption and how we have addressed them in the design and implementation of 'rr': a lightweight tool which can record unmodified Firefox binaries with less than 1.3x run-time overhead, exactly replay those executions under the control of gdb, and emulate reverse-execution --- using only standard Linux kernel APIs on stock hardware. 'rr' has been used to debug many real Firefox bugs. Furthermore it provides low-overhead recording, replaying, checkpointing and reverse-execution of Linux processes in an open-source tool, opening up many interesting avenues for future work. I will also discuss some of the implications for hardware and software design as record-and-replay becomes more popular.

Bio: Robert O'Callahan is a Distinguished Engineer at Mozilla Corporation, focusing on the development of Web standards and their implementation in Firefox, with a particular focus on CSS, graphics and media APIs. He has a side interest in research on software development, and debugging in particular. 'rr' is the first research tool he ever built that he actually wants to use.

Categorieën: Mozilla-nl planet

Jeff Muizelaar: Performance and feature improvements in Firefox 37 WebGL with D3D11 ANGLE

ma, 16/03/2015 - 21:00
Firefox 37 adds support for WebGL rendering using D3D11 on Windows. Up till now we were using D3D9 which has very limited support for cross-device synchronization. Without proper synchronization we were forced to wait on the main thread for WebGL content to finish rendering before we could continue script execution. The result of this is that the total frame rendering time would be the sum of the script time and the remaining gpu time.  D3D11 allows us to use a GPU-side read barrier between the main thread and compositing thread. This lets Firefox avoid waiting on the main thread giving improved responsiveness and more time for script execution.

Here's a test program that lets you adjust the GPU and CPU execution times to see how the browser responds. D3D11 WebGL let's you adjust the CPU time up to nearly 15ms without dropping below 60fps.

D3D11 support also lets us expose the WEBGL_draw_buffers extension which allows drawing to multiple output buffers at the same time, functionality that's very helpful for implementing deferred renderers.

Give D3D11 WebGL support a try in Firefox Beta today and let us know how it works.

Categorieën: Mozilla-nl planet

Air Mozilla: Mozilla Weekly Project Meeting

ma, 16/03/2015 - 19:00

Mozilla Weekly Project Meeting The Monday Project Meeting

Categorieën: Mozilla-nl planet

Mark Surman: Reflections on Mobile World Congress: the power of an open mobile Web

ma, 16/03/2015 - 15:38

The mobile Web is experiencing a watershed moment: over the next few years, billions of first-time users will come online exclusively through their smartphones. Mozilla believes it’s critically important these users find a mobile Web that’s open and invites creativity.

This was our rallying cry last week at Mobile World Congress (MWC) in Barcelona, where mobile technology leaders from around the globe discussed the industry’s future. It was encouraging to hear our rallying cry echoed by others: the GSMA, for example, dedicated significant time and floor space to promoting digital inclusivity.


As a first-timer to MWC, I was really proud of how Mozilla showed up. We unveiled a partnership with French mobile provider Orange, which can equip millions of users across 13 African countries with a Firefox OS smartphone and six months of data and voice service — for just $40. We announced a simple smartphone for first-time users that we’ll release with Verizon in the U.S. next year. And we debuted the beta Webmaker app, a free, open source publishing tool that makes creating local content simple.

Personally, I participated in two panels: One on digital inclusion and one on the power of connected citizens in crisis situations. These sessions gave us a chance to double down on our stance that access alone isn’t the answer — it’s only the first step.

While I disagree with many of their tactics, I was happy to see people like throwing out a vision for connecting everyone on the planet. But they are really missing the boat on literacy, skills and creativity. Most people will get connected at some point over the next 10 years; the real risk is people not getting the know-how they need to truly unlock the potential of the internet and make their lives better. We were able to effectively get that message across at MWC.


One of the highlights from the panel discussions was meeting Kartik Sheth from Airtel of India. He talked about Airtel’s onboarding program, which introduces people to the internet by focusing on specific content they really want (a Bollywood music video, for example). Then, they educate users about what services the internet offers and what data costs through that process (e.g. introducing people to YouTube and helping them understand that watching a music video doesn’t cost that much in data). This may sound simple, but it’s actually the kind of “ambient web literacy” that we really need to be thinking about. It has the potential not only to give people very basic internet knowledge, but also to help us avoid what I’m starting to call “the Facebook Effect.”

Of course, Mozilla is committed to web literacy at a much deeper level than just basic onboarding. We spent a good deal of time talking with people at MWC about our growing Learning Networks and Clubs. Our Clubs feature curricula that can be remixed and reimagined, and are held in diverse languages and venues. We met with a ton of people ranging from phone carriers to international agencies aimed at empowering women. And these people expressed interest in helping Mozilla both grow these networks and distribute the Webmaker app.

I left MWC energized by these sort of conversations. Feels like more momentum than ever. If you want to be a part of it, it’s worth checking out This site includes a bunch of the research and partnership opportunities we talked to people about in Barcelona, as well as a link to the Webmaker app beta.

Filed under: education, mozilla, webmakers
Categorieën: Mozilla-nl planet

Gervase Markham: Top 50 DOS Problems Solved: Why doesn’t COPY copy?

ma, 16/03/2015 - 09:09

Q: I want to copy all the files from a 5.25-inch floppy disk on to a 3.5-inch floppy disk, including the ones in some sub-directories. The COPY command won’t copy the contents of sub-directories, but when I try to use DISKCOPY I get the error message “incompatible format for drive’. What’s going wrong?

A: There are three commands to copy files from one disk to another: COPY, XCOPY and DISKCOPY. They work in different ways, and for any copy operation you need to choose the tool that’s most appropriate for what you want to do.

The problem with COPY is that it only works on the directory you specify and it cannot create new directories on the new disk. XCOPY works in a similar way to COPY but is more intelligent. You can tell it to look inside sub-directories, and it will automatically create those sub-directories on the new disk.

The command you need to type in, assuming you are copying from drive A to drive B, is:

XCOPY A:*.* B: /S

Is is the /S switch that tells XCOPY to work on subdirectories too.

Who remembers using a copy command which didn’t work with subdirectories?

Categorieën: Mozilla-nl planet

This Week In Rust: This Week in Rust 74

ma, 16/03/2015 - 05:00

Hello and welcome to another issue of This Week in Rust! Rust is a systems language pursuing the trifecta: safety, concurrency, and speed. This is a weekly summary of its progress and community. Want something mentioned? Send me an email! Want to get involved? We love contributions.

This Week in Rust is openly developed on GitHub. If you find any errors or omissions in this week's issue, please submit a PR.

What's cooking on master?

99 pull requests were merged in the last week, and 3 RFC PRs.

Now you can follow breaking changes as they happen!

Breaking Changes Other Changes New Contributors
  • John Zhang
  • Ricardo Martins
  • Trent Nadeau
Approved RFCs New RFCs Notable Links Project Updates Upcoming Events

If you are running a Rust event please add it to the calendar to get it mentioned here. Email Erick Tryzelaar or Brian Anderson for access.

Quote of the Week < reem> I'm quite interested in discovering this HTTP/2 library, but I can't bring myself to read four paragraphs of small caps

In reference to last week's celebration of Terry Pratchett on /r/rust.

Thanks to bstrie for the tip. Submit your quotes for next week!.

Categorieën: Mozilla-nl planet

James Long: Backend Apps with Webpack: Part I

ma, 16/03/2015 - 01:00

Webpack is an amazing tool. It calls itself a "module bundler" but it is much more than that: it provides an infrastructure for building, transforming, and live updating modules. While its wall of configuration options may not be your style, this approach works really well for the problem it's solving.

In fact, the style of its documentation and APIs are not my favorite, but it all comes together as a really powerful (and sorely needed) tool. All other tools treat modules as basically chunks of code wrapped in different scopes. Modules are way more than that, and webpack is a tool that finally provides a powerful infrastructure for dealing with them.

For example, hot module replacement allows you to change a module and update the existing instance live. This is the juice within react-hot-loader and this is the kind of stuff we need to be building. You'll never look back after experiencing this. (Lispers were right all along!)

Since browsers do not natively have JavaScript modules yet, and you want to deliver modules by bundling them together into a single (or a few) files, tools like webpack are commonly marketed as frontend build tools. But note that nothing I said above is frontend-specific. Why would a powerful module-based build tool be frontend specific?

After using webpack for the the frontend, you realize that you really want it for the backend (node or io.js) too.

Node and io.js do have native modules. The problem is that they have no infrastructure for doing anything with them. Projects like gulp try to fill this gap, but since they aren't module-based they only help with simple tasks like transforming files. Broccoli is a build tool that understands the importance of dealing with trees instead of files, but because they don't explicitly embrace modules it's still too much work to do anything.

Besides, do you really want to maintain two completely separate build tools when they are solving the same problem? I've done this (I had a gulp setup), and it feels hilariously redundant.

There's no reason not to use webpack for node/io.js code, and let me tell you, it's amazing. I'm going to show you, in a few posts, how to do it. This is part one.

Getting Started

If you don't know anything about webpack, you specify your configuration in webpack.config.js and then run webpack at the command line. You rarely need to give webpack any options; you can do everything you want in the configuration file. I'm going to assume you are at least somewhat familiar with how webpack works.

Webpack takes an entry module, reads the entire dependency tree, and bundles it all together as a single file (assuming a simple configuration). We are going to do this for the backend as well. Let's start with this simple config, which tells it to take the entry point src/main.js and generate a file at build/backend.js.

var path = require('path'); module.exports = { entry: './src/main.js', target: 'node', output: { path: path.join(__dirname, 'build'), filename: 'backend.js' } }

The target: 'node' option tells webpack not to touch any built-in modules like fs or path.

But there is a problem. Webpack will load modules from the node_modules folder and bundle them in. This is fine for frontend code, but backend modules typically aren't prepared for this (i.e. using require in weird ways) or even worse are binary dependencies. We simply don't want to bundle in anything from node_modules.

I wrote a small simple app so that you can try this out yourself: backend-with-webpack. In main.js, the entry point, it loads express and starts a server. If you try the above webpack configuration, you'll see this warning:

WARNING in ./~/express/lib/view.js Critical dependencies: 50:48-69 the request of a dependency is an expression @ ./~/express/lib/view.js 50:48-69

I'm sure we could get express to fix this, but the major problem is binary dependencies. The simple thing to do is not to bundle node_modules. We can solve this using webpack's externals configuration option. A module listed as an external will simply be left alone; it will not be bundled in.

We just need to read the list of directories inside node_modules and give to externals.

Unfortunately the default behavior of externals is not what we want. It assumes a browser environment, so require("foo") is turned into just foo, a global variable. We want to keep the require. This is possible by creating an object with a key/value of each module name, and prefixing the value with "commonjs". The entire configuration is now this:

var webpack = require('webpack'); var path = require('path'); var fs = require('fs'); var nodeModules = {}; fs.readdirSync('node_modules') .filter(function(x) { return ['.bin'].indexOf(x) === -1; }) .forEach(function(mod) { nodeModules[mod] = 'commonjs ' + mod; }); module.exports = { entry: './src/main.js', target: 'node', output: { path: path.join(__dirname, 'build'), filename: 'backend.js' }, externals: nodeModules }

If you build my backend-with-webpack project with the above config, and look in the generated file build/backend.js, you'll see the dependencies from node_modules left alone:

/* 4 */ /***/ function(module, exports, __webpack_require__) { module.exports = require("transducers.js"); /***/ }

That's it! Now you can enjoy webpack for the backend too, using the exact same loaders and transformers you use for frontend code. If you want to recompile the code whenever a file changes, run the watcher:

webpack --watch Sourcemaps and Other Tweaks

One crucial piece is missing: sourcemaps. Whenever you compile JavaScript, sourcemaps are necessary to stay sane. This is not a side effect of our webpack usage; even if you use babel to compile your backend code with gulp, you need sourcemaps.

Luckily, webpack supports sourcemaps very nicely. If you add the option devtool: 'sourcemap' to your config, webpack will generate a sourcemap. For backend apps, you want to use source-map-support which automatically sourcemaps stack traces from node/io.js. We need to install it at the top of the generated file, and we can use the BannerPlugin to do this. You can add plugins by giving an array to plugins:

plugins: [ new webpack.BannerPlugin('require("source-map-support").install();', { raw: true, entryOnly: false }) ],

raw: true tells webpack to prepend the text as it is, not wrapping it in a comment. entryOnly: false adds the text to all generated files, which you might have multiple if using code splitting.

Let's try it. If I add foo() on line 9 of main.js, run webpack and then node build/backend.js, we get the following error:

...snip.../backend-with-webpack/build/webpack:/src/main.js:9 foo(); ^ ReferenceError: foo is not defined at Object.<anonymous> (...snip.../webpack:/src/main.js:9:1)

The filename and line number are correct!

If you are running code both the server and client, its common to include CSS files for the client. For the backend, we want to just ignore these dependencies. We can do this with the IgnorePlugin:

new webpack.IgnorePlugin(/\.(css|less)$/)

This will ignore all files with the css or less extension.

Lastly, you can configure how webpack deals with variables like process, __dirname, and __filename with the node configuration option.

Ok! Our final working configuration file is the following:

var webpack = require('webpack'); var path = require('path'); var fs = require('fs'); var nodeModules = {}; fs.readdirSync('node_modules') .filter(function(x) { return ['.bin'].indexOf(x) === -1; }) .forEach(function(mod) { nodeModules[mod] = 'commonjs ' + mod; }); module.exports = { entry: './src/main.js', target: 'node', output: { path: path.join(__dirname, 'build'), filename: 'backend.js' }, externals: nodeModules, plugins: [ new webpack.IgnorePlugin(/\.(css|less)$/), new webpack.BannerPlugin('require("source-map-support").install();', { raw: true, entryOnly: false }) ], devtool: 'sourcemap' } Go Forth and Webpack

That wasn't hard, was it? Aren't you excited about getting rid of all that duplicate code for building the backend?

We are still missing some nice things. In the next post, I will show you how to manage multiple webpack instances with gulp so you can handle backend and frontend code at the same time with different configurations. I will also show how to automatically restart the server when a build happens.

Categorieën: Mozilla-nl planet

Jennie Rose Halperin: Productivity rules

zo, 15/03/2015 - 22:44

Last month I blogged for Safari about successfully changing fields, being fearless, and improving yourself through reading and learning. My blog post received a wonderful response, and I am proud to share that this month I begin my official new position as Safari’s Customer Success Manager. I am staying with my team and am super excited to make our product more useful to both our new and existing customers. I’ll be blogging intermittently about what I’m doing, learning, and making with Safari.

While I believe what I wrote in that post, I’ve felt a bit hypocritical because it’s come to my attention throughout this long, dark winter that

I waste a lot of time.

So much time! From time spent writing emotive letters that I never send to time reading the Wikitravel details of places I want to visit. I sleep late on weekends, occasionally drink too many glasses of wine on weeknights, often eat way more than an allotted portion while distractedly checking my phone during dinner, and spend hours looking at pairs of black pants on the Internet that I will never buy. (I love black pants, particularly loose, comfortable ones. Let this link be a hint to anyone who ever wants to buy me a present.) I believe strongly that there is a healthy balance between time-wasting and productivity, and I am afraid that this winter I crossed my own line and need to work on getting myself back to my center.

I’ve always been an over-achieving time waster; I’m the kind of person who knows all the details of Madonna’s Wikipedia page and still somehow finds the time to do all the things. I manage to consistently find the time for birthday parties, lazy afternoons, potlucks, puppet shows, and performing while always submitting applications, papers, and my taxes on time. I have always volunteered with my community, whether gardening or teaching or manning a booth, and I try to be there both in time and spirit for my friends. I am a master of very little and a generalist who can do a lot of things adequately, including playing music, speaking German and Spanish, and holding intelligent conversation on about a million topics. My lack of focus is what drew me to the interdisciplinarity of American Studies and later Library Science, but

because I am okay at a lot of things, I have often felt like I am not good at anything.

My lack of mastery augments an incredible social knowledge that makes me great at cocktail parties, but not so great at specialized skills, particularly those that I have tried and failed to learn repeatedly like drawing or programming computers.

Lounging around and wasting time makes me stressed, and yet I find myself in Wikipedia holes, on Buzzfeed lists, mindlessly thumbing through Instagram, and Googling ex-boyfriends more than I would like to admit. I have an addictive information-seeking brain, and the Internet has been both an asset and a curse for me as I find myself up late, watching the bar below my apartment close, absorbing both everything and nothing at once. (Pro-tip for other addictive minds: Never begin a television program with a seemingly unlimited number of episodes at 9PM on a week night. You will regret it.)

The Internet has made it easier to live vicariously through others, which is another double-edged sword that often makes life feel more complicated than it actually is. All my friends, professional contacts, and the celebrities who interest me seem to be living fulfilled lives, so I submit to the worst kind of voyeurism, one that’s tinged with envy and the feeling that this life could be mine if I were only more “_______.” This kind of time wasting makes me want to delete all my Internet history, take a shower, and maybe smash my phone against a wall. Even admitting that I do it in a public manner makes me feel slightly uncomfortable, but I think it’s important to recognize this is a human byproduct of the Internet age.

I’m not taking the capitalist tack that says all time has to be productive, self-improvement time, and one only has to read a Romantic novel to realize that people actually probably were not more productive in “olden days.” (I wonder how much time a Jane Austen heroine spent staring at the wall?) Instead of judging or feeling shame, (both feelings that society unfortunately encourages,) I want to practice weening myself off behaviors that don’t make me feel like my best self and hope that others feel inspired to make similar changes for their health and the health of their communities.

In order to kick off this process, I did what I do best, and what I do to make most of my decisions: I made a chart.

I titled the page:

“Be more productive. Overcome winter blues. Get moving.”

The chart’s four cardinal directions pointed to:

  • Have to do
  • Want to do
  • Do less of
  • Do more of

I brainstormed for about 25 minutes and then wrote a list of the immediate tasks I needed to do within the next week in order to make these “productivity hacks” reality (excuse the jargon.)

I wasn’t sure what was going to come out of the exercise, but when I looked at the page, I was surprised to see that most of my “negative” behaviors revolved around a few, distinct categories. In making the chart, I saw that “worrying about the opinion of others” came up 4 times, “relying too much on technology” came up 5 times, and “drinking less frequently” came up 2 times. (My 26 year old hangovers are much worse than my 21 year old hangovers!)

In contrast, doing creative work like playing music, dancing, and writing came up 7 times and giving back to my community came up 4 times on my “positive” behavior list. Being kinder to my environment, both in terms of resources and social awareness also came up frequently.

I am going to use the weeks leading up to my 27th birthday to take some steps towards doing my best work and realizing my unique talents through this exercise and others encouraged by productivity experts. I am also going to use this month to research improving productivity and share out my findings on this blog.

It’s time to focus on my creative and nurturing self and feel more alive in my body this spring. Winter has been hard on all of us Bostonians, but in adapting my behaviors to fit my goals, I am taking the first steps toward a daily practice to be my best self.



Categorieën: Mozilla-nl planet

Austin King: *coin all things to decentralize the web

zo, 15/03/2015 - 20:56

Update 3/15: Translations at the end of the article.

It’s easy to see popular service, such as Google Maps as a neutral, free public utility.

A map service makes our phone a futuristic tricorders that changes our lives and make it trivial to get around and discover new things.

But these services are not neutral public utilities.

I care about Redecentralizing the web. But how do we do it?

Here is a crazy idea inspired by bitcoin… plus I wanted to get a post out on “fight mass surveillance day“.

A hard part of something like Diaspora which aimed at being a decentralized social network, is the problem of getting enough nodes up and running. A very small % of the population will step and run a server.

When email was born, a very large % of the internet using population could also run a server. Because if you used the internet back then, there were like a hundred of you. You knew that there were servers and clients, etc.

People setup SMTP servers, email flowed and all was good.

Over time as the internet and the web became popular, this % of the population because insignificant. Our current web architecture rewards centralized players.

If email was invented today, schools, businesses… everyone would be on one of a handful of email services!

So I started thinking about “who are the people running their own services” today?

Bitcoin miners operate the bitcoin transaction network. Think about the VISA network for credit card transactions. These are un-coordinated citizens running the bitcoin network, because they earn bitcoins over time. The network has a secure protocol that balances risks and rewards from many angles.

What if we de-centralized and rewarded service administrators with this same mechanic?

Think about:

  • mapcoin
  • wikipediacoin
  • searchcoin
  • babelfishcoin
  • instantmessagecoin
  • photosharingcoin
  • dictionarycoin
  • recipiecoin

Running a mapcoin node provides several facilities:

  • access to map tiles

  • access to compute for analyzing traffic data
  • access to compute for processing map updates and settlement

By running a mapcoin node, you pay for electricty, a network connection and a fast computer with big disks. Every now and then, you “win the lotto” and earn a mapcoin. Sysadmins rewarded.

Also, we web developers can build great UIs that consume mapcoin data.
We can compete on great user experiences. Users aren’t locked into
a single vendor. The map data is a collective commons.

Once someone did the hard work of balancing risk, reward and baking it into a mapcoin protocol, OpenStreet Maps could endorse it and find a new sustainability model which would radically reduce their hosting costs.

Currency markets would take care of translating mapcoin into bitcoin or
“real money”.

Existance Proofs:

  • Bitcoin is a currency, but also the payment network coin

  • Dogecoin is Whoofie or social coin, there is a currency market for it
  • SolarCoin is based on Bitcoin technology, but in addition to the usual way of generating coins through mining, crunching numbers to try and solve a cryptographic puzzle, people can earn them as a reward for generating solar energy.
  • DNSChain (thanks Eric Mill)

*Coin all things to solve the de-centralization problem… what do you think?

Translations available

Пост доступен на сайте
Биткоины помогут децентрализовать Сеть.

Categorieën: Mozilla-nl planet

Yunier José Sosa Vázquez: Firefox OS muestra su madurez en el Mobile World Congress 2015

zo, 15/03/2015 - 19:31

Del 2 al 5 de Marzo se realizó un nuevo Mobile World Congress en Barcelona, una feria en la que se dan cita las empresas líderes en el mundo de la tecnología. Donde no sólo se ven nuevos productos, sino que también se confirman proyectos, o se presentan ideas que quizás veamos en un par de años.

En esta nueva edición, Mozilla tuvo nuevamente presencia a través de su proyecto Firefox OS. Primeramente para demostrar que el proyecto sigue vivo y continua creciendo, y luego para anunciar un par de novedades y mostrar dispositivos nuevos.

El Domingo 1 de marzo tuvo lugar un evento de prensa, donde se anunció un nuevo socio que se une al ecosistema. La compañía francesa Orange va a lanzar a lo largo de 13 países un nuevo dispositivo Firefox OS (con Alcatel), Egipto, Túnez, Camerún, Jordania serán alguno de los mercados que se verán incluidos durante el Q2. Para ello, su tentadora oferta se basa en un plan de datos por seis meses a 40 dólares.

En el mismo evento también se anunció que además de la compañía francesa, Verizon se suma a la lista de partners que tendrán en su catálogo teléfonos de Mozilla. La compañía estadounidense es puntera en el mundo de la telefonía móvil, y este acuerdo representa otro paso adelante. Junto a otras compañías, se trabajará en la creación de dispositivos en una franja nueva de mercado: teléfonos simples con algunas funcionalidades de smartphones, para aquellas personas que temen enfrentarse a teléfonos complejos y que por precio no pueden acceder a los dispositivos actuales.

Orange-Klif-3G-Volcano-Black-_LOPor otra parte, durante la semana que duró el MWC, pudimos ver de primera mano cómo funcionan los televisores Panasonic con Firefox OS. Son equipos orientados para una gama alta (son SmartTV de 4K), en los que el sistema se muestra estable y la experiencia de usuario es muy limpia. El menú no está tan recargado como en otros sistemas, y es muy fácil de utilizar. En el stand de Mozilla contábamos con 2 televisores que no paraban de realizar Demos y la gente quedaba muy impresionada con el rendimiento. Se planea que los televisores salgan al mercado para Mayo o Junio.

Panasonic-VIERA-TX-CR730Pero no todo eran productos que ya habíamos visto, también hubo un nuevo dispositivo desarrollado por la empresa Monohm, basada en Estados Unidos y que desarrolla productos IoT (Internet of Things). En este caso un “Anti” Smartphone de formato circular con sistema operativo Firefox OS. Un producto innovador que cuenta con cámara y otras funciones típicas de cualquier teléfono, pero que se activan dependiendo de la posición en la que se coloque el dispositivo.

Runcible-2-03-medEn todo caso, lo que se volvió a demostrar es que Firefox OS sigue su andadura, con nuevos mercados, nuevos dispositivos y nuevas formas de aprovechar las ventajas que ofrece desarrollar en estándares web abiertos.

Fuente: Mozilla Hispano

Categorieën: Mozilla-nl planet

Rizky Ariestiyansyah: Manifest.webapp in Flask Application

zo, 15/03/2015 - 18:31

Tired of problem with manifest.webapp failed submission in firefox marketplace? ah if you have experiences with this problem let me show you simple step to create manfest.webapp in flask application.

Categorieën: Mozilla-nl planet

Christian Heilmann: Innovating the other web – my keynote at WROC#

zo, 15/03/2015 - 15:16

Last week I was lucky enough to give the opening keynote of the inaugural WROC# event in Wroclaw, Poland. The event, organised by Objectivity was aimed at Microsoft stack based developers and I felt incredibly out of my depth. In essence, I was the Microsoft employee who had much less knowledge about the subject matter than the audience.

WROC# stage

I took the opportunity, however, to tell this sort-of-captive audience about the massive need we have in innovating “the other web”. The web these developers work on day-to-day, the web of large corporations on Windows machines who get functionality from framworks, see the front-end as a complex thing to tame and are beholden to browsers that should have been replaced years ago.

My talk slides are on Slideshare.

Innovating the other web – #wrocsharp keynote from Christian Heilmann

I also recorded a screencast of the talk and uploaded it to YouTube.

Resources I mentioned in the talk:

A few remarks about the event

As you know, I cover a lot of events and have so for several years. That’s why it is a great feeling when you still can get surprised. WROC# was outstanding in every aspect. For a first-time organised event with free tickets and a five figure price tag for the organisers everything went amazingly smooth and you can see the passion and drive of the organisers.

I am humbled and feel very thankful for having been part of this. The way the organisers made me feel welcome and left no question open was exceptional and many conferences can learn from the little tricks they used. The printout with a detailed day-to-day schedule for me was excellent. The “thank you” goodie bag in the room nothing more than overwhelming.

no-questions left with the speaker cheatsheet

Instead of a speaker dinner the day before the event we went on a tour of the city which was also a scavenger hunt. This allowed us to not only get to know the speakers, but also the organisers and get a feeling of the place and its people before being in a venue for a day and leave as strangers again.

goodie bag

Attendees had exceptional catering, endless drinks, coffee and locally brewed beer for the occasion at the after party. The wireless worked and all talks were live-streamed. There was a table football tournament, arcade machines and a band and many more things to keep people around and make them get to know one another.

All in all this was an amazing conference and I spent the next day at Objectivity to give them feedback and help them with a few of their outreach/developer evangelism questions as I felt just giving my talk and being at the event all day wasn’t enough. It was a superb experience, thanks to all involved!

Categorieën: Mozilla-nl planet