Mining the Social Web (3rd Edition)

Preface

Welcome! Allow me to be the first to offer my congratulations on your decision to take an interest in Mining the Social Web (3rd Edition)! This collection of Jupyter Notebooks provides an interactive way to follow along with and explore the numbered examples from the book. Whereas many technical books require you type in the code examples one character at a time or download a source code archive (that may or may not be maintained by the author), this book reinforces the concepts from the sample code in a fun, convenient, and interactive way that really does make the learning experience superior to what you may have previously experienced, so even if you are skeptical, please give it try. I think you'll be pleasantly surprised at the amazing user experience that the Jupyter Notebook affords and just how much easier it is to follow along and adapt the code to your own particular needs.

In the somewhat unlikely event that you've somehow stumbled across this notebook outside of its context on GitHub, you can find the full source code repository here.)

The default expectation is that as a consumer of Mining the Social Web and its source code, you will take advantage of the incredible virtual machine experience that's been designed to enhance your pleasure in following along with this book and described in some more detail in the "Appendix A (Virtual Machine Experience)" notebook. The virtual machine experience is powered by Vagrant, an amazing abstraction that works on top of virtualization providers such as Virtualbox and VMWare, and simplifies the tedious and time-consuming configuration management that arise when trying to provide a consitent user experience across multiple platforms, various software versions, 3rd party dependencies that are continually updating, etc.

In short, the virtual machine experience for this book that's powered by Vagrant provides a well-tested "frozen" development environment for the source code in the book that frees you from dealing with myriad system administration complexities that you would otherwise be liable for figuring out to configure your development environment. The virtual machine experience is part of the source code repository and is maintained by the author (with notable contributions from others in the social web mining community.)

If you haven't previously encountered the Jupyter Notebook, you really should take a moment to learn more about it at http://ipython.org/notebook.html. It's essentially a platform that allows you to author and run Python source code in the web browser and lends itself very well to data science experiments in which you're taking notes and learning along the way. Personally, I like to think of it as a special purpose notepad that allows me to embed and run arbitrary Python code, and I find myself increasingly using it as my default development environment for many of my Python-based projects.

The source code for Mining the Social Web book employs the Jupyter Notebook rather exclusively to present the source code as a means of streamlining and enhancing the learning experience, so it is highly recommended that you take a few minutes to learn more about how it works and why it's such an excellent learning (and development) platform. The same GitHub source code repository that contains this file also contains all of the Jupyter Notebooks for Mining the Social Web, so once you've followed along with the instructions in Appendix A and gotten your virtual machine environment installed, just open the corresponding notebook from http://localhost:8888. From that point, following along with the code is literally as easy to pressing Shift-Enter in Jupyter Notebook cells.

Although you really should make haste in setting up your virtual machine so that you'll be ready to make the most of this experience as soon as possible, it may also be worth pointing out that you can browse read-only versions of all of these IPython Notebooks online.

If you experience any problems along the way or have any feedback about this book, its software, or anything else at all, please reach out on Twitter, Facebook, or GitHub for help.

Thanks once again for your interest in Mining the Social Web. I truly hope that you learn a lot of new things (and have more fun than you ever expected) from this book.

Best Regards,
Matthew A. Russell
Twitter: @ptwobrussell

Mikhail Klassen
Twitter: @MikhailKlassen

P.S. Even if you are a savvy and accomplished developer, you will still find it worthwhile to use the turn-key virtual machine that's been provided since it is tested and comes pre-loaded with all of the correct dependencies for following along with the examples. If despite my best efforts you still decide to try and run without the benefits of the virtual machine, at least review the Vagrant-related information for this project; it'll definitely save you a lot of time with configuration management.

In [3]:
# This is a Python source code comment in a Jupyter Notebook cell. 
# Try executing this cell by placing your cursor in it and typing Shift-Enter

print("Hello, Social Web!")

# See Appendix A to get your virtual machine installed

# See Appendix C for a brief overview of some Python idioms and IPython Notebook tips
Hello, Social Web!
In [ ]: