Tuesday, March 31, 2020

Toraware's App is Finally Born!

It would have been impractical to take the present deployed version of Toraware and transform it into an app because many of its methods are not of practical use. As a constant user of my own software, the two methods I most often use are the Find a Word and Find a Phrase methods.

The other group of methods in the website application were simply added just in case somebody has use for these eccentric searches.

I've constantly used Find a Word and Find a Phrase methods.  There are so many times this app finds relevance in everyday experience. I have often used it, even while developing it.

So my app, to serve as a practical program, was narrowed down to but TWO methods:
Find a Word, and
Find a Phrase.

An app, to be widely available, should fit onto an Android, an iPhone or iPad, or on a Windows mobile gadget.

This proved rather difficult because I did not know all the native languages of these platforms. It would take me too long to learn.

Luckily, when I first started out creating toraware.com, I already had in mind to aim it as a mobile application. As for how it would eventually land on these devices, I left for later. As the chasidic saying goes, "think good and it'll therefore turn out good!"

Sure enough, because of new software recently created by Google, instead of spending years to learn individual languages, I needed to spend mere days to accomplish. In so doing save paying a yearly developer's fee to Apple, to create for their platform.

What's this new technique to deploy across several platforms with the same code? It's a new technology that just recently came into being, called PWA (Progressive Web Application).

Also, the GitHub website came along and provided me with a website on which to deploy my site securely, security being a key issue for PWA, for free. Then, by adding a few files here and there, my PWA was born.

So, finally, you can now get this free app. Here's how:
Using Chrome, type in https://toraware.github.io, and then "Add to Home Screen".

Trust me, once you get used to it, it'll really come in handy for you! Hope you'll try it, and I hope you'll give me feedback.

Wednesday, July 24, 2019

Consecutive Possukim that Begin with Vov

Here's an interesting tidbit:

How many possukim that begin with the letter Vov can you find in succession in Torah?

Answer: 52

And how many .. in all of Tanach:

Answer: 71 (see below)

Tuesday, July 23, 2019

Version 55 Combines 4 Methods into 2

Until now, version 54's Home Page showed 8 methods in total, occupying 8 lines.

But if more methods were contemplated, the list would become too long to neatly fit on the Home Page.

So I came up with the idea to combine Roshe Teivot and Sofei Teivot into one method, displacing their choice to the Options Page instead. Similarly, I combined the Roshei Possukim and Sofei Possukim methods into one method, the choice between them being shifted to the Options Page as a choice.

I thereby saved two lines on Home Page and, in fact, render the program and its display more economical.

Here now are the new views entailed in these changes:

Tuesday, January 29, 2019

A Significant Step Towards Creating an APP

The next version (54) of toraware was needed to convert toraware.com's website to run as a mobile app.

The main obstacle had been one of the options for the gematria method where I allow the user to choose between keyboard textual input or numerical input.

Although from the very beginning of my development I foresaw adapting my website to be suitable for an app, as you can see from the site's navigation paradigm, I did not foresee that this option to display for use of the keyboard would get in the way. Because deploying the site as is would have the site's keyboard and the smartphone's keyboard both be on display the same time.

In other words, I had created a pop-up keyboard feature that would be intrusive to the user of a mobile gadget when his screen pops up a 2nd keyboard, besides his usual mode of keyboard entry. So I had codeo my way out of this problem.

