Weave Scope and Weave Flux @Hacktoberfest

Long time no blog

It’s been a busy half a year since my last blog post. Immersing myself in the cloud native world and my non-work related training kept me quite busy. I learned quite a lot and it’s been a very rewarding experience, but whenever I thought “hey, I should blog about this”, something else came up which grabbed my attention.

This time I wanted to get the word out about a fun project I was involved in and reflect a bit on some aspects of these last six months.

Hacktoberfest

I wrote about it in the Weaveworks blog already: the Weave Scope and Weave Flux teams are participating in Hacktoberfest! ❤ If you haven’t heard about it yet: Hacktoberfest is a month-long celebration of getting involved in open source. It’s happening for the fifth time now and the general idea is: You sign up, and if you manage to contribute five pull requests on Github in October you win a Hacktoberfest t-shirt. To me it’s a very low-barrier initiative and fun way to get to know Open Source and new communities. I love how everybody benefits from this.

As a contributor, apart from getting a nice t-shirt, it’s your chance to learn more about open source, get in touch with a community of developers, learn about how they do things, learn about new tools, being welcomed with your view on a problem and maybe joining the team after all.

From my own experience I know how empowering it feels to be welcomed into a group of fellow contributors who all care about the project as much as you do. To learn from seasoned developers and have your work integrated into later releases and others benefit from your fix as well.

I still remember how quickly after joining the Ubuntu community about 13-14 years ago (yes, it’s really been that long) and after having been encouraged to get some of my work uploaded into Ubuntu, I realised that we could do a lot better at helping new contributors get started. I wanted others to benefit from my experience and what I had learned from the (quite busy) maintainers in the day. I started collecting links to helpful docs, code snippets and tasks to work on on the Wiki. It was a simple thing to do, and over time our whole developer team took the experience of new contributors on as a cornerstone of the project.

As a project member and maintainer, events like Hacktoberfest are your opportunity to reflect on questions like

  • How do we invite new contributors in the project? How high or low is the bar for entry?
  • Are our docs sufficient? Can new folks find their way around easily?
  • Is our use of tools and process well-defined and clear?
  • Are we good at identifying new issues and detailing where and how to fix them?

So apart from just finding new contributors or getting issues fixed in your code, you also get to learn about an outsider’s perspective and how your project is run. If you take the feedback seriously, it’s a good way to pave the way for others to come in.

Weave Scope and Weave Flux

Scope and Flux are two very important projects at Weaveworks and they both tell the GitOps story from different angles.

Weave Scope has a special place in my heart. When I demoed Weave Cloud at events in the past couple of months the Explore part of it (which uses Weave Scope internally) especially drew attention, because everyone immediately got how important observability is in a micro-services world. Scope can be used in very different scenarios and is written using modern languages. I’ve been part of the Weave Scope meetings in the past few weeks and it was great to see how people from different parts of the globe got together, front-enders, back-enders, designers and just generally interested folks who want to improve Scope for their particular use. I was glad that Satyam Zode brought up the idea of participating in Hacktoberfest and started by going through the list of issues to see which would be good for new contributors (thanks Bryan and Filip who helped out as well!).

If this sounds interesting check out the Weave Scope Hacktoberfest page.

Weave Flux is the Kubernetes GitOps operator, it’s what deploys new images and config to your cluster and makes sure that the state of the cluster matches the config in git. It’s easy to get up and running and very versatile. It’s what Weaveworks has been using for years now and many of our customers and general users rely on to go faster. In the past months I’ve seen an influx of new developers on Slack, drive-by contributions and new thoughts about where to take the project. I’m really pleased how friendly this community is and how keen to help each other out.

If you’re interested in helping out here, take a look at the Weave Flux Hacktoberfest page.

Leave a comment if you’re participating in Hacktoberfest too!

A month with Dell XPS 13 (9370)

