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

Поиск сообщений в 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 ленты.
По всем вопросам о работе данного сервиса обращаться со страницы контактной информации.

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

Air Mozilla: Bugzilla Development Meeting

Среда, 23 Сентября 2015 г. 17:00 + в цитатник

Bugzilla Development Meeting Help define, plan, design, and implement Bugzilla's future!

https://air.mozilla.org/bugzilla-development-meeting-20150923/


Gervase Markham: Competition: The Mozilla Manifesto Principles in Simple Words

Среда, 23 Сентября 2015 г. 15:50 + в цитатник

Randall Munroe of XKCD has written a whole book which explains things using only simple words. It’s called “Thing Explainer“. He’s also written a writing checker for people who want to write more things like that.

I am asking everyone to see if they can write the ten key points of the Mozilla Manifesto in a new way, saying the same things but using only simple words which his checker likes (like this writing that you are reading does).

You are allowed to use “Internet” even though it’s not a simple word, but if you find a way to not use “Internet”, that’s even better. You are also allowed to use “Mozilla” in the heading at the top, which will be “Mozilla Manifesto” but using only simple words.

It’s probably best if you put up your writing somewhere else on the Internet and then add some information here to say where it is. But if that’s a problem for you, you can put your writing here instead.

The person who makes the best writing will get something. I don’t know what yet. But making the best writing should make you happy anyway.

If you think this is a good and fun idea, then please tell everyone you know (in a nice way) so they can try as well.

I hope everything goes very well for you in this.

http://feedproxy.google.com/~r/HackingForChrist/~3/1BZiY1WTYek/


Byron Jones: happy bmo push day!

Среда, 23 Сентября 2015 г. 08:24 + в цитатник

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

  • [1203991] change the suggested fxos 2fa app (again)
  • [1204704] Backport upstream testsuite changes to test against bug 1202447
  • [1205683] Feature request: STR and regression-range pulldowns
  • [1199087] extend 2fa protection beyond login
  • [1204645] the ‘last seen’ value in the group membership report should use a profile’s last-seen date, not the cookie

discuss these changes on mozilla.tools.bmo.


Filed under: bmo, mozilla

https://globau.wordpress.com/2015/09/23/happy-bmo-push-day-161/


Cameron Kaiser: Sandboxin' Safari on PowerPC (because plugins can't be trusted, and neither can you)

Среда, 23 Сентября 2015 г. 07:45 + в цитатник
First, for your entertainment, another episode of keeping old Power Macs running in the age of Intel. The hardware failure this week was oslo, the Sawtooth G4 file server and backup depot, which started throwing weird checksum errors on its Sunday backups which I couldn't figure out at the time, and then completely seized up around 2:30am yesterday morning while the G5 was backing up to it. The system is not especially complex; besides the default Rage 128 AGP card, it has a Gigabit Ethernet NIC for a point-to-point connection to the G5, an Orange Micro Grappler+ SCSI card that seemed like a good idea at the time but other than driving a SCSI CD burner essentially does nothing, and a FireWire 800 card in the bottom PCI slot connected to a 4-drive external RAID 5.

When I started getting alarms that oslo was unresponsive from the systems that couldn't dump backups on it anymore, I tried to bring it back up after work and noticed I was missing the array's core HFS+ volume (the array is partitioned into three). While the array's UFS volume seemed intact, none of the files verified; worse, not only was the HFS+ volume on it completely hosed, DiskWarrior actually crashed trying to repair it after throwing an error I'd never seen before (2351, -36 in case anyone is searching in the future).

Now, this is a backup array, so it could be dispensed with, but I wanted to understand what was going on first before wiping it. In the interest of ruling out the controller, I first decided to see if it was a problem with the array hardware and connected the RAID over FireWire to the iBook instead. To my surprise and delight, the files on the UFS volume checked out! I quickly booted DiskWarrior on the iBook and managed to get the HFS+ volume repaired -- it was pretty hideously mangled but spot checks on the files seemed to validate. So that ruled out the array.

At this point I concluded it must have been something wrong with the FW800 card. I'm notorious for keeping large amounts of spares on hand, so I got a spare FW800 card out that I'd bought as a Fry's special six years ago, pulled the old one from the bottom slot and installed the new one in the same place, and connected the array. This time, no volumes mounted, and System Profiler actually crashed when I asked it to enumerate FireWire devices. I powered off the system and said something intemperate, then started to wonder if it was something about the slot or (grr) the logic board. Fortunately, I could dispense with the Grappler+ since it was just occupying space, so I pulled that and put the new card in its slot instead. Everything mounted. Whew! Conclusion: bad PCI slot, possibly bad card as well, not clear if or which one caused the other, but I'm not going to take chances -- that card's going in the eWaste bin. Either way, the moral of this story is to not only keep backups, but keep spare parts on hand, because you never know when you'll need them. And oslo has a complete body double in the stock closet for the day it might blow its logic board entirely. Still, not bad for a machine that was built 15 years ago.

Now to the main event. I mentioned a while back a couple of secret projects I've been working on, and while one of them is probably going to get invalidated by Google again in the very near future, this second one has bigger import: no less than a safer, sandboxed way to run Flash and other plugins on Tiger. Let me introduce you to SandboxSafari.

First, let's be painfully clear about two important points: both Flash and Java remain unsafe to run on Power Macs, and TenFourFox's no-plugins policy remains inviolate. That's not ever going to change. But there are still sites people want to visit that insist on requiring a plugin and some of the sites either still work or can be coerced to work with the older version of Flash Player available for PowerPC. While not all the problems can be mitigated, it seemed to me that there could be a safer way of doing so that would reduce a potential attack profile.

