-Поиск по дневнику

Поиск сообщений в rss_planet_mozilla

 -Подписка по e-mail

 

 -Постоянные читатели

 -Статистика

Статистика LiveInternet.ru: показано количество хитов и посетителей
Создан: 19.06.2007
Записей:
Комментариев:
Написано: 7

Planet Mozilla





Planet Mozilla - https://planet.mozilla.org/


Добавить любой RSS - источник (включая журнал LiveJournal) в свою ленту друзей вы можете на странице синдикации.

Исходная информация - http://planet.mozilla.org/.
Данный дневник сформирован из открытого RSS-источника по адресу http://planet.mozilla.org/rss20.xml, и дополняется в соответствии с дополнением данного источника. Он может не соответствовать содержимому оригинальной страницы. Трансляция создана автоматически по запросу читателей этой RSS ленты.
По всем вопросам о работе данного сервиса обращаться со страницы контактной информации.

[Обновить трансляцию]

Byron Jones: happy bmo push day!

Вторник, 11 Ноября 2014 г. 09:20 + в цитатник

the following changes have been pushed to bugzilla.mozilla.org:

  • [1094902] needinfo canceled or requested email end with @@body-headers@@
  • [1067619] Pulse is not notified of changes to attachment flags
  • [1089805] BzAPI compatibility layer returns HTTP 200 when a bug update failed
  • [1096318] Restricting a bug’s visibility does not delete any associated MozReview review requests

discuss these changes on mozilla.tools.bmo.


Filed under: bmo, mozilla

http://globau.wordpress.com/2014/11/11/happy-bmo-push-day-118/


Monica Chew: Tracking Protection in Firefox

Вторник, 11 Ноября 2014 г. 04:41 + в цитатник

On Monday a project that I've been working on was officially announced as part of a larger privacy initiative called Polaris. In case you missed it, there is an experimental tracking protection feature in Firefox Nightly that allows people to avoid being tracked by not communicating with known tracking domains, especially those that do not respect DNT. Our initial blocklist is from Disconnect. As a side effect, blocking resources from tracking domains speeds up page load times on average by 20%. Privacy features rarely coincide with performance benefits, so that's exciting.

Currently, tracking protection is available by turning on browser.polaris.enabled in about:config. If you care about privacy in Firefox and are running Nightly, please give it a try. Requiring about:config changes is quite onerous, but we need your feedback to improve tracking protection. You can read official instructions on how to turn on tracking protection or see the animated gif below (original slide deck here for people who like to advance manually).

Many thanks to everyone who helped get this landed, especially my awesome intern, Georgios Kontaxis, and the team at Disconnect for open sourcing their blocklist.

http://monica-at-mozilla.blogspot.com/2014/11/tracking-protection-in-firefox.html


Mozilla Open Policy & Advocacy Blog: What we need to do to save the Internet as we know it

Вторник, 11 Ноября 2014 г. 03:25 + в цитатник

Today, President Obama announced his support for clear, enforceable rules to protect net neutrality, grounded in “Title II” reclassification by the Federal Communications Commission. We’re nearing the end of a long, sustained fight to get strong, effective protections for net neutrality. Now it is time to take it to the finish line.

Imagine a world where a small handful of powerful companies decide what information is available and accessible on the Internet. Or, a world where someone else chooses what you should (and shouldn’t) see on the Internet. Or, a world where you can no longer access your favorite website because it’s not part of the suite of content offered in your area.

Preventing the Internet that you just imagined is why the net neutrality fight is so important to the Mozilla community. It is about protecting the core ethos of the Internet. It is about ensuring that it remains an engine of innovation, opportunity and learning. It is about standing up to those in power with a core assertion: the Web is not owned by any one of us; rather, it is shared by all of us.

In the spring, the U.S. Federal Communications Commission proposed rules that would have gutted the free and open Web. Under its original proposal, we would have seen the emergence of a two-tiered Internet — a fast one that benefits the few companies that can afford to pay; and a slow one for the rest of us.

The Internet community quickly responded, mobilizing itself for a long, sustained fight. Around the country, everyone from small business owners to librarians told their stories of why net neutrality was important to them. People saw the debate for what it really was — a few cable company goliaths trying to hoodwink the mainstream public and change the nature of the Web. We fought back with a resounding voice — the greatest amount of public engagement the FCC has ever seen — demanding strong net neutrality.

Today, as the FCC is closing in on a decision about net neutrality, tensions are rising over if and how it will adopt rules grounded in Title II authority. Title II would empower the FCC to prohibit the discrimination created when someone else can control which content is accessible. The question of where the FCC gets its authority — Title II or something else — is important. If the FCC chooses to rely on the wrong authority, the rules could be weakened, challenged, or overturned.

We have a view on both the authority and the rules required.

First, we believe that the FCC’s authority must come from Title II, and that full Title II reclassification is the cleanest, simplest path forward.

Second, we want a baseline set of protections that incorporate Title II. These protections include strong rules against blocking and discrimination of content, and should apply to the ‘last mile’ portion of the network controlled by the Internet access service provider.

In short, the FCC must not create separate fast lanes that enable prioritization of content over the Internet not based on reasonable and transparent network management.

Finally, because there is only one Internet, we believe the same framework and rules must be applied to mobile as well as fixed access services. It is time to bring mobile into the open Internet age.

Anything less than strong, enforceable rules against blocking, discrimination, and fast lanes, grounded in Title II, is unacceptable. Anything less than this is not the Mozilla baseline or the Mozilla proposal.

In the 25 year history of the Web there have been moments when the masses have stood up to the powerful forces that seek to control it; the launch of Firefox, which defeated the one-browser monopoly of Internet Explorer; the fight that stopped SOPA/PIPA from becoming law; the recent protests in Hungary against an Internet tax.

This is our moment to save the Internet as we know it, and the President’s focus on the issue demonstrates that we can win this fight, and get the FCC to adopt strong, enforceable rules to protect net neutrality. We stand with our Community ready to fight if our baseline is not met.

https://blog.mozilla.org/netpolicy/2014/11/10/what-we-need-to-do-to-save-the-internet-as-we-know-it/


Advancing Content: Interest Dashboard Beta Add-on Ready for Testing

Понедельник, 10 Ноября 2014 г. 19:00 + в цитатник