After years of using Thinkpads, I went for a Dell XPS 13 with Ubuntu. Although I had bought devices with Linux pre-installed and laptops for friends as well, this  was going to be my first own laptop coming with Ubuntu straight from the factory.

 

The hardware

The specs looked great (big SSD disk, enough memory to play around with VMs/containers, etc.), but I had to brush away some fond memories of old laptops, where I was able to easily replace parts (memory, screen, disk, power jack, keyboard and more for my x220). With the XPS this was not easily going to be possible anymore.

Anyway, the new machine arrived in the office. It looked great, it was light,  it was really well-built and whatever task I threw at the machine, it dealt with it nicely. In general I really liked the hardware and how the machine felt a lot. I knew I was going to be happy with this.

A few things bothered me somewhat though. The placement of the webcam simply does not make sense. It’s at the bottom of the screen, so you get an upwards-angle no matter what you do and people in calls with you will always see a close up of your fingers typing. Small face, huge fingers. It’s really awkward. I won’t go unmanicured into meetings anymore!

The software

It came with an old image of Ubuntu 16.04 LTS pre-installed and after pulling a lot of updates, I thought I was going to get a nice fresh start with everything just working out of the box. Not quite.

The super key was disabled. As 16.04 came with Unity, the super key is one of the key ingredients to starting apps or bringing up the dash. There was a package called supey-key-dell (or some such) installed which I had to find and remove and some gnome config I had to change to make it work again. Why oh why?

Hardware support. I thought this was going to be straight-forward. Unfortunately it wasn’t. In the process of the purchase Dell recommended I get a DA300, a USB-C mobility adapter. That looked like a great suggestion, ensuring I can still use all my Old World devices. Unfortunately the Ethernet port of it just didn’t work with 16.04.

The laptops’s own screen flickered in many circumstances and connecting to screens (even some Dell devices) flickered even more, sometimes screens went on and off.

I got a case with USB-C adapter for the SSD disk of my laptop and copied some data over only to find that some disk I/O load nearly brought the system to a grinding halt.

Palm detection of the touchpad was throwing me off again and again. I can’t count how many times I messed up documents or typed text in the wrong places. This was simply infuriating.

Enter Ubuntu 18.04 LTS

I took the plunge, wiped the disk and made a fresh install of Bionic and I’m not looking back. Palm detection is LOADS better, Disk I/O is better, screen flickering gone, Ethernet port over USB-C works. And I’m using a recent Ubuntu, which is just great! Nice work everyone involved at Ubuntu!

I hope Dell will reconsider shipping this new release to users with recent machines (and as an update) – the experience is dramatically different.

I’m really happy with this machine now, got to go now, got a manicure appointment…

I’m joining Weaveworks

Weaveworks

My sabbatical is over and today is my first day working at Weaveworks where I’m joining the Developer Experience team. I’m incredibly excited about this.

I got to know quite a few of my colleagues in the past weeks and they were without exception all incredibly likeable and smart people. The company believes in open source, is quite diverse and has an office in Berlin – also I’ll get to work with Cezzaine, Jonathan and Steve again.

Right from the start the technology really impressed me. Weave Cloud solves key problems many organisations and companies face today: being able to deploy services seamlessly, securely and easily and making monitoring and snapshots obvious and simple-to-use have an immediate impact on what you can do and what you spend your time on.

Here’s what it looks like in action:

If you’re on Google Cloud Platform, you can even use it for free or you can check out the tutorials to play around with it without having to install anything.

It’s going to be great to immerse myself and learn more about the underlying technologies and connect with the Cloud Native communities. It’s a big landscape with lots of activity and overlap, strong roots in the open source world and the passion to make modern workloads a more manageable problem.

At Weaveworks, I’ll be able to work on what I like best: talk to and work with devs, figure out what people need, look at docs and tools, connect people and make people’s lives easier.