(The two images below demonstrate that troublesome 3rd option still existing in version 53, one that I originally introduced when it wasn't very common to have Hebrew language input readily available on the casual user's computer screen. It's the one that reads, "How will you enter the value?")

User can enter a number directly
Keyboard pops up on this option

In effect, I had coded myself into a design dilemma. But then I realized how to easily remedy the situation. I could simply suppress all keyboard display on my part, leaving the user with only his own gadget's keyboard for entry, and all I had to do was identify - inside the program's code itself, whether the input was numeric or textual. Problem solved with some change of code, is all.

Here's how the new Options Page for the Gematria Method looks like now. Note how the 3rd set of options on this page has been bypassed.

User can now enter EITHER text OR a number in the same field
With this significant change in place, app creation will probably be rather simple.

These changes, in fact, relieved the size of the download by more than 20K bytes.

Inasmuch as this new version is to expedite navigation to a working app, the previous version remains deployed as the version in production.

Thursday, November 29, 2018

10 Ways to Search for a Word in Tanach

Here's a shot of the Options Page in the toraware website, after making the choice to "Find a Word" on its Home Page.

Look how many ways you can search for a word in Tanach at toraware.com: One subset of options has two options while the other subset offers 5 options, so altogether you have 10 combinations to search with. Not that you'd use them all, but they're there in case you need them.

Wednesday, November 21, 2018

A Speedy Way to Explore Torah

How often do you want to know, on a moment's notice, where a word, or verb, first appears in Torah? Or, is there such a name found in Torah at all? Or how many times does a phrase or word exist in all of Torah or Tanach?

Sure you can do a search and find your answer on the internet, but that’s still a rather burdensome task. That is, at best, you can still find that word, phrase or verb after a few minutes of surfing and clicking.

There are plenty of sites with such facilities to navigate through, but you’ll still spend way too long – so you’d never even try to satisfy your momentary curiosity because the delay isn’t worth it. Even a few minutes when your doing something else, like cooking or eating, can be too troublesome so you let your spontaneous curiosity waste away.

But that’s because you don’t know of the Toraware app that gives you rather immediately in the palm of your hand the answer to your sudden urge to know or explore or validate.

In two clicks, the first to open the app from its Home Icon, and the second to click on “Find a Word” or on “Find a Phrase”, and you’re ready to type in the letters formed in your mind, and a 3rd click then brings you immediate visual results. Three clicks is all it takes in most cases.

With the use of only two buttons, and typing the word you're thinking of, in a matter of seconds, you get immediate results. Each click on the “GO” button can scan through all of Tanach in a second, or two seconds, and display the list of results.

By default, that’s the way it works. But each search method (and there are 10) also sports a different set of options, so you can, if you want, come up with unique ways to find what you’re looking for.

For instance: Suppose you want to know the number of times Moshe is mentioned in Torah.

(As a side note, names are easy to catch in Hebrew text in that they always are either mentioned by themselves, with no extra attached letters, or the attached letters always are placed in front of the name. That makes it easy to program a search that focuses on the suffixes of words.)

So you use the method “Find a Word” (1st click). On the next page, the Options Page, the best option to choose would be: “ENDS with my letters” (2nd click). Now type in the 3 letters משה, and hit the “Go” button (3rd click). Every single word in Torah (the default search range is already set from בראשית to זאת הברכה) that has as its last 3 letters the letters you typed in (“משה”) immediately appears in a list before you (the Results Page). The number of such “hits” is 721.

Now, not all these hits are good hits. For example, many in the list include the irrelevant word “חמשה”, because this word too ends in those 3 letters. So you have to be clever with use of this tool, to devise a way to narrow in on your answer.

So let’s now search how many times the letters “ חמשה” are found.  Then we can subtract this number from 721. So you hit the “Back” button; The options you selected previously remain as is, so all you do now is type in the word “חמשה” and press “Go”. You get 72 hits. So now we know that from the 721 results we have 72 to take away, leaving now 649 alleged times Moshe is mentioned. You’re left with all significant hits, such as:
etc., all of which are mentions of משה.

Besides being clever, however, you also have to be lucky, lucky to have learned Torah. I learned this the hard way, unaware of two such mentions in Torah, by once publishing a faulty blog post; I had missed these two words. But I now know of the two times these same 3 letters have a different meaning, so the real answer is 647. There are two false positives among the results list, which whittles it down from 721 to 649, and then to 647. In Shmot 12:4 it means “less than one calf”, and in Devarim 15: 2 it means “creditor”. Of course these two words are pronounced differently in Torah but the Toraware tool doesn't inspect pronunciations.

This search can be further explored, if the range is set to all of Tanach (just extend the Range on the opening Home Page, which defaults to the Torah limits). Now the 3-letter search yields 920 hits. Let’s subtract how many times the insignificant ending “חמשה” is found, That’s 150. Thus we get 920 – 150 = 770. Don’t forget two of these we know are false positives, so our final total becomes 768! Let’s not forget that in Tanach there may be other words besides חמשה that might throw us off, but personally I doubt it.

P.S. I wrote about this previously, over here, although back then the Toraware tool hadn’t been as useful as it has become presently, in its 54th version.

P.S. Ever wonder how many times Jerusalem is expressly mentioned in Torah, or in Tanach? I discuss that here.

Sunday, November 18, 2018

Found a Bug in the New Options of the "Find a Word" Method

Suppose you seek the letters בח, and the program comes across the word במזבח.

My logic was: If the Bais yields a hit, as it does, on the 1st Bais in במזבח,
then I'll search for the letter ח next.

If these letters are grouped together, then the "BOUND" qualification is true. But here, because the first ב and the ח are not grouped together, I get a false result -- because there's another ב in the word that does have a ח bound to it, which I fail to detect.

I'm back at the drawing board and must resort to deploying the 49th version until I resolve this bug.

UPDATE: (11/20/18):
Redid the code (more modular and less complicated) and now, thank G-d, it's flawless. Reinstalled as Version 53.

The Options Page of the "Find a Word" method is now, again, like this:

Tuesday, October 23, 2018

Some Torah Numerology

Here's an interesting numerlogy: If you begin reading the 1st chapter of Genesis (in the original
Hebrew language) and find the first T (ת in Hebrew). The first occurrence of this letter is the last letter of the very first word (בראשית). Then skip the next 49 letters to read the 50th letter as vav (ו). You continue this way two more times, every 50th letter, to obtain the word Torah, “תורה,” the Hebrew word for the first five books of the Bible (the Pentateuch).

