Skip to main content

a silhouette of a person's head and shoulders, used as a default avatar

YAPC::EU 2014 at Sofia, Bulgaria - Day 3

Like every other conference in YAPC too day 3 was far less populated and way quieter.

R Geoffrey Avery (rGeoffrey) - Dancer: Getting to Hello World

A very nice and from the ground up talk from rGeoffrey, what i liked here is him going from the ground up showing the whole stack instead of bluntly talking about how to install run and end a ‘Hello world’ app.pl with dancer. As a small bonus he also showed the differences if you wanted to use mojolicious instead.

Carl Mäsak (masak) - GOTO statement considered awesome

An interesting talk from masak about state, flows and exotic language features.

Susanne Schmidt (Su-Shee) - MVC-templates-routes web frameworks - is that all there is?

Susanne talked about the different approaches frameworks and architectures that are less heard today after being drowned in the MVC fever. Seeing examples from smalltalk,erlang, sinatra, mojo, R (shiny) et al was highly interesting and educating.

Mark Overmeer (markov) - Digest:SHA is broken

Mark showed us how things can break in a module that is supposed to operate on bytes instead of strings (after changing to support strings) even though Perl itself has no way to differentiate between strings and bytes anyway.

Sawyer X - Plack for Fun and Profit (But Mostly Profit)

Seeing how booking.com uses plack in both development and production (with sample code!) was rather interesting, and plack seems to have become a rather nifty tool deserving a good seat in the perl ecosystem.

Upasana Shukla (upasana) - Structured exceptions in Moose

Upasana talked about structured exceptions and the challenges she faced making the transition from string exceptions to structured. She didn’t manage to win me over though with their pros, i still hate (most types of) exceptions and the Object Oriented Everything approach but it was an enjoyable and interesting talk.

Sawyer X - Day 3 Keynote - The Joy In What We Do

For this i will post he’s abstract verbatim: >“Small memories flooding our consciousness like a river of delightful experiences, carrying us through our lives, tugging at our heart, pointing us towards endless appreciation of what many fall prey to forgetting: our love of solving puzzles and our joy of transforming reality and life itself. > >This is the joy in what we do. “

This one was a keynote that deeply touched me and one i would recommend you all to watch and be reminded of the joy in what we do, and the reasons we all contribute to Free software.

Lightning talks Day 2

Being rather tired at this point i only watched one Lightning talk (and i immensely enjoyed it)

Thomas Klausner (domm) - The OAuth2 Dance

In this one OAuth2 was explained through a modern dance choreography that probably confused more than it helped (still was enjoyable and probably tons of fun for everyone :P)

The rest

The rest of the day went buy pretty quiet, the adrenaline levels having dropped with the conference closure, i passed the rest of the day relaxing and getting readyu for the returning trip home to Greece. That concludes the third and final day of the conference and here i would like to say a big thanks to all attendees and especially the organizers for making YAPC::EU 2014 such an awesome conference and a very worthwhile memory.

a silhouette of a person's head and shoulders, used as a default avatar

YAPC::EU 2014 at Sofia, Bulgaria - Day 2

Today was pretty much a “Devops” day for me, both by watching most of the devops track and holding conversations mostly about/with devops people.

Bradley Andersen (elohmrow) - Regex 101

This was a rather interesting talk in which Bradley went over the bare basics of regex, making an analysis and effective crash course about understanding them and starting to write sane regex. Unfortunately it was too beginner oriented for me but found it quite brilliant for someone who never saw regex before (or as some people like to say “ascii puke”).

Marian Marinov (HackMan) - Create your containers with perl

In his talk Marian, went over the tools he uses to work with containers and perl. In 16 slides, he presented the current state of containers in linux and showed what is covered/supported by perl, he then went on presenting his proposed toolkit full of utilities that combined give you a full environment to work with (in perl).

Naim Shafiyev (shafiev) - Automatization Network infrastructure

Naim, presented the issues an ISP has managing thousands of users with as many different needs and scenarios of use. The current protocols, practices, common pitfalls and especially how to avoid those and learn from previous situations. He closed the talk with some interesting future ideas.

Matt S Trout (mst) - Devops Logique

Matt presented the merits of Logic Programming and taking declarative system descriptions to a new level of abstraction, and finding ways to integrate these ideas back into more common workflows.