Because our primary operating system of interest is Tiger (Leopard is supported, but I've always been frank that the best reason to still own a Power Mac is to run Classic apps, and that means 10.4), we can't use the Leopard sandbox, and the Leopard sandbox has at least one sandbox escape that was never fixed (though I suppose in the future it could be part of a blended implementation). So SandboxSafari takes a different approach: it runs a very limited WebKit instance in a separate process as nobody so that it doesn't run within TenFourFox or even run as you. By limiting the functionality it exposes and the privileges it can wield, it reduces the chance of an unsafe operation because it can't do many such operations.

In fact, SandboxSafari is so limited you can't even use it as a regular browser; there's no tabs, no downloads, only a single window and almost no chrome except for a right-click context menu for navigation. You feed it URLs through Launch Services, not through a typical address bar -- because there isn't one! It can't even save its own settings, nor can any plugin it instantiates, let alone anything else. The overriding idea is "as little as possible to go wrong."

So how do you use it? TenFourFox integrates with SandboxSafari through an enabler add-on included in the package. Let's say you're on one of those troublesome sites and you need Flash to operate on it. Just right-click on an open area of the page and from the context menu select the option to pass the URL to SandboxSafari (or pass it and close the tab simultaneously, such as a video site you don't need to keep open in TenFourFox). SandboxSafari will open to that URL; when you're done, just close the window and it will return to the previous app (invariably TenFourFox). You can drive SandboxSafari from your own application with AppleEvents, btw; see the openurl tool in the source code bundle.

SandboxSafari is not at all complete protection. Even though crashes are limited to the SandboxSafari process, it may still be possible for a malicious or misbehaving site to trigger other OS bugs, and while it's designed to resist modifying old files as well as creating new files, it may still be able to read other files and possibly be manipulated to upload them. A subverted plugin may also be able to activate input contexts that capture all keyboard events or draw things that look like password dialogues, and while these would disappear when SandboxSafari quits, they could potentially grab data anyway if you type in sensitive information while SandboxSafari is running. These kinds of operations are not generally dependent on the user ID in use or cannot otherwise be blocked with this method of sequestration. There are other limitations with what it can access and you should read the documentation thoroughly beforehand so you understand why.

SandboxSafari is also provided to you "best effort" and strictly "as-is." It's a means to get obsolete, insecure software to run a little more safely, but the software in question is unmaintained and known to have problems, and that means you should expect to have problems with it too. Because I don't want to turn my life into a living hell with people who can't read and don't care sending me complaints I don't want, the policy is explicit: bug reports that do not include fixes will be ignored (unless it's an obvious security issue over and above the security issues I already know it has). Don't write it here, don't post it to Tenderapp, don't E-mail me. If you're having trouble with it and you don't know why or don't care to find out how to fix it, then don't use it. I'm serious. I have enough to worry about with TenFourFox without regretting anything else I maintain. :P

Download SandboxSafari here, after reading the page thoroughly, and God have mercy on your souls.

http://tenfourfox.blogspot.com/2015/09/sandboxin-safari-on-powerpc-because.html


Yunier Jos'e Sosa V'azquez: Firefox a~nade nuevas caracter'isticas para desarrolladores y mejoras en Hello

Среда, 23 Сентября 2015 г. 04:06 + в цитатник

Siguiendo el ciclo de actualizaciones r'apidas, Mozilla liber'o hace unas horas una nueva versi'on de Firefox. En esta entrega podremos disfrutar de nuevas funcionalidades, relacionadas principalmente con la seguridad y orientadas a los desarrolladores web. Por su parte, la decodificaci'on de im'agenes es hasta 2 veces m'as r'apida en algunos dispositivos especialmente cuando se hace scroll.

Firefox Hello, el servicio p'ublico y gratuito de videollamadas ha sido actualizado e incluye mensajer'ia instant'anea (chat) para mejorar las conversaciones o en caso que no poseamos una webcam.

helloChat

Ahora tenemos la posibilidad de agregar una foto al perfil a la cuenta Firefox (empleada en Sync para sincronizar nuestros dispositivos) y se ha mejorado el soporte IME en Windows (Vista o superior) a trav'es de TSF (Text Services Framework).

Para Android

  • Desde el panel de b'usqueda puedes buscar f'acilmente con diferentes proveedores (Google, Yahoo, DuckDuckGo, etc).
  • Mejorada la administraci'on de marcadores y la detecci'on de marcadores duplicados.
  • Ahora puedes deslizar para cerrar las pesta~nas en las tabletas.
  • A~nadido el idioma Croata (hr).
  • Posibilidad de abrir aplicaciones de Android desde una p'agina web mediante Intent URIs.

Otras novedades

  • Las im'agenes SVG pueden ser usadas como favicons.
  • Las peticiones de red pueden ser exportadas en formato HAR.
  • El c'odigo HTML de una p'agina web se abre ahora en una nueva pesta~na.
  • WebRTC requiere perfect forward secrecy.
  • Desde la vista de etiquetas se pueden realizar capturas a los nodos.
  • Copiar y pegar contenido a trav'es de JavaScript de la papelera del sistema operativo puede hacerse mediante document.execCommand(“cut”/”copy”).
  • La API CSS Font Loading ha sido habilitada por defecto.
  • A~nadida el soporte para la propiedad transform-origin en los elementos SVG.
  • Puedes a~nadir nuevas reglas CSS con el nuevo bot'on Nueva regla del Inspector.
  • Eliminado el soporte para los componentes XPCOM en las extensiones, en su lugar use el m'odulo “system/child_process” del Add-on SDK.
  • Las APIs MessageChannel y MessagePort han sido habilitadas por defecto.
  • Otras mejoras de seguridad y rendimiento.

Si deseas, puedes leer las notas de lanzamiento para conocer m'as novedades.

Puedes obtener esta versi'on desde nuestra zona de Descargas en espa~nol e ingl'es para Linux, Mac y Windows. La versi'on para Android no la tenemos pero en cuanto est'e disponible les avisaremos.

http://firefoxmania.uci.cu/firefox-anade-nuevas-caracteristicas-para-desarrolladores-y-mejoras-en-hello/


The Mozilla Blog: Updates to Firefox Accounts and Firefox Hello Beta

Вторник, 22 Сентября 2015 г. 19:18 + в цитатник

The latest Firefox update is now available. This release includes minor updates to personalize your Firefox Account and adds a new functionality to Firefox Hello Beta.

Firefox Accounts provides access to services like Firefox Sync to let you take browsing data such as passwords, bookmarks, history and open tabs across your desktop and mobile devices. The latest update to Firefox Accounts allows you to personalize your Firefox Account profile in Firefox for Windows, Mac, Linux and Android by adding a photo.

Firefox Hello Beta, developed with our partner Telef'onica, is the global communications system built directly into a browser and it will now let you send and receive instant messages when you’re in a video call in Firefox for Windows, Mac and Linux.

More information:

https://blog.mozilla.org/blog/2015/09/22/updates-to-firefox-accounts-and-firefox-hello-beta/


Patrick McManus: Brotli Content-Encoding for Firefox 44

Вторник, 22 Сентября 2015 г. 19:15 + в цитатник
The best way to make data appear to move faster over the Web is to move less of it and lossless compression has always been a core tenet of good web design.

Sometimes that is done via over the top gzip of text resources (html, js, css), but other times it is accomplished via the compression inherent in the file format of media elements. Modern sites apply gzip to all of their text as a best practice.

Time marches on, and it turns out we can often do a better job than the venerable gzip. Until recently, new formats struggled with matching the decoding rates of gzip, but lately a new contender named brotli has shown impressive results. It has been able to improve on gzip anywhere from 20% to 40% in terms of compression ratios while keeping up on the decoding rate. Have a look at the author's recent comparative results.

The deployed WOFF2 font file format already uses brotli internally.

If all goes well in testing, Firefox 44 (ETA January 2016) will negotiate brotli as a content-encoding for https resources. The negotiation will be done in the usual way via the Accept-Encoding request header and the token "brotli". Servers that wish to encode a response with brotli can do so by adding "brotli" to the Content-Encoding response header. Firefox won't decode brotli outside of https - so make sure to use the HTTP content negotiation framework instead of doing user agent sniffing.

We expect Chrome will deploy something compatible in the near future.

The brotli format is defined by this document working its way through the IETF process. We will work with the authors to make sure the IANA registry for content codings is updated to reference it.

You can get tools to create brotli compressed content here and there is a windows executable I can't vouch for linked here

http://bitsup.blogspot.com/2015/09/brotli-content-encoding-for-firefox-44.html


Joel Maher: DX Contribution Program – Wrap up

Вторник, 22 Сентября 2015 г. 04:39 + в цитатник

This summer went by fast.  Back in May we announced the opportunity to participate in the DX project.  In June we announced the team.  August ended and the project officially came to a halt.  First off, I would really like to thank all the participants who took interest in this program.  With 5 eager hackers, there is a lot to do!  As the summer wore on, some folks got side tracked, others worked when they could and some kept moving forward.  No matter what the outcome, I do applaud the 5 great contributors who spent their free time getting setup and started on a project.

Now that we are at the end, I would like to outline some of the work that was done and things that were learned.

A few great things got started like mach usage statistics, and Marionette harness cleanup.  These are not easy to get started on and figure out all the quirks with our full scale ecosystem.  It is wonderful to see ideas and progress being made.   Thanks BYK and sehgalvibhor.

Two other projects didn’t get much traction.  While I like to blame myself as a mentor (yes, I could have done a bit more or scoped the projects differently), we ended up not making progress on a few projects.  This is OK, and there is always stuff to learn.  On the projects that didn’t get going, I saw gma_fav struggle a bit, but persist.  I know the right project is out there and she will succeed next time, ideally at Mozilla!  I enjoyed learning about wunderlist from stanley, and will look forward to more of his enthusiasm.

The last project is run-by-dir.  kaustabh93 really worked consistently on this and learned a lot about working in the mozilla-central tree, using try, and understanding our infrastructure.  A lot of work was done for mochitest-plain and mochitest-chrome.  He is still hacking away and making fast progress.  As Kaustabh was the only contributor who was consistent throughout the entire program, I wanted to hear his perspective on the program:

How did you hear about the program, why were you interested?
I had been a contributor at Mozilla for quite sometime working mainly on AlertManager and familiarizing myself with Mochitests by means of solving bugs and reading code. It was at this time, that my curriculum needed me to do an industrial project (internships/training/other programs for which the company would acknowledge mt work by means of certificates or letters or both). I brought this up with my mentor and a few days later, he informed me about this program.
It had been an awesome experience coding for Mozilla so far & hence I got interested instantly.
What did you find challenging?  How did you overcome these challenges?
The existing volume of codes were huge and getting to know what is what was challenging. I overcame this by solving smaller bugs first and reading codes and of course a lot of help, advice & explanation from my mentor, jmaher. He is an awesome person and one of the best mentors, I’ve known.

What advice would you give for anybody looking to contribute in this program?

People looking to contribute to this program should get involved in coding for Mozilla some time prior to commencement of this program. That way they can be familiarized with the existing codes and can better understand their work and this way, they can make the maximum impact with their work. And they should continue contributing to Mozilla even after this program closes.
Other thoughts : One more thing that I should advice people regarding this program is that if they contribute to Mozilla just for this programs (contribution start and end dates coincides with that of the program), then they’re probably doing it wrong.

While I appreciate the callout as a great mentor, there are many other great Mozillian mentors, it is my pleasure to work with folks who contribute their free time to the project,

Without making this too long, I did learn a lot from this great group of participants.  A few tips for becoming a better mentor (you get better with experience and learn from mistakes) is to communicate regularly with whom you are mentoring, this should be at least twice a week.  While mentoring involves a lot of encouragement and gentle guidance, it is important to listen more to what roadblocks are in place (schedules, technical, etc.) and sometimes we need to move to a smaller or simpler project until the timing is right for the big project.  One other big callout was that gma_fav was helpful in making me really understand how our use of master/slave is offensive to many, I am glad I listened to her and worked with her for a couple months!

I look forward to watching these contributors grow outside of this program and meeting more great folks!

https://elvis314.wordpress.com/2015/09/21/dx-contribution-program-wrap-up/


About:Community: Firefox 41 new contributors

Вторник, 22 Сентября 2015 г. 00:57 + в цитатник

With the release of Firefox 41, we are pleased to welcome the 62 developers who contributed their first code change to Firefox in this release, 51 of whom were brand new volunteers! Please join us in thanking each of these diligent and enthusiastic individuals, and take a look at their contributions:

http://blog.mozilla.org/community/2015/09/21/firefox-41-new-contributors/


Blake Winton: Hey! Let’s Write a WebExtension!

Понедельник, 21 Сентября 2015 г. 21:52 + в цитатник

(This article is also posted on Mozilla Hacks.)

You might have heard about Mozilla’s WebExtensions, our implementation of a new browser extension API for writing multiprocess-compatible add-ons. Maybe you’ve been wondering what it was about, and how you could use it. Well, I’m here to help! I think MDN’s WebExtensions Docs have a pretty great definition:

WebExtensions are a new way to write Firefox extensions.

The technology is developed for cross-browser compatibility: to a large extent the API is compatible with the extension API supported by Google Chrome and Opera. Extensions written for these browsers will in most cases run in Firefox with just a few changes. The API is also fully compatible with multiprocess Firefox.

The only thing I would add is that while Mozilla is implementing most of the API that Chrome and Opera support, we’re not restricting ourselves to only that API. Where it makes sense, we will be adding new functionality and talking with other browser makers about implementing it as well. Finally, since the WebExtension API is still under development, it’s probably best if you use Firefox Nightly for this tutorial, so that you get the most up-to-date, standards-compliant behaviour. But keep in mind, this is still experimental technology — things might break!

Starting off

Okay, let’s start with a reasonably simple add-on. We’ll add a button, and when you click it, it will open up one of my favourite sites in a new tab.

Read more… (6 min remaining to read)

https://weblog.latte.ca/blake/tech/firefox/webextensiontutorial.html


Air Mozilla: Mozilla Weekly Project Meeting

Понедельник, 21 Сентября 2015 г. 21:00 + в цитатник

Daniel Pocock: Skype outage? reSIProcate to the rescue!

Понедельник, 21 Сентября 2015 г. 20:19 + в цитатник

On Friday, the reSIProcate community released the latest beta of reSIProcate 1.10.0. One of the key features of the 1.10.x release series is support for presence (buddy/status lists) over SIP, the very thing that is currently out of action in Skype. This is just more proof that free software developers are always anticipating users' needs in advance.

reSIProcate 1.10.x also includes other cool things like support for PostgreSQL databases and Perfect Forward Secrecy on TLS.

Real free software has real answers

Unlike Skype, reSIProcate is genuine free software. You are free to run it yourself, on your own domain or corporate network, using the same service levels and support strategies that are important for you. That is real freedom.

Not sure where to start?

If you have deployed web servers and mail servers but you are not quite sure where to start deploying your own real-time communications system, please check out the RTC Quick Start Guide. You can read it online or download the PDF e-book.

Is your community SIP and XMPP enabled?

The Debian community has a federated SIP service, supporting standard SIP and WebRTC at rtc.debian.org for all Debian Developers. XMPP support was tested at DebConf15 and will be officially announced very soon now.

A similar service has been developed for the Fedora community and it is under evaluation at fedrtc.org.

Would you like to extend this concept to other free software and non-profit communities that you are involved in? If so, please feel free to contact me personally for advice about how you can replicate these successful initiatives. If your community has a Drupal web site, then you can install everything using packages and the DruCall module.

Comment and discuss

Please join the Free-RTC mailing list to discuss or comment

http://danielpocock.com/skype-outage-resiprocate-to-the-rescue


The Servo Blog: These Weeks In Servo 34

Понедельник, 21 Сентября 2015 г. 19:01 + в цитатник

It’s been a long time! In the 16 weeks since the last “This Week in Servo,” we have:

Progress is amazing, and we apologize for the hiatus in this post!

New Contributors

Wow - 64 new contributors (4 per week)!

Screenshots

Github, looking nearly pixel-perfect!

Meetings

All of the minutes of the (many!) missed meetings are available here.

http://blog.servo.org/2015/09/21/twis-34/


Armen Zambrano: Minimal job scheduling

Понедельник, 21 Сентября 2015 г. 16:15 + в цитатник
One of the biggest benefits of moving the scheduling into the tree is that you can adjust the decisions on what to schedule from within the tree.

As chmanchester and I were recently discussing, this is very important as we believe we can do much better on deciding what to schedule on try.

Currently, too many developers push to try with  -p all -u all (which schedules all platforms and all tests). It is understandable, it is the easiest way to reduce the risk of your change being backed out when it lands on one of the integration trees (e.g. mozilla-inbound).

In-tree scheduling analysis

What if your changes would get analysed and we would determine the best educated guess set of platforms and test jobs required to test your changes in order to not be backed out on an integration tree?

For instance, when I push Mozharness changes to mozilla-inbound, I wish I could tell the system that I only need these set of platforms and not those other ones.

If everyone had the minimum amount of jobs added to their pushes, our systems would be able to return results faster (less load) and no one would need to take short cuts.

This would be the best approximation and we would need to fine tune the logic over time to get things as right as possible. We would need to find the right balance of some changes being backed out because we did not get the right scheduling on try and getting results faster for everyone.

Prioritized tests

There is already some code that chmanchester landed where we can tell the infrastructure to run a small set of tests based on files changed. In this case we hijack one of the jobs (e.g. mochitest-1) to run the most relevant tests to your changes which would can normally be tested on different chunks. Once the prioritized tests are run, we can run the remaining tests as we would normally do. Prioritized tests also applies to suites that are not chunked (run a subset of tests instead of all).

There are some UI problems in here that we would need to figure out with Treeherder and Buildbot.

Tiered testing

Soon, we will have all technological pieces to create a multi tiered job scheduling system.

For instance, we could run things in this order (just a suggestion):
  • Builds
  • Prioritized tests (run in 5 to 15 mins)
  • Remaining tests in normal mode

This has the advantage of using prioritized tests as a canary job which would prevent running the remaining tests if we fail the canary (shorter) job.

Post minimal run (automatic) precise scheduling (manual)

This is not specifically to scheduling the right thing automatically but to extending what gets scheduled automatically.
Imagine that you're not satisfied with what gets scheduled automatically and you would like to add more jobs (e.g. missing platforms or missing suites).
You will be able to add those missing jobs later directly from Treeherder by selecting which jobs are missing.
This will be possible once bug 1194830 lands.

NOTE: Mass scheduling (e.g. all mochitests across all platforms) would be a bit of a pain to do through Treeherder. We might want to do a second version of try-extender.



Creative Commons License
This work by Zambrano Gasparnian, Armen is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License.

http://feedproxy.google.com/~r/armenzg_mozilla/~3/AJGqLkhXOPg/minimal-job-scheduling.html


Pomax: "Tell me what some of your strengths are..."

Понедельник, 21 Сентября 2015 г. 03:46 + в цитатник

Last week I attended a work seminar on discovering your personal strengths and how to identify and curtail stress behaviour. Let me just give the summary first:

Yes, it was incredibly useful, and I'd urge you to do something similar if you haven't yet.

Know yourself

The main point is to learn what you're good at, so that you can focus your efforts into further developing skills that fall in categories related to where you are at your strongest.

Yes, you might like doing a million different things, but if you really want to develop yourself, find out which few you're really going to be good at, and exploit that. Not necessarily give up on the others, just make sure you focus on the ones that really come to you naturally.

At the same time, know how you react when you get driven into a corner. Some of us are naturals at personal development, most of us are not, and the great thing about attending a seminar like this is that you get exposed to some of the psychology behind a few major generic personalities. For instance, here's my list of "strengths", spread over two categories:

Strategic thinking:

  1. Input: "you crave to know more, and like to collect information and archive it".
  2. Learner: "you have a great desire to learn and continuously improve. In particular, learning, rather than the outcome, excites you".
  3. Intellection: "you are characterized by your intellectual activity. you're introspective, and appreciate intellectual discussions".

Relationship building:

  1. Relator: "you enjoy building close relationships, and find deep satisfaction in working hard with friends to achieve goals".
  2. Connectedness: "you think all things are connected and don't believe in coincidence. almost every event has a reason".

And here's the thing: based on their simple definitions, not all of these strengths make a lot of sense. Thankfully, there are individualised descriptions of what each of these strengths mean, and so things start to make a lot more sense, and rather than "fortune cookie" information, one can actually learn something meaningful.

Meaningful descriptors

The seminar I attended used the Clifton Strengthsfinder 2.0 test, based on data by Gallup gathered over quite a few years from over 100,000 participants. I like science, and if this data is going to say something "about me", then that's at least a decent sample size.

No, of course the predictions won't be perfect, but it'll be good enough to act as starting point to acknowledge your own strengths and personality type, and exploit the strengths while working on minimizing the reactionary tendencies. So: who am I?

Strategic thinking: Input

I like information. I like learning new things, and learning about new things, but I don't particularly care about archiving, because I trust my brain to do that for me without having to bother with it. So what does "input" really mean?

Chances are good that you can simplify the most complex, convoluted, or intricate procedure. People usually rely on you to offer clear and easy-to-comprehend explanations. Driven by your talents, you may notice that certain people turn to you for guidance. Maybe your willingness to share the knowledge you have gained over the years partially explains the fondness they have for you. Some individuals might have benefited from what you have read, observed, or experienced. It’s very likely that you frequently use academic-sounding words to talk about your ideas or areas of expertise. You intentionally spend time broadening your vocabulary by looking up words in the dictionary and committing their meanings to memory. By nature, you occasionally combine your fascination for reading with your ability to figure out what sets specific individuals apart from everyone else. You might discover the things that interest someone. Then you may read more about these topics. Perhaps you aim to collect insights that inspire the person to take advantage of his or her one-of-akind talents, knowledge, and/or skills. Because of your strengths, you might gather ideas and information from reading publications that keep you up to date on particular types of current events. What you choose to peruse — that is, examine studiously — may reflect some of your personal or professional interests.

That makes a bit more sense than the generic summary. It also offers far more footholds when it comes to aspects of this strength that can be relied or built on.

Strategic thinking: Learner

I won't lie: I liked seeing this strength. I do very much enjoy learning new things, and seeing this as one of my strengths was basically one of those "yep, I knew it" moments. However, "I like to learn new things" is a pretty generic strength, so seeing the much bigger analysis was quite useful:

Instinctively, you endorse the importance of acquiring additional knowledge and gaining new skills. You regard education as an ongoing activity. It’s very likely that you occasionally collect bits and pieces of information. At the time, the value of this material may not be apparent. In specific cases, you have found it useful to turn to some specialists for help. Perhaps these individuals can provide you with enough direction so you can ask some questions, render a few decisions, or try to map courses of action without upsetting anyone in the process. You avoid angering certain people by consulting with them before doing anything. Driven by your talents, you may long to gather certain types of information about specific individuals. Perhaps your “need to know” is rarely satisfied. The more facts you gather, the easier it might be for you to understand someone’s strengths, limitations, interests, likes, dislikes, or goals. You might be inclined to study human beings one by one. To some degree, your ongoing observations of selected individuals provide you with interesting insights into human nature. By nature, you intentionally include uncommon, highly technical, or sophisticated words in your vocabulary. You realize that language is a form of knowledge that gives you an upper hand — that is, controlling power — in conversations, debates, or discussions. It quickly establishes you as an authority figure in listeners’ minds. First, you capture their attention. Then you take charge of events, projects, meetings, or problem solving. Chances are good that you may be a solo performer. You might be determined to broaden your knowledge or acquire new skills. Perhaps you are drawn to the process of education.

And there you have it. Pretty much all of this rings true. And yes, on their own each of these phrases sound like a horoscope, but it's not the individual phrases that form the strength, it's the collection of all of them, applicable to this person.

I'm okay with this.

Strategic thinking: Intellection

This strength feels a little weird, because it's hard to go "why yes, I am intellectual" and not come off smug. The main problem is that "intellectual" and "smart" are often treated as the same thing, and in this particular case, they're not. I could give lots of examples, but instead it just makes far more sense to let the snippets do the talking:

Chances are good that you sometimes wish you could switch off your active brain. Even so, you may enjoy your time alone as you ponder ideas. Perhaps you want to test whether they make sense. Because of your strengths, you may be selective about the types of books or publications you read. They might contain information or tips that you can share with individuals you are training. Perhaps imparting knowledge, talking about your experiences, or passing along your skills gives you a certain degree of satisfaction. By nature, you may find it easier to befriend certain types of people if they tell you what they want to accomplish. Knowing that much, you might read some books, journals, newspapers, correspondence, or Internet sites to broaden your knowledge about their interests. When you can share information that helps people move closer to their goals, perhaps you can begin to understand each other a little better. It’s very likely that you eagerly welcome opportunities to think out loud about ideas, theories, or philosophies. You derive pleasure from conversations that force you to ponder matters that exist only in the realm of thought, not in reality. Driven by your talents, you sometimes delight in having your very own tasks to perform. Perhaps you like to solo because it gives you quiet time to reflect on what you think or feel. Maybe you consider what you have done, are doing, or can do better.

Relationship building: Relator

This one confused me, because while I like deep relationships, I'm perfectly fine with shallow ones, too. The generic description didn't seem to match at all, but the detailed one certainly did:

By nature, you are naturally open and honest about who you are, what you have done, what you can do, and what you cannot do. Your straightforward explanations and stories help listeners see you as you see yourself. You reveal your strengths and limitations. You are forthright and plainspoken. People generally seek your company and want to work with you. Many are impelled to move into action by your words and examples. It’s very likely that you periodically are sought out by people whom you have befriended. They may trust you when you have taken time to know them individually. This may partially explain why certain people come back again and again for ideas or suggestions. They might realize you try to tailor your words of wisdom to fit their unique situations, needs, strengths, limitations, goals, or personalities. Driven by your talents, you may be convinced that you are measuring up to your potential. Perhaps you know when you are doing your best work or earning the highest grades you possibly can. Chances are good that you occasionally tell yourself that you are an effective mentor or trainer. Perhaps individuals benefit from the investment you make in them. Because of your strengths, you might do your best training after you become well-acquainted with someone. Perhaps you want to discover each individual’s unique talents, work style, goals, motivations, or interests. Maybe these insights tell you what suggestions to make or what tips to offer during coaching sessions.

In fact, this very blog post is essentially proof of how true this assessment is: I'm right now telling you about something that a lot of people would consider pretty personal, and that last bit pretty much underlines how I even started this post: learning about different personalities and strengths, and how to work with those in oneself and other people, is fascinating, as well as functionally useful.

Relationship Building: Connectedness

And this one was a genuine surprise, at least based on the generic descriptions. It sounds very much like a "faith in the oneness of all things", which really doesn't describe my take on matters at all. I believe in a quantum universe (at least, for now. Physics is still developing), and while I don't believe in "coincidence", I also don't analyse things from just one perspective, and so the notion of "a coincidence" doesn't even make sense to me. There are so many different perspectives on single events that are all simultaneously in effect that even if you'd pretend there was a coincidence in one of those, that same coincidence would vanish in others. This strength felt like nonsense. But then this more personalised description actually made it make sense:

By nature, you may get to know people individually in your quest to gain wisdom. Discovering the qualities that distinguish someone from everyone else might be an essential aspect of your search for truth. Driven by your talents, you might be fascinated with certain ideas, policies, or philosophies that affect human beings around the world. Because of your strengths, you may be able to accept unpredictable events in your life on the basis of sheer faith. Perhaps you sense there is a force greater than you at work in the world. Occasionally you can live with not knowing the exact reason why something good or bad happened to you and not to someone else. Chances are good that you sometimes think like a detective. You might search for and find obvious and not-so-obvious clues. You might determine which ones link together. Now and then, you notice gaps in your investigation. Some of these cannot be explained using reason alone. You may feel comfortable accepting what is unknown and unknowable. Why? To some extent, you trust that everything, everyone, and every action is somehow intertwined. Instinctively, you may be determined to make the acquaintance of certain individuals you identify as seekers of truth. Perhaps you are attracted to people who ponder philosophical questions such as “What is the meaning of life?” or “What is beauty?” or “What constitutes wisdom?” or “Why do bad things happen to good people?” or “Why should ordinary people like me even ask these kinds of questions?”

Reading this, it basically reads as a description of being a university student who's taking a masters in A.I. which happens to be exactly who I was, and whose intellectual inheritance I still live today.

Weaknesses: the reactionary side of things

For the purposes of the seminar, when people get put on the spot, and stressed to a breaking point, the behaviour they might display is broadly categorised in three possible ways:

  1. Complying: giving away the control over the situation and taking it from there.
  2. Protecting: walking away from the situation to protect oneself.
  3. Controlling: going into "getting shit done" mode and steamrolling anyone who doesn't do so as well.

Those are just words with short descriptors, and people often enough display more than one type of behaviour, depending on the situation. However, I know myself reasonably well in this respect, and I'm virtually always protecting:

I will turn off any emotional attachment, and deal with problems in what is best described as "the vulcan way". I've certainly been abrasively critical in the past often enough for it to rub people the wrong way, and I've been trying to get better at not being abrasive, but a seminar like this is a great supplement to introspection: it puts what you sort of already thought into a wider perspective, and most importantly gives you insight into how the way you behave under stress will affect others who are also operating under stress.

If I'm stressed, and the person I'm dealing with is stressed as well (and for whatever reason. Not strictly work), then if they're of a complying nature, we're going to have problems. Because they'll want a resolution, and I'll be offering criticism without solutions. That won't get us anywhere, except "more stuck". Similarly, if they're controlling, they'll be coming up with what solution works, and I'll just shoot it right back down. And that's just the "practical" result, emotionally there's a lot of potential for resentment both ways, and things can get very nasty.

"So tell us some of your strengths..."

You know that question you get at job interviews, where they want to know what your strengths and weaknesses are? This is what they're talking about. This is why I'd recommend everyone to take a seminar like this even if you're between jobs, or even if you've yet to start on your first one. There's "knowing what you're good at", and there's "knowing the strengths that you can build on and exploit", and they're two different things. The first most people develop naturally, by virtue of just doing what they do. The second, everyone can use some help with.

It also lets you know what you're not. That sounds a little weird, because there's an infinite world of infinite possibilities out there, but there're broadly speaking four categories of personalities and strengths that you want as part of an effective team, and a team made entirely of "learners" isn't going to be very useful. Fun, probably, but not something that makes business sense.

I fall in the strategic thinking and relationship building categories. That means that if I'm put on a team, my contribution plays off of having other people with different skills: people with execution skills to keep us on track and meet deadlines, and people with influence skills to get the most out of all the team members as well as facilitate negotiations within the team. Also, having a good spread of different "reactionary" behaviours helps to make sure no one "agrees to be stuck in a rut". Obviously no one likes being stuck, but if we're all the same kind of reactionaries, things go real bad, real fast. Much faster than if there's a good spread.

The take-home message

For me, the take-home message from this seminar was that it's really useful to do a thing like this at least once, even if you don't have a job right now, or you think you know yourself: if you've never done a personal strengths test before then chances are good you think you know what you're good at, and you might know what makes your temper-self so problematic, but there is great value in seeing things affirmed, or even being shown that there are parts of you that you never thought about, but ring very close to home: knowing yourself is not just something that helps you, it also helps others work, or just be, with you.

I've been paired up with a "buddy", and we'll be holding each other accountable for the action plan we've drawn up on how to work on our weaknesses while also trying to focus on what we think are our most exploitable strengths. That probably sounds pretty lame, but at the same time, it's two people being committed to helping each other better themselves in a "no judging" relationship.

That's a pretty sweet outcome for a seminar called "Leadership Discovery".

http://pomax.github.io/#gh-weblog-1442796369118


Cameron Kaiser: 38.3.0 available

Воскресенье, 20 Сентября 2015 г. 08:45 + в цитатник
But first: check out the stylin' official Mozilla add-on shirt I got!

Try as I might, however, I could not find any XUL in it (there is no XUL, only WebExtensions).

TenFourFox 38.3.0 is now available for testing (release notes, hashes, downloads). Currently I'm tracking two confirmed bugs and one questionable one, none of which are fully fixed yet. We have an issue with what appears to be exact rooting and may be partially a compiler bug, but I can only reproduce it on Github, and only specifically with one particular operation. The patch I added to 38.3.0 seems to wallpaper the intermittent crash that can result from it though not the incorrect behaviour it causes with the JITs (but it does restore correct behaviour with the naked interpreter, which was not the case in 38.2.x), although I don't think this is the cause of some of the unreproducible crashes a few people have reported -- YMMV. In addition, the new jsonlz4 compressed JSON bookmark backup format seems to be bogus despite setting all the proper endian options near as I can tell, so I'm not sure why it's writing invalid data. If I can't figure this out, forcing it to save uncompressed backups a la TenFourFox 31 should not be exceptionally hard. The remaining questionable bug allegedly has to do with modal drop-down-sheet requesters becoming unresponsive, which in turn makes the browser halt (more accurately it goes into a loop where it ignores other events), but I can't get it to do so reliably. Because of these issues, official MP3 support is still delayed for the time being.

Disabling incremental garbage collection in lieu of periodic full collections of the tenured heap appears to be a mixed bag with respect to performance. Although it was a win on my systems, a few of you reported it made them somewhat worse, and not enough people reported a difference to really outweigh them. You can still consider trying it on your own Power Mac and seeing if that helps, but I've abandoned this line of enhancement for the time being and it remains enabled by default in 38.3. As always, the browser goes live on Monday evening Pacific time.

I've been slack on some other fun posts and I'll try to catch up on those soon as my situation permits.

http://tenfourfox.blogspot.com/2015/09/3830-available.html


Pomax: Mozilla released a tool I am excited about.

Воскресенье, 20 Сентября 2015 г. 01:02 + в цитатник

tl,dr: you should have a look at https://thimble.mozilla.org, and if you think "this is just a fancy jsbin", challenge yourself to first read http://blog.humphd.org/thimble-and-bramble, which explains in detail how this is nothing like the other "single tool sites" we had on the web until pretty much this month.

With that said, Thimble has a larger story here for me, personally, and I'd like to tell you that story so that you might understand why I am genuinely excited about this tool.

Once upon a time, I was a Java developer.

In a round-about way, my first "being a programmer" identity started in University. As a kid I'd written things in Basic and Turbo Pascal, but it wasn't until University that I was taught how to write structured programs that were more than utilities or silly time wasters.

My first "real programming" kicked in about three years into my AI education, when we were taking a 10 credit course that involved working on real world AI applications, I worked on a java code base for running distributed sensors backed by software agents that collaborated on performing Bayesian reasoning about signal sources. It was interesting, and after the course was done, landed me my first student job continuing my work on it. I ended up designing the code architecture, which ended up landing me my first permanent job, and ultimately gave me a subject I could do a master's thesis on (yes, that's the order things happened in).

