RSS Feed

Teaching Open Source Planet

Teaching Open Source Planet is a Planet, a collection of personal blogs by Teaching Open Source community members working to bring the open source way into academia. We write about our inspirations and experiences in learning, teaching, and collaborating within free and open communities. In the spirit of freedom, we share and criticize in order to collectively improve. We hope you enjoy reading our thoughts; if you’re fascinated by what you see, consider adding your voice to the conversation.

Building Mozilla’s Leadership Toolkit – Innovating contribution workflows for curriculum development

Building Mozilla’s Leadership Toolkit — Innovating contribution workflows for curriculum development

Earlier this year, we proposed a framework for Community Leadership Development at Mozilla. Since then, we’ve iterated on that work : ‘Open, Communicate, Empower, and Build’ are now core competencies guiding content development in Mozilla’s Leadership Toolkit.

As part of our goals for developing excellent content aligned with project and volunteer needs, I’ve been very deliberate and determined… to innovate a contribution model for volunteers with a background in education (professionals, and students), and those willing to invest in the testing of those workshops with their community. Our working group, has been building and testing a workflow as part of our early work. Enormous thanks to :

We’re definitely on our way, and energized with feedback from the Hawaii All Hands, including a contribution: ‘Using Powerful Questions’ from Jane Finette!

Our work is divided into areas of work listed below:


Based on the original Framework, and with inspiration from Julien Stodd, and the DIY Toolkit we proposed curriculum development under 4 competencies:


Competencies that help people bring others in, to help others realize and claim their potential through designed opportunity, empathy, diversity and inclusion.


Skills, knowledge and attitudes we develop to effectively, and collaboratively build momentum of positive change they want to see in our communities, on projects and initiatives that matter to Mozilla’s mission.


Open is a way of thinking and being, open is a willingness to share, not only resources, but processes, ideas, thoughts, ways of thinking and operating. Mozilla story, manifesto and way of working.


Growing connection and shared vision for advocacy and purpose through strong personal and community narrative. Sharing what we learn, sharing early, sharing often, sharing inclusively.

Content is also categorized according to (evolving) sub-competencies, displayed as stories that help connect people with resources (example below, not on website yet)


Content is prioritized by those skills, knowledge and attitudes identified by Mozilla projects (currently Mozilla Reps, Campus Clubs) as being key to volunteer success — validated through self-assessment and testing. Although content is categorized by competency and sub-competency, we’ve also started to recognize pathways as another method of content categorization. Some examples so far are ‘I Hear You!’, and ‘Presenting Ideas’, as well as pathways focused on Personas like ‘New Mozillian’.

So far we have a number of resources built, with others on their way. As much as possible, we leverage openly licensed OER.

Content Development Workflow

My big aha moment during this process was to stop being prescriptive about the technology, and technology format of curriculum contribution, and instead focus building standards, and processes that support where and how people want to work. Who cares if contributors know markdown, who cares if they know how to submit a pull request. Honestly, it only takes one person to publish content — and they can be positioned at the end of the workflow.

Something I have also learned this year is that ‘open calls’ to test content is almost never successful in obtaining meaningful feedback. Instead holding a 1:1 call with someone willing to test content, demoing the content delivery and then asking them to do the same with one or two people yields higher quality feedback on both the facilitator journey, and the learner.

I’m starting to believe that all workshop content we develop should come with a demo video, or 1:1 coaching that helps the facilitator prepare and ask questions.


Currently, the Leadership Toolkit website is a fork of another, and intended only to demo progress.

Content Delivery

You may ask yourself, what learning formats are you optimizing for? Good question!

Right now, content is a mix of self-study and in-person/workshop-focused — but we intend to be more deliberate about the design moving forward — with thought leadership from Mikko Knotto, we’ll be proposing a standard for content delivery based on this talk from Coursera . I’ll blog about this next.

Stay in Touch!

You can find updates on our work, including how to find us — on the project wiki.

Scrabble by Jacqui Brown


What do we expect from an article?

answer: nothing

Diversity & Inclusion for Participation – “A Plan for Strategy”


In the most recent Heartbeat, I consulted with Mozilla’s Diversity & Inclusion lead Larissa Shapiro, and others championing the discussion , about a strategy for D&I in Participation. I’m really excited and passionate about this work, and even though this is very, very early (this is only a plan for a strategy), I wanted to share now for the opportunity of gathering the most feedback.

Note: I’m using screenshots from a presentation, but have included the actual text in image alt-tags for accessibility.

Right now the proposed ‘Plan for a Strategy’ as three phases:

Page-Shot-2016-11-11 Diversity Inclusion for Participation

Designing a strategy for D&I will have some unique challenges. We know this. To get started we need to understand where we are now, who we are, why we are as we are — and what attitudes and practices exist that enhance, or restrict our ability to effectively bring in, and sustain the participation of diverse groups.

The first phase is all about gaining insights into these and other important questions through focus groups, interviews and – and existing data.

Page-Shot-2016-11-11 Diversity Inclusion for Participation(1)

Insight gathering and research will be focused in these key areas:

Page-Shot-2016-11-11 Diversity Inclusion for Participation(4)

By Phase 2 – we’ll have formed a number of important hypothesis for influencing D&I  in investment areas aligned with Mozilla’s overall D&I strategy.  Investment areas are currently proposed to be:

Page-Shot-2016-11-11 Diversity Inclusion for Participation(10)

Experimentation is critical to developing a D&I Strategy for Participation.  And although it’s identified here as a single ‘phase’, I envision experimentation, learning and iterating on what we learn – to be  THE  process of building a diverse and inclusive Participation at Mozilla.

Page-Shot-2016-11-11 Diversity Inclusion for Participation(11)

Here’s the current timeline:

  1. Feedback on this plan  – Ongoing, but especially useful leading up to December 5th
  2. Phase 1 – Gaining Insights. Begins the week of November 14th leading into the Mozilla All Hands meeting in December.
  3. Phase 2Early Experiment Design -Mozilla All Hands Meeting in December.
  4. Phase 2 – Experiment Design & Implementation  – Remainder of of 2016 into 2017.
  5. Phase 3 – Strategy Development – 2017.


I would love to hear your ideas, concerns, feedback on this ‘proposal’ which WILL itself evolve.



Protected: Irwin Family Update

This content is password protected. To view it please enter your password below:


Mozilla Campus Clubs @ Grace Hopper Open Source Day

Mozilla Campus Clubs @ Grace Hopper Open Source Day

Open Source Day at Grace Hopper was my absolute, most favourite, ‘conference thing’ I did last year, and it was with little hesitation that I got involved again for the 2016 version.

Before I say anymore I want to acknowledge the amazing work of two volunteers in making our day successful.

  • Semirah Dolan, who joined me in Houston to run a session that build a VR activity for Campus Clubs, and who truly leads by example — student leadership and activism in open source.
  • Safwan Rahman, who (no exaggeration) saved my day, by pulled together a Python project, working with me to the last minute to get it right.

Also thanks to my colleague Larissa Shapiro for bringing her wisdom and empathy into the discussion & brainstorming portion of the program.

This year we brought Campus Clubs for contribution. Unlike last year, where we jumped right into code, we spent time talking about Mozilla, our mission and Campus Clubs — and introduced three problem statements for the day.

  • Opportunities & Barriers: What makes a good open source experience?
  • How do we design a program that is inclusive of technical AND non-technical people?
  • What incentivizes students on Campus to engage in clubs at the intersection of technology and activism?

As a group, we did some rapid brainstorming to identify who on campus would be interested in FOSS participation. We were fortunate with this group , to have mostly students and also a professor who includes Mozilla participation in her curriculum!

What emerged where 5 distinct audiences: Wide-eyed Freshman (not spoken for yet), Professors /Lab Techs, Other Clubs, Non-technical majors(business, language-arts, journalism, bio-medical engineer) and of course computer science students.

Next — we did some rapid brainstorming on motive, and incentive for getting and saying involved in Open Source.

Employment and ‘Doing Good’ surfaced as the primary motivation with some interesting considerations like ‘Connecting with like-minded people’, fun and skill building surfaced by many. Swag(t-shirts) received only one mention.

We did the same exercise — this time thinking about barriers, and deterrents for FOSS participation.

Lack of invitation, opportunity, familiarity and clarity in HOW to get involved — topped the list of barriers. ‘Lack of Confidence’ (shy, scared, intimidation) was identified by the majority of participants.

Another trend focused on poor response times, limited diversity, and unwelcome channels .

I suspected many women were speaking of their own experiences. I have no doubt that young women do feel scared, and intimidated just stepping through the front door.

Getting involved in clubs with goals intersecting both technology and advocacy seems to resonate on a number of levels : skill building, ‘trying something new’, innovation, mentorship and fun.

I put a heart around a ‘ship it’ postit — not knowing exactly the context — loved the idea of getting things done as a motivation for joining clubs!

What did we build?

We asked people to join in one of two groups: The first focused on building our Personas into a Python/Django framework (for the coders in the room). I kept this project super simple, given the codeathon only given the limited time, and the majority of work was setting up Python locally, and updating Python code for the template we created.

The second, non-technical activity focused on building a VR activity for Campus Clubs using Mozilla’s AFrame. The group identified a Person (Dr. Database), and a VR project they might want to build: ‘Wire your iOven before it explodes’. They documented the opportunities, barriers and workshops that might form a VR activity for clubs and submitted their work as a PR.

The VR activity led by Semirah was a hit, probably more for how excited people were to learn about AFrame — one participant pledging excitement to home and learn and play more with VR. I think that was the win of the day — seeing participants recognize the potential of the technology they were working with — a signal that bringing AFrame VR activities to Campus will inspire creativity and innovation for the open web.

Overall, I think the day went well. Although the ‘timing’ of the event could have been better — scheduled exactly at the same time as the Open Source track was problematic for many (myself included) who would have liked to attend or chaired those sessions. Many participants did leave for sessions, or for interviews setup in the career fair. I was happy to see everyone return as well though.

As with last year, the most compelling part of the day was meeting, and working along side a group of smart, smart women — this time on the cause of mobilizing students on campus for the open web.


moved BigBang core repository to DATACTIVE organization

I made a small change this evening which I feel really, really good about.

I transferred the BigBang project from my personal GitHub account to the datactive organization.

I’m very grateful for DATACTIVE‘s interest in BigBang and am excited to turn over the project infrastructure to their stewardship.

An interesting article on the application of xAPI:

"Implementation Of The Experience API Within The SOFAD Author Environment"
by Moussa Traore.


Open Source nostalgia — Can we just move forward please?

This is #3 of 5 posts I had in draft state for a few months, that I decided finish up & post.  Here’s hoping my research helps others. I started writing this in May.


“Inessential weirdness of open source”

