Archive for July 2009

My ArchLinux Laptop Bag

One of the requirements for maintaining a blog on archlinux.me is to talk about Arch Linux. I haven’t done that at all. My compulsion to obey the rules is sneaking up on me.

Like Dave Crouse, I ordered an Arch Linux laptop bag from the Arch Schwag Shop. I picked the three-ways-to-carry District Threads Montezuma Convertible.

Its higher quality and more streamlined than I expected. I keep finding new pockets or neat features that I didn’t know about. Its a perfect size and exactly what I was hoping for. Its beautifully embroidered and looks great:
laptop bag

Profits from Arch Schwag purchases help support the Arch Linux project. If you’re in the market for a new laptop bag, (or jewellery, case badge, t-shirts, mugs, mouse pads, and more), please consider our merchandise: the bags are good quality for the price and very unique.

Disclaimer: I’m the maintainer of both Arch Schwag Shops. Thanks for your support and keep buying!

Distributors Don't Die

Abstract

The Internet makes it easy for artist and audience to connect directly, but it does not eliminate a market for distribution companies, as distribution costs are nonzero. However, these costs do not justify a royalty from every sale.

I have implied, or even explied* that distributors (record labels, publishers, movie producers) are not necessary in the Internet era because artists have direct and immediate access to consumers. We don’t need the middle man, and should not be creating laws to protect their business model when said model has no benefit to society.

In the past few months, I have been acting as a distributor. The author is my father, and the consumers are anyone interested in reading his writing. I’ve published two of his books online in html and epub formats and intend to add more works and formats in the future. I encourage anyone reading this to check out this new author, because as his publisher, one of my duties is marketing.

As a distributor for this author, I have spent many many hours proofreading and editing his work. I have spent many more hours designing his site and will be spending several weeks getting the books laid out for hard-cover and paper-back binding.

I am doing this for free as a personal favour to the author and because I believe in him and his work. In a normal business transaction, this is a service that somebody somewhere must pay for. Thus, there is still a market for distribution companies. There are two ways that they can expect remuneration.

1) The artist sells their work to the distributor and the distributor gambles that the work will sell. The publisher covers the cost of distribution and receives a royalty on each sale of the work. The royalty is very high to cover substantial losses should the gamble fail.

2) The artist pays an up-front one-time payment to the distributor for their services. An analogy is hiring a plumber to do the pipe-fitting for a public toilet. He doesn’t get paid for every flush.

Current recording, publishing, and movie networks use the former model. This model is failing. Next-generation artists are realizing that the second option means much greater income per sale. A surge of independent editing, remastering, printing, and marketing businesses will start to eat a larger and larger share of the distribution market as artists realize the greater return on investment. More competition means lower costs for artists seeking an audience, which in turn implies lower ultimate costs for audiences purchasing a work.

I offer independent book-publishing services including editing, proofreading, printing and online distribution. I’m learning as I go, so my fees are low. If you want to gamble that I can learn faster and cheaper than you can get a large publishing house to accept your work, get in touch.

The current record labels, movie producers, and book publishers are losing the oligarchical control they are used to. They don’t like this. They want to invent artificial laws that make it harder for artists to be published without their blessing. Please support your local Pirate Party.


*Explied is not a word, but if it was a word it would mean “explicitly stated”. I think it should be a word, therefore I encourage you to use it at your earliest opportunity. I made up this word, but google insists that I was not the first to invent it.

Canadian Copyright Consultation

The Canadian government is either making an effort or making a show of making an effort to consult with the public and other stakeholders on the issue of digital rights and copyright. I encourage all Canadians to post a response to them at this site: http://copyright.econsultation.ca/

Here is my response. The ideas and opinions expressed here are largely based on discussions we’ve had at the Pirate Party of Canada discussion forum. My opinions do not, however, necessarily reflect the opinion of the Pirate Party of Canada.

Feel free to plagiarize any parts of the following letter in your own letters to the Copyright Consultation.

