Movie-Mine extends its reach by tapping into the semantic web

Movie-Mine has undergone another round of significant enhancements, both in its search capability and its coverage of a large number of movies. Our title lookup facility now supports even faster “fuzzy” searching, employing Google’s recently released Knowlege Graph tools. Also we’ve substantially increased Movie-Mine’s scope with more film details, more titles, and more current information by incorporating content from Wikidata. What this means is that with minimum keystrokes and clicks, Movie-Mine immediately delivers a bunch of helpful information about any of hundreds of thousands of movies, without subjecting you to a deluge of advertising.

If you want to check out a particlar movie, the most efficient procedure is to start with a Movie-Mine title lookup. This quickly provides you with information that may be sufficient to make an immediate viewing decision. It also provides you with links to get more about that movie from many other reputable sites. Of course, most movie sites offer some sort of basic lookup and access to movie data, but not as fast and “fat-free” as Movie-Mine, and not with as egalitarian an attitude about linking to other good sites.

What really sets Movie-Mine apart, though, is its unique ability to attach your own private annotations to each movie. This enables you to transform movie selection into a gradual, incremental process. Instead of painfully going over the same ground again and again, you can come back to a viewing candidate and pick up from where you last left off, using your previous notes as a reminder. In this way, Movie-Mine isn’t just another movie site – it’s the logical starting point for using all of the best movie sites.

Movie-Mine goes responsive

We’ve just completed overhauling the Movie-Mine web site to achieve what’s referred to as Responsive Web Design (RWD). Put simply, this means the site now is reasonably usable on a wide range of browsers and devices, such as smartphones, tablets, and desktop computers. As the screen or window size changes, Movie-Mine pages automatically rearrange themselves to make sensible use of the available display space, while keeping the sizes and spacing of various elements clearly organized and legible.

Now you can use Movie-Mine with your smartphone to help select a movie in the comfort of your bed, or at your local video rental store – if you are lucky enough to find one. When you are at your desktop computer you can use the extra screen space to build and massage your own watch list of potential viewing candidates, and review various sources of ideas, top movie lists, etc. Also use your phone or tablet to quickly make note of personal recommendations and tidbits of information you happen to run across. Regardless of how you get to it, Movie-Mine keeps track of your own notes and annotations, attached to any of the more than a hundred thousand movies in its datase.

The technology for Responsive Web Design

In the olden days, the more sophisticated web sites tended to use highly styled, fixed width layouts, designed to look best at some particular page size, e.g. 640X480 pixels, and then progressively larger sizes as typical displays evolved to higher resolution.  To view those sites in a smaller window, you’d have to scroll or pan to see the rest of the page, or zoom to a smaller font size. Then browser-enabled smartphones came along, and things got more complicated. At first, only companies with big budgets could afford to create alternative mobile designs and deal with complex browser and device dependencies.

Fortunately, by the time we confronted this problem, the concept of Responsive Web Design and readily available technologies supporting it had become well established. Google is pushing RWD in a major way, understandably since it’s very much in their interest. Google provides some very useful assistance to developers, including these indispensable tools:

Also note that Google Chrome’s built-in Inspect tool is extremely helpful, especially with regard to understanding CSS, and it has a handy tool for previewing a web page as it would display in a variety of mobile devices. For a good introduction to RWD, start here:

I should add that W3Schools is an excellent general reference on a wide range of web technologies. I found it very helpful in getting acquainted with RWD, and it was worthwhile to have gone through the RWD topics in the sequence they presented them. But I almost missed the somewhat understated grand finale that follows their simple RWD framework called W3.CSS. No, W3.CSS is instructive, but what I really want is Bootstrap! As it turns out, W3Schools is built on the Bootstrap framework, and they have plenty of documentation about it here:

For the most complete and authoritative reference, get it straight from the horse’s mouth:

Naturally, this is a Bootstrap-based web site.

It is reassuring that Bootstrap is very widely used, and it has evolved over a number of years as a framework for building web user interfaces and dealing with cross browser compatibility. It’s much more than a solution to the RWD problem, which was my original motivation for looking into it. With Bootstrap, you get the tools to easily build higher-level constructs like menus, modal dialogs (aka modals), and other essential web components that go one level beyond what you get from basic jQuery. Since I hadn’t yet decided on a set of UI components, I was delighted to discover that I got those for free from Bootstrap!

Bootstrap is a relatively “lightweight” framework, providing a high degree of flexibility without imposing undue complexity and constraints on the developer. By contrast, a framework like WordPress is not what you’d call lightweight. I quickly discovered the morass of complexity one must deal with to create WordPress templates, which are required for any serious degree of customization of WordPress – even the addition of a single line of JavaScript. That isn’t intended as a put-down of WordPress – after all this is a WordPress-based blog. But Movie-Mine would not have been better or easier to build with WordPress.

