May 19, 2012

Apache OpenOffice made easy with YUM

Yesterday night my RHEL6 got updated and eventually OpenOffice was wiped and replaced by Libre Office. Cool, for most people it’s a cool move, for me it means my system got stained… After a first look on Libre Office RPMs, I got to find out that they have Epoch defined… very uncool stuff, not needed at all, but that raises it’s share of problems…

First step… Wipe the offensive software:

 # rpm -e `rpm -qa | grep libreoffice` 

Second step… Make sure epoch doesn’t get in the way… preferred method: brute force (/etc/yum.conf):

 [main]
cachedir=/var/cache/yum/$basearch/$releasever
keepcache=0
debuglevel=2
logfile=/var/log/yum.log
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1
installonly_limit=3
exclude=libreoffice* 

Third Step, make a local repository for Apache OpenOffice (we need a replacement for offensive software):

 # mkdir /opt/apache-openoffice && yum install createrepo 

Fourth Step, download and unpack the RPMs archive from Apache OpenOffice and move the RPMS directory into /opt/apache-openoffice!

Fifth Step: generate some metadata for the local repository:

 # createrepo -d --outputdir=/opt/apache-openoffice/RPMS /opt/apache-openoffice/RPMS 

Sixth Step: /etc/yum.repos.d/apache-openoffice-3.4.repo

 [apache-openoffice-3.4]
name=Apache OpenOffice 3.4
baseurl=file:///opt/apache-openoffice/RPMS/
gpgcheck=0
enabled=1
priority=1

Seventh Step: install Apache OpenOffice

 # yum clean all && yum install openoffice.org3-3.4.0-9590.x86_64 openoffice.org3-writer-3.4.0-9590.x86_64 openoffice.org3.4-redhat-menus-3.4-9590.noarch openoffice.org-ure-3.4.0-9590.x86_64 openoffice.org3-impress-3.4.0-9590.x86_64 openoffice.org3-base-3.4.0-9590.x86_64 openoffice.org3-en-US-3.4.0-9590.x86_64 openoffice.org3-calc-3.4.0-9590.x86_64 

Eight Step: open a bug report upstream and request that they do the same as Sun with Java, use an absurd Epoch (like 2000 ? :) ).

Cool it works :)

 

Fedora 18 kann als Access-Point fungieren

In der letzten FESCO Sitzung wurde unter anderem das von Dan Williams vorgeschlagene “RealHotspot” Feature für Fedora 18 akzeptiert.

Hinter “RealHotspot” verbirgt sich eine Erweiterung des NetworkManager, die es erlaubt, das eigene System als echten Access-Point zu nutzen und so die Internetverbindung mit anderen Geräten zu teilen. Bislang muss hierfür ein AdHoc Netzwerk eingerichtet werden, welche jedoch nicht sehr zuverlässig arbeiten, falls WPA oder WPA2 als Verschlüsselung zum Einsatz kommen. Darüber hinaus unterstützt bislang nicht jeder Treiber diese AdHoc-Modus.

flattr this!

MCollective 2.0 and Windows Client Installer

With MCollective version 2.0 we have now support to control Windows Servers. The only thing you must take care is that you need to update all your infrastructure to mco 2.0 because you cannot control servers that have a different version installed.

This allow us to complete the support of our KermIT project, that is actually (we have many enhancements in development ;) ) a web interface to control mcollective infrastructure adding windows support. The “problem” was that no windows package was available during our tests and, knowing that usual production environment servers could not have access to internet, this could cause installation problem.

For this reason we developed and create an installer for windows server using Rake (make for ruby project) and Inno Setup to create the final .exe setup file.

If you want to test it you can find the installer (and source for Rake file) here.

Enjoy and report us any problem.

¿Cómo apagamos en GNOME 3?
Hace un tiempo que cambié de entorno de escritorio, abandoné parcialmente KDE para usar GNOME 3, porque ya me "cansó" un poco seguir viendo la misma interfaz y todo lo mismo desde el 2007, así que opté por GNOME 3. Lo que más me llama la atención entre otras cosas, es que en el menú de usuario, no aparezca la opción de "Apagar"... y por lo tanto nos vemos obligados a "Cerrar sesión" y posteriormente, mandarlo a apagarse....

Pantallazo de como quedaría...

No obstante, hay una herramienta que te permite cambiarlo gracias a este programa, no sólo permite cambiarnos el menú en el que incluyen las opciones de apagar e hibernar, sino que también permite cambiar el tema, la apariencia de la barra de ventanas, el tipo de fuente, los iconos, un par de cosillas del escritorio así como extensiones de GNOME-Shell...

Procedemos a instalarlo junto con la extensión de GNOME Shell que nos permitirá tener un menú con las opciones de Apagado...
$ su -c "yum install gnome-tweak-tool gnome-shell-extension-alternative-status-menu"
Posteriormente abrimos la herramienta, "Configuración avanzada" o bien por terminal:
$ gnome-tweak-tool
Nos dirigimos al apartado "Extensiones de GNOME Shell" y seleccionamos la opción "Extensión Alternative Status Menu".

La activamos y listo, ya podemos ver nuestro menú con la opción de apagado.


Nota:
  • Cerramos, y ejecutamos el comando "r", sin comillas pulsando ALT+F2, o desde terminal.
Referencias:
  • Google
  • IRC
Pero... ¿y los iconos de Maxi/mini -mizar?
Pues sí, amigos, en GNOME 3 por defecto, entre otras cosas, no existen los des iconos que tanto nos acompañan tanto en otros sistemas como entornos de escritorio, los botones de maximizar y minimizar una ventana en GNOME 3.
Logotipo de GNOME

Menos mal, que hay personas que hacen o redactan tutoriales así como programas como "GNOME Tweaks tool" para evitar un tanto de dogmatismo por parte del proyecto GNOME, por no facilitar opciones en sus propios paneles de control para satisfacer la creatividad del usuario. Lo triste es depender de herramientas "ajenas" al proyecto y que no sean instaladas con el escritorio GNOME 3 por defecto...

No obstante, procederemos a instalar la herramienta así como su plugin y a modificar la apariencia.
$ su -c "yum install gnome-tweak-tool"
Ejecutamos la herramienta de GNOME Shell, y marcamos la opción de "GNOME Shell", y modificamos el valor "arrangement of buttons on the..." > "All"

Nota:
  • Cerramos, y ejecutamos el comando "r", sin comillas pulsando ALT+F2, o desde terminal.
Y listo, este tutorial, gracias a la mano de Gespadas.
FUDCon KL 2012

I'm leaving Kuala Lumpur now, for the next stop on my epic journey to the first and final annual kirtan festival in Sparta.

FUDCON KL was amazing. The Malaysian Fedora community is tight, and it was great to meet peeps from the Indian and Sri Lankan communities.

I love language and culture, and Kuala Lumpur was filled with all of these, in spades.

Here are the highlights for me:

  • Kage Senshei, Gurdip, Maverick, Eric and the crew rocking it hard on the ground to put on the FUDCon event. Amazing hospitality and inspiring energy.
  • Christoph Wickert, package maintainer, FAMSCO member, Fedora board member, and all-round ubermensch. He helped reaffirm for me that Fedora's commitment to sustainable, massively reproducible engineering is why it's my distro of choice.
  • Danishka Naveen, leader of Sri Lanka's Hanthana Linux project, and, it turns out, the one responsible for the Singhalese translation of Red Hat Enterprise Linux 5. I took the screenshots for the RHEL 5 Installation Guide Indic languages, and I remember, six years later, the visceral feeling the aesthetic beauty of that script evoked in me. I looked at it and thought: "this is the most beautiful writing I have ever seen. And it still is.
  • bckuvera, callkalpa and udita, who came with Danishka. Those guys are passionate about Open Source.
  • A kindred spirit, Ratnadeep from Bengal, who also spans the Gaudiya Vaisnava and Free Software worlds
  • Michel Salim mild-mannered Indonesian genius programmer, who managed to fix my world by finding cairo-dock, and awesome substitute for the deprecated in F17 avant window manager.
  • The native speakers of Bahasa Melayu who helped to design "Memperkenalkan Fedora", Fedora's first book in the Malay language. Now all that remains is to populate the content. Translators have already stepped up to produce Russian and Farsi versions.
  • The crowd-commits so far to Introducing Fedora. Simply awesome!
  • Truong Anh Tuan, Vietnam's Fedora Ambassador. Man, that guy rocks!
  • Muslims, Sikhs, Christians, Buddhists and Hindus; Chinese, Indians, and Malays living in a multi-cultural, multi-lingual, multi-religious melting pot of ethnic goodness!
  • The mosque directly outside my window at the hotel. Morning call to prayer, and empassioned tirades broadcast live in the morning. I didn't understand a word of it, but I loved every minute of it.
  • The Harmony Life Organic Cafe in Sri Petaling.

Hey, so much stuff; but enough - I have a plane to catch, and I want to see if I can rustle up one last juice while I'm here.

Got a ton of ideas for the next live docs hack - including running tutorial sessions walking people through the process of contributing; both to help them to grok it, and to get real user experience feedback on the ground. Also, I grabbed a ton of extremely useful content and proposed structure from interacting with people and sitting in different talks (including these and this).

#fudcondocshack goes on. I'll be offline for 24-36 hours as I change locations, but don't let that stop the momentum!

Make a contribution during FUDCon KL 2012 to the first FUDCon-sourced book, from anywhere in the world, using only your web browser.

mozilla @ fosscomm2012

Fosscomm, the annual conference of the Greek Free Software community, took place last weekend and Mozilla had a big presence with talks and workshops the whole Sunday.

Starting early in the morning, along with Pierros, we had the opportunity to talk about “Firefox on 2012” and the new features that are developed and will land sometime during this year. We started with a quick summary of the things that came on 2011, as a direct result of rapid release process, and then we got through all the cool new features that are about to come. See the Presentation and the Firefox Roadmap.

Right after this I had the opportunity to do a hands-on presentation of all the Firefox developer tools, that really help the productivity of a web developer (without any need of 3rd party add-ons). In a nutshell: Web Console, Inspector, Scratchpad, Style Editor.

Right after it was Fredy‘s turn to give a hands-on presentation. This time about Add-Ons and how you can use the SDK Builder. Nice in depth presentation.

Then we moved to the main conference room where Pierros and Fredy gave a speech about B2G. Seems that a lot of people were aware (or at least fully aware) about this huge project. The presentation ended with a demo of B2G running on a smartphone, that really impressed the audience.

Back to the hands-on presentations with an Apps & Marketplace overview by Pierros and Fredy. It was a good opportunity to clarify why web apps are important and what’s the dereference with simple web pages. In the end there was a joint effort to create a web app for Wikipedia, which currently is under review on Mozilla Marketplace.