—-
Dear Copyright Consultation Members,

My background: I am a freelance software developer holding a Master’s
degree in Computer Science from York University. I am an advocate of
open source software and member of the fledgling Pirate Party of
Canada. I understand the fundamental shift that Internet technology
has made on society, and am here to explain this understanding to the
lawmakers.

1. How do Canada’s copyright laws affect you?

Our copyright laws take all power away from both artists and consumers
and place that power in the hands of wealthy distribution channels
such as book publishers, record labels, and movie studios. As an
aspiring author, I cannot get my book published because the publishing
industry does not like my style. As a consumer, I cannot access music
at reasonable prices because the recording industry wants a huge cut.
I may not mind paying $20 for a CD, but knowing that the original
artist gets a small fraction of that is upsetting. I’d rather send the
entire $20 directly to the artist and download their music from
so-called “pirate” services.

The Internet is making these distribution channels unnecessary.
Authors can post books online and self-publish using online services
such as lulu or createspace. Musicians can post their music online
using Jamendo or Bittorrent. Independent movie producers can post
their movies online using hulu, youtube, or similar services. This
shift allows artists direct access to the consumers and vice versa.

The distribution channels are irrelevant; they know this and are
lobbying for laws to make it harder and/or illegal to access content
without paying them. This is like trying to pass laws that we all use
typewriters instead of e-mail because typewriters and the postal
system are no longer relevant. It serves a set of industries already
well-known for misusing artists and consumers alike.

How should existing laws be modernized?

The number one change is to reduce copyright term. Drastically.

A book published today will not be available to the public in my life
time. How is the original author compensated after his or her death?
Sony is making an obscene fortune off of Michael Jackson’s death, a
small fraction of that will go to his family. Why?

In addition, technology is now advancing at an incredible rate. a
century ago when our current copyright laws were introduced, things
moved in decades. Now they move in seconds. It could take years for a
book or recording to circulate and be heard by everyone in the
country. Now the entire world can read it in a week, and next week its
old news.

Copyright term should be shortened to 10 years for books, 5 years for
music and movies, 2 years for software, and 1 year or less for
medicinal knowledge. This would give artists and distribution channels
some compensation, but would increase the rate of knowledge growth by
at least one human generation.

Second, non-commercial sharing of data must not be illegal. It should
not be illegal for me to loan a book to a friend. It should not be
illegal for me to read a book to my friend over the phone. By
extension, I should be able to share it with them across any media or
time-frame.

2. Based on Canadian values and interests, how should copyright
changes be made in order to withstand the test of time?

The primary Canadian value at risk and often forgotten in these
discussions is privacy. We are a very private people compared to say,
the USA, although probably less private than most of Europe. Many
corporate lobiests suggest that people not be allowed to share data
they have paid for or use it in whatever way they see fit. The obvious
example is filesharing, but the logical extensions could lead to
charging to read a book every time you open it, or forbidding a person
from watching a movie at a friend’s house if they haven’t paid to view
it.

The privacy problem is that policing such laws would require knowing
every movie I watch, every book I read, and every packet I transfer
across the Internet. The authorities would have to read every e-mail
to ensure I haven’t attached an “illegal” file to it. This is clearly
a drastic invasion of privacy.

Another core Canadian value is the desire to create. Our country has a
very unique heritage with many unique works of art not created
anywhere else. If the large media outlets get their way, they will
have complete control over all creative works. They will get to pick
and choose which artists get shown to the public and which ones get
placed in the equivalent of a creative prison with no access to
potential readers, viewers, or listeners. We will be steered by US
corporate interests and our cultural works will be marginalized and
ultimately, lost.

3. What sorts of copyright changes do you believe would best foster
innovation and creativity in Canada?

As mentioned, shorter copyright term. That will:
a) force capable artists and inventors to come up with new ideas
instead of living off the fruits of a single idea for their entire
lives
b) allow capable artists and authors to ‘stand on the shoulders of
giants’ and reuse existing works in their own works and inventions.
They can constructively spend time improving existing works instead of
trying to circumvent other good ideas that they do not have access to.