One thing makes this experience even sweeter: I’ll get to reconnect with a lot of you folks! If you’re working in the space and I haven’t talked to you in a while, hit me up and let’s catch up soon again!

Alright, I need to start packing and off to the office for today… 🚲

Writing snaps together

Working with a new technology often brings you to see things in a new light and re-think previous habits. Especially when it challenges the status quo and expectations of years of traditional use. Snaps are no exception in this regard. As one example twenty years ago we simply didn’t have today’s confinement technologies.

Luckily is using snapcraft a real joy: you write one declarative file, define your snap’s parts, make use of snapcraft‘s many plugins and if really necessary, you write a quick and simple plugin using Python to run your custom build.

Many of the first issues new snaps ran into were solved by improvements and new features in snapd and snapcraft. If you are still seeing a problem with your snap, we want you to get in touch. We are all interested in seeing more software as snaps, so let’s work together on them!

Enter the Sandpit

I mentioned it in my last announcement of the last Snappy Playpen event already, but as we saw many new snaps being added there in the last days, I wanted to mention it again. We started a new initiative called the Sandpit.

It’s a place where you can easily

  • list a snap you are working on and are looking for some help
  • find out at a glance if your favourite piece of software is already being snapped

It’s a very light-weight process: simply edit a wiki and get in touch with whoever’s working on the snap. The list grew quite quickly, so there’s loads of opportunities to find like-minded snap authors and get snaps online together.

You can find many of the people listed on the Sandpit wiki either in #snappy on Freenode or on Gitter. Just ask around and somebody will help.

Happy snapping everyone!

Get your software snapped tomorrow!

For a few weeks we have been running the Snappy Playpen as a pet/research project already. Many great things have happened since then:

  • With the Playpen we now have a repository of great best-practice examples.
  • We brought together a lot of people who are excited about snaps, who worked together, collaborated, wrote plugins together and improved snapcraft and friends.
  • A number of cloud parts were put together by the team as well.
  • We landed quite a few high-quality snaps in the store.
  • We had lots of fun.

Opening the Sandpit

With our next Snappy Playpen event tomorrow, 20th September 2016, we want to extend the scheme. We are opening the Sandpit part of the Playpen!

One thing we realised in the last weeks is that we treated the Playpen more and more like a place where well-working, tested and well-understood snaps go to inspire people who are new to snapping software. What we saw as well was that lots of fellow snappers kept their half-done snaps on their hard-disk instead of sharing them and giving others the chance to finish them or get involved in fixing. Time to change that, time for the Sandpit!

In the Sandpit things can get messy, but you get to explore and play around. It’s fun. Naturally things need to be light-weight, which is why we organise the Sandpit on just a simple wiki page. The way it works is that if you have a half-finished snap, you simply push it to a repo, add your name and the link to the wiki, so others get a chance to take a look and work together with you on it.

Tomorrow, 20th September 2016, we are going to get together again and help each other snapping, clean up old bits, fix things, explain, hang out and have a good time. If you want to join, you’re welcome. We’re on Gitter and on IRC.

  • WHEN: 2016-09-20
  • WHAT: Snappy Playpen event – opening the Sandpit
  • WHERE: Gitter and on IRC

Added bonus

As an added bonus, we are going to invite Michael Vogt, one of the core developers of snapd to the Ubuntu Community Q&A tomorrow. Join us at 15:00 UTC tomorrow on http://ubuntuonair.com and ask all the questions you always had!

See you tomorrow!

Need helping getting started with snapping?

Are you interested in snapping software and need help?

snapcraft-website

There’s a lot of good reasons for snapping software:

  • You get software out to millions of users: Ubuntu (snapd installed by default since Ubuntu 16.04 LTS), snapd available too on Arch, Debian, Gentoo, Fedora, openSUSE, openembedded, yocto and OpenWRT.
  • You get to define the experience: ship the stack the way you tested it. Just one simple test-scenario for you.
  • Building a snap is simple (one piece of YAML controls the build), publishing is instantaneous (one command to run, automatic review).
  • Multiple release channels in the store.

