Hook 42: Montreal or Bust! Hook 42 is going to Drupal North!

Planet Drupal - Tue, 14/06/2016 - 00:39
Monday, June 13, 2016

The fabulous duo of K2 (Kristin Bradham) and Lindsay (Lindsay Gaudinier) are off on another trip to get their Drupal on! After having such a great time meeting up with other Drupalers and listening to ghost stories at DrupalCon in New Orleans, K2 and Lindsay are heading up north to the gorgeous multilingual city of Montreal.

Kicking things off, K2 will present her “Conversational Drupal” session that was a hit at BADCamp and Stanford Drupal Camp. Grab a coffee and bagel, and enjoy the eye-opener session on Friday morning.  This session is aimed for new Drupalers, although not necessarily new web developers.  K2 will give clear and simple explanations of frequently used Drupal terms. This session is great to start off a Drupal Convention because it will familiarize you with Drupal and encourage you to meet a few other attendees.

Later on Friday, Lindsay and K2 will lead a session on Drupal and SEO. Search Engine Optimization (SEO) is vital to websites that want to increase their visibility and get to the top rank on search engines. Navigating the sea of Drupal SEO modules can be daunting when all you want to do is get the basics covered effectively. They will go over SEO terms and terminology, modules and their default configuration, and tips and tricks on how to make your Drupal site rank higher with the search engines.   

But K2 and Lindsay aren’t just there to present, they’re also looking forward to learning from other Drupalers. They look forward to collaborating with friends and peers at Evolving Web, Lingotek, Kafei Interactive, and Digital Echidna. K2 is looking forward to Cathy Theys’ keynote speech: “Thoughtfulness and Drupal”.  Other great sessions K2 is looking forward to attending include: “Embracing Open-source Thinking for Better Sustainability”, “Object Oriented Programming Design Patterns in Drupal 8”, and “One Drupal to Rule Them All” just to name a few.

Lindsay is excited about attending the following sessions: “Speed up your front-end drupal development using partials”, “Planning a real-life D8 migration”, and “Lessons Learned: Drupal 8 Module Porting”.

So why should you go? Be a part of the Drupal community. Let's make Drupal great now and in the future. Music, culture, bagels, smoked-meat, coffee, and poutine?! If you can’t go, Sprints are being held on Thursday and Sunday - you can join and contribute remotely.  Check the Drupal North website for information.

We hope to see you there! Montreal or bust!

Kristin Bradham - K2 Lindsay Gaudinier Topics: Services:
Categories: Elsewhere

DrupalCon News: Drupal: Faster & Stronger Than Ever

Planet Drupal - Tue, 14/06/2016 - 00:39

When trying to resolve an issue in Drupal, the most common question you’ll hear is, “Have you cleared the cache?” The question is so ubiquitous that we often forget that caching – and more importantly performance – has been an important part of Drupal for a long time. As Drupal has matured, many sites have started to employ additional performance and scaling techniques: utilizing CDNs for additional caching, making optimizations in the theme layer for faster interaction and automating infrastructure to respond to changing demands.

Categories: Elsewhere

Reproducible builds folks: First alpha release of reprotest

Planet Debian - Tue, 14/06/2016 - 00:15

Author: ceridwen

The first, very-alpha release of reprotest is now out at PyPi. It should hit Debian experimental later this week. While it only builds on an existing system (as I'm still working on support for virtualization), it can now check its own reproducibility, which it does in its own tests, both using setuptools and debuild. Unfortunately, setuptools seems to generate file-order-dependent binaries, meaning python setup.py bdist creates unreproducible binaries. With debuild, reprotest probably would be reproducible with the modified packages from the Reproducible Builds project, though I haven't tested that yet. It tests 'captures_environment', 'fileordering' (renamed from 'filesystem'), 'home', 'kernel', 'locales', 'path', 'time', 'timezone', and 'umask'. The other variations require superuser privileges and modifications that would be unsafe to make to a running system, so they will only be enabled in the containers.

The next major part of the project is integrating autopkgtests's container management system into reprotest. For the curious, autopkgtest is composed of a main program, adt-run, which then calls other command-line programs, adt-virt-chroot, adt-virt-lxd, adt-virt-schroot, adt-virt-null, adt-virt-schroot, and adt-virt-qemu, that communicate with the containers. (The autopkgtest maintainer has since renamed the programs, but the underlying structure remains the same.) I think this is a bit of an odd design but it works well for my purposes since the container programs already have existing CLIs that reprotest can use.

Categories: Elsewhere

Drupal @ Penn State: Building conversational interfaces in Drupal

Planet Drupal - Mon, 13/06/2016 - 22:56

I know Dreis caused a lot of smiles when he used Amazon Echo and Drupal 8 to be notified about “Awesome Sauce” going on sale. The future is bright and requires increasingly more ways of engaging with technology. But what if you wanted to start to have a conversation without Echo to do it? What if we wanted to progressively enhance the browser experience to include lessons learned from conversational input technologies.

Categories: Elsewhere

Chapter Three: The Slice Template

Planet Drupal - Mon, 13/06/2016 - 20:17

For the past two to three years, we’ve been evolving a flexible design solution for marketing pages. We call it the Slice Template.

What is the Slice Template?

The Slice Template is kind of like a layer cake. It’s  a design structure that enables site authors  to create web pages out of modular, horizontal components that span the width of the browser. Popularized by responsive design, this pattern has become a web standard. That’s because it can support a myriad of content.

Our team started calling these components slices early on. You could call them that too. We can make it our little thing :)