Putting the “mine” in Movie-Mine

Movie-Mine - discover hidden gems!

Movie-Mine has added some personalization features enabling logged in users to add their own private notes and annotations to any movie record. In conjunction with Movie-Mine’s quick lookup facility, this allows you to use Movie-Mine as a virtual scratchpad for keeping track of your own, prioritized list of viewing candidates, as well as a record of the movies you’ve seen. To use the new personalization features, you simply need to register your unique user name and password, and use these to login. Movie-Mine registration is anonymous and free.

The items of information you can attach to any movie include:

  • a numerical Rank (0 – 99) for viewing candidates
  • a Seen flag, indicating you’ve seen this movie
  • a Viewed date specifying when you last saw this movie
  • a numerical Rating (0 – 99) indicating how much you liked this movie
  • free-form Notes (up to 2000 characters) with any comments you’d like to add

Movie-Mine normally displays an assortment of basic facts about each movie, plus links to various reviews. As a logged-in user you also see your own notes and annotations on the same page for that movie.

In addition to seeing your own additions on each movie page, you can also generate a variety of useful reports derived from this information. The default report lists your top viewing candidates, by descending Rank. Flexible report settings allow you to choose among various orderings, column selections, and filtering options. For example, you can keep track the movies you’ve seen by date, or you can maintain a top movie list, based on your own ratings.

Above all, these new facilities help to make better, faster decisions about which movies to watch. Use the free-form Notes to keep track of tidbits of information such as personal recommendations and ratings from selected review sites, so you can gradually converge on a decision starting from where you last left off, without forgetting or duplicating your previous research.

a new tool for quick movie lookups across multiple sites

Movie-Mine - discover hidden gems!

When deciding whether to watch a movie, it helps to consider ratings and reviews from multiple sources, but this can be time-consuming. Film sites often have search facilities and movie info pages with links to selected reviews. However, presumably for competitive reasons, the best “meta-review” sites seldom link to each other. This makes it slower than it should be to search across many sites at once. That’s why I’ve created Movie-Mine, a meta-meta-search tool. It has a fast, incremental search that finds partial movie titles with minimal typing.

After you select an entry for a suggested matching title, Movie-Mine displays a page of basic movie information, including links to related pages on the most important film sites. For those sites to which a direct link is not yet known, Movie-Mine provides an appropriate Google site search, as indicated by a dashed border around the link. Links with a solid border should lead directly to the desired page on that site, without the need to go through an intermediate Google site search.

In some cases, most notably for links to Metacritic, the expected page may not be found. (These errors might be due to Metacritic’s having changed their page naming conventions.) Please feel free to report any erroneous links, so we can do our best to fix them. In the meantime, note that IMDb movie pages generally display summary Metacritic information, when available.

deciphering IMDb and Netflix average user ratings

Both Netflix and IMDb obtain user ratings on a whole number scale; Netflix users score movies on a 1-5 scale, while IMDb users grade on a 1-10 scale. So you might naively conclude that, aside from the degree of uncertainty, a Netflix average user score of 3.7 is equivalent to an IMDb rating of 7.4 – but that would be wrong! Use this JavaScript-based movie rating conversion form to calculate the equivalent rating of either type to a score on a 1-99 scale.

comparing movie reviews

Film review sites use a variety of different rating systems, making it somewhat difficult to compare assessments from many independent sources. Which is the better score, 4 out of 5 stars from a site that only uses whole stars, or 3 out of 4 stars from a site that uses half-stars? (You might be surprised at the answer!) To help answer such vexing questions, I’ve created a comparison of movie rating systems, with conversion tables covering the most commonly used rating schemes.

summary of the best movie information and review sites

Movies are a great source of entertainment, but choosing the next movie to watch can be challenging. You don’t want to waste your time watching a disappointing movie. On the other hand, you can’t afford to spend too much time making a choice. The problem isn’t due to a lack of information, but an over-abundance. To help navigate more efficiently through the maze of movie information that’s available online, I’ve put together a compact summary of essential movie resources, including links to the most useful pages on those sites. If you’re looking for ideas about which movies to see, beyond what’s currently playing in theaters, this should be a pretty good starting point.

security administration on a shared Apache web server

Running WordPress on a shared Linux web server is an economical way to build a web site without the hassle and expense of maintaining a dedicated server.  However, there are some useful administrative and security functions handled by the host’s Apache web server software configuration, beyond the scope of what is provided by WordPress.  While the main server configuration files generally are not accessible to users whose web sites reside on a shared server, Apache supports a powerful mechanism, .htaccess files, which can give individual users of shared web servers a high degree of control over the security and configuration of their own domains.

