November 24, 2009

Fedora Interaction Design Hackfest Summary

So we had a very productive interaction design hackfest today in #fedora-design:

  • We interviewed folks from two of the defined stakeholders groups – Fedora Infrastructure and Fedora Spins (myself and Ryan Lerch conducted these! Thanks to Toshio, Smooge, and sdziallas for letting us interview you!)
  • We have a written summary for one of the stakeholder interviews.
  • We have scheduled plans for four other interviews (María is going to interview the marketing team, and James Mulroy is going to interview me for the Design team, Mel is going to take care of the Desktop and QA interviews.)

The meeting logs are available if you’d like to check out what went on. We have 13 stakeholder interviews we need to do and only 5 are being worked on, so if you’d like to choose from the 8 left please do! Comment here to find out about how to get started :)

Mel and I were thinking it might be cool to do another hackfest on this stuff on the FUDBus next Friday. There will be quite a few stakeholders riding, and they will not be able to run from our questions while they are on the bus >:)

Posted in Uncategorized
Our Fragile Existence

This Thursday is Thanksgiving, an official holiday in the the United States.  I am extra thankful this year.  It wasn’t so long ago that I felt more invincible.  Aging has a natural way of reducing that.  Potentially fatal accidents, more so.

Almost three weeks ago I took what I thought would be a short break from work to finish cleaning out the rain gutters at home.  With the rain gutters done, I carefully exited the roof placing both feet and my full weight on the top rung of the ladder.  The ladder slipped out from underneath me and I fell to the concrete patio six or seven feet below.  Needless to say my plans for the rest of the week were instantly altered.

I could have fallen or landed on that unforgiving concrete patio in any number of ways.  At times I still have a hard time accepting how fortunate I am and how potentially fatal it could have been. I know, I should just be glad I’m mostly okay.  But my mind doesn’t work that way and the results of this event are too significant simply to dismiss.

I landed on my side with my hip taking the brunt of the fall.  Amazingly, it is only bruised.  X-rays show minor spinal damage which should eventually heal.  In the meantime I’ve had some excruciating back pain and muscle stiffness that makes it impossible to bend over or lift anything heavy.  Ibuprofen helps a lot and I have come to know the magic healing properties of ice–ten or fifteen minutes (no longer) of ice every hour does miracles.  I also have an entirely new level of appreciation for anyone with back pain.

Things I’ve learned and experienced from this incident:

  • Things don’t always go as planned
  • I can’t make logical sense of everything
  • Next time tie the ladder off to a strong rain gutter bolt
  • If a ladder moves when I’m not on it, have someone else make sure it is still safe from the bottom
  • Other people need me more than I realize
  • I need other people more than I realize
  • Grace and divine intervention happen
Posted in Productivity
How to install Moblin on Fedora 12

Moblin is a feature of Fedora 12 as an easy to install desktop environment.

The below how-to information is copied directly from http://fedoraproject.org/wiki/How_to_install_Moblin, and is used here thanks to the CC BY SA 3.0 Unported it is licensed under:

Moblin is a lightweight Linux desktop environment especially suited for small form computers (netbooks et al).

Installation is straightforward.

Using the command line

  1. Open a terminal (shell).
  2. Install the Moblin group: su -c 'yum install @moblin-desktop'

Using the graphical package manager

  1. Go to System > Administration > Add/Remove Software.
    • Note: the name of the Add/Remove Software application is PackageKit.
  2. In the left side pane choose Moblin desktop.
  3. Click Apply to install the package set.
Kindle temptations.

Two years ago, when the Kindle was launched, I wrote that I probably wasn’t going to get one. Since then, I’ve warmed slightly to the idea of getting one.

What’s changed ? For one, my reading habits. I’m reading a lot more these days, and digital representations of those books take up less space, and are easier to travel with. One thing that might tip me over the edge to buy one though is that today Amazon announced they added a native pdf reader. I spend a lot of time staring at processor datasheets etc, and having something to hand that I can refer to without having to alt-tab away from my editor would be really nice.

That 85% battery life improvement is interesting too. I’m curious what was responsible for such a large saving.

Kindle temptations. is a post from: codemonkey.org.uk

No related posts.

Turning 40
Sometime last week I turned 40... that makes me 10 years past my Carousel time so I keep my eyes out for Sandmen. It was a pretty good birthday.. I got "Mad Science" by Theo Gray , a version of the Wee Free Men by Terry Pratchett, and an iPod Nano.

This means that iPod's are now completely passée.. I am so far from hip that my shadow dance would cause severe laughter. The getting of an iPod means that it has reached the level of absurdity of a fellow who is going to fill it with Clannad, Enya, and Angelo Badalamenti's music. Oh and any lectures I can find on thermodynamics, relativity, and matrix math.

My son thought it was the coolest thing especially since it could play games.... well some games.. ok lame dad games.... so he now wants an ipod touch which at his allowance rate will be about the time cyber-implants occur.

Anyway, its good to be 40... there was a period of my life that I didn't think I would live past 26. [And my folks were sure that my teenage years would be the death of them or me.. and they outnumbered me.] Anyway... thanks for all the years universe. I have enjoyed them as best I could.
New tool: virt-list-filesystems

$ virt-list-filesystems Debian5x64.img
/dev/debian5x64/home
/dev/debian5x64/root
/dev/debian5x64/tmp
/dev/debian5x64/usr
/dev/debian5x64/var
/dev/sda1

You can also augment this tool with the -a and -l options. The -a option tells it to list swap partitions too. The -l option tells it to show the filesystem type on each partition that was found:

$ virt-list-filesystems -a -l Fedora12.img
/dev/sda1 ext4
/dev/vg_f12x64/lv_root ext4
/dev/vg_f12x64/lv_swap swap

While this is a fairly simple tool, the use case comes from a user who asked me how I knew what filesystems could be mounted using the guestmount command. The answer is that you don’t know, unless you know something about the guest, or you interactively examine the guest using guestfish, or just use this new tool.

What the Heck is Chromium OS!?

<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" height="300" width="520"><param name="allowFullScreen" value="true"/><param name="allowscriptaccess" value="always"/><param name="src" value="http://www.youtube.com/v/0QRO3gKj3qw&amp;hl=en_US&amp;fs=1&amp;"/><param name="allowfullscreen" value="true"/><embed allowfullscreen="true" allowscriptaccess="always" height="300" src="http://www.youtube.com/v/0QRO3gKj3qw&amp;hl=en_US&amp;fs=1&amp;" type="application/x-shockwave-flash" width="520"></embed></object>
I’m giving Chromium OS some love. Here’s a “What Is…” video from The Google Chrome Channel on YouTube. Besides all the hoopla they are trying to sell, I’m more excited about the name than anything else.  Weird- I know, but “Chrome” to me is more related to Windows and “Chromium” is related to Linux and Open source. So the FOSS-factor of this project will be heavily promoted as this hits main stream media.

Even if Chromium is a total bust, or doesn’t “revolutionize” your computer as they are claiming… this will certainly be a giant spotlight on FOSS. Hasn’t that been our goal from the very beginning. Share the wealth of Free and Open Source!? Vive logiciel libre et opensource!

The Always Innovating Touchbook

Since netbooks started becoming popular, I’ve always wanted a tablet with an ARM processor. I just found this juicy tidbit today: The Always Innovating Touchbook. Its a tablet with an ARM processor. Not sure how I missed finding this, but it looks perfect for me. Always Innovating seems to have a very strong open source community behind them, and they fully support hacking the device to install whichever OS you choose.

