Hey all! It’s a while that I don’t write here, my promise to write one post every two weeks is too difficult to keep. Anyway, I’m here to describe one of the funniest weekend I had in a while. Italian LoCo Team last weekend was at “Fiera del Radioamatore“, the biggest electronics fair in the North-East of Italy.
It was a big success, and in three days there were a lot of people in our stand. There is too many things that I can say, so I’ll follow the 5 points I wrote some times ago in the article “Why you should contribute to Ubuntu Touch“. If you want to know all details, well, find me and offer me a beer, I’ll be more than happy to tell you all the adventure.Friends
This events was a big occasion to meet old friends, know by person some IRC nicks and find new open-source enthusiast. Two big moments were the dinner (and mainly the beers after dinner) with warp10, primes2h, paolettopn and dcavedon. Pordenone is a very nice city, and they have a good beer. Awesome. Other moment was Saturday evening: we were 12 (or 15? Don’t remember, too much wine) and we ate in a country inn with typical dishes, very good.
During the fair I met Daniele Scasciafratte, a Firefox OS developer: interesting project, but Ubuntu is soooo better ;-) Daniele is a very active guy, hope to do something in common in next events!
Also, I met Matteo Durighetto from Italian Postgresql community and an old, dear friend: Mattia Migliorini
On my G+ profile there are much more photos with other fantastic people. Thanks to all :-)Knowledge
Well, so much people met, and so much new knowledge! First of all, I had the occasion to use Firefox OS, then, thanks to randomcpp, now I use zsh in place of bash.
Also, I saw a lot of interesting talks: do you know Volumio? No? If you love music and Rasberry Pi you have to try it!
Also, Postgresql is a very interesting software: indeed ubuntu-it uses it in every website.Fun
It was very funny to present Ubuntu for Phones: a lot of people wanted to try it on a Nexus 4, and I had very positive feedbacks.
Also, ChimeraRevo did me an interview. Do you see my happy face? :-)A common goal
During the weekend there were also a lot of others open-source groups: RepRap, Local Linux User Group (from Venice, Pordenone, Udine and others), Arduino groups and so on. It was a pleasure to meet so valid guys from all Italy, and I love to see that people want Ubuntu. Wonderful weekend, thanks to all that made it possible!
Technical note: I changed my WordPress theme because the old one has issues with Chrome and Chrome mobile, and it’s very slow to load. Unfortunately, I have no time to restyle both my blog and my website, I want to do it this summer. If you want help me, I’ll be eternally grateful!
This work is licensed under Creative Commons Attribution 3.0 Unported
Just saw http://sny.no/2014/04/dbts and I feel compelled to note that distributed bug trackers are not new – the earliest I personally encountered was Aaron Bentley’s Bugs everywhere – coming up on it’s 10th birthday. BE meets many of the criteria in the dbts post I read earlier today, but it hasn’t taken over the world – and I think this is in large part due to the propogation nature of bugs being very different to code – different solutions are needed.
XXXX: With distributed code versioning we often see people going to some effort to avoid conflicts – semantic conflicts are common, and representation conflicts extremely common.The idions
Take for example https://bugs.launchpad.net/ubuntu/+source/ntp/+bug/805661. Here we can look at the nature of the content:
- Concurrent cannot-conflict content – e.g. the discussion about the bug. In general everyone should have this in their local bug database as soon as possible, and anyone can write to it.
- Observations of fact – e.g. ‘the code change that should fix the bug has landed in Ubuntu’ or ‘Commit C should fix the bug’.
- Reports of symptoms – e.g. ‘Foo does not work for me in Ubuntu with package versions X, Y and Z’.
- Collaboratively edited metadata – tags, title, description, and arguably even the fields like package, open/closed, importance.
Note that only one of these things – the commit to fix the bug – happens in the same code tree as the code; and that the commit fixing it may be delayed by many things before the fix is available to users. Also note that conceptually conflicts can happen in any of those fields except 1).
Anyhow – my humble suggestion for tackling the conflicts angle is to treat all changes to a bug as events in a timeline – e.g. adding a tag ‘foo’ is an event to add ‘foo’, rather than an event setting the tags list to ‘bar,foo’ – then multiple editors adding ‘foo’ do not conflict (or need special handling). Collaboratively edited fields would be likely be unsatisfying with this approach though – last-writer-wins isn’t a great story. OTOH the number of people that edit the collaborative fields on any given bug tend to be quite low – so one could defer that to manual fixups.
Further, as a developer wanting local access to my bug database, syncing all of these things is appealing – but if I’m dealing with a million-bug bug database, I may actually need the ability to filter what I sync or do not sync with some care. Even if I want everything, query performance on such a database is crucial for usability (something git demonstrated convincingly in the VCS space).
Lastly, I don’t think distributed bug tracking is needed – it doesn’t solve a deeply burning use case – offline access would be a 90% solution for most people. What does need rethinking is the hugely manual process most bug systems use today. Making tools like whoopsie-daisy widely available is much more interesting (and that may require distributed underpinnings to work well and securely). Automatic collation of distinct reports and surfacing the most commonly experienced faults to developers offers a path to evidence based assessment of quality – something I think we badly need.
On Friday and Saturday I had the opportunity to finally attend and participate in a conference I’ve had my eyes on for years: LOPSA-East. I first heard about this conference several years ago while living in Philadelphia, but could never gather up the time or funds to attend. This year I was delighted to see an invitation to submit a proposal land in my inbox and I submitted a talk on Code Review for Systems Administrators which was accepted. Even better, they also asked if I could give the closing keynote on attracting more women to IT!
One of the things I always admired from afar about this conference was their passion for systems administration/ops work, the people who voluntarily spend their time running this conference and many of the speakers spend vast amounts of time off work hours on the community. It syncs up well with my own passions and those of many of the local groups nearby, so I was really delighted when I saw PLUG represented on their supporters board near the entrance to registration (along with the great Franklin tux logo by Stephanie A. Fox!).
Friday was a tutorial day for the conference, where I chose to attend Jennifer Davis’ “Implementing Kanban to Improve your Workflow” in the morning and “How to Interview a System Administrator” by Adam Moskowitz in the afternoon.
Jennifer’s tutorial was a real treat. She had group activities throughout the tutorial that made it more engaging, and since they were about our work I was happy to engage, rather than being uncomfortable (group activities don’t tend to be my thing). Even better, she managed to sneak in a game of Fluxx as one of the activities to demonstrate the disruptive and interrupt-drive environment that systems administrators often find ourselves in. The Kanban scheduling system for work is something I’m seeing increasingly in the industry, including on a team I work with in OpenStack. I’ve also been reading The Phoenix Project, where they appear prominently, but it was great to sit down and have a tutorial that helped me better understand how other teams are using them in production. We also got to make a demo one ourselves with post-its, which was a lot of fun, especially if you love office supplies like I do (doesn’t everyone?).
Adam’s session on interviewing systems administrators was really great too. The team I work on has been doing a fair amount of hiring lately, so I’ve been asked to help conduct interviews. The first good news out of this session is that I generally have the right idea with interviews, but there are always improvements to be made! He suggested an approach that centers around the key question of “Tell me a time when you…” which will show you about how they solved a problem and will teach you a lot about their skills in that area. The goal is to show that the applicant is a smart problem-solver who is able to learn and adapt to new applications as the job of systems administration often requires, not someone who is solidly attached to a single technology – “don’t ask them what the -z flag of ls does.” He also explained the process at his company where an applicant must give a presentation on a subject (typically a technology or problem they’ve solved) to the interview panel, which was quite the contentious suggestion, but he argued that communication skills are vital for an applicant and they wouldn’t be judging them on their public speaking ability. Finally, one of my favorite things he mentioned was making the applicant feel comfortable. Interviews are stressful, just by seeing how an applicant performs in an interview you get some idea of how they handle stress, there is no need to manufacture stress for them.
Friday night was the first keynote, by OpenStack guru Vishvananda Ishaya. He gave a history of OpenStack talk and gave some details about the current uses of it in the industry. I’ve heard a similar talk from him before, but this was the first time I’d seen it at an operations-focused conference, so that was pretty exciting. It was also notable that both the keynotes this year were by folks who work full time on OpenStack. First we took over open source conferences, now operations!
Saturday kicked off the talks of the conference. I had a chance to catch up with Kartik Subbarao who recently published a book Enlightening Technical Leadership. I’ve recently jumped on the meditation bandwagon and have sought to bring mindfulness into standard practice in my life, so the timing of his book, and the related talk I went to first thing on Saturday, was great. His proposal was for the changing of mental models for handling various situations, and brought up in person vs email discussions as an example: body language and tone tell us a lot in person, in email so many things are much less clear, a phrase like “Good luck” can be interpreted many ways. He implores the audience to take a mindful step back and seek to adjust their reactions to be more positive, constructive and rational.
The second talk of the day was mine, I’ve given my Code Review for Sys Admins talk at a few open source conferences, but this was my first time giving it to a sysadmin-ful audience at an ops-focused conference, so I was eager to hear feedback. I ended up having a lot of great chats after my talk with folks who were coming from various backgrounds who were interested in learning more about the tools and where the bottlenecks were in our workflow. But perhaps the most exciting part about my talk was during someone else’s – Adam Moskowitz did a talk in the afternoon called “The Future of System Administration (and what you should do to prepare)” where he described an almost identical workflow he was using at his company with automated developer testing and systems administration code being pushed through code review too! His premise was that sysadmins will increasingly need coding ability as we dive further into automation of everything. It sure was exciting to see the work we do in the OpenStack project being called the future.
The next talk I went to was “Git Hooks for Sys Admins: With Puppet Examples” by Thomas Uphill. I’ve been using git on a day to day basis for over a year now and over the past few months have been thinking “I really should figure out these git hook things”. This presentation was the kick I needed, particularly since his `puppet parser validate` example is something I totally should be using instead of manually running my own script prior to commit. It was really nice to hear some of the details about what all the stuff in the hooks files were so I’ll be more familiar once I start digging in. His slides, including the examples, are available here: goo.gl/dg5TVw
Early in the morning I was approached to participate as a panelist in the “Professional Topics Panel Discussion” and so that was my next stop of the day. The first topic that was brought up by an audience member was how people handle change review processes that end up really getting in the way of work and goals of the team they’re working on. After some discussion consensus was that working with your manager and other teams to make sure efficiency goals were synced up with the needs of the change review process was important, and above all else – communication is key. Too many teams get too wrapped up in process and how things “have to be” when things actually could be vastly improved. The second topic was the position of an IT team in a small company running interference with the larger company that just bought them to make sure the small company employees could continue to do their work with their preferred workflow. Buy in from management was another key thing here, but there were also comments about how the smaller company is valuable to the larger when it came to some of their IT innovations and how honest communication between both IT teams was key.
The rest of my afternoon I spent in a series of talks, starting with “Don’t Be That Guy” which went through some of the typical archetypes of technology-types and offer advice on how to handle them, from the BOFH to the Downer to the person who seems to live in a cave and rarely collaborates with the team. The conference had a great series of lightning talks, and then I headed over to “Packing It In: Images, Containers, and Config Management” where Michael Goetz discussed use of Packer, Docker and Chef to build an environment where virtualization, containerization and configure management work well together. He also gave some tips about using containers, stressing that one should not overload a container like you might be tempted to for a full virtual machine.
And with that, the talks came to an end! All that was left was my closing keynote.
My talk was titled “Universal Design for Tech: Improving Gender Diversity in our Industry” and it’s one I was more nervous about than any other talks I’ve given recently. This is a tough topic, and one that’s quite personal for me. I’ve been on panels on the topic in the past couple years, this was the first time I’d done a solo talk on it since 2009 when I did an improving participation talk for a Linux Users Group. Since then I’ve either argued to adjust the topic or declined the invitation to speak on the topic because it’s too stressful. When the opportunity to give this keynote came up I was hesitant at first, but it’s important and I decided it was time to get back out there, even if it’s just for one talk. Over the years, and through success I’ve seen in my career and that of women I work with, I felt I could add value to the discussion and that it would be worth the stress and risk one takes when giving this kind of talk. I also had valuable input from several women I know, without whom I don’t think I could have crafted such an effective presentation.
There were a lot of great questions from the audience as I wrapped up, and I ended up being late for dinner due to post-talk discussions (oops!). Thanks to everyone who was so engaged and interested in this topic, it was really great to have such a supportive audience. Slides here: LOPSA-East-2014-Keynote-ekjoseph.pdf
In all, this was a great conference and I will be encouraging others to attend. Audience members were regularly engaged with the speakers (agreements and disagreements!). Even though I’m shy, I was able to have a lot more discussions with folks I don’t know than I usually do, a sure sign that I was pretty comfortable. So thanks to everyone who took time to talk to me and be friendly, it makes all the difference. Also thanks to the organizers for crafting such a great environment that I am proud to have participated in.
I received a complaint about the frequency of my life category posts appearing on Planet Debian. It's the first such complaint I've received, whereas I've received more complimentary feedback, presumably from readers via Planet Debian.
It has made me self-conscious about my posts, though, and I don't want it to affect my blogging, so I've pulled the life category from what I feed to Planet Debian. If you want to keep up with the minutia of my life, and you were doing that via Planet Debian, you'll have to follow my blog directly.
My apologies if anyone was annoyed.
April 21st was a great day for me!
I received an email from Google informing that my proposal was accepted.
I will be working this summer with the BeagleBoard.org organization.
My project is to improve the on-board tutorial enviroment for BeagleBone with live running interactive examples.
If you want to read more about the 7 projects of BeagleBone, you can read them here