In my case, the immediate problem was to find a substitute for FrontPage’s directory-oriented password protection facilities.  In FrontPage, one would create a private “sub-web”, and the FrontPage Server Extensions (FPSE) provided an interface for registering users and assigning them passwords.  My problem was to continue supporting this simple model of access control (which uses the Basic Access Authentication protocol) without depending on FPSE.  This is not the sort of access control that is governed by WordPress’ blog-oriented administration features, but it’s an extremely simple application of Apache security features that can be implemented through .htaccess.

Because .htaccess files have many options and a rather obscure syntax, they can be quite confusing and intimidating.  There are many published tips and tricks on the use of .htaccess – so many that it can be hard to know where to begin.  Before you curse the complexity of .htaccess, though, remember that this mechanism spares you from the vastly greater complexity of managing your own web server, and it gives you a high degree of administrative control over your own web site running in a shared server environment.

An instructive illustration can be found in the solution to my problem of using .htaccess to replicate the access control features that were supported by FrontPage.  The only tool I needed to use was the WebShell file and directory management facility of the HSphere Control Panel, a standard feature offered by my shared web hosting service provider.  (An essential capability of WebShell that was missing from the free FTP program I’m accustomed to using is the ability to see .htaccess files at all – these and other files whose names begin with a period are not displayed in my old FTP utility!)

Using WebShell to peruse the residue of my semi-defunct FrontPage site, I could see that FrontPage’s implementation of password-protected sub-webs actually was based on the .htaccess mechanism.  The root of the password-protected sub-web contained a .htaccess file, and this referred to a standard type of encrypted password file, named service.pwd, residing in FrontPage’s hidden _vti_pvt subdirectory.  Even after the FrontPage Server Extensions ceased to operate, this access control mechanism continued to function properly.  But without the support of FPSE, it was unclear how to go about registering new users or making any other changes to my site’s password protection.

After wading though Apache documentation and various references, here’s what I came up with.  In the directory I wanted to protect I created a new .htaccess file containing this:

AuthType basic
AuthName "Montage subscriber area"
AuthUserFile [server path to password file]
Require valid-user

where [server path to password file] is the local path specification of my encrypted password file within the server filing system.  As for the password file itself, this is a text file containing entries of the following form:


I.e. each line begins with a username, followed by a colon, followed by the user’s encrypted password.  But where do the encrypted passwords come from?  There are a variety of ways to get these, including free online forms that can generate them for you.  Strangely, most of these free services also ask you to provide the associated userid, even though this should not be necessary, since the encryption depends only on the password, not the userid.  Another alternative is to create a simple PHP program, which can generate and display a valid encryption for a given password.  (Note that the encryption is really a hash, and its value is not unique.)

I was able to copy lines from my old FrontPage-generated password file, and these entries worked fine, even though I moved, renamed, and edited the password file.  For the problem of adding new users and passwords, I discovered that the HSphere Control Panel’s WebShell interface makes password file maintenance even easier, using its “Protect Wizard”.  This facility simplifies a number of basic .htaccess maintenance tasks, including the creation of encrypted password file entries in conjunction with adding, deleting, and modifying registered users.  Sheesh – if I had understood this in the first place, I’d never have had to learn as much as I did about the wonders of .htaccess!

Related references:

Here is a sampling of additional references about .htaccess tips and tricks:

migrating to WordPress – the easy way

As of December 5, 2012, the IdeaXchg home page became a WordPress-generated blog page.  Previously, the entire site was created and maintained through FrontPage, but this became increasingly cumbersome and outdated, since Microsoft stopped supporting FrontPage long ago.

I was not looking forward to the daunting prospect of converting lots of old pages into WordPress, but I did want to preserve much of this old content, at least for the time being.  So what I’ve done is simply to keep many old pages at their old URLs, while replacing the site’s old home page with the new WordPress-based home page.  This allows me to use WordPress, while simultaneously keeping most of the old site exactly as it was, for the benefit of search engines and visitors.

As a former user of FrontPage, it was not immediately obvious that this simple approach, intermixing WordPress and non-WordPress content, could be done so easily, because FrontPage is notoriously finicky about such games.  Any addition of content to a FrontPage web has to be done through FrontPage, or one risks disastrous consequences.  Barring any obvious naming conflicts, there is no such danger with WordPress.

Of course, I’ve only punted on the conversion of old pages into WordPress, but that’s OK with me – I’m no purist.  The site didn’t get any worse than it was before, and now I can convert what old pages I care to in my own sweet time.  Meanwhile, I’ve gained immediate access to the full power of WordPress.

It should be noted, however, that the WordPress Search Widget does not encompass any non-WordPress content.  I can live with that, since my FrontPage-based Search pages stopped working a while ago, and Google search within site is more than adequate.

related references:

premium information resources from SpaceTime Systems