As a bonus, the keyboard is detachable and the display can be stuck on your fridge since it has a magnetic back. Has anyone else out there ever heard of this thing?

Pre FUDCon Crash Space

For those who are flying into Boston and then taking the FUDBus up to FUDCon I have crash space literally down the block from where the FUDBus is picking us up. I have two couches and an Areo Bed for anyone who needs it. Get in touch with me on IRC.

[read this post in: ar de es fr it ja ko pt ru zh-CN ]
fp.ro online again
Yesterday due to some problems with the hosting provider, our local Fedora website went down completely. With a new hosting provided by RLUG/ProLinux and after some good late night hours spent by rpetre and ajoian, the website is up again and working better than ever.

Thanks guys, you absolutely rock!
Crash space needed!

OK, Fedora community in and around Boston, MA: We still have a need for some crash space for people who are flying to Boston to take the charter bus to FUDCon. Many of these valiant travelers are traveling on their own dime because FUDCon is just that great. Especially in these tough economic times, it behooves all of us to dig a little deeper and help fellow Fedora contributors out.

If you have crash space in your house, apartment, condo, etc. — whether it’s a bed, a sofa, a sleeping bag, spare floor space, or gravity boots (for the odd caped crusader who shows up) — please consider making room for a Fedora buddy or two. It’s also a great chance to get to know a fellow contributor and find new places to collaborate, learn, and share. In most cases, we’re just looking for one or two specific nights — Thursday night, December 3, and/or Tuesday night, December 8.

To help out, simply go to the pre-registration list, and find someone who’s looking for space. Then contact that person and offer space. Or if you’re going to FUDCon also, you can put your crash space offer in the “Comments” field of the pre-registration table with your entry. It’s that easy.

By the way, if you have the crash space you were looking for, you can remove any “Need crash space” comment from the table. (Similarly for people offering space, who have found Fedorans to take them up on the offer.)

View Source Button, Test of Concept

Alexander Larsson answered my Dear Lazyweb on finding a PID given a Window ID, to implement Richard Jones' View Source Button idea. I hacked up a tiny bash script to see what kind of info we could easily get about a window. Running that script and clicking on the Gnome calculator, I see:

$ show-source
Click on a window. Avoid clicking on a window border.
PID:             6272
Binary:          /usr/bin/gcalctool
RPM:             gcalctool-5.28.1-1.fc12.x86_64.rpm
SRPM:            gcalctool-5.28.1-1.fc12.src.rpm
Upstream URL:    http://directory.fsf.org/gcalctool.html
Fedora release:  12
Bugzilla search: https://bugzilla.redhat.com/buglist.cgi?query_format=advanced&classification=Fedora&product=Fedora&component=gcalctool&version=12
PackageDB page:  https://admin.fedoraproject.org/pkgdb/packages/name/gcalctool
Transifex page:  (None)

There's a lot more that needs to be handled -- for example, clicking on a script window reports the interpreter instead of the script, clicking on a window border reports nothing, clicking on the window of a consolehelper'd app fails on access to /proc/$PID/exe, and clicking on a terminal window reports the terminal program instead of the character-mode app that is running (obviously).

All of these can be solved fairly easily, and the idea looks workable! As I noted in a commend on Richard's original post, it would be cool to make this View Source applet capable of taking the user to the pkgdb page, a source code browser (I'm thinking DXR, once we get it indexing all of Fedora), a bugzilla search, the upstream web page, or the translate.fedoraproject.org page; or, if the user chose, the applet could download and install the .src.rpm.


GSoC and beyond…

Karsten has a nice blog post and, an even nicer report on GSoC 2009 from the perspective of The Fedora Project-JBoss umbrella organization. If you haven’t already gone through it, it would be good to read it up and, provide feedback.

An immediate benefit of any project participating in the Summer of Code is the ability to get exciting extensions or, innovations via a group of highly talented individuals – both mentors and, contributors. Having had the opportunity to look at the projects from fairly close quarters over a period of years, there are a couple of things that stood out. Some of them are listed on my wiki page. I’d say that the most important thing is to “have a plan“. A stage of proper planning which sets the expectations and deliverables for a GSoC proposal goes a long way in becoming a successful proposal. That, coupled with a scheduled update-review cycle makes it a proposal that has a constant communication channel. I was reminded of the this fantastic mentoring how-to today while reading the latest issue of The GNOME Journal (as an aside, you should read this issue).

If you look at the wiki page I pointed out earlier, you’ll note that I mention an “annual round-up”. This by itself is very trivial to do and yet very important.. It provides an yardstick by which to measure the success or, failure of a GSoC experience of being able to generate sustained and relevant participation. For example, if projects did more of this kind of “where are they now ?” series, it provides upcoming and potential contributors with role-models they can look up to or, be like.

That single act of being able to have role models makes for a tremendous motivation to become a sustained contributor to Free and Open Source Software.

Some Licenses kill opensource mechanical design flows

Electronic design is about design flows, rather than point software. Multiple software are needed for achievement multiple design flows.

However when one software breaks, the whole design flow becomes pointless. This is why we pay great attention to the design flows under the FEL collection.

For the real life, one might also need software for the mechanical body design. The current and widely used opensource mechanical design tool, OpenCascade suffer from licensing issues with its redistribution. The OpenMoko design team uses Heekscad. The latter requires a dependency on OpenCascade. Without OpenCascade in Fedora repositories, Heekscad will not pass Fedora package review.

This is a major blocker for anyone who wants to create a Fedora Spin for mechanical design. This licensing issue limits Fedora from shipping them.

Humpty is back together

On Thursday, my Thinkpad T43 stopped charging. The yellow power jack was loose. I took the laptop apart (keyboard, bezel, hard drive, CDROM, power strip) to get access to the loose screw. I tightened it and put the laptop back together. Nada. Still no power. I took it apart again. That’s when I noticed the wire that connects to the power jack from the motherboard was disconnected, actually it was unglued and broken :)

So laptopjacks.com to the rescue, I was able to get a new power jack by Monday. Turns out in order to access the power jack, requires removing the system board. So I got to remove even MORE screws and parts (fan assembly, CDROM cage, memory, mini pci card, speaker assembly, VGA connector, and finally the rear strip). After almost 2 hours of repair work, I am proud to say I am writing this entry from the laptop which is running from the new power jack!

IBM Thinkpad T43 power jack

Collaboration... or lack thereof
It is no secret that the overwhelming majority of successful open source projects have a vibrant development community behind them. The attraction of the project isn't so much the code as it is the interaction between developers on improving and fixing that code. People have different reasons for participating in these communities, and volumes have been written on this, so I'll skip it. I'm sure you can find much better sources on this than me anyway.

There is another kind of open source project though. No, I'm not talking about the plethora of projects that people start and just never seem to go anywhere because of various reasons. I'm talking about the often scoffed at, usually loathed, code dump! These are typically higher profile, often announced "releases" that have generally come from one company or primary source and don't really seem to care about letting others impart influence and contribution to the core code base. They can be simple projects, or entire OSes. Despite various hype, one could even think that Google's Android is somewhat an example of this.

As if you needed me to explain, these code bases are looked down upon not only for the obvious lack of community, but also because the code quality is pretty horrid. Often they stall, only getting more code dump releases with an occasional contributed patch or feature. Generally, they are just ignored.

However, there are some upsides. The first is that while outside contribution might not be a priority for such a project, the code is free. You can take it, change it, fix it, etc. I find it slightly funny that people can find it galling that a project forces you to exercise the very rights that FOSS promotes.

