social bookmarking

28 results back to index


pages: 518 words: 49,555

Designing Social Interfaces by Christian Crumlish, Erin Malone

A Pattern Language, Amazon Mechanical Turk, anti-pattern, barriers to entry, c2.com, carbon footprint, cloud computing, collaborative editing, commons-based peer production, creative destruction, crowdsourcing, en.wikipedia.org, Firefox, folksonomy, Free Software Foundation, game design, ghettoisation, Howard Rheingold, hypertext link, if you build it, they will come, information security, lolcat, Merlin Mann, Nate Silver, Network effects, Potemkin village, power law, recommendation engine, RFC: Request For Comment, semantic web, SETI@home, Skype, slashdot, social bookmarking, social graph, social software, social web, source of truth, stealth mode startup, Stewart Brand, systems thinking, tacit knowledge, telepresence, the long tail, the strength of weak ties, The Wisdom of Crowds, web application, Yochai Benkler

Related patterns “Activity Streams” on page 135 “Faceted identity” on page 95 “One-way following (aka asynchronous following)” on page 364 “Profile” on page 86 “Updates” on page 139 As seen on Flickr (http://www.flickr.com/) The New York Times (http://nytimes.com/) The Onion (http://www.theonion.com/) Yahoo! (http://www.yahoo.com/) Social Bookmarking Social bookmarking is a way for a community of users to collectively organize hyperlinks to web-based knowledge resources in a community-managed list. Social bookmarking uses keywords and metadata to organize these resources instead of utilizing a conventional hierarchical folder organization. Retrieval of this information from such systems is based on keyword search. Social bookmarking is thus a form of One-Time Sharing for gathering pointers, generally in the form of title, link, description (the same canonical form used for early blogging and RSS).

Social bookmarking is thus a form of One-Time Sharing for gathering pointers, generally in the form of title, link, description (the same canonical form used for early blogging and RSS). Social bookmarking thrives thanks to the convenience of a bookmarklet, which moves the action of bookmarking socially into the same part of the interface (the “browser chrome”) where old-school (solipsistic) bookmarking was always done (see Figure 8-23). Download at WoweBook.Com 234 Chapter 8: Share and Share Alike Figure 8-23. A bit o’ JavaScript is all it takes to make a humble bookmark into a mighty social bookmarking bookmarklet. Whether invoked via a bookmarklet or Share This widget, the social bookmarking interface can guide the person posting the pointer toward capturing and reviewing the title and description metadata for the bookmark (see Figure 8-24).

The popularity of social networks and user-generated content in organizations is gradually changing the way knowledge is created, shared, and utilized. With tools like employee blogs, corporate wikis, and social bookmarking, people within the organization have a way to capture and share their knowledge without letting technology get in the way. Blogs (and microblogs like Twitter) enable people to express themselves without being burdened by corporate content policies and multiple levels of reviews in a more traditional environment. Wikis enable employees to create and edit content in a collaborative environment. Social bookmarking and social ranking of content (as exemplified by Delicious and Digg) enable an entire community to organize what it knows in a single repository, enabling users to define and manage what is relevant and useful.


pages: 201 words: 21,180

Designing for the Social Web by Joshua Porter

barriers to entry, classic study, en.wikipedia.org, endowment effect, fail fast, Howard Rheingold, late fees, Marc Andreessen, Mark Zuckerberg, Milgram experiment, Paradox of Choice, Paul Buchheit, Ralph Waldo Emerson, recommendation engine, social bookmarking, social software, social web, Steve Jobs, the Cathedral and the Bazaar, web application, Yochai Benkler, zero-sum game

We can collaborate and share information in amazing new ways, ways that weren’t possible even five years ago. With this new ability comes an excitement about the social value of what we’re building. Network value is new and exciting. In our excitement over new ways to connect, we must not forget that all software begins by providing personal value to the individual. The social bookmarking tool Del.icio.us was the first site to implement the feature that has come to be known as tagging. With tagging, people add words or phrases (tags) to bookmarks, allowing them to easily refind bookmarks later. Tagging items allows the site to do really interesting things, like aggregate everyone’s tags to surface what tags are most popular, as well as see what items are being bookmarked most often.

Unfortunately, copywriters are often left out of the writing stages of web site development, so developers end up trying to pitch their apps on their features, not their more powerful benefits. Features are capabilities of the system, and although they are very important, they don’t explain why someone might use them. Let’s imagine we were building a social bookmarking tool. The features might be those in the left column of the following table, while the benefits are those things in the right column: the actual value you get from the feature. Features Benefits Unlimited server space Access from any browser, anytime Add tags your bookmarks Organize your bookmarks in any way you want Add friends and see their bookmarks Collaborate and share bookmarks with friends Sort by tag or date Easily refind important bookmarks later See related bookmarks Find relevant related content Wufoo, an online form creation tool, has an excellent way of explaining the benefits of the application.

Even in cases where software has gone to the masses, it started off in a niche and then grew outward, as people realized that it doesn’t have to be used in any one way. Targeting a broad audience is precisely the wrong approach. The more specific you can get about how to use your application, the more your software will resonate with your potential audience. Del.icio.us, the social bookmarking tool, is about as broad a tool as you can get. Anybody who wants to bookmark web pages can use it. That is to say that their potential audience is everyone on the web. But Del.icio.us doesn’t fall into the trap of designing for everyone. They do a very good job providing specific use cases. And, if your software is flexible and can be used by many different types of audiences, choose a few profitable/big ones and be specific about each.


pages: 232 words: 63,846

Traction: How Any Startup Can Achieve Explosive Customer Growth by Gabriel Weinberg, Justin Mares

Airbnb, content marketing, Firefox, Hacker News, if you build it, they will come, jimmy wales, Justin.tv, Lean Startup, Marc Andreessen, Mark Zuckerberg, Network effects, Paul Graham, Peter Thiel, Salesforce, side project, Skype, Snapchat, social bookmarking, social graph, software as a service, TechCrunch disrupt, the long tail, the payments system, Uber for X, Virgin Galactic, web application, working poor, Y Combinator

So rather than saying “I want to go after XYZ brand,” say “We want to go after Internet retailers that are between 50 and 250 on the IR [Internet Retailer] 500—because that puts them in this kind of revenue range—and have a director of e-commerce.” Chris pitched all kinds of deals during his time at Delicious, the social bookmarking site. While he was there, he worked on deals with The Washington Post, Mozilla, and Wikipedia to integrate Delicious tags. Delicious approached its potential partners with a clear idea of how each of them would benefit from a partnership. For The Washington Post, the value proposition was to use Delicious’s social bookmarks to optimize content for social media. The Washington Post’s decision to partner was made even easier because it was a simple integration with very little downside.

First, it makes them much easier to share. Second, you can do well with SEO by picking a name that people search often so your tool is more naturally discoverable. Chris Fralic, former head of business development at Delicious and Half.com, told us that creating a Delicious bookmark widget more than tripled the adoption of its social bookmarking product. How many times have you seen Facebook, Twitter, and other sharing buttons on a site? For each of those widgets (e.g., Facebook, StumbleUpon, Google+, and Twitter buttons), a company used engineering resources to create a marketing tool that was embeddable on sites. These widgets drive engagement, traffic, and traction for these social platforms and the sites that use these tools.


pages: 519 words: 102,669

Programming Collective Intelligence by Toby Segaran

algorithmic management, always be closing, backpropagation, correlation coefficient, Debian, en.wikipedia.org, Firefox, full text search, functional programming, information retrieval, PageRank, prediction markets, recommendation engine, slashdot, social bookmarking, sparse data, Thomas Bayes, web application

In some cases, there is a Python library available to access these APIs; if not, it's pretty straightforward to create your own interface to access the data using Python's built-in libraries for downloading data and parsing XML. Here are some of the web sites with open APIs that you'll see in this book: del.icio.us A social bookmarking application whose open API lets you download links by tag or from a specific user. Kayak A travel site with an API for conducting searches for flights and hotels from within your own programs. eBay An online auction site with an API that allows you to query items that are currently for sale.

Chapter 1 Explains the concepts behind machine learning, how it is applied in many different fields, and how it can be used to draw new conclusions from data gathered from many different people. Chapter 2 Introduces the collaborative filtering techniques used by many online retailers to recommend products or media. The chapter includes a section on recommending links to people from a social bookmarking site, and building a movie recommendation system from the MovieLens dataset. Chapter 3 Builds on some of the ideas in Chapter 2 and introduces two different methods of clustering, which automatically detect groups of similar items in a large dataset. This chapter demonstrates the use of clustering to find groups on a set of popular weblogs and on people's desires from a social networking web site.

Sometimes the data are items that people have purchased, and opinions about these items might be represented as yes/no votes or as ratings from one to five. In this chapter, we'll look at different ways of representing these cases so that they'll all work with the same set of algorithms, and we'll create working examples with movie critic scores and social bookmarking. Collaborative Filtering You know that the low-tech way to get recommendations for products, movies, or entertaining web sites is to ask your friends. You also know that some of your friends have better "taste" than others, something you've learned over time by observing whether they usually like the same things as you.


pages: 278 words: 70,416

Smartcuts: How Hackers, Innovators, and Icons Accelerate Success by Shane Snow

3D printing, Airbnb, Albert Einstein, Apollo 11, attribution theory, augmented reality, barriers to entry, conceptual framework, correlation does not imply causation, David Heinemeier Hansson, deliberate practice, disruptive innovation, Elon Musk, fail fast, Fellow of the Royal Society, Filter Bubble, Ford Model T, Google X / Alphabet X, hive mind, index card, index fund, Isaac Newton, job satisfaction, Khan Academy, Kickstarter, lateral thinking, Law of Accelerating Returns, Lean Startup, Mahatma Gandhi, meta-analysis, Neil Armstrong, pattern recognition, Peter Thiel, popular electronics, Ray Kurzweil, Richard Florida, Ronald Reagan, Ruby on Rails, Saturday Night Live, self-driving car, seminal paper, Sheryl Sandberg, side project, Silicon Valley, social bookmarking, Steve Jobs, superconnector, vertical integration

Instead of interrupting people with ads, Mint decided it was going to become a media company that taught people to better understand finances. It started a blog on which it posted helpful articles about money management and savings. The blog chugged along, slowly winning audience members to its free content, and then it found a way to tap into a large broadcast channel: social bookmarking. Social bookmarking sites were all the rage in the mid-2000s. Here people shared links to content they liked, while others “voted” on which links they liked best. The highest voted stories every day surfaced to the front pages of bookmarking giants like Digg.com and Reddit.com, where millions of people saw them.

See also lateral thinking Siegel, Randi, 34–36, 48–51 Silence Dogood (pseudonym, Benjamin Franklin), 6–7, 205n7 Simmons, Bill, 144 simplicity addressing the need, 157–60 application to education, 166–67 application to rocket science, 173 breakthrough innovation from, 159–60 exemplifying the process, 198 maintaining momentum, 163–65 reducing stress and creating happiness, 162 understanding the meaning, 159–61 Sinatra Principle, conveying credibility, 27–30, 99, 132–33, 150, 162, 195 Singh, Dolly, 174, 183, 184 6 Hours of Silverstone (auto racing), 79–80 Skechers (shoe company), 191 “Skrillex” (stage name). See Moore, Sonny “small losses,” 271n69 “small wins,” hacking the ladder, 20–23, 49, 146 smartcuts. See lateral thinking Sobiech, Zach, 71–75, 218n73 Socarrás, Carlos Prío, 126 social bookmarking, 135–36 social media/networks about “going viral,” 54 creating apps nobody wants, 58 creating new connections, 101, 103, 155 identifying new patterns and trends, 107–8, 121–22 Oreo cookies tweet, 147–50 recognizing good stuff, 54–55, 119–20 See also media Socrates (Greek philosopher), 38 Space Exploration Technologies Corporation (SpaceX), 169–78, 183–86, 234n169 Spade, David, 34, 35 Spanish-American War, 124 Spielberg, Steven, 132 Staats, Bradley, 59, 62–65 Star Trek (film series), 132, 174 Startup Compass, 61, 212n39, 215n59 Startup Genome Report, 24, 216n59 startups blaming external factors, 60 breakthrough innovation by, 165 business plan, 135–36 “fail fast and fail often” mantra, 13 impact of sudden wealth, 143–47, 229n145 learning from failure, 57–61 nature of change over time, 10 Star Wars VII (film), 131 Stengel, Jim, 180 stress, 44, 162 A Study in Scarlet (Doyle), 163 Suarez, Fernando F., 117 success changing direction by cheetah behavior, 23–24 collaboration can lead to, 94, 118, 133–34, 138 combining work and lateral thinking, 13–14 differences in meaning, 8 first-mover advantage, 112–17 leadership quality as indicator, 28 mentoring as secret to, 37–40 money changes one’s view, 143–47, 229n145 overcoming impediments, 163–67 sideways thinking can lead to, 20–23 success breeds, 60–61 takes hard work, 11, 19, 20, 30, 50, 55, 97, 99, 121–22 takes more than luck, 14, 44, 46, 64–65, 106, 108, 199 vision and hard work leads to, 33–37 See also failure; hacking the ladder; ladder to success The Success Principles (Canfield), 38 sudden wealth, impact on success, 143–47, 229n145 Super Bowl XLVII, 147–50 superconnectors defined, 127n, 134 momentum from, 141–43 exemplifying the process, 197 superconnectors, examples Aaron Patzer, 135–36 BuzzFeed (blog), 142, 154 Ernesto “Che” Guevara, 126–31, 136–38 Fidel Castro, 123–31 Jack Canfield, 134 Jimmy Kimmel, 141, 229n141 J.


The Art of SEO by Eric Enge, Stephan Spencer, Jessie Stricchiola, Rand Fishkin

AltaVista, barriers to entry, bounce rate, Build a better mousetrap, business intelligence, cloud computing, content marketing, dark matter, en.wikipedia.org, Firefox, folksonomy, Google Chrome, Google Earth, hypertext link, index card, information retrieval, Internet Archive, Larry Ellison, Law of Accelerating Returns, linked data, mass immigration, Metcalfe’s law, Network effects, optical character recognition, PageRank, performance metric, Quicken Loans, risk tolerance, search engine result page, self-driving car, sentiment analysis, social bookmarking, social web, sorting algorithm, speech recognition, Steven Levy, text mining, the long tail, vertical integration, Wayback Machine, web application, wikimedia commons

Here are some additional tips that will assist in the promotion of your video: Put it everywhere. Exposure is king. Upload the video to all the video upload sites previously identified. Be sure that you also reference your multimedia files within appropriate RSS or mRSS feeds. Use social bookmarking tools that will help make the video more visible. This works regardless of promotional medium. Social bookmarking sites can help your video go viral. Offer the option to embed your video in other people’s sites. This really encourages people to spread your video around. End the video with a “send to a friend” option. Give users some incentive to help you spread the word.

We already discussed two aspects of this: getting links from domains you do not own, and getting links from many different domains. However, there are many other considerations. For example, if all your links come from blogs that cover your space, your source diversity is poor. There are many other types of places where you may be able to get links: directories, social media sites, university sites, media websites, social bookmarking sites, and so on. You can think about implementing link-building campaigns in many of these different sectors as diversification. There are several good reasons for doing this. One reason is that the search engines value this type of diversification. If all your links come from a single class of sites, the reason is more likely to be manipulation, and search engines do not like that.

With such goodies as, “After being decapitated, the average person remains conscious for an additional 15–20 seconds,” you can imagine how much of a hit the article was with the irreverent alpha geeks that make up the Digg community. The article made it to the Digg front page, which in turn got it in front of countless bloggers and social bookmarkers. The success of this article in attracting links surely contributed to Lifeinsure.com’s impressive page 1 ranking for life insurance, which it maintained for many months. Not surprisingly, though, this contentious article is nowhere to be found in Lifeinsure.com’s navigation hierarchy, so customers and prospects are unlikely to ever stumble across it.


pages: 982 words: 221,145

Ajax: The Definitive Guide by Anthony T. Holdener

AltaVista, Amazon Web Services, business logic, business process, centre right, Citizen Lab, Colossal Cave Adventure, create, read, update, delete, database schema, David Heinemeier Hansson, en.wikipedia.org, Firefox, full text search, game design, general-purpose programming language, Guido van Rossum, information retrieval, loose coupling, machine readable, MVC pattern, Necker cube, p-value, Ruby on Rails, SimCity, slashdot, social bookmarking, sorting algorithm, SQL injection, Wayback Machine, web application

Protocol(s): REST, RSS Service account: No Developer key: No Cost: Free SeeqPod Category: Music/video Overview: Music recommendation service API link: http://www.seeqpod.com/api/ Description: The SeeqPod music recommendation API can be used to provide high-quality music recommendations in various applications. Protocol(s): REST Service account: Yes Developer key: Yes Cost: Free Simpy Category: Bookmarks Overview: Social bookmarking service API link: http://www.simpy.com/doc/api/rest Description: Simpy is a social bookmarking service that lets you save, tag, and search your own bookmarks and notes or browse and search other users’ links and tags. Protocol(s): REST Service account: No Developer key: No Cost: Free 906 | Appendix C: Web Service API Catalog Smugmug Category: Photos Overview: Photo sharing service API link: http://smugmug.jot.com/WikiHome Description: SmugMug’s API allows you to read from and write to SmugMug for your own applications.

Simpy Simpy is a bookmarking service for social interaction that enables users to tag and share bookmarks and notes. The web service allows for programmatically interfacing with the site. You can find the API documentation at http://www. simpy.com/doc/api/rest. Publicly Available Web Services | 623 Blogmarks Blogmarks is another social bookmarking service, though it is more “blog-like” than an actual blog. Through the use of its AtomAPI, you can retrieve Atom feeds from the site that GET, POST, DELETE, and PUT bookmarks. The AtomAPI documentation is at http://dev.blogmarks.net/wiki/DeveloperDocs. Ma.gnolia Ma.gnolia allows developers to access features for managing and collecting bookmark data from their site from other applications.

Protocol(s): REST Service account: No Developer key: No Cost: Free Blinksale Category: Financial Overview: Online invoicing service API link: http://www.blinksale.com/api Description: The Blinksale API is simply another way to access your Blinksale data—one that makes it easy for third-party and custom tools to programmatically access and interact with the service. Protocol(s): REST Service account: Yes Developer key: No Cost: Free Blogmarks Category: Bookmarks Overview: Social bookmarking service API link: http://dev.blogmarks.net/wiki/DeveloperDocs Description: Blogmarks.net is a free and open bookmarks manager based on keywords (a.k.a. tags) and sharing. Using Blogmarks.net allows you the ability to store and share with other users your favorite web sites through a “blog-like” technology.


pages: 125 words: 28,222

Growth Hacking Techniques, Disruptive Technology - How 40 Companies Made It BIG – Online Growth Hacker Marketing Strategy by Robert Peters

Airbnb, bounce rate, business climate, citizen journalism, content marketing, crowdsourcing, digital map, fake it until you make it, Google Glasses, growth hacking, Hacker News, Jeff Bezos, Lean Startup, Menlo Park, Network effects, new economy, pull request, revision control, ride hailing / ride sharing, search engine result page, sharing economy, Skype, social bookmarking, TaskRabbit, turn-by-turn navigation, Twitter Arab Spring, ubercab

Users can follow question threads and are updated in email when a new answer is added. (There is an option for a daily digest to avoid cluttering up the user’s email inbox.) On their custom home page, members can see the activity on threads they have followed, as well as new answer written by specific people they follow or content they have “up voted,” which is the site’s social bookmarking feature. In January 2011, before the boost in traffic generated by the TechCrunch coverage, Quora had approximately 500,000 users. In July 2012, the site was averaging 1.5 million unique visits. Given the presence of many luminaries and celebrities in a range of fields on the site, there is every indication the Quora ecosystem will continue to thrive and grow.


Beautiful Visualization by Julie Steele

barriers to entry, correlation does not imply causation, data acquisition, data science, database schema, Drosophila, en.wikipedia.org, epigenetics, global pandemic, Hans Rosling, index card, information retrieval, iterative process, linked data, Mercator projection, meta-analysis, natural language processing, Netflix Prize, no-fly zone, pattern recognition, peer-to-peer, performance metric, power law, QR code, recommendation engine, semantic web, social bookmarking, social distancing, social graph, sorting algorithm, Steve Jobs, the long tail, web application, wikimedia commons, Yochai Benkler

A Wordle of this chapter By now, even people who have never heard of “information visualization” are familiar with the colorful word collage known as Wordle, “the gateway drug to textual analysis.”[1] Like any such drug, Wordle was designed for pleasure, although its roots lie in the utilitarian tag clouds popularized by such sites as del.icio.us and Flickr. Wordle’s Origins In 2004, my colleague Bernard Kerr and I made a social bookmarking application, which Bernard named “dogear” (Millen, Feinberg, and Kerr, 2006). Any application that lets users tag content is bound to provide a tag cloud, a vaguely rectangular collection of clickable keywords. So, when we designed dogear, we made sure to feature a prominent tag cloud on every page (see Figure 3-2).

Please see http://www.wordle.net/credits for information about the many people who have helped me create and improve Wordle. References Ericson, Christer. 2005. Real-Time Collision Detection. San Francisco, CA: Morgan Kaufmann. Millen, D. R., J. Feinberg, and B. Kerr. 2006. “Dogear: Social bookmarking in the enterprise.” Proceedings of the SIGCHI Conference on Human Factors in Computing Systems (Montréal, Québec, Canada, April 22–27, 2006). http://doi.acm.org/10.1145/1124772.1124792. Viégas, Fernanda B., Martin Wattenberg, and Jonathan Feinberg. 2009. “Participatory visualization with Wordle.”


pages: 132 words: 31,976

Getting Real by Jason Fried, David Heinemeier Hansson, Matthew Linderman, 37 Signals

call centre, David Heinemeier Hansson, iterative process, John Gruber, knowledge worker, Merlin Mann, Metcalfe's law, performance metric, post-work, premature optimization, Ruby on Rails, slashdot, social bookmarking, Steve Jobs, web application

Not just the positioning x/y axis sort of "We are cheaper" claim, but a real story that is completely different from the story that's already being told. —Seth Godin, author/entrepreneur (from Be a Better Liar) What's the key problem? One of the quickest ways to get yourself into trouble is to look at what your competitors are doing. This has been especially true for us at BlinkList. Since we launched there have been about 10 other social bookmarking services that have been launched. Some people have even started to generate spreadsheets online with a detailed feature by feature comparison. However, this can quickly lead one astray. Instead, we stay focused on the big picture and keep asking ourselves, what is the key problem we are trying to solve and how can we solve it.


pages: 397 words: 102,910

The Idealist: Aaron Swartz and the Rise of Free Culture on the Internet by Justin Peters

4chan, Aaron Swartz, activist lawyer, Alan Greenspan, Any sufficiently advanced technology is indistinguishable from magic, Bayesian statistics, Brewster Kahle, buy low sell high, crowdsourcing, digital rights, disintermediation, don't be evil, Free Software Foundation, global village, Hacker Ethic, hypertext link, index card, informal economy, information retrieval, Internet Archive, invention of movable type, invention of writing, Isaac Newton, John Markoff, Joi Ito, Lean Startup, machine readable, military-industrial complex, moral panic, Open Library, Paul Buchheit, Paul Graham, profit motive, RAND corporation, Republic of Letters, Richard Stallman, selection bias, semantic web, Silicon Valley, social bookmarking, social web, Steve Jobs, Steven Levy, Stewart Brand, strikebreaker, subprime mortgage crisis, Twitter Arab Spring, Vannevar Bush, Whole Earth Catalog, Y Combinator

‘If I don’t get either funding, a partner, or an apartment by the end of this week, I’m giving up.’ Paul did his best to talk me out of it and come up with solutions, but I still couldn’t see any way out.”19 Eventually, Graham suggested that Infogami merge with another understaffed Summer Founders start-up: a social bookmarking website called Reddit, which let users share and discover links to interesting online content. Graham had pitched Swartz to Reddit’s two original founders, Alexis Ohanian and Steve Huffman, as a savvy programmer who could help them develop their website and take it to new heights. Swartz, meanwhile, could draw on the Reddit team for help with Infogami.

On his blog, Swartz openly questioned Reddit’s real value, recounting a conversation with an author who was astounded at the site’s popularity: “So it’s just a list of links?” he said. “And you don’t even write them yourselves?” I nodded. “But there’s nothing to it!” he insisted. “Why is it so popular?” Inside the bubble, nobody asks this inconvenient question. We just mumble things like “democratic news” or “social bookmarking” and everybody just assumes it all makes sense. But looking at this guy, I realized I had no actual justification. It was just a list of links. And we didn’t even write them ourselves.38 Just a list of links. That assessment wasn’t quite accurate. Years later, Reddit would develop into one of the Internet’s most robust community platforms, a site that brings disparate users together to form interest groups, converse, and collaborate.


pages: 199 words: 43,653

Hooked: How to Build Habit-Forming Products by Nir Eyal

Airbnb, AltaVista, behavioural economics, Cass Sunstein, choice architecture, cognitive bias, cognitive dissonance, dark pattern, en.wikipedia.org, fail fast, framing effect, game design, gamification, Google Glasses, growth hacking, Ian Bogost, IKEA effect, Inbox Zero, invention of the telephone, iterative process, Jeff Bezos, Lean Startup, lock screen, Mahatma Gandhi, Mark Zuckerberg, meta-analysis, Oculus Rift, Paradox of Choice, Paul Buchheit, Paul Graham, Peter Thiel, QWERTY keyboard, reality distortion field, Richard Thaler, Silicon Valley, Silicon Valley startup, Snapchat, social bookmarking, TaskRabbit, telemarketer, the new new thing, Toyota Production System, Y Combinator

Chapter 2 explores external and internal triggers, answering the question of how product designers determine which triggers are most effective. 2. Action Following the trigger comes the action: the behavior done in anticipation of a reward. The simple action of clicking on the interesting picture in her news feed takes Barbra to a Web site called Pinterest, a “social bookmarking site with a virtual pinboard.”9 This phase of the Hook, as described in chapter 3, draws upon the art and science of usability design to reveal how products drive specific user actions. Companies leverage two basic pulleys of human behavior to increase the likelihood of an action occurring: the ease of performing an action and the psychological motivation to do it.10 Once Barbra completes the simple action of clicking on the photo, she is dazzled by what she sees next. 3.


pages: 183 words: 49,460

Start Small, Stay Small: A Developer's Guide to Launching a Startup by Rob Walling

8-hour work day, en.wikipedia.org, fail fast, inventory management, Jeff Hawkins, Kickstarter, Lean Startup, Marc Andreessen, Network effects, Paul Graham, rolodex, Salesforce, side project, Silicon Valley, social bookmarking, software as a service, Superbowl ad, web application

Here is a quick rundown of the potential market sizes for the largest platforms based on the most recent numbers I could track down: Facebook – over 500 million active users MySpace – over 125 million users SalesForce.com – over 1.5 million paying subscribers Pricing Structure In the consumer space, applications are free and typically earn revenue through advertising, affiliate links, or driving traffic to a specific website where users can be monetized In the enterprise space (such as SalesForce.com) applications may have an up-front or recurring cost Benefits for the Entrepreneur These platforms tend to have a high adoption rate for new plug-ins If you design your application correctly, you can achieve exponential growth using viral marketing since the social platforms tend to have a high network effect Often your audience has a single place where they can acquire applications (such as the Facebook Application Directory or Salesforce AppExchange) so there is more likelihood your application will be discovered accidentally than with an application on the open internet The space is relatively new so there is less competition than with web or desktop apps Benefits for the Customer Convenience of new features and functionality without relying on the platform providers to build them Many plug-ins are free The Downside Gold-rush mentality and dubious monetization methods means few applications ever make money Plugging functionality holes in the application of a major vendor will eventually backfire should the vendor incorporate your functionality into the main application When to Use When you want to extend an existing web or desktop application by making it easy for platform users to add your application’s capabilities When you have a product idea that’s targeted towards a demographic that resides on a particular platform Type #6 – Community Websites Though not a conventional “cash for software” arrangement, community websites such as social networks, forums, social bookmarking tools, file sharing or photo sharing sites can not only be fun projects to build, but fun to market since the press is currently enamored with this market segment. Community websites are the type of product most likely to wind up on the cover of Fast Company or Inc. since they grow so quickly and everyone can participate and understand how they work.


pages: 153 words: 52,175

Bit Literacy: Productivity in the Age of Information and E-mail Overload by Mark Hurst

en.wikipedia.org, Firefox, Google Earth, mail merge, off-the-grid, pre–internet, profit motive, social bookmarking, social software, software patent, web application

Negatives showed reversed colors—white showed up as black, and so on—hence the name. 18 Tags in particular have received a lot of media hype, so it’s worth a reality check. Tags can be genuinely valuable, but only if users use them consistently and accurately across a bitstream. For example, on the “social bookmarking” site del.icio.us, the mostly techie users consistently assign tags to Web pages they bookmark. In large quantities, such user-generated categorization can be very accurate. For example, searching del.icio.us on the tags “san francisco” and “food” yields more useful sites than from a similar search in most search engines.


pages: 496 words: 70,263

Erlang Programming by Francesco Cesarini

cloud computing, fault tolerance, finite state, functional programming, higher-order functions, loose coupling, revision control, RFC: Request For Comment, social bookmarking, sorting algorithm, Turing test, type inference, web application

As Tim Bray, director of Web Technologies at Sun Microsystems, expressed in his keynote at OSCON in July 2008: If somebody came to me and wanted to pay me a lot of money to build a large scale message handling system that really had to be up all the time, could never afford to go down for years at a time, I would unhesitatingly choose Erlang to build it in. Many companies are using Erlang in their production systems: • Amazon uses Erlang to implement SimpleDB, providing database services as a part of the Amazon Elastic Compute Cloud (EC2). • Yahoo! uses it in its social bookmarking service, Delicious, which has more than 5 million users and 150 million bookmarked URLs. • Facebook uses Erlang to power the backend of its chat service, handling more than 100 million active users. • T-Mobile uses Erlang in its SMS and authentication systems. • Motorola is using Erlang in call processing products in the public-safety industry. • Ericsson uses Erlang in its support nodes, used in GPRS and 3G mobile networks worldwide.

Send email to index@oreilly.com. 451 append_element/2 function, 54 application module stop function, 296 which_applications function, 281, 283 application monitor tool, 287 application resource file, 283–284 application/1 function, 405 applications, 421 (see also OTP applications) blogging, 314–320 development considerations, 421–426 apply/3 function, 55, 153 appmon:start function, 287 arguments fun expressions, 192 functions and, 190–192 arity arity flag, 363 defined, 38 Armstrong, Joe, xvi, 3, 31, 89, 201, 245 array module, 79 ASCII integer notation (see $Character notation) at (@) symbol, 19 atomic operation, 147 atoms Boolean support, 20, 28 Erlang type notation, 396 garbage collection and, 104 overview, 19 secret cookies, 250 string comparison, 23 troubleshooting syntax, 19 atom_to_list/1 function, 54 AVL balanced binary tree, 215 AXD301 ATM switch, 10, 246 B b/0 shell command, 446 badarg exception, 69, 75, 104 badarith exception, 70 badmatch exception, 69, 71, 163, 355 bags defined, 214 Dets tables, 229 duplicate, 214, 215, 229 ETS tables, 214 sets and, 213 storing, 215 452 | Index balanced binary trees, 183, 215 band operator, 208, 378 Base#Value notation, 15 BEAM file extension, 41 benchmarking, 106 Berkeley DB, 294 BIFs (built-in functions), 355 (see also trace BIFs) binary support, 202 concurrency considerations, 56 exit BIFs, 146–148 functionality, 45, 53 group leader support, 258 io module, 57–59 meta programming, 55 node support, 249 object access and evaluation, 53 process dictionary, 55 record support, 164 reduction steps, 96 reference data types, 210 runtime errors, 69 spawning processes, 90 type conversion, 54 type test support, 51, 378, 384 bignums, 15 binaries bit syntax, 203–204, 206 bitstring comprehension, 206, 212 bitwise operators, 208 chapter exercises, 212 defined, 23, 190, 202 Erlang type notation, 396 pattern matching and, 201, 205 serializing, 208, 413–415 binary files, 373 binary operators, 21, 208 binary_to_list/1 function, 202, 349 binary_to_term/1 function, 202, 343, 349 bit sequences, 4 bitstring comprehension, 206, 212 bitwise operators, 378 blogging applications, 314–320 bnot operator, 208, 378 Boolean operators atom support, 20, 28 Erlang type notation, 397 match specifications and, 378 bor operator, 208, 378 bottlenecks, 109 bound variables changing values, 30 defined, 34 functions and, 5 selective receives, 97–99 Bray, Tim, 2 bsl operator, 208, 378 bsr operator, 208, 378 bump_reductions function, 96 bxor operator, 208, 378 C C language, interworking with, 342–346 C++ language CouchDB case study, 12 Erlang comparison, 12–13 c/1 shell command, 446 c/3 function, 369 calendar module, 79 call by value, 30 call flag (tracing), 360, 362 call/1 function, 122 call/2 function, 270 callback functions, 132, 265 Carlson, Richard, 74, 395 case constructs development considerations, 431 function definitions and, 47 overview, 46–48 runtime errors, 68 case_clause exception, 68 cast/2 function, 268 Cesarini, Francesco, xv, 110, 201 Chalmers University of Technology, 2 characters Erlang type notation, 397 representation, 22 check_childspecs/1 function, 279 client function, 122, 330 client/server model chapter exercises, 138 client functions, 122 generic servers, 266–276 monitoring clients, 150 process design patterns, 117, 118–124 process skeleton example, 125–126 close function dets module, 230 gen_tcp module, 331 gen_udp module, 326 closures (see functions) cmd/1 function, 346 code module add_path function, 286 add_patha function, 181, 184 add_pathz function, 181 get_path function, 180, 181, 282 is_loaded function, 180 load_file function, 180 priv_dir function, 282 purge function, 182 root_dir function, 180 soft_purge function, 182 stick_dir function, 181 unstick_dir function, 181 code server, 180 code.erl module, 180 collections implementing, 213, 214–216 sets and bags, 213 colon (:), 25, 205 comma (,), 52, 378 Common Test tool, 14 comparison operators, 28, 378, 385 compile directive, 41 compile:file function, 163, 168, 179 concatenating strings, 27 concurrency BIF support, 56 defined, 9, 89 distributed systems and, 246 efficient, 6, 440 ETS tables and, 221 multicore processing and, 9 overview, 5 scalable, 6 concurrent programming benchmarking, 106 case study, 110 chapter exercises, 115 creating processes, 90–92 deadlocks, 112–114 development considerations, 426–429 memory leaks, 108 message passing, 92–94 process manager, 114 process skeletons, 107 Index | 453 process starvation, 112–114 race conditions, 112–114 receiving messages, 94–102 registered processes, 102–104 tail recursion, 108 testing, 419, 420 timeouts, 104–106 conditional evaluations case construct, 46–48 defined, 46 execution flow and, 36 function clause, 38, 46 if construct, 49–50 variable scope, 48 conditional macros, 167 connect function gen_tcp module, 331 net_kernel module, 255 peer module, 334 controlling_process function, 331 convert/2 function, 183 cos/1 function, 80 CouchDB database, 2, 11, 294 cpu_timestamp flag, 362 create/0 function, 174 create_schema function, 295 create_table function, 296, 298 ctp function, 370 ctpg function, 370 ctpl function, 370 curly brackets { }, 21 D Däcker, Bjarne, 3 data structures development considerations, 425 overview, 32 records as, 158 data types atoms, 19 binary, 23, 190 data structures, 32 defininig, 397 Erlang type notation, 396 floats, 17–19 functional, 189 integers, 15 interworking with Java, 338 lists, 22–27 454 | Index nesting, 32 records with typed fields, 395 reference, 190, 210, 409 term comparison, 28–29 tuples, 21 type conversions, 54 type system overview, 31 variables, 30 date/0 function, 56 db module code example, 174, 182 convert/2 function, 183 exercises, 186 fill/0 function, 376 dbg module c/3 function, 369 chapter exercises, 392 ctp function, 370 ctpg function, 370 ctpl function, 370 dtp function, 391 fun2ms/1 function, 375–382, 383–391 h function, 366 ln function, 371 ltp function, 390 match specifications, 382 n function, 371 p function, 366, 371 rtp function, 391 stop function, 368 stop_clear/0 function, 368 stop_trace_client function, 373 tp/2 function, 367, 369, 376, 391 tpl/2 function, 369 tracer/2 function, 372, 373 trace_client function, 373 trace_port function, 373 wtp function, 391 dbg tracer distributed environments, 371 functionality, 365 getting started, 366–368 profiling functions, 369 redirecting output, 371–374 tracing function calls, 369–371 tracing functions, 369 db_server module, 182 deadlocks, 112–114, 429 deallocate function, 120, 124 debugging chapter exercises, 171 dbg tracer, 365–374 EUnit support, 419 macro support, 166–168 tools supported, 80, 114 declarative languages, 4 defensive programming, 7, 47, 436 delete function, 300 delete_handler function, 133 delete_usr/1 function, 301 deleting objects in Mnesia, 300 Delicious social bookmarking service, 2 del_table_index function, 302 demonitor function, 144, 147 design patterns, 263 (see also OTP behaviors) chapter exercises, 137 client/server model, 117, 118–124 coding strategies, 436 defined, 107, 117 event handler, 117, 131–137 FSM model, 117, 126–131, 290 generic servers, 266–276 process example, 125–126 supervisors, 152, 276–280 destroy/1 function, 313 dets module close function, 230 info function, 230 insert function, 230 lookup function, 230 open_file/1 function, 230 select function, 230 sync function, 229 Dets tables bags, 229 creating, 230 duplicate bags, 229 ETS tables and, 229 functionality, 229–230 mobile subscriber database example, 231– 242 options supported, 229 sets, 229 development (see software development) Dialyzer tool creating PLT, 401 functionality, 14, 32 dict module functionality, 79 simple lookups, 294 upgrading modules, 174, 175 upgrading processes, 183 directives, module, 41 directories adding to search path, 181 OTP applications, 282 sticky, 181 dirty code, 423 dirty_delete function, 303 dirty_index_read function, 303 dirty_read function, 303 dirty_write function, 303, 304 disk_log module, 294 display/1 function, 380 dist:s/0 function, 252 distributed programming chapter exercises, 261 epmd command, 260 essential modules, 258–260 fault tolerance and, 247 firewalls and, 261 nodes, 247–255 overview, 7, 245–247 RPC support, 256–258 div operator, 17, 378 division operator, 17 DNS servers, 250 documentation EDoc support, 402–410 modules, 53, 77 dollar sign ($) symbol, 22 don’t care variables, 37 dp module fill/0 function, 375 handle/3 function, 377 handle_msg/1 function, 377 process_msg/0 function, 375 dropwhile function, 196 Dryverl toolkit, 352 dtp function, 391 duplicate bags Dets tables, 229 ETS tables, 214 storing, 215 Index | 455 E e/1 shell command, 447 ebin directory, 283 EDoc documentation framework documenting usr_db.erl, 403–405 functionality, 402 predefined macros, 408 running, 405–407 edoc module application/1 function, 405 files/1 function, 405 functionality, 405–407 EDTK (Erlang Driver Toolkit), 352 EEP (Erlang Enhancement Proposal), 352 ei_connect function, 342 Ejabberd system, 2, 245 element/2 function, 53, 378 else conditional macro, 167 empty lists, 23 empty strings, 23 endian values, 204 endif conditional macro, 167 Engineering and Physical Sciences Research Council (EPSRC), 12 ensure_loaded function, 298 enumeration types (see atoms) environment variables, 284, 285 Eötvös Loránd University, 2 epmd command, 260, 333, 341 EPP (Erlang Preprocessor), 165 EPSRC (Engineering and Physical Sciences Research Council), 12 equal to (==) operator, 28, 378 Ericsson AXD301 ATM switch, 10 Computer Science Laboratory, 3, 293 Mobility Server, 157 SGSN product, 2 ERL file extension, 40 erl module, 78, 259 Erlang additional information, 449 AXD301 ATM switch case study, 10 C++ comparison, 12–13 characteristics, 4–9 CouchDB case study, 11 getting started, 445–447 history, 3 multicore processing, 9 456 | Index popular applications, 1–3 tools supported, 447–449 usage suggestions, 14 Erlang Driver Toolkit (EDTK), 352 Erlang Enhancement Proposal (EEP), 352 ERLANG file extension, 186 erlang module append_element/2 function, 54 bump_reductions function, 96 demonitor function, 144, 147 documentation, 53, 78 functionality, 79, 259 is_alive function, 249 monitor/2 function, 144, 147 port program support, 349 trace/3 function, 357, 362 trace_pattern/3 function, 362–365 yield function, 96 Erlang Preprocessor (EPP), 165 Erlang shell chapter exercises, 43 inserting records in ETS tables, 227 modes supported, 182 overview, 16, 92 records in, 161 runtime errors, 68 troubleshooting atom syntax, 19 Erlang type notation, 395–398 Erlang Virtual Machine, 41 Erlang Web framework, 246 erlang.cookie file, 250 erlectricity library, 336, 351 erl_call command, 346 erl_connect function, 342, 344 erl_connect_init function, 344 erl_error function, 342 erl_eterm function, 342 erl_format function, 342, 344 erl_global function, 342 erl_init function, 344 erl_interface library, 336, 342–346 erl_malloc function, 342 erl_marshal function, 342 error class, 72–74 error handling chapter exercises, 154 concurrent programming, 112–114 exit signals, 139–148 process links and, 7, 139–148 robust systems, 148–154 runtime errors, 68, 378 supervisor behaviors and, 7 try...catch construct, 70–77 ets module creating tables, 216 file2tab function, 226 first/1 function, 221 fun2ms/1 function, 223, 225, 382, 383– 391 handling table elements, 217 i function, 226 info/1 function, 217, 226 insert/2 function, 217, 355, 376 last/1 function, 222 lookup/2 function, 217, 220, 355 match specifications, 382 match/2 function, 223–224 new function, 216 next/2 function, 221 safe_fixtable/2 function, 221, 236 select function, 223, 225 tab2file function, 226 tab2list function, 226 ETS tables bags, 214 building indexes, 218, 222 chapter exercises, 243, 393 concurrent updates and, 221 creating, 216 Dets tables and, 229 duplicate bags, 214 functionality, 213 handling table elements, 217 implementations and trade-offs, 214–216 match specifications, 225 Mnesia database and, 216 mobile subscriber database example, 231– 242 operations on, 226 ordered sets, 214 pattern matching, 223–224 records and, 226 sets, 214 simple lookups, 294 traversing, 220 visualizing, 228 eunit library assert macro, 416 assertEqual macro, 414, 416 assertError macro, 415, 416 assertExit macro, 416 assertMatch macro, 416 assertNot macro, 416 assertThrow macro, 416 including, 413 listToTree/1 function, 414 test/1 function, 419 treeToList/1 function, 414 EUnit tool chapter exercises, 420 debugging support, 419 functional testing example, 413–415 functionality, 14, 412, 413 infrastructure, 416–418 macro support, 413, 416 test representation, 417 test-generating function, 416 testing concurrent programs, 419 testing state-based systems, 418 event handlers chapter exercises, 138 design patterns, 117, 131–137 implementing, 291 wxErlang support, 312 event managers, 131–134 event tables, 310 event types, 312 exactly equal to (=:=) operator, 28, 378 exactly not equal to (=/=) operator, 28, 378 existing flag, 359 exit function, 72, 145, 147 exit signals process links and, 139–148 propagation semantics, 148 trapping, 142–144, 148 exited/2 function, 151 export directive, 40, 168 expressions chapter exercises, 82, 85 Erlang shell and, 93 functional data types, 192 functionality, 199 pattern matching, 33–38 term comparison, 28–29 Extensible Messaging and Presence Protocol (XMPP), 2 Index | 457 F f/0 shell command, 84, 446 f/1 shell command, 447 Facebook, 2 fault tolerance distributed programming and, 245 distributed systems and, 245, 247 layering and, 149 features, Erlang concurrency, 5, 6 distributed computation, 7 high-level constructs, 4 integration, 8 message passing, 5 robustness, 6 soft real-time properties, 6 FFI (foreign function interface), 352 file function, 163, 168, 179 file module, 79 file2tab function, 226 filename module, 79 files/1 function, 405 fill/0 function, 375, 376 filter function, 191, 192, 196 finite state machines (see FSMs) firewalls, 261 first/1 function, 221 float/1 function, 54 floating-point division operator, 17 floats defined, 17 Erlang type notation, 397 mathematical operations, 17 float_to_list/1 function, 54 flush/0 shell command, 93, 324, 359 foldl/3 function lists module, 196 mnesia module, 305 foreach statement, 193 foreign function interface (FFI), 352 format/1 function, 369 format/2 function, 57, 101, 356 frequency module allocate function, 119, 123 deallocate function, 120, 124 init function, 121 Fritchie, Scott Lystig, 215 FSMs (finite state machines) busy state, 117 458 | Index chapter exercises, 138 offline state, 117 online state, 117 process design patterns, 117, 126–131, 290 fun2ms/1 function dbg module, 375–382, 383–391 ets module, 223, 225, 382, 383–391 function clause components, 38 conditional evaluations, 38, 46 guards, 50–52 runtime errors, 68 variable scope, 49 function definitions case expressions and, 47 fun expressions, 192 overview, 38 pattern matching, 4 functional data types (funs) already defined functions, 194 defined, 189 Erlang type notation, 397 example, 190 fun expressions, 192 functions and variables, 195 functions as arguments, 190–192 functions as results, 193 lazy evaluation, 197 predefined higher-order functions, 195– 196 transaction support, 299 functional programming, 9, 45, 189 functional testing, 413–415 functions, 45 (see also BIFs; higher-order functions) already defined, 194 arguments and, 38, 190–192 as results, 193 binding to variables, 5, 30 callback, 132, 265 chapter exercises, 44, 83, 86 client, 122 coding strategies, 435 EDoc documentation, 403, 404 fully qualified function calls, 176 grouping, 40 hash, 215 list comprehensions and, 200 list supported, 25–27 literal, 226, 379–381 meta programming, 55 overview, 38–40 pattern matching, 33–38, 39, 47 records and, 160 recursions versus iterations, 67 reduction steps, 96 return values, 424–425 running, 40 runtime errors, 70 tail-recursive, 63–67, 108, 440 test-generating, 416 variables and, 195 G garbage collection atoms and, 104 chapter exercises, 392 memory management and, 33 overview, 6 trace BIFs and, 361 tuning for, 441 garbage_collection flag, 361 gb_trees module, 183 generators bitstring comprehension, 206 multiple, 200 overview, 198 gen_event module, 291 gen_fsm module, 290 gen_server module call/2 function, 270 cast/2 function, 268 chapter exercises, 291 functionality, 266 passing messages, 268–270 server example in full, 271–276 start function, 266, 267 starting servers, 266 start_link/4 function, 266, 267 stopping servers, 270 gen_tcp module accept function, 331 close function, 331 connect function, 331 controlling process function, 331 listen/2 function, 330 open/2 function, 331 recv/1 function, 331 recv/2 function, 328, 330, 331 recv/3 function, 328, 330 gen_udp module close function, 326 functionality, 324 open/2 function, 330 recv/2 function, 326 recv/3 function, 326 getopts function, 332 get_data function, 133 get_env/0 function, 313 get_line/1 function, 57 get_path function, 180, 181, 282 get_request/3 function, 329 get_seq_token/0 function, 391 go/0 function, 100 greater than (>) operator, 28, 378 greater than or equal to (>=) operator, 28, 378 group leaders, 258 group_leader function, 258 guard expression, 51, 225 guards BIF support, 378, 384 in list comprehensions, 198 overview, 50–52, 198 semicolon support, 378 Gudmundsson, Dan, 309 H h function, 366 h/0 shell command, 447 handle function, 125 handle/3 function, 377 handle_call/3 function, 268 handle_cast/1 function, 268 handle_event function, 135 handle_msg function, 126, 377 handling errors (see error handling) hash (#), 15 hash functions, 215 hash tables, 215 Haskell language, 30, 197 hd/1 function, 53, 378 Heriot-Watt University, 12 High Performance Erlang Project (HiPE), 2 higher-order functions already defined functions, 194 chapter exercises, 211, 212 defined, 193 Index | 459 functions and variables, 195 functions as arguments, 190 functions as results, 193 lazy evaluation, 197 predefined in lists module, 195–196 HiPE (High Performance Erlang Project), 2 I i function ets module, 226 inet module, 333 i shell command, 91, 96, 103 if construct development considerations, 431 overview, 49–50 runtime errors, 69 ifdef conditional macro, 167 ifndef conditional macro, 167 implementing records, 162–163 import directive, 42 include directive, 168 include files, 168 indexes building, 218, 222 chapter exercises, 86, 243 documentation, 78 Mnesia database, 301 ordered sets, 219 unordered structure, 219 index_read/3 function, 302 inet module functionality, 331 getopts function, 332 i function, 333 setopts function, 332 inets.app file, 283 info/1 function, 217, 226 information hiding, 119 inheritance flags overview, 360 set_on_first_spawn flag, 360, 367 set_on_spawn flag, 360, 367 init function event handlers, 135, 136 frequency module, 121 OTP behaviors, 267, 268, 276 supervisors, 276, 278 initialize function, 125 insert/2 function, 217, 355, 376 460 | Index integers characters and strings, 22 Erlang type notation, 397 overview, 15 integer_to_list/1 function, 54 integration overview, 8 interfaces defined, 421 development considerations, 423, 426 interlanguage working C nodes, 342–346 chapter exercises, 353 erl_call command, 346 FFI and, 352 interworking with Java, 337–342 languages supported, 336 library support, 350–352 linked-in drivers, 352 overview, 335–337 port programs, 346–350 io module format/1 function, 369 format/2 function, 57, 101, 356 functionality, 57–59, 79 get_line/1 function, 57 read/1 function, 57 write/1 function, 57 io_handler event handler, 135 is_alive function, 249 is_atom function, 51, 378 is_binary function, 51, 202, 378 is_boolean function, 20, 51 is_constant function, 378 is_float function, 378 is_function function, 378 is_integer function, 378 is_list function, 378 is_loaded function, 180 is_number function, 378 is_pid function, 378 is_port function, 378 is_record function, 164, 378 is_reference function, 378 is_tuple function, 51, 378 IT University (Sweden), 2 iterative versus recursive functions, 67 J Java language, 336, 337–342 JInterface Java package additional capabilities, 342 communication support, 338 distribution, 336 getting programs to run correctly, 341 interworking with, 337–342 nodes and mailboxes, 337 representing Erlang types, 338 RPC support, 339 Turing test, 340 K Katz, Damien, 11 kernel, 281 keydelete/3 function, 124 keysearch/3 function, 69 L Lamport, Leslie, 245 last/1 function, 222 layering processes, 148–154 lazy evaluation, 197 length/1 function, 53, 378 less than (<) operator, 28, 378 less than or equal to (<=) operator, 28, 378 libraries development considerations, 422 support for communication, 350–352 library modules (see modules) Lindahl, Tobias, 399 link function, 139, 146 linked-in drivers, 352 links, process chapter exercises, 154 defined, 146 error handling and, 7, 139–148 exit signals and, 139–148 list comprehensions chapter exercises, 211, 212 component parts, 198 defined, 5, 189 example, 198 multiple generators, 200 pattern matching, 199 quicksort, 201 standard functions, 200 listen/2 function, 330 lists chapter exercises, 83–85 efficiency consierations, 439 empty, 23 Erlang type notation, 397 functions and operations, 25–27 lazy evaluation and, 197 overview, 22–27 processing, 24 property, 27 recursive definitions, 24 lists module all function, 196 any function, 196 dropwhile function, 196 filter function, 196 foldl/3 function, 196 functionality, 25, 80 keydelete/3 function, 124 keysearch/3 function, 69 list comprehensions, 200 map function, 196 member function, 96 partition function, 196 predefined higher-order functions, 195– 196 reverse function, 96 split function, 25 listToTree/1 function, 414 list_to_atom/1 function, 54 list_to_binary/1 function, 202, 349 list_to_existing_atom/1 function, 54 list_to_float/1 function, 54 list_to_integer/1 function, 54, 75 list_to_tuple/1 function, 54 literal functions, 226, 379–381 ln function, 371 load_file function, 180 logical operators, 20, 378 lookup/2 function, 217, 220, 355 loop/0 function, 100, 143, 365 loop/1 function, 123 ltp function, 390 M m (Module) command, 42 macros chapter exercises, 170 conditional, 167 debugging support, 166–168 Index | 461 EDoc support, 408 EUnit support, 413, 416 functionality, 157, 165 include files, 168 parameterized, 166, 170 simple, 165 mailboxes interworking with Java, 337 message passing, 92 retrieving messages, 94 selective receives, 98 make_ref function, 210 make_rel function, 288 make_script/2 function, 290 map function, 191, 192, 196 match specifications conditions, 384–387 defined, 225–226, 374 ets and dbg diferences, 382 fun2ms/1 function, 375–382, 383–391 generating, 375–382 head, 383 saving, 390 specification body, 387–390 tracing via, 356 match/2 function, 223–224 math module, 80 mathematical operators, 17, 18 Mattsson, Håkan, 293 member function, 96 memory management background, 33 concurrent programming and, 108 garbage collection and, 362 processes and, 5 tail recursion and, 109 message passing gen_server module, 268–270 overview, 5, 92–94 message/1 function, 380 messages node communications, 252 receiving, 94–102, 115 meta programming, 55 microblogging application, 314–316 miniblogging application, 317–320 Mnesia database additional information, 305 as OTP application, 264 462 | Index background, 293 chapter exercises, 306–307 configuring, 295–298 deleting objects, 300 dirty operations, 302–304 ETS tables and, 216 inconsistent tables, 304 indexing, 301 partitioned networks, 304 setting up schema, 295 starting, 296 table structure, 296–298 transactions, 299–304 visualizing tables, 228 when to use, 293–295 mnesia module abort function, 299 create_schema function, 295 create_table function, 296, 298 delete function, 300 dirty_delete function, 303 dirty_index_read function, 303 dirty_read function, 303 dirty_write function, 303, 304 foldl/3 function, 305 read function, 300 set_master_nodes function, 305 start function, 296 stop function, 296 transaction function, 299 wait_for_tables function, 298 write/1 function, 299, 302 mobile subscriber database as OTP application, 264 ETS and Dets tables, 231–242 generic servers, 266–276 MochiWeb library, 2 module directive, 40, 168 modules chapter exercises, 44, 85 commonly used, 79–80 defined, 40 development considerations, 421–426 directive support, 41 documentation, 77 EDoc documentation, 403, 405 library applications, 281 purging, 182 running functions, 40 upgrading, 173, 176 module_info function, 175 monitor/2 function, 144, 147 monitoring systems application monitor tool, 287 chapter exercises, 262 client/server model, 150 monitor_node function, 257 Motorola, 2, 12 multicore processing benchmarking example, 106 concurrency and, 9 multiplication (*) operator, 17, 378 mutex module signal function, 129 wait function, 129 mutex semaphore, 129, 154 MySQL database, 294 N n function, 371 nesting data types, 32 development considerations, 430 net_adm module functionality, 260 ping/1 function, 252 net_kernel module connect function, 255 functionality, 260 new function, 216 next/2 function, 221 Nilsson, Bernt, 10 node function, 248, 249, 378 nodes communication and messages, 252 communication and security, 250 connection considerations, 253–255 defined, 247 distribution and security, 251 hidden, 254 interworking with Java, 337 naming, 249 pinging, 252 secret cookies, 250 visibility of, 249 not equal to (/=) operator, 28, 378 not logical operator, 21, 378 now/0 function, 56, 79, 362 null function, 314 Nyström, Jan Henry, xx, 13 O object identifiers, 312 open source projects, 2, 4 Open Telecom Platform (see OTP entries) open/2 function, 330, 331 open_file/1 function, 230 open_port/2 command, 347 operators binary, 21, 208 bitwise, 208, 378 comparison, 28, 378, 385 list supported, 25–27 logical, 20, 378 match specifications and, 378 mathematical, 17 reduction steps, 96 relational, 28 runtime errors, 70 optimization, tail-call recursion, 66 or logical operator, 20, 378 ordered sets building indexes, 219 ETS tables, 214 storing, 215 orelse logical operator, 20, 378 os:cmd/1 function, 346 OTP applications application monitor tool, 287 application resource file, 283–284 defined, 264, 281 directory structure, 282 examples, 264 Mnesia database, 295 starting and stopping, 284–286 OTP behaviors chapter exercises, 291 generic servers, 266–276 overview, 7, 263–266 release handling, 287–290 supervisors, 276–280 testing, 420 OTP middleware, 7, 263 OtpConnection class, 342 OtpErlangAtom class, 338 OtpErlangBinary class, 342 OtpErlangBoolean class, 338 Index | 463 OtpErlangByte class, 338 OtpErlangChar class, 338 OtpErlangDouble class, 338 OtpErlangFloat class, 338 OtpErlangInt class, 338 OtpErlangLong class, 338 OtpErlangObject class, 338, 340 OtpErlangPid class, 338 OtpErlangShort class, 338 OtpErlangString class, 338 OtpErlangTuple class, 338, 340 OtpErlangUInt class, 338 OtpMbox class, 338, 342 OtpNode class, 337, 341 P p function, 366, 371 palin/1 function, 191 parameters accumulating, 63 macro support, 166, 170 parentheses ( ) encapsulating expressions, 75 for function parameters, 38 overriding precedence, 18 type declarations and, 396 partition function, 196 partitioned networks, 304 pattern matching binaries and, 201, 205 bit sequences, 4 chapter exercises, 44 don’t care variables, 37 ETS tables, 223–224 fun expressions, 192 function definitions, 4 functions, 39, 47 list comprehensions, 199 overview, 33–38 records and, 160 wildcard symbols, 35, 224 peer module connect function, 334 send/1 function, 334 Persistent Lookup Table (PLT), 401 Persson, Mats-Ola, 309 pi/0 function, 4, 39, 80 pid (process identifier) defined, 90 464 | Index Erlang type notation, 397 registered processes, 102 spawn function, 90 pid/3 function, 93 pid_to_list/1 function, 367 ping module example, 364 send/1 function, 358, 367 start function, 365 tracing example, 364 ping/1 function, 252 PLT (Persistent Lookup Table), 401 pman (process manager), 114 port programs commands supported, 347–349 communicating data via, 349–350 overview, 346 port_close command, 348 port_command/2 function, 348 port_connect command, 348 PostgreSQL database, 294 prep_stop function, 285 prettyIndexNext function, 222 priv_dir function, 282 process dictionary, 55, 423 process identifier (pid) defined, 90 Erlang type notation, 397 registered processes, 102 spawn function, 90 process links (see links, process) process manager (pman), 114, 359 process scheduling, 96 process skeleton, 107, 125–126 process starvation, 112–114 process state, 107 process trace flags all flag, 359 arity flag, 363 call flag, 360, 362 cpu_timestamp flag, 362 existing flag, 359 garbage_collection flag, 361 inheritance flags, 360 procs flag, 359 receive flag, 358 return_to flag, 362 running flag, 359 send flag, 358 set_on_first_link flag, 361, 367 set_on_link flag, 361, 367 timestamp flag, 362 wildcards, 363 processes atomic operations, 147 behavioral aspects, 107 benchmarking, 106 bottlenecks, 109 client/server model, 117, 118–124 concurrent programming case study, 110 creating, 90–92 defined, 89 dependency considerations, 94 design patterns, 107, 117, 125–126 development considerations, 426–429 Erlang shell and, 92 event handler, 117, 131–137 exit signals, 139–148 FSM model, 117, 126–131 group leaders, 258 handle function, 125 initialize function, 125 layering, 148–154 message passing, 5, 92–94 receiving messages, 94–102 registered, 102–104 spawning, 90 supervisor, 7, 148, 152–154, 155, 264, 276– 280 tail recursion, 108 terminate function, 125 threads versus, 97 timeouts, 104–106 tracer, 357 upgrading, 182 worker, 148, 264, 276 processes function, 91 processWords function, 220 process_flag function, 113, 142–144, 147 process_info/2 function, 423 process_msg function, 375 procs flag, 359 proc_lib module, 291 profiling functions, 369 programming (see software development) Prolog language, 19 property lists, 27 proplists module, 27, 311 purge function, 182 purging modules, 182 Q qualification, size/type, 203 question mark (?)


pages: 239 words: 56,531

The Secret War Between Downloading and Uploading: Tales of the Computer as Culture Machine by Peter Lunenfeld

Albert Einstein, Andrew Keen, anti-globalists, Apple II, Berlin Wall, British Empire, Brownian motion, Buckminster Fuller, Burning Man, business cycle, business logic, butterfly effect, Charles Babbage, computer age, Computing Machinery and Intelligence, creative destruction, crowdsourcing, cuban missile crisis, Dissolution of the Soviet Union, don't be evil, Douglas Engelbart, Douglas Engelbart, Dynabook, East Village, Edward Lorenz: Chaos theory, Fairchild Semiconductor, Fall of the Berlin Wall, folksonomy, Francis Fukuyama: the end of history, Frank Gehry, Free Software Foundation, Grace Hopper, gravity well, Guggenheim Bilbao, Herman Kahn, Honoré de Balzac, Howard Rheingold, Ian Bogost, invention of movable type, Isaac Newton, Ivan Sutherland, Jacquard loom, Jane Jacobs, Jeff Bezos, John Markoff, John von Neumann, Jon Ronson, Kickstarter, Mark Zuckerberg, Marshall McLuhan, Mercator projection, Metcalfe’s law, Mother of all demos, mutually assured destruction, Neal Stephenson, Nelson Mandela, Network effects, new economy, Norbert Wiener, PageRank, pattern recognition, peer-to-peer, planetary scale, plutocrats, post-materialism, Potemkin village, RFID, Richard Feynman, Richard Stallman, Robert Metcalfe, Robert X Cringely, Schrödinger's Cat, Search for Extraterrestrial Intelligence, seminal paper, SETI@home, Silicon Valley, Skype, social bookmarking, social software, spaced repetition, Steve Ballmer, Steve Jobs, Steve Wozniak, technological determinism, Ted Nelson, the built environment, the Cathedral and the Bazaar, The Death and Life of Great American Cities, the medium is the message, Thomas L Friedman, Turing machine, Turing test, urban planning, urban renewal, Vannevar Bush, walkable city, Watson beat the top human players on Jeopardy!, William Shockley: the traitorous eight

The contemporary Web offers a more dynamic experience in which the users themselves contribute to the environment. Wikis, blogs, and networking sites create affordances for an ever-expanding number of people to share their experiences, perceptions, and productions. Sites like flickr, for tagging and sharing photos, and del.icio.us, for social bookmarking, allow users to categorize, collect, and share their archiving strategies, and has even led to a new term for this explosion of user-generated activity: “folksonomies.”1 The opposition here is between librarians, archivists, and information specialists, who all professionalize and systematize this kind of activity into “taxonomies,” and the evolving personal and social-group-driven folksonomies.


pages: 302 words: 73,581

Platform Scale: How an Emerging Business Model Helps Startups Build Large Empires With Minimum Investment by Sangeet Paul Choudary

3D printing, Airbnb, Amazon Web Services, barriers to entry, bitcoin, blockchain, business logic, business process, Chuck Templeton: OpenTable:, Clayton Christensen, collaborative economy, commoditize, crowdsourcing, cryptocurrency, data acquisition, data science, fake it until you make it, frictionless, game design, gamification, growth hacking, Hacker News, hive mind, hockey-stick growth, Internet of things, invisible hand, Kickstarter, Lean Startup, Lyft, M-Pesa, Marc Andreessen, Mark Zuckerberg, means of production, multi-sided market, Network effects, new economy, Paul Graham, recommendation engine, ride hailing / ride sharing, Salesforce, search costs, shareholder value, sharing economy, Silicon Valley, Skype, Snapchat, social bookmarking, social graph, social software, software as a service, software is eating the world, Spread Networks laid a new fibre optics cable between New York and Chicago, TaskRabbit, the long tail, the payments system, too big to fail, transport as a service, two-sided market, Uber and Lyft, Uber for X, uber lyft, vertical integration, Wave and Pay

These startups begin with the curation-as-creation ‘tool’ to enable a standalone mode and deliver value to the lone user. One of the first curation tools to adopt this approach, and establish a template of sorts for others to follow, was Delicious. Early adopters used Delicious to store browser bookmarks in the cloud and it delivered standalone value. Once the user base hit critical mass, the social bookmarking features started getting used and the value of the network grew with more users. In recent times, Flipboard has adopted a similar approach by creating a service for consumers before enabling them to start producing as well, thereby building network effects. Flipboard provided a compelling consumption interface for consuming content on the iPad.


pages: 258 words: 74,942

Company of One: Why Staying Small Is the Next Big Thing for Business by Paul Jarvis

Abraham Maslow, Airbnb, big-box store, Boeing 747, Cal Newport, call centre, content marketing, corporate social responsibility, David Heinemeier Hansson, digital nomad, drop ship, effective altruism, Elon Musk, en.wikipedia.org, endowment effect, follow your passion, fulfillment center, gender pay gap, glass ceiling, growth hacking, Inbox Zero, independent contractor, index fund, job automation, Kickstarter, Lyft, Mark Zuckerberg, Naomi Klein, passive investing, Paul Graham, pets.com, remote work: asynchronous communication, remote working, Results Only Work Environment, ride hailing / ride sharing, Ruby on Rails, Salesforce, Sheryl Sandberg, side project, Silicon Valley, Skype, Snapchat, social bookmarking, software as a service, Steve Jobs, supply-chain management, TED Talk, Tim Cook: Apple, too big to fail, uber lyft, web application, William MacAskill, Y Combinator, Y2K

Instead, she said, she would quickly release a first version of a new product that would fund iterations on it, keeping her costs and expenses as low as possible in order to move toward profitability as quickly as possible. The fewer staff and less external funding involved, the faster a company can move, whether forward or in a new, more promising direction. Simplicity The best example of the power of simplicity comes from two rival social bookmarking services, Pinboard and Delicious. Delicious grew quickly, adding lots of features, and its founder, Joshua Schachter, made investments early on and grew Delicious into a company with approximately 5.3 million users. The company was sold to Yahoo for somewhere between $15 million and $30 million.


pages: 226 words: 71,540

Epic Win for Anonymous: How 4chan's Army Conquered the Web by Cole Stryker

4chan, barriers to entry, Berlin Wall, Chelsea Manning, cognitive dissonance, Columbine, commoditize, creative destruction, crowdsourcing, eternal september, Firefox, future of journalism, Gabriella Coleman, hive mind, informal economy, Internet Archive, it's over 9,000, Julian Assange, Kickstarter, lolcat, Mark Zuckerberg, Marshall McLuhan, Mason jar, pre–internet, Silicon Valley, slashdot, social bookmarking, social web, Stephen Hawking, Steve Jobs, Stewart Brand, Streisand effect, technoutopianism, TED Talk, wage slave, We are Anonymous. We are Legion, Whole Earth Catalog, WikiLeaks

This form of transmission is distinctly different from that of genes. You can’t share your genes with your pals. Because the Internet so tangibly manifests those social networks, the word meme became a convenient term to describe specific bits of information that are shared on those networks. In 1998, Joshua Schachter, who later went on to sell social bookmarking platform del.icio.us to Google, started Memepool, a multiauthor blog that contained links to interesting and offbeat content on the web. It was part of a growing network of blogs like Boing Boing, Waxy, and Laughing Squid, who made up a vibrant culture of sharing cool Internet content. Memepool tracked stuff that was going viral.


pages: 278 words: 83,468

The Lean Startup: How Today’s Entrepreneurs Use Continuous Innovation to Create Radically Successful Businesses by Eric Ries

3D printing, barriers to entry, Benchmark Capital, call centre, Clayton Christensen, clean tech, clean water, cloud computing, commoditize, Computer Numeric Control, continuous integration, corporate governance, disruptive innovation, experimental subject, Ford Model T, Frederick Winslow Taylor, hockey-stick growth, Kanban, Lean Startup, Marc Andreessen, Mark Zuckerberg, Metcalfe’s law, minimum viable product, Mitch Kapor, Network effects, payday loans, Peter Thiel, pets.com, Ponzi scheme, pull request, reality distortion field, risk tolerance, scientific management, selection bias, Silicon Valley, Silicon Valley startup, six sigma, skunkworks, social bookmarking, stealth mode startup, Steve Jobs, the scientific method, Toyota Production System, transaction costs

A way to record sequences of steps on websites so that you could repeat common actions, even across sites, and share “recipes” for how you accomplished online tasks. Internet Button Company. A way to package steps taken on a website and smart form-fill functionality. People could encode buttons and share buttons à la social bookmarking. Max and Damon had a vision that computers could be used to create a virtual personal assistant to which their customers could ask questions. Because the assistant was designed for subjective questions, the answers required human judgment. Thus, the early Aardvark experiments tried many variations on this theme, building a series of prototypes for ways customers could interact with the virtual assistant and get their questions answered.


The Buddha and the Badass: The Secret Spiritual Art of Succeeding at Work by Vishen Lakhiani

Abraham Maslow, Buckminster Fuller, Burning Man, call centre, Colonization of Mars, crowdsourcing, data science, deliberate practice, do what you love, Elon Musk, fail fast, fundamental attribution error, future of work, gamification, Google Glasses, Google X / Alphabet X, iterative process, Jeff Bezos, meta-analysis, microbiome, performance metric, Peter Thiel, profit motive, Ralph Waldo Emerson, Silicon Valley, Silicon Valley startup, skunkworks, Skype, social bookmarking, social contagion, solopreneur, Steve Jobs, Steven Levy, TED Talk, web application, white picket fence, work culture

But if you know why you’re doing it and attract the right people on the bus, this motley crew will help you figure out where to go. When Mindvalley was in its first two years, my small little team worked on several totally unrelated products. We worked on a meditation website that sold CDs. A social bookmarking engine called Blinklist.com that we ultimately sold. And a new type of blog software that we hoped would change the nature of email and blogging (it ultimately failed). Like many aspiring entrepreneurs, I had to try many things. Eventually, as we experimented and attracted good people, we began to rally around the ideas that worked best.


pages: 344 words: 96,690

Groundswell: Winning in a World Transformed by Social Technologies by Charlene Li, Josh Bernoff

business process, call centre, centre right, citizen journalism, crowdsourcing, demand response, Donald Trump, estate planning, Firefox, folksonomy, John Markoff, Kickstarter, knowledge worker, off-the-grid, Parler "social media", Salesforce, Silicon Valley, skunkworks, social bookmarking, social intelligence, Streisand effect, the long tail, Tony Hsieh

Joe Comeau is a typical Critic in the Lego world. Since it’s easier to react than to create, it’s no surprise that there are more Critics than Creators. One in three online American adults is a Critic, as are one in five online Europeans and 42 percent of Japan’s online population. Collectors save URLs and tags on a social bookmarking service like Delicious, vote for sites on a service like Digg, or use RSS feeds. This act of collecting and aggregating information plays a vital role in organizing the tremendous amount of content being produced by Creators and Critics. For example, anyone who searches for “MauiHotel” will come upon the collected sites with that tag on Delicious.


pages: 413 words: 106,479

Because Internet: Understanding the New Rules of Language by Gretchen McCulloch

4chan, Black Lives Matter, book scanning, British Empire, Cambridge Analytica, citation needed, context collapse, Day of the Dead, DeepMind, digital divide, disinformation, Donald Trump, emotional labour, en.wikipedia.org, eternal september, Firefox, Flynn Effect, Google Hangouts, Ian Bogost, Internet Archive, invention of the printing press, invention of the telephone, lolcat, machine translation, moral panic, multicultural london english, natural language processing, Neal Stephenson, off-the-grid, pre–internet, QWERTY keyboard, Ray Oldenburg, Silicon Valley, Skype, Snapchat, Snow Crash, social bookmarking, social web, SoftBank, Steven Pinker, tech worker, TED Talk, telemarketer, The Great Good Place, the strength of weak ties, Twitter Arab Spring, upwardly mobile, Watson beat the top human players on Jeopardy!, Wayback Machine

In the early days of the internet, the hash mark, as a relatively underutilized symbol available on a standard QWERTY keyboard, was repurposed for a variety of technical functions. One of these was organizational. In chatrooms, you could type in “join #canada” or “join #hamradio” to talk with Canadians or ham radio enthusiasts. On the early social bookmarking site del.icio.us and the early photo-sharing site Flickr, you could “tag” your links or pictures with relevant categories like #funny or #sunset, borrowing a metaphor from how a tag on a shirt labels it with metadata about its price or creator. So when Twitter users started casting about for a way of grouping together related tweets, it’s not surprising that technologist Chris Messina reached for the #, in a tweet dated August 23, 2007.


pages: 421 words: 110,406

Platform Revolution: How Networked Markets Are Transforming the Economy--And How to Make Them Work for You by Sangeet Paul Choudary, Marshall W. van Alstyne, Geoffrey G. Parker

3D printing, Affordable Care Act / Obamacare, Airbnb, Alvin Roth, Amazon Mechanical Turk, Amazon Web Services, Andrei Shleifer, Apple's 1984 Super Bowl advert, autonomous vehicles, barriers to entry, Benchmark Capital, big data - Walmart - Pop Tarts, bitcoin, blockchain, business cycle, business logic, business process, buy low sell high, chief data officer, Chuck Templeton: OpenTable:, clean water, cloud computing, connected car, corporate governance, crowdsourcing, data acquisition, data is the new oil, data science, digital map, discounted cash flows, disintermediation, driverless car, Edward Glaeser, Elon Musk, en.wikipedia.org, Erik Brynjolfsson, financial innovation, Free Software Foundation, gigafactory, growth hacking, Haber-Bosch Process, High speed trading, independent contractor, information asymmetry, Internet of things, inventory management, invisible hand, Jean Tirole, Jeff Bezos, jimmy wales, John Markoff, Kevin Roose, Khan Academy, Kickstarter, Lean Startup, Lyft, Marc Andreessen, market design, Max Levchin, Metcalfe’s law, multi-sided market, Network effects, new economy, PalmPilot, payday loans, peer-to-peer lending, Peter Thiel, pets.com, pre–internet, price mechanism, recommendation engine, RFID, Richard Stallman, ride hailing / ride sharing, Robert Metcalfe, Ronald Coase, Salesforce, Satoshi Nakamoto, search costs, self-driving car, shareholder value, sharing economy, side project, Silicon Valley, Skype, smart contracts, smart grid, Snapchat, social bookmarking, social contagion, software is eating the world, Steve Jobs, TaskRabbit, The Chicago School, the long tail, the payments system, Tim Cook: Apple, transaction costs, Travis Kalanick, two-sided market, Uber and Lyft, Uber for X, uber lyft, vertical integration, winner-take-all economy, zero-sum game, Zipcar

Delicious is a social networking site that allows users to share lists of web bookmarks—links to Internet content that individuals love and that they want to revisit again and again. Delicious gained initial traction by allowing early users to produce valuable content in stand-alone mode, using Delicious to store browser bookmark lists in the cloud for their personal consumption. Once the user base hit critical mass, the social bookmarking features started getting used, and the value of the network expanded rapidly as the number of users increased. Now Delicious has become a popular tool for spreading Internet memes and trends as people share their bookmark lists. 6. The producer evangelism strategy: Design your platform to attract producers, who can induce their customers to become users of the platform.


pages: 298 words: 43,745

Understanding Sponsored Search: Core Elements of Keyword Advertising by Jim Jansen

AltaVista, AOL-Time Warner, barriers to entry, behavioural economics, Black Swan, bounce rate, business intelligence, butterfly effect, call centre, Claude Shannon: information theory, complexity theory, content marketing, correlation does not imply causation, data science, en.wikipedia.org, first-price auction, folksonomy, Future Shock, information asymmetry, information retrieval, intangible asset, inventory management, life extension, linear programming, longitudinal study, machine translation, megacity, Nash equilibrium, Network effects, PageRank, place-making, power law, price mechanism, psychological pricing, random walk, Schrödinger's Cat, sealed-bid auction, search costs, search engine result page, second-price auction, second-price sealed-bid, sentiment analysis, social bookmarking, social web, software as a service, stochastic process, tacit knowledge, telemarketer, the market place, The Present Situation in Quantum Mechanics, the scientific method, The Wisdom of Crowds, Vickrey auction, Vilfredo Pareto, yield management

(known in academia as stop words) (see Chapter 2 model). SKU: Stock Keeping Units (Source: WebTrends) (see Chapter 6 BAM!). SMEs: subject matter experts (see Chapter 6 BAM!). Social media: a category of sites that is based on user participation and user-generated content. They include social networking sites like LinkedIn or Facebook, social bookmarking sites like Del.icio.us, social news sites like Digg or Reddit, and other sites that are centered on user interaction (Source: Search Engine Watch) (see Chapter 10 future). Software as a service (SaaS): sometimes referred to as “software on demand,” it is software that is deployed over the Internet and/or is deployed to run behind a firewall on a local area network (LAN) or personal computer.


pages: 597 words: 119,204

Website Optimization by Andrew B. King

AltaVista, AOL-Time Warner, bounce rate, don't be evil, Dr. Strangelove, en.wikipedia.org, Firefox, In Cold Blood by Truman Capote, information retrieval, iterative process, Kickstarter, machine readable, medical malpractice, Network effects, OSI model, performance metric, power law, satellite internet, search engine result page, second-price auction, second-price sealed-bid, semantic web, Silicon Valley, slashdot, social bookmarking, social graph, Steve Jobs, the long tail, three-martini lunch, traumatic brain injury, web application

Your browser needs to be configured to properly use Charles for repeatability (see the installation steps for auto-configuration at the Charles website). It's Measuring Time With our cache, cookies, and DNS cleared and with Charles throttling our connection to a common broadband speed, we are ready to roll. We are going to baseline Digg (http://www.digg.com), a popular social bookmarking service, starting from a blank page (about:blank). Tip If you have a machine dedicated to performance analysis, use about:blank as your home page. IBM Page Detailer IBM Page Detailer is a Windows tool that sits quietly in the background as you browse. It captures snapshots of how objects are loading on the page behind the scenes.


Beautiful Data: The Stories Behind Elegant Data Solutions by Toby Segaran, Jeff Hammerbacher

23andMe, airport security, Amazon Mechanical Turk, bioinformatics, Black Swan, business intelligence, card file, cloud computing, computer vision, correlation coefficient, correlation does not imply causation, crowdsourcing, Daniel Kahneman / Amos Tversky, DARPA: Urban Challenge, data acquisition, data science, database schema, double helix, en.wikipedia.org, epigenetics, fault tolerance, Firefox, Gregor Mendel, Hans Rosling, housing crisis, information retrieval, lake wobegon effect, Large Hadron Collider, longitudinal study, machine readable, machine translation, Mars Rover, natural language processing, openstreetmap, Paradox of Choice, power law, prediction markets, profit motive, semantic web, sentiment analysis, Simon Singh, social bookmarking, social graph, SPARQL, sparse data, speech recognition, statistical model, supply-chain management, systematic bias, TED Talk, text mining, the long tail, Vernor Vinge, web application

If you’ve ever spent time looking at data from various social sources, you’ll notice that it starts looking the same. Although the commonality is clear for a human to interpret, it is much harder for a machine to interpret. Human editorial guidance in mapping data setA to data setB is required. Consider the two following examples of XML from two different “social bookmarking” services. Although they’re both clearly XML, representation of the “bookmark” is wildly different, and yet they both provide a similar service to the end user. From Delicious: <item> <title>Fractals derived from Newton-Raphson iteration</title> <pubDate>Mon, 19 Jan 2009 20:02:05 +0000</pubDate> <guid isPermaLink="false">http://delicious.com/url/7549fded443f#joe</guid> <link>http://www.chiark.greenend.org.uk/~sgtatham/newton/</link> <dc:creator>iacovibus</dc:creator> <comments>http://delicious.com/url/7549fded443f</comments> <wfw:commentRss>http://feeds.delicious.com/v2/rss/url/a</wfw:commentRss> <source url="http://feeds.delicious.com/v2/rss/joe">joe's bookmarks</source> <category domain="http://delicious.com/joe/">mathematics</category> <category domain="http://delicious.com/joe/">newton-raphson</category> <category domain="http://delicious.com/joe/">fractals</category> <category domain="http://delicious.com/joe/">iteration</category> </item> 128 CHAPTER EIGHT Download at Boykma.Com From givealink.org: <item> <title>Bus slams into shop houses after driver collapses behind wheel</title> <link>http://www.thaivisa.com/forum/Bus-Slams-Shop-Coll-t198228.html</link> <description>Bus slams into shop collapses behind wheel</description> </item> With thousands of services exposing their user-generated content (UGC) via APIs and feeds today, normalizing its structure and content so developers can anticipate commonality needs to be a priority.


pages: 527 words: 147,690

Terms of Service: Social Media and the Price of Constant Connection by Jacob Silverman

"World Economic Forum" Davos, 23andMe, 4chan, A Declaration of the Independence of Cyberspace, Aaron Swartz, Airbnb, airport security, Amazon Mechanical Turk, augmented reality, basic income, Big Tech, Brian Krebs, California gold rush, Californian Ideology, call centre, cloud computing, cognitive dissonance, commoditize, company town, context collapse, correlation does not imply causation, Credit Default Swap, crowdsourcing, data science, deep learning, digital capitalism, disinformation, don't be evil, driverless car, drone strike, Edward Snowden, Evgeny Morozov, fake it until you make it, feminist movement, Filter Bubble, Firefox, Flash crash, game design, global village, Google Chrome, Google Glasses, Higgs boson, hive mind, Ian Bogost, income inequality, independent contractor, informal economy, information retrieval, Internet of things, Jacob Silverman, Jaron Lanier, jimmy wales, John Perry Barlow, Kevin Kelly, Kevin Roose, Kickstarter, knowledge economy, knowledge worker, Larry Ellison, late capitalism, Laura Poitras, license plate recognition, life extension, lifelogging, lock screen, Lyft, machine readable, Mark Zuckerberg, Mars Rover, Marshall McLuhan, mass incarceration, meta-analysis, Minecraft, move fast and break things, national security letter, Network effects, new economy, Nicholas Carr, Occupy movement, off-the-grid, optical character recognition, payday loans, Peter Thiel, planned obsolescence, postindustrial economy, prediction markets, pre–internet, price discrimination, price stability, profit motive, quantitative hedge fund, race to the bottom, Ray Kurzweil, real-name policy, recommendation engine, rent control, rent stabilization, RFID, ride hailing / ride sharing, Salesforce, self-driving car, sentiment analysis, shareholder value, sharing economy, Sheryl Sandberg, Silicon Valley, Silicon Valley ideology, Snapchat, social bookmarking, social graph, social intelligence, social web, sorting algorithm, Steve Ballmer, Steve Jobs, Steven Levy, systems thinking, TaskRabbit, technological determinism, technological solutionism, technoutopianism, TED Talk, telemarketer, transportation-network company, Travis Kalanick, Turing test, Uber and Lyft, Uber for X, uber lyft, universal basic income, unpaid internship, women in the workforce, Y Combinator, yottabyte, you are the product, Zipcar

Although Waite had prevented Google from listing his site and made it so that the mugshots expired after sixty days, his site was still constructed in a way so as to be easier to pull from than the cheaply designed databases on sheriffs’ Web sites. This other mugshot site was linking directly to Waite’s images—and running up his bandwidth bills—in order to play a game called Pick the Perp. The game had gone viral on some social bookmarking forums, deluging the Times’s mugshot site with traffic. Waite and his codeveloper eventually fiddled with their code to prevent Pick the Perp from linking directly to their material. But in the process, he learned some important lessons about the consequences of open data policies and the ethical complications of putting information freely online.