Showing posts with label free software. Show all posts
Showing posts with label free software. Show all posts

Wednesday, September 1, 2010

Ubuntu 10.04: Pulseaudio, nfs, automounter and my dismay

I upgraded to Ubuntu 10.04 last night. Ouch.

My first problem was that, suddenly, the automounter was going totally berserk. It would randomly mount/unmount all of my NFS filesystems. I couldn't do anything.

This morning, I found the solution to that problem, but that only served to further confuse me: pulseaudio was freaking out over not being able to create a file under ~/.pulse. I deleted that directory and suddenly my automounter worked again... OK, that's spooky. I'm assuming that pulseaudio was loading audio drivers on startup and the fact that it kept re-starting meant that the module interface was constantly being banged around, resulting in poor service for any calls to loaded drivers. Surprising my system was stable at all, if that's the case.

Anyway now I'm finding lots of horrible little problems:

  • Rythmbox used to hide itself when you clicked on its notification icon... no longer
  • Pidgin seems to have been put into tabbed window mode by default which is painful
  • Evolution seems to squirrel your password away and use it for the password to your keychain... this means that when your password changes, you have to remember the old one in order to access your saved passwords. It seems like this should at least come with a big red button labeled ("just start over") so I can stop having the password dialog box pop up.
  • System services are no longer managed by the standard init.d script interface. Joy, a non-standard init. Just what I needed.
  • Process names are getting more and more absurd. The fact that something is running on my system called rtkit is deeply wrong. I nearly had a heart attack before I googled for it (of course, it's not alone: liboobs was one I saw scroll by as I was installing)
Overall, 10.04 does not impress me. It seems to have been put together as a way to prepare for future updates rather than as a stable starting point for long term support.

PS: Another issue just cropped up: outbound mail from evolution seems to have been silently failing all day. I finally realized that people weren't getting my mail and went to check the settings. Sigh.

Monday, November 2, 2009

Blackra1n, Cydia and SBSettings

I've just re-jailbroken my iPhone (mostly to fix a problem introduced by upgrading to 3.1 without first uninstalling the jailbreak - never do that), and I ran into an SBSettings problem. It installs fine, but once it's done installing, it doesn't do anything. I swipe across the top of the screen and nothing happens.

If you just used blackra1n to jailbreak, and SBSettings won't work for you, here's what you do (props to this forum for the fix):
  • Re-install Cydia from the blackra1n interface
  • Re-install dpkg (this may show up as "Debian Package Manager" or similar) from Cydia
  • Re-install SBSettings from Cydia
  • Re-boot the phone
This worked for me, and got my SBSettings install working flawlessly.

Monday, May 11, 2009

World of Warcraft: Toward a better addon infrastructure

[ note: this proposal has been updated in order to improve tone and add in some additional material that resulted from conversations with WoW addon developers and users ]

It used to be that there were a fairly large number of sites that hosted WoW addons. It also used to be that there were 4-5 reasonably well-maintained programs for updating them. Some, like WUU, worked well with all manner of sites. Some, such as Curse, provided download access only for their own service, others were open to all services.

That's changed of late. Consolidation was followed by exclusion of external download clients which was followed by reduction of non-pay functionality in the proprietary download clients. Some of this happened because of abusive third parties which I don't want to discuss here. Many addon authors are fine with this. Many users are fine with this. I don't question their wisdom, but I do see an opportunity for a better way, and because I have considered distributing my own addons someday, I'd like to make there be more options and flexibility for developers while improving my lot as a user.

Here is the proposal:

Developers of addons sign up with the hosting service of their choice. Services that are not purely WoW-related, and which have more liberal download policies than existing WoW hosting services include:


Each service will have to be analyzed to make sure that the intended patterns of access won't violate their terms of service, but I'm pretty sure that services like Google simply won't notice the impact while Sourceforge might. We shall see. Some mod authors already use some of these services, so there's nothing terribly new, here, so far.

Anyway, returning to infrastructure. The next phase is to build a map of these addons. This is not an end-user consumable item, and shouldn't be confused with existing attempts to make lists of addons. Instead, it is a structured document (in JSON, XML, whatever) that represents a method for developers to communicate with their users and inform them of what they provide and how they wish to provide it.

A short list of items to be included in this structured document include:

  • Name of addon
  • Official URL
  • Bug reporting URL
  • General public release direct download URL
  • One or more pre-release direct download URLs
  • Logo direct download URL for display in download clients
  • List of addons enclosed (for UI bundles and addons in several parts)
  • Licensing type

There need to be two points of access for this file: one is a read-only point that allows addon download clients (such as Curse or WUU) to pull down the entire list. The second must allow read-write access in a secure way that allows addon authors to update their hosting and versioning information. A simple RESTful interface should be sufficient to provide both interactions, and could easily be hosted by a small GAE or EC2 service. Someone might even donate the resources to run such an app, but the cost should be nominal even if it has to be hosted on donations because it's not providing access to individual addons.

[ side note: previous versions of this proposal suggested that the document/database should be licensed in such a way that one valid use was to create a third-party Web site based on it. I now believe that this would be a mistake, and that it should have a license more like the IMDB database: allowing free access to it, but not use in creating Web sites. This is to improve communications between users and developers and avoid hurdles in users providing feedback and bug reports. ]

For the service, we must establish authorship in a secure way. There are many ways to do this, but I think we'll have to start by placing all existing addons into the database as dummy entries, but establishing that a given authorship claim is valid can be complex. Most likely this will have to be accomplished in much the same way as search engines validate ownership of Web sites: by providing a "cookie" that the owner must place within the addon. This means that only addons which have a working direct download link will be "claimable". All others will remain dummy records, preventing other users from claiming authorship of a new addon of the same name.

The last component would be modifications to popular downloader clients such as WUU to enable access to the central data and developer repositories. This would need to include the ability to play nice with each hosting provider's means of access (perhaps as simple as downloading via HTTP or as complex as cloning a repository and extracting a given version, depending on the service). Along with this, we would also need a simple command-line tool (preferably that works under Windows, Mac and Linux) that allows authors to submit their updates without having to cobble together their own queries.

I think the benefits of such a system would be massive. For starters, end-users wouldn't have to go to several different sites in order to update their installed addons. For users with 50+ addons installed, this is a great boon. For developers it provides a way to initially select whatever hosting service best suits their needs (note that existing developers may not, at this time, see any direct benefit, nor particularly care; that's ok). For hosting sites, the situation is more complex. Of course, they would prefer not to have more competition from sites that have been doing project hosting for years. However, I believe that in the face of strong and open competition, these services will be made better and stronger. In the long run, I think it will help them as much as developers and users.

