Wednesday, May 25, 2011

Desktop Word Index Version of the Book working and ready for Google Native Client


I've been splitting my time between two events, the eventual release of Native Client by Google's Internet programming team so that I can release the 3d version on the Internet and the Index of the Urantia Book

Both will be able to be used on the Internet from a direct address without downloading anything. Google is working feverishly on Native Client and are probably going to release a full version sometime this year. 

As a developer, I've been creating the Index of the book as a test for the net and for the Virtual Urantia program. It works on desktops now. It may work on the Internet soon and exist on an actual page as the full version of Native Client is not needed. No Download needed. It features rapid word index searches and quick access to any part of the book through references and a tree'd content view. It also features a unique thesaurus restricted to the Urantia Book words only.

I'm close to release with this word index search of the Urantia Book. 

Below are a few views of the Word Index Search program. These show the basic working of the program. It is very fast at looking up stuff in the book and is small enough to work on a cell phone. I have it working on my N900. It needs a lot of features added but can be used as is. 

Also, you'll notice, I am currently running this on Kubuntu. On Native Client, it works on Apple computers, Windows, LinuxUnix and cell phones. I've added a shot of N900 phone as I use it at my study group. I want to add the power to save favorite references of the book on the net so that everyone has access to them and everyone can add their own in a structured way so that they can be separated easily but those are dreams and programming takes a long time to do. 

Stay tuned and I will release as soon as I have my current Native Client version working with any kind of stability.

Persistence and sincerity and then more persistence and sincerity and then.............












Wednesday, May 18, 2011

Waiting for Qt on Native Client and P2P

It's been a while since my last post. I've been doing a lot of studying. First, I've learned Javascript. Pretty solid Internet display language but is very limited in what it can do. That's understandable, considering all the security issues surrounding the lost children who enjoy destroying other people's computers.

I placed the index on the net but unfortunately, it crashes too easily. Since it works on the desktop on multiple systems, including my arm phone, it's obvious that QT and Native Client aren't ready for prime time yet.

That's ok. I'm really busy creating the automation system anyway, so it's ok that the Urantia book takes the back burner for now. It's all the same system anyway. Whatever I do on the automation system will work for the stuff I'm doing for the book.

The problem with Native Client right now is that I can't save local computer settings. That's a biggie. HTML5, though, has an answer and I'm either going to save using what's called the 'localstorage' or be saving all the information on the virtual urantia site. Maybe that'll be the way I go anyway so I'm now studying HTML5 and seeing how they interface Native Client with Javascript and HTML so that I can save on the server. That looks like the answer that will connect people together over the Internet when they use different computers.  That is, other than using a common directory kind of a thing that is used in some businesses today.

So I'm looking at how I will save information and once that's done, they'll be two steps left. P2P and 3d.

Native Client P2P will be the biggest change. Actually, it's HTML5 that will allow P2P over the Websockets interface. Point to Point.

P2P is a way for 2 computers to talk directly over the Internet. When two computers want to talk, they use what's called sockets. Up till now, the only easy way to talk over the Internet was to use servers. You are a client talking to a server. That's ok basically but because the net was built with this model, all the equipment basically has been used this way and makes it very difficult to talk directly to another computer unless you get a static address. Pull out your wallet again. Problem with that is, it's another layer the user has to jump through to talk to his camera at home or share information directly with friends without placing the stuff on some social network server.

Contrast that with the common telephone. The phone has a direct address unlike the computer which is indirectly connected to the Internet and usually the number changes constantly so there's no way to directly talk to any computer unless you figure out their computer number. Duh! Who thought this one up?

Anyway, the way I'll do it will be to save your current computer number on my server and then you can sign in to the server with a password and then you can connect to the other computer because you have it's number without needing any further use of the server. That, right now, is really complex and I won't go into that here but it is kind of ridiculous that we have to jump through complicated hoops to talk to a friend's computer. Skype did it and the P2P programs.

