Here I am, with sixteen certifications now, and again the system doesn't even consider me to be certified at Apprentice level. Come on! How many does it take?!?
Here I am, with sixteen certifications now, and again the system doesn't even consider me to be certified at Apprentice level. Come on! How many does it take?!?
Thanks, hacker. I do realize that more than one certification might often be necessary, but how much is enough? It seems like a single Apprentice certification from a Master should be sufficient to get certified as an Apprentice; I've seen one Journeyer certification from a Journeyer make the person in question qualify as a Journeyer. Those first 9 certifications seem like they should have been enough, but somehow they weren't.
Now I'm wondering if each additional certification somewhere else in the system that doesn't connect to you dilutes the value of the certifications that you did receive, allowing you to fall back below the threshold...
I want to thank the several people who added "Apprentice" certifications to me today; now the system finally says that I'm certified. I still think there is something amiss with the certification system.
Let me review just the first nine certifications:
How many certifications does it take? edw has 4 certifications (not counting himself), and is currently certified at the Apprentice level. Why wasn't I considered certified at all with 8 certifications from other certified users?
Is there some kind of "anti-certification" going around, that miniver and I have been tagged with, or what? Why would I have previously been certified and suddenly become uncertified? This is very confusing...
It's been broken for over a month now, with no explanation. I've got NINE listed certifications, but the system won't let me post because I supposedly haven't been certified!
By the way, I finally switched over to Mozilla as my primary web browser in November, 2000. It still has problems, but it's usable enough that I've stuck with it. I'm still a bit disappointed with the longstanding bugs and frequent regressions, but I don't have a better alternative right now. (I'm not a KDE fan, but I wonder if I should try Konquerer anyhow? People keep raving about it, and it can supposedly use embedded Mozilla for HTML rendering...)
Well, I don't know what's going on, but the system isn't acknowledging any certification for me anymore despite the NINE certifications currently listed on my public page. :-(
I was going to reply to nmw's post in this article about LISP and interned strings, but I guess I'll have to "reply" here for now. He said "Try doing that in Python, or Perl, or Tcl. You just can't, [...]" Well, I wondered about that, so I thought about whether something of the sort could be done in Perl, my preferred HLL.
Here's what I came up with:
sub AUTOLOAD {
my($sub, $space, $name) = $AUTOLOAD =~
/^.*:((?:(.*)_)?(.*))$/;
$interned_value{$space}{$name} =
int($interned_value{$space}{""}++)
unless exists $interned_value{$space}{$name};
eval "sub $sub { $interned_value{$space}{$name}; }";
goto &$sub;
}
The idea is to reference undefined subroutines like &foo_bar in the program, and the AUTOLOAD routine would create a new subroutine returning an integer index to use for a scalar array. The final underscore (if any) in the name would determine the namespace; &foo_name and &bar_name could end up with the same value. (The idea is to avoid wasting entries in a scalar array; think of "foo" and "bar" as structure names.) Once defined, the subroutines would continue to return the same value, which is kind of like interned values in LISP.
I don't know if this is actually faster, though. The subroutine lookup may well be slower than a hash lookup would be. However, this could be VERY useful to conserve memory if many similar data structures are used; using scalar arrays with interned symbolic indexes would be more space efficient than using many hashes with string indexes. (Hopefully a later version of Perl may have a more natural and efficient way to do this sort of thing.)
This isn't a perfect solution, but it does show that Perl is more flexible than it may appear at first. Of course, since Perl is pretty damn fast to begin with, tricks like this usually aren't necessary to get decent performance. Even with its more natural interned symbols, I doubt LISP can approach Perl's performance in general...
Okay, I was a little rushed to catch my bus the other day, so I didn't bother to put a link. The Kuro5hin story, "Release often, sure. But early?" would actually be an interesting topic for discussion on Advogato. Since there's already a discussion underway on Kuro5hin, if anyone has good ideas for me, I urge to you reply to my posting that I copied into my previous diary entry...
The RSA patent expires today! Okay, it's a moot point, since RSA released the algorithm into the public domain 2 weeks early as a P.R. stunt. Regardless, it's a Good Thing (tm).
The rest of this diary entry is a copy of a Kuro5hin.org posting, subject: "I wonder how common this problem is?"
I've been struggling with similar issues. I've got a conferencing system (fairly different from IRC, but similar idea) which I started writing in 1992. I've spent far more of the time since then not working on it than I've spent working on it. Nevertheless, it's about 10,000 lines of C++ code at this point, and it does some clever things.
I originally wrote the system as a simplistic tool to chat in real time with several family members, avoiding long-distance costs. It evolved over time to a halfway capable imitation of an older conferencing system I used years earlier at RPI. It's not quite as sophisticated yet as the experienced users of RPI's conferencing systems expect, and the interface seems arcane to many who are unfamiliar with those systems. Accordingly, there are only a small handful of regular users.
Currently, the source code is unreleased. I've often considered releasing it as free software (i.e. Open Source), but never quite felt ready to do it for a variety of reasons:
After recent reflection, I've concluded that my best course of action would probably be to release the code as Open Source, but not under the GPL at this time. I don't want to encourage a code fork, and I want to be able to maintain a pristine version of the code for now; I don't know that I'm ready yet to incorporate outside code and start the dilution process. I could maintain a patch pool of outside patches and possibly my own code fork, my code vs. the patched version. The QPL seems like the most appropriate license at the moment; I'd consider switching to the GPL at a later time.
Even so, I need to find some time to audit the code for things I really don't want to be seen, and to clean up some of the ugliest kludges, and to get the infrastructure setup, etc. I don't know when I'll find the time, but that's basically my current thinking.
Anyone have any thoughts or suggestions for me?
(Back to Netscape 4.72; still some annoyances with Mozilla, such as the fact that the Aphrodite package doesn't seem to be working...)
I'm tired from hearing (from ncm) about how awful it is that I self-certified as anything but Apprentice, because I don't have significant free software code contributions to point to yet. However, I can't in good conscience self-certify as Apprentice, because the vast majority of that description is totally inaccurate. Accordingly, I have removed my self-certification entirely; it seems the only acceptable solution. I'll re-certify myself as "Journeyer" when I have significant code to point to.
I don't appreciate being singled out for these attacks. I did the best I could with a very poor metric. Maybe I misjudged it. Aren't people (especially newcomers) still allowed to make mistakes? (Evidently not.)
According to ncm, any self-certification I choose besides Apprentice "reeks of arrogance". That makes every option unacceptable, which is why I removed the certification. Do I claim to be free from arrogance? No, I won't try to claim that. Am I more arrogant than average? Maybe in some areas, certainly not in others. Does it matter? Richard Stallman is one of the most arrogant people you could ever meet. Linus Torvalds is one of the most humble people you could ever meet. Both are acknowledged as Masters in almost any respect you'd care to consider. In the end, does it really matter?
Yes, I will make significant contributions to free software. Of that I am certain. I can't say for certain when, but I will. However, until I have something significant to point to (and maybe beyond then), I am staying out of this self-certification morass. I'll leave it for others to judge and incur the wrath of the Certification Police...
I guess I'll give Mozilla M17 a chance for a while. I hope I don't regret it like last time...
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!