Denis Banovic (@bano99) - Perl in the Cloud

This was an interesting talk about running and scaling your own perl application paas on private open source cloud, albeit more dev than ops.

Lightning talks Day 2

Last but not least was the Lighting talks session. A full hour of 10 lighting talks and 30 second breaks between each talk for announcements (or ads).

Laurent Dami (dami) - Virtual tables in Perl for SQLite

Laurent talked about the upcoming Virtual table support in DBD::SQLite.

Kang-min Liu (gugod) - Introduction to Hijk

Hijk, is a very simple very small and very specialized web server (specialized in the sense that it does only one job), also has a hardly pronouncable name).

Simun Kodzoman (sime) - TableEditor

TableEditor is exactly what the name suggests, created on top of dancer and angularJS.

Mihai Pop - Trubzi.com

Brief presentation of Trubzi.com and its features (which of course is built in perl ;)

Dan Muey - I � Unicode

A basic intro to unicode and garbled text issues, Dan also gave a full version of this lighting talk in the past, watching that one is also suggested.

Upasana Shukla (upasana) - GNOME’s Outreach Program for Women

Upasana talked about her experience with GNOME’s Outreach Program for Women & how one can become a part of it.

Matt S Trout (mst) - Day 2 Keynote - State of the Velociraptor

As usual, Matt presented a recap of the previous year in the perl5 community as well how what we saw and learned can help shape both our language and community in the coming year.

The rest

I spent the rest of the conference day talking with and meeting new people. Then went off with the romanian crowd (a bunch of very cheerful,interesting and friendly people) to tour the city of sofia and later go for drinks. That very enjoyable and highly informative sofia city center tour was done by a (native) sofia citizen and also speaker in the conference, Dimitar Mitov (you can find details about his presentation in the previous post.)

And this concludes the second day of the conference.

a silhouette of a person's head and shoulders, used as a default avatar

YAPC::EU 2014 at Sofia, Bulgaria - Day 1

Two weeks ago, i went to Sofia, Bulgaria but due to being extremely busy with other work these posts got a little delayed. In this series of posts i will describe the 3 days of the conference.

YAPC::EU (short for “Yet Another Perl Conference::Europe”) is the annual conference of the European Perl community. This year the conference took place from August 22nd through the 24th at the Inter Expo Center (IEC). I arrived the day before the conference, just in time to have lunch and head to the pre-conference Welcoming party. The meeting took place to the “Krivoto” Beer House. in the center of sofia.

Next morning I headed with a friend to the vanue, we arrived around 9:30 where they were (still) serving breakfast, there were a few booths. There was a booth with free Coffee, snacks and a couple flavors of Tea. Another booth had traditional bulgarian breakfast, “banitsa and boza”. Banitsa is a filo pastry with cheese and eggs while boza is a fermented wheat kind of drink that is traditionally served with banitsa. During the breakfast time there was a meet and greet session for the conference attendees, a fantastic idea for newcomers both to the community and the conference itself. I didn’t have a camera with me so unless i get my hands on some photos the next sections will probably look a bit bare.

Mihai Pop - Perl Secret

Perl Secret was a funny and really interesting talk from Mihai Pop about perl secret operators and their representation as minions. I like minions nearly as much as i like the secret operators so i attended the talk which paid in full. I had a really enjoyable time hearing about operators i used, remembered or never even heard of, all together with adorable minions!

Mark Overmeer (Markov) - Translation with context

This was a very interesting talk about how to use gettext and perl to have context enabled translations. First he described us how the gettext framework works and how the PO and MO tables are being created. He then went on talking about “Log::Report::Translate::Context” which is a module that using the “msgctxt” field of standard PO-files it adds information to msgids in order to make context sensitive translations possible.

Thomas Klausner (domm) - Code i am proud of

Next came Thomas Klausner who presented as with a very interesting conglomerate of hacks he did last year. The talk included (but was not limited to) Consistent Random Passwords, MOPfuscation, ZeroBlog (which is his current blog’s backend) and a Short and magic $elf (loved that one, was clever :p).

Curtis Poe (Ovid) - How to fake a database design