Giorgos and me did a presentation about “Identity on the Web“, talking mostly about BrowserID and what changes on the way we identify ourselves on the web sites we need to login or register. We did a quick demo using an OpenPhoto instance and talked a lot about the technical aspects of it. See the presentation and especially the video on the last slide.

Last presentation by Giorgos, who did a nice motivating presentation of the WebDev workflow he’s using on Mozilla, and which steps you have to do in order to contribute.

Then we moved to the workshop room, where we did a nearly 2h workshop on B2G and show in what areas any community member can contribute.

I think it was a great overall  presence of Greek Mozillians, we had the chance to talk with many people, and hopefully we’ll keep up on the same spirit :)

flattr this!

Eclipse in Fedora - 0 day update
Eclipse bundled by Fedora will contain additional fixes that are not yet a part of Juno release:

1. Predefined update sites


You may say that's all Eclipses have that, but it is not quite true. You have not just used Eclipse with a shared configuration. However, in Linux, this is a default installation, so many many people reported this problem, and for some Linux distributions it was a blocker that prevented them from including Eclipse. But things are getting better - Fedora, and eclipse-build, now include a fix for that issue.

2. Discover renamed jars in dropins.

Again, this issue does not happen often in regular Eclipse installations. But if for some reason you need to rename a jar in dropins, P2 will refuse to load it. In Fedora, each jar should be packaged only once (f.e. junit), so each discovered duplicated library is replaced with a symlink. Sometimes Eclipse refused to resolve dropins, now we know why :-).

3. Reconciler debugging options are now in a default installation.

As of previously, when anyone reported the problem with Eclipse not being loaded fully, we had to guide him through creating the .options file, putting it in right directory and gathering logs. Now it is easier. To get a hint what is going on with reconciler it is enough to invoke following commands:
$ cd /usr/lib64/eclipse
$ ./eclipse -debug -clean > reconciler.log

4. Eclipse cannot be run as root.

This is the most controversial change, but when you try to launch Eclipse as root, you will get:
# eclipse
CompilerOracle: exclude org/eclipse/core/internal/dtree/DataTreeNode.forwardDeltaWith
CompilerOracle: exclude org/eclipse/jdt/internal/compiler/lookup/ParameterizedMethodBinding.<init>
CompilerOracle: exclude org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/CPPTemplates.instantiateTemplate
CompilerOracle: exclude org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPLinkage.addBinding
CompilerOracle: exclude org/python/pydev/editor/codecompletion/revisited/PythonPathHelper.isValidSourceFile
CompilerOracle: exclude org/python/pydev/ui/filetypes/FileTypesPreferencesPage.getDottedValidSourceFiles
This application should not be run by the owner of the shared configuration.
</init>

and exit code will be 14.

The reason behind that is pretty simple - when you invoke the Eclipse as root, everything what you have in dropins will be written into the master configurations. And later, when you change your installation layout using RPM, things will go ugly, because the master configuration will not reflect what is really installed.

If you really, really need to launch Eclipse as root in Fedora, and you know what consequences are to expect, please remove -preventMasterEclipseLaunch from your /usr/lib64/eclipse.ini.

Note 1. All paths used in this blog post are for 64 bit systems. If you happen to run 32 bit Fedora, please replace every lib64 with lib, so the base Eclipse installation folder will be /usr/lib/eclipse.

Note 2. Fedora 17 (a.k.a. Beefy Miracle) is out pretty soon. You can grab beta here.
FUDCon Kuala Lumpur, 2012. Day 1

Here I am, in Kuala Lumpur, Malaysia with some of the awesomest contributors of Fedora Community writing about the events of last day. The flight landed a day before here and Ankur, Praveen and me went for some sight seeing on the first day. We saw The Petronus Towers and visited Central Market. We came back hell tired, met everyone and went to sleep.

The Day 1 of FUDCon KL started with Christoph Wickert giving keynote on leadership. As with every FUDCon keynote, it was awesome. One thing that Christoph said in the end really strike me “It may not always be pretty, and it may not always be easy, but persistence wins”. Amazing thought.

The Day 1 was dedicated to bar camp style talks. Immediately after the keynote, the pitching started. I guess a little over than 20 talks were pitched for about 15 slots which, in my opinion, is a good number. I pitched two talks, one on Git and another one on Metrics Collection. The git one got through, sadly(well, not that sad) the Metrics Collection was shot down. Most of the selected talks revolved around students contributing which was a good thing given that most of the audience consisted of students. I got a handful of people interested in Git who were happy to talk to me about it after the session.

We had a big face-to-face APAC meeting back at hotel. We did missed David Ramsey and Harish. Several important points were discussed during the meeting including budget, swags, mentorship and general promotion of Fedora across the Asia Pacific region.

The day ended along with several discussions on a bunch of topics. I guess several emails on the lists will appear soon about the action plans.

The 1st day in KL – Keynote from cwickert and Barcamp-style sessions

The day-0: flying to KL. It is not difficult to find to the venue. Thanks for Fedora Malaysia and organizers for your good preparation, especially the travel booklet. Then I can give my hands to help them get the last things done in time.

The FUDCon day-1 started with an interesting keynote given by Christoph . . . → Read More: The 1st day in KL – Keynote from cwickert and Barcamp-style sessions

FUDCon KL2012 Day-1
Got up on time and had breakfast, bus arranged for us to take UTCI. We reached there around 8.20 and we registered ourself and took food coupons. After a small introduction by Ganesh, day started with Christoph Wickert's keynote ("Leadership in leaderless organizations"). He talked about: people are not leading by any kind of formal authority but by example.


Then Ganesh and Ankur announced for barcamp, and around 16 small session we put on white board. After barcamp session voting we went to grab some food.


Post lunch I went to attend for "Improving Collaboration with other open source project" by Christoph. His talk was about how to get involve with project like mailing list or IRC, use git etc. Then we had discussion about live usb media, what's are changes we will see in future fedora release, how anaconda is evolving and much more.


After that I took small talk on vim, I started with explaining different modes and then how to do fast navigation in command mode, edit a file in new tab, how to get different plug-in etc., Ankur jumped in between and he told why vim is better and why it's designed like that way. He also demonstrated some more cool stuff in vim like recording, replacing, searching and how to do some hack in vimrc file to make life little bit more easy.



Then Ankur had session about "Trouble shooting in Fedora" but from our target audience nobody ever used fedora so we ended up to talk about how to start with fedora, mailing list, fedora wiki, ask fedora and bugzilla :)

Just after I took again a small talk on "Install Software in Fedora". I talked about how to install a software using the source, what's dependency mean, what is RPM, how to install software using rpm and finally talked about yum and repository (how to install and how it's work) etc.

First day was really great met many students and also fedora ambassadors/contributors. Organization team was using walkie-talkie to communicate from different floors :)


Well that's a quite bit of first day stay tuned for more awesome KL .....

May 18, 2012

jemalloc-3.0.0 packaged for fedora and epel

Updated packages of jemalloc-3.0.0 for epel 5, 6, fedora 15, 16, 17 and rawhide are now available through koji. They will appear in their respective testing repos before they eventually trickle down to their stable branches. Please report karma through koji and bugs in bugzilla.

In addition to the obvious new upstream release, this package has got a patch for epel5/ppc, making it finally possible to release an update for epel5.

[GNU/Linux] Manajemen Menu Pada Cinnamon Di Fedora 16

Kemarin, saya mencoba menelusuri cinnamon di fedora 16, saya penasaran dengan menu kategori pada cinnamon ini pasalnya saya merasa risih atas shortcut launcher yang tak berfungi maupun, jarang digunakan pada menu di kategori seperti :Accesories, Games, Office, Internet, Programming dll. contoh lihat pada gambar ini :

Lingkaran Warna Kuning adalah kategori.

Lingkaran Warna Merah adalah shortcut / launcher aplikasi.

Pada kasus ini saya ingin menghilangkan kategori universal accsess dan other. dan oada launcher saya ingin menghilangkan/memindahkan logFactor5, openJDK Policy Tool, Chainsew, OpenJDK Monitoring & Management Console.

Pada dasar nya untuk menonaktifkan kategori itu berada pada file di direktori /etc/xdg/menus/cinnamon-applications.menu.

Dan pada shortcut konfigurasi nya berada di folder /usr/share/applications.

buka terminal masuk mode root

su

#cd /etc/xdg/menus/

#nano cinnamon-applications.menu

lalu beri tanda komentar seperti ini “<!–” pada awal menu other, dan “–>” pada akhir.

Pada Other :


<!–

Other X-GNOME-Other.directory

Core
Settings
Screensaver
X-GNOME-Settings-Panel
Documentation

–>

lalu cari universal accsess


<!–

Universal Access Utility-Accessibility.directory

Accessibility
Settings

–>

sesudah itu, tekan ctrl+alt+x lalu tekan y. Ok selanjutnya kita akan memindahkan shortcut logFactor5, openJDK Policy Tool, Chainsew, OpenJDK Monitoring & Management Console ke kategori system kebetulan shortcut-shortcut tersebut berada pada /usr/share/applications/programing/
biasa nya berada /usr/share/applications/. cara nya :

#cd /usr/share/applications/programing/
#nano fedora-jconsole.desktop

lalu ganti isi pada Categories menjadi System jika ingin memindahkan ke system.

[Desktop Entry]
Name=OpenJDK Monitoring & Management Console
Comment=Monitor and manage OpenJDK applications
Exec=/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/bin/jconsole
Icon=java
Terminal=false
Type=Application
StartupWMClass=sun-tools-jconsole-JConsole
Categories=System;
Version=1.0
X-Desktop-File-Install-Version=0.18

lalu tekan ctrl+alt+x lalu tekan y lalu enter(untuk save). lalu buka file lainnya dengan nano kemudian bagian categories ganti menjadi System.

nano fedora-policytool.desktop
nano log4j-chainsaw.desktop
nano log4j-logfactor5.desktop

file fedora-policytool.desktop

[Desktop Entry]
Name=OpenJDK Policy Tool
Comment=Manage OpenJDK policy files
Exec=/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/bin/policytool
Icon=java
Terminal=false
Type=Application
StartupWMClass=sun-security-tools-PolicyTool
Categories=System;
Version=1.0
X-Desktop-File-Install-Version=0.18

file log4j-chainsaw.desktop

[Desktop Entry]
Name=Chainsaw
Comment=Log4j log viewer
Exec=chainsaw
Icon=chainsaw
Terminal=false
Type=Application
Categories=System;
X-Desktop-File-Install-Version=0.18

file log4j-logfactor5.desktop

[Desktop Entry]
Name=LogFactor5
Comment=Graphical user interface for managing log4j log messages
Exec=logfactor5
Icon=logfactor5
Terminal=false
Type=Application
Categories=System;
X-Desktop-File-Install-Version=0.18

Apabila sudah, Logout dan login kembali. selesai. hasil akhir

