Full Text Search: The Key to Better Natural Language Queries for NoSQL in Node.js
A Web Developer's Look at Windows 7 - Intro
Although I've been actively using and writing about open source Web development technologies for over a decade now, like so many other developers, Windows has steadfastly remained my primary desktop operating system of choice. While occasional frustrations led to experimentation with other operating systems, most notably Ubuntu (which I'm currently running on a netbook), Windows' familiarity and widespread array of applications always won out in the end.
That is, until Windows Vista came along. Perhaps the biggest debacle in Microsoft's history, attempting to productively use Vista was akin to finding yourself in a perpetual train wreck. It only took a mere matter of days following the "upgrade" to Vista from Windows XP before like so many others I ran back to XP with my tail between my legs. Absent a major improvement to future releases, eventual migration to a competing operating system would not only be desired, but required.
Windows 7 introduces the concept of libraries, which solves not one but two gripes I've long had with previous Windows releases. While XP does a great job of indexing data located in a user's specially designated data directories (My Documents, My Pictures, etc), searching for data residing outside of these directories is often a chore, if not downright impossible. This is inconvenient because most Web developers spend the vast majority of their time outside of these directories, working with assets found in Apache's htdocs directory. Further, on the occasion I am elsewhere within the operating system, I often would like to immediately access certain Web-related assets, however the only way to do so outside of cluttering the taskbar with directory shortcuts is to navigate backwards using Windows Explorer. Dealing with these two navigational drawbacks on a daily basis can easily add up to hours of lost productivity over a typical work week.
Recognizing users' desires to create custom personal data hierarchies, Windows 7 introduces a new feature known as Libraries. Libraries give users the ability to not only define the content they'd like to be identified as having a higher indexing priority, but also highlight this content within the ever present Windows Explorer sidebar.
As Figure 1 shows, defining a directory as a Library is as easy as clicking on the name and identifying it as such.
Figure 1. Defining a Windows 7 Library
Once defined, the library can immediately be accessed from the Explorer sidebar, as depicted in Figure 2.
Figure 2. Libraries are always accessible from the Windows Explorer sidebar
You can also search your Libraries simply by navigating to the Libraries directory and using the search field located at the top right of the window, as shown in Figure 3.
Figure 3. Searching the Libraries
Snapping, Peeking, and Shaking Windows
Although I use a dual-monitor setup on a daily basis, including a 17" laptop screen and a 22" secondary monitor, it seems I'm always jostling windows around in order to maximize the use of screen real estate. Notably, I often like to simultaneously view both my code and the outcome in the browser. Windows 7 greatly reduces the work required to organize windows via three new features known as snap, peek, and shake.
The snap feature allows you to easily divide your monitor between two windows simply by grabbing one window's title bar and dragging it to the left or right until an outline of the resituated window appears. Release the mouse and Windows will do the rest. Repeat this process with the other window, dragging it to the opposite side of the monitor. You can accomplish this effect even faster simply by pressing the Windows key in conjunction with the left or right arrow key, resulting in the active window being repositioned to the respective side of the screen. The outcome of following this procedure is depicted in Figure 4.
Figure 5. Pinning frequently used websites to the browser
Two other Windows management features known as peek and shake are also at your disposal. Peek allows you to easily view your desktop without actually shutting all of the open windows simply by mousing over a gray rectangle located at the bottom-right of the screen. Using the shake feature, you can minimize all windows except for one by grabbing the desired window's title bar and shaking the window around a few times.
Pinning Frequently Used Files and Websites
When developing a new Web site I'll logically return to the site time-and-again, whether it's the site's development address, or it's recently deployed production URL. However, repeatedly opening the browser and navigating to the site either by manually entering the address, or clicking a bookmark can get tedious. To make accessing popular files and URLs easier, Windows 7 introduces the concept of Jump Lists, to which you can pin frequently accessed resources. Figure 5 demonstrates how I've pinned two of my favorite Web sites to the Internet Explorer icon.
Figure 5. Pinning frequently used websites to the browser
Currently it doesn't seem as if Jump Lists can be used in conjunction with third-party icons such as Firefox, although hopefully such capabilities will be made available in the future.
Microsoft clearly placed great emphasis on enhancing productivity throughout Windows 7, and it shows. Obvious improvements such as those described in this article are found throughout, but you'll also encounter more subtle positive changes such as significantly decreased hardware requirements. While the upgrade process isn't as gentle as one would like for XP users, and the product continues to suffer from multiple confusing naming conventions (available versions include Windows 7 Starter, Home Premium, Professional, and Ultimate), Windows 7 is an obvious choice for Windows-oriented developers seeking a more streamlined approach to their daily workflow.
About the Author
Jason Gilmore is founder of EasyPHPWebsites.com, and author of the popular book, "Easy PHP Websites with the Zend Framework". Formerly Apress' open source editor, Jason fostered the development of more than 60 books, along the way helping to transform their open source line into one of the industry's most respected publishing programs. Over the years he's authored several other books, including the best-selling Beginning PHP and MySQL: From Novice to Professional (currently in its third edition), Beginning PHP and PostgreSQL: From Novice to Professional, and Beginning PHP and Oracle: From Novice to Professional.
Jason is a cofounder and speaker chair of CodeMash, a nonprofit organization tasked with hosting an annual namesake developer's conference, and was a member of the 2008 MySQL Conference speaker selection board.