Ovid’s talk was very good and with lots of tips for you if you don’t want to enrage your DBA. He opened the talk with a series of explanations and definitions of simple (or not so simple) Database design concepts. Then in a small Q & A like session he went on telling us about DO’s and DON’Ts of Database design.

Ervin Ruci (eruci) - A geo search engine in a few lines of perl

Ervin told us about the mod_perl based codebase of a perl module he wrote a few years back. It is the backend powering a Forward and Reverse Geocoding website covering the U.S.A and Canada. He then went on describing how it works and usage examples.

Sue Spence (virtualsue) - Get Me to the Pub Please

In this talk, Sue told us about the local runners group she likes to participate in and the trouble she had co-ordinating with them about when the meetups are, the meeting point, finishing point, the trace of the running etc. She then went on describing what she set up (calendaring, notifications, etc.) and how perl helped her in that (plus the modules she used).

Lightning talks Day 1

Last but not least was the Lighting talks session. A full hour of 10 lighting talks and 30 second breaks between each talk for announcements (or ads). At this point i was quite tired so i only write about only 2 of the 10 lighting talks i remember better.

Dimitar Mitov - Perl Executing Browser

I remember this talk better because i discovered the project a little while before attending YAPC and was quite interested in it. Dimitar opened the talk by telling us why he needed such a tool and the reasons that led him to choose QT as the toolkit for it. In short his browser allows you to have a nice local web interface for your CGI scripts without using a full blown web server.

Alex-P. Natsios - OS-autoinst: Testing with Perl and openCV

And my very own lighting talk about the OpenQA project. OpenQA is the framework used at openSUSE to automatically test the distibution and release media. openQA is almost entirely in Perl (tests included). Due to the limited timeframe i had i didn’t really go deep into how it all works. I gave a fast overview of what it is and how we use it in openSUSE then devoted the rest of my time to explaining how testing works. Finally i showed a real world example with the test for xterm (while explaining its code).

The rest

I spent the rest of the day talking with and meeting new people. I also met old friends and people i had only talked to online (via IRC).

And this concludes the first day of the conference.

a silhouette of a person's head and shoulders, used as a default avatar

DrawingLayer: What Should You Know about It, and my other LibreOffice Conference 2014 presentations

At the LibreOffice Conference 2014, I had three presentations. The first one was about DrawingLayer, one of the core technologies in LibreOffice that is not known enough, which consequently leads to people not using it, or being afraid of doing changes there:
Click to see the presentation.

Based on the research I've done for the presentation, I extended the DrawingLayer's README and svx's README.

The other presentation was a Lightning talk giving a bit of a detail about the boost::unordered_map removal I've done, that was mentioned in the Miklos' blog post:

Click to see the presentation.
And the last presentation was about how to create a custom widget using the LibreOffice's widget toolkit, VCL:
Click to see the presentation.

The LibreOffice Conference is awesome, I'm extremely glad I can be here, and present to so many great people!

a silhouette of a person's head and shoulders, used as a default avatar

Going to Akademy 2014

I'm going to Akademy. Now. I'm about to leave for the train to Brno and am looking forward to the people, presentations, discussions, workshops, hacking sessions, beers, ideas, and everything else which makes Akademy special every single time.


For me Akademy will start with a series of presentations:

On Friday I'm presenting the report of the KDE e.V. board to the membership. It will be the last time I do this, as my term ends, and I will not run again. It's the end of nine years being on the board of KDE e.V. Not being on the board anymore will be a change, but I'm happy that we have great candidates to fill the open positions. I also still want to and will be involved in KDE e.V., but as a regular member.

On Saturday I will give a short talk about Inqlude. This is a side project, I really enjoy working on, and it gains more and more traction. With the release of KDE Frameworks 5 we now have a huge number of libraries from KDE listed there. There is plenty of awesome stuff to use for any Qt developer. I will report about the current state, and would also be happy to see more people getting involved with further developing the tool and the site.

On Sunday I will give the community keynote. I will talk about how KDE makes you a better person. Some more information is on the dot in the announcement of the Akademy keynotes, and the interview Carl did with me. KDE is an amazing environment which has given me a lot. I will talk about how I see KDE enabling growth in people, and how we can maintain that.

