Some coding updates:
I've converted most of my Dockerfiles to work with docker 1.0.0, which is nice.
I also hacked up a fun DNS-server for sharing JSON-encoded data, within a LAN or other environment:
Finally I updated the blogspam-detecting site a little, on the back-end. The code is now running inside Docker containers which means I can redeploy more easily in the future.
My blog post about looking for a job received some attention via a Reddit advert I posted to /r/edinburgh + /r/sysadmin, but thus far has mostly resulted in people wanting me to write code for them .. which is frustrating.
For the moment I'm working on a fun challenge involving (email) spam-detection. That takes me back.
The Debian project is excited to announce that we are now accepting presentations, discussion sessions and tutorials for our DebConf14 conference which will take place in Portland State University, Oregon, USA from 23 to 31 August.Submitting an event
To submit an event, first register as an attendee for DebConf14 in the conference management system. If you have any doubts or have problems with the registration process please check the Registration FAQ.
After registering, go to the event submission page, or click on the Create an event option from the management system. Describe your submission in the web form. The most common event types are Lecture or Open Discussion (BoF). Please include a short title (to make it easy to produce a compact schedule) and an engaging description of the event.Tracks
We will organize some talks into thematic tracks. If you have a proposal for a DebConf track, such as "Debian ARM", "Debian Infrastructure", or "Community Outreach" please contact firstname.lastname@example.org.
If you would like to be a track coordinator, please volunteer on the given mail address.Format of the events
A regular session will be 45 minutes long, including time for questions. There will be a 15 minute breaks between events.
Submissions are not limited to traditional talks: you could propose a performance, art installation, debate, or anything else. If you have any specific requirements for your event, please send an email to email@example.com with the details of your requirements and be sure to mention your event title in the subject.Deadline
While we ask speakers to submit their events before the deadline of 7 July 2014, 23:59:59 UTC, late submissions will continue to be accepted for scheduling until the end of DebConf. All attendees will have an opportunity to schedule ad-hoc events during DebConf itself if we have space for them. Very promising late submissions may be considered for inclusion in the main conference. Note that ad-hoc events have a much lower chance of video archiving, and streaming, so if you want these services it's better to get your submissions in early.
DebConf official events will be broadcast live on the Internet when possible, and videos of the talks will be published on the web along with the presentation slides and papers.
For private communication regarding your talk, or for more general ideas, or questions about the event and talks, please mail us
We hope to you see you and share some good times with you this year in Portland during DebConf14!
At a dinner party a few months ago, the host asked if I could repair their go-kart, using my RepRap 3D Printer. Apparently the steering wheel had broken off and the Chinese supplier refused to supply only the steering wheel. I accepted the challenge, but did warn that PLA was not the ideal plastic for such a repair, being somewhat brittle.
I decided to approach the problem by removing all the broken plastic from the back of the steering wheel, and designing a new part to slot over the steering column nut and bolt onto the remains of the steering wheel.
Having designed the part, I posted it to Google+ for advice. Wildseyed Cabrer suggested that I do away with the buttresses of v1 and instead design a solid cylinder. Of particular interest was his suggestion to use pinholes around the nut hole, to force the slicing program to add reinforcement. Andreas Thorn reminded me to use the $fn = 6 for the chamfering of the nut hole, as I had for the nut hole itself. The Google+ 3D printing community really is amazing – thank you.
Unfortunately printing the item was much delayed by the fact that I did not have the precise measurements. As always I had designed the item to be fully parametric; so that the exact measurements didn’t matter until I came to print. Unfortunately the owners of the go-kart did not feel able to accurately take the measurement; so instead the go-kart had to be delivered to our house.
Having measured and printed the final part, I was delighted that it all worked first time. The only issue was that it was very difficult to turn the wheel and I was concerned that the part would not indeed be strong enough. I noticed that all four tyres were completely flat, so much so that the tyre profile was concave rather than convex. This was clearly putting a huge strain on the steering and may well have been a contributory factor in the original breakage. Having pumped up all the tyres the steering was very much easier.
The repair complete, the go-kart was delivered back to the owners. I have no idea whether the repair will last long enough to be worthwhile, but providing it lasts a reasonable time, it can of course be simply reprinted. We could also consider having it professionally printed in a stronger plastic.
If anybody has access to a complete mirror of the Debian Wheezy release, and was willing to share a list of all setuid/setgid binaries that would be greatly appreciated.
It doesn't seem to be something you can find online, so you need to manually unpack each .deb file and look at the permissions.
I don't have access to a (complete) local mirror, and so I cannot easily build such a thing, unless I go to ebay and buy a random DVD-archive.
This list would be useful for folk wanting to direct their audits ..
Arbitrary tweets made by TheGingerDog up to 04 June 2014
Until recently I was very happy with my console mail client, Lumail, thinking I'd written it in a flexible manner, with lots of Lua-callable primitives.
Now I'm beginning to suspect that I might have gone down the wrong path at some point.
The user interface, at startup consists of a list of mailboxes. The intention being that you select a mailbox, and open it. That then takes you to a list of messages. (There is a cool and simple to use option to open the union of multiple mailboxes, which is something I use daily.)
Now the list of mailboxes is sorted alphabetically, so the user interface looks something like this:
Now the issue that triggered my rethink:
Sure you think. It's just a list of strings. You could pass an array to a lua on_sort_maildirs function, and then use the returned array/table as teh display order. Simple.
Simple until you realize the user might want to do more than operate solely on the list of strings. Perhaps they wish to put folders with unread messages at the top. At which point you need a "count_unread( maildir )" function. (Which does exist.)
Anyway the realisation I had is that the CMaildir object, on the C++ side, isn't exposed to the Lua-side. So the (useful) member functions which should be exported/visible are not.
Really what I'm trying to say is that I think I've implemented and exported useful Lua primitives, but actually many more parts of the implementation could be usefully exported - but are not, and that comes from the choice I made to expose "things" not "objects". If I'd exposed objects right from the start I'd have been in a better place.
I continued to toy with a basic GUI mail-client last week, but I've pretty much written that off as a useful way to spend my time. For the moment I'll leave email alone, I've done enough and despite niggles what I have is absolutely the best mail client for me.
(It is a shame that Mutt is so heavyweight and hard to deal with, and that notmuch never really took off.)
Arbitrary tweets made by TheGingerDog up to 01 June 2014
My newspaper of choice, the Guardian, has for some time produced its own android (and iOS of course) app. I have often used the android app on my tablet to catch up on emerging news items at the end of the day. I also read the BBC news app for the same reason. Yesterday I received an update to the Guardian app. That update was a complete rewrite and gives the user a very different experience to the original app. For example, in the old app I could tailor the home screen to show me just the news categories I wanted (i.e. no sport, no fashion, but plenty of politics, business and UK news). In the new app I can only do that if I subscribe to a paid version. Sorrry, but no, I already pay for the newspaper, I just want this to give me updated headlines, I don’t want to have to buy the newspaper all over again.
In today’s paper (and on-line of course) there is an editorial comment on the new app explaining its background. The writer opens:
Today I am proud to announce the launch of our redesigned Guardian app. It’s been a ground-up reworking to bring you a new, advanced and beautiful Guardian app. For the first time you will have a seamless experience across phones and tablets, with a cleaner, responsive design that showcases the Guardian’s award-winning journalism to our readers around the world.
The article goes on to explain the history of the original app and the thinking behind the redesign. It continues:
We’re also thrilled to announce that GuardianWitness – the Guardian’s award-winning platform through which readers can contribute their own pictures, videos and text – is now integrated into the app, meaning readers can now contribute to assignments seamlessly and directly within the main app.
Other new features include:
I particularly like that last bit.
And of course the app needs access to my location.
(P.S. The app called “UK Newspapers” by Markus Reitberger gives access to all the UK news sites you could want – and all it asks for is network access.)
I just want to say how touched I have been by the response. The comments, social media posts, emails, and calls from you have been so kind and supportive. You are all good people, and I am going to miss every single one of you.
The reason why I have devoted my life to understanding communities is that I believe communities bring out the best in people, and all of you are a perfect example of that. I cannot express just how much I appreciate it.
Over the course of the next few weeks my replacement will be sourced and announced. and in the interim my team (Daniel Holbach, Michael Hall, David Planella, Nicholas Skaggs, Alan Pope) will take over my duties. Everything has been transitioned over, and remember, the weekly Q&As will continue at 6pm UTC every Tuesday on Ubuntu On Air with my team filling in for me. As ever, any and all Ubuntu questions are welcome!
Of course, I will still be around. I am going to continue to be a member of the Ubuntu community and an avid Ubuntu user, tester, and supporter. I will continue to be on IRC, you can email me at firstname.lastname@example.org, I will continue to do Bad Voltage, and I have a busy schedule at the Community Leadership Summit, OSCON, and more. I am also going to continue to have my own Q&A session every week where you can ask questions about my perspectives on Ubuntu, Canonical, community management, XPRIZE, and more; I will announce this soon.
Ubuntu has a tremendous future ahead of it, built on the hard work and passion of a global community. We are only just getting started with a new era of Ubuntu convergence and cloud orchestration and while I will miss being there in an official capacity, I am just thankful that I can continue to be along for the ride in the very community I played a part in building.
I now have a few weeks off and then my new adventure begins. Stay tuned.
As many of you will know, I organize an event every year called the Community Leadership Summit. The event brings together community leaders, organizers and managers and the projects and organizations that are interested in growing and empowering a strong community.
The event pulls together these leading minds in community management, relations and online collaboration to discuss, debate and continue to refine the art of building an effective and capable community.
The event is taking place on 18 – 19 July 2014 in Portland, Oregon. I hope to see you all there, it is going to be a fantastic CLS this year!
I also have a few other things to share too…Community Leadership Forum
My goal as a community manager is to help contribute to the growth of the community management profession. I started this journey by publishing The Art of Community and ensuring it is available freely as well as in stores. I then set up the Community Leadership Summit as just discussed, and now I am keen to put together a central community for community management and leadership discussion.
As such, I am proud to launch the new Community Leadership Forum for discussing topics that relate to community management, as well as topics for discussion at the Community Leadership Summit event each year. The forum is designed to be a great place for sharing and learning tips and techniques, getting to know other community leaders, and having fun.
Be sure to go and sign up!Speaking Events and Training
I also wanted to share that I will be at OSCON this year and I will be giving a presentation called Dealing With Disrespect that is based upon my free book of the same name for managing complex communications.
This is the summary of the talk:
In this new presentation from Jono Bacon, author of The Art of Community, founder of the Community Leadership Summit, and Ubuntu Community Manager, he discusses how to process, interpret, and manage rude, disrespectful, and non-constructive feedback in communities so the constructive criticism gets through but the hate doesn’t.
The presentation covers the three different categories of communications, how we evaluate and assess different attributes in each communication, the factors that influence all of our communications, and how to put in place a set of golden rules for handling feedback and putting it in perspective.
If you personally or your community has suffered rudeness, trolling, and disrespect, this presentation is designed to help.
This presentation is on Wed 23rd July at 2.30pm in E144.
In addition to this I will also be providing a full day of community management training at OSCON on Sunday 20th July in D135.
Lots of fun things ahead and I hope to see you there!
This event will be held on Saturday 7th June 2014 between 9am and 5pm at The Studio Venue Company Ltd., 7 Cannon Street, Birmingham B2 5EP.
All the details can be found at http://www.flossuk.org/Events/BarcampBirmingham2014
I hope to see you there.
Eat, Drink and talk Linux
Today has been a fairly mixed bag. I booked today off as holiday some weeks back as work has been consistently stressful and I felt I needed a day to spend by myself with nothing in particular to do. I could probably have predicted it, but that's not quite how it turned out.
The morning started pleasantly: my wife is on a late shift today so she didn't need to leave until 11 so we had a leisurely breakfast together. Then we got to talking about what I'd do today; "Not much", said I. Naturally, the conversation went down the route of talking about things I might do. "Perhaps I'll wander into the city". "Oh, while you're there could you just..."
Before long, I had a to-do list. I didn't mind too much but mentioned in passing that days off always go by far too quickly. The ability of menstrual women to misinterpret a sentence is literally mind-blowing.
After I'd dropped the raging pile of hormones at her place of work, I wandered into the city. First on the list was getting a family photo printed onto canvas with a frame for my mum's birthday tomorrow. My SD card didn't work in the guy's PC - oh no! Luckily, I'd brought my laptop with me so used that to copy everything off, reformat it (making sure I picked something his Windows 8 machine would be unlikely to barf on) and copy the photos back. Still no joy on his machine but it worked fine in the Kodak printer he had; but that turned out not to be useful as he couldn't get it from there onto the canvas printer. Giving up, I went to Boots for some other things and noticed they did canvas printing. Cheaper. And it worked. Flawlessly. I blame Windows 8. Or summat.
I then went to the optician as I've been getting really dry eyes again recently. They told me I'd have to wait until 2:45 to see someone. Resigning myself to spending the day in the city, I had lunch at a noodle bar. After quite a lot of walking around, I eventually had my appointment to be given two things I apparently need to go and buy:
Opticrom ("more than meets the eye"?)
Some eye bags. Never heard of these. Apparently Amazon is the place to get them.
On my way back to the car, I decided to pop into a stationers and ended up buying a really nice notebook. There's something really satisfying about a good notebook - even though I don't use one very often. I suppose next time I can put my to-do list in it ;)
After that success, I decided to try something I've been meaning to try for ages: a backrub from The Rub. I've never had a professional massage before so I went for a 10 minute backrub there. It was worth every single penny - absolutely fantastic. I'll be going back again soon for a longer massage.
Now I have about 50 minutes until I have to pick up my son from the nursery so I think I'm going to go for a cheeky half.
Btw, the illness I mentioned last time culminated in some stomach-based fun-times and then we both felt fine. Weird.
After nearly eight years of service at Canonical, I will be stepping down as the Ubuntu Community Manager and leaving my fellow warthogs at Canonical on 29th May 2014.
I have always been passionate about two things in my life. Firstly, I want to go to work every day and feel that my efforts are having a wider impact on the world. Secondly, I believe that community and collaboration is at the core what makes us human and what drives us to create beautiful things.
Canonical has provided room for me to explore both of these areas in droves. Free Software is an undeniable power for good in making technology accessible to all. Ubuntu has been at the forefront of this; focusing on simplicity, elegance, and ease of use to make technology as accessible and widely available as possible. Canonical and the Ubuntu Community has also provided an environment in which I could explore the many facets of community building, leadership, and growth…trying lots of ideas, learning from what worked and what didn’t, and evolving what we do.
This has resulted in me having the opportunity to learn from great people, in fun and challenging situations, and to further the art and science of building great communities.A new chapter
…and this is where a new chapter in my life opens.
Recently I was presented with the opportunity to go and work at the XPRIZE Foundation.
For those of you unfamiliar with XPRIZE, their focus is to solve the major problems facing humanity. This work is delivered by incentivized competitions to solve these grand challenges.
This started with the $10million Ansari XPRIZE that spawned the commercial space-flight industry. Other examples include the Qualcomm Tricorder XPRIZE (to create an affordable handheld device to diagnose health issues), the Google Lunar XPRIZE (to achieve the safe landing of a private craft on the surface of the moon), the Wendy Schmidt Ocean Health XPRIZE (improving our understanding of ocean acidification), and the A.I XPRIZE (create the first A.I. to walk or roll out on stage and present a TED Talk so compelling that it commands a standing ovation).
XPRIZE is an organization with significant ideas and ambitions to have a profound impact on the world. If you want to get a better feel for this, I recommend you watch this video by founder, Peter Diamandis; it is tremendously inspiring.
Peter believes that competition is in our DNA. I believe that collaboration and community is in our DNA. As you can imagine, these concepts are complimentary to each other and this is why I feel like this such a natural fit for me.
As such, I will be joining XPRIZE as Senior Director of Community. I will be there to look at the full breadth of what XPRIZE does and inject community and collaboration into the many different layers from how the prizes are picked, how teams are formed, how R&D is created, how technologies go into production, and more. I am tremendously excited about the opportunity.Difficult decisions
Although XPRIZE is an exciting (if unknown) road forward, leaving Canonical is bittersweet.
To put this in starker terms, Canonical quite literally changed my life. It helped to transform my career from a position of observation of communities to one of structured best practice. It helped me to think differently, challenge myself, and be open to being challenged by others. It afforded me the opportunity to travel the world, meet incredible people, see incredible things, and ultimately led me to meet my wife, Erica, who has become the corner-stone of our family. This was never a job, it was a way of life, and Canonical provided every ounce of support in helping me to achieve what I did here and to be the best that I could be.
Working with the Ubuntu community has not just been a privilege, it has been a pleasure. One of the many reasons why I love what I do is that I am exposed to so many incredible people, minds, and ideas, and the Ubuntu community is a text-book definition of what makes community so powerful and such an agent for making the world a better place. I will be forever thankful for not just the opportunity to meet so many different members of the global Ubuntu family, but to also continue these many friendships into my next endeavour.
Now, some of you reading this may be concerned by this move. Some of you may be worried that my departure is due to a negative experience at Canonical, or that the community is somehow less important than it used to be. I want to be very clear in responding to this.
I am not leaving Canonical due to annoyance, frustration, bureaucracy, lack of support or anything else negative. I have a wonderful relationship with Mark Shuttleworth, Jane Silber, Rick Spencer and the other executives. I have a great relationship with my peers and my team, and I love going to work every single day. These people are not just colleagues, they are friends. I have long said I have the very best job in community management and I feel as strong about that today as I did when I joined.
I am not leaving Canonical due to problems, I am moving on to a new opportunity at XPRIZE. I actually wasn’t looking for a move; I was quite content in my role at Canonical, but XPRIZE came out of nowhere, and it felt like a good next step to move forward to.
Likewise, I can assure you that the relationship with community at Canonical has not changed at all. Mark Shuttleworth and the rest of the leadership team are passionate about our community and they are intimately aware that our community is critical to the success of Ubuntu.
I believe in Ubuntu as much as I did when I joined. I have long talked about how Free Software and Open Source is only truly game-changing if the technology is simple, powerful, and accessible. Ubuntu is the very best place to get Open Source across the desktop, cloud, and now the mobile space too. Canonical has hired a phenomenal team over the years to drive this, and we are seeing the fruits of this success. I look forward to seeing this story unfold more and more and seeing Canonical achieve wider and wider ambitions.
Before I wrap up, I just want to offer some thanks to Mark Shuttleworth, Jane Silber, Rick Spencer, my team, my peers in the Ubuntu Engineering Management Team, my fellow warthogs at Canonical, and everyone in the Ubuntu community for being so supportive over the years. You all helped me turn my dream into a reality and help me become the person I am today.
I also want to say a special thank-you to Mark who gave me a shot in 2006 and has been a constant beacon of support and inspiration for so many years. I consider Mark a mentor, but more importantly a friend.
We have taken on some tough challenges over the years in Ubuntu, challenges that were necessary for us to grow. I have never questioned Mark’s commitment to our values and our success as a project once, and I am thankful for him to lead Ubuntu towards success; successful projects need leaders who can constantly ask new questions and explore new territory.You don’t get rid of me that easily
Now, I won’t actually be going anywhere. I will still be hanging out on IRC, posting on my social media networks, still responding to email, and will continue to do Bad Voltage and run the Community Leadership Summit. I will continue to be an Ubuntu Member, to use Ubuntu on my desktop and server, and continue to post about and share my thoughts about where Ubuntu is moving forward. I am looking forward in many ways to experiencing the true Ubuntu community experience now I will be on the other side of the garden.
As I step out of my position at Canonical, I am hugely proud of the accomplishments of my team (Daniel Holbach, David Planella, Michael Hall, Nicholas Skaggs, Alan Pope (and alumni, Jorge Castro, Kyle Nitzsche, Ahmed Kamal)). I can’t think of a better group of people to continue to help our community to do great work and be successful.
To wrap things up, I will be doing my very last Q&A session on Tuesday 27th May 2014 at 6pm UTC on Ubuntu On Air – I hope to see you all there!
So, here is to fun and fond memories, and here is to a new set of challenges helping to create a a better world with XPRIZE. Thanks!