The Content Services team is working to reframe how users are understood on the Internet: how content is presented to them, how they can signal what they are interested in, how they can take control of the kinds of adverts they are exposed to.  As the Web evolves, these signals will be generated in two places by two actors: in the user’s client, at the user’s behest, or in the cloud, by a service or by a third party who seeks to know whatever it can about the user. We believe it is Mozilla’s place to ensure that the client empowers the user in this relationship and over time, think about how the cloud can play a role.

We’ve been working on an experimental feature that we think is super cool – which we’re calling the “Interest Dashboard” and today, we’ve releasing it as an experimental beta Firefox  add-on. The team here is excited about the Interest Dashboard as it explores the advancement of content and the browser.  The project has been led under the Product Management of Kevin Ghim and engineering leadership of Ed Lee in the Content Services team.  The goal is to see how people consume the Web and try and classify it, and we have something we want to get testing and feedback on with this beta add-on..

Interest Dashboard

How does it work?

You can download the experimental beta Interest Dashboard add-on here.

We believe that there are lots of ways that this add-on can benefit users – from new content discovery, to helping the user manage their own browsing behavior.

The ability to see how that time is spent, on which interests, and at what frequency and volume, will be fascinating for many users.  Users will see how their content consumption is categorized and provide feedback directly into the Interest Dashboard. Ultimately, we can then start showing the user a more personalized content experience, on the user’s terms.

We also know that we have a lot of challenges ahead of us.  We’d absolutely love your feedback after playing around with the add-on so please leave feedback in Bugzilla or in the comments section of this post.  This is a foundational piece for what we’re doing and we have to deliver value for ours users before we build on top of this.

There’s a lot of data science behind the classification system and we’re looking to make it better.  The feature presents you with a number of views of your data and actions, but we want to know what you would find interesting.

The Interest Dashboard shows the user their activity and lets them gain insight from it – “what gets measured, gets managed”.  In our case, the user of the Interest Dashboard will see all of the user’s browsing behavior and display it in a way the user can interact with.  And if you use multiple instances of Firefox, across multiple desktops, or Firefox for Android, and you have connected all instances to a Firefox Account, you will see your data from all your browsing.

The Firefox Interest Dashboard add-on is unique in bringing this functionality directly to the user in their client, under their control.  And unlike recommendation engines, the Firefox Interest Dashboard add-on will not be trying to stimulate you to remain engaged with a particular website, it will be a vehicle to allow the user to consciously express their own desires for what they want to browser to do.

So go download the Interest Dashboard add-on and see how much time each month you’re spending on watching kittens or funny videos.

https://blog.mozilla.org/advancingcontent/2014/11/10/interest-dashboard-beta-add-on-ready-for-testing/


Mozilla Privacy Blog: Introducing Polaris Privacy Initiative to Accelerate User-focused Privacy Online

Понедельник, 10 Ноября 2014 г. 17:28 + в цитатник
At Mozilla, we believe that an individuals’  privacy on the Internet cannot be treated as optional. Our Privacy Principles guide us with the design of each of our products and services.  We’ve introduced features to support our privacy focus across … Continue reading

https://blog.mozilla.org/privacy/2014/11/10/introducing-polaris-privacy-initiative-to-accelerate-user-focused-privacy-online/


Andreas Gal: 10 Years of Firefox and Innovation for the Web Platform

Понедельник, 10 Ноября 2014 г. 16:59 + в цитатник

Today we are celebrating the 10th anniversary of Firefox and as a birthday present have lots of exciting new technologies for developers to try out.

Over the last 10 years Mozilla didn’t just build Firefox, we also helped build much of the Web that users experience today through Firefox and other browsers.

The Mozilla Project was created to wrestle control over the Web from Microsoft. Through its then dominant 98% browser market share with Internet Explorer 6, Microsoft had almost total control over the evolution of the Web. Mozilla didn’t tackle this situation merely through advocacy–telling the world why it is bad if a single corporation has disproportionate control over an ecosystem as important and central to our lives as the Web. Instead, we went to work to create a better, more powerful Web and a better, more powerful browser: Firefox. The competition and innovation Firefox brought to the Web has dramatically changed the open Web and browser landscape over the last 10 years.

Today, no single browser vendor has the same dominant market share Microsoft had. Users can choose from a number of browsers made by Microsoft, Google, Apple and of course Mozilla. The competition in the browser space is one of the clearest signs of the success of our mission over the last 10 years.

At Mozilla we don’t just build a consumer browser, we also build the Web itself. To overcome proprietary ecosystems the Web has to match or exceed the capabilities and performance of native platforms. Over the last 10 years we have pioneered many new Web technologies, and contributed to standardizing them.

Gaming

Gaming has become an important form of entertainment for many. In the past, gaming in the browser was dependent on plugins, restricting developers from distributing content widely on the Web. Mozilla has pioneered a number of new technologies to unlock the Web as an immersive platform for games, including WebGL, which is now ubiquitous among all modern browsers. And we created asm.js, a new JavaScript extension that enables near-native performance for game engines.

Performance Improvements

I am proud to say that Mozilla’s JavaScript engine now leads the market on JavaScript performance in pretty much all categories, offering a best in class gaming experience in the browser. We also enabled process separation in Nightly builds, providing additional performance and security benefits to Firefox users. And if you are using a 64-bit capable version of Windows, we will start shipping 64-bit builds of Firefox to Windows soon (on Mac we have been offering 64-bit builds for quite some time).

Advancing Audio and Video

Audio and Video on the Web are also making big leaps forward with the help of Mozilla. We are one of the leading proponents of WebRTC, a new Web API for real-time communication via audio, video and data channels. Together with our long time partner Telefonica, we are  bringing Firefox Hello, a WebRTC-based audio/video chat feature to Firefox soon. Firefox Hello allows people to communicate in real time without the need to download software or create an account.

Building out the Web

Our volunteer community continues to have a big role in advancing Firefox and the Web. Andre Natal from our Brazilian community has been contributing speech recognition functionality to Firefox and Firefox OS. This will allow users to interact with their desktop browsers as well as Firefox OS devices by simply using their voice. This Web Speech API is currently being added to our rendering engine Gecko.

Firefox Developer Edition

If you are a Web developer and excited to try out some of the technologies above, we have something special for you in celebration of our 10th anniversary. While we build the Web, it is developers who build the content and experiences the Web enables. In recognition of their efforts and our ongoing commitment to the Web developer community we are releasing a dedicated Firefox Developer Edition, made specifically for Web developers with many features that developers want enabled by default. The developer edition streamlines development workflow and adds new features that simplify the process of building for the entire Web, whether targeting mobile or desktop across many different platforms.