Of course I was still programming my own things in my spare time, as well as maintaining some websites (most notably nihongoresources.com) and when a friend mentioned doing some log visualisations using a language called "Processing" (which is the worst name for a programming language that wants to be searchable on the internet btw), I figured I'd have a look at what this mystery language was.

As it turned out, I really liked Processing: it was like Java, but with more freedom: a simpler modeling concept, "global unless you enclose it" functions, immediate execution of code in an imperfect editor (the "PDE") that was good enough to write quick, super sweet visual things. What's more there was even a JavaScript port available, for running your pde files online. Not as Java Applets, but just "as content".

I ended up using Processing enough that I started running into annoying inconsistencies, or even bugs, in the Processing.js port, and being familiar with IRC I jumped into the #processing.js channel on irc.mozilla.org and started complaining whenever things didn't work. In some places, that gets you kicked out of a channel, but in this one, a user called "humph" flipped my complaints around and threw them back at me as suggestions on how bugs could be filed, discussed, and fixed, instead. Without knowing it, I was getting a lesson in how to be a member of a community, and it worked.

My life in today's definition of open source really started there: I started filing bugs, I knew JavaScript well enough to write code for web pages, but the kind of JS needed to write Processing.js was different, so I started learning more about JS as I tried to figure out problems in Processing.js, and at some point decided I knew enough that I could patch problems when I ran into them, with a community of devs that were kind enough to help me through the process of getting those patches submitted and landed into the main codebase. I ended up, I think it's fair to say, a major contributor to Processing.js, I moved from the Netherlands to Canada and went from Java developer to freelance web dev with a love of JS, and that's where this story turns into my involvement with Mozilla.