Selain ini, ada pun software pengolah menu, entah apa saya lupa namanya. menu editor, menu config untuk gnome, saya lupa lagi, mungkin eksplorasi seperti ini lebih mengasikan :) .

BLOG : WAJATMAKA

Where’s Euca next?

Eucalyptians are hanging out all over!

  • OSBC – Hyatt Regency, San Francisco, CA: May 21 – 22
  • GlueCon+CloudCamp, Broomfield, Colorado : May 22 – 24
  • RootCamp Berlin – Berlin Fair Grounds, Germany: May 25 – 26
  • SouthEast Linux Fest: June 8-10

If you see someone in the Euca gear, stop by and say hi.  We’ve got lots of cool new stuff to talk about.  :)


More Anaconda Custom Partitioning

We’ve been having a bit of a Anaconda custom partitioning UI thrown down the past couple of days in #anaconda to try to make some more progress on it.

You may recall, the direction we’d most recently taken the mockups involved a UI centered around the mount points that are / will be created on the system:

We hashed out some issues to address with this approach. Some we have addressed over the course of our discussion, some we haven’t. Here’s how it broke down:

Issue #1: If you have more than one mount point of the same type on the system, you have an odd name clash.

See, we let you select whatever hard drives / storage devices you want as part of the installation. Now, the drives you select may not be blank / nicely-formatted. Rather, they may have pre-existing OS installations on them, and some of those you might want to keep around – maybe you just want to install in the available empty space on the drive(s). The UI above assumes you’re only displaying mount points for one OS.

  • What if I have a Fedora 16 installation on a 1 TB disk that I want to keep around, and I just want to give Fedora 17 a try in my 500GB of free space on the same physical drive? Well, if I have my Fedora 16 partitioned with /, /home, /var, swap, etc., those mount points will show up in the left bar in the mockup right alongside the new /, /home, /var, etc. that I’m creating for my new install. Oops.
  • What if I want to blow away that Fedora 16 install and install Fedora 17 fresh in the same space? When those F16 mount points show up, how do I know if they are the F16 ones that I should delete/format, or if autopart already handled that and they are my new Fedora 17 ones?

So we thought through a few ways to accounts for this:

A dropdown between OSes

(Ignore the emblems, we were playing with them for another idea.)

It’s uncluttered since you only see one OS at a time. You know which OS you’re looking at so you know what the mount points are for. It’s not super-discoverable, though; it’s also a tad clunky visually – I’m not sure it’s very common to have a dropdown embedded in the left sidebar of a screen layout like this. Generally I don’t like dropdowns as a main navigation elements like this because I think they are physically harder to target than alternatives (a made more crystal clear to me than ever with spending the past week wearing a brace on the wrist of my primary hand. Sigh.)

So, meh.

A Nested Tree

You know, I’m sure there is a time and place for nested trees, but I try to avoid them like the plague. Depending on the implementation of course, sadly they often depend on targeting an area that is on average 12×12 pixels in size – not cool. Implemented properly, clicking either the [+] or [-] icon will toggle opening up a section of the tree, but this isn’t always possible. For example, in Nautilus’ list view, you can only click the [+] or [-] icon – clicking on the name of the folder opens up that folder fully in an icon view. Ick.

We didn’t bother mocking this one up. Don’t mean to hate on you nested tree luvas out there. If I’m nuts for this attitude, school me (*politely*) in the comments.

Ditching the system vs data labels and using those labels to demarcate OS

This one is pretty clean, but it will likely require a scrollbar. Also! It means the system vs. data slider up at the top will make a lot less sense and probably will need to be ditched as well. :-/

Cell-phone style nav of the mount point list

Yeah. I put this mockup in a subdirectory called ‘crackrock.’ I have actually never seen this done before (have you?) It seems like an interesting way to separate out the different OS mount point listings without using a tree view, but it’s kind of an odd pattern and would probably confuse people.

Accordion-style nav of the mount point list

This is the one that Chris is working on today. (Thanks ebassi for helping figure out how!) The Accordion menu is a common UI design pattern, and while for some installs it will require a scrollbar, I think it maybe solves the problems in the best manner here.

What do you think?

Issue #2: When do we do autopart?

David Lehman and I also talked about in which scenarios do we auto-partition a device for the user vs. let them decide what to do. If you have a disk with a contiguous chunk of space that meets the minimum space required for autopart, we *can* do autopart – it doesn’t require a completely formatted disk/device. We decided that we should allow you to autopart a disk and then customize it; you might want to use the autopart scheme as a guide to start from in your customizations.

One idea on the table is that instead of doing autopart on the free space that’s available by default, we’ll leave it blank and have an ‘empty list message’ that says something like, ‘you have no partitions; create some below or click here to have us create them for you.’

Here is a mockup showing this:

Issue #3: How can we make it less confusing to understand which partitions are getting wiped and which are safe / going to be left alone?

(Not sure on this one.)

I think we should think about what should the default behavior be – wipe it all and opt-in to preserving select partitions, leave everything alone and opt-in to wiping select partitions, or install side-by-side and leave what’s there alone.

One thing to consider is to have a flag users could set when they choose to disk to indicate that if it’s okay to wipe the whole thing, and by default preserve the data. Maybe? Or maybe use the settings (‘gear’ icon) in the custom partitioning screen’s left nav bar’s bottom to let them do this, although at this point we are speaking in terms of mount points/partitions and not devices so I believe this is too late.

Issue #4: Will we support mounting the same mountpoint from different OSes?

I think we decided not to support that since mounting the same home from different OSes is not an advisable thing to do. For example, if you have different versions of the same app sharing the same .config directory, odd things can go down. Mounting simpler stuff than /home, like a /srv across OSes/ is simple to do post-install so there isn’t a lot of advantage of doing it in the install. (And you could always script it if you wanted to in a kickstart post. Remember, at least the plan is to support inheriting settings from detected KS files when you use the Anaconda UI.)

Issue #5: Can people remove devices in the custom partitioning screen?

What if their disk is full and all they want is to reformat a root device and assign some mountpoints — no device removal/creation?

The two cases where someone ends up in custom part are:

  • (A) They opted in *before* the disk space reclaiming UI – they already had plenty of space so the space reclaim UI wasn’t offered up to them.
  • (B) They did disk reclaiming and still came up short.

Issue #5 here is clearly case B. To reformat a root device and assign mountpoints, they could one-by-one hit the ‘-’ icon in the bottom of the left sidebar in the custom partitioning screen to remove partitions from the device and re-add them. How do we know to format it? Should we always format if all partitions are removed from a device in our custom partitioner?

Issue #6: Is the intention that the interface will be pre-populated with all the filesystems on the devices selected for installation?

Yeh, I think it’s a good idea. If you had a disk/device you wanted to preserve the filesystem of in its entirety, you wouldn’t have selected it on the device selection screen. This means that if a device you selected has a filesystem present on it and you’ve made it as far as the custom partitioning screen, you either want to blow it away or keep it around. If you want to keep it around, you’re likely to be a bit anxious (especially with a re-vamped installer ;-) ) about whether or not the data is going to make it, especially if you are lazy like me and don’t do backups in this situation AS WE OF COURSE RECOMMEND THAT YOU ACTUALLY DO! (Do as I say, not as I do!!) To see that the data is there on screen I think maybe helps with this anxiety. Although to be honest, maybe thinking about storage this much has made me focus too much on anxiety-aversion. ;-)

But yeah, nobody wants their data to get blown away so I do believe being able to see it there safe and sound (maybe with some further reassuring indicator it won’t be touched – one idea is to grey out the options on it unless you explicitly say yeh I want to blow it away, see mockup below) is a good idea.

Thoughts?

So…

That’s where we’re at right now with the custom partitioning UI. Do note that the custom partitioning UI is opt-in only, except in the case where you don’t have enough space for install and the space reclaim UI wasn’t able to squeeze your filesystems small enough to make room. (And honestly in that case, it is too, although the default option in that scenario is ‘Sorry Charlie, time to quit the installer.’)

As you can see, we have a number of open issues or directions we’re starting to explore, so if you have thoughts, (polite) admonitions, or brilliant ideas, let us know in the comments! We also have these discussions very informally in #anaconda on irc.freenode.net, and your (polite) participation is certainly welcomed there.

OMG you’re redesigning the anaconda installer?

Yes!

(Polite Panda for Fedora 19?)

Warum Linux Scheiße ist

<iframe allowfullscreen="allowfullscreen" frameborder="0" height="402" src="http://www.youtube.com/embed/Sh-cnaJoGCw?fs=1&amp;feature=oembed" width="714"></iframe>

Auch wenn ich diese “Linux Action Show”-Pappnase Bryan Lunduke nicht mag, benennt er einige grundlegende Probleme des Linux-Ökosystems, speziell im Desktop-Bereich.

(via)

FUDCon Kuala Lumpur Day 1

I got up a little later than planned because it turns out that I am pretty jet-lagged after traveling for more than 24 hours. Nevertheless I managed to have breakfast before we had to leave. In front of the hotel, a shuttle bus was already waiting and quickly brought  us to the venue at UCTI. Everything is extremely well organized here, thanks to an outstanding job of the Malayan Fedora community.

Shuttle bus from the hotel to FUDCon venue

Shuttle bus from the hotel to FUDCon venue

When we arrived at the university, we quickly registered in order to get the vouchers for lunch and teatime. Because of the high number of registered participants, the vouchers are limited to 50 attendees (plus Fedora contributors and FUDCon volunteers) which are given away first come first served. While I’d love to pay just everything for everybody, it turns out that doing first come first served is very useful: Not later then 8:30 most attendees had shown up and registered, even if the official opening was not before  10:00 pm.

After a quick introduction and some announcements, I kicked of FUDCon with my keynote. I had mixed feelings because on the one hand I had to jump in for others, on the other hand I am proud to have the opportunity to speak to so many people.

Me giving the keynote

Me giving the keynote about "Leadership in leaderless organizations"

I didn’t want to start with something technical, but instead do something about community. My talk was about “Leadership in leaderless organizations”. Readers of The Starfish and the Spider probably know what I am talking about: Traditional leadership is – ideally – based on authority, elections or knowledge; In a less ideal world, it is based on birth, money or even fear. But none of these concepts work in an open system like FOSS in general and Fedora in particular as they don’t encourage participation. Still we do have leaders, but these people are not leading by any kind of formal authority but by example.

  • They don’t command, they guide.
  • They don’t demand, they encourage.
  • They don’t make rules, they help defining standards that people voluntarily subscribe to.

I finished my talk with a quote from an email Max sent me this morning:

“It may not always be pretty, and it may not always be easy, but
persistence wins.”