Another advantage is that these projects often deal with things that other people would rather just not bother with. Take our previous hinted at Android example. Who really wants to sit down and write an OS targeted at mobile phones? (Forgive me Harald, I'm not including you in this as the openmoko project was a bit more ambitious than just an OS.) What Android allows vendors to do is pick up the base OS, and build on top of it rather easily changing what you need if you need to. (I'm sure Google is trying to cultivate a community, and this isn't meant to pick on Android. It's just really hyped right now and easy to use.)

So what is my point? Oh come on. I rarely have a point. However, I do have a ponder that's been nagging me in the back of my head. If you take a typical Linux distro, and all the software that you use from it, how much of that source have you looked at? How many project mailing lists for those applications are you subscribed to? How many have you even filed bugs for or done anything other than click the install/update button? My guess is pretty few. If that's the case, is FOSS more about the possibility of community than it is about actual participation these days? Do we get warm fuzzies from the belief that somewhere out there a bunch of people really care about $app and that somehow makes it more acceptable/better? Probably, but it's still an interesting thought.
context based sponsorship listing
I'm happy to announce today we finally have context based sponsorship listings. What does this mean? Well, when you go to http://fedoraproject.org/ you end up hitting one of several reverse proxy servers. These hosts are located all over the world by different hosting providers. Before today they all just ended on the http://fedoraproject.org/sponsors page.

Now though, if you look down the left side of http://fedoraproject.org/ you'll get a small banner ad for who's providing that hosting. If you hit Ibiblio's host, you'll get the Ibiblio logo. If you hit Tummy's host, you'll get the tummy banner. This is good for a lot of reasons. First of all, I've been looking for more ways to get our sponsors known. They do amazing work for us so I'm quite happy to be able to better get the word out.

Also, when we finally have a full CDN setup, geoip will send people to hosts that are near them for content. This will ultimately help get our sponsors more in touch with people that might potentially use their services. If you want hosting and like Fedora please do consider one of our sponsors. We're happy with all of the service providers we have and at the very least they care enough to donate hosting, remote hands, bandwidth, etc to Fedora. We're hoping to get our other sites to use this new mechanism soon. Special thanks to tmz and sijis for working on this.
Fedora at Infosystem 2010 – Το Fedora στην Infosystem 2010

Another technological event is being held from this Thursday till Sunday at Thessaloniki city in Greece and Greek Fedora community couln’d be anywhere else.

We invite you at stand 14A at Infosystem’s building 6 to meet you, to celebrate Fedora’s 12 official release, to inform people about Fedora, and to have a lot fun!

Don’t miss our beautiful booth which is fully armed with CDs, DVDs, stickers, flyers, Fedora Live USB Creation station, laptops for showing and many more.

I want to thank you Hellug for accepting us in their booth and the company EEL/LAK who payed for it.

Announcement in Greek – Ανακοίνωση στα Ελληνικά

Ένα ακόμη τεχνολογικό event διοργανώνεται αυτό αυτή την Πέμπτη μέχρι και την Κυριακή στη Θεσσαλονίκη από το οποίο φυσικά δεν θα μπορούσε να λείπει η Ελληνική κοινότητα του Fedora.

Σας καλούμε λοιπόν όλους να έρθετε στο stand 14A (περίπτερο 6) της Infosystem 2010 να γνωριστούμε, να ανταλλάξουμε απόψεις, να γιορτάσουμε την κυκλοφορία του Fedora 12 (Constantine), να ενημερώσουμε τον κόσμο και να ενημερωθούμε αλλά πάνω από όλα να περάσουμε καλά!

Στο χώρο θα στηθεί πάγκος fedora τις ημέρες Σάββατο και Κυριακή με όλα τα καλούδια (!) CDs, DVDs, stickers, flyers, Fedora Live USB creation station, laptops και άλλα πολλά.

Θέλω να ευχαριστήσω τον σύλλογο HELLUG που δέχτηκε την συστέγαση και την εταιρεία ΕΕΛ/ΛΑΚ που πλήρωσε το stand.

Ωράριο λειτουργίας της έκθεσης:
Καθημερινά 12.00 – 21.00
Σαββατοκύριακο 11.00 – 21.00

Google Calendar in Thunderbird tabs

If you’re a Google Calendar user like myself you might want to check out this really simple add-on for Thunderbird, which should be available as an official add-on for the coming Thunderbird 3 release.

The Google Calendar Tab

As simple as it sounds, this adds the Google Calendar web interface as a new tab directly into Thunderbird.  Creating and viewing events works just as it would in a browser like Firefox. :)

Google Calendar Tab

If your calendar is setup to show popup alerts you’ll continue to see them from the calendar tab while in other, mail, tabs.

Here’s my family Pinochle game reminder alert showing.

Google Calendar Alerts

There is no official release of this extension yet, however you could grab the latest XPI, download and install it into the latest (at least rc1) Shredder release.

More Extensions

It’s easy to get started integrating a web application like Twitter, Remember the Milk, and other sites into Thunderbird.  Once you get the initial pieces you can start working on better integration into your email conversations.

If you’re interested in creating an extension similar to this one, here are a couple links you probably want to check out:

Lightning

This calendar extension only handles a single url for Google Calendar.  If you’re looking for actual calendar integration with different calendars, including google calendar, you’ll want to check out the Lightning Calendar extension which also runs inside Thunderbird tabs.

SHM config in synaptics
This is an addendum to Why SHMConfig is off by default.

SHM in synaptics provided two functionalities: run-time configuration and hardware monitoring.

run-time configuration works by having the driver configuration exposed as a shared memory segment and letting another process change this state. hw monitoring works by dumping the hw state read from the device into the shared memory and then having another process print this state.
synclient was the default UI (though syndaemon used SHM as well).

X Server 1.6 introduced input device properties, a generic way to attach information to input devices. The information can be attached by drivers or clients, and both drivers and clients are notified about changed values. Hence, it's a good vehicle for device-specific configuration.

  • synaptics 1.0 had input device property support in the driver, but SHM configuration is still available.
  • synaptics 1.1 had synclient and syndaemon use input device properties by default, but SHM configuration is still available.
  • synaptics 1.2 (current release) has configuration through SHM removed from both the driver and synclient/syndaemon and the SHM area is not writable by the user anymore.
All releases support hardware monitoring through SHM. However, there's little reason to enable it these days unless a developer asks you to do so to get more information on the data the touchpad provides. I haven't asked anyone for the monitoring output for months, usually the data from the kernel is enough.

The following GUI tools use properties:
  • gnome-mouse-properties + gnome-settings-daemon
  • gsynaptics (merely a wrapper around synclient). discontinued, see gpointing-device-settings.
  • gpointing-device-settings
  • synaptiks
(not sure what other KDE tools there are)
Building a business around sustainable open source engineering

A Twitter discussion thread (a) (b, c, d) made me want to i) lay out a definition for sustainable open source engineering, ii) provide some examples you may not have thought of, and iii) find out who else is doing a good job at it (or trying to, at the very least!)

Sustainable open source engineering refers to the process of supporting a collection of free/libre and open source software (FLOSS) over a very long period of time while following the open source way.  This means:

  • Patches to the software collection must be pushed upstream where it makes sense; your engineers need to be the ones to know and make the call.  They are the ones who have to track and maintain the delta with the original upstream for many years.
  • Provide a open mechanism for vendor partners and customers to collaborate on sustainability.
  • Do all this in an open and transparent fashion.