Anyway, the folks that set the Internet standards have begun to realize just how ridiculous that is and HTML5 has begun the process of giving us P2P. The problem is that there are large companies that do not want P2P to work. Sharing of information directly with other people means they could share copyrighted material. So these large companies are putting pressure on our legislatures to stop P2P programs. Because of it, P2P has gotten a bad rep. If we are to communicate with each other without middle men, we need P2P, plain and simple.

Using the program that I've created, you can share information directly with friends on their computers without needing servers, that's the power of P2P and I will depend on this to present your home, industry, plant or the Urantia Book virtualized from anywhere on any computer you log onto.

Most of the information, though, will exist on servers. That's a given. Sharing is the main reason we use the Internet and that won't change, ever.

Wow! This was going to be short.

I'm done.





Thursday, May 5, 2011

Index on Native Client and Qt on Windows

I have the index appearing in Windows now, probably works on Apples too.

www.virtualurantia.com/nacl/FullBookIndex.html

 and

www.virtualurantia.com/nacl/BookIndex.html


Seems that two flags have to be set to run these programs on any currently supported platforms. First, type into the Chrome address bar 'about:flags', scroll down to Native Client and enable it. Then type in 'about:plugins' and scroll down and enable NACL plugin and then it works everywhere on X86 based machines. Of course, I still have the problem of freezing up on Native Client but I am confident that the Qt guys will get to the bottom of this instability. It's enough to know that I've come this far. It's really exciting.


I can't wait till I have restricted file access(there's no way I would want anyone from a browser to have access to the local file system), P2P (peer to peer networking) and OpenGL ES 2 (3d capability). It'll really be the best year I've had in the computer business. The year I could both release my automation system and begin Internet work on the book.



Sunday, May 1, 2011

Urantia Book Index and Native Client on QT

Well I've tried my best getting around any problems with Native Client with QT but it's just not ready for prime time yet. Doesn't work in Windows. You can freeze up the window pretty easily. But it does work on Ubuntu or Linux until something quirky happens that freezes the program. After you've downloaded it, you can use it till it freezes. You won't need to wait for the download again though, which helps. At 35 megabyte, depending on your machine, it takes a bit of time. 3 minutes on my machine at home.


If you're curious and own Linux, please try it. If you own an Apple, I would really appreciate you trying this out and let me know if it even appears on your screen.  A prior blog explains how to set up Chrome.


This first link just loads the word index but doesn't reference the book at all. Typically, it will last without freezing, that is, unless you use the scroll wheel on your mouse or don't do any multiple selections, you'll be able to see all words in the book listed.

www.virtualurantia.com/nacl/BookIndex.html


This is a full working version. You can select a word and click the tabs to travel to either a list of references where the book has the result of the query, the paragraph tab shows all the text of each paragraph with highlighted references. The book tab itself, presents an entire paper, navigation is through the content tab which can jump immediately to any part of the book rather quickly. The book has a few problems, not of concern though, I will get to all those problems soon. 

www.virtualurantia.com/nacl/FullBookIndex.html

Thursday, April 28, 2011

Qt Native Client is running on the Internet

Finally, tonight, I placed the first poke at Native Client running on the Internet up on the Virtual Urantia Book site. Lots of problems though. Tomorrow is another day. First, the size of the window was wrong. Found out that you set the size of the client window in the HTML page code, not the C++ code itself. It's all very new. Also, even though, I am working with this same code on the desktop, it dies after a minute or two. I'll reduce the code till I can figure out where the problem is. Not sure how to debug the Native Client code yet.

Also, for some reason, I'm not getting anything to work on Windows XP or Windows 7. It downloads, runs for a minute and dies on Linux but at least it downloads and runs. The download stats on Windows OS show that Chrome isn't downloading it at all. Sounds like a Chrome problem on this one but I'm not sure.

Also, if your internet speed is 3 megabit, it takes 3 or 4 minutes to download and depending on the speed of your computer, another 10 seconds to 30 seconds to start. The good thing is, once it's downloaded in the background, you don't need to do it again unless the version changes and that's all automatic.