"I want to put a team together."

I can't talk about humph, or really, Dave Humphrey, without a certain amount of adoration (and that is a well-considered word).

If you haven't heard of Dave, he's a Professor of Open Source with ties to Mozilla, teaching at CDOT, at Seneca College in Toronto, and if you use Firefox, there's a good chance you've enjoyed his work. Dave, to me, is in the category of people who look at something and go "what, 2 years from now, is a thing I want to be taking for granted as available and usable, that isn't there right now". And then, unlike many people, doesn't just blog about it, but sits down and figures out how to make it happen. The part that earns him my adoration is that one of his approaches is to inspire others to do the work, because he has the singular ability to explain his ideas in ways that hold up, and make you excited about the prospect of them becoming reality.

And he was thinking of "a thing" that would require getting some people together to make it happen. Needless to say, he had my attention.

Dave had been linking me to blog posts about making the web about "making" instead of "consuming" by a guy called "Mark Surman" every now and then, and while I'd never heard of the man, his posts made a lot of sense. It wasn't until Dave explain his idea to me that things clicked: Mark Surman was the director of the Mozilla Foundation, and the idea that Dave had was a project to foster "making on the web" through a Mozilla Foundation initiative that you might have heard of.

"Webmaker"

In 2012, I joined a tiny Mozilla Foundation.

