March 7th, 2001

schema documentation

I wrote a nice little web-based schema documentation editor. I had half of it done before, but I finished it up now and have begun to use it to document the database. Once people understand the schema I can give other people 'schemadoc' privs, but for now I think I'm about the only one that understands it, so I'll document it. Bleh.... not so bad, though.

Progress so far. I don't think that belongs in /admin/, btw... what's a better URL for it? /dev/ ?
  • evan

(no subject)

I wrote a Win32 checkfriends client.

Run the executable, enter your username and password, and it will flash in your tray every time a friend updates.

Known problems:
- It's difficult to "unpop" the menu after you've popped it up.
- I don't want to pack up the source right now, so you're stuck with a binary.
- The icons suck. The Developer Studio icon editor somehow breaks x2vnc. If anybody would give me new icons, I'd be grateful.
- The registry isn't a very secure place to store your password.

Download: LJUpdate site.


What are everybody's thoughts on getting a NetApp, good and bad? I was pissed off at them at first because after I filled out the info request form on their website they kept hounding me, but today one of them came by and we went to Subway (mmm... cookies) and talked, and I think I'm still drooling over how cool these things are.

$20,000, though. That's within our budget, but kinda tight. Might need to borrow some money from somewhere for a month or so while we make it back. I think we have around $10,000 or so spare right now.

The marketing drone answered all of my questions wonderfully ... I was pretty impressed. Now I just need to validate all his claims. He says that people commonly use these things for databases, and that's their largest sales area lately. He says in the past accessing databases over NFS was 'scary', but people do it all the time now.... I asked if you could setup multiple database servers to all use the same NetApp at the same time and he said you could, and people do it all the time....

I guess they're certified and endorsed by Oracle, DB2, MS-SQL, etc, etc....

He also offered to bring in a system and let us try it out for awhile. That'd be cool.

Thoughts? These things seem damn cool from what I read and what the marketing dude tells me, but I'm always weary of marketing people... somebody confirm that these things are as cool as they seem, or tell me in what ways they suck.

and worst:
Multiple MySQL servers running on the same database stored on an NFS store
is not something you should try at all. Threaded locking is unreliable by
itself on Solaris and Linux if I read the MySQL docs correctly, and NFS
locking is worse than that. You'd absolutely need a thread-safe flock()
implementation that works over NFS as well - good luck with your quest. :)

and more:
  • piman

LJ::Client 0.3.0

No, I'm not dead, just slow.

LJ::Client 0.3.0is up, along with Clint (the sample client). Since 0.2.x:
  • Friends support (accessing and editing)
  • Export tags! Much less cluttered namespace. journal, friends, mylj, metadata, files, and utility, plus a minimal export with users, rc, login, and postevent.
  • Unless verbose is on, the library prints no output (or shouldn't).
  • Better POD
  • send_login returns a list (0/1 and message)

In clint,
  • lj-memos, synchronize with a Palm memo pad
  • lj-friends displays and edits friends
  • lj-users adds, deletes, and sets the current user.

The friends, user, and posting/editing interface are now slushy; they shouldn't change before 1.0.0. The sync interface is still subject to change in the future, probably.

I realize most Perl hackers are probably busy on the LiveJournal code, so feel free to ignore this for the next week or so :)
amused, happy
  • mart

Client Download Pages and Related Things

The FTP server's all up and running, and client authors are able to upload their latest clients to the site, but still most users can't see them.

Brad was intending to allow client authors to specify the most recent version and filename, etc, but I believe it would be easier to allow client authors to upload a bunch of bml files (probably just index.bml) containing links and other information.

This would allow for things that are more complicated than simply a download link where needed, such as information on how to build LoserJabber from source, links to download source code separately or links to download MFC and mIRC.

I see there's already a /clients/ directory, of which only win32 actually has anything in it. This would be a good place for it. The download page could then be changed to simply display something like this:

Client NameOS/PlatformDescriptionAuthors
LiveJournal Windows9x/NT The client most users will want. This is the main LiveJournal client for Microsoft Windows platforms. Tim Yardley
Brad Fitzpatrick
LizardJuice MacPPC Newer client for Apple Mac users. ???
LoserJabber Gtk+ (Linux) A very cool client for Gtk+. Gtk is currently only popular on linux, but this could change in the future. Evan Martin
LiveJournal for BeOS BeOS A client for the relatively unknown (but still really cool) operating system BeOS. Simon Huet
... and so on ...

The stuff on the other end of those links would be bml pages (and maybe images... I don't know: screenshots?) written by the client author and synced over from a "web" subdirectory of their client's directory within their FTP space. The contents of this directory would be able to be replaced, unlike the ones within the file directory, and filetypes restricted to avoid the temptation to put downloads in the directory. (since they should be going in the file area, where the security is slightly better... no replacing allowed)

As a final touch, BML... um... thingies (I forget the correct term) could be added to automatically make FTP and HTTP links to particular files so if the download stuff needs to be moved around in the future, the links will automatically update to point at the same file elsewhere on the web and FTP servers. ( for the future? Possible...)

Yikes, that's long. Sorry, I know it's a lot of text but I think it'd be a good idea nonetheless. I'd also like to see the thing for client authors to be able to set messages to be sent to particular versions of our clients... it would be a particularly useful addition to the whole "allowing client authors to do their own thing without badgering Brad" movement.