However the concept of open, decentralized organizations seemed completely alien to the majority of attendees. Most of them were students and only few have have worked in a FOSS project before. Nevertheless they were fascinated by the idea that something that chaotic can not only exist but be very successful. They had a lot of questions after I finished and we had a vital discussion before we started pitching the barcamp sessions

Pitching the batcamp sessions

Pitching the batcamp sessions

I was skeptic if it makes sense to have barcamps on the first day, but the idea was to not ‘waste’ talks because Friday was not supposed to be the most productive day anyway. Many people were not be able to attend on Friday and we had a long break after dinner (on Friday after dinner, people here go to the mosque). I still was skeptic when we started pitching, but it seems people were just afraid or ashamed of standing in front of an audience and making a proposal. Turns out I was wrong, and in the end we had so many sessions that we decided to go for slots of only 30 minutes.

FUDCon Barcamp schedule

FUDCon Kuala Lumpur barcamp schedule

I now think that starting the barcamps on the first day right after my keynote was a big win. We not only had a very interesting and productive day, we also had the perfect showcase for an open, autonomous and decentralized system: There was no leader, nobody made rules, yet we had no problems making decisions and respond to the problem of having too many talks. The open system always wins!

AFAICS the first day of FUDCon Kuala Lumpur was a big success. I am grateful to be here and I’d like to thank everybody who helped to make this happen. Stay tuned for more awesomeness from Kuala Lumpur!

Notes on Apple IR remotes reverse-engineering
In 2009, I wrote a driver to make the infra-red remote on my original MacBookAir work out-of-the-box on Linux. The driver was rejected upstream on the basis that the device would soon be supported through more generic means. In the meanwhile, it lived in Fedora's kernel tree, and I took some notes about implementing pairing, so that only your remote would work with your computer.

I'm posting this now because I wanted to poke at a MacOS X application today, and couldn't for the life of me remember the name of the program to monitor disk-activity. Hope this finds its way to a search engine near you.


  • Launched the System Preferences, Security, and unlock the panel.
  • In a terminal: sudo fs_usage -f filesys -w and check the output when enabling/disabling the remote.
  • We can see the modified file is /Library/Preferences/com.apple.driver.AppleIRController.plist
  • Installed PlistEditPro and opened the file up.
  • Now try to pair a remote (menu and next together)
  • You can see the UID value changing in the file. I named the remotes I had available to me:
    • New remote: UID = 145 
    • Old clean remote: UID = 24
    • Old dirty remote: UID = 227 
  • After adding some debug to the aforementioned appleir driver, in Linux, I got:
    • New remote: appleir: received (5 bytes) 25 87 e0 91 02
    • Old clean remote: appleir: received (5 bytes) 25 87 e0 18 03
    • Old dirty remote: appleir: received (5 bytes) 25 87 e0 e3 02
  • So the 4th byte is the remote's UID.
Now one could implement remote pairing using a sysfs attribute, a udev helper to apply the pairing across reboots, and PolicyKit helper to set and save the paired UID.

This will be left as an exercise to the reader :)
Fedora 17 em números — para nerds
Se você é como eu, gosta de números e estatísticas, então, prepare-se para saborear alguns números do Fedora 17: Related posts: Um menu melhor para o GNOME

Um blog sobre tecnologia, informática, ironia e desventuras na vida de um geek
FUDCon Kuala Lumpur 2012

It is wonderful to see the Fedora Users and Developers Conference kick off in Kuala Lumpur today, May 18 2012. The plan was for me to attend, do a keynote and also pitch a talk for the barcamp. But, Murphy was watching how everything was coming together and pulled the rug from under me on Wednesday. I experienced what I found out later to be “tennis calf”

The symptoms were 100% spot on; felt something hit my calf followed by a pull. Quickly arranged to visit a sports doctor and he advised me about what needs to be done and recommended that perhaps I should not travel for the next two to three days. Bummer. I was so looking forward to being among the Fedora community flying in from Europe, Australia, Vietnam, India, Sri Lanka, Bangladesh etc.

Among the things I wanted to talk about at FUDCon KL was the following:

  1. A demo of the plugable USB2.0 docking station that turns a Fedora 17 machine (server, desktop, laptop – does not matter) into a multi-seat Linux environment. I bought a pair from Amazon. I received it on Wednesday (shipped to Singapore via vpost.com.sg) and it worked exactly as stated – plug the USB to the laptop’s USB port, have a VGA monitor, USB keyboard and mouse plugged into the docking station, and viola, a fresh GNOME login screen. Amazing. You can even do an audio chat and watch streaming video via this setup. Really good stuff and kudos to the developers for main streaming the code into the Linux kernel and working with the Fedora devs to make this workable out of the box on Fedora 17.  What was really amazing from my point of view was the this works even when a machine is booted from a Fedora 17 LiveCD/USB. While this would suggest that the idea of the K12LTSP project is no longer needed, I think there are clear areas where they complement.
  2. My journey in OpenShift.redhat.com. I wanted to share my learnings about OpenShift and Git and all the associated stuff. More importantly, the fact that OpenShift is a technology that is being used for a 24-hour programming contest in Singapore called code::XteremeApps was important to share as well to encourage international participation in the contest.  I am hopeful that this blog post will trigger interest.

I guess all is not lost. The show has to go on and I am glad to have facilitated a lot of it.  But the main kudos has to go to the Malaysian Fedora Ambassadors who managed to pull this off in the 8 weeks when they were awarded the hosting rights!


Upgrading to latest Scientific Linux release

Scientific Linux was released a while ago. I'm still running 6.1. Time to update...

  1. yum -y --releasever=6.2 update

Done.

  1. $ cat /etc/system-release
  2. Scientific Linux release 6.2 (Carbon)
Yum: novas habilidades a caminho
Com certeza uma das coisas mais chatas no YUM (sistema de gerenciamento de pacotes baseado em RPM do Fedora/RedHat) é quando ele fica agarrado em uma tarefa e, simplesmente, não consegue fazer mais...

Um blog sobre tecnologia, informática, ironia e desventuras na vida de um geek
Red Hat and CVRF compatibility
The Common Vulnerability Reporting Framework (CVRF) is a way to share information about security updates in an XML machine-readable format. CVRF 1.1 got released this week and over at Red Hat we've started publishing our security advisories in CVRF format.

Find out more from our FAQ and formatting guide.

eject(1), sulogin(1), wdctl(1)
The commands eject(1) and sulogin(1) have been merged into util-linux upstream.

eject(1)

The original eject(1) upstream is inactive for more than 4 years, but the command is actively used by many users and it's also used by system components like udisks. The command has been completely rewritten (by Michal Luscon and me). Changes:
  • linked with libmount
  • device may be addressed by UUID or LABEL
  • partition name is always converted to whole-disk device name to avoid eject SCSI ioctls on partition devices
  • uses /sys to get list of all partitions (all partitions are unmounted before eject)
  • patches from distributions (mostly Fedora) have been merged
  • code is about 1/3 shorter
Note that users who depend on the command volname(1) from the original eject package have to use
  blkid -p -o value -s LABEL device. 
sulogin(1)
 
util-linux and systemd upstreams ambition is to move initd independent commands to the generic util-linux package and minimize number of packages required for basic system.

We merged mountpoint(1) from sysvinit-tools into util-linux two releases ago, and sulogin(1) now. The command sulogin(1) is like login(1) but it's used in single user mode to supply the root password before a shell is started. The nice advantage is that we maintain login(1) and agetty(1) in the same source tree so we can share code and coordinate development.

wdctl(1)
 
wdctl(1) is a new small util that will be available in util-linux-2.22. The 'wd' means watchdog (unfortunately 'watchdog' is name already used for watchdog daemon, so we cannot use this name for command line util...).

wdctl(1) prints the current watchdog setting (flags), watchdog identity information and timeouts.

Default output:
  # wdctl                
Identity: iTCO_wdt [version 0]
Timeout: 30 seconds
Timeleft: 2 seconds

FLAG DESCRIPTION STATUS BOOT-STATUS
KEEPALIVEPING Keep alive ping reply 0 0
MAGICCLOSE Supports magic close char 0 0
SETTIMEOUT Set timeout (in seconds) 0 0

or in script:
  KEEPALIVEPING=$(wdctl -ITnr -f KEEPALIVEPING -o STATUS)

Thanks to Lennart Poettering who provided the first prototype.
qemu-img diff

This patch I posted yesterday needs some reviews! It adds a qemu-img “diff” subcommand. One use for this is for when you’ve copied/cloned a guest, and you want to go back to a thin-provisioned guest over a base image.

To show it in action, we can use virt-ls. Firstly I’ll start with a Windows 2003 guest which I’ll copy:

$ xzcat /mnt/media/guest-library/win2003.img.xz > base.img
$ cp base.img copy.img

At this point, I boot copy.img, log in and install the Windows updates, just so the guest has some changes over the base image.

Now I have two 6 GB files**, but I know that they’re very similar to each other:

$ ll -h
total 6.9G
-rw-rw-r--. 1 rjones rjones 6.0G May 18 11:26 base.img
-rw-rw-r--. 1 rjones rjones 6.0G May 18 11:42 copy.img

I could save some space here using qemu-img diff!

$ ~/d/qemu/qemu-img diff -b base.img copy.img diff.qcow2
Formatting 'diff.qcow2', fmt=qcow2 size=6442450944 backing_file='base.img' encryption=off cluster_size=65536 
$ ll -h
total 7.2G
-rw-rw-r--. 1 rjones rjones 6.0G May 18 11:26 base.img
-rw-rw-r--. 1 rjones rjones 6.0G May 18 11:42 copy.img
-rw-r--r--. 1 rjones rjones 308M May 18 11:44 diff.qcow2

copy.img is no longer needed because base.img + diff.qcow2 contains the same data. Before we delete it, let’s check that using virt-ls*:

$ virt-ls -lR -a base.img --checksum / > base.files
$ virt-ls -lR -a copy.img --checksum / > copy.files
$ virt-ls -lR -a diff.qcow2 --checksum / > diff.files

Note we expect that “base” is different from the other two, but “copy” and “diff” should be identical if all went well:

$ md5sum *.files
bef46650ff6f2d3f22f562c2a820230f  base.files
fc723e43a9c16bffd6a9fb7dfd701752  copy.files
fc723e43a9c16bffd6a9fb7dfd701752  diff.files

So we can now in confidence delete copy.img.

* = Note there is a bug which stops --checksum from working in released versions of virt-ls.

** = The eagle-eyed will spot that I don’t in fact have two 6 GB files, because cp has cleverly made the copy sparse, Nevertheless qemu-img diff still saves space.


systemd for Administrators, Part XIII

Here's the thirteenth installment of my ongoing series on systemd for Administrators:

Log and Service Status

This one is a short episode. One of the most commonly used commands on a systemd system is systemctl status which may be used to determine the status of a service (or other unit). It always has been a valuable tool to figure out the processes, runtime information and other meta data of a daemon running on the system.