The linchpin is the centralized repository. [ note: can even the repository be distributed... sure, but I think that's version 2, as it introduces lots of complexity ] It needs to be rock-solid and very, very simple (complexity breeds downtime). I intend to start working on a prototype system, running from my home network for now. That prototype will be released to a few friends. If you're an addon author or download site maintainer, please let me know if you want to get involved by posting to this article on essays.ajs.com (I'm going to mirror this article in a few places).

Wednesday, April 29, 2009

Free and Open Source Software: Why It Works

In a recent exchange on Slashdot I made the assertion that free software was possible because of the lack of manufacturing costs. I'd like to elaborate on this because it's critical to non-technical people understanding why free and open source software (FOSS) exist and why it's possible to do things in the software world that have comparisons only in the print publication world, and even then have economies of scale that cannot be compared.

In the 1970s, a man by the name of Richard Stallman decided that he had had enough of software that he couldn't modify. He was a brilliant "hacker" in the old MIT sense. He loved to tinker with software and hardware and make it do exactly what he needed, not what a manufacturer told him it should do. This kind of inventive tinkering was the heart of the electronics revolution of the two generations that preceded Mr. Stallman. It was nothing new, but something had changed. In the age of radio or aerospace, engineers could tinker on their own to a certain extent. Math has always been free and parts for many enthusiast projects related to electronics were within reach of the average person. Now, however, Richart Stallman and others of his peers were discovering that they could distribute the products that they developed to a world of collaborators and users without either having to manufacture anything or rely on the expertise of the recipient to reproduce results (e.g. to build their own electronics). Software could be moved electronically over networks that were comparatively cheap in relation to any other product and still retain its full utility without re-assembly.

At first, this process was still only applicable to savvy computer professionals. Software was often shipped in source code form to save space and improve portability, but as networks became faster and platforms more universal, these concerns dropped away. By the 1990s, free software was in use by many who had no technical understanding. The advent of the World Wide Web put these products in the hands of millions and allowed them to find them easily without retail distribution. Anyone using the Firefox browser is a testament to this.

There is another dimension as well. Companies began contributing to FOSS. Why? They all had their own reasons. Red Hat was founded on the distribution and support of FOSS as a business model, and what they found was that there was a large and lucrative market in giving software away for free and absorbing minimal manufacturing and distribution costs while providing optional support services. Even the costs involved in contributing to hundreds of these projects directly (and founding many) was not a barrier to their financial success because of the economies of scale.

Google, on the other hand, used FOSS for their infrastructure and found that contributing to these projects allowed them to develop software for their proprietary use more rapidly than their competition while creating large amounts of good well. Google Code is a tool used by Google and hundreds of developers to coordinate their efforts of FOSS. Similarly, IBM has used FOSS to leverage their vast stables of programmers and develop products as well as provide professional support services.

All of these companies contribute to FOSS because the costs that they save themselves and their competition do not dramatically impact anyone's bottom-line, and free them to consider their core competencies. It is because of the order of magnitude lower manufacturing and distribution costs of software, enabled by the Internet and earlier communications media, that have transformed this industry and continue to do so. Now that bandwidth costs have come down, even larger media are beginning to be impacted. Music and video sharing are a growing sign that the free software model may be ripe for those industries as well, which have only recently begun to seriously interact with electronic distribution.