Anything important not covered by this list?

Where a typical value of FLOSS is to allow for a small(er) investment as a contributor to yield a large(r) return as a user or vendor, sustainable FLOSS engineering turns this on its head.  The older the code base, the higher the cost to contribute.  Unless you happen to be already running the software because you are a customer or a vendor supporting that version, in which case the “obtain, install, understand” steps are already completed.  This is where the mechanism for collaboration comes to play.

Red Hat is the premier example of this.  While we get enormous value multipliers in resourcing current upstream projects and the Fedora Project, we commit enormous resources to sustaining Red Hat Enterprise Linux (RHEL) for seven years.  We’re so good at this practice that we routinely work with hardware and software vendors to train their engineers with our sustainable engineering teams.  If you have a big chunk of iron to support customers running RHEL on for seven years, you want your engineering teams to know how to collaborate on sustainable open source.

That should give you a hint of the example of other companies that practice this type of sustainable engineering.  Any large hardware (IHV) or software (ISV) vendor with products that customers run for more than a few years.  IBM and Hitachi, for example.

At this point I’ll note that fauxpen source/”open core”/dual-licensed-as-closed models are not good examples.  These are companies that are practicing business models that take some portion of their software source, usually an important part, and withhold it from being FLOSS.  Without a pure open source product chain, from R&D to sustainable-state, they are going to incur the costs of closed source development without the benefits of being at the center of a mechanism to collaborate with customers and partners.

What do you think are good examples of businesses practicing sustainable FLOSS engineering?

November 23, 2009

FUDCon, the AMQP story

With FUDCon being only two weeks away, I’ve been polishing up my presentation and looking into what is in store for the future of Fedora’s Infrastructure. My main focus has been adding “push” capabilities throughout our infrastructure via the use of the AMQP protocol and qpid servers.

So why do we care about push messaging?

One can think of messaging as a conversation between two people. Poll messaging goes something like this:

Poll Messaging

Push on the other hand is a bit less chatty:

Push Messaging

By eliminating the need to poll to know when an event has happened within Fedora’s Infrastucture, and making it easy for services to push out events in an easy fire and forget manner, we open up the door to a number of interesting possibilities. For instance, instead of implementing mail notification functionality in every service we simply create a mail notification service that listens for events and sends e-mails to people who what them. Do you want to get a notification on your desktop when your build is done instead? This makes it possible to provide that functionality without bogging down the Koji build service.

Human consumable notifications isn’t the only advantage of adding push messaging to our infrastructure. Because the data is first formatted for services to consume, notifications can be used for things like automation and synchronization. For instance someone could write a script that listens for new git checkins at fedorahosted.org and tries to package it into a private repo for personal testing.

What do we need to discuss at FUDCon?

Though this change is minimally invasive and you can ignore it if you don’t need to work with notifications, it is never the less a large undertaking. Some of the things we need to discuss are:

  • Usecases – where can we benefit by adding notifications?  How do we envision the notifications will be consumed?
  • Payload format – what are the pros and cons of the different ways we can encode and decode data
  • Standardization – even though we have a routing protocol we still need to standardize on the type of data to expect
  • Libraries – we need to make it dirt easy for infrastructure developers to add notifications to their service
  • Performance and security concerns – AMQP is pretty complex so we will need to make sure all of our bases are covered when deploying the QPID servers

AMQP Sessions at FUDCon

There are a couple of talks planned and a hackfest.  Come to the talks to get a deeper understanding of AMQP and how we envision using it within Fedora and then attend the hackfest to help us map out the future of the Fedora Messaging Infrastructure.

Saturday:

  • AMQP Messaging for Fedora Developers – come to my session to find out the basics of AMQP messaging and how it is relevant to Fedora’s infrastructure
  • AMQP/Qpid on Fedora – The definitive guide – get a more in-depth view of AMQP in Rajith Attapattu session.  He will show you how to setup and configure the Qpid server on Fedora, use the client APIs, and where to go to find help when using AMQP.

Sunday and/or Monday:

  • Get on the (Message) BUS Hackfest! – come to Jesse Keating’s hackfest to work out details and hack on the messaging infrastructure.
[read this post in: ar de es fr it ja ko pt ru zh-CN ]
Traps in Gtk2.
During the development of MakerDialog, I've encountered two ..., er, features of Gtk2 widgets.

First one is GtkComboboxEntry. When you select a list item in the pull-down menu, it emits signal "changed"; but when you start editing the text in entry, it still emit signal "changed". This usually cause confusion for novice Gtk2 developers, because they might be only aware of "changed" event and wonder why the combo box seems to react with every single key stroke.

Second one is radio button group. It has a function to retrieve all the list item as a single linking list. In the beginning, I think the order should be the same as the order you add those items. However, it seems to work in reverse order.

Hope these tips helps.
ubuntuone on Fedora

I hacked some more this evening on getting UbuntuOne running on my Fedora 11 desktop.

Now, obviously, trying to get something with ‘Ubuntu’ in the name on Fedora was going to be an exercise in masochism, so I pretty much knew what I was in for.

The good thing though is that the desktopcouch and ubuntuone hackers are obviously enthusiastic at someone getting this to run on Fedora, and as I often find the right motivation is 75% of the work. If these guys are going to be receptive to my feedback, then it is worth spending my time getting this to run.

I needed to first figure out order of packages and software. ubuntuone-storage-protocol goes underneath everything. For now I settled on creating a bdist_rpm out of the setup.py, which I should repackage properly later.

On top of that goes the ubuntuone-client stuff.

Here’s a bread crumb trail of bugs I ran into with possible patches I made:

Now I got it to the point where the client applet actually starts up without errors, and loads a UbuntuOne page into my Firefox window:

And there are no further tracebacks on my console.

Sadly, I get this puzzling notification message straight after:

I’m not sure yet how my client can be newer – I’m sure the ubuntuone guys will tell me what this means. Enough hacking for one day, time to catch some sleep for tomorrow.

UPDATE: apparently I ran into this bug, where apparently due to some bug the ubuntuone guys decided to add a capability to make sure no one would be using the old client. I understand the logic but I think that should be handled better – the message is not obvious, and I don’t think it’s easy to figure out what’s wrong.

In any case, the patch worked for me, and I just synced my first test file to the cloud ! Whee ! Not sure why syncing a 22 byte text file took roughly half a minute to sync, but it’s a start.

Dear telemarketing software companies
In the last week I have gotten 3 phone calls from software development companies looking to see if I could outsource my work to them. I appreciate that you are looking for new work but please be aware of the following:

1) I am not doing software development that I can afford to outsource. If I do any development its as a hobby or for my workplace and not something I have spare cash to spend. Also all of my work unless for some outstanding reason is done under an open source license (GPL or Apache most likely).

2) When you call me, do not have your VOIP or similar system appear to come from a local phone number but be from another country like China, India or Texas. If I was in the software development business I would find that dishonest.

Thank you, and I hope you are able to find a better customer than me.
068/365: Fedora… Solo un sombrero? (just a hat?)

068/365: Fedora... Solo un sombrero? (just a hat?) ===== Español =====
Hoy tuve una muy amena conversación con un gran compañero de la comunidad de Ubuntu Venezuela sobre los logros y metas profesionales de esta comunidad. Cabe destacar que los muchachos están haciendo un excelente trabajo, pero me hizo evaluar qué estamos haciendo nosotros por fedora… Es interesante saber evaluarse y no siempre criticar a los demás; puedes aprender mucho de lo que tu mismo piensas de ti.