With Fedora 17 we introduced the journal, our new logging scheme that provides structured, indexed and reliable logging on systemd systems, while providing a certain degree of compatibility with classic syslog implementations. The original reason we started to work on the journal was one specific feature idea, that to the outsider might appear simple but without the journal is difficult and inefficient to implement: along with the output of systemctl status we wanted to show the last 10 log messages of the daemon. Log data is some of the most essential bits of information we have on the status of a service. Hence it it is an obvious choice to show next to the general status of the service.

And now to make it short: at the same time as we integrated the journal into systemd and Fedora we also hooked up systemctl with it. Here's an example output:

$ systemctl status avahi-daemon.service
avahi-daemon.service - Avahi mDNS/DNS-SD Stack
	  Loaded: loaded (/usr/lib/systemd/system/avahi-daemon.service; enabled)
	  Active: active (running) since Fri, 18 May 2012 12:27:37 +0200; 14s ago
	Main PID: 8216 (avahi-daemon)
	  Status: "avahi-daemon 0.6.30 starting up."
	  CGroup: name=systemd:/system/avahi-daemon.service
		  ├ 8216 avahi-daemon: running [omega.local]
		  └ 8217 avahi-daemon: chroot helper

May 18 12:27:37 omega avahi-daemon[8216]: Joining mDNS multicast group on interface eth1.IPv4 with address 172.31.0.52.
May 18 12:27:37 omega avahi-daemon[8216]: New relevant interface eth1.IPv4 for mDNS.
May 18 12:27:37 omega avahi-daemon[8216]: Network interface enumeration completed.
May 18 12:27:37 omega avahi-daemon[8216]: Registering new address record for 192.168.122.1 on virbr0.IPv4.
May 18 12:27:37 omega avahi-daemon[8216]: Registering new address record for fd00::e269:95ff:fe87:e282 on eth1.*.
May 18 12:27:37 omega avahi-daemon[8216]: Registering new address record for 172.31.0.52 on eth1.IPv4.
May 18 12:27:37 omega avahi-daemon[8216]: Registering HINFO record with values 'X86_64'/'LINUX'.
May 18 12:27:38 omega avahi-daemon[8216]: Server startup complete. Host name is omega.local. Local service cookie is 3555095952.
May 18 12:27:38 omega avahi-daemon[8216]: Service "omega" (/services/ssh.service) successfully established.
May 18 12:27:38 omega avahi-daemon[8216]: Service "omega" (/services/sftp-ssh.service) successfully established.

This, of course, shows the status of everybody's favourite mDNS/DNS-SD daemon with a list of its processes, along with -- as promised -- the 10 most recent log lines. Mission accomplished!

There are a couple of switches available to alter the output slightly and adjust it to your needs. The two most interesting switches are -f to enable follow mode (as in tail -f) and -n to change the number of lines to show (you guessed it, as in tail -n).

The log data shown comes from three sources: everything any of the daemon's processes logged with libc's syslog() call, everything submitted using the native Journal API, plus everything any of the daemon's processes logged to STDOUT or STDERR. In short: everything the daemon generates as log data is collected, properly interleaved and shown in the same format.

And that's it already for today. It's a very simple feature, but an immensely useful one for every administrator. One of the kind "Why didn't we already do this 15 years ago?".

Stay tuned for the next installment!

Fun Fact: I’m not dead.

 

I don't mean any offense.. Not that there are any reports of my death..

I have disappeared since December last year, I essentially removed myself from the Fedora community and from the wider community. This is because I have depression.

Depression is a serious clinical illness which involves the serotonin levels in the brain. Basically if you have depression, your brain is under utilizing the serotonin avaliable to it or your brain is not producing enough. Now i’m not going to ask you to click the advertisment on this page, nor am I going to ask you for your condolences and whatnot. I just believe that I should remain honest to the community.

What I try not to do. Credit: xkcd.com

I am really deeply sorry I didn’t effectively communciate to the Fedora Community and especially to the APAC Community as to why I disappeared. I still have yet to send the OLPC, and I will get onto that when I can. (Sorry Bckurera!!! :S!)

Anyway, I’m am taking a break from the Fedora Ambassadors Program. I will probably be back at the end of this year.

I can not wait to install beefy miracle, and it truly is a miracle we had that name approved! Well done Meat SIG!!! =)

Azneita: Thankyou for mentoring me in the ways of Fedora Ambassadors.
Dramsey, Thankyou for being so encouraging all the time.
Tuan; Thanks for being awesome! I love what you do in Vietnam.
LCafiero, inode0, bckurera and everyone in the APAC Community, thank you for spreading this amazing operating system.

Hopefully I’ll be back soon.

Peace,
LMartinez.

Day 1 of FUDCON KL 2012

Getting up early in the morning, eating breakfast while sleeping is the most common thing of every event’s day 1. It was exactly the same, but we managed to start from the hotel to the FUDCon venue on time. The registration desk was already opened. We slowly moved into Audi 3 for the keynote by Christoph Wickert

After the keynote people put up the talks they wanted to do in the barcamp and they started talking from 2:30pm (after lunch).
In between I met Joshua Wulf for the first time. 
While discussing about lekhonee-gnome with Ankur, we figured out that the latest build failed in F17 and I was trying to fix it. Suddenly someone from the left of my seat asked me to use pkgconfig in the spec file to find the gee-1.0 dependency and voila, it worked like magic. Before I could ask his name, he said very gently to me that he is the maintainer of vala and gee :)
i think this is the main reason people should come over to an event like FUDCon, meeting people in real and learn from them is always useful.
I did a small session on “Fedora for students” and tried to explain the advantages students can get while working on FOSS projects and Fedora in particular. I also attended Christoph’s talk on “Improving Collaboration with other Open Source projects” and we discussed how things can go ahead for a project like darkserver
Rocketry Hacks 3 -- Level 1 certification and the Nike Smoke Build

Tales from the Flight Log

Spring flight season is over, since it’s now over 9000 degrees farenheit in the great deserts of Arizona. We’re making a plan to head out to BALLS this year, but that’s not until September, and I won’t be launching then, so there is plenty of time to rebuild the Arcas and see what else we can put together on the Smoke.

Arcas HV

Flight 1

  • April 25, 2012
  • CTI I170-13, 3 grain Cesaroni Pro38
  • Successful Level 1 Certification
  • Predicted Apogee: 4300ft
  • Actual Apogee: 3000ft (Estimate)

Certification flight, sponsored by Geoffrey Kerbel of SSS. Preparation on site with replacement rail guides and friction fitting of nosecone and body tubes. Launched with Geoffrey’s electronics.

Successful event at a guess of 3000 feet (4300 feet predicted by OpenRocket)

High level winds blew it to the east 0.75 miles for recovery. Recovered successfully with minimal damage:

  • Two fins popped loose on landing

Geoffrey deemed it safe to fly again, since the only damage was repairable on-site with 15 minute epoxy, NAR level 1 certification achieved.

Repair 1

Summer rebuild.

  • Rebuild lower body tube:
  • Removed all four fins
  • Sanded and cleaned them up before re-attaching them.

  • Began research on electronics install and/or dual deploy design.
  • Began research and testing of paint designs.

Nike Smoke

Prelaunch Preparation

  • Measured and designed in OpenRocket
    • .ork file available here

Began some limited research in to converting the Smoke in to a dual deploy. * Rocket is too stubby for dual deploy to be completely feasible * Limited room for both drogue shoot and motor to justify needing a dual-deploy

Shopped for motors. It’s a 54mm mount, I currently own a 3-grain Cesaroni Pro38. As far as I can tell, as a result, our best choices are:

CTI 3-Grain 38mm Motors

This is our cheapest option. We have a CTI 3-Grain Pro38, so we’d just need a 54-38mm motor mount adapter, which is like 15$ from whatsuphobbies.

They’re aren’t overtly exciting, about the same apogee as the Arcas achieved on the same motors. They’re about 40$ a pop, and that’s pretty reasonable to get this thing up in the air.

CTI 5-Grain 38mm Motors

This is the border between Level 1 and Level 2 and aren’t much more expensive than the 3-Grain rockets. 5-Grain 38mm contains a lot of really interesting combinations, such as everyone’s favorite the CTI I540-WT and a few Level 2 rockets like the CTI J270-G.

That J270 is probably a good, cheap candidate for a Level 2 certification.

CTI 3-Grain 54mm Motors

This will require me to get an NAR level 2 certification, since all 3-grain 54mm are either a J or K impulse. They’re also a lot more expensive. They also go three times higher than 3-Grain 38mm Motors. It’s also supersonic.

  • CIT J1520
    • Apogee: 1212m
    • This would probably be a good 54mm Level 2 certification flight.
  • CIT J295
    • Apogee: 1617m
  • CTI K360
    • Apogee: 1484m
Home-made 4WD rooftop awning
This article describes how to build your own rooftop awning. I recommend that if you do want an awning, purchase one from a store. They have come down in price considerably since I built mine. If you do go ahead, make sure to check with your local transportation authority and check whether such a device is legal in your country/state.

Anyway, let's start. A while ago I wanted a rooftop awning but I didn't want to pay that much money. In Australia, these awnings go for several hundred dollars, and the small ones are indeed quite small. So I built my own, instructions are below. This is how it looks like:


Sometimes it's a tough life...

The ingredients are:
  • tarp with metal eyelets. IIRC mine is 2.4 x 3.0m (similar one)
  • 3m 25x25mm aluminium square tube (or width of tarp otherwise)
  • Two plastic caps for the square tube
  • Four 1.5 inch 3/8 bolts + nuts + washers
  • Four 2 inch 3/8 bolts + nuts + washers
  • Four poles, one crossbar, ropes, pegs
  • Wide (~5cm) velcro, 1 m is sufficient (makes 3 strips)

Most of the stuff I got from Bunnings, the poles from the camping store and the velcro from a textile store next to the BCF at Cannon Hill.

The basic design is simple. The tarp is held onto the square tube by a bunch of vertical bolts - one per tarp eyelet. The crossbar, which is too long for my tray, is held in place by two horizontal bolts, on the inside (towards the car). The tarp is folded in half, then rolled up and held in place by three strips of velcro.

Tarp when rolled up for transport.

I have Rhino Rack Aero bars and the bolts I got had a head exactly the size of the groove. So I don't need mountings, I simply push the screw into the groove, then sit the awning on it and tighten the nut up the top. And, second time lucky, the eyelets are the distance of my roof racks, so I don't have to do anything there either.


The bolt fits exactly into the groove - lucky me :)
Obscured by the rolled-up tarp is the top end of the bolt - simply a washer and a nut.

Assembly instructions