There are many more interesting talks in the program. I'm especially looking forward to Kevin's talks about craftsmanship, and agile, as I think we can learn some good things from what others and the software development community in general are doing. I'm also excited to hear more from the KDE Visual Design Group. They will talk about community design and how designers tick. The visual design group has made a big difference to KDE in a short time, and I'm looking forward to see more of that.

But there is more than presentations to Akademy, meeting old and new friends, discussing technology, community, and many other things, hacking with others on the latest projects, and more...

See you all in Brno tomorrow.

the avatar of Cameron Seader

SUSE® Cloud 4 OpenStack Admin Appliance – An Easier Way to Start Your Cloud

If you used the SUSE Cloud 3 OpenStack Admin Appliance, you know it was a downloadable, OpenStack Havana-based appliance, which even a non-technical user could get off the ground to deploy an OpenStack cloud. Today, I am excited to tell you about the new Icehouse-based SUSE Cloud 4 OpenStack Admin Appliance.

With that initial SUSE Cloud 3 release, there were two versions: Standard and Embedded. After feedback from users it was clear that the user experience was not much different between the two, and the important goal was to reduce the overall size of the download. To address the situation, I came up with some innovations that led to a single, smaller image that incorporates the functionality of both the Standard and Embedded versions.

The new appliance incorporates all of the needed software and repositories to set up, stage and deploy OpenStack Icehouse in your sandbox lab, or production environments. Coupled with it are the added benefits of automated deployment of highly available cloud services, support for mixed-hypervisor clouds containing KVM, Xen, Microsoft Hyper-V, and VMware vSphere, support from our award-winning, worldwide service organization and integration with SUSE Engineered maintenance processes. In addition, there is integration with tools such as SUSE Studio™ and SUSE Manager to help you build and manage your cloud applications.

With the availability of SUSE Cloud 4, and based on feedback from partners, vendors and customers deploying OpenStack, it was time to release a new and improved Admin Appliance. This new image incorporates the most common use cases and is flexible enough to add in other components such as SMT (Subscription Management Tool) and SUSE Customer Center registration, so you can keep your cloud infrastructure updated.

The creation of the SUSE Cloud 4 OpenStack Admin Appliance is intended to provide a quick and easy deployment. The partners and vendors we are working with find it useful to quickly test their applications in SUSE Cloud and validate their use case. For customers it has become a great tool for deploying production private clouds based on OpenStack.

With version 4.0.x you can proceed with the following to get moving now with OpenStack.

Its important that you start by reading and understanding the Deployment Guide before proceeding. This will give you some insight into the requirements and an overall understanding of what is involved to deploy your own private cloud.

As a companion to the Deployment Guide we have provided a questionnaire that will help you answer and organize the critical steps talked about in the Deployment Guide.

To help you get moving quickly the SUSE Cloud OpenStack Admin Appliance Guide provides instructions on using the appliance and details a step-by-step installation.

The most updated guide will always be here

Changes from Github Project
- This version contains the GM version of SUSE Cloud 4 and any updates to this date
- Prepare source for SUSE Cloud 4 media and requirements
- Added proxy as a module in the firstboot phase
- Added HA patches
- Replaced lamp_server pattern with SMT server pattern, so SMT is now integrated
- Added ability to grab SMT repos from external USB drive source. Inherent now with the image
- Added ability to attach to remote SMT. Inherent now with the image
- Reformatted the SLES 11 SP3 update repo into a mini formatted repo
- Redesigned firstboot
- Removed build repos from appliance after build phase

Now is the time. Go out to http://www.suse.com/suse-cloud-appliances and start downloading version 4, walk through the Appliance Guide, and see how quick and easy it can be to set up OpenStack. Don't stop there. Make it highly available and set up more than one hypervisor, and don't forget to have a lot of fun.


Enjoy!

a silhouette of a person's head and shoulders, used as a default avatar

Running on Cheese and Chocolate

This is a big thank you, a thank you to all the people who made the Randa Meeting 2014 possible, the people who invested their time and their energy to go there and work on free software, and the people who made donations to support this.

Tons of things happened at Randa this year. Among other things there was lot of porting work to KDE Frameworks 5 done on kdevplatform, KMyMoney, Gwenview, KMix, Artikulate, and Kig. KDevelop got QML and Javascript support, the API docs got some love, Phonon 4.8 Beta was released, KStars tools got polishing, Kdenlive got a roadmap, and the first alpha of the Inqlude tool was released. We wrote a book, and made a movie:


