My News: TOP - Autos Intimate goods Chairs Underwear Ladies handbag Bracelets Sportswear Top auto-moto furniture Dating Boots FDA Approved Pharmacy Boats Necklace Yachts Medical tests Suits Medicine news Building materials Top casino Rington ya.by Tunings Sale Auto Chronometer Blog Search the Web Cases Mobiles Cigarettes Cars auto-moto Ear rings Cigarette Green Card Information
uncommonplace
 

    Follow me

     Going strong
    Filed under: — David @ 11:24 pm

    As I’ve found with Icon Machine, there’s nothing like putting out a release to motivate me to do more work.

    I’ve made progress on the login bug - I fixed one problem on the server, but it seems there are one or two more bugs that have the same symptoms.

    In the process of testing that, I discovered that there were several memory leaks. I have now fixed all but one leak on the server. The client is a bit more complicated.

    And when I got tired of debugging, I started on the HTTP server. I’m using the Mac OS Core Foundation HTTP utilities, sacrificing some portability for convenience. On the other hand, that stuff may be available in the Darwin source code. I’m not sure because I find the Darwin source kind of hard to navigate.

    I think the HTTP server is a potentially very interesting module. It’s going to be fully integrated into the server, translating between HTTP messages and Volley messages so that any Volley service can have an HTTP interface.

    The plan is that in an HTTP request, the first “directory” name in the URI indicates the service name. For example, the URL “http://server/files/Shareware/iconmachine.sit” means the pathname “/Shareware/iconmachine.sit” in the files service. Likewise, if the chat service supported a web interface, it would be at “http://server/chat” (or you could add a chat room name on the end).

    The file sharing service itself will be separate. There are two reasons for this. First, as seen above, the HTTP service is a general-purpose thing. Second, HTTP won’t be the only way to upload and download, since there will be things like the Hotline compatibility plugin which has its own file transfer mechanism.

    Since I’m using a protocol for file transfers that’s also used by lots of other applications, there exists the possibility of downloading a file without being logged in with a Volley client. Therefore there will be a permission setting for allowing or disallowing this on a per-user basis.

    The more I think about it, the happier I am with this HTTP thing. Aside from all the cool stuff already mentioned, the HTTP spec includes authentication, uploading and downloading, and resumable downloads. There are even response codes (like 503 Unavailable) that are appropriate for managing download queues.

     Alpha
    Filed under: — David @ 11:24 pm

    The alpha release has been uploaded to Twist’s site. Eventually I’ll make it available on the SourceForge downloads page, but first I’m going to make sure all the source code and stuff is in order. And by then it may be time for a second alpha.

    The main problem right now is that the client sometimes has problems logging in to the server, especially across the Internet. The login request message is getting lost somehow. I’ve had that happen locally, but not consistently enough to be able to examine the problem. There’s also apparently something wrong with the configuration so that guest login isn’t working.

    This alpha release marks not only the first time I’m showing it to other people, but also the point at which all the guts are basically there and working. The client and server are communicating, and the accounts and permissions system is in place (minus a few glitches of course). From now on there will be a lot more visible progress, especially since I can start adding more services. I expect to start with flat news.

    I was going to try to line up the nicknames in the chat log, which is tricky using a proportional font. At first I thought I could use a right-aligned tab, but the Multi-Lingual Text Engine isn’t quite sophisticated enough for that - it can only have one tab, and I’d need two (the second escapes from the right-aligned mode). Oh well. I’ll just have to rely on colored text.

     It’s looking good
    Filed under: — David @ 11:25 pm

    Private messaging is working. I must say that it’s really cool to see these features really coming together finally.

    Next I’m putting in some things to test permissions: add a permission setting for private messaging, implementing kick, and maybe a couple of others. Once that’s in and working, I believe it will be Alpha Release time! …No, really!

     A good day
    Filed under: — David @ 11:26 pm

    Well the unicode fix turned out to be easy, as I’d hoped. Changing nicknames and status had broken in the process of adding accounts, and I fixed that too.

    I also finally came up with a way to avoid a mistake I keep making - specifying the wrong data type for message parameters. Most parameters are always the same type (like integer or enumeration), and in some cases I would sometimes put the wrong one. This was one of the problems with getting the nickname/status changes working. And then it hit me that I could use C++ templates to pair the parameter tags with their values, so I wouldn’t have to worry anymore about getting it right. I let the compiler do that for me.

     Accounts are working
    Filed under: — David @ 10:56 am

    Well the client and server are talking again, so it looks like the new accounts are working. The client could use a bit of spiffing up, but I think it’ll be time for some private alpha testing soon.

    One thing I noticed that I’d like to fix is that the chat log isn’t using automatic font substitution for when someone uses a Unicode character that’s not in the chat log’s font. Japanese works though, so this seems to only apply to odd symbols and dingbats and stuff.

    The alpha won’t have any server administration tools - the only way to change settings will be to edit the XML files yourself and restart the server. But hey, it’s a start :)

     Working and lookin’ good
    Filed under: — David @ 4:50 pm

    Well the client now automatically detects local servers via Rendezvous. I’m still in the middle of redoing the Connect dialog - gotta wire it up to everything else. But once that’s working, and I’ve got it chatting again with the new accounts system, it’ll be alpha time :)

    I had a little realization about private messages just now too. At first I got stuck because I wasn’t sure how to classify it. My first plan was to merge it with offline messaging (ie messages to people not logged in), but the more I thought about it the less desirable that seemed. Then it occurred to me that private messages and private chats are very similar - in fact, the more I thought about it the more blurry the distinction became. Finally it hit me that it would be good to be able to send private messages to someone in a specific chat room. So that means that private messages are an integral function of the chat service itself, they are attached to specific chat rooms, and they are unrelated to offline messaging.

     OS X is cool
    Filed under: — David @ 6:12 pm

    Adding Rendezvous support to the server was essentially two lines of code. The client will be a bit more work, but it will keep me entertained. I’m also redoing the client’s connect dialog in the process. The way I had done it originally was the connect dialog was a sheet that appeared over the chat window. I was never quite sure of that idea, and it started giving me technical problems anyway. The new design kind of looks like the standard Save As dialog, with a disclosure button revealing the Rendezvous server list.

    On the subject of html engines, we now know there is the one Safari uses, which will eventually be available to Carbon apps. It’ll be a while, but I think I can find ways to occupy myself until then.


    This is my personal blog. The views expressed on these pages are mine alone and not those of my employer.

    Powered by WordPress

    Shareware Icons Games
    Topic - News Blogs: Bracelets auto-moto Chairs Blog Search the Web Top auto-moto Boats Autos Cases Intimate goods Necklace Trousers Underwear Top casino Sale Auto Building materials Evening dress Yachts Tunings Medicine news furniture Rington Replica Rolex Mobiles Rolex Replica Boots Ear rings Fashions Green Card Information ya.by Balans Cigarettes Medical tests Sport Betting Cars