Drill a hole a few cm in from one ond of the square tube. Now take a bolt and nut, screw the tarp's corner to the tube. Stretch it to the other end, drill another hole, bolt, nut, done. The tarp should be tightly stretched. Now mark each eyelets in the middle for more holes. Take the tarp off, drill the remaining holes, then saw the excess square tube off.

Bolt shown from the side

As said above, my roof racks are exactly the distance of the eyelets, so I don't need extra mountings. The professional awnings have an L-shaped attachment that goes into the roof racks and the awning then hangs off the side. This photo shows the attachment, the same should be possible on this home-made model.


The final bit are two horizontal drillings through the tube. They are for mounting the crossbar next to the tube. I transport the four poles, the ropes and the pegs in the tray.

Crossbar mount. The bolt is horizontal when mounted.

The front bit of the rolled-up awning, taken from the other side of the car, showing the crossbar mount.

Setting it up is simple enough, though it does require 2 people. It takes a few minutes to set up, a few minutes to pack up again. If the tarp gives up, I can (hopefully) buy another one and replace it.

Costs for me was just over AUD 100, including the crossbar and the poles. If you already have those, you're obviously able to build it for much less.

Side notes

As I have the handyman's knowledge of a five-year-old, I did a few things wrong. First, Bunnings sells bolts in imperial and metric. Had I known that, I'd have bought metric screws. I ended up just getting the first set that matched the size I needed. The metric section was a few metres further down the aisle.

The first set of (round capped) nuts wasn't galvanised and started rusting (you can see it in the photos). Haven't been able to find galvanised ones for the imperial bolts, so I've since replaced them with galvanised normal nuts.

Pros and Cons

  • It's freaking awesome! Having a shady spot next to the car wherever you roll up is great!
  • The awning is big. Not much of an issue once it's mounted but it's pretty unwieldy in the garage.
  • The surface area covered is perfect for two people and a table, so no issues there.
  • The awning is not free-standing. I believe the commercial models are, but this one needs to be pegged down. Which means that moving the car once it's set up is a no-go, you have to tear it down.
  • The way I roll it results in rain collecting in the rolled-up tarp. I could roll it the other way, but that's a bit awkward. No big issue though, except after a good rain when you break at the first set of lights, a few litres of water will run down your windscreen :)
  • I can't yet claim how it will hold up in a typical Queensland wind or thunderstorm. I think it will be alright, but so far I've only had it up during light winds and light rain.
FUDCon Kuala Lumpur Day 0

After a pretty long journey to Kuala Lumpur I finally arrived and checked in at the hotel. I met Tuan and Izhar. We went to the venue at the UCTI. I was glad to see that Izhar had a lot of volunteers helping him and everybody was busy preparing stuff.

FUDCon volunteers

FUDCon volunteers busy working

Goodie bags

Bags with goodies

We were not able to finish as the building was being closed at 9:30 pm and we had to leave. We decided to declare the biggest room in the Hotel the “Crew room” and continue working there. I did not join because there was not much I could help with and instead, I joined some of the volunteers for dinner. We had a good time sitting outside a nice restaurant. When I looked at my watch is was nearly midnight and I was happy that we left a little later. After the long journey I was pretty jet-lagged and I still wanted to blog and tweak the slides the slides for my keynote. I’ll let you know how it went.

Best wishes to our friends at FUDCon: Kuala Lumpur.

It continues to delight me to see the investments in our APAC region FUDCons pay off in terms of attendance.  Much like FUDCon: Pune late last year, Kuala Lumpur’s attendance — at more than 400 registrants — is just huge, and is a testament not only to the desire to learn about free and open source software in the region, but also to the excellent planning capabilities of the local FUDCon team in Kuala Lumpur.

I’m sad that I can’t be in attendance at this event, but one of the amazing things about FUDCon is that they are truly designed to be shared with the worldwide Fedora community.  I know we are all looking forward to seeing your blog posts throughout the event and social media interactions, and I’m particularly excited by the enthusiasm I have seen for some real time projects, such as the crowd-sourced FUDCon book.  And don’t forget about the #fedora-fudcon channel on IRC – it’s not just a great place to interact with folks onsite, but those of us who are at home as well.

Christoph Wickert, awesome as always, is giving the keynote talk this morning — I am sure that he will have incredibly interesting and inspiring things to say, and I know that the wisdom of his Fedora experiences will be shared with you not just during his talk, but throughout the course of the weekend – and many others of you will do the same as well. FUDCon, in many ways, is truly about sharing – sharing our experiences, our knowledge, our future plans, and a few drinks – be they beer or tea or otherwise – and I hope that everyone makes the best of their shared time together in Kuala Lumpur.  There is a large audience present — let’s be sure to send them home with some great knowledge about free and open source software, a good feeling from a positive experience, and the invitation to come and participate in the Fedora Project if they have never done so before.

Give your hosts a round of applause.  They deserve it!

My best to everyone there.  I hope you all have a lovely time. :)


May 17, 2012

Rilis Fedora 17 mundur satu minggu

Setelah meeting Go/No-Go beberapa jam yang lalu. Rilis Fedora 17 mundur satu minggu, dari 22 Mei menjadi 29 Mei.

Link:

Jadwal rilisFinal Release Blockers

 

Management skills

I’ve held more than a few positions in my career and I feel that I’ve collected several bits of things should never do.  Here are a few:

  • A manager should balance the needs of the company with the needs of the employee.  Never ask an employee to work an extra day, and thus have the employee loose a day of his weekend, just because the company is shifting the employee’s work week around.  If the company is making the change then it should be up to the company to eat the missed time.
  • An employee should never have to justify asking for assistance with a problem.  If you are the manager of a group where your employees can’t simply ask a question and get an answer without having snide remarks in reply or have to justify the need to ask the question in the first place then you have a problem.
  • Actually listen to your employees.  As much as people think business is top-down ruling if you piss off enough people at the bottom you’re going to have a problem.  Think you have a good team working for you?  Don’t want to lose any of the brain-trust that you’ve built up?  Better open your ears and make working in that team something they won’t want to walk away from.
  • Money does not motivate everyone.  That’s not to say that money isn’t a motivator but when it comes down to it do you really want someone working for you if they are only going to do a good enough job to get paid?  Personally, I’d much prefer to pay someone good money who wanted to be there anyway.  At least that way you know their work and dedication will be tops and you’ll pay them well so they won’t have to even consider going elsewhere.  And if you think you have people that you’re paying that would rather be elsewhere then you had better figure out how to excite them or you’re liable to loose them.
  • Don’t hide in your office.  Leading from the front and being a part of what’s happening not only improves your leadership skills but also lets you see what’s actually happening.  It’s a good thing to get your hands dirty every so often.
  • Make time for your employees.  I once worked for a guy who was constantly on the phone.  You could hardly get five minutes to shoot the breeze or ask a work question because he was constantly being pulled in different directions by meeting and phone calls.  Don’t get me started on his email in-box, either.  A few times a week, especially when he knew he’d been out of touch with his people, he’d go around and spend fifteen minutes or so with everyone just to make sure everything was working well and there were no problems that needed to be dealt with.  He also treated us with ice cream!  Even though he was busy he’d make sure to spend some time with everyone.
  • Trust your employees and what they think and say.  Don’t believe or agree with what’s being said?  Have you actually talked to your employees and understand why they have come to a different conclusion?
  • Handing off management of a task to a subordinate is not failing as a manager, it’s called delegation.
  • Praise in public, correct in private.

There are many others but this is what comes to mind right off hand.  What are some that I’ve missed?


Fedora Ambassadors Welcome Week 20/2012
we are happy to welcome our new Fedora Ambassadors



https://fedoraproject.org/wiki/User:Vicodan from the USA mentored by Mark Terranova

https://fedoraproject.org/wiki/User:Drlinux34 from Peru mentored by Daniel Bruno

and welcome back
https://fedoraproject.org/wiki/User:Lmvaz from Brazil mentored by Daniel Bruno
f17 distro-sync gotchas

As I noted recently ( Fedora 17 and updates-testing ) In the run up to Fedora 17 release, the updates-testing repo has been disabled. If you are wanting to use ‘yum distro-sync’ to sync your pre-release machine up to stable updates/base repo packages only, there’s a few gotchas you might run into:

  • First the fftw package decided to reorg how it’s subpackages were setup. (IMHO not a great idea right before release). The version in updates-testing is one libs package, but the base version is a bunch more subpackages.
  • Next you may run into colord-gtk issues. colord grew a new colord-gtk subpackage (IMHO not a great change right before a release either).

To work around these, try:

yum shell
remove colord-gtk
remove fftw-libs-double fftw-libs-long fftw-libs-quad fftw-libs-single
downgrade colord
downgrade fftw-libs
distro-sync

I’ll try and update this post with any more of these I find… feedback welcome.

Updated Wireshark packages for RHEL-6 and Fedora-17 available for testing
[From an email to the gluster-devel mailinglist] 
 
today I have merged support for GlusterFS 3.2 and 3.3 into one Wireshark 
'dissector'. The packages with date 20120516 in the version support both
the current stable 3.2.x version, and the latest 3.3.0qa41. Older 3.3.0
versions will likely have issues due to some changes in the RPC-AUTH
protocol used. Updating to the latest qa41 release (or newer) is
recommended anyway. I do not expect that we'll add support for earlier
3.3.0 releases.

My repository with packages for RHEL-6 and Fedora-17 contains a .repo
file for yum (save it in /etc/yum.repos.d):
- http://repos.fedorapeople.org/repos/devos/wireshark-gluster/

RPMs for other Fedora or RHEL versions can be provided on request. Let
me know if you need an other version (or architecture).

Single patches for some different Wireshark versions are available from
https://github.com/nixpanic/gluster-wireshark.

A full history of commits can be found here:
- https://github.com/nixpanic/gluster-wireshark-1.4/commits/master/
(Support for GlusterFS 3.3 was added by Akhila and Shree, thanks!)

Please test and report success and problems, file a issues on github:
https://github.com/nixpanic/gluster-wireshark-1.4/issues
Some functionality is still missing, but with the current status, it
should be good for most analysing already. With more issues filed, it
makes it easier to track what items are important.

Of course, you can also respond to this email and give feedback :-)

After some more cleanup of the code, this dissector will be passed on
for review and inclusion in the upstream Wireshark project. Some more
testing results is therefore much appreciated.
liberate your cloud data

Fosscomm just ended and this post is just a placeholder for my Saturday speech about available Free Software solutions out there that can be used for self-hosted cloud services. Let’s get control over our data :)

Full presentation: pdf

flattr this!

The Osepa project

A small video presentation about the Osepa (Open-Source for European Public Administrations) project. Currently I participate in the project as an Open-Source expert on behalf of the leading partner KEDE (the Greek Central Association of Municipalities).

On March 28-29 the 2nd Osepa conference will take place on Jihlava (~130km from Prague) of Czech Republic.

