A common feature that a software application often needs to support is efficient text search. Search is simply expected to be available, and users want it to be fast. This article explores how efficient text search support can be provided by the underlying application database. We will look at Postgres and its built-in support for efficient indexed text search. But other database systems provide similar functionality.
In 1995 my parents were still working in Bangladesh, a young republic situated at the mouth of the confluence of two large rivers flowing into the Bay of Bengal.1 The Ganges–Brahmaputra Delta is one of the most fertile regions in the world, but despite such riches the country is largely defined by socio-economic disparity and wide-spread poverty.
At the time I had just finished 9th grade (the highest offered) at the small Swedish School in Dhaka, the buzzing capital home to millions of people. My parents were staying on for another year to finish their work term. Instead of going back to Sweden for school I would spend a year in India, just like my older brother had done before me, and our mom before us (when her parents were working in India). Hebron School is a boarding school in the Nilgiri hills in southern India, in the state of Tamil Nadu.2 More precisely it's in the town of Ooty, a hill station above 7,000 feet of elevation.3 The school was founded by Protestant missionaries in 1899 and carries the motto "Deo Supremo" ("God First"). A British curriculum is followed and a large number of the teachers are Brits. Many of the students are children of missionaries from different countries working all over Asia, but not surprisingly there is also a large contingent of Indian students. The school is co-ed, but the boarded girls and boys live on different campuses.
The JFK 50 is one of the big fall ultras on the US East Coast. It was my first ultra in 2011 and I ran around 10h50m after a long and tough second half. After an initial 2 miles on the roads the JFK famously runs along the Appalachian Trail (AT) for about 15 miles. The AT otherwise does not allow organized events, but an exception is typically made for the JFK due to its long history on the trail. After the AT the race continues on the C&O Canal for 25 miles before the final 8 miles to the finish along rolling country roads. The long stretch on the C&O canal and the final road section makes the JFK mostly flat and it was a great first ultra to run. The race didn't go very well for me. I struggled in the second half and was reduced to a walk for quite long stretches. When that happens it really hurts your finishing time. I knew I could do better. But I didn't think it would be another full 2 years until I got to try again. The other week however I finished the Stone Mill 50.
I love reading on my Kindle (3rd generation keyboard). I always thought the ability to create your own vocabulary collection to learn new words would be a good idea and I'm glad they've added it in their latest software release (not available on my old Kindle however). Here is the feedback email I sent on Monday, Jul 26, 2010 at 1:23 PM:
I don't know if it is true, but I guess one of Kindle's mission could be to promote reading. If we assume this is the case, then "expanding vocabularies" would be a sub-mission. That is, helping people learn new words.
The built-in dictionary is gold for doing exactly this! I would add a suggestion which I think is kind of nice:
Allow people to not only look up the definition of words, but to construct a list of words that they want to study and remember (learn).
It is easy to look up a word, understand its meaning, but then forget both the word and its meaning. While the dictionary is active, pressing a dedicated button on the keyboard could add the word to a collection of words stored in a simple text file on the Kindle (one word per line). This file could be downloaded while the Kindle is connected to the computer, or read directly on the Kindle.
I guess the same thing could be done already by highlighting a word, but this is clumsy and far from ideal. In addition, the "word list" would be mixed up with highlighted passages.
This functionality could be sold by Amazon as a way to help people expand their vocabulary!
I believe the implementation would be quite simple, but the added value would be great.
Jeff Bezos, the chairman and CEO of Amazon, seems to be a very interesting person. He founded Amazon as an online bookstore, but it has moved into a wide array of different businesses, including music, e-readers, consumer products, Web Services etc. Jeff Bezos also recently bought The Washingon Post and it will be interesting to see how that will change the newspaper.
Amazon just released the new Kindle Fire tablets and Josh Topolsky has an interesting account of meeting with Bezos where he demonstrated the new devices, and especially a take on what kind of company Amazon really is.
During the conversation — knocking around between moments of true hilarity and brass tacks business — I started to see Amazon as a kind of Venn diagram itself, sort of like the one Jeff drew for me. On one side is incredible optimism, a kind of shocking, exciting, scary-fun optimism that makes you feel a little bit like anything is possible. Like the future is now. Like it's only going to get better. On the other side is insight; a shrewd, cutting, almost preternatural sense of where it's all going, what consumers want, how businesses get built, and the knowledge to find or build a path to that destination. And there in the middle — where those two disparate sides meet — is Jeff Bezos, laughing.