Older blog entries for cdfrey (starting at number 31)

I just noticed something new in the advogato pages. When looking at a user, you get the following warning:

    Note: By certifying a user you are making a public statment that you know this person and can vouch for their identity.

When did this happen?

I must disagree with this sudden pseudo-gpg keysigning level of certification, especially since this warning is now retroactively applied to people's previous certifications, by mere virtue of being tacked on the bottom of the list.

I've written about the issues surrounding the certification process before. The above warning was never on advogato's pages before, or surely someone would have told me about it in response to earlier rants.

I also disagree that such a strict level certification is even practical. Is it really the goal of advogato to shut out the unknown? If so, this would seem to be a new development.

None of the people who have certified me know me personally. Are they all supposed to delist me?

Like it or not, I think Advogato is a virtual community, and has to live within its means. Not everyone can go to the effort of vouching for another user's identity, especially if said user lives in another country, or another continent. The best way is still to judge by their output as best you can.

I publically state that my certifications are not based on what identity I believe a user has, but on the simple binary decision of whether I believe their output qualifies as worthy to be seen on Advogato. (i.e. not an abuser or a spammer) The Journeyer setting is that binary switch for me.

Charging the BlackBerry on Linux

    For those of you with BlackBerry devices plugged into your Linux machines, you've probably noticed the frustrating fact that no matter what you do, it only asks for 100mA, and then complains that it doesn't have enough power.

    And yet in Windows, it all works seamlessly.

    Debugging this was a challenge, because I could not seem to find anything special happening on the USB level, when I used either USBSnoop on Windows, or usbfs_snoop on Linux with VMware.

    Turns out there was a bug in the usbfs_snoop logging code, which you can fix with this patch (or wait for the next kernel release).

    With this patch, the full proprietary USB conversation is exposed, and quickly duplicated for Linux. You can download the juicy results at the Barry project site. Look for bcharge in the SourceForge file downloads section.

    Happy New Year!

robogato: Very cool, thanks! If that is an official subversion repository for advogato, it would be cool to have it on the Show me the Code page.

You're only looking at it from the customer's perspective. What about the stress of competing for that 100kph job? Are the wages the same? If that fast dude gets injured or loses his job, are the safety nets the same? Maybe they are, but you didn't mention them.

I've seen fast sandwich makers in Canada, too; although they don't seem to be that numerous.

My list of mailing lists is getting so large that I now have a class of mboxes that are more archive and reference than something I'm actively interested in.

Here's an update for those following my newmail.cc mailbox reporter program.

I added the capability of listing archive mboxes in your .newmailrc with a value of -2. Then you can selectively hide/show this second-tier list of mboxes with the -H and -S switches.

I also added an environmental getopt() that behaves the same way as getopt(), but prepends the command line options from an environment variable ahead of the argv[] options.

env_getopt() seemed like something that somebody would have implemented before, but I didn't see anything like it in my web search. I may have reinvented the wheel. Anyway, it is now implemented as GPLv2 in case others need the same functionality.


Advogato also has XMLRPC, with which you can do programmatic access to your diary. I do this in the hope that it saves advogato bandwidth.

Below is a small python beginner script that I cooked up just for this task. It checks the dates of the posts and saves the new ones as individual files.

If someone finds it useful, please feel free to use it. You can download it here.


import xmlrpclib import os import difflib

def Download(filename, entry): print "Downloading: " + filename out = open(filename, "w") create, update = server.diary.getDates("cdfrey", entry) out.write("%s\n" % update) out.write(server.diary.get("cdfrey", entry)) out.close()

def GetTimestamp(filename): inf = open(filename, "r") s = inf.readline() inf.close() return s[0:len(s)-1]

def Update(filename, entry): print "Updating: " + filename filetime = GetTimestamp(filename) webcreated, webupdated = server.diary.getDates("cdfrey", entry) if( filetime != webupdated ): print "Entry %d is out of date" % entry if os.access(filename + ".bak", 0): os.unlink(filename + ".bak") os.rename(filename, filename + ".bak") Download(filename, entry)

oldf = open(filename + ".bak", "r") newf = open(filename, "r") oldl = oldf.readlines() newl = newf.readlines() print ''.join(difflib.unified_diff(oldl, newl))

path = "/home/cdfrey/text/advogato/posts/" server = xmlrpclib.Server("http://www.advogato.org/XMLRPC")

entryCount = server.diary.len("cdfrey")

for entry in range(entryCount): filename = path + "advogato.%03d" % entry if os.access(filename, 0): Update(filename, entry) else: Download(filename, entry)


Thanks for sharing the link to those chess problems. It reminds me of a paperback book I picked up last year called Bobby Fischer Teaches Chess. It's full of problems like that, taking the reader from beginning backrank mates to more complex combinations. It's a very fun book to read, especially the second half, as you hold the book upside down.