Categories: Elsewhere

Pantheon Blog: Performing Drupal Content Migrations on Pantheon

Planet Drupal - Mon, 13/06/2016 - 20:11
As a developer or site builder, there will come a time when you have a lot of content to import into your Pantheon site—a need that will go beyond Feeds and will perhaps have related content, entity references and the like—that will make importing content a challenge. This path will lead you to Drupal’s Migrate module. In Drupal 8, this module is in core.
Categories: Elsewhere

Satyam Zode: GSoC 2016 Week 2 and 3: Reproducible Builds in Debian

Planet Debian - Mon, 13/06/2016 - 19:22

This is report on my previous week activities with Debian Reproducible-Builds.

In last 10 days, I had build different Debain packages at my own using prebuilder to experience the reproducibility issues. I am thankful to deki and Lunar for suggesting me to do that task. Based on this experience, I managed to find more use cases for –hide=profiles specification.

I also researched differences of different unreproducible Debian packages on http://tests.reproducible-builds.org . There are many packages available for examination.

In brief I did following tasks:

  • I worked on –hide=profiles specification. Mostly, I tried to find use cases.
  • I made changes to https://wiki.debian.org/ReproducibleBuilds/HideProfilesSpecification added detailed information in each use case.
  • Read documentation on argcomplete python module and had some hands on experience with module. Purpose of doing this was to add argument completion feature to Diffoscope. pabs had filed bug report for this #826711. I am implementing this feature and discussing issues with pabs as well as researching diffs side-by-side to generate more use cases. Here, Thanks to pabs for guidance and support :)
  • I went through different software to see how they are ignoring the stuff. Those are following:

Upcoming week will be an important as well as fun week because I will be implementing the use cases. Right now, I am currently looking at different softwares which ignores stuff and taking notes of it. So that, it will help me during implementing solution of use cases. I am also looking forward to feedback from community on use cases and CLI interfaces. Have a great week :)

Categories: Elsewhere

Appnovation Technologies: 8 Things to look for in a Managed Services Provider

Planet Drupal - Mon, 13/06/2016 - 19:19


This is the executive guide to Managed Services.

Categories: Elsewhere

Olivier Grégoire: Third week at GSoC

Planet Debian - Mon, 13/06/2016 - 18:57

I begin this week by finish my QT tutorial. With that new knowledge, I was able to implemet my method launchSmartInfo(int) on LRC


After that, I needed to implement the gnome client too. I followed the tutorial on QT so I thought I can just learn GTK+ by reading the code. Finally, I just lost a lot of time by doing that and I didn't learn a lot. In response to that problem I finally use an GTK+ tutorial.

I began to try to show an transparente window with some text in front of the call view. To do that, I want to use clutter library


Conclusion: as you can see, I lost a lot of time in this GUI learning. Now it's done, I can move forward! :)

Categories: Elsewhere

Olivier Grégoire: Third week at GSoC

Planet Debian - Mon, 13/06/2016 - 18:57

I begin this week by finish my QT tutorial. With that new knowledge, I was able to implemet my method launchSmartInfo(int) on LRC


After that, I needed to implement the gnome client too. I followed the tutorial on QT so I thought I can just learn GTK+ by reading the code. Finally, I just lost a lot of time by doing that and I didn't learn a lot. In response to that problem I finally use an GTK+ tutorial.