I applied to the Mozilla Foundation as a software engineer when it was pretty small. Certainly not "5 people and a goat" levels of small, but when I joined, Ryan Merkley was still with the foundation with the explicit goal of growing it to self-sustaining size, and while I had initially expected to work on "Popcorn Maker", an online video mashup/remixing tool spearheaded by the fascinating Brett Gaylor (from Do Not Track fame), I instead ended up working on a project that was about letting people write HTML in a friendly way, to allow them to learn HTML while also making things they wanted to make on the web.

For quite a few months there was no name, and initially the "webmaker" name applied only to this particular tool, but as we folded more tools into the offering (popcorn maker and the "x-ray goggles", most notably), the overarching program became "Webmaker", and the tool that I was involved with became "Thimble". It was an interesting thing to work on: I learned a ton about patterns and antipatterns in the JavaScript world, and despite the tool being a single page editor, people responded positively. Thimble empowered people on the web in a way that they hadn't been until then, and that made it really important.

But, as a developer, I wouldn't use it myself.

In the same way that I won't do my job using jsbin or jsfiddle or codepen as tools, Thimble was too simple to address the needs of "everyone". It was great for sitting down to with someone, and running them through a "zero to hero!" process where they walked away from the experience with the ability to create simple HTML pages for their own, personal content, and a way to put that content on the web (outside of social media postings), but there was no reason to ever use it if you already knew HTML and CSS and JS, and certainly not if you were a developer.