The thing I've found is that chess problems, and the Bobby Fischer book, only helped my end game, and the planning, if I remember to do that. It is the opening that can make or break a game, and I've had many games broken by a bad opening.

I'm experimenting with lightening games lately, and while I lose almost all of them on time, I find it is a good way to practice openings, and to force my brain to work faster.

Maybe I'll see you on freechess.org. I have the same handle there. I'm still very much an amateur.

The last month has been kind of a mental lull for me. Slow progress everywhere.

But alas, I'm finally back on the Barry project after a few months' detour on other critical issues.

The libusb project has undergone an API redesign over the last few months too. It's all in the devel tree. If you're following libusb, and wondering why things are not being updated, make sure you're looking at the SVN repository, not CVS as its website says. :-)

Since Barry depends on the devel tree of libusb, there has been some porting needed in Barry, and some hacking needed on libusb. The last little while I've been reading through the libusb code, and adding libusb_wait(), libusb_poll(), and libusb_abort() support, which are critical if you want to use async calls and still avoid a threading library.

Still lots of work needed in Barry. It will be nice to have a working libusb and test setup again soon.

redi, thanks for the comment. The Journeyer policy is not about accuracy of the ranking system. That's not really my prime concern. I'm concerned that newcomers that are even remotely worthy have a chance to become part of the advogato community. And since I don't know a newcomer until he's participated for a while, it is improper to judge his merit based on his opening post.

So I'm stuck with two conflicting goals, and a merit system that combines them into one ranking: 1) should he be part of the community, and 2) what is his worth.

I want to answer yes to #1 and never make a judgement on #2. Hence Journeyer is the most appropriate ranking I can give.

I seem to be on an opinion editorial streak lately. A reply to another blog post turned into a blog entry of its own that I thought I should post again here.

    I don't know why people are buying radio either. Sirius satellite radio seems to me to be a replay of cable TV. I'm sure someday people will want to play commercials on it after sufficient people have paid and joined.

    If you're already paying for something, you shouldn't have to watch commercials with it as well. But greed and cost cuts seem to make things continually worse in our commercial world.

    I was reading more information on Sirius at Wikipedia. One of the interesting things mentioned there is that the Howard Stern show was voluntarily not available in Canada. i.e. the company itself chose not to make it available.

    This should send warning flags to anyone technically savvy, and anyone concerned about freedom for the consumer. Isn't satellite radio supposed to be available everywhere in North America? Isn't that one of the draws of satellite? Then how can the company choose who gets to listen to certain shows?

    From the wikipedia article, it notes that satellite radio receivers can display the name of the song. That implies digital.

    So either there are different satellites for the US and Canada (could very well be, I don't know), or it's digital and protected with some form of DRM-like technology (Digital Rights Management). Maybe both.

    DRM is coming to your computers, your TVs, your computer monitors, and your radios apparently. And its primary purpose is to shift control away from you the listener, and to the broadcaster or content producer.

    This leads to grey market activities, just like with satellite TV. People pay to get hacked or "illegal" access to content that should be available anyway, or that would be available if older technology was used. There is no way to segment your audience with conventional radio, but apparently there is with satellite radio. And you're paying for the privilege!

    This kind of thing burns me up, if you haven't already guessed. I urge everyone to be wary of technology like this, and vote with your pocketbooks. Unfortunately, not everyone has the technical savvy to notice when these chains are placed on them, or they just don't care. The former I can try to help with information. The latter are aiding their own captors.

    On a political note, Sirius Satellite radio in Canada is backed by the government-funded CBC. This is even worse. For one thing, it calls into question the entire business model of Sirius radio. I'm sure CBC programming is being funded publically. What does this imply for the other shows? Is Howard Stern completely funded by his share of the Sirius subscription fees? Or does he get other funding? What about the other radio shows? If the subscription fee doesn't cover the whole cost of production, it's almost guaranteed that commercials will arrive someday.

    Then we'd have the worst of all worlds: a content restricted by DRM, with commercials, that you pay for! Agh, why doesn't anyone see this?

    In addition, CBC shouldn't be anywhere near commercials, or subscription radio. This is a publically funded operation, not a commercial enterprise. The minute you allow commercials and alternate streams of revenue to influence your public broadcaster is the minute you undermine the whole reason for having a public broadcaster.

    I'm sure this is what some people want. It is definitely not what I want. I want a strong, publically funded broadcaster that is not beholden to any commercial advertisers, and whose only goal is to produce quality, Canadian news and entertainment. There has to be a balance, and we already have lots of commercial media. It's the public media that is hard to maintain and needs to be maintained.

    Even the CBC website has banner ads now. What am I paying my taxes for!?

22 older entries...

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!