Skip to main content

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

Interview with Jos Poortvliet

Jos Poortvliet , tell us about yourself. Who are you?

Hey, I’m a Dutch Free Software enthusiast living in Berlin with my Brazilian
wife Camila. I’ve been around Free and Open Source for over 10 years, mostly
active around marketing and community related things.

Which are your main responsibilities and roles inside the openSUSE Project as a community manager?

I’m active in marketing, helping the project communicate to the outside
world. But also internally and between SUSE and openSUSE. I am also active
on the governance side of the project, with strategy or board related things
and helping to handle conflicts if they arise.

How do people from the community understand (or perceive) your role inside the openSUSE Project ?

He, good question. In the beginning, many people expected me to take charge
and play a leadership role. As that is clearly something which does fit
neither openSUSE nor me, I did not do that and made very clear that I did
not see that as my job. Instead, I presented myself as a contributor who had
to earn his place like everybody else. I think I did that, in the last
years, and today people come to me for advice mostly in the areas of
communication, marketing and conflicts – and I happily stay out of
especially technical decisions.

Imagine that you have to build and manage a new community , inside the openSUSE Project. Which are the steps you gonna follow so as to assure that this community will not affect the openSUSE Project? How are you gonna attract  people from the openSUSE Project to participate in the this new community?

Depends on what you are looking for, what you want to create. If it is
something like the ARM project or a new openSUSE derivative, it SHOULD
affect the project – ARM is adding something to openSUSE, so are the
derivatives. That is good!

So, just announce it as that – a cool, new thing in openSUSE. That is not
particularly hard to communicate. I would not communicate it before it has
something to show for and in most cases that means first gathering some
people who want to work on it and making a ‘first release’, then announcing
where you plan to take it and inviting people to join.

Of course, it would be possible to create a project which might not be
naturally seen as an addition. Say, you want to ‘fork’ openSUSE into a more
stable (or more bleeding edge) version. That is an entirely different thing
and should be handled with a little more care: one can imagine that this
takes up resources which otherwise might be put in openSUSE Factory, for
example. But here, too, I think it is important to first talk to some core
people, get a team up, create a ‘proof of concept’ and simply have a clear
plan. Then, based on what objections you expect, make sure to communicate it
in a non-threatening way.

Do you use any tool to manage the information inside the community (e.g bugzilla , statistics in mailing lists,repositories etc) and how?

We have some statistics but these focus around the release, marketing and
user base (number of downloads, page views to our sites, number of active
installations, things like that). And we have some idea about development
(number of commits to Factory, amount of work in devel projects). We have
very little, if any, info on communication related things.

One of the tasks of the community manager is the volunteer management. In terms of measurement and success can you give a percentage of
 “assigned” tasks per volunteer and successfully finished task per volunteer?

I have very little idea here. First of all, because I am restricting myself
to a subset of the community: the marketing area. Second, because my work
frequently shifts and I don’t always interact with the same people. And
last, because I don’t keep metrics like that – I work very much on a one-on-
one base. I’m not saying that that is the best way to do it but I’m not much
of a number man 😉

According to your experience ,  how many months approximately needs a volunteer to be “productive”?

It depends quite a bit in what area and what skills he/she brings. But you
are often looking at quite a long time – a minimum of a month but easily
half a year.

Would you call yourself a mentor? And why?

Sometimes, when I’m actually mentoring new people…

If a project , a task or an idea “assigned” to a volunteer fails, how do you manage this kind failure?
I try to catch it myself but often, I delegate based on trust. So if a
volunteer doesn’t do something, well, it doesn’t get done. That is
responsibility, yes?
Finally tell us , why openSUSE and openSUSE Community rocks?

There are a lot of reasons – but for me, the most important part is the open
mind. Every project has people angry at the world, every project has
friendly and unfriendly people. But overall, openSUSE as a community is very
open to both newcomers and working with others. We’re not such a navel-
gazing community, we pragmatic and willing to look outside our borders,
adopting technologies from other communities and working with them on it.
That is maybe not totally unique, but certainly rare.

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

Firefox-19.0 Colour Management