What the Future Holds

10 years ago, Mozilla started a long journey to set the Web free of Microsoft’s proprietary control, and today we have largely achieved that goal. The next phase of the struggle for an open Web is mobile where a new duopoly has arisen: iOS and Android. Just as we took on Microsoft 10 years ago with Firefox, we are looking to unseat Google’s and Apple’s dominance over the mobile space by creating a new smartphone OS that is built of the Web: Firefox OS. Since its launch last year Firefox OS has now spread to 24 countries all over the world, including our most recent launch in India. If you are using our Firefox OS developer phone, we are releasing a new developer build of Firefox OS 2.0 today.

We are also advancing the fundamental technologies of the Web through Servo and Rust. Servo is a new rendering engine for the next generation Web with advanced support for parallelism as well as improved security and reliability. We are able to accomplish this thanks to Rust, a new systems programming language which we have been building and which is gaining strong community support.

And, we have also started to explore the next frontier of the Web: Virtual Reality. We are pioneering new capabilities for VR on the Web and we are launching mozvr.com as a platform for technology demos and a place for developers to learn about how to bring VR experiences to the Web.


Filed under: Mozilla

http://andreasgal.com/2014/11/10/10-years-of-firefox-and-innovation-for-the-web-platform/


Daniel Glazman: Announcing Quaxe, native desktop and mobile apps from html5 and Haxe

Понедельник, 10 Ноября 2014 г. 11:46 + в цитатник

My technical world changed a bit recently with a few events that directly impacted me or the activities of my company, Disruptive Innovations:

  1. Mozilla shows increasing signals that the future of XUL as a platform for embedders like my company is not bright. XULRunner has many users around the world but it's not part of the roadmap any more, unfortunately. I won't discuss here their corporate strategy. My applications BlueGriffon and BlueGriffon EPUB Edition being based on XULRunner and my business being largely based on them, it would be a bit foolish to avoid looking for an alternative...
  2. I have not found a single solution allowing me the flexibility of XUL+JavaScript in native desktop and/or mobile cross-platform apps; there are hybrid solutions for mobile, almost nothing for desktop in a cross-platform fashion.
  3. the two only potential solutions, Qt on one hand and AdobeAir on the other, do not satisfy me for the following reasons:
    1. Adobe Air is nothing near native,
    2. Qt is a big and powerful beast, hard to learn and master.
  4. Apple's Swift looks nice and powerful but cross-platform is not a word available in the Apple ecosystem.
  5. I have discovered Haxe. Haxe is an open source toolkit based on a modern, high level, strictly typed programming language, a cross-compiler, a complete cross-platform standard library and ways to access each platform's native capabilities. If you know ECMAScript and/or Java, you'll find Haxe fun and easy to master. I started playing with it and fell in love with its beauty, simplicity, and the large numbers of packages available.

In such cases, I take a few sheets of paper and start writing ideas. I have put a lot of ink on a dozen of originally blank pages and tested a few designs. I want, I need a very simple, flat learning curve way of writing standalone cross-platform native apps. And if the existing ecosystem can't give me such a tool, well, I do what I always do in such cases: I write my own... So I started writing my own environment for native desktop and mobile applications.

My requirements were the following ones:

  • all UI specified in html5, of course, with the help of role attributes... Maybe I'll add a XUL-like language too just for migration purposes.
  • UI styled by CSS, eh what did you expect? :-)
  • resulting native UI
  • code in Haxe of course compiled to native!!! Assets not trivially readable like with JS...
  • trivial embedding of Haxe-based gaming frameworks
  • trivial embedding of a browser instance (Blink, Servo, etc...). When I say trivial, I really mean it. If you've played with CEF, you probably understand that this is not what I mean.
  • no ugly hacks to deal with OSX menus or Windows icons.
  • dynamic UI changes based on DOM manipulation just like in XUL
  • very simple localization
  • a "Hello world" button in a native window should be a one-minute thing. No big environment to install, no complex setup, no new IDE to learn. You know html5? Just put a inside a new document's in your favorite code editor, open a terminal and type "quaxebuild". Done, you have a native app in hands, ready for distribution.

The result will be Quaxe. Native desktop and mobile applications with native UI from html5 and Haxe.