This term (crediting to Katrina Owen at Github) perfectly describes a conundrum of open participation, whereby we hold onto symbols, processes, and idiosyncrasies of open source in a mix of nostalgia, delusion and … I’m going to say it – arrogance ,  as the primary  (nearly holy) measures of  ‘being open’ in community building .

‘But’ve always done x’, is a very common response to change in open communities. Whereby we  unintentionally (yet deliberately) avoid change because we believe that that purity of ‘open’ is the only way to innovate further .  We  even avoid change despite huge potential to grow  more diverse and healthy open communities – because… there are slivers of non-open. gah!

Two years ago I ran the ‘Open Hatch Comes To Campus’ workshop at the University of Victoria. I spent 1.5 hours teaching people the skills they needed to ultimately… type ‘hello’ on an  IRC channel.. Our workshop implied  IRC was a critical doorway, and on-ramp to participation in open source.  Saying hello, asking for help – with an instructors guidance:  1.5 hours.  What?

I’ve often heard project maintainers say, that obtuse processes like these actually help ensure the success of  those who are truly serious about contribution.  As if asking basic questions  is a holy grail of volunteering- one where only those willing to waste ridiculous amounts of time on discombobulated, obtuse processes and tools  are worthy of participation.   I call bullshit on any process that makes connecting with others, in an ‘open project’ – an obstacle.

“open and accessible doesn’t beat usable and intelligent  

Christian Heilmann

In the last couple of years we’ve seen open communities faced with an interesting choice of using tools that work really well for working open, but are not  themselves open.  Github being the most obvious example. Similarly I’ve also followed the Open Data communities use of  + Slack + Slackin!

Still in the voice of nostalgia  asking us to remember our legacy  IRC.

Anyway….what exactly do we need our community software to do?  Here’s a short list I used when measuring chat solutions (and sure I am missing things)

A clever human-connection setup should allow new contributors an ability to answer these questions with some clarity:

With this criteria, and questions in mind, here are the results of  those I researched for education contributors at Mozilla:

Mattermost – Has potential, but seems unfinished, and little ‘alpha’.  Without installing myself ,I couldn’t figure out how to enable a Github feed.

Gitter I discovered this when looking around Free Code Club.   I liked the UI, and possibilities for multiple channels easily toggled, searchable and friendly.   Plugins tend to be more developer-friendly, which was a drawback for non-technical contribution – but not a show stopper.  Has a great search option for communities.   Chat rooms are associated with Github Repos, which has huge potential for building communities around projects and initiatives.

I think Gitter is doing with Github, what Github should be doing for Github projects interested in nurturing participation.

Discord – I found found Reactiflux development via Facebook React’s repo, but was nervous about jumping in.  Seems more like a team project, than community.   I found it intimidating, especially with voice, and it wasn’t clear what preferences where. Quickly left.

I revisited this after comments were left about this project portal being community organized (as it had been months since I was there).  Aside from struggling to switch login/register status, I do have to say it’s a very easy to lurk into – and has desktop versions (it seems I didn’t have a lot of time to test).  I’m not clear on how discover able conversations are outside of this app, but the community has set things up very well to ask questions in a number of ways (which is awesome).   Still on the fence about voice chat, but maybe that’s because it’s harder to stay gender-anonymous with voice.  Thanks for the comment that made me take another look Mark!

Rocketchat – It’s open source, it looks great – it has the potential to do what Gitter is doing for communities, but it feels very single-instance and Slack-replacement focused.   Don’t get me wrong, it’s beautiful, very capable of being a good alternative but I want more – I want ‘open’ feel like more than code.   If I had to choose an alternative it would be this one.

Rivr  – I couldn’t find inspiration other than free, and not-Slack.  Guessing it’s a great alternative too.

Slack should be thought of as first generation example of how community might meet, connect with participation and community, but not as a template, and not as a ‘bar’ that we now try to replicate openly.   Reactiflux community has also demonstrated that a cohesive collection of support vrs any one solution is often the best way to go as well.

It’s time we prioritized connection of humans ‘ in the open’- lets end the inessential weirdness of open source.


speech bubbles by jordesign CC BY-NC-ND 2.0


In Open Source – Walk a Mile, See a Mile

This is #2 of 5 ‘Draft’ posts I identified as worth wrapping-up vrs. ‘forever a draft’ status.

I wrote this post in April-ish, based on notes I took attempting to reach my goal to contribute to 10 open source projects by July.  Some unexpected challenges in my life made this goal impossible, but I still learned a lot… maybe next year.

In January, I set a personal goal of contributing to 10 open source projects by July. A research project of sort, I wanted uncover tools, processes, community engagement, and unknown magic existing beyond my own knowledge and experience. By exploring and researching the modern day experience of contributing to open source, I imagined I could get much better at designing for, and teaching it…

I pledged to myself that I would be select a projects where I could answer the following questions

“I can understand the value of the project on things I care about”.

“I can see how my time might help impact the outcome of that project’s goals, however small”.

Walk a Mile, See a Mile.

I also promised myself, that I would release all arrogance, bias and (most) opinions of how a project might be setup.  I adopted “Walk a Mile, See a Mile” to remind myself that the journey towards designing better for people, means being open for what comes next – I would grow with the experience.

In this, my first three months of contributing I’ve already had plenty of adventure.

Searching & Finding

My search started leveraging Github ‘Trending Repositories‘ – something I’ve heard recommended for new contributors. The search is limited  to filter for  language, which already limits this function to  technical contribution – which is too bad.

Suggestion to Github – allow projects to tag their repositories with types of contribution available.

I also wanted to find  SQL/PLSQL contribution opportunities, but the top trending project had a commit from two years ago.  Maybe that’s just my old timey- skill-set speaking ;)

Suggest to Github – define ‘Trending’, or limit results.  Wasting time on a dead or old project isn’t a good experience.

Finally, to fulfill my goal of ‘understanding the value’ of a project I am limited to project descriptions, which was hard.

Suggest to Github – provide optional description that states value of project for contributors, or FOSS projects agree on a  CONTRIBUTE.MD standard field any query on the web can pull from (omitting Github as a search).  We really need better standards for participation. Blarg. 

I went through a lot of repos, opting to select only one from Trending, and the rest from referrals or personal interest, which shows you how much we still suck in OS at surfacing projects people can find in their own.  I’ve landed on these 5 to start:

Learning so Far

Including a link from your repo, to your project webpage, or demo is important. 

screenshot-github com 2016-08-03 15-16-16

I  hated wandering through code, and issues looking to see what a project looks like, or does.  I wanted to get in there and play.

9 out of 10 times I will opt to join a chat channel over forums.  I’m in a rush like everyone else, so if I can :

a) see conversation

b) ask a quick question, I’m more likely to stick around for a bit.

Free Code Camp does this well, having both on the main page.  I’ll have another post on the different chat software I saw, and liked.

Forums felt like a ‘community resource’ (which has a place)  when I visited them vrs a way to engage with people.

Welcome bots, that say hello to new users are awesome, but one of the reasons I also use an alias when lurking.  Chat should allow for lurking.

Project-specific newsletters are awesome.  I didn’t realize how helpful it would be to have a project news letter (for times when I am too busy to contribute).  Rust does this well!

Environment builds are still the worst part of ‘sticking’ to a project. 

I am familiar with many technology stacks, and debugging but I have so far found  myself stuck on obscure issues that even the most helpful people can’t get me over in a short period of time.  Thinking of limiting build-problems to max of 6 hours before abandoning project.   Main reason I seem to get stuck – outdated docs, missing dependencies, or worst (in one situation) building the WRONG environment because Google search brought me to an outdated wiki that had not been noted as so…

I like the idea of Virtual Machines, but I’ve found outdated ones of those as well.  Perhaps Facebook and React will provide a new way to help overcome environment first-builds.

Too many ‘Garbage Tasks’

I’ve called these out before.  A good first task should not look like this.  Remove this label when it’s not longer true.  Good first tasks are basic like – changing an error message, or debugging CSS alignment.

Screenshots rock.

‘Help-wanted’ tags aren’t enough to invite new contributors – I needed to see ‘beginner, quick task, or something similar’.  Maybe I have less patience than others.

Non-Technical Contribution Is Hard to Find

Really, really difficult to imagine the ways you can help if the project is not specifically about that skill.  There’s an entirely different highway for non-technical contributors, and that sucks especially if you are interested in both.

I realize if I wanted to contribute in other ways, that would be different research altogether.

Good Documentation & Support

Free Code Camp has a great contribution page – and I LOVED their Gitter had help commands that allowed people to learn more about contributing, and that they have a specific chat just for contribution which is less intimidating than joining a project team chat head-down in a crisis.  I know IRC does this, as well, but IRC is a blocker for many.

Jekyll is also really clear.

I LOVED finding this post ‘Diving into Rust’ from community-member Flaki.  Describing ‘use cases’ really compelled me to get more involved in a project that had felt a bit abstract to me still.  Found via Google-search.   I found this page on Rust documentation a bit too much for getting, although I expect it’s a great resource to come back to.

Again, chat channels not forums were my go-to for project questions.

Code of Conduct Matters

Seeing a code of conduct, like the ones in and rust made me feel welcome, not just because it’s there, but because the community decided it should be.   I’m  glad Jekyll had a COC, but without a clear path for resolution, other than project maintainer – it felt only half-way there.   There are people much better than me to review CoC but I’ll say personally, I prefer to know who is behind an alias as well.

And that’s what I’ve learned, and experienced so far.  Next post will dive deeper into evaluation of chat channels.

Open Has Walls

An update on one other project, I am very interested in (eventually) lending my skills to beyond this experiment is with #OpenCancer.  Creative Commons has joined forces with Moonshot to end cancer in our lifetime.  The simple question of ‘how can I help scientists, and others using my technology/open/participation/data skills hasn’t yet been answered.   Is open science limited to teaching researchers, or is there a bigger movement to get the rest of us involved?  I hope so in this case.  Another research project perhaps.

I realize .. we’re only really  at the beginning of making participation in open projects feel as accessible for everyone.  Its hard climbing the walls of open some days, but we’ll get there.


Image Credit: Rak Tia, Rupert Ganzer




Passports for Community Leadership

This is #1 of 5 posts I identified as perhaps, being worth finishing and sharing.   Writing never feels finished, and it’s a vulnerable thing… to share ideas – but perhaps better than never sharing them at all?

I wrote most of this post in April of this year (making this outdated with the current work of the Participation Team), thinking about ways the learning format of the Leadership Summit in Singapore could evolve into a valuable tool for community leadership development and credentialing.  Community Leadership Passport(s) perhaps…


At the Participation Leadership Summit in Singapore, we designed the schedule in time blocks sorted by the Leadership Framework.  This meant that everyone attended at least one session identified under each of the building blocks.  The schedule was structured something like this…

Copy of Schedule(1)

As you can see, the structure  ensured that everyone experienced learning outcomes of the entire framework, while still providing choice in what felt most relevant, exciting or interesting in their personal development.  You can find some of this content here.