<iframe frameborder="0" height="360" src="http://www.youtube.com/embed/Vo8rTO9IH24?wmode=opaque" width="640"></iframe>

flattr this!

How To Distribute SCAP Content

We know where to get an SCAP content and how to scan a machine with Spacewalk. But what is the best way to distribute the content to machines?

The answer is the RPM. (Assuming infrastucture managed by Spacewalk).

If you don't believe me, here is what I think. First of all, we have traditional distribution methods: CD, USB stick, scp, ftp, nfs, but each of them is dependent on something, either on physical acces to machine (CD, USB) or a particular software installed & running (scp, ftp, nfs, ...). Either requirement may not be met, consider a cloud or somewhat secured environment. Another option to use Spacewalk and create a script which downloads the content, and then schedule the script through Spacewalk. Well, the first thing the security department turns off is Spacewalk's remote scripting. Note that neither of these methods handles (by default) versioning, integrity, nor confidentiality.

Further, Spacewalk offers the concept of configuration files. It allows you to manage & deploy files on target machine through Spacewalk web interface. It can handle versioning and confidentiality of the content. And the process can be even automated with Spacewalk's API. However, the clients must have rhncfg* packages installed. And it might be again security requirement to not allow remote configuration management.

The RPM, on the other hand, is always present on Fedora-based systems. RPM package can be signed. RPM brings file permission (even 000 if needed). Installed RPM can be verified (rpm -V), which checks the integrity of files using SHA256 and file permissions. Moreover, with RPM you can can bring in (even custom) SELinux context. And the best is the integration of RPM in Spacewalk. For example, with Spacewalk you can schedule following actions: Install my-scap-content package. Execute scan. Verify the package. Remove it again.

I am attaching a template spec file, which can be used for an SCAP content distibution. As an example it builds from USGCB RHEL5 Desktop Baseline. scap-content-USGCB-rhel5desktop.spec.

Kindergarden Linux

I get approached with the classic question "will Fedora X (16 in this case) run on my PC?" Sure, why not, the user has a P4 class computer with enough RAM. Then the next question, equally classic "what should I run, 16 or Ubuntu 11.10? or any other alternative?". My honest answer is as a Fedora contributor I obviously prefer Fedora, but the best distro may depend on the user's needs. Time to learn he does Ruby programming and some internet navigation. Then I guess trying a live image can't hurt and the ultimate choice, as as a desktop user, would be drawn from the desktop environment: Unity/Gnome Shell/KDE/Xfce.

But it seems me saying "contributor" triggered a "last question", "what means being a contributor to Fedora?" and then I expand, talking to various types of contributions, from packaging to programming or administration, drop a link to the join page and so on. After we clear the part about money (Fedora is Free project based on volunteering) I get another one, about the age limit... and learn my interlocutor is 13. Well, he can be a contributor, we had and have other underage contributors, but he has to understand the consequences of using a Free license and his parents must allow it. He things translations may be a good starting point. And may do some design, based on previous experience with Illustrator and Photoshop.

After a short "what is better, Linux or Windows?" (it depends on your needs, freedom versus Diablo III) there is one more issue, the actual install, even if is just running a live image (he prefers CD over USB, despite my arguments for the contrary). So I have to give an explanation about what a live image is, how a device will be booted and won't affect the installed system, even what BIOS is and how you change the boot order (he never entered the BIOS setup before). All while insistently asked for my phone number, which I refuse to give away.

Fast forward one day, it seems like trying Fedora 16 Live was a failure: he gets a wallpaper and a mouse cursor, nothing else. I am showing a random screenshot from the web, trying to understand if he has a normal GNOME Shell empty desktop or is a deeper problem and this drives me to a large explanation on what GNOME, Unity, KDE, Xfce, LXDE are (and a statement of my desktop preference). I am asked again about my phone number and ignore the question. Then he wants to give Ubuntu a try, I don't have a problem with that but he has: the same empty desktop with no panel, no right-click menus, no nothing. If is not the display, then it may be video drivers (ATI), so I recommend either a newer Fedora (F17 RC1 is online) or VESA parameters for boot (me blaming AMD).

But this will happen another another day, today he has an important math test at school. Not before being asked again for my phone number (no, I won't be available this evening and in the week-end will be away in a photography trip) and since the download folder for F17 RC1 isos have two files, Desktop and KDE, I am supposed to recommend one. I can't, so I am ambiguous. To be continued.

Speaking about phone numbers, is not wise to give them easily... I gave my number recently to an another possible contributor under promise it will be used only for emergency (he's slightly older, at the age of 16, and a bit more experienced, with actually having run Ubuntu and Fedora before) and now I am called even for spam alerts or Deep Freeze problems, no matter the hour or the day.

PS: I am not even an Ambassador

mysql-workbench-5.2.40

MySQL Worbench, the modeling, development and administration graphical tool for MySQL databases is now available as 5.2.40 (GA = stable). RPM for fedora and Enterprise Linux 6 are available in remi repository.

Read the Changes in MySQL Workbench 5.2.40. RPM are available in my repository for fedora 13 to 17 and Enterprise Linux 6 (RHEL, CentOS, ...) As always : yum --enablerepo=remi install mysql-workbench Of course, it was build with mysql-5.5.24. This build still doesn't use the system mysql-connector-c++, because the bundled version includes not... Lire mysql-workbench-5.2.40

Fedora 17 中的 KDE Plasma 桌面小程序自动依赖解决

包含大量创新性功能的 Fedora 17 也不会忘记 KDE 用户群体,率先实现了 KDE Plasma 桌面小程序控件的依赖关系自动解决。

Plasma 桌面小程序具有两种不同的形式:

  • 使用 C++ 撰写的小程序只能通过发行版打包或者自己编译的方式安装。
  • 使用各式脚本语言并遵循开放互联服务标准(OCS)的可以通过 Plasma 内置的下载对话框进行安装和管理。

为了实现小程序的正常运行,又有两方面的东西需要安装:

  • 脚本引擎:如果小程序是用脚本语言编写,那么对应语言的脚本引擎是必需品,否则小程序将抛错拒绝工作。
  • 数据引擎:各种提供应用程序所需要的数据内容的组件,若是没有则小程序运行异常。

目前各类发行版对于以上这些问题的处理方式有:

  • 仓库中的小程序由发行版打包者人工处理依赖关系,但是问题是工作量巨大且容易出错。
  • 对于互联网提供的诸多小程序则完全交由最终用户去解决依赖关系问题,不可避免会遇到很多异常和抛错。

在 Fedora 17 中通过 KPackageKit/Apper 与 KDE 上游社区的合作,三种途径同时发力去解决 Plasma 的依赖关系

  • 上游要求 Plasma 小程序在元数据中明确指定依赖关系。
  • 安装过程中 KPackageKit/Apper 从源代码中抓取依赖关系。
  • 在小程序运行时再下载所缺失的依赖关系。

于是乎 Fedora 17 KDE 的用户将从此告别 Plasma 小程序依赖关系所带来的烦心问题了。

秉承 Fedora 一贯坚持的上游紧密合作传统,该功能已经合并入上游,很快所有使用 PackageKit 的 KDE 发行版都将可以享受到它带来的便利(使用 aptdaemon 的 Kubuntu 于此无缘)。

该功能详细说明

分类: Desktop Stuff, News | 永久链接 | 收藏到 del.icio.us | Email 给好友 | 1 评论 | 捐助本站

Test Day time again: GNOME Boxes

We interrupt our frantic Fedora 17 validation briefly to bring you the news that it’s GNOME Boxes Test Day today in #fedora-test-day on Freenode IRC. Boxes is the new GNOME application that acts as a front end to virtual machines and to graphical remote machine connections (e.g. VNC). As it’s new it needs lots of testing, so please stop by and help out if you have a chance!

All the instructions for testing and downloadables are on the Wiki page, and you can join #fedora-test-day on IRC to chat with other testers and members of the Boxes team. If you’re not a regular IRC user, read these instructions or just click on this WebIRC link. Thanks!

Getting Started With Git

I have been using Git for years now and I am still a novice user. Actually, if you are an individual developer or work in a really small team, you don’t really need to go beyond using the basic stuff like cloning a repo, committing code, branching and pushing back to the origin repo. And that’s exactly what happened with me. Working alone most of the times and working in my own repos. I never felt the need to explore advanced usage.

Last week, we didn’t have internet at home for like four days. So, I thought I’ll read a book. I downloaded ProGit : The Free Git Book and started reading. It’s an awesomely written book. I learned a lot of new things about Git. A few more concept about using branches efficiently. If you are a Git beginner or looking forward to getting started with Git and you don’t like reading too much, I’ll suggest that you read at least first three chapters thoroughly. That along with a free GitHub account should be enough to get you going if you are not going to be a heavy Git user soon.

Fedora Tutorials and Videocache by Kulbir Saini.

kernel weekly news – 19.05.2012

-Takashi Iwai has sound fixes for -rc7, David Miller updates SPARC,
Greg Ungerer has m68knommu fixes and Paul E. McKenney has some
RCU commits for 3.5:

The major features of this series are:

1. A set of improvements and fixes to the RCU_FAST_NO_HZ feature
(with more on the way for 3.6). Posted to LKML:
https://lkml.org/lkml/2012/4/23/324 (commits 1-3 and 5),
https://lkml.org/lkml/2012/4/16/611 (commit 4),
https://lkml.org/lkml/2012/4/30/390 (commit 6), and
https://lkml.org/lkml/2012/5/4/410 (commit 7, combined with
the other commits for the convenience of the tester).
2. Changes to make rcu_barrier() avoid disrupting execution of CPUs
that have no RCU callbacks. Posted to LKML:

https://lkml.org/lkml/2012/4/23/322.

3. A couple of commits that improve the efficiency of the interaction
between preemptible RCU and the scheduler, these two being all
that survived an abortive attempt to allow preemptible RCU’s
__rcu_read_lock() to be inlined. The full set was posted to
LKML at https://lkml.org/lkml/2012/4/14/143, and the first and
third patches of that set remain.
4. Lai Jiangshan’s algorithmic implementation of SRCU, which includes
call_srcu() and srcu_barrier(). A major feature of this new
implementation is that synchronize_srcu() no longer disturbs
the execution of other CPUs. This work is based on earlier
implementations by Peter Zijlstra and myself. Posted to
LKML: https://lkml.org/lkml/2012/2/22/82.
5. A number of miscellaneous bug fixes and improvements which were
posted to LKML at: https://lkml.org/lkml/2012/4/23/353 with
subsequent updates posted to LKML.

#1 and #2 are combined onto one topic branch due to dependencies among
the commits.

All of these have been exposed to -next testing.

These changes are available in the git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git rcu/next

-Ben Hutchings annouces the release of kernel 3.2.17 and David Miller updates
networking:

1) Since we do RCU lookups on ipv4 FIB entries, we have to test if the
entry is dead before returning it to our caller.