The real good news is that I know I can get it working. If you want to look at it, feel free to do so. I don't have an Apple but it might work right off the bat. Who knows at this time?

To run the Index, you need to install  the latest version of Google's Chrome browser.

http://www.google.com/chrome/intl/en/landing_chrome.html?hl=en&brand=CHMB&utm_campaign=en&utm_source=en-ha-na-us-sk&utm_medium=ha

After you do, type in 'about:flags' in the address line, scroll down to Native Client and enable it. Restart Chrome. Hopefully, you won't have to do that in Chrome version 12, it might be stable by then. You'll get a nag line at the top telling you that stability and security will suffer. That's normal, the option is there for us developers. There's no way it'll damage your computer though, these people at Native Client are really paranoid about security. I can't even access a file, for God's sake. After that, just visit the site and it'll download in the background and after a few minutes, it'll run.

http://www.virtualurantia.com/nacl/wiggly.htm

I left the name wiggly for now, even though this is the index to the Urantia Book. I used wiggly as a template. I'll change it all later.

Anyway, it's been an eventful day. Native Client is running, even though, in fits and starts. Next week, I'll be at the Embedded Convention in Silicon valley. You know, the place where the real geeks of the computer industry are heading to, if you didn't know it, now you do. Embedded computers will wipe out desktops completely. The average home has well over 300 embedded processors (computers) in their home and are almost oblivious to it. Remotes, watches, cell phone, satellite boxes, tv's, radios, mp3 players, car brakes, cameras, thermostats, computer screens, microwaves, refrigerators, alarms, dvd players all contain multiple processors now. Also, desktop computers usually have at least 20 built in. The average new car has well over 100.

It's a completely new world.

Pierre

Thursday, April 21, 2011

Separating and Querying the Papers

A persistent problem happens when a reference is double clicked or the index content tree is selected to show the entire book. It takes up to 30 seconds for the whole book to load into the viewing box. To handle this, I'm separating the book into it's papers and the viewing box will only show one paper at a time. This way, it'll be 195 times faster at loading the viewing results box.

This has higher priority than getting the Thesaurus up. The Thesaurus has a few leaps of programming for it to be done properly. The querying system is basically set up to handle 'AND' type of queries based on paragraphs. That is: When two words typed into the word box appear in any one paragraph, then that paragraph is shown in the reference list and the paragraph viewing window. 'OR' type of queries don't work yet. A Thesaurus is an 'OR' type of query. For example: When the word 'house' is selected and then the word 'abode' is selected into the word box from the Thesaurus list for 'home' then the query should say if this 'house' OR 'abode' appear in the same paragraph, then select that paragraph. Of course if an 'AND' word is added that will change the query and complicate it further. 

So the parser that determines the tests will have to work with one set of entries starting from the left of the word window entries and work towards the right side. If a parentheses is added to a set of 'AND' and 'OR' queries, then the those have to be determined first.

I never said it was easy and I never said I knew what I was doing!!!!


Wednesday, April 20, 2011

Thesaurus

The Thesaurus is created and the thesaurus window is open and it's setting the thesaurus words into it when a word is entered. Now I'll make it so that they can double click on the thesaurus word that they would like to add to the word window and then I'll add an 'OR' with parentheses around the word and it's thesaurus equivalent, then I can run through the book on an 'OR' instead of 'AND' on every paragraph. I'll also add an 'AND' when they click on words from the index word list on the right. If they type in directly, then I'll add the 'AND' automatically. 

Also have to create a help file. Probably be an HTML file created with some HTML document creator and that way they can read the help file. Maybe some Youtube videos showing how to do it.

It's coming along.

This coming week, I'll be attempting to place the index system on the Internet with Native Client's latest release. That should be interesing.


In this picture the top left window is the window you type in. The bottom left list window shows the thesaurus list relating to the current word being typed in. The word list to the right shows all the words in the Urantia Book. This is a view on a Nokia N900 phone. This will be available across all computers if I can get it up with Native Client.