Posted 4 months ago by thornet
For the last few years, Joi Ito has been blogging about learning to dive with PADI. It wasn’t until I became certified as a diver myself that I really understood how much we can learn from PADI’s educational model.
Here’s a summary of how ... [More] PADI works, including ideas that we could apply to Webmaker.
With Webmaker at the moment, we’re testing how to empower and train local learning centers to teach the web on an ongoing basis. This is why I’m quite interested in how other certification and learning & engagement models work.
The Professional Association of Diving Instructors (PADI) has been around since the late 1960’s. It trained over 130,000 diving instructors to issue millions of learning certifications to divers around the world. Many instructors run their own local businesses, who’s main service is to rent out gear and run tours for certified divers, or to certify people learning how to dive.
Through its certification service, PADI became the diving community’s de facto standard-bearer and educational hub. Nearly all diving equipment, training and best practices align with PADI.
No doubt, PADI is a moneymaking machine. Every rung of their engagement ladder comes with a hefty price tag. Diving is not an access-for-all sport. For example, part of the PADI training is about learning how to make informed consumer choices about the dive equipment, which they will later sell to you.
Nevertheless, I do think there is lots of learn from their economic and engagement model.
Blended learning with PADI
PADI uses blended learning to certify its divers.
They mix a multi-hour online theoretical part (regrettably, it’s just memorization) with several in-person skills trainings in the pool and open water. Divers pay a fee ($200-500) to access the learning materials and to work with an instructor. They also send you a physical kit with stickers, pamphlets and a logbook you can use on future dives.
Dive instructors teach new divers in very small groups (mine was 1:1 to maximum of 1:3). It’s very hands-on and tailored to the learner’s pace. Nevertheless, it has a pretty tight script. The instructor has a checklist of things to teach in order to certify the learner, and you work through those quite methodically. The online theory complements the lessons in the water, although for my course they could’ve cut about 3 hours of video nerding out on dive equipment.
There is room for instructor discretion and lots of local adaptation. For example, you are taught to understand local dive practices and conditions, like currents and visibility, which inform how you adapt the PADI international diving standard to your local dives. This gives the instructor some agency and adaptability.
Having a point of view
PADI makes its point of view very clear. Their best practices are so explicit, and oft-repeated, that as a learner you really internalize their perspective. In the water, you immediately flag any detraction from The PADI Way.
Mainly, these mantras are for your own safety: breathe deeply and regularly, always dive with a buddy, etc. But by distilling their best practices so simply and embedding them deeply and regularly in the training, as a learner you become an advocate for these practices as well.
Learning with a buddy
The buddy system is particularly interesting. It automatically builds in peer learning and also responsibility for yourself and your buddy. You’re taught to rely on each other, not the dive instructor. You solve each others problems, and this helps you become empowered in the water.
Furthermore, PADI makes its learning pathways very explicit and achievable. After doing one of the entry level certification, Open Water Diving, I feel intrigued to take on the next level and trying out some of the specializations, like cave diving and night diving.
Throughout the course, you see glimpses of what is possible with further training. You can see more advanced skills and environments becoming unlocked as you gather more experience. The PADI system revolves around tiers of certifications unlocking gear and new kinds of dives, which they do a good job of making visible and appealing.
You can teach, too.
What’s even more impressive is that the combination of the buddy/peer learning model and the clear pathways makes becoming an instructor seem achievable and aspirational—even when you just started learning.
As a beginner diver, I already felt excited by the possibility of teaching others to dive. Becoming a PADI instructor seems cool and rewarding. And it feels very accessible within the educational offering: you share skills with your buddy; with time and experience, you can teach more skills and people.
Training the trainers
Speaking of instructors, PADI trains them in an interesting way as well. Like new divers, instructors are on a gamification path: you earn points for every diver you certify and for doing various activities in the community. With enough points, you qualify for select in-person instructor trainings or various gear promotions.
Instructors are trained in the same model that they teach: it’s blended, with emphasis on in-person training with a small group of people. You observe a skill, then do it yourself, and then teach it. PADI flies about 100 instructors-to-be to a good dive destination and teaches them in-person for a week or so. Instructors pay for the flights and the training.
At some point, you can earn enough points and training as an instructor that you can certify other instructors. This is the pinnacle of the PADI engagement ladder. We’re doing something similar with Webmaker: the top of the engagement ladder is a Webmaker Super Mentor. That’s someone who trains other mentors. It’s meta, and only appeals to a small subset of people, but it’s a very impactful group.
What’s the role of PADI staff? This is a question we often ask ourselves in the Webmaker context. Mainly, PADI staff are administrators. Some will visit local dive centers to conduct quality control or write up new training modules. They are generally responsible for coordinating instructors and modeling PADI practices.
Local learning, global community
The local diver centers and certified instructors are PADI’s distribution model.
Divers go to a local shop to buy gear, take tours and trainings. The local shop is a source of economic revenue for the instructors and for PADI. As divers level up within the PADI system, they can access more gear and dive tours from these shops.
Lastly, PADI imparts its learners with a sense of stewardship of the ocean. It empowers you in a new ecosystem and then teaches you to be an ambassador for it. You feel responsibility and care for the ocean, once you’ve experienced it in this new way.
Importantly, this empowerment relies on experiential learning. You don’t feel it just by reading about the ocean. It’s qualitatively different to have seen the coral and sea turtles and schools of fish yourself.
The theory and practice dives in the pool ready you for the stewardship. But you have to do a full dive, in the full glory of the open water, to really get it.
I think this is hugely relevant for Webmaker as well: it’s all good to read about the value of the open web. But it’s not until you’re in the midst of exploring and making in the open web do you realize how important that ecosystem is. Real experience begets responsibility.
PADI encourages several ways for you to give back and put your stewardship to use: pick up litter, do aquatic life surveys, teach others about the waters, etc.
They show you that there is a community of divers that you are now a part of. It strikes a good balance between unlocking experiences for you personally and then showing you how you can act upon them to benefit a larger effort.
As mentioned, there are many shortcomings to the PADI system. It’s always pay-to-play, it’s educational materials are closed and ridiculously not remixable, it’s not accessible in many parts of the world due to (understandable) environmental limitations. Advocacy for the ocean is a by-product of their offering, not its mission.
Still, aspects of their economic and learning model are worth considering for other social enterprises. How can instructors make revenue so they can teach full-time and as a career? How can gear be taught and sold so that divers get quality equipment they know how to use? How can experiential learning be packaged so that you know the value of what you’re getting and skills along the way?
I’m pretty inspired by having experienced the PADI Open Water Diving certification process. In the coming months, I’d like to test and apply some of these practices to our local learning center model, the Webmaker Clubs.
If you have more insights on how to do this, or other models worth looking at, share them here! [Less]
Posted 4 months ago by benoitgirard
In the profiler you’ll now find a new tab called ‘CallGraph’. This will construct a call graph from the sample data. This is the same information that you can extract from the tree view and the timeline but just formatted so that it can be scanned ... [More] better. Keep in mind that this is only a call graph of what occurred between sample points and not a fully instrumented Call Graph dump. This has a lower collection overhead but missing anything that occurs between sample points. You’ll still want to use the Tree view to get aggregate costs. You can interact with the view using your mouse or with the W/A/S/D equivalent keys of your keyboard layout.
Big thanks to Victor Porof for writing the initial widget. This visualization will be coming to the devtools profiler shortly.
Posted 4 months ago by michal berman
I have often been asked to share some common situations new team leads face and that come up in my coaching practice. Here are a few that I hope to be instructive but not definitely not comprehensive. (It's an excerpt from my talk at 'Software Team ... [More] Meet up'. There are many wonderful and much longer guides to being an effective first-time manager; my favourite book on the topic is ‘First Break All the Rules”.
In my humble opinion, the primary purpose of your role as manager is to keep your people engaged, productive and growing. Here are the ways I think that can be done effectively:
Ensure your folks are challenged, engaged and highly productive
It’s an opportunity for mutual feedback
Creates deeper and clearer mutual understanding of motivation
No surprises at formal checkpoints (performance reviews)
It’s investing time for them and you
Keep regular and consistent meeting times and agenda - it’s an important indicator of your commitment to them
Agenda - powerful questions:
• How do you think you are doing?
• How do I think you are doing?*
• How will you know? what information do you need? then what/what’s next?
• How is the team doing?
• What was the highlight of your week?
• What could have gone better?
• Is there anything blocking you, or that you need from me?
• How am I doing?
• How are you doing?
• Is there anything else I haven’t asked about that I should have
For more depth behind this model check out Fred Kaufman’s “Conscious Business” model for Communication: Listening, Ask Questions, Validating, Summarize, Express, Negotiate, Commit(ments)
Setting stretch goals to achieve your organizations Objectives & Key Results
A good number is 3-5 goals at any one time. Structure your direct reports’ goals so that they support your goals, which in turn support your company’s goals. The best goals are a balance of personal development/learning and outcome-based goals that line up to your team's Vision and Organizations’ Vision/Goals.
These goals must be within your and your staff’s control. It’s a collaborative process where you provide the context and you want to give them lots of room to define how they plan to accomplish them. Goals are best when they are specific, reasonable and have a timeline associated with them.
Examples of personal development goals you might pick are: improve my Python coding skills so that I get faster and better and the number of bugs in my code are significantly reduced, find 5 creative ways to acquire customers that result in x more customers over y period of time etc.
Most successful folks focus on breaking down large goals into mini-goals or milestones both because it's easier to manage and because it feels good to see your progress over time.
There are a great many resources around goal setting
• Chapter 2 of Becoming the Evidence-Based Manager
How to course correct poor performers
When people are experiencing a performance struggle e.g. they are not meeting your expectations or missing clear goals/deadlines, here's what I recommend:
• 1:1 verbal discussion (you and the employee) about issue, and
• use this guide:
Put them at ease
Ask permission to give feedback
Choose a suitable moment
Provide feedback in private
Be specific and observable
• Stick to observable facts
• Avoid judgment, opinions and comments
• Avoid absolutes (e.g., never, always, constantly)
Explain the impact
•Describe specifically how the behavior promotes or hinders desired results
Work together on next steps
• Confirm - you may not have the whole story
•Understand– simple confusion is common
•Help -involve other person in identifying options
If issue issues persists please continue to Step 2
Step 2) Involve HR and/or create a Performance Improvement Plan
By this point the person is no longer surprised by the issue. In my experience people generally choose to either try and improve or acknowledge this isn’t a good fit for them and negotiate a departure.
Step 3) A performance plan sets clear expectations of items needing resolving/repairing and the ultimatum clear-- with a hard date set. For example: 30 days to do X and Y, if not met, then termination. Signature or some other form of clear accountability on part of employee
Step 4) Success — a new skills is built and level of achievement is possible or negotiate their termination - transition to leaving e.g. will they have time to wrap up, do you want them to go, what will fair compensation be (consider how you would want to be treated in the same situation).
Know that many folks in this same situation have turned things around and are now highly successful as a result of this practice. Sometimes the sting of direct feedback is what we need to find focus and performance.
Delegating to continuously build your next team leads
The main principle behind this approach requires that you allow for failure. It will feel incredibly difficult to let go - to feel the sting of watching someone on your team potentially fail. It’s probably among the hardest things to do. This is a four step approach:
Phase 1: requires that you offer support and guidance
Phase 2: tactical instruction, describing the how and why
Phase 3: support and guidance, encouraging and championing their success thus far and course correcting
Phase 4: let them go - celebrate success
A word or few, on adding new team members
1 - hold a 1:1 meeting and cover the following:
a - share the vision of the team,
b- relevant history of your team in the context of your organization
c- discuss a preliminary set of SMART goals for the person e.g., get up to speed on, focus on, etc.
d- set frequency for check-ins on progress and time to get to know each other e.g., weekly or bi-weekly and time of day
2 - Have a fun (whatever fun means for you) team type session to welcome them. in that session you can share with each other this:
a - strengths and what that means to each person e.g., i'm an activator and in this job that = ...
b - learning e.g., I can contribute this great stuff/skills/experience to team and would really like to learn x, y, or z (you could also add dislikes e.g., i hate filing but will do it in a pinch)
c - logistics/style e.g., never call me before 10am cause i'm a late riser; I like direct and timely feedback
Please ask me to provide more insights for you in whatever situation you may find yourself. email me :) [Less]
Posted 4 months ago by Benjamin Kerensa
I wanted to quickly post a simple ask to Mozillians to please share this indiegogo campaign being ran by Mozillian Rockstar Vineel Pindy
A Mozilla event at Collab House
who has been a contributor for many years. Vineel is raising money ... [More] for Collab House, a Collaborative Community Space in India which has been used for many Mozilla India events and other open source projects.
By sharing the link to this campaign or contributing some money to the campaign, you will not only support the Mozilla India community but will further Mozilla’s Mission by enabling communities around the globe that help support our mission.
Lets make this campaign a success and support our fellow Mozillians! If every Mozillian shared this or contributed $5 I bet we could have this funded before the deadline! [Less]
Posted 4 months ago
Image by MAX CAPACITY
After much second-guessing, I’ve published a big piece on Medium today about my belief that Net(worked) Art still lives as a movement, making the continued existence of cooperative, creative practices of [and by] the ... [More] web more essential than ever.
This post was based on the visionary work of the crazy web/trans/media folk I’ve been able to dream and build with lately around the world, especially the #ARTOFWEB community who helped bring together the Mozilla Festival's first-ever Art and Culture track to the shores of London this year, and taught me so much in the process.
It’s a 10 minute read in 6 chapters, the perfect amount of time for a coffee. It opened up some pretty interesting debates as it made the rounds this morning, so I’d love to hear your thoughts (and criticisms!). While this is an area I’m passionate about, I am cognizant that I, like everyone in my “post-post net-art”generation, have much more to learn. And in the end, that’s a part of the fun.
"As the hardwares and softwares of computers give us new capabilities… we have to learn to feel with them. If we can’t feel with them, they are only dumb metal claws. Therefore, the vistas of digital art are only as wide as our potential to grasp those possibilities with full human expressiveness.”
— Jim Andrews, “Why I Am A Net Artist”, 2011 [Less]
Posted 4 months ago by Mike Kaply
One of the most common questions I get asked is what to do with the result that the CCK2 Wizard produces. This post will address that question.
After you've completed your customizations using the CCK2 Wizard, you have two choices: create an ... [More] extension or use AutoConfig.
Let's start with AutoConfig (which is what I recommend.) AutoConfig is the tried and true method of customizing Firefox that's been around forever. You can read an old post about it here. I'm also working on an AutoConfig eBook that I hope to have out soon.
With AutoConfig, things are quite simple (at least on Windows and Linux). The output of the CCK2 Wizard is a zip file that can be unzipped in the same directory where the Firefox executable is located. It puts all the necessary files in the right places and you can immediately start Firefox and see your customizations. Things are not so good on Mac starting with Firefox 34. AutoConfig is broke right now due to the new Apple signing requirements. We're investigating the best way to fix that.
Your other option with the CCK2 is to generate an extension. This produces an XPI file which can simply be installed in Firefox the same way any other extensions is installed - by dragging and dropping it onto the browser. If you want to deploy the extension you've created, I've documented a number of the different ways you can integrate an extension into Firefox. Each of these methods has positives and negatives - it's up to you to decide what to do for your situation.
Some people might wonder why I don't just have the CCK2 generate a new installer. In my experience, there are so many different ways that people deploy applications that it would not be worth it. In the past, I have documented how to bundle your changes with the Windows installer if you are so inclined.
Hopefully this gets most folks started with the CCK2. Please let me know if I've missed something. [Less]
Posted 4 months ago by Yunier J
Llegó el 2015, un año que pretende ser bueno para todos y en especial para Mozilla. En este nuevo ciclo, tendremos cosas nuevas relacionadas con el sistema operativo de Mozilla para celulares inteligentes y nuevas versiones de tu navegador favorito ... [More] , que ya llega a sus 11 años. Entre las características principales que deben arribar este lustro, se encuentra la arquitectura multiproceso, la cual añadirá estabilidad y seguridad a Firefox.
Hello, la funcionalidad que permite realizar videollamadas desde Firefox, ha recibido mejoras y ahora muestra un nuevo modelo de conversaciones basado en habitaciones. Como puedes ver en la imagen, cuando inicias una conversación puedes darle un nombre y se mantiene en la memoria. Cada vez que quieras hablar con la misma persona, podrán seguir usando el mismo enlace.
Firefox Hello con habitaciones para continuar
Firefox Share te permitirá compartir lo que desees en la Web rápida y fácilmente en tus redes sociales favoritas sin dejar el sitio que estás visitando. Para añadir esta funcionalidad en Firefox, debes visitar la página de Activación y dar clic en la red social que desees. También tienes la posibilidad de mover el botón Compartir ubicado en la personalización de Firefox al menú o la barra de herramientas, aunque, al activar algún servicio este debe mostrarse solo.
En Mac OS X Snow Leopard (10.6) se incluyó soporte para el códec H.264 (MP4) en el navegador y ahora se utilizarán las APIs nativas del sistema.
Para mejorar la autenticación en conexiones encriptadas se implementaron las Claves Públicas HTTP Fijas (Public Key Pinning). Con este sistema, los sitios Web pueden indicar cuáles son las autoridades certificadoras que aseguran que el certificado es válido. esto significa que una pequeña lista de autoridades certificadoras aceptables están incluidas en Firefox de forma predeterminada. La lista completa de llaves públicas fijas la puedes encontrar en la Wiki de Mozilla. Además, los sitios deben alertar a los usuarios que soportan Public Key Pinning Extension.
El lector PDF incluido en Firefox se actualizó a la versión 1.0.907 y ahora podrás gozar de una mejor estabilidad y nuevas características al abrir un documento. También se ha mejorado el manejo de los cambios en estilos dinámicos para incrementar la capacidad de respuesta.
Firefox Marketplace, el lugar donde se encuentran alojadas las Aplicaciones Web Abiertas te la posibilidad de filtrar las aplicaciones para sistemas de escritorios (Linux, Windows, Mac) y sepas cuáles puedes instalar. Cuando accedas al Marketplace debes escoger Apps de escritorio, para instalarlas debes dar clic en Gratis o Instalar y aceptar la instalación.
Para ejecutar una Web App, debes buscarla en el menú de tu sistema (igual que las demás aplicaciones). Desde el Marketplace también podrás abrir la aplicación accediendo a tu sección Aplicaciones y dar un simple clic en Abrir.
Mientras tanto, los desarrolladores podrán filtrar los estilos CSS y utilizar WebSocket en Workers.
Para Android tenemos:
Mejoras en el servicio de geolocalización de Mozilla compartiendo tu WiFi y señal celular. Para activar esta característica, debes ir a los Ajustes y en la sección Mozilla, activa la opción de contribución bajo las opciones de Datos.
Bing ahora usa HTTPS para mejorar la seguridad al realizar búsquedas.
Se añadió un diálogo de búsqueda a las páginas de errores de red.
Uso del Administrador de descargas de Android para hacer un seguimiento de los archivos descargados.
Añadido los lenguajes Breton (br) y Esperanto (eo).
Reducción de la memoria al escalar imágenes.
Añadido el soporte para la API de CSS Font Loading.
Vista: Los nodos que coinciden con el selector bajo el ratón, ahora son resaltados.
Soporte para inspeccionar ::before y ::after de los pseudo elementos.
Implementada la API de sincronización (Timing API) de recursos.
Cambiada la semántica de “let” en Java Script para que coincida con la especificación ES6.
Otras mejoras de seguridad y rendimiento.
Si deseas conocer más, puedes leer las notas de lanzamiento (en inglés).
Puedes obtener esta versión desde nuestra zona de Descargas en español e inglés para Linux, Mac, Windows y Android. Recuerda que para navegar a través de servidores proxy debes modificar la preferencia network.negotiate-auth.allow-insecure-ntlm-v1 a true desde about:config. [Less]
Posted 4 months ago by sole
As of yesterday I am in the evangelism team at Mozilla, also known as tech evan / dev rel / what have you. Essentially, spread the word about all the amazing stuff in Mozilla products and also help people build awesome stuff on the ... [More] Web.
There’s lots of things we want to do, and I’m excited! I also have to go to the Web Components meetup, so I’ll leave you with Potch’s own announcement, as he’s moving to that team too:
Today I get to announce that I'm now a Developer <optgroup>Relations/Evangelist/Friend/Advocate/Hack</optgroup> for Mozilla! Yay!
— potch (@potch) January 12, 2015 [Less]
Posted 4 months ago by Gregory Szorc
The bzexport Mercurial extension - an extension that enables you to
easily create new Bugzilla bugs and upload patches to Bugzilla for
review - just received some
First, we now have automated test coverage of ... [More] bzexport! This is built on
top of the version control test harness I
previously blogged about.
As part of the tests, we start Docker containers that run the same code
that's running on bugzilla.mozilla.org,
so interactions with Bugzilla are properly tested. This is much, much
better than mocking HTTP requests and responses because if Bugzilla
changes, our tests will detect it. Yay continuous integration.
Second, bzexport now uses Bugzilla' REST API instead of the legacy bzAPI
endpoint for all but 1 HTTP request. This should make BMO maintainers
Third and finally, bzexport now uses shared code for obtaining Bugzilla
credentials. The behavior is
of course. Behavior is not backwards compatible. If you were using some
old configuration values, you will now see warnings when running bzexport.
These warnings are actionable, so I shouldn't need to describe them
Please obtain the new code by pulling the
repository. Or, if you have a Firefox clone, run mach mercurial-setup.
If you find any regressions, file a bug in the
Developers Services :: Mercurial: bzexport
component and have it depend on
Thanks go out to Steve Fink, Ed Morley, and Ted Mielczarek for looking
at the code. [Less]
Posted 4 months ago by nore...@blogger.com (Armen Zambrano G.)
I'm looking for a name for the tool that I will be working on this quarter.
This quarter I will be working on creating a prototype of a command-line tool that can be used by sheriffs and others to automate retrigger-based ... [More] bisection. This could be used to help bisect new intermittent oranges, and to backfill jobs that have been skipped due to coalescing. Integration with Treeherder or other service will be done later.
I'm proposing "TriggerCI" since it shows what it does regardless of what you use it for.
If this works for you, please let me know.
If you have another suggestion please let me know. I'm interested on fun and creative names since that part of my brain is dysfunctional :P
This work by Zambrano Gasparnian, Armen is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License. [Less]