It can't be overestimated what kind of magic place Mario created at Randa. It is such a focused and supportive environment, that it's hard to not be productive. It generates a sense of community which reaches way beyond the meeting itself, and fuels so much of future work. I have written about what makes this special spirit. But I suspect that the real secret is that Mario runs us on Swiss cheese and chocolate for a week.

So thanks again to the donors, to the sponsors, to the people who wrote code, or text, or took photos, or brought their kids, or organized, or simply provided happiness, or helped in any other way. It was an awesome event.

a silhouette of a person's head and shoulders, used as a default avatar

LSB Best Effort

As it has taken an extra ordinary amount of time for LSB to move forward a predicament has developed for many distributions, including openSUSE. Many of the requirements for LSB 4.1 can no longer be met and thus while the lsb package still builds it is not installable, see . The technically correct solution would be to drop the lsb package from the distribution, Factory now and thus 13.2 when it is released) as we can no longer be LSB compliant. However, the negative side effect is that some applications we do not and cannot package will no longer install, probably most notably google-chrome. Thus, having no lsb package, or no package that provides “lsb”, is a problem and has negative effects on many users. Therefore, the only way forward is to have an “lsb” package which provides LSB on a best effort basis.

Since LSB 4.1 and previous releases is a monolithic requirement, i.e. if you depend on lsb you depend/get everything that is in the standard, whether you want it or not, it is very likely that many applications depend on lsb while needing only a subset of the features. Thus, while we do not know all of those applications and cannot provide a list of “this will work and that will not“, there is a good chance that many external packages depending on lsb will not only install, but the payload they deliver will work with an lsb best effort approach. For those applications that are broken there is pretty much nothing we can do, sorry.

At a meeting last week at LinuxCon NA the goal was set to have LSB 5.0 released by the end of October. LSB 5.0 is incompatible with LSB 4.1 and prior releases. Thus, even if we provide an lsb 5.0 compliant package in short order after LSB 5.0 is released we still have the same risk as we do with the best effort approach. Basically some application packages that depend on “lsb” will deliver a payload that is broken. Exactly the opposite of what the LSB is trying to achieve, but hey one cannot hang on to Qt3 forever. Therefore, our “lsb best effort” approach to cover the gap does not create any additional pain.

Moving forward the LSB working group decided that the current approach, while providing value, has significant drawbacks. Predominantly there are not enough fingers on the keyboard to continue releases of such extensive “accepted standard” documentation. This is what we presently experience with the non installable lsb package. A for the LSB is being worked out. As this next/new LSB develops we will have to see how application providers deal with this. Without a formal LSB specification in the future, this problem will recur in a few years if application packages depend on a package named “lsb” which at some point may need to seize to exist. We will see how this plays out as the world we create keeps evolving.

the avatar of Martin Schlander

Four great technological advances

#1: openSUSE Factory Rolling Release Distribution

Over the course of the last several months a lot of changes were made to the development process for openSUSE Factory. Meaning it’s no longer a highly experimental testing dump, but it’s now a viable rolling release distribution in its own right. You can read all about the details here. I installed openSUSE Factory in a virtual machine yesterday and it seems to run pretty great. Of course to really judge a rolling release distribution you need to run it for a sustained period of time.

No rolling release distribution will ever be my preferred day-to-day operating system, but nevertheless I’m pretty excited about the “new” openSUSE Factory. I think the changes will enable version whores and bleeding edge explorers to finally have a truly symbiotic relationship with the users who value productivity and predictability in their PC operating system.

installer2

#2: KDE Frameworks 5 and Plasma 5

Since I was already testing openSUSE Factory it was a great opportunity to finally get my feet wet with the new KDE Frameworks 5 and Qt5 based KDE Plasma 5 workspace, initially released about a month ago. Obviously it’s still lacking some features and polish, but it’s already usable for forgiving users who know what they’re doing and showing great promise.

plasma52

#3: 4G on the Jolla

My provider enabled 4G on my subscription and offered to send me a new SIM Card gratis. So now my Jolla is sporting 4G. Unfortunately it only took about 5-10 minutes of speed testing (peaking at 12 MB/s, averaging about 10 MB/s) to use all my available bandwidth for the month, so for the rest of August I’ve been speed dropped to 64 Kbps, but hey, it’s still 4G!