Thimble got upgraded quite a bit...

After a year of Thimble, as well as several other tools being part of the Webmaker offering, we made a decision to give a new technology called Node.js a shot at the Foundation. As a JavaScript server side technology, it offered the benefits of "the same language everywhere", rather than the "JS in the browser, Python on the server" that we'd been using until then, and we quickly learned how to use Node.js and Express (in no small part thanks to jbuck, who did a phenomenal job at giving an hour and a half lecture on how to go from an empty file to a fully functional Express server, following best practices), and in the process rewrote parts of our tools to take advantage of the fact that everything could be done in JavaScript.

We were able to add features and fix bugs much quicker than before, and we ended up releasing updates almost as fast as we could land bugs. But the Thimble tool stayed relatively samey: yes, there was progressively better support for error reporting in HTML and CSS, and we figured out how to safely allow script execution, so that people could write "real" web pages, but they were still just single pages.

With the help of Tom Park from Drexel University we came up with a way to present not just an editor but also a tutorial system, so that using Thimble for educational purposes would be easier, but ultimately it was still just single pages.

This was not a tool that would work for everyone.

The problem with Thimble, and I'm making it sound like one but for the purpose of Thimble it mostly wasn't, was that it was aimed at an audience that I wasn't part of. In my professional life, I could do everything Thimble did, better, in tools I already had at my disposal on my computers. A desktop code editor and a browser gave me more power than the single flat file concept Thimble operated on, and so I would still use Thimble to teach people, but that was it.

