Beefy Boxes and Bandwidth Generously Provided by pair Networks
XP is just a number

comment on

( #3333=superdoc: print w/replies, xml ) Need Help??

I have done a lot of modifications to our UBB at - and let me tell you it is the absolutely most horrible, inconceivably bad piece of coding turd piled upon coding turd. Not even Netscape Navigator's code competes in crappiness. It's bloated, slow, full of bugs. We actually have had a noteworthy amount of occurences where it corrupted data files due to the idiotic locking code; in fact, it several times borked up its threadlist flatfile, resulting in blank forums, when I deleted several threads at once (so I have taken to the habit of waiting the 3 minutes it takes it to delete each thread, before deleting the next, if I have many to kill).

In some stretches looks like a beginner's first programming excercise. Not just a Perl beginner's, but a programming beginner's. A nice tale I have is about my "optimization" to the admin function for searching users by various criteria. Because it stores the user records in numbered files, it maintains an alphabetically sorted flatfile userlist to associate names to their number. When searching for a user, the Infopop code reads this list, splits the lines, glues them back together to scalars using the opposite field order (a useless excercise), then in the loop splits it again and drops the number, only to call a subroutine to get the just thrown away number; this subroutine, get this, loads and splits the entire memberlist flatfile from scratch! For our 4000 user base, it was reading the same single file 4000 times per search, resulting in every single page of the results taking 7 minutes to bring up. Just by storing the thrown away number in a variable instead of using the subroutine for that, I reduced that runtime to seconds.

That people actually pay for this steaming pile of crap on a stick makes me shiver. That Infopop even crawl the net and ask people their licenses when they find sites having a UBB is of course legally justified but it feels like absurd audacity to me.

If you want my advice, switch software as soon as possible. (We are thinking about Ikonboard, but v3 is not yet ready and there is no UBB importer either.) If you don't care about loosing your threads I would in fact advise you get rid of that horrid insult to humanity ASAP

For the more constructive part: in case you're stuck with it, you are not likely to find any help with it outside or On the other hand, the data file formats or extremly simplistic - double-pipe separated plaintext files in case of threads, forum thread lists and such; member files simply contain one field per line and the only remotely tricky line is the one with the permissions (which you can likely ignore if you're just using the files for username+password). It's very simple to hack up because as far as I can tell they didn't spend more than 5 seconds of thought on their data structures.

(If you think I'm painting an excessively bad picture of the software, you're wrong. It's every bit as bad as you can imagine and then some.)

In reply to Re: UBB Ultimate Crappity Board by Aristotle
in thread UBB Ultimate Bulletin Board by LeGo

Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":

  • Are you posting in the right place? Check out Where do I post X? to know for sure.
  • Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
    <code> <a> <b> <big> <blockquote> <br /> <dd> <dl> <dt> <em> <font> <h1> <h2> <h3> <h4> <h5> <h6> <hr /> <i> <li> <nbsp> <ol> <p> <small> <strike> <strong> <sub> <sup> <table> <td> <th> <tr> <tt> <u> <ul>
  • Snippets of code should be wrapped in <code> tags not <pre> tags. In fact, <pre> tags should generally be avoided. If they must be used, extreme care should be taken to ensure that their contents do not have long lines (<70 chars), in order to prevent horizontal scrolling (and possible janitor intervention).
  • Want more info? How to link or How to display code and escape characters are good places to start.
Log In?

What's my password?
Create A New User
Domain Nodelet?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others browsing the Monastery: (5)
As of 2023-02-03 12:24 GMT
Find Nodes?
    Voting Booth?
    I prefer not to run the latest version of Perl because:

    Results (25 votes). Check out past polls.