Recently I read a post called “Why We Desperately Need a New (and Better) Google” over on TechCrunch. In the post, Vivek Wadhwa describes how he tried to have his UC Berkeley students use Google to research selected company founders and how they failed miserably.
“It turns out,” Wadha writes, “that you can’t easily do such searches in Google any more. Google has become a jungle: a tropical paradise for spammers and marketers. Almost every search takes you to websites that want you to click on links that make them money, or to sponsored sites that make Google money.” He then describes how they ended up using an alternative search engine called Blekko to perform the assignment.
But one of his main points was how the way Google has set up advertising on the Web has created a market for spam web sites:
The problem is that content on the internet is growing exponentially and the vast majority of this content is spam. This is created by unscrupulous companies that know how to manipulate Google’s page-ranking systems to get their websites listed at the top of your search results. When you visit these sites, they take you to the websites of other companies that want to sell you their goods. (The spammers get paid for every click.)
I’ve been aware of this firsthand. There are people getting rich out there by creating spam web sites that exist only to send folks off to another web site and therefore have no real utility. The essential problem is that Google itself has absolutely no motivation to change this, as they get a cut of every click and for them it would be like killing the Golden Goose to put a stop to this nonsense.
So what we’re left with is, as Wadhwa points out, the need for a new and better Google. It may or not be Blekko, but it will likely be something like Blekko that enables searching of selected areas of the web — not every single SEO-enhanced spam site. I, for one, will welcome my new search overlord.
We’re very excited to have a new team member for Ibis Reader. Ned Batchelder will be working with us in the weeks ahead to update and improve Ibis, and to add some features that have been requested by current and prospective software licensees.
First up is internationalization. One of the key advantages of an HTML5 webapp versus a native app is that they can be installed in any country on a supported device, even in countries that don’t yet have an Apple App Store. But first the application needs to be localized for the regional language.
Before translators can get to work, the application needs to be readied: each bit of text in the site needs to be marked for translation. This step can be time-consuming and difficult to test.Automating translation testing
Ned has posted some code on his own blog that he used to help validate the internationalization process. Some good comments point to more advanced tools that take a similar approach. Recommended reading for anyone doing internationalization work.
The tool fakes a translation by randomly capitalizing all of the letters in the site text. If done properly, you should get a result like this:
The book title Middlemarch and the chapter name look normal; those should not be translated. The remaining words are directions to the user and will need to be in a regional language. If any of the site text, like “Next” or “Previous”, showed up with normal capitalization, we would know that we missed a step.
We won’t be rolling out translated versions to ibisreader.com in the near future, but we will be posting some performance enhancements and feature updates very soon.
The fix can be easily made if you build from source (building for debian).
The key line that needs to be altered is at line 1131 of trunk/opencv/modules/python/api [svn browse ink]:... QueryHistValue_3D double CvHistogram hist int idx0 int idx1 int idx2 QueryHistValue_nD double CvHistogram hist ints idx # Matching MatchTemplate CvArr image CvArr templ CvArr result int method MatchShapes <------------------ this line CvSeq object1 CvSeq object2 int method double parameter 0 # Contour Processing Functions ApproxChains CvSeq* CvSeq src_seq CvMemStorage storage int method CV_CHAIN_APPROX_SIMPLE double parameter 0 ...
Change the line to the following to make the python binding generator know that the method will return a double:
Then do the usual make && sudo make install. If running on debian-based systems, remember to copy across the python lib afterwards!
Active forum topics
There are currently 0 users and 12 guests online.