4. What sorts of copyright changes do you believe would best foster
competition and investment in Canada?

Competition would definitely be served by shorter copyright term.
Companies and artists would need to continue creating, and would have
to sell their works with quality service and pricing.

Investment is a really tricky issue because it depends what other
countries are doing. I believe that if Canada had sane copyright laws,
there would be a “new-style” publishing industry cropping up here, and
artists may move to our nation to take advantage of direct access to
an audience. On the other hand, currently powerful companies would
shun investment in the new model. I believe such companies will become
irrelevant.

5. What kinds of changes would best position Canada as a leader in
the global, digital economy?

Such a question depends on what the rest of the world is doing. Canada
needs to look to Europe for inspiration as the USA has the most
powerful corporate anti-consumer backing. Europe has already elected
Pirate Party members focused on copyright reform similar to what I
have described. It is inevitable that massive reform, even revolutions
in copyright law will occur at some point; it is possible that wars
will be fought over it. Canada can be at the front of this movement by
changing our laws first, and by doing it the way we always do:
peacefully.

Dusty Phillips
—-

Offline Enabled Webapps And Open Source

I’m currently working on a rather simple Todo list application intended to meet the requirements I outlined earlier. I’m developing this as an offline-enabled webapp and while I haven’t gotten very far (don’t try it, it barely satisfies the most elemental requirements), I have some interesting observations to make:

First, the app is currently 100% Javascript. Its wrapped in a Django project because I’m going to have to make it online enabled at some point, but I wrote this app from the ground up to run in offline mode. This is a huge departure from traditional web 2.0 development (as of now, web 2.0 is to be considered ‘traditional’), where logic is mostly stored on the server and an ugly mess of ajax calls run that business logic on different events. Instead, I have a Javascript app that is surprisingly elegant. MVC under this architecture is basically SQLite (model), XHTML/CSS (view), and javascript (controller). Then I will have a workerpool to sync up with the server in the background.

As a result, the entire code-base for this app is being served to the web browser. So if you personally want to hack this app, you can download the source files from the browser. Basically, I can’t release this app as closed source. I could put a license on it forbidding you to modify or redistribute it, but you can still read the code; the source is open.

Of course, that’s not a problem for me, as I release most of my code as open source and its already up on github. But it could kill corporate migration toward offline-enabled web 3.0. Because while its one thing to keep your trade secrets locked up on the server and provide a few incoherent javascript calls that interact with that API, it is a completely different beast to put your entire app available for download as a .js file.

I suspect the open source movement has gained enough momentum that any companies who have these fears will simply be put out of business by more modern outfits that will spring up to take their place. Otherwise, either web 3.0 will fail to grab market share, or somebody will come up with a way to ‘compile’ javascript into a standards compliant byte-code so they can pretend nobody can reverse engineer their app. This would be a damn shame as its a politically-motivated technically useless layer of complexity on a web based architecture that I am finally happy to be working with.

WhoHasMy Home

I finally took the time to move WhoHasMy from my personal shared host to its new home on the Webfaction account we won in the competition that gave birth to it.

I’ve also updated WhoHasMy to include a few bug fixes I had been working on. I think I moved all the data from sample accounts that had signed up on the temporary host, and everything “seems to be working”.

Going forward, we have plans for several improvements to the project and hopefully turning a small profit on Amazon affiliate links. However, I think all of us are still recovering from the intense initial development during the dash, so there probably won’t be much new code going into it for a while.

Offline-Enabled Web Apps: The Future

I was reluctant to join the world of web development. I started in high school with a few sites and realized several things: Javascript sucks, Internet Explorer sucks; therefore web development sucks.

Fast-forward through a couple academic degrees. Job hunting with one requirement: Python. Python jobs all require Django.

So I learned Django, assuming, incorrectly, that if I was developing python backends, I wouldn’t need to work with the horrors of Javascript or Internet Explorer. I earned money. I relearned Javascript and became a first rate web developer.