Firefox detects since version 17.0 the Linux system profile, which is a great improvement for the operating system. While colour conversions on all platforms still default to on for ICC tagged content, they can be enabled for all other colours. Untagged colours will then default to sRGB instead of omitting monitor compensation for them. To do so go to the famous about:config URL and change gfx.color_management.mode from “2″ to “1″. Then use the installed CMS, e.g. on  KDE KolorManager, to set a system monitor profile, and it will be detected after restarting Firefox.

For Android there is no CMS available. That means the ICC monitor profile must be set manually or sRGB will be assumed instead. The settings name in about:config is gfx.color_management.display_profile. Enter into this string the file name with full path, if you are on Android. That procedure is somewhat inconvenient compared to desktops. However the OpenICC group has published some specifications for implementation. This might be even possible for students inside the rewarding Google Summer of Code 2013 program.

For comparison, the Chrome web browser does support colour management on some desktop versions but unfortunately not on Android.

The below false colour test image should look correctly with ICC profile enabled browsers. Look at the colour gradients and then at the colour names and compare.

False colour test imageEnjoy cross platform colour management.

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

the avatar of Agustin Benito Bethencourt

Are you a senior KDE developer? Join openSUSE Team at SUSE

openSUSE Team at SUSE is looking for a senior KDE developer that is willing to join the company to work on openSUSE distribution and customer products where KDE technologies are present.

As those of you who are closer to KDE and/or openSUSE know, Will Stephenson has been leading this area the last few years. He is now facing new professional challenges within SUSE so we are looking for somebody that coordinates the openSUSE Team efforts related with KDE together with the openSUSE community, upstream and other SUSE Teams.

Our default openSUSE desktop, KDE, is obviously a relevant piece of our puzzle. But beyond pure KDE work, the selected candidate will also work in other areas of the distribution and will play an important role as openSUSE/SUSE advocate in technical forums.

openSUSE currently ships other desktops too so it will be important for the selected candidate to drive high levels of cooperation with the openSUSE GNOME (and others) team and upstream in cross-distro development efforts.

As a preferred choice, we are looking for a KDE developer willing to move to our Headquarters in Nuremberg, GE or to our office in Prague, CZ.

If you are interested, please check the opening details and send your CV through the SUSE Careers website. Links to your contributions to KDE and contacts for references are welcome.

In a more personal note......

Will, thanks for standing strong and work hard for openSUSE and KDE. Good luck in your new position.
a silhouette of a person's head and shoulders, used as a default avatar

Producing Better Bindings: Completeness

Note: like the previous post, this one is a follow-up on a series written by someone else. We're all building on top of giant's shoulders. My giant today is Sébastien Pouliot from Xamarin. Read his series Producing Better Bindings.

Second Note: if you're reading this from a news aggregator, you might miss the embedded gists. Read the original there.

I'm lately enjoying writing bindings for Xamarin.iOS and Xamarin.Mac, a lot for the fun, very little for profit. The biggest project by far was creating a managed bindings for cocos2d (v2). This library is huge (~2500 public methods), and the API is far from being fixed in stone. The library is so big that at some point I just gave up, until Miguel resumed the effort during end-of-year break.


No chocolate

One of my worst nightmare was that, at the point of completion, the API would probably outdated, and going through every .h at every release to check consistency looked very expensive from a maintenance point of view. Hopefully, Sébastien came up with automated tests, removing a lot of the burden. There was still a missing part. making sure we were not missing any (important) part of the exposed API. In Producing Better Bindings #1, he said:
There’s no easy way to test for missing constructors[...]. That would require static analysis (not introspection) in order to be useful.
 It was very much like a "you can't get chocolate"-day for me. Which means a lot for a Belgian.

Static Analysis

I wanted that feature badly. But I wasn't in the mood of writing (another) .h parser, just to extract the public API (though I could have used the same tools used for generating documentation). So I opted for analysing the generated library, but not at runtime, just after compiling.

So I added a step in my Makefile that looks like this:
#static analysis
%.selectors: %.a
 nm -P $< | grep "^[-+]\[.*\] t" > $@

which generate a file containing entries like this:

+[CCLayerColor layerWithColor:] t b84 0
+[CCLayerColor layerWithColor:width:height:] t b1b 0
-[CCLayerColor blendFunc] t 1167 0
-[CCLayerColor changeHeight:] t ecc 0
-[CCLayerColor changeWidth:] t e87 0
-[CCLayerColor changeWidth:height:] t e4b 0
-[CCLayerColor draw] t fa1 0
-[CCLayerColor initWithColor:] t d81 0
-[CCLayerColor initWithColor:width:height:] t c3f 0
-[CCLayerColor init] t bd7 0
-[CCLayerColor setBlendFunc:] t 1182 0
-[CCLayerColor setColor:] t 10b9 0
-[CCLayerColor setContentSize:] t de2 0
-[CCLayerColor setOpacity:] t 1114 0
-[CCLayerColor updateColor] t f10 0

which is all we need (and some more we don't need).

The fixture

The fixture looks like all other Binding Test fixture. You set LogProgress and ContinueOnFailure to the value you want, you override the Assembly property, and you optionally Skip() some types.

Parsing the file

Parsing the generated file isn't part of the base fixture, as it's tied to how you extract the selectors; and you have to override Selectors (). But if you reuse the Make command, you can also reuse this parser:

Skipping categories

If the library you're binding uses categories, like cocos2d does, you can skip full categories:



What's missing ?

Very few actually. Maybe detecting is all the exposed Fields are bound in your C# API.

If you liked this post, you probably will also like other stuffs I'm doing. Contact me, I'm open for contracting.

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

openSUSE 12.3 / Lenovo T430

My new Lenovo T430 arrived last week. After delighting in that satisfying new laptop smell, I made recovery DVDs I will presumably never need, then blew away Windows 7 and installed openSUSE 12.3 (full disclosure: I work for SUSE, so my choice of distro may not be entirely unbiased).

Some niceties:

  • The textured touchpad is lovely. Much better feel than a pure flat surface.
  • As I’d expect, the keyboard is excellent (even if PGUP/PGDN aren’t where I’m used to).
  • The openSUSE installer is quick and easy. I’m pretty sure there’s less steps than last time I did a regular openSUSE install from scratch a couple of years ago.
  • No problem setting up encrypted LVM, although on my ~500GB drive it defaults to a 20GB root and 25GB /home, with a whole lotta free space left over in the encrypted partition, so that might want some tweaking.
  • Entering the passphrase on boot happens on a pretty graphical screen, you don’t get thrown back to a terminal window where random junk is appearing over the passphrase entry prompt.
  • Moving my mail over from my old laptop was pretty much just an rsync of the Thunderbird profile directory (and maybe a tweak to ~/.thunderbird/profiles.ini)

Some oddities:

  • The Novell GroupWise 8.0.2 client had a couple of problems:
    • It claims to need libXm.so.3 (listed in RPM Requires), but works fine without it. This is fortunate, because openSUSE 12.3 doesn’t ship openmotif22-libs-32bit anymore.
    • Unless you’ve installed libpangox-1_0-0-32bit, the GroupWise client will segfault somewhere in libwebrenderer.so. This is less than obvious.
  • The YaST disk partitioner seems slightly confused adding new LVs inside my encrypted VG later on (it either locked up or crashed). I haven’t had time to investigate this properly, so I’ve ignored it for the moment and used lvcreate and mkfs in a terminal instead.
  • You do need to reboot at least once after initial install for NetworkManager to work properly (this is mentioned in the release notes).
  • I’m running GNOME 3.6, and I tried using the tweak tool to have it just blank the screen – not suspend – when closing the laptop lid. Turns out systemd is being too clever for me, so I had to fiddle with that a bit (set HandleLidSwitch=ignore in /etc/systemd/logind.conf, then run sudo systemctl restart systemd-logind).

Very little else to report so far. Aside from the oddities above everything else seems to Just WorkTM. OTOH, all I’ve really done is web browsing, email and assorted fiddling around in terminals. Maybe listened to a bit of music (the inbuilt speakers are well and truly loud enough, but a bit tinnier than real speakers – can’t say I’m terribly surprised by that though).

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

Lenovo business Sollbruchstelle?

One year ago I wrote about the Lenovo Thinkpad Tablet based on Tegra II. After 12 months + the device is now pretty doomed. Not only mechanical switches stop working, the power supply gave up around the same time. Looks like Lenovo sells cheap and crappy hardware for business prices. For a ThinkPad labeled device that is far behind any expectations. But the whole concept behind Lenovos business tablets is flawed.

The manufacturer delivered since quite some time no security updates. The device boots only OS kernels digitally signed by Lenovo. So business administrators can not fix anything on their own as is otherwise usual for Android. That lockout makes just junk in a business environment. Further the company decided to build upon a Windows only chipst for the ThinkPad 2 Tablet, without any plans for migration of investments in Android. The minimum would have been a dual boot machine for those, who prefer to continue with, what they have build already. This is a business reset decision inside Lenovo. One simple measure would be to make the kernel signature public available to allow for security and OS updates on the device on a professional base. An other important step is to open up the currently Windows only ThinkPad 2 tablet for Android.

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

wxRuby is now on BuildService

I am happy to announce that i succeded in compiling wxRuby 2.0.1 on my Buildservice account and it is available to be installed in just one click for openSUSE 12.2 and 12.3.

wxRuby is an old but working library based on wxWidgets toolkit, till some day ago the dependency from SWIG 1.3.38 and some small errors raised during the manual compilation, made the use of this library the worst nightmare for beginners who was looking for a fast approach to GUI based programming in Ruby.

After some day spent to investigate about a possible upgrade of the SWIG dependency to the current 2.0 version, i produced some patches to fix this and the other annoying compiling errors, and finally, thanks to the Buildservice infrastructure, a wxRuby RPM compiled from sources with the relative patches are now availables for all openSUSE users!

As far i googled this should be the first distro to have a precompiled and working wxruby gem among its repositories (being compiled from sources the gem is generated for 32 and 64 bits architecture from Buildservice itself), so Rubyists take a look on software.opensuse.org, select the package coming from my home project account and enjoy!

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

OpenSUSE 12.3: Opinião

Estava usando em meu notebook, um Toshiba com 2,5GB, duo core, 1,73mHz o openSUSE 12.2 com KDE 4.10 que estava excelente em minha máquina. Assim que foi lançado o openSUSE 12.3 imediatamente baixei o .iso do DVD e instalei.

A instalação foi super tranquila como sempre, mas fiquei mesmo impressionado foi com o resultado final do sistema. Fiz a instalação da versão 12.3 preservando a partição /home. Ao concluir a instalação, fui apresentado à mais belas das distribuições (na minha opinião). Um sistema impecável no visual e no desemprenho.

Até agora não tenho d que reclamar , pois tudo está funcionando perfeitamente. Como não formatei a partição /home, todas as minhas configurações foram recuperadas sem nenhuma surpresa, até mesmo o Microsoft Office 2007 (apresar de também utilizar o OpenOffice, ainda acho o MS o melhor pacote Office) que rodo via wine estava funcionando numa boa.

Outra ótima surpresa foi com o gerenciamento de pacotes via Yast e Apper. Na versão anterior a atualização de do banco de dados de pacotes e atualizações  demorava quase 5 min para ser efetuada, agora na versão openSUSE 12.3 isto é feito em poucos segundos. A velocidade para que o Yast/ Apper baixe os pacotes também melhorou absurdamente.

Até agora não tive nenhum travamento do sistema ou de algum programa. Está tudo rodando muito bem. A temperautra do notebook está super baixa, mas a velocidade está alta! O KDE para o openSUSE cai como uma luva. É a melhor integração disto/KDE que já vi.

Segue a lista de alguns programas que estão instalados e funcionando 1000%: googleearth, skype, clementine, flash, k3b, acetoneiso. qbttorrent, filezilla, geany, lucky backup, chromium, firefox, vlc, amule, inkscape, gimp, microsoft office 2007 (wine), Ares (wine), partitionmannager, devede, daftsight (similar ao autocad).LOGOConfort (software de automação do clp LOGO! da Siemens – versào Linux!!!)  e outros.

Se você busca por uma distribuicão Linux, bonita, estável com ótima integração com o KDE 4.10, com milhares de pacotes, com uma comunidade ativa, fica a dica: openSUSE 12.3.

Abaixo a imagem da minha área de trabalho.opensuse_12.3

opensuse_12.3

opensuse_12.3

 

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

Regra das potências

Oi pessoALL!

Estou deixando aqui um arquivo resumo para que os interessados possam estudar um pouco mais sobre operações com potências. Este artigo visa ajudar aqueles que estou com dúvidas e também aqueles que precisam se lembrar  Estas regras vão nos ajudar bastante em nossos estudos sobre eletricidade. Um abraço e espero ter ajudado

Clique aqui para baixar o arquivo