Older blog entries for deven (starting at number 22)

(Sorry about the length of this; I'm sick of it too. Jump to the last section for a new topic...)

You know, I really don't care what my "status" is. Certify me as a summer squash, it doesn't matter. I'm merely frustrated at being denied the ability to fully participate on this site, and there are times when an interesting article is posted where I'd like to join the discussion. But, because I'm not in the "in" crowd (not certified by someone close enough to the seeds to matter), I'm arbitrarily excluded, whether or not my contribution to the discussion might be worthwhile.

For example, I posted this diary entry because an article interested me enough to sit down and try playing with some code to come up with something that seemed interesting. Once I had something working, I wanted to post a reply so others in that discussion could see what I came up with. That's when I first discovered that I had become decertified. Having nowhere appropriate to post the message, I decided to post it as a diary entry so it wouldn't be a complete waste of time.

Nobody reading that article would have any reason to expect to see a reply in a diary entry, though it was relevant to the discussion there. I was arbitrarily barred from participating in that discussion because the certification system is now turning away the majority of people. I thought maybe it was a temporary glitch; I tried to send email to Raph (but no email address was on this site, so I had to guess), and I mentioned it in that diary entry. Then I left it alone for a month before trying to draw attention to the problem.

If it was just me, I would have dropped it much sooner. Indeed, after some people certified me and I was listed as an "Apprentice", I could have quietly gone about my business and it probably would have ended there. The only reason I continued to discuss certifications is that I believe the system isn't working as intended, and I was concerned that many people were being excluded that shouldn't have been. (The fact that there's more Masters than Apprentices and more uncertified accounts than certified seems to suggest that something is out of balance, doesn't it?)

Let's ignore any research goals Raph may have had for this site. Even taken solely as a site dedicated to serving the free software community, does it truly serve the community to be excluding most of the people who come along, people who might become more motivated to contribute to free software based on their participation on this site? Doesn't it make more sense to get as many people certified as Apprentice as possible, to encourage them to get more involved in free software?

As long as you don't throw open the gates so far as to let the spammers and trolls in, wouldn't having 3,000 Apprentices instead of 300 be better for the community? We want as many people as possible to involve themselves with free software, right? Exclusionary practices are great for a clique, but hardly form the basis of a welcoming community.

Could the certification system be improved? I don't know, maybe. Do I know how it should work? Not at all. I've got some ideas, but they're untested. Raph has put a lot of work into design and analyzing this system, and I don't want to second-guess his algorithm, since I don't completely understand it and can't promise to offer anything better.

It does seem counterintuitive to me that your vote is trusted less and less the more you use it; I should think that people who are trusted to make good decisions should have all those decisions considered equally good, not devalued for each additional one. Then again, Slashdot has a "meta moderation" system that doesn't seem to work as well in practice as it does in theory.

Discussion and brainstorming alternative algorithms would be interesting, but that sort of thing belongs in an article (where I can't participate right now), not in diary entries. However, other possible algorithms probably can't really be understood without testing them, which probably means someone would have to setup a new site for the purpose. (Wouldn't want to endanger the functioning of this site if the theory doesn't work out!) If I really cared that much about it, I'd make a new site to experiment with it myself, but I'm not sure I want to get into that just now.

So I wouldn't recommend that Raph throw out his algorithm, but I think some of the numbers could use some tuning. There are over 1,000 Masters and Journeyers, but only four seeds. Why not 50 or 100 seeds? Don't count Observers or Apprentices, and just take the top 50 or 100 strongest certifications, and use those people as new seeds. (Or just select from Masters; there's over 300 of them too.) Once you have the new seeds, play with the numbers for distance from the seed, the threshold for certification, etc. The current algorithm would probably work much better with some tuning.

hacker: I withdrew most of my certifications only after ncm knocked me back down to Observer by withdrawing his certification. So, as an Observer, presumably my votes were already worthless. Even if I become barely certified again, what's the point of spreading my meager voting power out so thin that it barely helps anyone? I might as well focus it on someone I know personally, who could be a worthwhile member of this site.

If certification was only a matter of what "status" tag is associated with you, and what color you're associated with, I really couldn't care less about it. People will judge you as they're going to, and obsessing over it helps nobody. However, on this site, certification is the dividing line between the "haves" and the "have-nots", where only the "haves" can fully participate on the site. This may be effective at keeping out the spammers and trolls, but it also relegates most of us to our little ghetto where we can post diary entries here, but that's all we can do.

I don't think that was the intent of the system, yet by raising the issue for debate, I get ostracized for it. Don't shoot the messenger! I didn't design this system, and I didn't create this artificial divide. While I could go elsewhere, I think this is a worthwhile community that I'd like to participate in. However, maybe I won't be allowed for daring to point out that the Emperor has no clothes. It's not my fault that things are the way they are, and blaming me for shining a light on the problems isn't going to make them go away. At best, it might make me go away, but the problems would remain if I left.

I'm not very familiar with Blogger. (Though I much prefer the term "weblog" in general -- "blogger" sounds strange to my ears.) Slashdot is a system with very little barrier to entry, and it's very active. It's also filled with spammers and trolls, though the moderation system doesn't do all that badly. I don't mind having a barrier to entry high enough to dissuade spammers and trolls, but the barrier here is much higher than that.

With more people turned away than accepted, it becomes more of an elitist clique than a welcoming community. If that's what Advogato's masters and/or denizens want, so be it. If the true goal is the avowed purpose of furthering free software, I don't believe that is achieved as well by being exclusionary as it would be by being inclusive. Yes, you want to exclude spammers and trolls because they deliberately harm the community by lowering the signal-to-noise ratio dramatically. But why exclude anyone else who is there to share in a common purpose?

And yes, people are being excluded. I didn't come here to post diary entries; I have a homepage which is really a better place for that. It's just a strange twist that "diary" entries have turned into a substitute for actual discussion forums, probably because so many people are prohibited from actually joining the discussion in the real forums under the articles. These "diary" entries have largely transformed into an unstructured free-for-all discussion forum, as evidenced by running threads of conversation between different people via their diary entries. Of course, this free-for-all has no protection at all against spammers and trolls, which is really ironic.

At the time I arbitrarily chose Master (I basically flipped a coin), I said that I haven't "visibly participated" much in the community. I didn't claim to be the author of an "important" free software project (who decides what's "important"?) and I didn't expect anyone else to certify me above Apprentice for a very long time. And I didn't care. I expected to have to wait a few weeks to find myself certified before i could really participate, and I was prepared for that.

As I've said before, I decided to arbitrarily certify myself as "Master" based on my skills, even though I didn't match the full description. I knew my visible contributions were meager, but I intended to remedy that over time. Since I never expected anyone else to certify me as a Master or even as a Journeyer, I figured it really didn't matter what I selected. None of the descriptions really fit, so what was the point?

Besides, haven't you ever had a teacher ask you to write down and turn what you think you deserve for your grade in the class? In those cases, you always say "A"! Even if you feel like you deserved a B, why sell yourself short? If the teacher thinks you deserve a B, that's what you'll get. Think of it as a "positive visualization" thing. I didn't expect to be certified as a Master, and didn't even want to be, but I think I have the skills to qualify and as for the rest, I was trying to "visualize" it, which was a large part of the reason I selected it. I would have selected Journeyer, but I'm better than "competent" and I do want to make significant contributions to free software. I just haven't figured out the best way to get from here to there, with all of life's obstacles.

Instead, I was certified as "Journeyer" almost immediately (quite to my surprise) and thereby became embroiled in a debate about the certification system, which I never wanted. Now here I am again, stuck in a similar controversy that I never wanted, for the heinous crime of wanting to be able to join the discussions around me. Forgive me!

Yes, I've heard that rms isn't really Richard Stallman, and it certainly doesn't ring true. RMS would probably never come to a site like this, but you can bet he'd have a lot more to say if he actually did! It feels like an imposter, but without asking RMS himself, I can't prove it isn't him. But I doubt it, and I know others do too. (Has anyone actually asked him?)

Do you think I want to spend all my time discussing certifications? Certainly not! I'm sick and tired of arguing about it also. If it was a primary interest of mine, I would have asked Raph if I could work on mod_virgule, or started my own site to test alternate theories. Maybe I will sometime, maybe I won't. For now, I have other things I'm more interested in.

The truth is, I don't care about certifications at all when it comes to the supposed "status" they may represent. I only care about being excluded from full participation on this site. I don't want to go to Badvogato, because I share Advogato's goal, to further free software. Honestly, part of the reason I want full access on this site is simply because I'm hoping that being active here might help motivate me to get out there and actually get more work done on free software projects. Being in the company of like-minded folks tends to help with that, which is exactly why I'm concerned that so many people are excluded just as I am. It just seems like a lost opportunity to get people motivated to work more on free software...

Let me try to change the subject here...

This whole debate has reminded me that I'm not making any progress towards releasing my conferencing system as open source. I decided many months ago that I want to go ahead and release it, but the name is a major stumbling block. As I mentioned before, the system is currently named "Phoenix", but I've been wanting to pick something new, with an available domain name to go with it. I'd prefer to change the name as part of the process of releasing a 1.0 version, just because it seems more confusing to change the name after it's released.

Unfortunately, almost all of the good names in the DNS are already taken, and even most of the bad ones too. If anyone has any bright ideas here, I'd love to hear them, and soon. I'm starting to believe that the search for a new name could stretch out indefinitely; I've already been on the lookout for a new name for years, literally.

The one candidate I have right now is "gangplank", and I was able to register "gangplank.org" for it. (I figured I may use it for something else if not this.) It's a strange name, but it's a real word, and easy to remember and spell -- even if it really has no relevance to the project. It's even harder to find a good name that's meaningful. (One of my favorite ideas was "Nexus", which I love as a name, but it's been used for many things and of course there's no domain available for it.)

So, hacker, do you have any thoughts for me about this? Should I just run with "gangplank" because I don't have anything better? Should I keep waiting for a better name to fall into my lap? Do you like the name or hate it? (I found it sounded truly bizarre at first, but it grew on me later...)

The sooner I figure out this name dilemma, the sooner the software will be released! :-)

11 Jul 2001 (updated 11 Jul 2001 at 23:33 UTC) »
ishamael: I'm pretty sure Raph has said that Advogato was created specifically for his research, and that the free-software side of it was more of a free benefit than the impetus for creating the site. However, I'd agree that most of the users of this site are more interested in free software than Raph's research.

I wouldn't have withdrawn my other certifications, but it's clear that each one dilutes the effectiveness of the others, and my vote obviously is nearly worthless already. If focusing it all on the one person that I know personally might help him get certified, it seems logical. I'm a third-class citizen here; I obviously don't have enough voting power that I can afford to spread it around...

I wouldn't have so many posts regarding certification if (1) I hadn't needed to respond to so many attacks against me and (2) the certification system wasn't excluding the majority of accounts from using most of the system. Theory-wise, it's interesting to discuss the certification system and whether it can be improved. In practice, I don't want to be discussing who certified who as what; I've only used that as examples of how the system seems not to be working well.

I'd rather be talking about free software. In that vein, you asked about alternatives to Bugzilla -- have you looked into the Debian bug-tracking system? I've heard it's a bit of a bear to install, but from the user perspective it works nicely, and it integrates smoothly with email for the user... (This might be the bear part to setup, though.)

P.S. Since the recent diary entries page only seems to show the last entry from a person, note that I posted a number of other responses already today...

dmerrill and Phoon: I did now post some of the contributions I've made, regarding Mozilla and MMURTL. I'm still looking for a good name to release my conferencing system under, which I think qualifies as a "useful project". Nevertheless, I'm still not asking anyone to certify me; it's up to each individual's judgement. But I'm documenting a few things because everyone seems to want justification just to be given the ability to post here! (I can understand wanting justification for Journeyer or Master, but for Apprentice? Isn't that supposed to be easily obtainable by anyone but a spammer or troll?)
Telsa, that conferencing system is the project I've been planning on releasing as open source for quite a while now. (I'm thinking probably under the QPL at the start.) Know what's holding me up? The name!

It's currently named Phoenix, but I've wanted to pick a different name for a long time -- I'd like something that has an available domain name to match, which really narrows the choices down! While browsing through some available DNS names, "gangplank.org" caught my eye. It's kind of arbitrary and meaningless, yet memorable and not a made-up word. Figuring that it would be useful for something, I went ahead and registered the domain.

I'm still debating whether I should rename Phoenix to Gangplank or keep searching for a new name. What do you think? (Anyone! Bueller? Bueller?) Any other name ideas? (Please, only names where a *.org, *.net or *.com name is available to be registered!)

Yes, I could release it under the current name, but it seems cleaner to rename it before releasing it, so I'd rather do that. As soon as I make a final decision on the name, I'll probably release the code shortly thereafter. Who knows? Maybe the certification police will even consider it worthy of "Journeyer" certification! ;-)

ncm: Gee, thanks. Hope you're enjoying your little power games. I never understood why you had certified me in the first place, since you were the one who originally singled me out as "abusing" the system...

Isn't it nice to know that you're a first-class citizen and your single vote can swing the balance? Meanwhile, sixteen second-class citizens can certify me, but their votes aren't worth as much as yours. Dandy little caste system we've got here, isn't it?

deekayen, why should I be slammed? What did I do that was so horrible, besides draw attention to the fact that the certification system isn't working as well as it used to?
Malx, you're right -- the recent diary entries page is completely vulnerable to spamming. And with the majority of accounts uncertified, is it a surprise so much of the conversation has drifted here?

And no, I don't think you should be "Observer" with all your certifications. That's what I've been saying; the system seems to be broken -- in effect, not necessarily failing to implement the algorithm. Maybe it's the algorithm that's the problem, or (more likely) the tuning of weights and seeds. (Can it be made self-correcting?)

11 Jul 2001 (updated 11 Jul 2001 at 22:40 UTC) »

From an advocacy perspective, I've made another contribution to free software which hasn't been realized yet, but I believe it will be. I contacted the author of the MMURTL operating system, who used it in his book, Developing Your Own 32-Bit Operating System. I tried to convince him that releasing his OS as open source would be good for the community and for sales of his book, which he is self-publishing now that SAMS has discontinued the title.

After a few weeks of lobbying between myself and another person (who prefers public domain to open source), the author said we had convinced him. He has publicly stated that he intends to release the code into the public domain once he has sold 30,000 copies of the book. He's sold about half that many so far. (I think he'd get to 30,000 faster if he releases the code now, but he picked that number as a fair return on the 5 years of his life invested into writing the operating system and the book.)

So, the code hasn't been released yet, but he wasn't even considering it until I suggested the idea, at which point he became very thoughtful about it. Later, someone else talked him into not only releasing the code, but into the public domain! Either way, it seems likely that he will release the code at some point, and he might never have made that decision if it weren't for my advocacy.

Stuff like this is hard to quantify, but I still believe that it contributes to the free software community. I've done this sort of one-on-one free-software/open-source advocacy for almost 14 years now. I don't do public speaking like Eric Raymond, but I think every little bit helps...

11 Jul 2001 (updated 11 Jul 2001 at 22:23 UTC) »

You want an example of a project I've contributed to? I've contributed to Mozilla a bit in terms of reporting some bugs and participating in discussions about a number of other bugs. I've also sat down with thousands of lines of Mozilla code, searching for an incremental reflow bug in the HTML tables -- I didn't get as far as finding the bug, due to the sheer complexity of the application and even that small area of it. I did spend many hours testing and debugging it anyhow.

I've contributed a lot of ideas about design and architecture in Bugzilla, but wasn't in a position to implement any of them. In fact, I offered to implement a new cache manager system (because the old one was horribly broken and linked to many bugs), but nobody seemed interested, and one of the core developers did it his way instead. (Had I tried to write it myself, that time would have been wasted.) I recently offered to work on code to implement asychronous DNS queries without relying on a system's resolver libraries; again, nobody seemed very interested. Just after Mozilla was released in 1998, I was interested in writing a TELNET client for it, but again nobody seemed interested.

Here's a list of the Mozilla bugs I've personally filed:

7617 (apprunner reformats during mouse click on or tabbing to link)
7621 ([PP] Tab key doesn't advance to next field in a form.)
24518 (Initial paste into URL field inserts Japanese or Chinese!)
63892 ([RFE] "View/Edit Live Page Source" mode.)
65508 (Download progress dialog ["Saving File" window] shouldn't be a transient window)
65521 ([linux] modal dialogs should only freeze parent window (not all windows))
65526 (middle mouse button should work on personal toolbar)
65614 (Scaled images with width or height by % endlessly redisplay)
70361 (SEGV in [@ JS_GetFunctionObject] on submission from Bugzilla)
70363 (Inconsistent Build ID on nightly build!)
70479 (Broken menus after applying theme.)
70498 (Should the middle mouse button be overloaded?)
70501 ([RFE] The middle mouse button should work more consistently.)

Here's a list of additional Mozilla bugs where I've participated in the discussion to some degree:

6085 (Middle-click on link should load the link in new window)
6119 (View page source tries to reload page)
7201 ([FIX]When printing pages w/frames, frames print on separate pages [print][frames])
22687 ([RFE] PGP Plugin)
28212 ({table-reflow} Clicking on URL dynamically resizes table cells)
29429 (Clicking in textbox or on a link moves content)
30917 (implement DNS caching and request cancelation)
39057 (File > Quit can be chosen by users intending to use File > Close)
39957 ('Save as...' not fetching from cache)
40867 (Need means to reuse/reload current page without refetching from server)
52798 (gif img in table with width=100% blinks rapidly (flashes, flickers) (can happen without tables) [layout])
55312 (Paste (using middle button) of clipboard contents that come from a remote window fails)
55583 (view-source should show original source (use cached source))
56346 (Need to cache *all* pages for session history purposes)
57724 ([meta] View-source munging pages)
60426 ([rfe] Allow users to choose between generated and source html in view-source)
63445 (tables incorrectly widened to 100% width)
67161 (Need `progress' type for windows)
67442 ('open link in new window' doesn't work all the time)
67574 (Can't open (some) menus after switching themes)
82151 (Right arrow key at end of a TEXTAREA goes to the beginning)

If the qualification for Apprentice is "contributed in some way to a free software project", does this qualify as enough of a contribution for at least that level?

I try to make time for Mozilla, because I consider it to be a tremendously important project. I've done what I can, but it's very hard to actually contribute new code to a project that's so extremely large and complex. If I could make it my full-time job to hack Mozilla, I would, but I can't afford to quit my job and spend all my time on it unpaid; I have a family to support. So I can only do it in my spare time, of which there isn't much.

With over a million lines of code, and a slow computer (Pentium 200 MMX), it's not trivial to track the CVS version and keep rebuilding it. It's even harder to figure out what code to contribute and how to do it, because the system is enormously complex and it's been a fast-moving target all along. I don't want to spend lots of time learning how to use one interface only to have it discarded because the system was rearchitected yet again. It's probably getting to the point where it should be more stable now, but it still takes time I haven't had to learn the API's.

I'd still like to write a TELNET client implementation in Mozilla (I've implemented the protocol on top of TCP before), but I wouldn't have a clue how to begin. I could use a "Mozilla mentor" for some guidance in getting started, but nobody seems available for that purpose, and I don't have time to go searching for one. I probably need to start hanging out in the #mozilla channel on their IRC server, but that takes time and energy in and of itself.

Maybe I should have ignored Mozilla and picked something smaller to work on; I made a deliberate choice to focus my available efforts on Mozilla whenever possible because of the importance of the project. Unfortunately, it's a very daunting project to work on when your time is very limited...

Given that every certification appears to dilute the others, I've removed all certifications I had given to others, except for geoffeg, who is personally known to me. Although people are encouraged to certify others liberally (especially as Apprentice), it doesn't seem to help, so I'll be minimalist for the moment.

13 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!