There were always ideas. "Wouldn't it be great if Thimble was like a real editor, but friendly when it needed to be, while being progressively less 'teaching tool' and more a real development tool as you level up your skills". It would be great. But we couldn't make that tool. Having the tool work for educational setting was more important than spending time on making it better for a group of people who already had tools at their disposal.

That makes sense, and that makes what makes the end of this story even more remarkable.

Atom, Brackets, and Thimble; Oh my!

Sever-side JavaScript did more than just skyrocket Node.js's popularity: it also allowed for some headless browser experiments that ended up spawning "pure JS" code editors. code editors called Atom and Brackets hit the scene, being experiments on using a headless browser as a UI framework, and using pure JS as the editor engine. Presented as normal desktop applications, but "powered by the web", there was a lot of love for these new flavours of code editors.

But: if they ran in a headless browser, there wasn't any real reason why they shouldn't be able to, at least in principal, run in real browsers, online.

And that's where Dave showed his genius: he took Adobe's "Brackets" editor, and at MozFest 2013 showed off that it might be possible to put it in the browser, and use it as the code editing part of Thimble, rather than relying on codemirror, so that people would have all the power of a true code editor at their disposal. There was a confluence of technologies that he knew of that could take "making things on the web" to a whole new level, and listening to him describe it, it was the kind of thing I wanted to use.

Imagine opening a code editor with file management, running a localhost server for proper http:// protocol testing, and a browser with live reloading so you could see the results instantly. As a dev, that sounds a lot like how I do my work already.

Now imagine not doing those things separately because the browser just does all those things. A true file system, a true code editor, a true zero-conf HTTP server, true live reloading, all of it, just working. No questions asked. Start it up, and it all just... works.

To me, that's the future. And that's what Dave was suggesting was possible. If we could put in the time to make it work.

Sometimes, tough choices aren't fun

Unfortunately, we didn't have the man hours to make that happen. I really, really loved the idea, but we didn't have the time or the people to stop working on Webmaker, and the Thimble we already had, and instead work on this new thing. This made me sad: it felt like we were focusing on the wrong things by sticking with the Thimble we had. Imagine growing up in a country rife with corruption, and discovering "Norway" is a real thing: while Thimble was still the same tool it had been before, I had seen a glimpse of what it could be, and how much better that was, and simply knowing that the technology allowed for this amazing thing, devalued the Thimble we worked on for me, instead.

Fortunately, the Mozilla Foundation is about fostering a "maker attitude" on the web, and promoting digital literacy, not "maintaining a set of tools in perpetuity" and even though Thimble was a tool that helped people express themselves creatively on the web, while learning about how the web works, we were constantly looking at what else we could do, or what we could do instead, to instill those core ideas in people, but not necessarily with the same tools all the time. We came up with Appmaker, which allowed people to make web apps, using web technologies - it was fun, it ended up not working as well as we'd hoped, and so we tried something else. We took the lessons we learned and made a page builder that used templates to allow people to make simple pages that also worked as apps on platforms that supported WebApps (like Android and Firefox OS).

We looked at the world, and saw a significant part of the world experiencing massive friction between "what the web can do", and "how it was experienced": over a billion people are slowly coming online all over the world right now (even in places like Europe or the US), and the only "internet" they get is through preinstalled apps on their phone; they use Facebook, Twitter, Instagram, but not a browser, that supposedly ubiquitous gateway to the world wide web. The browser is supposed to open up the whole wide world to you, whereas branded apps like Facebook's client are like the CompuServe and AOL of days gone by; you get content presented in one way. Their way.

This is not a good thing, and so we changed what the app we made could do, transforming it into an Android app (available in the Play Store for free) that lets you build simple multi-view websites with text, images, and navigation buttons, to cater to the needs of the people we talked to in the various countries in the world where internet connectivity is starting to boom. It's not done, but the response from people for whom the app makes sense because they've been getting, effectively, locked-in devices has been great.

At the same time, we deprecated the tools we had been using for the last few years, moving some to new homes and retiring others. And that's where this story comes full circle:

We killed off Thimble. And replaced it with Thimble.

Letting others do the work you can't

I'm going to borrow a page out of Dave's book, and profess my enthusiasm for the "let others do the work when you can't do it" doctrine, even though it's a bit of a boomerang: while we were doing all this at the Mozilla Foundation, various people were working on the various technologies that could be glued together as the kind of vision-of-the-future Thimble that Dave had talked about in 2013.

Alan Kligman developed a POSIX filesystem that ran on top of IndexDB, Dave had been working on getting Brackets itself to work in the browser, the web itself had landed, or had in draft, several new technologies that made data management and communication between processes, documents, and service workers easier, and eventually everything was available for Dave to put together a team of students and see if they could combine everything into the kind of Thimble I had been hoping for since Dave showed me Brackets.

On Monday, August 31st 2015, that thing officially became real.

the new Thimble is a dream tool, and I love it

Here's a true thing: the day the new Thimble got announced, I stopped using jsbin, jsfiddle, codepen, and all those other "make a quick html/css/js thing online" tools. Overnight, they had become obsolete. Anything I used them for could be done better in the new Thimble, and where jsbin or codepen let me be creative in a "single thing", the new Thimble lets me be creative without a ceiling. It's simplified the tools necessary to have a live server running with a full file system at my fingertips to "just open thimble.mozilla.org", and I can make things as simple or as complicated as I want.

It's a true code editor that I can use to make as many files, in as many directories, as I need to properly organize and work on my code. There is undo/redo, but I don't ever have to hit save: my changes are synced by the extremely clever file system that Thimble runs on top of. It has an invisible zero-conf webserver running in the browser that shows me the result of what I'm writing right next to the content I'm working on. I no longer need a live-server or a python -m SimpleHTTPServer anymore, it's all just there.