I started wondering..

How might we evolve the schedule design and content into a format for leadership development that also provides real world credentials?

I don’t think the answer is to take this schedule and make it a static ‘course’ or offering, I don’t think it is about ‘event in box’,  but I do think there’s something in using the framework to enforce quality leadership development, while giving power to what people want to learn, and how they prefer to learn.

Merging this idea + my previous work with participation ‘steps & ladders’ into something like a passport, or series of passports for leadership.



Really, this is about creating a mechanism for helping people build leadership credentials in a way that intersects what they want to learn and do, and what the project needs. It could be used for anything from developing strong mentors, to project leads in areas like IoT and Rust, to governance and diversity & inclusion. Imagining Passports with  3 attributes:

Experience – Taking action, completing tasks, generating experiences associated with learning and project outcomes. Should be clear, and feel doable without too much detail.

Mozilla Content – Completing a course either developed by, or approved as Mozilla content.   These could be online, or in person events.

Learner Choice – Encouraging exploration, and learning that feels valuable, interesting and fun – but with some guidelines for topics, outcomes and likely recommendations to make things easier.  For example, some people might want to complete a Coursera Course on IOT and Embedded systems, while others might prefer a ‘learning by doing’ approach via YouTube channels.

Something like a Leadership Passport would obviously require more thought in implementation, tracking and issuing certification. It could also be used to test and evolve Leadership Framework. I prefer it over a participation ladder because it feels less prescriptive in ‘how’ we step up as leaders and more supportive of ways want to learn and lead — and ultimately help us recognize and invest in emerging leaders sooner.

Image Credit:  Kate Harding – Quilt of Nations.


Celebration of Women Faculty in Computing

The Grace Hopper Celebration of Women in Computing feels a bit like a mirage for any computing faculty member who has been involved in trying to increase the number of women majoring in computing. Our efforts tend to produce very modest results, so going to Hopper feels somewhat disorienting. There really are large numbers of […]

Dr. Ashley Tan's Blog

Dr. Ashley Tan's blog on matters pertaining to education is worth visiting:

Not Found

The URL you requested could not be found.

Mozfest 2016 for Participation

Earlier this month a group of people met in Berlin to imagine and design Mozfest 2016.


Blending inspiration and ideas from open  news, science, localization, youth, connected devices and beyond  – we spent three glorious days collaborating and building  a vision of a Mozfest like no other.

The Participation team emerged from this experience with a new vision for Mozillian participation we’re calling ‘Mozfest Space* Contributors’.  Roles designed to bring success on the goals of every space in the building.  This is a very different approach from recent years where our focus has been more participatory as facilitators, helpers and learners.  With this new approach,  we’re inviting contribution,  ownership and responsibility in shaping the event.  Super, super exciting – I hope you agree!

Exploring the potential of contributor roles within Spaces, we found amazing potential! Open Science imagined a ‘Science Translator’ role –  helping people overcome scientific jargon to connect with ideas. The Web Literacy group has big plans for their physical space, one where a ‘Set Designer’ would be incredibly helpful in making those dreams come true.

MozFest CfP Images-01

Open News, and others thought about ‘Help Desk’  leads, and more than one space has suggested that the addition of technical mentors and session translators would bring diversity and connection.  Can you see yet why this will be amazing?

MozFest CfP Images-02

Outreach for contributors this year will be focused squarely on finding people with the skills, passion, vision and a commitment to supporting these spaces.  In many cases roles will be a key part of planning in the months leading up to Mozfest.

Also – we’re already piloting this very idea! having recently selecting Priyanka Nag and Mayur Patil  to be part of the Participation team’s Mozfest planning.  I’m so grateful for their help and leadership in making this a fantastic experience for wranglers and contributors alike.

On July 15th we’ll post all available roles, and launch the application process.  You can find an FAQ here.

Sponsorship from the Participation Team for Mozfest 2016 will be for these roles only.  The call for the proposals will be run by the MozFest organizers who will have a limited number of travel stipends available through that separate process.

* Space – an area of Mozfest with content and space built and activated under a certain theme (like Open Science, Youth Zone and Web Literacy)

* Space Wrangler – Person organizing and building a space at Mozilla

Special thanks to Elio from the Community Design Group for creating ‘Volunteer Role’ mockups!

Role avatars by freepik.


Educational Blogging

One of the readers of this blog has suggested the following website for teachers who want to encourage their students to do educational blogging:

Teaching Blogs 2016: How to Benefit Your Students, Your Peers, and Your Pocketbook, by Starting an Educational Class Blog

Author: Matthew Kaboomis Loomis

I have been to this blog and I certainly agree with the reader that it is a really useful website for teachers who want to encourage their students to use blogs.

Here are the contents of this website:

Part 1
Here are some benefits of doing blogging:

1. Connection with other experts
2. Teaching blogs makes students more active
3. Encourages writing among participants
4. Built-in archiving, and its benefits on critical thought
5. Peer pressure — the positive kind

Part 2
Incorporating your teaching blogs into your current teaching strategy:
1. Find ways to encourage collaboration
2. Use the blog as a classroom portal
3. Promote active learning

Part 3
1. Developing a Public Internet Blog
2. Free education
3. Enhanced and higher level programs

Part 4
Teaching Blogs to Draw Inspiration From
1. Websites of the Day by Larry Ferlazzo
2. MindShift: How We Will Learn
3. Ozge Karaoglu
4. KidBlog

Part 5
Now it’s Time to Start YOURS
Some advices on building your own blog

Cara Membuat / Memasang Fanspage Facebook ke Blog Lengkap

Cara Membuat / Memasang Fanspage Facebook Di Blog Update 2016 - Tutorial ini adalah sudah merupakan artikel yang lengkap dimana sobat bisa membuat plugin fanspage kemudian memasangnya ke blog sobat. seperti yang sudah kita tahu bersama bahwa plugin fanspage FB ini berfungsi sebagai media dimana ketika seseorang yang berkunjung ke blog sobat bisa melihat juga fanspage facebook yang sobat miliki

International Conference on Open and Flexible Education

Conference title: International Conference on Open and Flexible Education

Date: 6 - 8 July 2016

Venue: Open University of Hong Kong, Hong Kong SAR


Conference theme:

The theme for the Third International Conference on Open and Flexible Education (ICOFE 2016) is 'Innovative Pedagogy and Technology', featuring creative pedagogical practices to enhance open and flexible learning and novel use of technologies in educational contexts. It will explore the possibilities of new approaches and means of pedagogy for learning in a wider range of places and times. The conference encourages sharing of research and practices concerning teaching and ways to meet the needs of various types of learners, as well as for better or more effective processes, technologies, or ideas that are accepted by those in charge of education such as teachers, educators or policy makers.

Subthemes of the conference include the following:

1. Pedagogical innovations;
2. Innovations in educational technology;
3. Innovations in curriculum development;
4. Mobile and ubiquitous learning;
5. Engaging students and learning design;
6. Social media and technology-mediated learning communities; and
7. Open educational resources and MOOCs.

Elearning Forum Asia 2016 Conference

Conference title: 11th eLearning Forum Asia 2016

Date: 13 - 15 June 2016

Venue: East China Normal University (ECNU), Shanghai, China


Theme: Linking Learning Technologies With Learning Science

The forum will offer excellent opportunities for members of the educational community to come together to connect and share their experiences and approaches in open education.


ICCE 2016 Conference in Mumbai, Indai

24th International Conference on Computers in Education (ICCE 2016) Mumbai India


Date: November 28 - December 2 (Monday-Friday), 2016

Organized by the Asia-Pacific Society for Computers in Education

Hosted by Indian Institute of Technology Bombay, India

Want more inclusivity at your conference? Add childcare.

Providing conference childcare isn’t difficult or expensive, and it makes a huge difference for parents of young children who might want to come. If your community wants to (visibly!) support work-life balance and family obligations — which, by the way, still disproportionately impact women — I urge you to look into providing event childcare. I don’t have kids myself — but a lot of my friends do, and someday I might. I’ve seen too many talented colleagues silently drop out of the conference scene and fade out of the community because they needed to choose between logistics for the family they loved and logistics for the work they loved — and there are simple things we can do to make it easier for them to stay.

A good number of conferences have already started offering free or low-cost childcare on-site, and Above All Human is one of them. (Above All Human also used a Code of Conduct, another simple way to shift conference culture towards inclusivity and diversity.)

I talked with Scott Handsaker, one of the conference organizers, to ask how they set it up. It was easy. There was an existing daycare facility nearby, so trained staff, equipment, space, and insurance were all taken care of. All Scott had to do was negotiate the price, which ended up being $30 per child. Out of 1,000 people in attendance, roughly 10-15 used childcare, for a total price tag of $300-$450 per day.

The resulting slew of publicity was tremendous. Scott mentioned they were late in organizing childcare — too late to advertise it on the conference website — so they only had a little time to message via email and social media. Even so, childcare was the #1 thing people tweeted about leading up to the conference. (“This [twitter search] nowhere near captures the volume of tweets or the sentiment,” Scott wrote.) In fact, that’s how I found out about Above All Human in the first place — a former classmate raving about childcare on social media. This is the sort of exposure you want for your event, brand, and community. Financing conference childcare was snapped up by Slack as a low-cost, high-impact, high-visibility corporate sponsorship opportunity.

If your conference location doesn’t have childcare on-site, talk with nearby childcare providers or a local college with an education/teacher-training program. You’re looking for care providers with training in early childhood education or some similarly related field, medical knowledge (CPR/AED etc), and enough experience to take care of insurance and logistics, which often involves negotiating directly with the hotel or other conference location about space and setup.

Some conferences have written documentation on their childcare setup. GovHack wrote a behind the scenes look at childcare for their conference, and YOW stands as a good example of how to promote it.

Right now, determined conference committee members can pull something together for their own event by taking advantage of resources like these, as well as tapping into the informal network of conference organizers who’ve coordinated childcare in the past. However, that network can be hard to find — so as more and more events attempt to do this, we can share notes and work to make it easier. A great next step would be to compile more writeups about the childcare-at-conferences process and to list events that have had it and are willing to talk with other events who are interested. Eventually, we could create a series of templates and guides for how to email daycare providers, how to advertise, what insurance to secure, and so forth. If you know of existing resources or efforts, please let me know and I’ll add them to this post.

Edit: Reader-provided resources so far…

The Dutch xAPI Specification for Learning Analytics (DSLA)

The Dutch xAPI Specification for Learning Analytics (DSLA)

"Have you ever wanted to store the data collected from any learning environment in a standardised way but did not know how? Look no further, you are in the right place now! After working with xAPI for several years, we have compiled a registry of xAPI specifications for learning activities to support and highlight the consistent usage of xAPI recipes in the educational domain."

by Maren Scheffel on 30 March 2016

(LACE - Learning Analytics Community Exchange)