If you’re intrigued but need help to get started, tomorrow is a great time for this, as we’re going to have another Snappy Playpen event.

Tomorrow (13th Sept 2016) we are going to hang out on Gitter and IRC and will be there to answer your questions, work on snaps together and have fun!

In the Snappy Playpen project we are collecting best-practices and work on getting snaps out there together. We’re a friendly bunch and look forward to meeting you!

Snapcraft workshop at Akademy

I’m looking forward to next week, as

Going-To-Akademy-2016On Wednesday I’m going to give this workshop

So if you are interested in learning how to publish software easily and directly to users, this might be just for you.

Snaps are self-contained, confined apps, which run across a variety of Linux systems. The process of snapping software is very straight-forward and publishing them is very quick as well. The whole process offers many things upstreams and app publishers have been asking for years.

The workshop is interactive, all that’s required is that you either have VirtualBox or qemu installed or run any flavour of Ubuntu 16.04 or later. I’m going to bring USB sticks with images.

The workshop will consist of three very straight-forward parts:

  • Using the snap command to find, install, remove, update and revert software installations.
  • Using snapcraft to build and publish software.
  • Taking a look at KDE/Qt software and see how it’s snapped.

A few words about your host of the session: I’m Daniel Holbach, I have been part of the Ubuntu community since its very early days and work for Canonical on the Community team. Right now I’m working closely with the Snappy team on making publishing software as much fun as it should be.

See you next Wednesday!

Daunted

… was probably written across my face when I first got involved in Ubuntu and contributed my first patch. I wasn’t quite sure if I had followed the right procedure or if anything else was wrong, but luckily I found a lot of very friendly people who helped me out and got my contribution in.

That was almost 8 years ago. Today it’s a lot easier. There is good documentation, there are more consistent processes and better tools.

If you have pondered getting involved for a while, I’d like to invite you to check out our Bug fixing initiative. We singled out a number of issues in Ubuntu which we feel are appropriate to whetting your appetite and sorted them, so the most easy tasks are at the top.

Let us know how this works for you and ask all the questions you might run into on #ubuntu-motu on irc.freenode.net.

If only I had known what needs to be done…

I just went over the soon-to-be-released report of the Developer Advisory Team, where we sum up feedback from first-time contributors to Ubuntu Development and many noted that they found developer documentation easily and things generally worked out for them, but they struggled finding stuff to work on.

The Ubuntu Development team has always been good at creating new TODO lists (merges, Debian RC bugs, build failures, heaps of different bug lists and much much more), but you need to know what you are looking for.

Enter Harvest. We created it so it merely aggregates opportunities for Ubuntu developers in a simple web interface. You can select opportunity types and specific sets of packages to narrow down opportunities based on your interests.

If you got some spare time, are interested in Ubuntu development and would like to help, you would do the Ubuntu world a great favour by doing one of the following:

If you are an Ubuntu developer or would like to become one: trying it out and commenting below with your experience. (Bugs can be filed here.)

If you have a great idea on how it could be further simplified, extended or improved, write up your idea and link to it in the comments.

If you are a web developer: please get in touch. Harvest is written using Django and Python and it’s super-easy to extend, improve and fix it – so if you are looking for something to help out with, this might be a great opportunity for you.

Please consider helping out, your contributions will not only help you make better use of Harvest, but many other developers and new contributors as well. 🙂

(If you tried it out and it works perfectly for you, let us know too. :-))

DJing

I’ve been slacking a bit when it comes to DJing land picked it up this year again. Some of my mixtapes are on a part of my blog that’s not syndicated, but I set up a page with all the posts. I just posted a new one today.

If you have no plans tonight and you’re in Berlin, come to the GNOME3 Launch Lounge (Facebook event page) in c-base tonight. I’ll be playing there as well. 🙂