20140807112741

#4: Richard Stallman presenting with a slideshow

Who’d have ever thought they’d see the day that Stallman would do a presentation with accompanying slides? Well it happened, and I think this great use of slides helps him communicate more effectively. Watch the video and judge for yourselves (27 MB, 13 minutes).

shot0001

the avatar of Agustin Benito Bethencourt

Team blog: more than just a blog.

Motivations


Creating high quality contents takes time. A lot of people write nowadays but very few are writers. In the software industry, most of those who write very well are in the marketing side not on the technical side.

The impact of high quality contents is very high over time. Engineers and other profiles related with technology tend to underestimate this fact. When approaching the creation of contents, their first reaction is to think about the effort that takes, not the impact. Marketers have exactly the opposite view. They tend to focus in the short term impact.

Successful organizations have something in common. They focus a lot of effort and energy in reporting efficiently across the entire organization, not just vertically but horizontally, not just internally but also externally. Knowing what others around you are doing, their goals, motivations and progress is as important as communicating results

One of the sentences that I do not stop repeating is that a good team gets further than a bunch of rock stars. I think that a collective approach to content creation provides better results in general, in the mid term, than individual ones. Specially if we consider that Free Software is mainstream nowadays. There are so many people doing incredible things out there, it is becoming so hard to get attention....

Technology is everywhere. Everybody is interested on it. We all understand that it has a significant impact in our lives and it will have even more in the future. That doesn't mean everybody understands it. For many of us, that work in the software industry, speaking an understandable language for wider audiences do not comes naturally or simply by practising. It requires learning/training.

Very often is not enough to create something outstanding once in a while to be widely recognized. The dark work counts as much as the one that shines. The hows and whys are relevant. Reputation is not in direct relation with popularity and short term successes. Being recognized for your work is an everyday task, a mid term achievement. The good thing about reputation is that once you achieve it,  the impact of your following actions multiplies.

We need to remember that code is meant to die, to disappear, to be replaced by better code, faster code, simpler code. A lot of the work we do ends nowhere. Both facts, that are not restricted to software, doesn't mean that creating that code or project was not worth it. Creating good content, helps increasing the life time of our work, specially if we do not restrict them to results.

All the above are some of the motivations that drives me to promote the creation of a team blog wherever I work. Sometimes I succeed and sometimes not, obviously.

What is a team blog for me? 

  • It is a team effort. Each post should be led by a person, an author, but created by the team.
  • It focuses on what the team/group do, not on what they will do, what they think or what they want. Why? because a team blog is way more than a promo tool, it is also a reporting one.
  • It is supported by a communication expert as editor, not just to increase the quality and potential impact of every content, but to increase the team skills as writers in a practical way.
  • It is management driven because it requires to embed it in the team processes and group dynamics. So it requires analysis, a clear goal, follow up and activation energy, specially during those moments in which the team workload is high, so writing is not perceived as a high priority. 
  • In order to ease the identification of the team with the blog and vice-versa, the promo aspects should serve the team and not the other way around. This is a key difference between this action and other common marketing efforts done by every organization.
  • Selecting the right topics to write about is not a question since, as mentioned before, the team blog is about what the team is working on. The question is about when to publish, together with the approach used to create the articles. Again, a management point of view is essential here. That view can come from different areas of the organization or within the team, but has to be there to take full advantage of the effort.
  • It feeds engineering reports. It saves time on this task in the long run.
  • If the goal of the action and the vision brought up by the editor are set up correctly, the team blog should also feed the technical marketing and customer engagement efforts of the organization/business unit. 
  • In the mid term, the blog serves as input for evaluating the performance/accomplishments of the team as a group, when associated with the key objectives previously defined. This is true not just from a management or customers perspective. What is more important, the team blog serves as evaluation input for the team itself too. The retrospective that this action can provide is essential for the growth of any team. 

Core Dump

I am pushing such action once more, this time at Linaro. The name of the blog is Core Dump. My presentation describes the motivations and goals that drives it. There is a talented group of professionals behind it so I hope that in just a few months we will be able to evaluate the results. I am confident we will succeed since we have every required ingredient.