Glucosio Named Top Open Source Project

Last year, I was diagnosed with Type 2 diabetes and my life was pretty much flipped upside down for awhile. One thing I immediately set out to do was to find software, preferably open source, that would help me get on track and have an improved health outcome.

There was a lot of software out there but I did not find any that aligned with my needs as a person with diabetes. Instead, I found a lot of mobile apps and software built by companies that put profit first and were not driven by the needs of people with diabetes.

Right then I came up with the idea to start an open source project that made cross-platform apps (iOS, Android, Desktop, Web etc) with the focus of improving the health outcomes of people with diabetes and supporting research. But there were already two great open source projects out there like Nightscout and Tidepool, so why start our own?

Simply put, I wanted to do something different as I’ve seen this great divide in the diabetes community where not only are things like communities, podcasts and advocates divided around what type of diabetes a person has, but also the two open source projects out there were focused only on people with Type 1 diabetes. This is problematic because Type 2 diabetes is left outside of these intentional Type 1 diabetes circles when we should be working together to solve both types of diabetes and pooling our resources together to advocate for an end to both types of diabetes.


Glucosio for AndroidGlucosio for Android

And so Glucosio was born with the vision that an app was needed that benefits both people with Type 1 and Type 2 diabetes. Not focusing on one or the other, but instead giving equal energy to features that will benefit both types. Our vision was that this new open source project will unite people who have Type 1 or Type 2 diabetes or know someone who does to contribute to the project and in turn help accelerate research for both types while at the same time helping those with diabetes keep track of things that affect their health outcomes.

Last year was a lot of work for the entire Glucosio team. We worked hard to build awesome open source software for people with Type 1 and Type 2 diabetes and we pulled it off. Glucosio for Android is the first of our diabetes apps you can download today but we also have Glucosio for iOS and Glucosio for Web and an API for researchers that are all being actively worked on.
It is our hope to also have a cross-platform desktop app (OSX, Windows and Linux) in the future as more contributors join to contribute.

And this week, we were excited to announce that Glucosio following in the footsteps of some pretty stellar projects like Docker, Ghost and others has been named one of Black Duck Software’s Top Open Source Projects of 2015.
If you are interested contributing some code, documentation, design, UX or even money (to the Glucosio Foundation) to the effort of helping millions who struggle with diabetes worldwide, we’d love to have your support but you can also spread the word about our project by tweeting or sharing our project site or connecting with us over social media.

Concept Paper on Open Learning Analytics

In 2011, several well-known authors wrote a concept paper on Open Learning Analytics (.pdf). Their goal was to create openness as a foundation for the use of data and analytics in education.

Here are some details of this concept paper:

Open Learning Analytics: an integrated & modularized platform Proposal to design, implement and evaluate an open platform to integrate heterogeneous learning analytics techniques

George Siemens & Dragan Gasevic
Athabasca University, Canada

Caroline Haythornthwaite & Shane Dawson
University of British Columbia, Canada

Simon Buckingham Shum & Rebecca Ferguson
Open University, United Kingdom

Erik Duval & Katrien Verbert
Katholieke Universiteit Leuven, Belgium

Ryan S. J. d. Baker
Worcester Polytechnic Institute, United States

Date: July 28, 2011


Pengalaman Cara Daftar Membuat Akun Aplikasi WhatsApp Baru di Android

Pengalam cara daftar dan membuat akun WhatsApp - Sebagai pengguna android, sobat tentu tidak ingin ketinggalan informasi aplikasi yang penting dan terpopuler. salah satunya adalah aplikasi sosial media whatsApp yang begitu populer di kalangan penguna android. jika sobat saat ini masih menggunakan panggilan via GSM/CDMA ada baiknya sobat mencoba panggilan via jaringan internet. lebih murah dan

RedHat, POSSE, and WMU

During the Fall Semester, my Web Development class at Western Michigan University (WMU) worked with RedHat and POSSE to redesign the existing teachingopensource website.

Using open source approaches, concepts, and technologies, we collaboratively worked with a team of nineteen WMU students over the course of a semester to guide them as they made decisions, chose technologies, and developed the website according to client specifications and input. Students worked within an agile development environment much like they would encounter in the real-world and were encouraged to make their own decisions to meet project expectations.

Students (and the instructor) learned quite a bit about FOSS approaches over the course of a semester. Our project was featured in the latest WMU Haworth College of Business newsletter and may appear elsewhere.

The actual implementation of the recommended site is currently on hold. However, a paper is in the works, so please watch for it. I’ll make sure to provide an update here.

Many thanks to the folks at Red Hat and POSSE for making this happen for our students.

Cara Buat Status Facebook Dengan Tulisan/Huruf Unik Dan Terlihat Beda

Cara Membuat Status Facebook Dengan Tulisan/Huruf Unik -  Status facebook sekarang ini banyak yang sudah menjadikan sebagai kegiatan yang harus dilakukan. status tersebut bisa berupa kata-kata motivasi, gambar lucu, share artikel blog, share video dan lain sebagainya. namun sekarang ini mungkin sobat ingin mencoba sesuatu yang lain dari pada yang lain. namanya adalah "status unik" Mungkin status

SkillsFuture courses from UniSIM

From the official website of SkillsFuture at

"SkillsFuture is a national movement to enable all Singaporeans to develop to their fullest potential throughout life. Whichever stage of life you are in, whether you are in your schooling years, early career, mid-career or silver years, SkillsFuture will enable you to take advantage of a wide range of opportunities – to help you realise your aspirations and attain mastery of skills.

At a national level, SkillsFuture will play an important part in charting Singapore's next phase of development towards an advanced economy and inclusive society. Every individual’s skill, passion and contribution counts.

With the help of the SkillsFuture Council, education and training providers, employers, unions – you can own a better future with skills mastery and lifelong learning. Your skills. Your asset. Your future."

There are 283 Udemy courses listed:


From Coursera, we have 297 SkillsFuture courses:

SIM University has a total of 634 SkillFuture courses:

Learning activities for when your students are exploring areas you don’t know (inspired by open source)

Preparing to teach a class where you “don’t know the material” is tricky, especially when the thing is so big and so vast that you can never truly be an “expert” in it. If you think about expertise as knowing all the things, that is. If you think of expertise as the ability to be productively lost, that changes the entire game — the trick is how to help your students get through the same sort of territory.

I don’t have an overarching framework of strategies, but we do have a few things to share from the Teaching Open Source world. I wish we had a better write-up of our overall philosophy, but it wasn’t sufficiently developed (that’s something I’d love to work on with others… later… after… thesis…) but you can infer a bunch from some of our artifacts, so here you go, in order of least interesting to most interesting in my heavily biased opinion.

1. We have generic project-helpful activities.

We have a number of learning activites that (1) are highly likely to be useful for students regardless of what project topic they are on and (2) have clear criteria for successful completion, aka they are assessable. Analogous college-type things might be stuff like “make a test plan for your object” or “determine the appropriate formulae for predicting the behavior of your material” (I’m obviously making these examples up in a domain — materials science — I don’t know much about).

2. We have specific tool walkthroughs.

We also have activities that are walkthroughs of specific skills/tools common to most projects, often on a known setup (in the case below, a dummy server). This would be things like “do this intro exercise to use the Instron for the first time with our pre-cut samples.”

3. We have activities about critiquing the work of others (not other students in the class — this is not about peer assessment).

Moving into more interesting stuff: we also have activities that are about looking at other people’s work — not making new things, but critiquing existing things, to start developing a sense of how experts see things. In college, that might be: “Look at these pages from 3 lab journals, compare/critique; what makes the good ones good, the bad ones suboptimally helpful?” The reason it’s not peer critique is that you want to curate the examples to be rich and to have a range of things you can pull out in the discussion. (For those of you with qualitative research backgrounds, you can think of this as artifact analysis.)

4. We have resources (not just live demos) that lay out expert thinking.

We have think-alouds, where (more) experienced people demo their thought process being “productively lost” and then unpack it to newcomers, so they can start comparing metacognitive strategies. Every time you think out loud to students with their project, you’re doing this — but sometimes making artifacts is helpful, too. Also, accessibility is super-important for this… if you’re making videos, caption them. If you’re including images, describe them, and so forth. (My images are screenshots of the linked webpages, so I didn’t put image descriptions.)

5. We frame their mindset explicitly.

We have documents that explain the state of mind / viewpoint / psychological priming we want students to take towards things.

Flipping the open source contribution model

The Flipped Contribution model is one that removes the project as the center of participation design and instead focuses on developing a strong, skill-set-specific, contributor-led community serving multiple projects.

They’re building the opportunity for projects to get involved with them. They’re building the community they want to see in the world.

Read my full post on


Image by cordyceps, CC BY 2.0


John Green - The nerd's guide to learning everything online

This is an interesting video about the community of learners as proposed by John Green:

Building a Pathway to HFOSS Contribution

Our most recent NSF proposal was funded! In September we heard that our project, “OpenPath – Improving Student Pathways to Computing Professions via Humanitarian Free and Open Source Software”, had been funded. This is a collaborative grant with Nassau Community College, Drexel University and Muhlenberg College. The focus of the grant is to create a pathway of course materials and activities that involve students in HFOSS. The activities span from freshman through senior year with the goal of producing open-source-ready students upon graduation. The effort builds on collaborative relationships with the Red Hat University Outreach team , the GNOME Accessibility team, and the OpenHatch project.


Most recently we had a meeting of the minds between FOSS community members and academics to start to figure out what knowledge and skills students need to gain during their academic career in order to be productive FOSS community members. Participants included:

While the need for students to gain technical skills such as version control and coding were obvious, I found it interesting that one of the main themes that occurred during the meeting was the need for students to gain soft skills. The need for students to become proficient in communication, problem solving, and critical thinking became apparent throughout the meeting. Another observation was the need for students to understand open source communities in general and to have the skills to navigate individual communities. Thank you to everyone who participated and we will continue to build on what we learned from the meeting.

Learning Theories at a glance

The cmap at this location gives an overall picture of the established learning theories:

A Handy Visual Featuring The 7 Learning Styles

A Handy Visual Featuring The 7 Learning Styles

"One of the most popular theories that inform pedagogy is Howard Gardner's multiple intelligences theory. This theory posits the existence of seven different areas of intelligence that characterize the learning style one is more comfortable with. The visual below provides a very great overview of these 7 learning styles. If you want to learn more about Howard's multiple intelligences theory I would highly recommend his seminal work "Multiple Intelligences: New Horizons in Theory and Practice"."

Different learning styles are a neuroscience myth

Many of us are very familiar with the visual, auditory and kinesthetic learning styles.

However, these different learning styles are now being regarded as a neuroscience myth. You can read what Olivia Goldhill has to say about this neuroscience myth in this article:

My Open Tasks This Heartbeat

Happy New Year!