I am glad to share with you the first demo screenshot below. The app was launched through a open bin/mac/MyFirstTest.app command line on OSX. Just to be very clear, there is NO BROWSER WINDOW in the screenshot below. The app is only a native resizable main frame containing a native button. It's specified in html5, you can access and modify its DOM but it's not your regular browser, there is no Blink, Gecko, Servo or any Web rendering engine inside. There is no common runtime either, `a la Adobe Air. It's very, very lightweight despite of having to implement a xml parser, DOM4, a CSS parser, the whole CSS cascade and an OM for the widgetry.

First test screenshot

As you can see above, it's already taking shape. If you're an investor and you're interested, please do not hesitate to contact me at your convenience. Writing native apps is going to be way cooler and simpler than it is now, that's a promise.

http://www.glazman.org/weblog/dotclear/index.php?post/AnnouncingQuaxe


Justin Wood: I’m a wordpress newbie

Понедельник, 10 Ноября 2014 г. 08:18 + в цитатник

If this is on planet.mozilla.org, and so is a “content is password protected” post below it, I’m sorry.

The post is merely that way because its unfinished but I wanted to share it with a few others for early feedback.

I’ll delete this post, and unhide that one once things are ready. (Sorry for any confusion)

http://blog.drapostles.org/archives/137


Asa Dotzler: Ten Years Ago

Понедельник, 10 Ноября 2014 г. 08:01 + в цитатник

Ten years ago, tonight, this is what I was working on.

Join us in celebrating the launch of Mozilla Firefox 1.0. Tomorrow, Tuesday, November 9, from 2-7pm PST (that’s 22:00-03:00 GMT), we will be hosting AIR MOZILLA live from the Mozilla Foundation HQ, a 5 hour web event, including a live webcast and text chat. The show will feature interviews and discussions with key Mozilla staff. Questions from the audience (including the media) from the chat room will be fed into the show. The event will be hosted here at http://www.spreadfirefox.com. You’ll need QuickTime for the audio streaming. We’ll also use both IRC and a web-based text chat solution.

When:
2-7pm PST, 22:00-03:00 GMT. That’s 22:00-03:00 on Tuesday night in Germany. In Japan, that’s 07:00-12:00 Wednesday morning.

Where:
Here at http://www.spreadfirefox.com. If Spread Firefox gets overwhelmed by the high traffic, head on over to http://www.mozilla.org/airmozilla.

What:
Live webcast + text chat with key Mozilla people.

Yep, not only is it the 10 year anniversary of Firefox, it’s also 10 years since the inaugural Air Mozilla “broadcast”.

We’ve come a long way. So much more still to do :D

http://asadotzler.com/2014/11/09/ten-years-ago/


Justin Wood: Firefox Launches Developer Editon (Minor Papercut Issues)

Понедельник, 10 Ноября 2014 г. 07:45 + в цитатник

So, as you may have heard, Firefox is launching a dev edition.

This post does not attempt to elaborate on that specifically too much, but it’s more to identify some issues I hit in early testing and the solutions to them.

Theme

While I do admire the changes of the Developer Edition Theme, I’m a guy who likes to stick with “what I know” more than a drastic change like that. What I didn’t realize was that this is possible out of the box in developer edition.

After the Tour you get, you’ll want to open the Customize panel and then deselect “Use Firefox Developer Edition Theme” (see the following image — arrow added) and that will get you back to what you know.

DevEditionTheme

Sync

As a longtime user, I had “Old Firefox Sync” enabled; this was the one that very few users enabled and even fewer used it across devices.

Firefox Developer Edition, however, creates a new profile (so you can use it alongside whatever Firefox version you want) and supports setting up only the “New” sync features. Due to creating a new profile, it also leaves you without history or saved passwords.

To sync my old profile with developer edition, I had to:

  1. Unlink my Desktop Firefox from old sync
  2. Unlink my Android Firefox from old sync
  3. Create a new sync account
  4. Link my old Firefox profile with new sync
  5. Link my Android with new sync
  6. Link Dev Edition with new sync
  7. Profit

Now other than steps 6 and 7 (yea, how DO I profit?) this is all covered quite well in a SuMo article on the subject. I will happily help guide people through this process, especially in the near future, as I’ve just gone through it!

(Special Thanks to Erik for helping to copy-edit this post)

http://blog.drapostles.org/archives/133


Benjamin Kerensa: Happy 10th Birthday Firefox!

Понедельник, 10 Ноября 2014 г. 07:14 + в цитатник
Today is an important day because today we celebrate a decade of Firefox. Yep, that’s right. Firefox 1.0 was released 10 years ago today. I can’t imagine what the Internet would be like today if Firefox had not existed for the past decade, but I can imagine what the future of Firefox looks like and […]

http://feedproxy.google.com/~r/BenjaminKerensaDotComMozilla/~3/GjhwoRv2e9o/happy-10th-birthday-firefox


Soledad Penades: Tools for the 21st century musician

Воскресенье, 09 Ноября 2014 г. 00:26 + в цитатник

That is the title of the talk I gave yesterday at Full Frontal in Brighton. The video is still not out but here are the slides (and the source for the slides, with all the source for the examples).

If you were in my Web Audio workshop in Berlin, this talk followed the same style, except I refined some points and sadly forgot a couple. I also showed the Web Audio Editor in Firefox DevTools, which I didn’t in Berlin because Jordan was going to talk about it after me.

I had a little bit of a surprise at the end of the talk, when I “presented” for the first time a little project we’ve been working on for a while: OpenMusic. And I have “quoted” the presented word because the work has always been in GitHub in the open, so if you followed me in GitHub you might have seen all the repos popping up and wonder what the hell is Sole doing lately.

So, just in case you weren’t in the conference, OpenMusic aims to be a nice collection of interoperable/reusable Web Audio modules and components. This is an idea that Angelina sort of had when they saw my audio tags talk last year, and has been brewing in the back of our minds until a couple of months ago when the A-HA! moment finally happened.

And so I’ve been pulling apart components and pieces from my existing Web Audio-based code, because I realised I was doing the same thing over and over and I wanted to do new things but I didn’t want to do the same thing yet again. So, small npm based modules it is. And a bunch of them!

I’m a bit short on time lately (and I’m being very generous on this description), so some of the modules are a bit too rushed and a tad obscure, but they should work and have some minimal documentation already, and they’ll get better. Be kind while I deconstruct my hacks–or better yet, start deconstructing yours too! =)

Thanks to Remy for inviting me to this ultra cool conference… and accidentally triggering the A-HA moment!

flattr this!

http://soledadpenades.com/2014/11/08/tools-for-the-21st-century-musician/


Andrew Halberstadt: The New Mercurial Workflow

Суббота, 08 Ноября 2014 г. 10:45 + в цитатник

There's a good chance you've heard something about a new review tool coming to Mozilla and how it will change everything. There's an even better chance you've stumbled across one of gps' blog posts on how we use mercurial at Mozilla.

With mozreview entering beta, I decided to throw out my old mq based workflow and try to use all the latest and greatest tools. That means mercurial bookmarks, a unified mozilla-central, using mozreview and completely expunging mq from my workflow.

Making all these changes at the same time was a little bit daunting, but the end result seems to be a much easier and more efficient workflow. I'm writing the steps I took down in case it helps someone else interested in making the switch. Everything in this post is either repeating the mozreview documentation or one of gps' blog posts, but I figured it might help for a step by step tutorial that puts all the pieces together, from someone who is also a mercurial noob.

Setup

Mercurial

Before starting you need to do a bit of setup. You'll need the mercurial reviewboard and firefoxtree extensions and mercurial 3.0 or later. Luckily you can run:

$ mach mercurial-setup

And hitting 'yes' to everything should get you what you need. Make sure you at least enable the rebase extension. In my case, mercurial > 3.0 didn't exist in my package repositories (Fedora 20) so I had to download and install it manually.

MozReview

There is also some setup required to use the mozreview tool. Follow the instructions to get started.

Tagging the Baseline

Because we enabled the firefoxtree extension, anytime we pull a remote repo resembling Firefox from hg.mozilla.org, a local tag will be created for us. So before proceeding further, make sure we have our baseline tagged:

$ hg pull https://hg.mozilla.org/mozilla-central
$ hg log -r central

Now we know where mozilla-central tip is. This is important because we'll be pulling mozilla-inbound on top later.

Create path Aliases

Edit: Apparently the firefoxtree extension provides built-in aliases so there's no need to do this step. The aliases follow the central, inbound, aurora convention.

Typing the url out each time is tiresome, so I recommend creating path aliases in your ~/.hgrc:

[paths]
m-c = https://hg.mozilla.org/mozilla-central
m-i = https://hg.mozilla.org/integration/mozilla-inbound
m-a = https://hg.mozilla-org/releases/mozilla-aurora
m-b = https://hg.mozilla-org/releases/mozilla-beta
m-r = https://hg.mozilla-org/releases/mozilla-release

Learning Bookmarks

It's a good idea to be at least somewhat familiar with bookmarks before starting. Reading this tutorial is a great primer on what to expect.

Start Working on a Bug

Now that we're all set up and we understand the basics of bookmarks, it's time to get started. Create a bookmark for the feature work you want to do:

$ hg bookmark my_feature

Make changes and commit as often as you want. Make sure at least one of the commits has the bug number associated with your work, this will be used by mozreview later:

... do some changes ...
$ hg commit -m "Bug 1234567 - Fix that thing that is broken"
... do more changes ...
$ hg commit -m "Only one commit message needs a bug number"

Maybe you want to pull central again and rebase your changes on top of it. No problem:

$ hg update central
$ hg pull central
$ hg rebase -b my_feature -d central

Pushing a Bookmark for Review

When you are ready for review, all you do is:

$ hg update my_feature
$ hg push review

Mercurial will automatically push the currently active bookmark to the review repository. This is equivalent (no need to update):

$ hg push -r my_feature review

At this point you should see some links being dumped to the console, one for each commit in your bookmark as well as a parent link to the overall review. Open this last link to see your review request. At this stage, the review is unpublished, you'll need to add some reviewers and publish it before anyone else can see it. Instead of explaining how to do this, I highly recommend reading the mozreview instructions carefully. I would have saved myself a lot of time if I had just paid closer attention to them.

Once published, mozreview will automatically update the associated bug with appropriate information.

Fixing Review Comments

If all went well, someone has received your review request. If you need to make some follow up changes, it's super easy. Just activate the bookmark, make a new commit and re-push:

$ hg update my_feature
... fix review comments ...
$ hg commit -m "Address review comments"
$ hg push review

Mozreview will automatically detect which commits have been pushed to the review server and update the review accordingly. In the reviewboard UI it will be possible for reviewers to see both the interdiff and the full diff by moving a commit slider around.

Pushing to Inbound

Once you've received the r+, it's time to push to mozilla-inbound. Remember that firefoxtree makes local tags when you pull from a remote repo on hg.mozilla.org, so let's do that:

$ hg update central
$ hg pull inbound
$ hg log -r inbound

Next we rebase our bookmark on top of inbound. In this case I want to use the --collapse argument to fold the review changes into the original commit:

$ hg rebase -b my_feature -d inbound --collapse

A file will open in your default editor where you can modify the commit message to whatever you want. In this case I'll just delete everything except the original commit message and add "r=".

And now everything is ready! Verify you are pushing what you expect and push:

$ hg outgoing -r my_feature inbound
$ hg push -r my_feature inbound

Pushing to other Branches

The beauty of this system is that it is trivial to land patches on any tree you want. If I wanted to land my_feature on aurora:

$ hg pull aurora
$ hg rebase -b my_feature -d aurora
$ hg outgoing -r my_feature aurora
$ hg push -r my_feature aurora

Syncing work across Computers

You can use a remote clone of mozilla-central to sync bookmarks between computers. Instead of pushing with -r, push with -B. This will publish the bookmark on the remote server:

$ hg push -B my_feature 

From another computer, you can pull the bookmark in the same way:

$ hg pull -B my_feature 

WARNING: As of this writing, Mozilla's user repositories are publishing! This means that when you push a commit to them, they will mark the commit as public on your local clone which means you won't be able to push them to either the review server or mozilla-inbound. If this happens, you need to run:

$ hg phase -f --draft 

This is enough of a pain that I'd recommend avoiding user repositories for this purpose unless you can figure out how to make them non-publishing.

Edit: Mathias points out that to make a repo non-publishing, you need to add:

[phases]
publish=false

to your /.hg/hgrc file. I don't think normal users have permission to do this for user repositories, but you should do it if you can.

Conclusion

I'll need to play around with things a little more, but so far everything has been working exactly as advertised. Kudos to everyone involved in making this workflow possible!

http://ahal.ca/blog/2014/new-mercurial-workflow/


Jim Chen: LogView add-on for Fennec

Суббота, 08 Ноября 2014 г. 04:29 + в цитатник

We use the adb logcat functionality a lot when developing or debugging Fennec. For example, outside of remote debugging, the quickest way to see JavaScript warnings and errors is to check the logcat, which the JS console redirects to. Sometimes, we catch a Java exception (e.g. JSONException) and log it, but we otherwise ignore the exception. Unless you are actively looking at the logcat, it's easy to miss messages like these. In other cases, we simply want a way to check the logcat when away from a computer, or when a user is not familiar with adb or remote debugging.

The LogView add-on, available now on AMO, solves some of these problems. It continuously records the logcat output and monitors it. When it sees an error in the logcat, the error is displayed as a toast for visibility.

Error toastError details

You can also access the current logs through the new about:logs page.

about:logs

The add-on only supports Jelly Bean (4.1) and above, and only Fennec logs are included rather than logs for all apps. Check out the source code or contribute on Github.

Feature suggestions are also welcome! I think the next version will have the ability to filter logs in about:logs. It will also allow you to copy logs to the clipboard and/or post logs as a pastebin link.

http://www.jnchen.com/blog/2014/11/logview-addon-for-fennec


Mozilla Open Policy & Advocacy Blog: MozFest – It’s a Wrap!

Суббота, 08 Ноября 2014 г. 03:42 + в цитатник

While October 24-26 marked the fifth official MozFest celebration, it was an exhilarating first for the newly formed Policy & Advocacy track. Before we wrap up the event, the Policy & Advocacy Wranglers want to share our thoughts and observations on the event.

This year, we broadened our focus from 2013’s Privacy track to involve the entire Policy & Advocacy community, celebrating the Web We Want and highlighting the global movement to protect the free and open web.

What We Planned

Our track featured more than 20 sessions spanning digital citizenship, kids safety, net neutrality, privacy, security, and anti-surveillance. The advocacy sessions shared the secrets of successful campaigns, the tools of the trade, and how to use trouble to your advantage. One session invited people to conceptualize a new Internet Alert System. The track also featured talks about current events and issues, including the surveillance ecosystem, net neutrality, and Do Not Track. Those looking to use or gain technical skills had the opportunity to join four consecutive Hackathons — ranging from creating mesh networks to creating data visualizations — and a ‘Humane Cryptoparty’, which emphasized a human-centered approach to privacy tools and practical advice and guides for self-hosting email.

Another unique session was our Privacy Learning Lab. The Learning Lab was an experiment to attract those who might want to consume and learn about privacy in smaller, less intimidating chunks. Participants could join at any time, and move through each of five tables, covering topics as diverse as location privacy, the Clean Data Movement, metadata, using Webmaker tools, and an eye-catching privacy game called OffGrid. Several of our Learning Lab participants also shared their ideas during Sunday night’s closing party demos.

WP_20141026_042photo-5

On the mainstage, we announced the Ford-Mozilla Open Web Fellows program, a new program recruiting tech leaders to work at nonprofit organizations that are protecting the open Web. The search is on for Fellows who will have opportunities ranging from the ACLU, where the fellow will work with the team that is defending Edward Snowden to Amnesty International, where the fellow will be at the center of human rights and the Internet, to the Open Technology Institute, where the fellow will work with the organization’s M-Lab initiative and serve as a data scientist for the open Web movement. Applications for the 2015 Fellows are still open, and the deadline to apply is Wednesday, December 31, 2014.

15632370665_98f71a3e21_o

Creating the Environment

At MozFest, the interactive feel leads with the physical environment. The Policy & Advocacy track was housed high on the 7th floor of Ravensbourne, a media campus in the heart of London. In designing the right environment for our community, we planned several interactive displays to entice people to climb those stairs and fill those elevators to come see what we were all about. Our entrance included a ‘superhero photo booth’ which celebrated that we are all heroes of the web. Throughout the festival, people dressed up in superhero costumes, took selfies, and tweeted them to their networks with #WebWeWant.

heraWP_20141026_053

Continuing into our space, two thought provoking walls invited interaction.  At the colorful “Web We Want” ‘chalkboard’ (inspired by Candy Chang’s iconic work, anyone could grab a chalkboard pen to express their thoughts about the web – a big hit with participants and videographers alike.  Colorful responses ranged from “built by people, fun and open!” to “decentralized”, “private”, “empowering”, “an explosion of creativity,” and so much more.photo-4

Another wall, based on a recent cross-cultural study on trust, invited people to write their personal definitions of transparency and privacy. On a central kiosk we just may have hosted the first-ever offline Reddit session (not intentionally, but when the Internet connection unexpectedly glitched, reddit quickly adapted with an innovative offline AMA). Using colorful post-it notes, participants expressed a set of principles and values important to the open Web.

What We Learned

As the first year for the Policy & Advocacy track, we were in prototyping mode. We were testing what works, what doesn’t and optimizing on the fly. We learned so many lessons that we’ll chew on for next year, but we’d also like to share a few here.

We were incredibly inspired by what an AMAZING Policy & Advocacy community exists and the immeasurable value of face-to-face interaction to share ideas and solve problems together. For us Wranglers, the most difficult part of the planning process was having so many amazing proposals to choose from and not being able to include them all. Indeed, we may have created too many sessions, not giving people enough time to explore the rest of MozFest.

Another thing we learned was the need to document what was happening in the sessions. We heard several requests for video (perhaps even Firefox phone) recordings, to enable people who couldn’t attend the festival participate and to mitigate schedule overload for the people there. We’ll pitch that idea to the organizers next year, along with additional Learning Labs as a way to share more ideas in smaller chunks.

All in all, this was a great MozFest and a terrific beginning for the Policy & Advocacy track. We’d love to hear your feedback — email us at advocacy@mozilla.com. We look forward to putting what we learned into practice for next year.

Your Friendly Policy & Advocacy Space Wranglers,

Dave Steer, Alina Hua and Stacy Martin

https://blog.mozilla.org/netpolicy/2014/11/07/mozfest-its-a-wrap/


Hannah Kane: Talking to people

Суббота, 08 Ноября 2014 г. 02:53 + в цитатник

At the beginning of October, I went to Austin for the Digital PM Summit, which is an amazingly useful gathering of digital project managers, now in its second year. I was invited to speak about Retrospectives—my favorite topic! I enjoyed putting together a presentation and talking with some really talented PMs about how to create a culture of experimentation and continuous improvement.

Then, earlier this week, I had the opportunity to talk with the very smart and fun YNPN Launchpad Fellows about how to apply Agile methodologies to non-technical projects in nonprofit organizations. I’m becoming a little obsessed with non-technical applications of Agile (see ScrumYourWedding, coming soon!)

I <3 talking to people!


http://hannahgrams.com/2014/11/07/talking-to-people/


Mozilla Release Management Team: Firefox 34 beta6 to beta7

Пятница, 07 Ноября 2014 г. 23:24 + в цитатник

  • 58 changesets
  • 166 files changed
  • 5644 insertions
  • 1883 deletions

ExtensionOccurrences
cpp54
h36
xhtml18
js11
css7
build6
webidl5
java3
ini3
in3
html3
c2
xul1
py1
mm1
mk1
list1
jsx1
ipdlh1
hgtags1

ModuleOccurrences
layout42
gfx32
content14
browser12
dom11
widget10
parser10
media7
mobile6
toolkit4
netwerk3
testing2
js2
webapprt1
modules1

List of changesets:

Michael ComellaBug 1092254 - Use Solo.waitForCondition under the hood in BaseTest.waitForTest. r=liuche, a=test-only - cdd31f8931ae
Mark FinkleBug 1091410 - Intermittent testLinkContextMenu | Wait for the URLBar. r=bnicholson, a=test-only - 2ad92b68de0b
Henri SivonenBug 1088635. r=smaug, a=dveditz. - 2be3d4150683
Mats PalmgrenBug 1077687 - If we have a pending request to rebuild all style data then do so instead of processing individual restyles. r=roc, a=dveditz - fdb8b52bea5c
Randall BarkerBug 1055562 - Crash in java.lang.IllegalStateException: Callback has already been executed. r=wesj, a=lsblakk - 3c9ba9327aa9
Bas SchoutenBug 1093694 - Don't allow any graphics features when there's a driver version mismatch. r=jrmuizel, a=sledru - 38b0e08b93b7
Benoit JacobBug 1021265 - Regard d3d11 as broken with displaylink on versions <= 8.6.1.36484, and fall back to basic layers. r=jrmuizel, a=sledru - 57c47cb49c03
Ryan VanderMeulenBacked out changeset fdb8b52bea5c (Bug 1077687) for bustage. - 5b4bac2ebf6c
Mats PalmgrenBug 1077687 - If we have a pending request to rebuild all style data then do so instead of processing individual restyles. r=roc, a=dveditz - 4e78f69ca4a9
Georg FritzscheBug 1094035 - Keyed Histograms do not reflect key strings to JS correctly. r=froydnj, a=lmandel - b94f02c9dc7d
Jeff GilbertBug 1037147 - Remove SharedTextureHandle and friends r=mattwoodrow,snorp a=lmandel - 04a5da64e518
James WillcoxBug 1014614 - Rename nsSurfaceTexture to AndroidSurfaceTexture r=jgilbert a=lsblakk - 51f45407f843
James WillcoxBug 1014614 - Expose more SurfaceTexture API in AndroidSurfaceTexture r=blassey a=lsblakk - ed90f61eb314
James WillcoxBug 1014614 - Expose Android native window via AndroidNativeWindow wrapper r=blassey a=lsblakk - 9d1af2396d45
James WillcoxBug 1014614 - Do not try to use a temporary texture for SurfaceTexture r=jgilbert a=lsblakk - 6b03a2b8f2f4
James WillcoxBug 1014614 - Fix JNI wrapper for registering SurfaceTexture listener callbacks r=blassey a=lsblakk - bef38c92bab9
James WillcoxBug 1014614 - Support attach/detach of GLContext to AndroidSurfaceTexture r=jgilbert a=lsblakk - c82e88a99ca3
Andrew Martin McDonoughBug 1014614 - Use Android MediaCodec for decoding H264 and AAC in MP4 r=cpearce,edwin a=lsblakk - 47ea294898a0
James WillcoxBug 1014614 - Add GLBlitHelper::BlitImageToFramebuffer and support SurfaceTexture images r=jgilbert a=lsblakk - 2973ae13faaa
James WillcoxBug 1014614 - Fix readback of SurfaceTextureImage r=jgilbert a=lsblakk - 5813f7c574ce
James WillcoxBug 1089423 - Catch MediaCodec exceptions r=gcp a=lsblakk - cd94c836426e
James WillcoxBug 1089159 - Correctly use MediaCodec's audio output format r=cpearce a=lsblakk - 5811de401315
Daniel HolbertBug 1055665 part 1: Backout changeset aece7f9f944c (i.e. backout Bug 1032922 part 2). a=lmandel - b4e9b4dab577
Daniel HolbertBug 1055665 part 2: Backout changeset af2a4fb980ad (i.e. backout Bug 1032922 part 1). a=lmandel - d04d205b6c12
Stephen PohlBug 1091109: Don't sign webapprt-stub on OSX because webapps fail to launch due to quarantine bit. r=smichaud,myk a=lmandel - a8edc81c39d5
Randell JesupBug 1061702: Stop audio sources from continuing to play garbage after being stopped r=roc a=lmandel - d9f441a027e5
Daniel HolbertRevert changesets d04d205b6c1 and b4e9b4dab577 because they landed with the wrong bug number. - 0430d2b93ed3
Daniel HolbertBug 1093316 part 1: Backout changeset aece7f9f944c (i.e. backout Bug 1032922 part 2). a=lmandel - af442befe914
Daniel HolbertBug 1093316 part 2: Backout changeset af2a4fb980ad (i.e. backout Bug 1032922 part 1). a=lmandel - 6f460d9ed80d
Ralph GilesBug 1073805 - Fix HE-AAC regression on windows. r=kinetik,cpearce a=lmandel - decaff6b28c7
Andrea MarchesiniBug 1082734 - Disable location.searchParams for cross-origin insecure data access. r=bz, a=lmandel - d8080081d33a
Benoit JacobBug 1093863 - Blacklist D3D on dual Intel/AMD not advertised as such in the registry. r=jrmuizel, a=lmandel - c8d99c0a36d9
James WillcoxBack out 04a5da64e518..5811de401315 - 375b5fca3825
James WillcoxMerge backout, a=bustage - 4cd1151d9de0
Stephen PohlBackout a8edc81c39d5 for causing an increased number of intermittent Bug 1059238. a=bustage - 81cf187bba10
Mark BannerBug 1093475 When a Loop call URL is deleted/blocked, use the proper session. r=mikedeboer a=lmandel - caa27159afeb
Randell JesupBug 1090415: add *.room.co to screensharing whitelist rs=mreavy a=lmandel - 43e9c7a57468
Jim ChenBug 1073328 - Prevent using our own handler as system handler. r=snorp, a=lmandel - 967cb2edcd52
Brian HackettBug 1091459 - Only interrupt JS execution after running long enough that the slow script dialog might need to be shown. r=bholley, a=lmandel - de49643707ae
Gijs KruitboschBug 1063121 - Dropping out of fullscreen mode without titlebar breaks titlebar/tabs layout. r=jimm, a=lmandel - f6b893ef9186
Dragana DamjanovicBug 1085266 - NetworkActivityMonitor PRIOMethods changed to be static, because not attached nsUDPSockets were crashing if SocketTransportService had been shut down. A small fix to nsUDPSocket destructor has been added. r=michal, a=lmandel - dfe08b30f41f
Andrew McCreightBug 1066212 - Disable dom/audiochannel/tests/test_telephonyPolicy.html on Android. r=baku a=test-only - 57e502f33317
Jeff GilbertBug 1037147 - Remove SharedTextureHandle and friends r=mattwoodrow,snorp a=lmandel - 99c1af40ea1b
James WillcoxBug 1014614 - Rename nsSurfaceTexture to AndroidSurfaceTexture r=jgilbert a=lsblakk - 03bb1ca133ee
James WillcoxBug 1014614 - Expose more SurfaceTexture API in AndroidSurfaceTexture r=blassey a=lsblakk - edbde27790f4
James WillcoxBug 1014614 - Expose Android native window via AndroidNativeWindow wrapper r=blassey a=lsblakk - 4053de7eee7b
James WillcoxBug 1014614 - Do not try to use a temporary texture for SurfaceTexture r=jgilbert a=lsblakk - 2a7e9525f500
James WillcoxBug 1014614 - Fix JNI wrapper for registering SurfaceTexture listener callbacks r=blassey a=lsblakk - 9c77e16f165c
James WillcoxBug 1014614 - Support attach/detach of GLContext to AndroidSurfaceTexture r=jgilbert a=lsblakk - 997aac78a0b2
Andrew Martin McDonoughBug 1014614 - Use Android MediaCodec for decoding H264 and AAC in MP4 r=cpearce,edwin a=lsblakk - 04cc5b970bb6
James WillcoxBug 1014614 - Add GLBlitHelper::BlitImageToFramebuffer and support SurfaceTexture images r=jgilbert a=lsblakk - 2a84f955f197
James WillcoxBug 1014614 - Fix readback of SurfaceTextureImage r=jgilbert a=lsblakk - ac0c848981db
James WillcoxBug 1089423 - Catch MediaCodec exceptions r=gcp a=lsblakk - a915fb067948
James WillcoxBug 1089159 - Correctly use MediaCodec's audio output format r=cpearce a=lsblakk - 53692e16c248
Jonathan KewBug 1093949 - Reverse scroll position for RTL content. r=mats, a=lmandel - 4e453b566e83
Stephen PohlBug 1091109: Don't sign webapprt-stub on OSX because webapps fail to launch due to quarantine bit on CLOSED TREE. r=smichaud,myk a=lmandel,RyanVM - 557655b23004
Nils Ohlmeier [:drno]Bug 1089207: fix parsing of invalid fmtp att r=drno,jesup a=lmandel - f30e1c0c0694
Nicolas SilvaBug 1089183 - Blacklist D2D on a range of ATI drivers that don't handle dxgi keyed mutex properly. r=bjacob, a=sledru - 8e812440658b

http://release.mozilla.org/statistics/34/2014/11/07/fx-34-b6-to-b7.html


John O'Duinn: “The Value of RelEng” Keynote at USENIX URES East 2014

Пятница, 07 Ноября 2014 г. 17:22 + в цитатник

I was honored to give the opening keynote for USENIX URES14 East in Philadelphia in June 2014.

“The Value of Release Engineering as a Force Multiplier” keynote built on top of the “RelEng as a Force Multiplier” presentation I gave at RelEngConf 2013 and as then as a Google Tech Talk. (To get the slides in PDF format, click on thumbnail. Happy to share the original 25MB keynote file, just let me know and we’ll figure out a way to share without hammering my poor website.)

Anyone who has ever talked with me about RelEng knows I feel very strongly that Release Engineering is important to the success of every software project. Writing a popular v1.0 product is just the first step. If you want to keep your initial early-adopter users by shipping v1.0.1 fixes, or grow your user base by shipping new v2.0 features to your existing users, you need a reproducible pipeline for accurately delivering software in a repeatable manner. Otherwise, you are “only” delivering a short-lived flash-in-the-pan one-off project. In my opinion, this pipeline is another product that software companies need to develop, alongside their own unique product, if they want to stay in the marketplace, and scale.

Its typical for Release Engineers to talk about the value of RelEng in terms that Release Engineers value – timely delivery, accurate builds, turnaround time, etc. I believe its important to also describe Release Engineering in terms that people across an organization can understand. In my keynote, I specifically talked about the value of RelEng in terms that people-who-run-companies value – unique business opportunities, market / competitive advantages, new business models, reduced legal risk, etc.

Examples included: Mozilla’s infrastructure improvements which reduced turnaround time for delivering security fixes as well as helped deter future attacks… Hortonwork’s business ability to provide enterprise-grade support SLAs to customers running mission critical production “big data” systems on 100% open source Apache Hadoop… and even NASA’s remote software update of the Mars Rover.

People seemed to enjoy the presentation, with lively questions during, afterwards… and even into the end-of-day panel session.

Big thanks to the organizers (especially Dinah McNutt (RelEng at Google), Gareth Bowles) – they did an awesome job putting together a unique and special event.

Oh, and one more thing! Next week, USENIX URES14 West will start on Monday 10nov2014 in Seattle. If you are in the area, or can get there for Monday, you should attend! And make sure to see Kmoir’s presentation “Scaling Capacity While Saving Cash” – if you follow her blog, you know you can expect it to be well worth attending.

[Updated to include links to usenix recordings. joduinn 08nov2014]

http://oduinn.com/blog/2014/11/07/keynote-at-usenix-ures-east-2014/


Mozilla Reps Community: Reps Weekly Call – November 6th 2014

Пятница, 07 Ноября 2014 г. 16:02 + в цитатник

Last Thursday we had our regular 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.

luis-ioana

Summary

  • Firefox 10th updates.
  • Reps of the month October.
  • Reminder about Monday Meetings.
  • Community Calls for QA.
  • Reps newsletter coming soon.

Detailed notes

AirMozilla video

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

https://blog.mozilla.org/mozillareps/2014/11/07/reps-weekly-call-november-6th-2014/


Mozilla Release Management Team: Firefox 33.0.2 to 33.0.3

Пятница, 07 Ноября 2014 г. 14:50 + в цитатник

  • 4 changesets
  • 8 files changed
  • 53 insertions
  • 16 deletions

ExtensionOccurrences
cpp4
txt2
hgtags1
h1

ModuleOccurrences
widget3
gfx2
config1
browser1

List of changesets:

Nicolas SilvaBug 1064107 - Ensure that gfxPlatform is initialized by the time we create the compositor. r=Bas, a=sledru - 691739025fac
Bas SchoutenBug 1093694 - Don't allow any graphics features when there's a driver version mismatch. r=jrmuizel, a=sledru - 7311ad1fba8c
Benoit JacobBug 1021265 - Regard d3d11 as broken with displaylink on versions <= 8.6.1.36484, and fall back to basic layers. r=jrmuizel, a=sledru - 63daea50bacd
Benoit JacobBug 1093863 - Blacklist D3D on dual Intel/AMD not advertised as such in the registry. r=jrmuizel, a=lmandel - 983a710b51c4

http://release.mozilla.org/statistics/33_0/2014/11/07/fx-33.0.2-to-33.0.3.html



Поиск сообщений в rss_planet_mozilla
Страницы: 472 ... 94 93 [92] 91 90 ..
.. 1 Календарь