Skip to main content

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

Some more geeking around at home …

Continuing the techno-geekery at home As written in a previous post I’d bought some wireless controlled electrical plug adapters primarily for use to remotely control the air conditioning unit in The Son’s room, especially in the evenings after he had been put down for the night. The adapters are controlled via a smartphone application, and […]

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

It is all about the ... plus

This is just a quick post but imho still pretty neat. If you are a postgresql user you probably know about the commands with \ to inspect your database server e.g. .

mirrorbrain=> \l mirro*
                                  List of databases
    Name     |    Owner    | Encoding |   Collate   |    Ctype    | Access privileges 
-------------+-------------+----------+-------------+-------------+-------------------
 mirrorbrain | mirrorbrain | UTF8     | en_US.UTF-8 | en_US.UTF-8 | 
(1 row)

mirrorbrain=> \dt
           List of relations
 Schema |  Name   | Type  |    Owner    
--------+---------+-------+-------------
 public | country | table | mirrorbrain
 public | file    | table | mirrorbrain
 public | hash    | table | mirrorbrain
 public | marker  | table | mirrorbrain
 public | mirror  | table | mirrorbrain
 public | pfx2asn | table | mirrorbrain
 public | region  | table | mirrorbrain
 public | server  | table | mirrorbrain
 public | version | table | mirrorbrain
(9 rows)

mirrorbrain=> 

So far … nothing new … right?

the avatar of Kohei Yoshida

mdds 0.12.1

I’m happy to announce that mdds 0.12.1 is now out. You can download it from the project’s README page.

There are primarily two major changes from the previous release of 0.12.0 as explained below.

multi_type_vector

One is that multi_type_vector now has a new static method advance_position to increment or decrement the logical position of a position_type object by an arbitrary distance.

static position_type advance_position(const position_type& pos, int steps);

The implementation of this method has been contributed by Markus Mohrhard.

flat_segment_tree

Another major change in this release is with flat_segment_tree. Previously, flat_segment_tree had an unintentional constraint that the value_type must be of numeric type. In this release, that constraint has been officially lifted so that the user of this data structure can now store values of arbitrary types with this data structure. The credit goes to David Tardon for adding this nice improvement.

Other than that, there are no other changes from 0.12.0.

mdds on GitLab

Incidentally, the mdds project now has a new home at gitlab.com. The new URL for the project page is now

https://gitlab.com/mdds/mdds

If you need to include a project URL, be sure to use the new one.

Thank you, ladies and gentlemen!

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

Even more fitness and tech stuff

I’ve started so I’ll finish Those who know me, know I’m really quite stubborn … Even so, I really had thought I’d finished with writing about my challenges with being a running geek. Honest! Hopefully this won’t be yet another lengthy whinge update. The Watch and GPS I’d already said that my Sony Smartwatch 3 had […]

the avatar of Agustin Benito Bethencourt

openSUSE transformation step 2. The user oriented distro.

openSUSE Tumbleweed is a rolling release that was designed with a clear goal, target and metric. It was developed following a clear picture of where to go. Design it was a painful but unavoidable process that challenged an assumption established in many people mindset back in 2012. Latest/greatest and stability were incompatible. Hence, Factory, the rolling release back then, was for hardcore SUSE/openSUSE OS developers only. As rolling distros, there were more popular and better options out there.

This summary might help you to get some background.

Goals are easier to achieve if you have a good reference to beat. For those who worked in the project, Gentoo and specially Arch Linux were those references. As you can imagine, transform openSUSE required management support. We had it, specially from Roland Haidl, Operations and Communities Director at SUSE back then. He created the environment that allowed those who worked in his department to be creative.... and take risks.

Simplifying, for the new "development version", a.k.a Tumbleweed (former Factory), the goal was to implement a model that allowed us to improve the existing Factory one, based on continuous delivery. The target chosen were our core contributors (packagers fundamentally) and the metric was, in summary, to make sure that, no matter how wrong things could go after an update, you would always have a console and network, so you would be able to revert your change. In terms of the process, the resulting integration deployment processes should be transparent, not just internally but also from our community members perspective. It also needed to be simpler in order to gain contributors, not just users. And it needed to empower them to own it.

Instead of following what SUSE was doing back then, the company dedicated resources to challenge itself. As result, openSUSE Tumbleweed is today, not just the best rolling distro out there, with all what that means in terms of excitement among its contributors, but is generating higher value to SUSE, since the company have an outstanding playground at home that allows them to incorporate true innovation into their production process before their competitors do.

openSUSE is discussing nowadays to take a second step, this time focused on its user oriented version. Today is openSUSE 13.2.

In my opinion, based on the previous experience, and independently of the decision/discussion process chosen, the same steps need to be taken. They are unavoidable in any transformation process. It is necessary to define a clear goal, something short that you can explain and understand easily, a clear target and a key metric that helps to clarify the "acceptance criteria" to be used during the whole process.

Like back then, I would like to see SUSE challenging itself, putting in question well established principles within the OS industry. Again, choosing a reference would make the final picture easier to achieve.

