>That seems to imply that Sqlite might be a better option than
>MySQL/MariaDB because we do *not* want to require people to install a
>working database server before Citadel can be installed.
Devil's Advocate from an Armchair Programmer:
these days, if you bundle an app as a
> 2023-06-20 15:02 from IGnatius T Foobar
>Subject: Re: Long term plans for phase-out of Berkeley DB?
>
> Heh. Most of the database layer is still pretty much the same code
>you wrote 22 years ago. You did a great job on that.
As I recall, I interpreted their
> 2023-06-15 13:32 from IGnatius T Foobar
>Subject: Long term plans for phase-out of Berkeley DB?
>
> A bit of thinking out loud with regard to long term plans for Citadel
>Server.
>
> Berkeley DB seems to have gained a bad reputation in the open source
>community.
>"docker exec -it my-citadel-container /usr/local/citadel/setup" to set
>the administrator password.
A traditional way to do this might be to set an environment variable on the
first boot of the container.
It's good practice to keep the containers as self-contained as possible;
32 is the value for maxWorkerThreads that we use in a variety of our
(Java-based)
backend service Tomcat instances for the AJP pool tuning. Default values in
the hundreds proved to be too resource-hungry; and, empirical load testing
has often found a point of diminishing returns (on a
>So, no cleanup if there's no connections after a period of time. Any
>thoughts on settings for minimum or maximum worker threads?
You'll Never Need More Than 32. As long as they're not blocking for long
periods.
> The design I have in my head right now is to write the engine in C and
>the UI strictly in HTML and JavaScript. If done right, we can keep
>most (all?) of the HTML out of the server engine, and also avoid the
>need for a template engine.
these days, it seems the state of the
Coding a web-UI layer in C was certainly a highly atypical design decision.
Eh, commercial code is supposed to be boring, no fancy techniques, coded
near the lowest common denominator of what the typical programmer can
understand.
Take the fun out of a hobby project? My *commercial* projects sometimes look
like such a test bed. Don't tell anyone I said that...
Also, to be clear, some of our new interfaces are for desktop. These will
also use knockout-js.
Please phrase your question in the form of a question.
For the record, IT'S NOT MY FAULT.
popen (/usr/sbin/sendmail), seriously. why do everything in a monolithic
multithreaded process when it clearly *isn't working* ?
threads. It's been well argued that by simply giving every activity
its own thread, you let the operating system do on its own what you
were trying to do manually, and the computer can do it better than you
This has its limits. Doesn't work for compute-intensive tasks where you're
This is essentially a cooperative/preemptive hybrid scheduling.
Ok, even having not worked on citserver is like 10 years, I can see some
design problems implied in this stack trace.
end_critical_section is calling, indirectly, do_housekeeping, which is calling
the network spool.
Think twice about holding locks while talking to external resources,
Bug report: I'm seeing intermittent problems - only with the text client? I am posting this now from WebCit, which I have rarely otherwise used in years, but does not appear to suffer the same fate at the moment.
Lobby - 0 new of 2207 messages.
*** There are no new messages in this room.
Lobby
---
U N C E N S O R E D !
---
-= Semper Ubi Scoobi Doobi =-
Enter your name: loanshark
Please enter your password:
LoanShark
Access
We do that every Monday. Welcome to startup land.
There should be no requirement to kill any thread other than excess
workers
No. There should be no requirement even to cancel excess workers. Don't
use pthread_cancel, just set a volatile variable somewhere and wait for
them to die gracefully.
(Actually, I personally just use a
It was thoroughly tested though but it with it haveing been disabled it
may
well be out of sync with other code.
Where's the coverage analysis?
Agreed. Fixed size thread pool is simple and all you need. Graceful
shutdown however... pretty much any Citadel thread should be assumed to be
touching the database and should therefore be politely asked to shut down
when the citserver shuts down.
He's right, of course ... the StrBuf class, the template engine, the
new readloop ... all of these improvements are conceptually nice, but
the implementations all needed a lot more testing than they received.
Sounds like stuff that could have been covered with automated unit
Virtual Functions: no need for that.
No, sorry, but once you start writing unit tests in the large scale, you
will understand. Code needs to be written to maximize unit-testability.
When you write code that's designed to be testable, you will do things
that you wouldn't have done if
Sep 9 2009 5:19pm from IGnatius T Foobar @uncnsrd
I like the idea of unit tests, but I don't understand how they can be
applied to code which implements a user interface -- which happens to
be where the bulk of our bugs are right now. How is that normally
achieved?
I don't think there's a good reason to call c inferior. One won't reach
the
Didn't call C inferior, I called C++ inferior. (To other OO languages.)
We've got selenium to do that with firefox. Openqa.org has a pretty good
linklist of other tools; This would be blackbox testing, right?
What you are talking about is not unit testing, it's automated functional
testing, and I don't really have a lot of experience or interest
i'm not sure that the OO sucks. My main beef with C++ is its complexity
and the fact that the ISO keeps making incompatible changes to the syntax
(let alone the libraries.) But complexity is not the same as plain old
suckage, if one is willing to learn. There are a lot of things to like
READ THE README FILE. READ IT SEVERAL TIMES.
fsck that noise. We are men. We don't need TFM.
or if you must use C++, do it right, don't do it halfway. use overloaded
operators for EVERYTHING.
http://en.wikipedia.org/wiki/Short-circuit_evaluation
solution to Ford's crap, don't use C++. seriously. Objective-C or
Smalltalk, if you must, but please, no C++.
Unless you need to use Qt. ;)
Nothing wrong with UTF-8. As far as Unix is concerned, it's Just Another
Multibyte Character Code.
the test for res_query should not be removed, and it needs either the
test for resolv.h to precede it, or to have resolv.h in the includes
parameter for the test.
I don't know of any systems that have a resolver library but not
resolv.h. However, it's conceivable that on some unknown
IG, I think include system-auth is fairly new, but by new I mean newer
than the original PAM implementation in Citadel, which dates wy back
to an old redhat...
so I think you're good to go...
Gotta feature request: user configurable RSS feeds in personal rooms. I
want to feet http://www.mountwashington.org/weather/comments/rss.xml but I
really doubt anyone is interested besides me... except maybe Aahz ;)
s/feet/feed/ ... i don't think anyone wants anything to do with my feet
either.
I've got it set up as a LiveBookmark in Firefox, but IMO LiveBookmarks
suck and Citadel provides a superior user interface to RSS.
RSS is a freakin' newswire. I want it to show up the way a newsfax would:
in my inbox. It should come to me, I shouldn't have to go to it.
LiveBookmarks
It does that, but as far as I know it's not user configurable (by a
non-BBS-sysop user.)
It has nothing to do with POP3 or IMAP... we already have support for RSS
feeds into rooms, and we already have per-user private rooms, I think it
would be nice for the combination of the two to be user-configurable.
no, I'm talking about something that doesn't need any shell access to the
underlying machine.
Do you think I'm am idiot, dothebart?
Because you're sorta stating the obvious; believe me I know exactly what
I'm asking.
IMO, NunniCMAX is unacceptable for the simple reason that it appears to
have no webpage and no information available except for mailing list posts
that are all written in Italian.
XML.com: Overview of Expat
Under namespace processing, expat consumes xmlns and xmlns:... attributes, which
declare namespaces for the scope of the element in which they occur. ...
www.xml.com/pub/a/1999/09/expat/index2.html - 33k - Cached - Similar pages
I would also consider Xercies C++ SAX on the short list, however.
Sorry Xerces.
I would regard namespaces as a must-have feature and schema validation is
a nice-to-have.
You can do namespaces without schema validation but you can't do schema
validation without namespaces.
You can parse documents that declare a schema without doing schema
IMO, don't hardcode things is a general good practice and a good
suggestion but it's becoming clear to me that if you want to make good use
of AJAX you need to start with a clear vision of what you want your user
interface to look like.
Don't hardcode things is a substitute
Sorta, not really...
The Model is just a Domain Object. It's relatively sparse on actual
logic, just represents data.
The controller (and the actions that it invokes) is where all the fun is.
The browser is one controller, and there's always another controller
(perhaps
thought I'd mention,
www.zimbra.com has a full-on email/calendaring app done with AJAX.
(and a big open source[Mozilla/Apache license] ajax toolkit now part of
apache kabuki)
I tend to mentally model everything in terms of relational theory, so the
whole vcard thing doesn't resonate with me.
Address books should probably be a first class object in the database
that can be linked to by various other objects (such as users for their
private address books,
IG, an alias should be a room. You should be able to configure an SMTP
name for all rooms. then when you go in to edit a room (ANY room) you
should be able to specify (if you're an aide) network distribution
parameters for that room, which could be IGnet, outgoing email echo,
well, yeah, address books should also be usable as templates. that is,
you can call up a window to compose a blank message, then say add
everyone on address list to the To: field of this message and then remove
some of the recipients for this specific message...
yeah you need to type handle sigpipe ignore pass noprint I believe.
There has never been a problem with linking GPL, LGPL, and MIT code.
maybe. the old style BSD license was always supposed to be a problem.
haha, run openssl under valgrind --tool=memcheck sometime, the results
are hilarious in the BN_* functions. But I doubt that's actually a
problem...
hy, i've tried building packages from latest svn, and it seems as if
^^^
Did I miss something? When did we get to Disneyland?
Sounds good. belated applause
62 matches
Mail list logo