(You'll find too, that from that 1st Tav in Genesis, were you to skip therefrom over 132 letters,  i.e, every 133rd letter therefrom, you'd also arrive at the same word, Torah. I only checked up to the skip value of 250; So there may well be more such, but larger, equidistant-skip findings.)

Monday, September 3, 2018

Yet Another Option for FIND A WORD Method

The "Find a Word" method now has yet another new option to help you find the word you seek. (With all these options you now have available, you'd be hard-pressed not finding the word you want.)

This new option is called "my letters in SEQUENCE". It means it'll find all words that contain your input string of letters in sequence, i.e., back to back. (The radiobutton's label should read
"my letters INCLUDED in SEQUENCE"
but I was short on space, so I compromised on the wording.)

For example, if you wish to find a word containing the letters "ראש" in sequence within a word, then the word "בראשית" would show up (given, of course, that you set your Search Range to include Parshah בראשית within your scope.

Now at version 52.

(Not that all combinations are of equal significance, but each new option actually multiplies the number of combinations available. Having added one to the lower set of options, of which there now are 5, along with the two options in the upper set, now gives the user 10 combinations of options and corresponding results.)

Tuesday, August 28, 2018

New Option for "Find a Word" Method

Often, in looking up a Hebrew word in Tanach, the word may have prefixed letters attached to it because in Hebrew these additional letters act as additional words, unlike in English where extra words are used rather than elongating the word with prefixed letters.

For example, "to Moses", "and Moses", "like Moses", "with Moses", "via Moses", "at Moses", "and by Moses", etc. -- all these terms comprise only one word in Hebrew word. Hebrew accomplishes this simply by affixing a letter or two in front of the word, extending the length of the word by one or two or more letters.

To ignore these prefix letters for your search, which you often consider insignificant, it is now possible to use "Find a Word" using a new option, now introduced, namely, letting you specify "My ENDING Letters".  Insignificant prefix letters can thus be ignored to find your word.

So, in this example, if you were just looking for words that contain Moses, you can specify "משה", use the option "My ENDING Letters", and words ending with your 3-letter word will show up without having to know beforehand exactly what insignificant letters begin the word.

With this option you'll get hits such as:

Now at version 51.

Thursday, June 14, 2018

Hit-Limit Reminder Installed

Version 50 of Toraware now sports at the end of the Results List a line of text in case the hit-limit count was encountered. This would now remind a user there might, in fact, be more results forthcoming were he to just increase his hit-limit count. Without this text-line-reminder, the user may well not realize he came to the end of the list prematurely.

Now at version 50.

Saturday, March 24, 2018

How Many Times is "JERUSALEM" Mentioned in Tanach?

The answer may surprise you. Expressly, never in Torah. That's not so surprising since the Jews entered Eretz Yisrael in 2488, whereas Torah chronicles what happened during the prior 40 years in the desert.

In Nach, however, it appears no less than 669 times! Imagine that.
Options Page:

Results Page:


Wednesday, March 21, 2018

New Option for "Find a Word" Method

The Find a Word method now has a new option, which allows the user to specify the leading letters of a word for his word search.

In effect, this method now has 6 choices for ways to search out a word.

This deployment constitutes version 50.

Wednesday, January 17, 2018

Methods Roshei & Sofei Possukim - Corrected

Thanks to a friendly user of my website, I came upon a bug in two methods I thought were simple pieces of code, but in fact they needed correction. This is the 2nd time she found a bug! Thank you again Zahava P.!!

Ever since I expanded the database, from just Torah to now include the entire Tanach, a variety of issues suddenly arose that I was made aware of only later.

Previous methods regarded the Torah database to be one big book, where Parsha borders were ignored. If results spanned from one Parsha into another another, that was okay.

But with the expanded Tanach as my new database, some methods or option (gematria's "successive possukim") no longer make sense. Now, borders between books became significant.

For example, in a gematria search with the “successive possukim” option selected, it makes no sense if the gematria result began in one book and the rest of the gematria was found in the next. To illustrate, if the last verse in Torah comprised one part of the gematria, and the rest of the gematria was found in verses of the next book, Yehoshua, this "hit" would make little sense.

(My screw-up came up because I had to allow for spanning to occur for the books Shmuel A & B, Divrei Hayomim A & B, Ezra & Nehemia, and Melachim A & B, and this code was incorrect.)

This same problem exists in methods such as “Equidistant Letter Sequence”, “Sofei Possukim” and "Roshei Possukim". Because in each of these methods, the results found might span from one book across into the next, and such spanned results have no good purpose.

I coded my way out of this “new” problem in 3 situations but I could not do so with the “Equidistant Letter Sequence” method. This code as it is is already quite complex so I just couldn't. Instead, I simply put the burden on the user, forcing the user to specify proper borders for his search region. The "Range" parameter can easily be set right by the user on the Home Page.

I'm sorry I could not code my way out of the “Equidistant Letter Sequence” method and had to resort to issuance of an error to bypass this inability. It's awkward because the same error ought to pop up for “Sofei Possukim” and "Roshei Possukim", because these too make no sense were results to span across separate books. But here this situation can no longer happen because I code it so that spanning will not take place.

Here's the error that shows for the “Equidistant Letter Sequence” method when the range parameters must first be properly specified:

(With this correction, and with what I did to streamline "Find a Phrase", I believe the entire program is now 100% well and accurate, ב׳׳ה.)

Now at version 48.

Monday, December 11, 2017

"Find a Phrase" -- A Powerful Tool in its Own Right

This (46th) version of Toraware’s search program sports a new “Find a Phrase” rendition. The earlier version had some problems. Now the code is extremely streamlined, bound to yield quick, accurate results.

This method searches words in the same order as the user enters them (separated by spaces), thus the use of the word “phrase”.

Unlike “Find a Word”, where there’s an option to match the letters in any order, in “phrase” searching your words are assumed to be in their natural (same) order, as well as the letters you stipulate. The "Find a Word" method searches for one word only. The "Find a Phrase" method seeks multiple words in a verse.

“Find a Phrase” options offers 4 ways to search.

1) You can seek words with only part of the words you’re seeking. E.g., you can search צם, and the word in the verse מצרים would register as a “hit” - under the "INCLUDE my letters" option.

2) You can specify the words you want should be exactly as keyed in. This is the "ONLY my letters" option.

3) & 4) You can also specify in either of the above searches that you want your words in adjacent sequence ("Consecutive words" option); Or you can opt for "Not necessarily", where the words could be found with other words intervening, i.e., they'll appear in the verse, but not consecutively.

As always -- read the title of the Results Page to remind you which options you specified; You needn't go back to the Options Page to see.

Suppose you want to find where in Tanach we have 8 words in a possuk with the following letters in them, respectively:
א ב ג ד ה ו ז ח

You'd get the results shown on the right (click image to enlarge it).

Note: How you spell your own words for the search is important because you do NOT need to include all letters of the word. For example, often the letter “vov”, the grammatical letter with the sound “Oh” (or “oy” according to others) is absent, so it’s best to exclude it. E.g., if you search for יעקוב you'll miss יעקב, but if you search for  יעקב, you'll get them all. As long as the main letters of the root are in the word, this search can find the phrase.

This fix I believe renders the search engine just as I initially conceived it to work fine. Perhaps now, if free time avails itself, I'll try convert it to a mobile app. As you can see from my compact design, button placements and functionality, I had that very goal in mind from the very beginning. Although for now I'm real happy for this website version. It's a good little tool that I myself often use.

Now at version 46.