This heartbeat (ending Jan 22nd) is particularly crazy fun, as we prepare for the Leadership Summit in Singapore.  I’ m again experimenting with Open Tasks, this time asking for skill-specific help developing learning content for workshops:

1. Open is an Attitude

2. Rapid Prototyping

3. How to Run an Excellent Event

Each of these present a creative and fun challenge, both in content and format (1 hour workshops).  There are both very small, and larger chunks of work depending on your background and time.  When we’re done these will be shared for the world to use as well.

I can probably do a much better job of framing the opportunity in Github, and thus grateful for suggestions to improve the outline next time.   Always Learning!

CC BY-SA 2.0 ‘Teaching Open Source Practices’ by Image By



My 2016 #FOSS Project — Secret Shopper

In the first 6 months of 2016, I have a personal goal of contributing code to 10 Open Source Projects. I’m looking for projects with potential to teach us how to design for the success of contributors, like myself, who bring intermediate to advanced skill-sets and experience.  

I’ll be contributing code under another name, ala Secret Shopper, and sharing what I learn in a July post.

I am looking for nominations for Open Source projects that:

  • Are available on the web using web technologies.
  • Have a released version of their software
  • Have an existing community, or set of core contributors.
  • Want to improve their contributor design for intermediate and experienced developers.
  • Feel they have something they can teach others about community design.
  • Invested in increasing diversity of their contributor base.
  • Bonus: ‘Open’ Education focus.

What projects will get:

  • One or more code contributions from me –  I can’t promise they’ll be valuable, but I’ll do my best;)
  • Review of the experience (which is the actual contribution)
  • Inclusion in a blog post with my findings(in July)

What I hope for myself:

  • Emerge with a set of best practices for projects who want to help intermediate and experienced developers successfully join their project as contributors.
  • A User story of an experienced developer attempting to join a new community, through a first contribution.
  • New and fresh understanding for the experience of stepping into a project as a new code contributor.

If you would like to nominate a project – please do so in comments.

If you would like to nominate a project – please do so in comments on Medium.

Excited to play in FOSS communities this year!

We Can Code It — CC BY-NC-ND 2.0 by Charis Tsevis


Glucosio in 2016

Happy New Year, friends!

Our core team and contributors have much to be proud about reflecting on the work we did in the past few months. While there are many things to be proud of, I think one of the biggest accomplishments was we built an open source project and released a product to Google Play in under four months. We then went on to do four more releases and are growing our user base internationally on a daily basis.

Glucosio for AndroidGlucosio for Android

We have had an astounding amount of coverage from the media about the vision we have for Glucosio and how we can use open source software to not only help people with diabetes improve their outcomes but further research through anonymous crowdsourcing.

I’m proud of the work our core team has put in over the past few months and excited what the new year has in store for us as a project. One big change next year is we will be formally be under the leadership of a non-profit foundation (Glucosio Foundation) which should help us be more organized but also have the financial and legal structure we need to grow as a project and deliver on our vision.

I’ve been able to meet and talk with third parties like Dexcom, Nightscout Foundation and many others including individual developers, researchers and other foundations who are very interested in the work we are pioneering and are interested in partnering, supporting or collaborating with Glucosio.

One exciting thing we hope to kick off in the New Year are Diabetes Hack Days, where organizers around the world can host hack days in their community to get people to come together to hack on software and hardware projects that will spur new innovation and creativity around diabetes technology. Most importantly though, we are very excited to launch our API to researchers next year so they can begin extracting anonymized data from our platform to help further their diabetes research.

We also look forward to releasing Glucosio for iOS in the first quarter of 2016 which has had a lot of interest and been under development for a couple months now.

In closing, we would like to invite developers, translators, and anyone else to get in touch and get connected with our project and start contributing to the vision we have of amazing open source software to help people with diabetes. We’d also ask you to consider a donation to the project, which will help us in our launch of our iOS in Q1 of 2016, and help us more rapidly produce features by offering bounties via BountySource and expand into a more mature open source project.

Remembering Ian Murdock

Ian MurdockPhoto by Yuichi Sakuraba / CC BY

There is clearly great sadness felt in the open source community today after learning of the passing of Ian Murdock who founded the Debian Linux Distribution and was the first Debian Project Leader. Ian is the “ian” in Debian and Deb, his then-girlfriend (Debra Lynn) for those not familiar with the history of the naming of the project.

I was fortunate to meet Ian Murdock some years ago at an early Linux Conference (LinuxWorld) and it was very inspiring to hear him talk about open source and open culture. I feel still today that he was one of the many people who helped shape my own direction and contributions in open source. Ian was very passionate about open source and helped create the bricks (philosophy, vision, governance, practice) that power many open source projects today.

If it were not for Ian, we would not have many of the great Debian forks we have today including the very popular Ubuntu. There is no doubt that the work he did and his contributions to the early days of open source have had an impact across many projects and losing Ian at such a young age is a tragedy.

That said, I think the circumstances around Ian’s death are quite concerning as we have seen the tweets he made. I do hope that if Ian suffered excessive force at the hands of the San Francisco Police Department that justice will eventually be served.

I hope that we can all reflect on the values that Ian championed and the important work that he did and celebrate his contributions, which have had a very large and positive impact on computing.

Thank you Ian!

Extended Attributes

While working on support for FreeBSD’s extended attributes in python, I tried to be conscious of other implementations of extended attributes in different operating systems, that way I wouldn’t be inadvertently causing the sane problem that I was trying to fix: reliance on a particular API’s semantics.

What are extended attributes?

To put it very simply, extended attributes are metadata that are attached to files. Typically, they’re key/value pairs that the filesystem associates with a particular file on the filesystem, though that doesn’t always have to be the case.

How they’re implemented depends on both the filesystem, as well as the operating system. This means that implementations on the same filesystem (UFS, for example) can be complete incompatible across operating systems (Solaris and FreeBSD).

Extended attributes are not mandated by any standard. The tooling and APIs are quite different across operating systems and some operating systems (OpenBSD, HP-UX) don’t implement them at all. Because support is non-standard and spotty, it’s rare to see them used in cross-platform software. I’d be super-interested in seeing some counter-examples to this.

Extended attributes are sometimes namespaced. That is to say, there exists some top-level grouping of attributes. Other than the top-level namespace, there usually isn’t hierarchy to attributes, other than any arbitrary user-defined hierarchy. Namespaces are usually system and user, although this isn’t necessarily consistent, as we’ll see. Extended attributes under the system namespace are only modifiable by root (and sometimes only queriable by root).


ssize_t getxattr(const char *path, const char *name,
                 void *value, size_t size);
ssize_t lgetxattr(const char *path, const char *name,
                 void *value, size_t size);
ssize_t fgetxattr(int fd, const char *name,
                 void *value, size_t size);

ssize_t listxattr(const char *path, char *list, size_t size);
ssize_t llistxattr(const char *path, char *list, size_t size);
ssize_t flistxattr(int fd, char *list, size_t size);

int removexattr(const char *path, const char *name);
int lremovexattr(const char *path, const char *name);
int fremovexattr(int fd, const char *name);

int setxattr(const char *path, const char *name,
              const void *value, size_t size, int flags);
int lsetxattr(const char *path, const char *name,
              const void *value, size_t size, int flags);
int fsetxattr(int fd, const char *name,
              const void *value, size_t size, int flags);

The linux API is actually a fairly nice one, and for the rest of this post I’m going to use it as my point of comparison. The return values of the getxattr and listxattr functions are the total size of the attribute, not the size of the data returned. This lends itself to a nice idiom for checking whether or not truncation occurred:

char buf[BUFSIZ];
ssize_t res;

res = getxattr("/home/worr/foo", "", buf, sizeof(buf)) > sizeof(buf);
if (res > sizeof(buf))
    /* truncation occured */
else if (res == -1)
    /* error occurred */

If value is NULL in a call to getxattr or listxattr, the size of the buffer required to hold the contents of the EA will be returned. This allows you to query the amount of space required to hold the return value, allocate it, and then call the function again to populate that. That’s unfortunately racey, so it’s preferable to call and then realloc if truncation.

Linux extended attributes are namespaced, and the namespace is specified as part of the attribute name. Namespaces are separated from attribute names by a .. Currently, they support the common system and user namespaces, as well as security and trusted.

It’s important to note that listxattr will never retrun EPERM. If there are EAs that the current user cannot access, they just won’t be returned.

The attribute list returned by listxattr is NULL-delimited, and all of the attribute names returned by listxattr are fully-qualified.


It seems funny that I’m going to talk about AIX’s interface right after linux’s, but that’s largely because it’s…almost exactly the same.

ssize_t getea(const char *path, const char *name,
        void *value, size_t size);
ssize_t fgetea(int filedes, const char *name, void *value, size_t size);
ssize_t lgetea(const char *path, const char *name,
        void *value, size_t size);

ssize_t listea(const char *path, char *list, size_t size);
ssize_t flistea (int filedes, char *list, size_t size);
ssize_t llistea (const char *path, char *list, size_t size);

int removeea(const char *path, const char *name);
int fremoveea(int filedes, const char *name);
int lremoveea(const char *path, const char *name);

int setea(const char *path, const char *name,
        void *value, size_t size, int flags);
int fsetea(int filedes, const char *name,
        void *value, size_t size, int flags);
int lsetea(const char *path, const char *name,
        void *value, size_t size, int flags);

Just like linux, getea and listea return the size of the actual attribute value, which makes checking for truncation super easy. They also support getting called with a zero size, which will just return the size of the list or attribute value without writing any data to value.

The only key difference is that is that they use the character 0xF8 to separate the namespace from the attribute name. So querying for system attributes involves querying the name 0xF8SYSTEM0xF8attr.

There’s also the statea family of functions, which will fill in a struct stat64x, but that’s of little consequence to us here.

FreeBSD / NetBSD

extattr_get_fd(int fd, int attrnamespace, const char *attrname, void *data, size_t nbytes);
extattr_get_file(const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes);
extattr_get_link(const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes);

extattr_set_fd(int fd, int attrnamespace, const char *attrname, const void *data, size_t nbytes);
extattr_set_file(const char *path, int attrnamespace, const char *attrname, const void *data, size_t nbytes);
extattr_set_link(const char *path, int attrnamespace, const char *attrname, const void *data, size_t nbytes);

extattr_delete_fd(int fd, int attrnamespace, const char *attrname);
extattr_delete_file(const char *path, int attrnamespace, const char *attrname);
extattr_delete_link(const char *path, int attrnamespace, const char *attrname);

extattr_list_fd(int fd, int attrnamespace, void *data, size_t nbytes);
extattr_list_file(const char *path, int attrnamespace, void *data, size_t nbytes);
extattr_list_link(const char *path, int attrnamespace, void *data, size_t nbytes);

FreeBSD and NetBSD both use the same functions for the extended attribute calls. The most obvious difference is that the attribute namespace is no longer part of the attribute name. Each namespace is defined as an constant, and must be passed separately.