Efrain me dijo algo cierto… “solo puedes hablar por lo que tu mismo haces” y tiene razón en cierta forma. Fedora tiene grandes proyectos en latinoamerica y vienen algunos mejores en camino. Quieres dar un vistazo a mi lista de cosas por hacer por la comunidad fedora?

https://fedoraproject.org/wiki/User:Tatica/ToDo

Estamos claros en que todos tenemos trabajo, familia, responsabilidades (yo que soy mujer puedo decir que mucho del tiempo que dedico a Fedora y otros proyectos foss es gracias a que tengo a mi lado a un hombre que no teme darme una mano con las labores del hogar) pero cuando te saber organizar puedes lograr mucho.

Me gusta fedora porque es una comunidad de profesionales que se unen para hacer un entorno. Fedora no es solo un sombrero… es una persona que porta un símbolo de profesionalismo.

Gimp: Balance de blancos.

===== English =====
Today I had a very pleasant conversation with a wonderful contributor to the Venezuelan Ubuntu community about goals and projects of this community. Is important to say that this boys are doing a great job, but it made me evaluate what we are doing for fedora … you can learn much of what you think about yourself when you evaluate how you are.

Efrain said something true … “You can only speak for things you do” and is right in a way. Fedora has major projects in Latin America and some better are comming. Want to take a look at my list of things to do with the fedora community?

https: / / fedoraproject.org / wiki / User: Tatica / ToDo

We know that we all have work, family issues (I am a woman who can say that much of the time I spend with Fedora and other FOSS projects is because I have by my side a man who is not afraid to give me a hand with home work) but when you plan you can do a lot of things.

I like fedora because it is a community of professionals coming together to make an environment. Fedora is not just a hat … is a person who carries a symbol of professionalism.

Gimp: White balance

Fedora-fr sur twitter !

Pour suivre l’actualité de Fedora et de Fedora-fr sur twitter, rien de plus facile ! Pour ceux qui ne connaissent pas Twitter, n’hésite pas à demander à Wikipédia.

Dear Lazyweb: How can you find a process ID given a window ID?

As far as I know, there is no way to reliably get a process ID from an X window ID for local clients (to implement Richard's View Source idea). I would love to be wrong!

Questions:

(1) Did I miss something? Can this be done now?

(2) If this can't be done now, what would it take? Could we create an X extension so that the server can supply connection info for a window, and then trace that connection info back to a specific process?

Ikea light bulbs: rubbish

This is by way of being a general public service announcement. Don’t buy Ikea energy saving light bulbs. They’re crap.

I bought a job lot of the things from Ikea last year. Let me see – nine of ‘em in total. These would be the awesome bulbs that last for ten years, remember. Out of those nine, five have now failed entirely.

They’re also not terribly bright and take ages to warm up. When the Ikea ones started failing I bought some Philips ones from London Drugs instead. They’re brighter, whiter, warm up faster, and not a one of them has failed yet.

So, yeah, screw Ikea, go Philips. PSA ends!

ExMan release 0.3

I have been hindered by some reasons for sometime and couldn’t give much attention to many projects, let alone writing blog posts. Good news is that I resumed working on them again, and have been fixing bugs and adding new features to ExMan.

ExMan is now tagged with version 0.3 which includes the following bug fixes and enhancements:

  • ExMan is now available as source tar ball, RPM, and DEB for Ubuntu. Ubuntu packages were requested by many, so tonight I went ahead and downloaded Ubuntu 9.10, installed it in VirtualBox on Fedora 12, then installed the qt-devel packages and built ExMan, learned creating DEB packaging in an hour (it was much simpler compared to learning how to prepare RPMs), and created .deb for Ubuntu.
  • Drag-n-Drop capability: You have added an entry, now you just drag-n-drop it down, ExMan will automatically create a new row. If you dropped it into an existing row, the contents of the dragged columns are copied.
  • Drag and Drop to create a new entry

    Drag an existing row and drop into empty area

    Dropped into empty cell

    Dropping into empty area created a new row

    Drag and Drop contents

    Drag and Drop contents into existing entry copies them

  • Cut-Copy-Paste: Now you can do those fancy ‘cut-copy-paste’ with familiar keystrokes – Ctrl+X, Ctrl+C and Ctrl+V. [This was the toughest to implement, as QTableWidget or QTableWidgetItem do not implement them by default]
  • Proper Unicode storage support: Write entries in your native language. ExMan will store them and display them back properly now. There was a bug which prevents Unicode characters not being displayed back properly, which is fixed now.
  • ExMan used to crash while deleting some rows with the Delete (“X“) button. Fixed in this version.
  • There was a bug which didn’t modify the amount when it changed multiple times. Fixed in this version.

Go ahead and try it. If you find any bug, or want to add a cool new feature, do let me know. For developers, the git repository is available at git://exman.git.sourceforge.net/gitroot/exman/exman

Tagged: deb, hacking, linux, rpm
Security is people!
It's not often you read a security story that blames people for the problem. I found this one to be quite interesting.
Federal IT Face Cyber Attacks Daily

The best quote from the article is this:
Federal employees are still the main cause for security flaws because of their careless online activity along with failure to comply with organization policy, finds the research. It also finds that across civilian and defense organizations, 66% of those surveyed caught employees conducting irrelevant Web-surfing during 2008, while 44% found their workforce noted passwords on office stick-notes that could become public.

The hard part here is how do you get people to care? It's not much different in the real world, where people are rather careless about keeping belongings and personal information safe. It's even harder to convince someone to keep something intangible things safe.

The Internet of today is comparable to Fagin and his band of little pickpockets. The difference now, is the modern day Fagin doesn't use orphans, but zombie computers, and millions of them. Imagine trying to walk through a marketplace so full of thieving children you can't move. That's pretty much today's Internet.
Very Nice !

Enjoy ! ;)
Unfortunatly, it is not available for a large type of platform. Just a question of time.

Отмена в Git: reset, checkout и revert
По книге Git Community Book.

Исправление НЕзакоммиченных ошибок

Если у вас беспорядок в working tree, но вы еще не сделали коммит, вы можете вернуть всё working tree к состоянию после последнего коммита

  $ git reset --hard HEAD

Если надо восстановить отдельный файл, например ''hello.rb'', юзайте

  $ git checkout -- hello.rb

  $ git checkout HEAD hello.rb

Первая команда восстановит ''hello.rb'' до версии в индексе, так что ''git diff hello.rb'' не покажет различий.

Вторая команда восстановит ''hello.rb'' до версии из ''HEAD'' ревизии, так что обе команды ''git diff hello.rb'' и ''git diff --cached hello.rb'' не покажут различий.

Исправление закоммиченых ошибок

Если вы уже сделали коммит с ошибкой, есть два разных способа пофиксить проблему:
  • вы создаете новый коммит который отменяет любой старый коммит. Это если ошибка уже опубликована.
  • возвратиться назад и изменить старый коммит. Никогда не юзайте этот способ, если история уже опубликована. Git по дефолту не ожидает, что история изменится и не сможет коректно слить ветки, если история изменена.

Новый коммит

Создать новый коммит, который возвратит в старое состояние, очень просто. Укажите ''git revert'' на плохой коммит. Например, последний коммит:

  $ git revert HEAD

или более старый

  $ git revert HEAD^

Теперь вы можете изменить commit message для нового коммита.

Исправление коммита

Для последнего коммита

  git commit --amend

Для более позднего комита, но не опубликованного, юзайте

  git rebase -i