Most openSUSE users are desktop users and sysadmin. If, as I conclude from the latest oSC15 videos and factory mailing list discussions, sysadmins are the chosen target, It would be great to see SUSE/openSUSE challenging the assumption that, through a continuous delivery process, you cannot release a stable and high quality (for the target) distribution. That stability is only achievable through a waterfall like model. I would choose CoreOS as reference. It is a project that, based on different questions, is providing innovative answers to new challenges.

I would like to see that, base on the current process (standing on the shoulders of giants) openSUSE/SUSE creates a process that "pulverize" the current mindset, deprecating many of the existing problems, focusing on solving new ones. Imagine the best of both worlds, a new paradigm of OS with the green values.

It took about a year and a half for a dedicated team to release what today is Tumbleweed. I think that this second challenge is bigger than the first one. An even bigger commitment from SUSE will be needed in order to succeed.

But if the resources are there, the creative environment is set, the right steps are followed and the openSUSE community supports the effort, there is nothing that can stop the project to achieve what today are dreams. SUSE has the talent, and the experience, to make it happen.

I wish them all the best in this new challenge.

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

The Running Geek … part 2

As I was saying … At the start of this year I’ve tried to go running using bluetooth earphones, and met with mixed poor results. Alongside the bluetooth earphones I had also decided to try and do away with bringing my phone with me whilst running. I previously owned a Sony Xperia Z, and the earphone […]

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

The Running Geek

I’m not angry … I’m just disappointed. Two posts in a week. A relative flurry of activity it would appear. I had planned to write about running and the various bits of technology I use, or have used, in a future update. Circumstances have come together to persuade me to write it now. I like […]

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

Back again … no idea if this means more frequent updates though

Some Techno-Geekery at Home Obviously the blog hasn’t been updated for a long time. That either means nothing of note has happened or so much has been happening I just haven’t had time to keep things updated. It’s a little bit of the latter, and predominantly because I simply couldn’t be bothered. Anyway, today’s post […]

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

Dynamically static

Since 26th December 2005, I’ve been runnning this blog with Wordpress. At the time there were little alternatives and finally I had got hold of a host (Dreamhost, at the time) that supported PHP and MySQL without being overly restrictive. 10 years later, things have somehow changed.

The issue

The main reason lies in how Wordpress has evolved over time: no, I’m not speaking about the subjective “bloat”, but the fact that it’s been moving towards a full-blown CMS, which is not what I have in mind to run my blog. Also, performance with many plugins had somehow worsened, in particular when accessing things like the administration interface. Not to mention that plugins itself are still somewhat fragile, and upgrade could still cause harm to your whole site. Lastly, the mere fact that I had to use plugins to lessen the performance impact was off-putting.

It wasn’t just Wordpress, of course. In the past years I’ve found myself unable to write long texts in a browser (and hoping that they won’t get lost in case I accidentally close a tab) and also the way I write posts changed. I much prefer a specialized editor (like this one I’m using) to compose the posts I write.

An alternative is found

So I went and loooked for alternatives around. I’ve looked at Ghost, and while it was reasonably appealing, there weren’t many themes that wanted this page to be like I wanted to (and I wasn’t convinced in handing out money for a premium theme before I was sure it did what I wanted). So I turned to static engines, and for now at least I went for Jekyll, which is what made the page as you see it today.

The learning curve wasn’t particularly steep, and with the help of some tools I was able to convert all the posts from dnenogumi.org with little effort. I also took the time to update some very outdated sections. What took most of the time in the migration was keeping links “WP-compatible”, that is preserving the structure of the page (more or less) as it was before to prevent many 404s, in particular for feeds which are aggregated on Planet KDE. With the aid of (many) plugins and a few tweaks to the nginx configuration, I can say that most of the structure should be in place.

As for the theme, I went for Feeling Responsive by Phlow, but not verbatim. I had to make changes (in short, a fork) because it was meant originally for portfolios and certain features I needed were not present by design. What I did was to clone the repo and hack in whatever I needed.

Deployment

I use my own GitLab instance to host the repository (now private, I’ll make it public the moment everything is up and running), coupled with micro Flask application that fires off the rebuilding to a script running to my server. I also wrote a couple of programs to make a new posts and commit the data (or to make new drafts).

All that glitters is not gold

A bad note is comments: I had to go for Disqus unfortunately, as even when I managed to set up Discourse, the complexity of the platform was overwhelming for me, which required only comments for a blog, and nothing else. That, and the reliance on Docker, which meant another PostgresQL server running (I have already one up which powers my GitLab instance. I’m really not happy about it. Should you know a better solution, let me know!

Should you find issues with the page, also let me know. I’ve been testing this for a while but of course I didn’t manage to find everything. In particular now the “Gallery” is gone, and I’ll still need to experiment for plugins to auto-create thumbnails and so on.

Credits

Of course this leverages on work of other people, which I feel they’d be credited:

  • The aforementioned Phlow for the theme;
  • Melissa Adkins for her work on banner images and typography.

the avatar of Efstathios Iosifidis

Travel Support Program presentation video from oSC15


With this post, I would like to thank Andy Waafa for presenting Travel Support Program at openSUSE Conference 2015 at Den Haag.
Unfortunately, I couldn't make it to the conference due to family health problems (everything will be fine by the end of June 2015).

For those of you who didn't make it to the conference, here is the presentation.


Thank you Andy for helping me, Izabel and Marcel.