2) openvswitch locking and packet validation fixes from Ansis Atteka,
Jesse Gross, and Pravin B Shelar.

3) Fix PM resume locking in IGB driver, from Benjamin Poirier.

4) Fix VLAN header handling in vhost-net and macvtap, from Basil Gor.

5) Revert a bogus network namespace isolation change that was causing
regressions on S390 networking devices.

6) If bonding decides to process and handle a LACPDU frame, we shouldn’t
bump the rx_dropped counter. From Jiri Bohac.

7) Fix mis-calculation of available TX space in r8169 driver when
doing TSO, which can lead to crashes and/or hung device. From
Julien Ducourthial.

8) SCTP does not validate cached routes properly in all cases, from
Nicolas Dichtel.

9) Link status interrupt needs to be handled in ks8851 driver, from
Stephen Boyd.

10) Use capable(), not cap_raised(), in connector/userns netlink code.
From Eric W. Biederman via Andrew Morton.

11) Fix pktgen OOPS on module unload, from Eric Dumazet.

12) iwlwifi under-estimates SKB truesizes, also from Eric Dumazet.

13) Cure division by zero in SFC driver, from Ben Hutchings.

-James Bottomley has SCSI fixes for -rc6, Greg Kroah-Hartman
announces the release of 3.3.6, Olof Johansson has ARM SoC
fixes for 3.4, and speaking of releases, here’s -rc7:

This is almost certainly the last -rc in this series – things really
have calmed down, and I even considered just cutting 3.4 this weekend,
but felt that another week wouldn’t hurt.

The appended shortlog gives a good overview – it’s mostly random tiny
fixes for very small specific issues. The biggest commit (and the one
that might affect the most people) is likely the Nouveau i2c change,
and that one is really just a revert. It changes nouveau back to use
the generic i2c-algo-bit routines – the problem they had had been
fixed in the meantime, and the specialized i2c nouveau routines had
issues of their own.

The rest is mainly small changes in various areas: drivers
(networking, drm, scsi, sound and md) arch updates (arm, powerpc and
x86) and random other areas – core networking, a compat fix, stuff
like that. No scary changes.

So go forth and test. And don’t send me any pull requests unless they
contain *only* regressions or fixes for really nasty bugs. No more of
these silly compiler warning fixes etc any more.

-David Miller updates networking, Mauro Carvalho Chehab has media
fixes for 3.4-final, and I have a short announcement to make:

-Due to me getting a new job, this will involve commuting, finding
some rent, all that. Hence, until there is some order in my schedule
once again, KWN will be on hiatus. Be good.


Fedora 17 中的自动化多座位支持

Fedora 17 从系统底层到应用层全方位为多座位支持进行了改进,已经实现了完全自动化的即插即用多座位体验。

所谓“多座位”,是指一台电脑可以允许多个独立的用户在同一时间使用。

过去的文本操作时代,实现多座位支持对于类 Unix 家族的 Linux 系统来说是水到渠成的事情。但是步入图形化时代之后,这个工作却越发复杂了,牵扯 x.org 配置文件、登录管理器、桌面环境等等。

Fedora 17 开发过程中开发者与 Plugable 公司合作,改善了 USB DisplayLink 显卡驱动,在该公司的 DC-125/165 产品中实现多座位支持的即插即用。

步骤很简单:

  1. 使用通用的 USB 2.0 线接线将 DC-125/165 与安装有 Fedora 17 GNOME 3 的主机相连。
  2. 将 DC-125/165 与另外一台显示器、键盘和鼠标相连。
  3. 无需任何配置,其他家庭成员就可以在新显示器上通过 GNOME 3 登录对话框开始使用。

一些具体的实现细节:

  • 新接入的终端的图形渲染工作通过 USB DisplayLink 中的 GPU 完成。
  • 提供完整的 GNOME Shell 图形加速体验。
  • 负责挂载外部设备的 udisks 也得到改善,每个用户仅能看到自己挂载的 USB 大容量存储设备。
  • Plugable 开源了 USB DisplayLink GPU 全部内容并已合并入上游。
  • 该功能的实现依赖于 systemd,故不会在使用 Upstart 的 Ubuntu 中出现。
  • 该功能亦可在其他使用 USB DisplayLink GPU 的多座位支持设备上实现,只需做少量修改。
  • 该功能向后兼容新生代 X 服务器 Wayland。
  • 后续将增加一个图形化的配置工具提供多座位支持的微调。
  • 目前仅在 GNOME 3 环境下实现,KDE 4 的支持正在和上游商讨中。

博客介绍

此项功能在 Fedora 17 中的描述

分类: Desktop Stuff | 永久链接 | 收藏到 del.icio.us | Email 给好友 | 6 评论 | 捐助本站

May 16, 2012

Lingo 13 en Fedora 17
Si tienes la "suerte" de necesitar Lingo en Fedora 16/17 acá te damos "la palta". Para los efectos del tutorial asumimos lo instalarás en tu $HOME y que descargaste la versión de 32bits.
  • Descarga Lingo desde su site.
  • Descomprímelo
  • $ cd $HOME/
    $ tar xzf ~/Downloads/LINGO-LINUX-IA32-13.0.tar.gz
  • Edita tu .bash_profile
  • $ vi ~/.bash_profile
    Agrega al final de la variable PATH lo siguiente :$HOME/lingo13/bin/linux32
    De forma tal que quede algo así PATH=$PATH:$HOME/bin:$HOME/lingo13/bin/linux32
    Agrega 3 variables más
    LD_LIBRARY_PATH=$HOME/lingo13/bin/linux32:$LD_LIBRARY_PATH
    export LD_LIBRARY_PATH
    LINGO_13_LICENSE_FILE=$HOME/lingo13/license/linux32/lndlng13.lic
    export LINGO_13_LICENSE_FILE
    LINGO_13_HOME=$HOME/lingo13
    export LINGO_13_HOME
    Guárdalo
  • Genera la licencia
  • $ cd $HOME/lingo13
    $ sh create_demo_license.sh
  • Sólo por esta vez, recarga tu bash_profile, las próximas veces será automágico
  • $ source $HOME/.bash_profile
  • Disfruta! (o algo así...)
  • $ lingo

    LINGO/LNX32 13.0.2.15 (15 Feb 12)

    LINDO API 7.0.1.421 (Feb 9 2012 18:10:35)

    Copyright (C) 2005-2011 LINDO Systems Inc. Licensed material,
    all rights reserved. Copying except as authorized in license
    agreement is prohibited.

    License location: /home/casep/lingo13/license/linux32/lndlng13.lic

    Eval Use Only

    Licensed for educational use only.
    Branch-and-bound solver enabled.
    Nonlinear solver enabled.
    Barrier solver enabled.
    Global solver enabled.
    Integer solver enabled.
    Stochastic solver enabled.
    Conic solver enabled.

    :
By Casep!


Musings on the linux audio stack

I spent some free time today getting caught up on the large backlog of phonon-gstreamer bugs. Towards the end, I started to have delusions of grandeur: Imagine a phonon-gstreamer codebase that doesn’t require supporting a zillion different audio frameworks, and instead belays that task to something that I don’t have to maintain.

My question here, is how many people would throw a fit if phonon-gstreamer dropped support for ALSA and OSS, and forced everyone to use pulseaudio by way of GStreamer’s excellent pulseaudio support?

Hold on, lower your pitchforks for a minute. Let us consider the audio framework landscape in the modern world:

  • Pulseaudio is the One True Way for audio playback in Gnome
  • For 90% of the support questions we handle in #kde-multimedia, the solution is “use pulseaudio”.
  • Pulseaudio can handle using OSS, ALSA, Bluetooth, or whatever your audio output is, through one consistent entry point
  • It is a total headache to figure out any bugs in your audio when music goes from Amarok->Phonon->Phonon-GStreamer->(ALSA, OSS, Pulseaudio, god knows what)->Speakers->Earholes

Additionally, I really don’t feel like testing phonon-gstreamer on all those different kernel-level interfaces with exotic setups every time I fix a bug and am afraid I’d introduce another twelve. The PulseAudio folks seem to do a fantastic job at that already. Phonon isn’t meant for real-time playback or production studio quality audio. Thats what Jack is meant for.

I can’t think of a good reason why we shouldn’t stand on the shoulders of giants by making PulseAudio handle all the hard stuff on Unix involving massaging PCM formats, equalizers, matching playback category with output device, enumerating outputs both real and virtual, volume control, etc.

If you can, leave a comment on this post. I’m not making an official statement saying that I’m definitely removing ALSA and OSS support from phonon-gstreamer, I’m merely asking for feedback to see what can be done to fix things at all levels in the audio stack.

<g:plusone href="http://wm161.net/2012/05/16/musings-on-the-linux-audio-stack/" size="tall"></g:plusone>

flattr this!

Zeitgeist improvements with genetic algorithms

Continuing with my previous post about the Zeitgeist team’s improvements with regards to speed, there’s a nifty tool in the sources I wrote yesterday that uses a genetic algorithm to find the slowest queries you can throw at the engine.

If you’re not familiar with genetic algorithms, here’s a brief review of how they work:

  • Start off with an array of numbers, with each index corresponding to a particular attribute of the problem.
  • Evaluate the fitness of that genome
  • Simulate evolution of the successful genomes by crossing, mutations, etc, just as you would with real DNA chromosomes

In the case of this Zeitgeist tool, the chromosome refers to a query, and each allele (index of the array) refers to an attribute of the query. Here’s a relevant comment from the sources:

# Chromosome to data mapping:
# 0, 1 - Timerange begin and end. If both are zero, we use timerange.always()
# 2 - The search type. Anything over 30 is a dead individual.
# 3-5 - Specify template properties. Anything besides 0 and 1 is dead.
# 3 - Specify a subject interpretation
# 4 - Specify a subject manifestation
# 5 - Specify an event actor

Using the super cool pyevolve library, implementing a genetic algorithm is super easy:

def eval_func(chromosome):
  query = buildQuery(chromosome)
  if query is None:
    return 0

  start = time.time()
  results = engine.find_events(*query)
  overall = (time.time() - start)
  return (results["find_events"]*2+results["find_event_ids"]*4+results["get_events"])*1000

genome = G1DList.G1DList(6)
genome.evaluator.set(eval_func)
ga = GSimpleGA.GSimpleGA(genome)
ga.evolve(freq_stats = 1)
query = buildQuery(ga.bestIndividual())
assert query is not None
print query, len(engine.find_events(*query))

Let it run for a long while on a big database, and you end up with a query that takes forever. Due to how evolution works, it isn’t the longest running query, but it is certainly one that takes a long time.

<g:plusone href="http://wm161.net/2012/05/16/zeitgeist-improvements-with-genetic-algorithms/" size="tall"></g:plusone>

flattr this!