в интерактивном режиме. Это разрешит amend коммита в процессе rebasing.
Prebuilt distributions part 2

In part 1 I discussed how these days Linux Live CDs usually come with a prebuilt disk image of the distro which is simply copied over to the hard disk during installation. (The “old” method was to rpm/dpkg-install the packages which is much more time-consuming). However my first test wasn’t very successful because I was using the “cp” command to copy files.

Anaconda (the Fedora installer) is smarter than this. It “dd”s the prebuilt disk image to the hard disk and then uses an ext2/3/4 utility called resize2fs to expand it to the correct size.

I changed the previous guestfish script to take this approach.

The new/Anaconda approach is much faster. Our total time is down from over 18 minutes to 2½ minutes (approximately 2 minutes for the “dd”, 2 seconds for the resize2fs, and the rest of the time taken doing the partitioning and LVM creation).

Unfortunately we have to leave Ubuntu behind at this point. Ubuntu ships with a squashfs, and I’m not aware of any way to turn this into an ext3 partition efficiently (except to use “cp” which we showed in part 1 was very slow). The new script only works with Fedora Live CD ISOs.

The new script is after the cut.

#!/bin/bash -

function usage ()
{
    echo "virt-prebuilt.sh live.iso disk.img size"
    echo "  where 'live.iso' is a Fedora Live ISO"
    echo "        'disk.img' is the target disk image"
    echo "        'size' is the target size in Gigabytes"
    exit 1
}