In the back of my mind I still felt that web development sucks. So a few weeks back when deciding on a platform for a personal project, I thought I’d try something new. The Android platform was in my hands and I gave it a whirl.

I didn’t enjoy it much and I am now rewriting the app as an offline enabled webapp using Google Gears.

Then Chrome OS was announced and I realized that I’ll probably be doing a lot of offline enabled webapps using Google gears and/or HTML 5. Like it or not, it’s the future. Me, I like it. There are a lot of advantages to this kind of setup: I can access the apps from my phone, my laptop, my parent’s desktop, or Phrakture’s hacked computer whenever and wherever I want. I don’t have to write a different client for each one. Its true ‘write once, run anywhere’. I can upgrade each of those clients automatically as long as there’s a network connection.

On that note, you don’t need a network connection to run HTML 5 or Google Gears based apps. They both provide a ‘localserver’ that caches pages and javascripts, and give you an SQLite database for data caching. Typically offline versions of apps are not as powerful as their networked counterparts, but they do not require network access to run. Further, because they are locally cached, they can be made to run as fast as a “standard” (old fashioned) desktop app. The apps run in the browser, but the browser is just a container, a window manager, to hold the application.

In traditional webapps, you code most of the logic on the server side. In this new model, you end up coding most of the logic in the client, because the app needs to run without a guaranteed server connection. For me, this has a massive, nearly show-stopping drawback: A large portion of the app must be written in Javascript. JQuery makes Javascript suck lest, but it still sucks. I’m a Python programmer.

For years, I’ve dreamed of browsers supporting tags that allow me to write my DOM manipulation scripts in Python rather than the ubiquitous and annoying Javascript. This wasn’t possible because python can’t be adequately sandboxed such that arbitrary scripts running on the web don’t have access to, say, your entire hard drive.

This is no longer true. The PyPy project finally has a complete Python 2.5 interpreter that can be safely sandboxed. Since discovering this at Pycon 2009, I’ve been thinking about interfacing it with a web browser.

I figured “somebody must have started this already”. Google didn’t help much, but when I logged into #pypy on freenode I was told “fijal started doing that with webkit yesterday”. I’ve been following up trying to get the project to build (I was warned that the build process is a mess and was invited to wait until it is cleaned up a bit). So far, no luck, but I am optimistic that python support is finally coming to the browser. Granted, it won’t be much use for public webapps (at first) since browsers won’t want to be distributing pypy, but a lot of my projects are personal, and satisfying the general public will be far lower on my priorities list than ‘developing in my preferred language’.

I’ll have to install a pypy interpreter into Chrome Lite under Android before this is useful to me. That may be tricky.

Pirate Party of Canada

I have never considered myself a political activist. I rarely vote, believing that “low voter turnout” is a more telling statistic than “voted for one of several fools at random”.

I’ve always been unimpressed by the Canadian democratic process. There seemed no alternative to leaving the handling of our nation in the hands of whichever babbling, bumbling bozos happen to get elected. None of them ever really did anything to directly benefit me, but they never seemed to cause much harm either.

I also never tell people who to vote for. We all have different views and needs and you have both a right to and reason for completely different opinions.

But I can advertise! If you haven’t heard about the Pirate Party and its recent success in the European Union, you may want to read up on it. Its goals are to reform copyright laws such that authors and consumers are treated fairly and distributors no longer wield the increasingly evil and technologically obsolete powers they are lobbying to protect.

If you’re Canadian, I encourage you to read about Bill C-61 and consider the implications it will have on our country’s future. Its goals are to reform copyright laws such that authors and consumers are criminals and distributors have a complete monopoly on the increasingly evil and technologically obsolete powers they currently hold.

Read up on these topics and form your own opinions. Then, if you feel angry or threatened, I suggest heading over to http://piratepartyofcanada.com and lend whatever skills you have to this nascent Canadian political party.