Surfing with Themis

February 1st, 2011
Surfing with Themis

Surfing with Themis

Hello all,

today some important check ins have been made to improve the new css renderer to the point where you can now actually surf the web with Themis.
What I mean by that is that you can now click on links in the webpage that Themis renders and it will actually take you to your destination. Well, most of the times anyway. There are still bugs in there, so sometimes it doesn’t do anything.

If you want to try it out, just check out the latest source and type “make” and you are ready to go. It is best to start Themis from a terminal so you can see what it is doing and see if it fails somewhere. You can also experiment with the css file in “/boot/home/config/settings/Themis/css”, to change the layout of the pages. Do note that styles specified by the webpage itself are completely ignored at the moment. Only the css file in the Themis settings directory has any influence on the styling.

If you just want to look but don’t touch, click on the screenshot to see the current status.

Small Steps

January 16th, 2011
Themis rendering text with a native rendering engine.

Themis rendering text with a native rendering engine.

Hi folks, I just wanted to take a few moments to share the latest happenings on this project with you. If you’ve been paying any attention to the “devcvs” list as of late, you’ve seen both Mark and myself making a number of changes to the system.

The work I’ve done has primarily centered around fixing the cookie support in the HTTP add-on. While cookies have generally worked for a long time now, there were some problems with the parsing and retrieval of cookies when the system starts up. Namely that occasionally parsing a cookie header would crash the application and the system often didn’t load any cookies at startup respectively. Well, that’s fixed. I rewrote the parsing routines, and I believe that they’re 100% more reliable than before, and the system currently loads all cookies in the settings folder at start up. Yes, that could pose a problem memory wise, but for now this is acceptable: I spent two hours yesterday going to as many sites as I could think of and only ended up with 145 cookies. In the near future, I’ll probably rework this system so that it once again will use queries to load the cookies, but I think it’s fine for now. There is still significant issues with cookies that I’ll be addressing soon. Some web sites send cookie expiration dates that are in a different format than what’s considered standard, and still others send expiration dates that are well past the next Y2K-like date barrier. While the first issue is a matter of formatting, the second is a bit more serious because it depends on how the system handles dates past 2036. If I remember correctly, BeOS and Haiku both use the traditional Unix method of counting time with a 32-bit integer to represent the number of seconds since December 31, 1969 23:59:59, and the end of that range is, if I remember correctly, around January 14, 2036 or 2037. You say that’s such a long ways off that it won’t make any difference, but the fact is that during my testing yesterday, I saw some sites trying to set cookies that expire in 2038 and 2041. So, while storing cookies with 32-bit integer dates works right now and allows the Tracker to show the proper expiration date, I’m going to have to start experimenting with 64 bit integers and see how the Tracker responds…

On a more significant note, Mark is working on the renderer. While he still has a lot of work to do, and I hope to join him in it, I thought I’d post a screenshot he just sent me. No, it’s not earth shattering or amazing, but it is progress. Mark has continued to be the best partner I’ve had on this project for over ten years, and really deserves every ounce of thanks and appreciation I can heap upon his shoulders. If you’re interested in and following Themis’ progress, you owe him more than a bit of gratitude as well! Thanks again Mark!

Not. Done. Yet.

May 17th, 2010

In every sense of the phrase, Themis is “not done yet.” We are not done yet with development, nor is it usable yet, the project hasn’t ended yet either. Mark has been around doing work from time to time, and I’ve managed to shake off a lot of the lethargy and get back to work as well. Be sure to check back with us or join the mailing lists to see what’s going on.