if [ $# -ne 3 ]; then
    usage
fi

# Work out size of target LV.
target_boot_mb=200
target_lv_mb=$(($3 * 1024 - $target_boot_mb - 128))

# Run guestfish.
time \
guestfish -x -a "$1" <<EOF
# The source ISO will be /dev/sda.  The target drive will be /dev/sdb.
alloc "$2" "$3G"
run

# Get to the packed ext3 filesystem.
mkmountpoint /t
mount-ro /dev/sda /t
mkmountpoint /tt
mount-loop /t/LiveOS/squashfs.img /tt

# Make a separate /boot partition on the target disk.
sfdiskM /dev/sdb ",$target_boot_mb ,"
mkfs ext3 /dev/sdb1

# Make the root LV.
pvcreate /dev/sdb2
vgcreate vg_live /dev/sdb2
lvcreate lv_live vg_live $target_lv_mb

# Copy the packed filesystem to the root LV and resize.
time dd /tt/LiveOS/ext3fs.img /dev/vg_live/lv_live
time resize2fs /dev/vg_live/lv_live

# Mount the root filesystem and copy /boot to /dev/sdb1
mkmountpoint /root
mount /dev/vg_live/lv_live /root
mkmountpoint /boot
mount /dev/sdb1 /boot
glob cp-a /root/boot/* /boot
df-h

# Unmount everything and exit.
unmount /root
unmount /boot
unmount /tt
unmount /t

echo Done.
EOF

Anaconda doesn’t just do a straight copy, it also does a whole lot of munging of the filesystem afterwards, including replacing /etc/fstab and rebuilding the initramfs. The script above avoids that so you can only boot it in qemu using an external -kernel and -initrd.

I think this technique is promising. It certainly sounds wonderful to “stamp out” new distro installs in a minute or two. But …

  1. Distributions would all have to start shipping filesystem images.
  2. Distro-specific munging would have to be kept to an absolute minimum.
  3. Get rid of initramfs’s that contain hard-coded details about the specific platform on which they boot (a very good idea in general IMHO).

In part 3 I’m going to compare how this approach compares to others: virt-install, manual installation, kickstart, cobbler, debootstrap and ubuntu-vm-builder.

FAmSCo Elections – Town Halls

A Message from Francesco :

Hi Ambassadors,

you are all invited to join the town halls organized for the next
FAmSCo elections.

The IRC channel are:

- #fedora-townhall where only candidates ad the moderator will be able to speak.
- #fedora-townhall-public where you can write your own questions

Each candidate will answer your questions and will able to share with
you their vision for the future FAmSCo and, consequently, for the
future of Ambassadors Project.

Here a list, by date, of the candidates who are going to attend town halls:

- November 28th at 1800 UTC: (first town hall)

Shakthi Kannan
Joerg Simon
David Nalley
Rodrigo Padula de Oliveira

- November 30th at 1800 UTC: (second town hall)

Maria Leandro
Susmit Shannigrahi
David Nalley
Robert Scheck
Luca Foppiano

For a detailed list of the candidates and their statements see
http://fedoraproject.org/wiki/Ambassadors/SteeringCommittee/Election/2009Nominations.

Your presence is important: I hope to see you there!

Regards

Francesco Ugolini

The post is brought to you by lekhonee v0.7

Related posts:

  1. Fedora famsco Nomination
  2. Fedora Ambassadors
  3. Get to know a Fedora Ambassador or User

Eclipse Linux Tools 0.4.0 Release

The Eclipse Linux Tools team is proud to announce our 0.4.0 release. This release is compatible with the Galileo releases of the Eclipse SDK (version 3.5.x) and CDT (version 6.0.x). It is available now from our update site:


http://download.eclipse.org/technology/linuxtools/update

Installation instructions are available. 101 bugs were closed as part of this release including bug fixes and new features. Highlights include:

  • the first release of our SystemTap-powered C/C++ call graph functionality

  • GProf integration courtesy of Xavier Raynaud of ST Microelectronics
  • improvements to the scripts to build the Eclipse SDK and run the SDK tests
  • a largely re-written GNU Autotools feature which more cleanly integrates with the CDT

The full list of highlights can be see on our new and noteworthy page. That page also contains a list of community contributions to our 0.4 release from the following excellent individuals: Benjamin Drung, Matthias Klose, Niels Thykier, Marvin Schmidt, Nick Boldt, Jens Seidel, Andrew Gvozdev, and PurpleFloyd. Thanks to all for their hard work and contributions. As usual, we very much appreciate feedback, be it bugs, on IRC (Freenode #eclipse-linux), or on our mailing list.

Committers participating in this release include:

  • Elliott Baron
  • Roland Grunberg
  • Jeff Johnston
  • Alex Kurtakov
  • Andrew Overholt
  • Xavier Raynaud
  • Charley Wang
Novidades no Spin Fedora BrOffice.org

Lançado juntamente com o Fedora 12, o Spin Fedora BrOffice.org trouxe uma seleção de pacotes mais diversificada para os usuários brasileiros. Um "spin" nada mais é do que uma versão personalizada do Fedora.

Nessa versão, os usuários encontrarão um LiveCD com o sistema em Português do Brasil por padrão, já com o layout de teclado ABNT2 configurado, assim como os verificadores ortográficos do nosso idioma.

O spin contém toda a suíte de aplicativos de escritório BrOffice.org, que pode ser usada sem a necessidade de instalação no disco rígido. Além disso, a nova versão também conta com o Gimp e o Inkscape, ferramentas para desenhos gráficos.

O suporte aos usuários de teclados internacionais também foi aprimorado. Caso você utilize um teclado com o layout us-acentos e queira usar o método de entrada cedilha, basta selecioná-lo na ferramenta de configuração de métodos de entrada do Fedora.

Download do Spin Fedora BrOffice.org

Repositório de arquivos kickstart do Projeto Fedora

leia mais

Too many irc channels
I'm going to be dropping a few IRC channels, since i've realized i rarely pay attention to them, and they are distracting during work hours. If you're looking for me, there's always a million and one ways to reach me. Just letting those people know, in case they wonder why tab completion on my name doesn't work anymore.
RPM Database Corruption issues
Today i noticed that i was having issues with Yum and RPM on my work machine. It's running a fresh install of Fedora 12, so it's most likely something just weird and out of the ordinary happened. It probably had to do with yumex hanging and then killing it by hand. Fixing it was simple for me. I realized that the problem was most likely corruption, one google later, i knew which files to delete (and backup first) and what to do to rebuild the RPM database. Woot, everything back to normal.

This is a big fail whale. It has nothing to do with the coding skills of any of the RPM, Yum, or Yumex maintainers, and i'm pretty sure between them and the PackageKit guys, they've gotten more than a life's share of flames and trolls already. This is a failure, because if i were the average user, say my dad, after smacking the keyboard once or twice to get yumex to continue working, i would have restarted the machine. Then i would be just as stuck.

From where i see it, telling someone to try to rebuild their RPM database on the command line is error prone and coudl just make things worse. Fortunately, the process itself is pretty simple. You backup some files, delete them, and run rpm --rebuilddb. The entire process should just work, so long there aren't bigger failures. From the perspective as a sysadmin, i know that if the RPM database is broken on a server, then chances are other bits, like package headers could be missing or corrupted too. Running such an operation as a knee-jerk reaction would be wrong. On a desktop though, that chance is there, but there's also a better chance that the database got corrupted due to something such as a power outage, or a well placed boot up the computer's sphincter. Such a process, including said backup, would be relatively non destructive if presented in a 'recovery toolkit' of sorts for the end user. Especially, perhaps, if there was a way to verify that the package headers were intact from the last known good configuration.

So in all seriousness, when these things go wrong, how can we offer an option to the user to try and recover the system?
Prebuilt distributions part 1

Previously I took a look at unpacking Fedora and Ubuntu live CDs to find out what’s inside them and to ask the question can we use the prebuilt filesystem image that these live CDs contain to quickly create a Fedora or Ubuntu “all-defaults” virtual machine?

This is my first attempt, and it’s not successful, but it does demonstrate a large and interesting guestfish script doing a non-trivial amount of work.

This script:

  1. mounts the prebuilt filesystem from either a Fedora or Ubuntu live CD
  2. creates a disk image with a 200 MB /boot partition and a single / (root) logical volume covering the remainder of the disk
  3. uses the cp -a command to recursively copy the prebuilt filesystem to the disk

Where it fails is that “cp” isn’t very fast. On my local machine it took 18 minutes to copy all the files across, which means this isn’t a practical “instant install” method. (I didn’t in the end try to boot the final disk image).

In part 2 this week, I’ll look at the approach that anaconda takes: It dd’s the disk image and then runs resize2fs on it to expand it into the available space.

In part 3 I’ll compare this approach to others: virt-install, manual installation, kickstart, cobbler, debootstrap and ubuntu-vm-builder.

The script itself follows after the cut:

#!/bin/bash -

function usage ()
{
    echo "virt-prebuilt.sh live.iso disk.img size"
    echo "  where 'live.iso' is a Fedora or Ubuntu Live ISO"
    echo "        'disk.img' is the target disk image"
    echo "        'size' is the target size in Gigabytes"
    exit 1
}

if [ $# -lt 3 ]; then
    usage
fi

# Make the commands to unpack the ISO.
# See:
# http://rwmj.wordpress.com/2009/11/21/looking-closer-at-fedora-ubuntu-live-cds
case $(basename $1) in
    ubuntu-*.iso)
	mount_cmds="
mkmountpoint /t1
mount-ro /dev/sda /t1
mkmountpoint /fs
mount-loop /t1/casper/filesystem.squashfs /fs
"
	;;
    Fedora-*Live.iso)
	mount_cmds="
mkmountpoint /t1
mount-ro /dev/sda /t1
mkmountpoint /t2
mount-loop /t1/LiveOS/squashfs.img /t2
mkmountpoint /fs
mount-loop /t2/LiveOS/ext3fs.img /fs
"
	;;
    --help|-help)
	usage
	;;
    *)
	echo "$1: unknown ISO image type (must be Ubuntu or Fedora ISO)"
	usage
esac

# Work out size of target LV.
target_boot_mb=200
target_lv_mb=$(($3 * 1024 - $target_boot_mb - 128))

# Run guestfish.
guestfish -x -a "$1" <<EOF
# The source ISO will be /dev/sda.  The target drive will be /dev/sdb.
alloc "$2" "$3G"
run

# This mounts up the ISO filesystem on /fs
$mount_cmds

echo fstab on target:
cat /fs/etc/fstab

# Make a separate /boot partition on the target disk.
sfdiskM /dev/sdb ",$target_boot_mb ,"
mkmountpoint /target
mkfs ext3 /dev/sdb1

# Make the root LV.
pvcreate /dev/sdb2
vgcreate vg_live /dev/sdb2
lvcreate lv_live vg_live $target_lv_mb
mkfs ext3 /dev/vg_live/lv_live

# Mount up the target disks.
mount /dev/vg_live/lv_live /target
mkdir /target/boot
mount /dev/sdb1 /target/boot

# Copy everything across.
time cp-a /fs /target

unmount /target
-unmount /fs
-unmount /t2
-unmount /t1

echo Done.
EOF
Fedora 12.
I have installed fresh Fedora12 without problem. Running ,loving . Nice release congratulations.
You can download it here.
Problems with the Fedora 11 Re-Spins

I'm having trouble creating a Re-Spin for Fedora 11, as you might have suspected given the number of Re-Spins released by Fedora Unity for this number 11 release.

This time, it is networking in the installer image that isn't at all functional. I suspect changes to NetworkManager, released as an update for Fedora 11, have caused the dependencies to shift, and those dependencies might not be in the installer image (install.img) nor the initrd.img.

To troubleshoot such things is rather difficult, and takes up a lot of time. Maybe I'm just being inefficient at it (any hints can go to kanarip@fedoraunity.org please!).

Anyway, I just wanted to let you know that that's what causing the hold-up.

multi-computer photo editing workflow?

Does anyone have any suggestions for a good workflow for editing a large set of photos using at least two and probably three laptops? It should be able to do f-spot-like tagging and favorit-ing of pictures, as well as cropping, simple color adjustments, etc. Goal is for Krissa and I, working together but often on our own machines, to turn 5,000 unedited honeymoon pictures into a smaller, organized, cropped, etc., set of pictures.

I’d love to just use f-spot, but as best as I can tell there is no way to share an f-spot collection (files+metadata) across multiple machines/user accounts- happy to be wrong on that count if possible.

Upgrading to Fedora 12 in college

Well, most of my college department labs run on Fedora but they are passionate followers of the “If it ain’t broken, don’t fix it” school of thought. They’re still using Fedora Core 5, which feels like eons ago. I myself started using Fedora from the last core version, 6. I was wondering whether they would upgrade any of those labs, which are all now unsupported, of course! I’ve spoken to the person managing one of the labs, and he told that it’d be nice to upgrade if there were no issues.

So, after I’m done with my end semester exams, I’m gonna go try and convince the lab in-charge to install Fedora 12 before students start using the lab for the next semester. Hopefully there won’t be any compatibility issues now. These days, all the problems are with proprietary OSes. I once tried to install the latest version of one, but had to spend the better part of a day searching for drivers. So I just kicked that out of my PC, and it is pure once more.

I’d need to explain him the need to update it asap due to what is a vulnerability on publicly accessible computers: The unrooted installation permission.

And having exams wrapped around the release day sucks, I’ve just downloaded the 32 bit and about to complete the 64-bit DVD. My desktop has been running Fedora 12 since the beta versions, and has never had a problem.

I hope to go one step forward, and start using the SSN-CTS open source lab for something useful to the community. There’s a long way to go, but these first steps are what count,

Preparing for FUDCon: Toronto

As we start upon this holiday week (in the US) I am pulling together my resources in preparation for the Fedora developer conference the first weekend in December.

Part of this process includes making my introduction to the Fedora group, gaining access to several mailing lists, joining IRC channels, and of course updating this blog.

So far this has been an interesting learning process.

On the technical side, I am ashamed to admit I got on IRC for the first time this week, that and I still didn’t figure out the SSH bit for adding myself to the Fedora Planet blogroll and instead had someone do a hack to get me on. I feel like my geek cred went simultaneously up and down - I suppose staying even isn’t so bad. ;)

On the personal side I’ve had two great people step up to help me out both in terms of getting connected and getting a better grasp on the different things going on right now in the Fedora community. So thank you to both Mel and Mairin for that!

For those of you on Livejournal, I’ve syndicated Planet Fedora in order to make it easier for me to keep up with, perhaps you’ll find it helpful as well!

To get more familiar with Fedora as an OS, I am working on taking my Dell Mini 9 (my fieldwork laptop) and figuring out how to install the latest Fedora release on it (it came with Ubuntu). I have yet to even begin research on this! I figure it will be my pet project starting tomorrow. If you have tips or know of any resources that may be helpful, please pass them along!

Lastly, I’m going to put together a loose list of things to discuss while at the conference with everyone interested in this research. It being an explorative study, it is open to any and all ideas the community is interested in exploring about itself.

As a part of my research I’ll be conducting interviews at the conference. If you are interested in being interviewed and you think you’ll have time at the conference for it, please let me know! This way I can start a list prior to the conference and we can be sure to make time while we are there to talk. I’ll be happy to do this individually or in groups. Just let me know your preference.

If you won’t be at the conference, or would like the participate, but don’t think you’ll have time while you are there - don’t fret! I’ll be conducting interviews through the end of January either in person (for those local to Dallas), online (email/IM), or over the phone/skype. So if you’re interested in that let me know as well!

As always, if you have any questions as to what this is all about, who I am, or why I am doing this research feel free to email me at diana [@] cyber-anthro.com.

Gobby – Free Collaborative Editor

Despite the fact that the team I’m currently on only has around 8 people, we still manage to span three different time zones. Needless to say, it’s not exactly simple for us to gather around a whiteboard and hash things out. With our move to using agile process techniques (more on that in other blog, it’s a beefy topic), we had a monthly need to be able to work on user stories and tasks together. For a while, we tried frequent saving to a single wiki page, but that had a few obvious limitations.

After experimenting with a few different approaches, we found ourselves regularly using gobby. I took the post title directly from their site, but it doesn’t do justice to just how fluidly it all comes together.

Gobby lets everyone logged into a gobby server type at the same time on the same document. Ugh, even that doesn’t showcase how cool it works in practice. The changes are sent in real time to every user, which both provides a very seamless collaboration environment as well as lets my teammates know just how bad I really am at typing (I’m even worse when I realize other people are watching me mistype every third letter).

The screenshots on their site are a little small. And frankly after trying to take one myself, I realize why: text doesn’t shrink well. Anyway, I tried to take one from our last sprint planning meeting to give an example of what I’m talking about (click on it for the full sized version which looks a bit better):

Gobby

Each person who logs into the gobby server chooses their own background color. Whenever a user types something, those changes are highlighted in that user’s color, which (in our case at least) is less about ownership and more about differentiating changes. Again, realize each user can simultaneously type in the same document, which leads to an incredibly collaborative environment. And yes, seeing a document come together in different colors like that just plain looks cool.

G++ on FreeBSD

The following version of GCC shipped with FreeBSD 8.0-RC3 is reportedly unable to compile this C++ code.

g++ (GCC) 4.2.1 20070719  [FreeBSD]Copyright (C) 2007 Free Software Foundation, Inc.This is free software; see the source for copying conditions.  There is NOwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

It is trying to copy parameters being passed as constant references.

November 22, 2009

Maemo 5 SDK on Fedora 12
It is possible to install the Maemo 5 SDK (final) on Fedora 12. It only takes two minor edits to the installer script. You first need to make sure you have installed Xephyr. You can do so with the command:

$ yum install Xephyr

since the installer is not able to do so for other distributions than Ubuntu and debian. You can download the GUI installer script from Forum Nokia: Maemo 5 SDK.

In the file maemo-sdk-install-wizard_5.0.py you can change line 129 to

SB_PATH="/opt/scratchbox"

It is just optional. But to me this location feels more appropriate then '/scratchbox'. On my system it is linked to another location with other hardware and software development tools.

The current version of the script seems to fail on Fedora because of not being able to install scratchbox due to a missing path.

Change line 2311 to:
exec_cmd(sb_installer_fn + opt + "-s " + SB_PATH)

Change line 2351 to:
cmd = "%s -d -m %s -s %s" % (sdk_installer_fn, self.__sdk_inst_m_opt_arg, SB_PATH)

This includes the Scratchbox path during the command invocation. You can then install the SDK by running the script. It will handle the download of PyQT and sip itself.



After the install you can start Xephyr. However you can not use the -kb option:

$ Xephyr :2 -host-cursor -screen 800x480x16 -dpi 96 -ac &

The first start of af-sb-init.sh failed for me with a coredump and several segmentation faults. try to close the scratchbox environment and try again.



Note: I haven't tried it with SELinux as enforcing since I currently run my workstation as permissive. Discussion is possible on the Maemo developer's forum posting.
Lookaside cache improvements
First, prior to the meat of this post, I'm going to give some background since not all readers of the planet are packagers :)

For those that might not be familiar with our packaging environment in Fedora, our spec files, patches, and other small type things are stored in CVS. Since CVS is not suited to storing large binary blobs (read: source tarballs), there is something that sits alongside CVS called the lookaside cache, which is used to store these things. When they are required by koji, the buildsystem, it goes to get the source from the lookaside cache, all the applicable patches and spec files from CVS, and builds a SRPM which finally gets built into binary RPM's.

Up until yesterday, this lookaside cache was a big black box to Fedora packagers. There was no notification provided that a file was uploaded to it. This presented a minor, but plausible, security issue for our packaging process whereby a rogue individual could upload a doctored tarball of the next upstream release of a package, with an identical md5sum to the upstream version, and no one would ever know (if an identically named file with an identical md5sum exists in the lookaside cache, no upload is done). With this new enhancement, the package owner will be notified, and can take corrective action if he finds it necessary.
Reblog this post [with Zemanta]<script defer="defer" src="http://static.zemanta.com/readside/loader.js" type="text/javascript"></script>
The Doomsday Algorithm

Work out, in your head, the day of the week corresponding to any date — eg. today is 2009-11-22, a Sunday — using this method. (Wikipedia page, but I recommend the first link). If you stick to just years from 1900 onwards it’s very simple. Could be a geeky ice-breaker at parties to tell people what day they were born on.

I’m fairly certain I remember a TV one-off in the 1980s where some unfortunate autistic man was subjected to a “Mastermind“-style interrogation. The only thing this poor man could do was tell the day of the week for any date. Probably he’d stumbled upon this method …