I began to try to show n transparente window with some text in front of the call view. To do that, I want to use clutter library


Conclusion: as you can see, I lost a lot of time in this GUI learning. Now it's done, I can move forward! :)

Categories: Elsewhere

Kevin Avignon: GSOC 2016 : The end

Planet Debian - Mon, 13/06/2016 - 18:48
Hi guys, Well because of health problems, I won’t be able to meet the expectation for the midterm evaluation coming next week and I will have to step down from the program. It pains me to do so since the project was taking me out of my comfort zone and forcing to adapt to a … Continue reading GSOC 2016 : The end →
Categories: Elsewhere

Scarlett Clark: Debian: KDE: Reproducible Builds week 3, Randa Platforms Equals Busy times!

Planet Debian - Mon, 13/06/2016 - 18:41


I am a smidgen late on post due to travel, sorry!


For this I was able to come up with a patch for kconfig_compiler to encode generated files to utf-8.
Review request is here:

This has been approved and I will be pushing it as soon as I patch the qt5 frameworks version.


WIP this has been a steep learning curve, according to the notes it was an easy embedded kernel version, that was not the case! After grueling hours of
trying to sort out randomness in debug output I finally narrowed it down to cases where QStringLiteral was used and there were non letter characters eg. (” <") These were causing debug symbols to generate with ( lambda() ) which caused unreproducible symbol/debug files. It is now a case of fixing all of these in the code to use QString::fromUtf8 seems to fix this. I am working on a mega patch for upstream and it should be ready early in the week.

This last week I spent a large portion making my through a mega patch for kxmlgui, when it was suggested to me to write a small qt app
to test QStringLiteral isolated and sure enough two build were byte for byte identical. So this means that QStringLiteral may not be the issue at all. With some
more assistance I am to expand my test app with several QStringLiterals of varying lengths, we have suspicion it is a padding issue, which complicates things.

On the KDE front, I have arrived safe and sound in Randa and aside from some major jetlag, reproducible builds, I have been quite busy with the KDE CI. I am reworking
my DSL to use friendly yaml files to generate jobs for all platforms ( linux, android, osx, windows, snappy, flatpak ) and can easily be extended later.
Major workpoints so far for Randa:

  • I have delegated the windows backend to Hannah
  • Andreas has provided a docker build for Android, and upon initial testing it will work great.
  • I have recruited several nice folks to assist me with my snappy efforts.


  • Add all the nodes to sandbox
  • Finish yaml CI files
  • OSX re-setup with new macmini

Have a great day.

Categories: Elsewhere

Drupal core announcements: Drupal core security release window on Wednesday, June 15, 2016

Planet Drupal - Mon, 13/06/2016 - 18:40
Start:  2016-06-15 00:00 - 23:30 America/Chicago Organizers:  xjm catch David_Rothstein mlhess Event type:  Online meeting (eg. IRC meeting)

The monthly security release window for Drupal 8 and 7 core will take place on Wednesday, June 15.

This does not mean that a Drupal core security release will necessarily take place on that date for any of the Drupal 8 or 7 branches, only that you should watch for one (and be ready to update your Drupal sites in the event that the Drupal security team decides to make a release).

There will be no bug fix or feature release on this date. The next window for a Drupal core patch (bug fix) release for all branches is Wednesday, July 06. The next scheduled minor (feature) release for Drupal 8 will be on Wednesday, October 5.

Drupal 6 is end-of-life and will not receive further security releases.

For more information on Drupal core release windows, see the documentation on release timing and security releases, and the discussion that led to this policy being implemented.

Categories: Elsewhere

Rapha&#235;l Hertzog: Freexian’s report about Debian Long Term Support, May 2016

Planet Debian - Mon, 13/06/2016 - 16:15

Like each month, here comes a report about the work of paid contributors to Debian LTS.

Individual reports

In May, 166 work hours have been dispatched among 9 paid contributors. Their reports are available:

  • Antoine Beaupré did 20h.
  • Ben Hutchings did 10 hours (out of 15 hours allocated, keeping 5 extra hours for June).
  • Brian May did 15 hours.
  • Chris Lamb did 18 hours.
  • Guido Günther did 17.25 hours (out of 8 hours allocated + 9.25 remaining hours).
  • Markus Koschany did 30 hours (out of 31 hours allocated, thus keeping one extra hour for June).
  • Santiago Ruano Rincón did 20 hours (out of 20h allocated + 8 remaining, thus keeping 8 extra hours for June).
  • 8 hours that were initially affected to Scott Kitterman have been put back in the June pool after he resigned.
  • Thorsten Alteholz did 31 hours.
Evolution of the situation

The number of sponsored hours stayed the same over May but will likely increase a little bit the next month as we have two new Bronze sponsors being processed.

The security tracker currently lists 36 packages with a known CVE and the dla-needed.txt file lists 36 packages awaiting an update.

Despite the higher than usual number of work hours dispatched in May, we still have more open CVE than we used to have at the end of the squeeze LTS period. So more support is always needed…

Thanks to our sponsors

New sponsors are in bold.

No comment | Liked this article? Click here. | My blog is Flattr-enabled.

Categories: Elsewhere

2bits: Slow Queries In Drupal Can Often Be Cured By Indexes

Planet Drupal - Mon, 13/06/2016 - 13:44

Recently, we were reviewing the performance of a large site that has a significant portion of its traffic from logged in users. The site was suffering from a high load average during peak times.

We enabled slow query logging on the site for a entire week, using the following in my.cnf:

log_slow_queries               = 1
slow_query_log                 = 1
slow_query_log_file            = /var/log/mysql/slow-query.log
log-queries-not-using-indexes  = 1
long_query_time                = 0.100

Note that the parameter long_query_time can be a fraction of a second only on more recent versions on MySQL.

You should not set this value too low, otherwise the server's disk could be tied up in logging the queries. Nor should it be too high so as to miss most slow queries.

We then analyzed the logged queries after a week.

We found that the slow queries, on aggregate, examined a total of 150,180 trillion rows, and returned 838,930 million rows.

Out of the total types of queries analyzed, the top two had a disproportionate share of the total.

So these two queries combined were 63.7% of the total slow queries! That is very high, and if we were able to improve these two queries, it would be a huge win for performance and server resources.

Voting API Slow Query

The first query had to do with Voting API and Userpoints.

It was:

SELECT votingapi_vote.*
FROM votingapi_vote
WHERE  value_type = 'points'
AND tag = 'userpoints_karma'
AND uid = '75979'
AND value = '-1'
AND timestamp > '1464077478'

It hogged 45.3% of the total slow queries, and was called 367,531 times per week. It scanned over 213,000 rows every time it ran!

The query took an aggregate time for execution of 90,766, with an average of 247 milliseconds per execution.

The solution was simple: create an index on the uid column:

CREATE INDEX votingapi_vote_uid ON votingapi_vote (uid);

After that was done, the query used the index and scanned only one row, and returned instantly.

Private Messaging Slow Query

The second query had to do with Privatemsg. It is:

SELECT COUNT(pmi.recipient) AS sent_count
FROM pm_message pm
INNER JOIN pm_index pmi ON pm.mid = pmi.mid
WHERE  pm.author = '394106'
AND pm.timestamp > '1463976037'
AND pm.author <> pmi.recipient

This query accounted for 18.4% of the total slow queries, and was called 32,318 times per week. It scanned over 1,350,000 rows on each execution!

The query took an aggregate time for execution of 36,842, with an average of 1.14 seconds (yes, seconds!) per execution.

Again, the solution was simple: create an index on the author column.

CREATE INDEX pm_message_author ON pm_message (author);

Just like the first query, after creating the index, the query used the index and scanned only 10 rows and over a million! It returned instantly.

Results After Tuning

As with any analysis, comparison of the before and after data is crucial.

After letting the tuned top two offending queries run for another week, the results were extremely pleasing:

Before After Total rows examined 150.18 T 34.93 T Total rows returned 838.93 M 500.65 M

A marked improvement!


With performance, the 80/20 rule applies. There are often low hanging fruit that can easily be tuned.

Do not try to tune because of something you read somewhere, that may not apply to your site (including this and other articles on our site!)

Rather, you should do proper analysis, and reach a diagnosis based on facts and measurements, as to the cause(s) of the slowness. After that, tuning them will provide good results.

Tags: Contents: 
Categories: Elsewhere

Mark Brown: We show up

Planet Debian - Mon, 13/06/2016 - 11:50

It’s really common for pitches to managements within companies about Linux kernel upstreaming to focus on cost savings to vendors from getting their code into the kernel, especially in the embedded space. These benefits are definitely real, especially for vendors trying to address the general market or extend the lifetime of their devices, but they are only part of the story. The other big thing that happens as a result of engaging upstream is that this is a big part of how other upstream developers become aware of what sorts of hardware and use cases there are out there.

From this point of view it’s often the things that are most difficult to get upstream that are the most valuable to talk to upstream about, but of course it’s not quite that simple as a track record of engagement on the simpler drivers and the knowledge and relationships that are built up in that process make having discussions about harder issues a lot easier. There are engineering and cost benefits that come directly from having code upstream but it’s not just that, the more straightforward upstreaming is also an investment in making it easier to work with the community solve the more difficult problems.

Fundamentally Linux is made by and for the people and companies who show up and participate in the upstream community. The more ways people and companies do that the better Linux is likely to meet their needs.

Categories: Elsewhere

Cheppers blog: TCPDF module ported to Drupal 8

Planet Drupal - Mon, 13/06/2016 - 11:36

A few months ago, I decided to port the TCPDF module for Drupal 8. My first thought was that it would be an easy task, but I ran into my first problem early, when I tried to pull the TCPDF library into Drupal. 

Categories: Elsewhere

Simon Désaulniers: [GSOC] Week 2 - Report

Planet Debian - Mon, 13/06/2016 - 06:22

I’ve been reworking the code for the queries I introduced in the first week.

What’s done
  • I have worked on value pagination and optimization of accnounce operations;
  • Fixed bugs like #72, #73;
  • I’ve split the Query into Select and Where strcutures. This change was explained here.
What’s still work in progress
  • Value pagination;
  • Optimizing announce operations;
Categories: Elsewhere

Iustin Pop: Elsa Bike Trophy 2016—my first bike race!

Planet Debian - Mon, 13/06/2016 - 01:09
Elsa Bike Trophy 2016—my first bike race!

So today, after two months of intermittent training using Zwift and some actual outside rides, I did my first bike race. Not of 2016, not of 2000+, but like ever.

Which is strange, as I learned biking very young, and I did like to bike. But as it turned out, even though I didn't like running as a child, I did participate in a number of running events over the years, but no biking ones.

The event

Elsa Bike Trophy is a mountain bike event—cross-country, not downhill or anything crazy; it takes part in Estavayer-le-Lac, and has two courses - one 60Km with 1'791m altitude gain, and a smaller one of 30Km with 845m altitude gain. I went, of course, for the latter. 845m is more than I ever did in a single ride, so it was good enough for a first try. The web page says that this smaller course “… est nerveux, technique et ne laisse que peu de répit”. I choose to think that's a bit of an exaggeration, and that it will be relatively easy (as I'm not too skilled technically).

The atmosphere there was like for the running races, with the exception of bike stuff being sold, and people on very noisy rollers. I'm glad for my trainer which sounds many decibels quieter…

The long race started at 12:00, and the shorter one at 12:20. While waiting for the start I had to concerns in mind: whether I'm able to do the whole course (endurance), and whether it will be too cold (the weather kept moving towards rain). I had a small concern about the state of the course, as it was not very nice weather recently, but a small one.

And then, after one hour plus of waiting, go!

Racing, with a bit of "swimming"

At first thing went as expected. Starting on paved roads, moving towards the small town exit, a couple of 14% climbs, then more flat roads, then a nice and hard 18% short climb (I'll never again complain about < 10%!), then… entering the woods. It became quickly apparent that the ground in the forest was in much worse state than I feared. Much worse as in a few orders of magnitude.

In about 5 minutes after entering the tree cover, my reasonably clean, reasonably light bike became a muddy, heavy monster. And the pace that until then went quite OK became walking pace, as the first rider that didn't manage to keep going up because the wheel turned out of the track blocked the one behind him, which had to stop, and repeat until we were one line (or two, depending on how wide the trail was) of riders walking their bikes up. While on dry ground walking your bike up is no problem, or hiking through mud with good hiking shoes is also no problem, walking up with biking shoes is a pain. Your foot slides and you waste half of your energy "swimming" in the mud.

Once the climb is over, you get on the bike, and of course the pedals and cleats are full of heavy mud, so it takes a while until you can actually clip in. Here the trail version of SPD was really useful, as I could pedal reasonably well without being clipped-in, just had to be careful and push too hard.

Then maybe you exit the trail and get on paved road, but the wheels are so full of mud that you still are very slow (and accelerate very slowly), until the shed enough of the mud to become somewhat more "normal".

After a bit of this "up through mud, flat and shedding mud", I came upon the first real downhill section. I would have been somewhat confident in dry ground, but I got scared and got off my bike. Better safe than sorry was the thing for now.

And after this is was a repetition of the above: climb, sometimes (rarely) on the bike, most times pushing the bike, fast flat sections through muddy terrain where any mistake of controlling the bike can send the front wheel flying due to the mud being highly viscous, slow flat sections through very liquid mud where it definitely felt like swimming, or any dry sections.

My biggest fear, uphill/endurance, was unfounded. The most gains I made were on the dry uphills, where I had enough stamina to overtake. On flat ground I mostly kept order (i.e. neither being overtaken nor overtaking), but on downhill sections, I lost lots of time, and was overtaken a lot. Still, it was a good run.

And then, after about 20 kilometres out of the 30, I got tired enough of getting off the bike, on the bike, and also tired mentally and not being careful enough, that I stopped getting off the bike on downhills. And the feeling was awesome! It was actually much much easier to flow through the mud and rocks and roots on downhill, even when it was difficult (for me) like 40cm drops (estimated), than doing it on foot, where you slide without control and the bike can come crashing down on you. It was a liberating feel, like finally having overcome the mud. I was soo glad to have done a one-day training course with Swiss Alpine Adventure, as it really helped. Thanks Dave!

Of course, people were still overtaking me, but I also overtook some people (who were on foot; he he, I wasn't the only one it seems). And being easier, I had some more energy so I was able to push a bit harder on the flats and dry uphill sections.

And then the remaining distance started shrinking, and the last downhill was over, I entered through familiar roads the small town, a passer-by cries "one kilometre left", I push hard (I mean, hard as I could after all the effort), and I reach the finish.

Oh, and my other concern, the rain? Yes it did rain somewhat, and I was glad for it (I keep overheating); there was a single moment I felt cold, when exiting a nice cosy forest into a field where the wind was very strong—headwind, of course.

Lessons learned

I did learn a lot in this first event.

  • indoor training sessions only help with endurance (but they do good on this); they don't help with technique, and most importantly, they don't teach how to handle the bike in inclement weather; biking to work on paved road also doesn't help.
  • nevertheless, indoor training does help with endurance ☺
  • mud guards…; before the race, I thought they'll help; during the race, I cursed at the extra weight and their seemingly uselessness; after the race, after I saw how other people looked, I realised that indeed they helped a lot—I was only dirty on my legs, mostly below the knee, but not on my upper body. Unsure whether I will use the again.
  • a drop seat is not needed if your seat is set in-between, but sure damn would have been more easy with one
  • installing your GPS on your handle-bar with elastic bands in a section of non-constant diameter is a very bad idea, as it lives in an unstable equilibrium: any move towards the thinner section makes the mount very loose, and you have to lose time fixing it.

So, how did I do after all? As soon as I reached the finish and recovered my items, among which the phone, I checked the datasport page: I was rank 59/68 in my category. Damn, I hoped (and thought) I would do better. Similar % in the overall ranking for this distance.

That aside, it was mighty fun. So much fun I'd do it again tomorrow! I forgot the awesome atmosphere of such events, even in the back of the rankings.

And then, after I reach drive home and open on my workstation the datasport page, I get very confused: the overall number of participants was different. And the I realised: not everybody finished the race when I first checked (d'oh)! Final ranking: 59 out of 84 in my category, and 247/364 in the overall 30km rankings. That makes it 70% and 67% respectively, which matches somewhat with my usual running results a few years back (but a bit worse). It is in any case better than what I thought originally, yay!

Also, Strava activity for some more statistics (note that my Garmin says it was not 800+ meters of altitude…):

I'd embed a Veloviewer nice 3D-map but I can't seem to get the embed option, hmm…

TODO: train more endurance, train more technique, train in more various conditions!

Categories: Elsewhere

Sune Vuorela: Randa day 0

Planet Debian - Mon, 13/06/2016 - 00:16

Sitting on Lake Zurich and reflecting over things was a great way to get started. http://manifesta.org/2015/11/pavillon-of-reflections-for-zurich-in-2016/

After spending a bit of time in a train, I climbed part of a mountain together with Adriaan – up to the snow where I could throw a snowball at him. We also designed a couple of new frameworks on our climbing trip. Maybe they will be presented later.

Categories: Elsewhere


Subscribe to jfhovinne aggregator - Elsewhere