Almost seemingly as a result of this difference, extattr_list can now error with EPERM, rather than hiding the attribute names that the caller doesn’t have access to.

The other, more annoying difference, is the return value of the extattr_get and extattr_list functions. Rather than behaving like linux, AIX or OS X, they instead return the number of bytes written, making truncation detection harder. This basically requires that you make two calls if you want to ensure that no truncation will occur.


getxattr(const char *path, const char *name, void *value, size_t size, u_int32_t position, int options);
fgetxattr(int fd, const char *name, void *value, size_t size, u_int32_t position, int options);

listxattr(const char *path, char *namebuf, size_t size, int options);
flistxattr(int fd, char *namebuf, size_t size, int options);

removexattr(const char *path, const char *name, int options);
fremovexattr(int fd, const char *name, int options);

listxattr(const char *path, char *namebuf, size_t size, int options);
flistxattr(int fd, char *namebuf, size_t size, int options);

OS X differs in a few ways. Notably, their functions all take an options arg. Rather than calling an entirely different function to prevent following symlinks, you can pass the XATTR_NOFOLLOW to prevent traversing symlinks.

Another, fairly curious difference is the position argument that’s part of the prototype for getxattr. To really get a handle on this, we’re going to dive into the wonderful world of forks.


Forks are kind of like having multiple datastreams for the same file. The data that we typically think of being stored in a file is dumped into one fork (in the case of Mac OS, the data fork) and metadata, resources or any other type of data could exist in other forks, wholly independent.

On Mac OS filesystems (MFS, HFS, HFS+), each file could have at least a resource fork for the purpose of storing resources about a given file. This was used for things like splitting up icons that Finder would use to represent a file, or for separating presentation and content of text documents.

HFS+ (maybe HFS too? I’m not sure) allowed for any number of named forks.

Back to OS X

Extended attributes on OS X are actually just named forks. The extended attribute API wholly supplanted the old resource manager API. To ensure that applications could seek to arbitrary points in a fork, OS X’s extended attribute API includes a position argument.

getxattr is similar to Linux, in that it returns the size of the attribute’s data, not just the number of bytes read. This makes truncation detection pretty easy.

It is worth noting that extended attribute names in OS X are not namespaced in any special way.


Solaris gets weird. Solaris is probably closest to OS X in its implementation of extended attributes, in that extended attributes are just named forks. However, Solaris includes only one specialized function call to deal with extended attributes.

int attropen (const char *path, const char *attrpath, int oflag, ...);
/* the varargs can include a mode argument of type mode_t */

But even this isn’t required, since you can get the same results from using a combination of open and openat:

int fd = open(path, O_RDONLY);
int attrfd = openat(fd, attrpath, oflag|O_XATTR, mode);

From there, all of the *at functions can be used to operate on extended attributes with some restrictions:

Otherwise, extended attributes are treated like regular files.

This sucks

This is awful when trying to expose a generic, cross-platform API for extended attributes; the only one that I’ve found is written for perl. I had to add support for FreeBSD in Go, Python and Rust - and none of these deal with Solaris or AIX! Adding FreeBSD support was pretty rough, largely since implementors assume that every OS has a Linux-compatible API.

No OS has a Linux-compatible extended attribute API

Honestly, I wonder if this contributes to the lack of cross-platform apps that use extended attributes. They’re super useful in any case where it’s necessary to track metadata about files without having to keep track of it in a separate database. That’s honestly fraught with peril anyway, since you’re dependent on the name of the file (or whatever identifier you use in your db) staying constant across renames, deletes, etc.

Where to go from here?

A C wrapper lib around all of these implementations would be nice, but there are some obvious trade-offs that need to be made.

The way that I’ve done this in Python and Rust has been to:

Maybe when I get some time, I’ll start working on one.

Finally: please, please stop assuming that the whole world is Linux.


How to avoid 'death by PowerPoint'

Many of us use PowerPoint to make presentations. However, not everyone succeeds in making a fantastic presentation which the audience enjoy listening and interacting with the speaker.

Many PowerPoint presentations are boring, have too much textual information and speakers tend to read from the text typed on the PowerPoint.

Jane Wakefield, a Technology reporter, has written an enjoyable article entitled 'How to avoid 'death by PowerPoint'.

The URL of this article is:

Surfacing Teachable Moments in Community

I’m still figuring out how to cross-post well with Medium .  And if I want to, trying embed for fund.

Surfacing Teachable Moments in Community


Leadership Summit Planning

With a successful Mozlando for the Participation Cohort still in our rear-view mirror, we are excited to begin the launch process for the Leadership Summit, happening next month in Singapore

What is the Leadership Summit?

As part of the Participation Team’s Global Gatherings application process for this event,  we asked people to commit to developing and being accountable to recruit and organize contributors in order grow the size and impact of their community in 2016.  We ran also ran a second application process this month, to identify new and emerging leaders – bringing our invited total to 136.

The Leadership Summit will bring together this group for two days of sessions and experiences that will:

Help Participation Leaders will feel prepared (skills, mindsets, network) and understand their role as leaders/mobilizers who can unleash a wave of growth in our communities, in impact and in numbers.

Help Participation Leaders leave with action plans and commitments, specific to growing/evolving their communities and having impact on Connected Devices and a Global Campus Campaign.

Help everyone leave feeling that “we’re doing this together.” Everyone attending (volunteer and staff Mozillians) will feel like a community that is aligned with Mozilla’s overall direction, and who now trust one another and have each others back.



“You mentioned Connected Devices and a Global Campus Campaign?  Say more…”

Sure! In setting goals for 2016, we realized that focusing on one or two truly impactful initiatives, will bring us closer to unleashing the Participation Mozilla needs, while providing opportunity for individuals to connect their ideas, energy and skills in the way that feels valued and rewarding.

To that end, we are currently developing a list of sessions and experiences for the Leadership Summit that will set us up for success in 2016 as community leaders, and on each of our three focus areas:

We will say more about each as we get closer to the Summit, as well as including the opportunity to connect personal goals through 1:1 coaching for all attending.

“What about Reps and other functional areas?”

Fear not!  Sessions and experiences will include:

Alignment for Reps around changes in the program, what’s expected of them, and what they can expect from Council and staff in 2016

Opportunity for volunteers in specific functional areas to build relationships with staff in those areas

This event will complete the process of merging participants from three events into one activated cohort – this is our beginning, and I am excited, I hope you are too!

Feature Image by ‘Singapore’ CC by 2.0 David Russo


Cara Membuat Gambar Kronologi Facebook Keren Unik Kreatif

Cara Membuat Gambar Kronologi Keren  -  Dalam dunia internet khususnya sosial media gambar menjadi salah satu hal yang paling banyak di share di status maupun komentar facebook. Salah satu gambar yang menjadi perhatian pengguna facebook satu dengan yang lainnya adalah kronologi facebook dimana ketika teman sobat melihat profil facebook milik sobat mereka akan melihat gambar kronologi tersebut.

12 Situs Cara Membuat Logo Online Gratis Paling Keren Sendiri

12 Situs Tempat Untuk Membuat Logo Online  Akan membantu sobat yang belum begitu memahami tentang program graphic design seperti photoshop, coreldraw, freehand, xara, serif, acdc, GIMP, dan lain sebagainya. situs ini akan memanjakan siapapun juga bahkan yang sama sekali tidak mengenal dengan program designer apapun di komputer. saya yakin Siapapun dan apapun profesi sobat tentunya nama Logo sudah

Cara Membuat Gambar Foto Bergerak Mudah Dan Cepat Tanpa Software

Cara Membuat Gambar Bergerak -  Jika dilihat dengan mata biasa gambar yang bergerak ini seolah terlihat hanya sebuah gambar tunggal, namun jika sobat mau membedah / mengedit gambar tersebut dengan program tertentu ternyata gambar tersebut terdiri dari beberapa gambar yang disatukan dan sudah di atur dengan ritme dengan waktu yang sudah direntukan. gambar GIF ini bisa bergerak dengan cepat atau

A Very Short Introduction to Educational Technology

This is a short presentation by Mike Sharples of the Institute for Educational Technology in the UK's Open University:

Open Educational Resources blog for Cambodia

Here is the Open Educational Resources blog for Cambodia:

It is managed by the Ministry of Cambodia.

Machine Learning is next big thing in programming

There is a news report The Straits Times entitled “Machine Learning is next big thing in programming”:

Some news on live holographic lecture

There is a news item entitled “NTU conference treated to live holographic lecture” in The Straits Times.

You can read it online at

"Just What Will We Learn In The Future And How?" - opinion in The Straits Times

There is an opinion written by Warren Fernandez of The Straits Times at:

Students Don't Perform Better With Technology Use In School - OECD

Here is the URL of the article on "Students Don't Perform Better With Technology Use In School - OECD":

Revisiting the Word ‘Recognition’ in #FOSS and the Dream of Open Credentials

I think a lot about ways we can better surface Participation as real-world offering for professional and personal development.

And this tweet from Laura  triggered all kinds of thinking.

Most thinking was reminiscent at first. 

Working on open projects teaches relevant skills, helps establish mentorship relationships and surfaces hidden strengths and talents. It’s my own story.

And then reflective..

The reason we’ve struggled to make participation a universally recognized opportunity for credential building, is our confusion over the term ‘recognition’. In Open Source we use this term to mean of similar, yet entirely different meanings:

* Gratitude (“hey thanks for that !”)

* You’re making progress (“great work, keep going! “)

* Appreciation (“we value you”)

* You completed or finished something (congratulations you did it!)

In my opinion, many experiments with badges for FOSS participation have actually compounded the problem: If I am issued a badge I didn’t request( and I have many of these) , or don’t value ( I have many of these too) we’re using the process as a prod and not as a genuine acknowledgement of accomplishment.  That’s OK, gamification is OK – but it’s not credential building in the real-world sense, we need to separate these two ‘use cases’ to move forward with open credentials. 

And I kept thinking…

The Drupal community already does a good job at helping people surface real-world credentials. member profiles expose contribution and community leadership, while  business profiles  demonstrate (and advertise) their commitment through project sponsorship, and contribution.  Drupal also has this fantastic series of project ladders which I’ve always thought would be a great way to experiment with badges, designing connected learning experiences through participation.  Drupal ladders definitely inspired my own work with around a ‘Participation Standard‘ , and I wonder how projects can work together a bit more on defining a standard for  ‘Distributed Recognition’ even between projects like Mozilla, Drupal and Fedora.  

And the relentless thinking continued…

I then posed the question in our Discourse — asking what ‘Open Credentials’ could look like for Participation at Mozilla . And there are some great responses so far, including solutions like Makerbase and   reminder of of how hard it current is to be ‘seen’ in the Mozilla community, and thus how important this topic actually is.









And the thinking will continue, hopefully as a growing group ….