And here's a thing I didn't even think I would say as a developer: thanks to the new Thimble just... working, I don't even need git anymore.

No, I don't get revision control (though really, "I don't get revision control yet", because remember that the current https://thimble.mozilla.org is really just a Minimum Viable Product launch: we've only just begun to see what it can do, and now is that time to start dreaming about fancy features), but I can write my code, publish it to the web for free, and have people be able to see the code I used because they can click a button to fire up thimble with my project loaded up as a forked copy for themselves.

If I just want to write some Proof of Concept code, or demonstrator code for an article I'm writing, or example code for something I'm explaining to someone online that might be useful later on, I don't need to set up a git repo, with a gh-pages branch. I can just work in Thimble, hit "publish" (which will update what is online if I'm republishing the same project, with changes) and move my attention elsewhere in the knowledge that my stuff's been updated online for everyone to play with, and my code's safe and sound on a Mozilla server somewhere. And any time I want to dive "deeper", I can just tell Thimble to export my entire filesystem as a .zip file, and then do whatever I feel I need to do.

The new Thimble is taking away the need for tools I thought were essential in my life.

I honestly think that's the most impactful statement I can make here. Thimble is solving problems I didn't know I had, and that makes me super happy, and excited about the future.

So, in conclusion:

Go try out the new https://thimble.mozilla.org, and let the team know what you think of it, and what you can imagine as, in the future, being obvious things you already use it for, that it can't do today.

Thanks for reading, and I need to be off to write code for my next blog post on writing fonts as source code. I already have Thimble open in another tab with demonstrator code doing amazing things.

http://pomax.github.io/#gh-weblog-1442700129236


Chris Cooper: RelEng & RelOps Weekly Highlights - September 18, 2015

Суббота, 19 Сентября 2015 г. 00:00 + в цитатник

Pending job numbers continued to be a concern this week. Investigations are underway to look for slowdowns unrelated to the enabling of e10s tests, which on its own has double the number of test run in many cases. More information below.

Modernize infrastructure: Dustin participated in the TaskCluster work-week, discussing plans for TaskCluster itself and for Releng’s work to port the CI and release processes to run on the TaskCluster platform.

Morgan gave a fantastic presentation on air mozilla describing how github / TaskCluster integration works: https://air.mozilla.org/taskcluster-github-continuous-integration-for-mozillians-by-mozillians-2/

Improve CI pipeline: We’re ready to un-hide OS X and Linux64 builds via TaskCluster in TreeHerder, elevating them to “tier 2” status. This is a necessary precursor to replacing the buildbot-generated versions of these builds.

Jordan landed a patch to enable bundleclone for mock-based builds, which may help fix problems with the Android nightly builds. (https://bugzil.la/1191859)

Alin and Vlad are working on releng configs to add new 10.10 hardware to the test pool (https://bugzil.la/1203128)

Release: Ben continues to work out a plan to cope with SHA-1 certificate deprecation.(https://bugzilla.mozilla.org/show_bug.cgi?id=1079858#c64)

We are entering the end-game for Firefox 41. Release candidate builds are underway.

Operational: Kim and Vlad increased the size of the tst-emulator-64 pool by 200 instances which has significantly reduced the wait times for Android tests that use this instance type. (https://bugzil.la/1205409)

Kim is also in the process of bringing up four new buildbot masters to serve these expanding pools and reduce some of the buildbot lag we have seen in our monitoring tools (https://bugzil.la/1205409)

We have had high pending counts for the past few weeks which have significantly increased wait times, especially for Windows tests on Try. Joel Maher (from Developer Productivity team) and Kim analyzed the data for the end to end test times for Windows for the past month. They discovered that total compute time per push has increased by around 13% or 2.5 compute hours on Windows, primarily driven by the addition of new e10s tests. Given that our pool of Windows machines has a fixed size, we are looking at ways to reduce the wait times given existing hardware constraints.

See you again next week!

http://coopcoopbware.tumblr.com/post/129371383000


Support.Mozilla.Org: What’s up with SUMO – 18th September

Пятница, 18 Сентября 2015 г. 23:08 + в цитатник

Hello, SUMO Nation! It’s been a while, but we are back! Are you aware that tomorrow is Software Freedom Day? Celebrate in style!

Welcome, New Contributors!

If you joined us recently, don’t hesitate – come over and say “hi” in the forums!
Don’t forget that if you are new to SUMO and someone helped you get started in a nice way you can nominate them for the Buddy of the Month!

Contributors of the week

We salute you!

Last SUMO Community meeting

Reminder: the next SUMO Community meeting…

  • …is going to take place on Monday, 21st of September. Join us!
  • If you want to add a discussion topic to upcoming the live meeting agenda:
    • Start a thread in the Community Forums, so that everyone in the community can see what will be discussed and voice their opinion here before Monday (this will make it easier to have an efficient meeting).
    • Please do so as soon as you can before the meeting, so that people have time to read, think, and reply (and also add it to the agenda).

Developers

Community

  • The Cross-Product Team has been spending time together this week to discuss a number of plans, issues, and ideas. More details to come as we turn ideas into actions, but here are some spoilers:

Support Forum

  • Save the date: the next SUMO Questions Day is coming up on the 24th of September.

Knowledge Base

Firefox

  • (for iOS) Australia, Austria, Canada, and New Zealand! More to come. Huge thanks to everyone involved as tester, localizer, and otherwise iOS launcher.
  • (for Desktop) Details about upcoming versions coming soon, stay tuned!
That’s it for now, we’ll be back to more regular activities soon. Will you join us on Monday for the meeting? We hope so!

https://blog.mozilla.org/sumo/2015/09/18/whats-up-with-sumo-18th-september/


Armen Zambrano: Mozharness' support for Buildbot Bridge triggered test jobs

Пятница, 18 Сентября 2015 г. 22:26 + в цитатник
I have landed today [1] some code which allows Buildbot *test* jobs triggered through the Buildbot Bridge (BBB) to work properly.

In my previous post I explain a bit on how Mozci works with the Buildbot Bridge.
In this post I will only explain what we fixed on the Mozharness side.

Buildbot Changes

If a Buildbot test job is scheduled through TaskCluster (The Buildbot Bridge supports this), then the generated Buildbot Change associated to a test job does not have the installer and
test urls necessary for Mozharness to download for a test job.

What is a Buildbot Change? It is an object which represents the files touched associated to a code push. For the build jobs, this value gets set as part of the process of polling the Mercurial repositories, however, the test jobs are triggered via  a "buildbot sendchange" step part of the build job.
This sendchange creates the Buildbot Change for the test job which Mozharness can then use.
The BBB does not listen to sendchanges, hence, jobs triggered via the BBB have an empty changes object. Therefore, we can't download the files needed to run a test job and fail to execute.

In order to overcome this limtation, we have to detect when a Buildbot job is triggered normally or through the Buildbot Bridge.
Buildbot Bridge triggered jobs have a 'taskId' property defined (this represents the task associated to this Buildbot job). Through this 'taskId' we can determine the parent task and find a file called properties.json [2], which, it is uploaded by every BBB triggered job.
In such file, we can find both the installer and test urls.

http://feedproxy.google.com/~r/armenzg_mozilla/~3/Pz-sEHdLLEk/mozharness-support-for-buildbot-bridge.html



Поиск сообщений в rss_planet_mozilla
Страницы: 472 ... 198 197 [196] 195 194 ..
.. 1 Календарь