What I do know is that we have to stop using the word recognition as the catch all, and that there is huge opportunity to build Open Credentials through Participation and leadership framework might be a way to test what that looks like.

If you have opinions – would love to have you join our discussion thread!

image by jingleslenobel CC by-NC-ND 2.0


On the relative openness of text/document formats: .txt and .csv

My friend and research colleague Todd Fernandez writes: I know the ODF (Open Document Format) is generally the preferred format from an open documents standpoint. My question is whether you [and other Free/Libre groups] would consider .txt files in Unicode and .csv (comma-separated value) data files considered equivalently open?

First of all, I can’t answer for FSF or other groups — so what you’re getting is the Mel answer to “are .txt and .csv files open?” This email reply is getting so long that I’ll turn it into a blog post.

The Mel answer is “yes.” I consider .txt files in Unicode and .csv to be “open.” In fact, I personally prefer to use them over ODF, which I’m rarely able to open with the software pre-installed on most computers I encounter.

In the paragraphs that follow, I’ll get into more detail behind my reasoning. To define “open” and “free,” I’ll loosely use the Open Source Definition (OSD) and the Free Software Definition, noting that these were created for software and need to be adapted for a discussion on file formats.

In discussing these file formats, I’ll cover .txt first, since .csv builds on top of .txt. The file extension”.txt” can mean a lot of things, and each of those things has different levels of open-ness (from a more legal-ish open standards standpoint, see definitions above) and accessibility (from a “how many people are able to read/write them on their computers with their current software” standpoint). I personally care about both.


You asked specifically about Unicode, but “.txt” can also mean ASCII, which is/was an American-developed standard for text information. I’ll start here, since ASCII was where Unicode began (in fact, ASCII’s 128 characters are Unicode’s first 128 characters).

ANSI X3.4-1968 is the document describing this encoding. It is a standard that’s widely used and published, lots of programs can access it, and you can use it in your programs without too much effort and without licensing costs (as far as I can tell; I can’t easily find the exact legal status). Basically, if I translate the Open Source Definition from software to file formats, I can’t find evidence that ANSI X3.4-1968 itself contradicts any of its criteria. I know this is different than proving that it absolutely meets all these criteria, but this is good enough for me.


As an interesting side note: ASCII is an ANSI standard (American National Standards Institute, hence the ANSI- prefix on its standards document). ANSI’s definition of “open” is about “do stakeholders have access to the consensus decisionmaking process that forms the standards?” and “are licensing fees and getting permission to use the standard at a reasonable and not overly burdensome level?” rather than “are there no licensing fees and permissions needed at all?” The latter corresponds to part of the 4 requrements for “freedom” according to the FSF, so it’s possible for something to be “open” according to ANSI but not “free” according to the FSF.

It would be interesting to go through and do a more rigorous look on whether ASCII’s legal/licensing criteria meets the Four Freedoms. I’m not a lawyer, but I’d be interested in what a lawyer would say.


“.txt” can also mean UTF, or Unicode Transformation Format; this is what your email asked about. The “A” in ASCII stands for “American,” and “American” in this case meant “monolingual,” meaning that if you wanted to type something outside ASCII’s 128-character, heavily-biased-towards-American-English set, you were flat out of luck. Unicode took the first 128 characters of ASCII, then… kept on going. Unicode is a more internationally-savvy superset of and successor to ASCII.

UTF-8 and UTF-16 are two Unicode variants in common use. The numbers refer to the number of bits per character, which you can think of as “UTF-16 has more letters in its gigantic international meta-alphabet than UTF-8.” UTF standards are developed by the Unicode Consortium, which I keep mistakenly typing as the “Unicorn Consortium” (which would be kinda awesome).

Unicode’s copyright permissions language seem very, very similar to the 4 requirements of the FSF for freedom. Since ASCII is a subset of Unicode, this makes me even more comfortable saying that ASCII is also “open.” However, I am not a lawyer, nor am I using “open” in a legally rigorous sense here — remember, I am a non-legally-trained engineer going “yeah, I don’t see anything that contradicts the definitions made for Open and Free software, if we were to translate it to file-formats-land.”


CSV is a format that’s layered atop plaintext (ASCII, UTF, whatever). In other words, you use plaintext to write a CSV document. CSV itself is not formally specified, which means it’s a free-for-all, and… you can use it for whatever, because you’re pretty much making it up. It’s just that you’re just making it up in the same way lots of other people have made it up.

Then again, “official standards” are just a group of people who have made things up and have agreed to stamp the label of “official” on their work; it’s still a social construct that depends on how many other people agree with them. (I can make something an “official” standard according to Mel, but if nobody else agrees with me, my standard is useless.)

Anyway, I’m not sure if that qualifies CSV as “open,” but it’s certainly not “closed.” To me, CSV is just as open as whatever underlying plaintext (.txt) format it’s using. But again, I’m not a lawyer, don’t work for the FSF, etc. This is just one hacker’s opinion, and I’d love to hear what others think.

Google Berganti wajah Baru, Lebih Cepat dan Simple

Google Berganti wajah Baru, Lebih Cepat dan Simple - Mungkin berita ini banyak yang sudah mengetahui namun siapa tahu masih ada yang belum tahu tentang berita google terbaru. Google plus adalah jejaring sosial terbesar yang bisa di akses dengan gratis untuk siapapun juga. Malam ini saya coba membuka akun google plus milik saya,  saya melihat ada yang berbeda dari biasanya. saya melihat sebuah

Openly Thankful

ThankfulSo next week has a certain meaning for millions of Americans that we relate to a story of indians and pilgrims gathering to have a meal together. While that story may be distorted from the historical truth, I do think the symbolic holiday we celebrate is important.

That said, I want to name some individuals I am thankful for….



Lukas Blakk

I’m thankful for Lukas for being a excellent mentor to me at Mozilla for the last two years she was at Mozilla. Lukas helped me learn skills and have opportunities that many Mozillians would not have the opportunity to do. I’m very grateful for her mentoring, teaching, and her passion to help others, especially those who have less opportunity.

Jeff Beatty

I’m especially thankful for Jeff. This year, out of the blue, he came to me this year and offered to have his university students support an open source project I launched and this has helped us grow our l10n community. I’m also grateful for Jeff’s overall thoughtfulness and my ability to go to him over the last couple of years for advice and feedback.

Majken Connor

I’m thankful for Majken. She is always a very friendly person who is there to welcome people to the Mozilla Community but also I appreciate how outspoken she is. She is willing to share opinions and beliefs she has that add value to conversations and help us think outside the box. No matter how busy she is, she has been a constant in the Mozilla Project. always there to lend advice or listen.

Emma Irwin

I’m thankful for Emma. She does something much different than teaching us how to lead or build community, she teaches us how to participate better and build better participation into open source projects. I appreciate her efforts in teaching future generations the open web and being such a great advocate for participation.

Stormy Peters

I’m thankful for Stormy. She has always been a great leader and it’s been great to work with her on evangelism and event stuff at Mozilla. But even more important than all the work she did at Mozilla, I appreciate all the work she does with various open source nonprofits the committees and boards she serves on or advises that you do not hear about because she does it for the impact.


Jonathan Riddell

I’m thankful for Jonathan. He has done a lot for Ubuntu, Kubuntu, KDE and the great open source ecosystem over the years. Jonathan has been a devout open source advocate always standing for what is right and unafraid to share his opinion even if it meant disappointment from others.

Elizabeth Krumbach Joseph

I’m thankful for Elizabeth. She has been a good friend, mentor and listener for years now and does so much more than she gets credit for. Elizabeth is welcoming in the multiple open source projects she is involved in and if you contribute to any of those projects you know who she is because of the work she does.


Paolo Rotolo

I’m thankful for our lead Android developer who helps lead our Android development efforts and is a driving force in helping us move forward the vision behind Glucosio and help people around the world. I enjoy near daily if not multiple time a day conversations with him about the technical bits and big picture.

The Core Team + Contributors

I’m very thankful for everyone on the core team and all of our contributors at Glucosio. Without all of you, we would not be what we are today, which is a growing open source project doing amazing work to bring positive change to Diabetes.


Leslie Hawthorne

I’m thankful for Leslie. She is always very helpful for advice on all things open source and especially open source non-profits. I think she helps us all be better human beings. She really is a force of good and perhaps the best friend you can have in open source.

Jono Bacon

I’m thankful for Jono. While we often disagree on things, he always has very useful feedback and has an ocean of community management and leadership experience. I also appreciate Jono’s no bullshit approach to discussions. While it can be rough for some, the cut to the chase approach is sometimes a good thing.

Christie Koehler

I’m thankful for Christie. She has been a great listener over the years I have known her and has been very supportive of community at Mozilla and also inclusion & diversity efforts. Christie is a teacher but also an organizer and in addition to all the things I am thankful for that she did at Mozilla, I also appreciate her efforts locally with Stumptown Syndicate.

trust issues and the order of law and technology cf @FrankPasquale

I’ve cut to the last chapter of Pasquale’s The Black Box Society, “Towards an Intelligible Society.” I’m interested in where the argument goes. I see now that I’ve gotten through it that the penultimate chapter has Pasquale’s specific policy recommendations. But as I’m not just reading for policy and framing but also for tone and underlying theoretical commitments, I think it’s worth recording some first impressions before doubling back.

These are some points Pasquale makes in the concluding chapter that I wholeheartedly agree with:

There is quite a bit in the conclusion about the specifics of regulation the finance industry. There is an impressive amount of knowledge presented about this and I’ll admit much of it is over my head. I’ll probably have a better sense of it if I get to reading the chapter that is specifically about finance.

There are some things that I found bewildering or off-putting.

For example, there is a section on “Restoring Trust” that talks about how an important problem is that we don’t have enough trust in the reputation and search industries. His solution is to increase the penalties that the FTC and FCC can impose on Google and Facebook for its e.g. privacy violations. The current penalties are too trivial to be effective deterrence. But, Pasquale argues,

It is a broken enforcement model, and we have black boxes to thank for much of this. People can’t be outraged by what they can’t understand. And without some public concern about the trivial level of penalties for lawbreaking here, there are no consequences for the politicians ultimately responsible for them.

The logic here is a little mad. Pasquale is saying that people are not outraged enough by search and reputation companies to demand harsher penalties, and this is a problem because people don’t trust these companies enough. The solution is to convince people to trust these companies less–get outraged by them–in order to get them to punish the companies more.

This is a bit troubling, but makes sense based on Pasquale’s theory of regulatory circularity, which turns politics into a tug-of-war between interests:

The dynamic of circularity teaches us that there is no stable static equilibrium to be achieved between regulators and regulated. The government is either pushing industry to realize some public values in its activities (say, by respecting privacy or investing in sustainable growth), or industry is pushing regulators to promote its own interests.

There’s a simplicity to this that I distrust. It suggests for one that there are no public pressures on industry besides the government such as consumer’s buying power. A lot of Pasquale’s arguments depend on the monopolistic power of certain tech giants. But while network effects are strong, it’s not clear whether this is such a problem that consumers have no market buy in. In many cases tech giants compete with each other even when it looks like they aren’t. For example, many many people have both Facebook and Gmail accounts. Since there is somewhat redundant functionality in both, consumers can rather seemlessly allocate their time, which is tied to advertising revenue, according to which service they feel better serves them, or which is best reputationally. So social media (which is a bit like a combination of a search and reputation service) is not a monopoly. Similarly, if people have multiple search options available to them because, say, the have both Siri on their smart phone and can search Google directly, then that provides an alternative search market.

Meanwhile, government officials are also often self-interested. If there is a road to hell for industry that is to provide free web services to people to attain massive scale, then abuse economic lock-in to extract value from customers, then lobby for further rent-seeking, there is a similar road to hell in government. It starts with populist demagoguery, leads to stable government appointment, and then leverages that power for rents in status.

So, power is power. Everybody tries to get power. The question is what you do once you get it, right?

Perhaps I’m reading between the lines too much. Of course, my evaluation of the book should depend most on the concrete policy recommendations which I haven’t gotten to yet. But I find it unfortunate that what seems to be a lot of perfectly sound history and policy analysis is wrapped in a politics of professional identity that I find very counterproductive. The last paragraph of the book is:

Black box services are often wondrous to behold, but our black-box society has become dangerously unstable, unfair, and unproductive. Neither New York quants nor California engineers can deliver a sound economy or a secure society. Those are the tasks of a citizenry, which can perform its job only as well as it understands the stakes.

Implicitly, New York quants and California engineers are not citizens, to Pasquale, a law professor based in Maryland. Do all real citizens live around Washington, DC? Are they all lawyers? If the government were to start providing public information services, either by hosting them themselves or by funding open source alternatives, would he want everyone designing these open algorithms (who would be quants or engineers, I presume) to move to DC? Do citizens really need to understand the stakes in order to get this to happen? When have citizens, en masse, understood anything, really?

Based on what I’ve read so far, The Black Box Society is an expression of a lack of trust in the social and economic power associated with quantification and computing that took off in the past few dot-com booms. Since expressions of lack of trust for these industries is nothing new, one might wonder (under the influence of Foucault) how the quantified order and the critique of the quantified order manage to coexist and recreate a system of discipline that includes both and maintains its power as a complex of superficially agonistic forces. I give sincere credit to Pasquale for advocating both series income redistribution and public investment in open technology as ways of disrupting that order. But when he falls into the trap of engendering partisan distrust, he loses my confidence.

The Journey Continues – Mozlando is Coming!

It’s the most wonderful time of the year!  The ‘Mozilla Coincidental Work Week’ brings everyone at Mozilla together in the same city, at the same time for the opportunity of collaboration – this time in Orlando Florida (Dec 7 – 11) !

‘Mozlando’ is the next stop on our Participation Cohort’s journey –  a perfect environment for goal-setting focused on building high impact participation opportunities with product teams.  Truly – a  beautiful opportunity to invest in, and with each other.

IMG_2015-11-18 15:36:44

Over 100 volunteers will have the opportunity to work directly with teams helping design and strengthen goals which in many (and most)  cases includes Participation.  For those invited by the Participation Team, we will of course, be dedicating ourselves to that focus.


We have three distinct volunteer groups attending Orlando:

  1. Those invited by the Participation Team.
  2. Those invited by another functional area, but who are also part of the Participation Cohort.
  3. Those who were invited by another functional area, but currently have no Participation connection.
    1. Subset: those in this group who may, informally, have Participation goals in their work.

We will reach out with offers for 1:1 coaching for all in groups 1 & 2.  And for the subset of the 3rd group, will reserve blocks of time for those interested in Participation.

The coaching this time around even more important recognizing that connecting volunteers with the project goals is a critical step to bringing sustained strategic advantage to Mozilla . We are asking our cohort to research and consider the following:

  1. What are my participation goals for 2016?
  2. What are the goals in 2016 of the product team I will be working with?
  3. How do these align with my own goals for 2016?  What adjustments do I need to make?  What questions do I need to ask?
  4. How can I share what I learn, and bring others in who want to contribute to the same area of the project?

CC by-nc-sa 2.0 by Christos Bacharakis

At the heart of everything of course is people, why we’re here, why we care,  where we envision we can go individually, and with each other.  I’m looking forward to all of it!

For those who think of Orlando as ‘Disney’ and for those who think of Orlando as ‘Space ‘ I give you an image for everyone. ‘Mickey Mouse on Mercury’ CC by 2.0 Nasa Goddard Space Flight Center

Feature Image Credit:  Nasa on The Commons


#MyMozfest 2015

The Mozilla Festival took place this last past weekend!   Mozfest is the first of three Global Leadership events we’re leveraging to empower a cohort of Participation Leaders in their goals for 2016.  This first group of 30  represents those whose goals strongly focused on developing and delivering programs that build skills (leadership and otherwise) of Mozillians.



Mozfest is the perfect place to meet kindred spirits, make new and valuable connections, and to experiment and get feedback  in real time.  Everything including sessions themselves, lend to hackability and spontaneous invention, the environment encourages a bravery to reach inside ourselves, and to recognize our potential to be the change we want to see in the world .


It was  very very exciting to be a part of designing an experience for this group that  included pre-event coaching, facilitator training, and leadership workshops led by George Roter.   We also hosted the first ever ‘Participation Space’ at Mozfest which was filled with sessions and activities the entire weekend. I wanted to share a few moments that stood out for me, with a sneak peek into what’s next.



  1. Adriano Capello’s Workshop “Leadership Games” , saw people sitting around a table with bags on their heads laughing and learning about leadership while making things.  This session would have continued long past the end-time if participants had their way.
  2. Gloria Dwomoh’s ‘Getting Started with Open Source‘ session.  This was her first-ever facilitation session, she did a great job.  The smile on her face made my day  – a facilitator was born :)
  3. Watching Christos mentor Gloria in a session on Scaling the Learning and Leading program at Mozilla.  Helping her find that thing she was good at, and could teach.  Huge talent.
  4. Saran Mansouri – Hacking Flexigons, took place in the Youth Zone, and by all accounts her session engaged a tricky group of learners in a big way.
  5. Tools for Growing an Inclusive Diverse Community by Larissa Shaprio was one of our best attended sessions in the Participation Space – thrilled to see this topic as part of our leadership focus.
  6. George Roter’s Leadership Kickoff story about Farmers and Farming, ask him to tell it to you in the context of community leadership.  Super inspiring.
  7. ‘The Internet Box’ a quick design by one of our cohort during the kickoff that showed the Internet as a box, with two doors. One door is Mozilla, one was through proprietary, privacy threatening orgs. Same technology, same box two doors, which would you choose?  Brilliant.
  8. Firefox OS App Building session by Errietta Kostala , saw engagement of new developers wanting to contribute to FFOS, and for the win – they were connected with project leads for Firefox OS Smart TVs.
  9. Ioana, Michael and Henrik who joined us on their own time  – ran sessions or otherwise made the space much more amazing because they were there.  Special thanks to Ioana, and Flore for help with space setup.  Also cheese and chocolate from Flore ;)
  10. The Participation Museum!  A collection of items
  11. The leadership wrap up!  By far my favorite moment as everyone sharpened their goals for 2016 and wore the Participation ‘cape’ to share their first milestone.


As the ‘space wrangler’ for Participation, I didn’t get out much :) but still managed these inspiring moments.  Looking forward to reading the blog posts of our entire cohort on their Mozfest moments.  Here are more photos of our caped cohort!

Next up, we’ll be holding our first call for those who attend Mozfest, and launching connective efforts to bring in  those who have yet to attend an event, or who sadly missed this one because of Visa issues.  Lots of goodness ahead!








Mozilla at Grace Hopper Open Source Day

This past October, thanks to Larissa Shapiro, I had the incredible opportunity of teaching Open Source Participation at Grace Hopper Open Source Day.

In recent years, I would say the primary focus of my contribution to Mozilla has been an effort to create educational offerings and experiences with real world value, through open source participation.  And this event proved  that –  not only do people really want learning opportunities like this, but we can make the world a better place, and tech a more diverse environment in the process.

Some highlights in our success on this day:


We had a group of incredible mentors – I would have been lost without them.  Special mention to Paula (post main photo) who created virtual machine solution for those who struggled too long with their environments.  Mentorship is absolutely key to an event like this, and the talented people that turned up has me dreaming of a mentorship team for all technical projects..


I chose the website as a contribution project.  Primarily because I had experience with the environment and codebase,  and support from project team members:  Mavis and Hannah who were kind enough to tag specific issues with ‘Grace Hopper’.

I also chose this project because I knew the technology was both easy to pickup, and had real world value in the job market.   Finally, I knew  the ‘Ready, Write, Participate’ message would resonate with a group of learners..learning to Participate :)




Our group was brilliant. I worried that some issues with environment  (and we had quite a few) would dampen spirits, or result in people leaving.  The opposite happened.  Our group emerged in the very best way – a community and a team.  When one woman overcame an issue with a node version, she rose to help others reach their own success as well.  Experts in environments and issues emerged to mentor others, and by afternoon I had run out of ‘Grace Hopper’ tasks.

I had to remind at least one person to eat, and another woman in the last 15 minutes of the event, was on her feet trying to fix one last issue before submitting her pull request.  I was proud, and honoured to be part of a group so diverse (including a male mentor), that there was really no majority in the room.  That is an amazing feeling.




Our group demoed their work, and it was an zen moment, to see this group describe not only their work overcoming obstacles,  but what they accomplished and why the project mattered.  Hope to be back again next year!






Let’s End the Community Council Entrenchment

2842789Let’s bring some change to the Community Council. A few of those running for Community Council have been on the council for years and not given up their seat to allow new ideas and fresh leadership to come to the council.
I think this is bad not only in governance of open source projects, but in leadership of any body whether it be a nonprofit board, a city council, a parliament, or congress.

At least two of the most senior people, in terms of how long they have been on community council, are in my opinion also the most disconnected and least communicative with the community, with one of them not having contributed to Ubuntu outside of their council role in years.

I think it is time to shake things up and that is why I am prioritizing my vote for the following four people as top picks and I’d encourage you to use your vote however you want but please consider shaking it up and bringing in some new faces.

TL;DR We know entrenchment in community leadership, nonprofit boards and politics is generally bad so lets shake it up!

My pick list:
Scarlett Clark
Svetlana Belkin
Phillip Ballew
Walter Lapchynski
Marco Ceppi
C de-Avillez
Jose Antonio Rey

Update: Charles Profitt a member of the Ubuntu CC who is departing emailed me this blog post he did last month which aligns with my opinion on entrenchment and dynamic not static leadership.

Our blogs