c2.com

22 results back to index


pages: 398 words: 86,023

The Wikipedia Revolution: How a Bunch of Nobodies Created the World's Greatest Encyclopedia by Andrew Lih

Amazon: amazon.comamazon.co.ukamazon.deamazon.fr

Albert Einstein, AltaVista, barriers to entry, Benjamin Mako Hill, c2.com, Cass Sunstein, citation needed, crowdsourcing, Debian, en.wikipedia.org, Firefox, Hacker Ethic, HyperCard, index card, Jane Jacobs, Jason Scott: textfiles.com, jimmy wales, Marshall McLuhan, Network effects, optical character recognition, Ralph Waldo Emerson, Richard Stallman, side project, Silicon Valley, Skype, slashdot, social software, Steve Jobs, The Death and Life of Great American Cities, The Wisdom of Crowds, urban planning, urban renewal, Vannevar Bush, wikimedia commons, Y2K

The Early History of Nupedia and Wikipedia: A MemoirSlashdot, April 18, 2005, http://features.slashdot.org/article .pl ?sid=05/04/18/164213& tid=95 . 13. “Know It All: Can Wikipedia Conquer Expertise?” The New Yorker, July 31, 2006, http://www.newyorker.com/archive/2006/07/31/060731fa_fact. Chapter 3. WIKI ORIGINS 14. C2 Wiki, http://c2.com/cgi/wiki?WikiWikiHyperCard. 15. Wikimania 2005, keynote speech, Ward Cunningham. 16. C2 Wiki, http://c2.com/cgi/wiki?WikiWikiHyperCard. 17. Gillies, James & Robert Cailliau. How the Web Was Born: The Story of the World Wide Web. (Oxford: Oxford University Press, 2000), p. 214. 232_Notes 18. C2 Wiki, http://c2.com/doc/etymology.html. 19. http://sunir.org/sunir/. Chapter 4. WIKI INTRODUCED 20. Larry Sanger, “Let’s make a wiki” (email), Nupedia-L mailing list, Nupedia, January 10, 2001, http://web.archive .org/web/20030414014355/http://www.nupedia.com/ pipermail/nupedia-l/ 2001-January/000676.html (retrieved on May 1, 2008). 21. http://en.wikipedia.org/wiki/User_talk:Mark_Richards/Archive_2#The_ .22Encyclo pedia_that_Slashdot_Built.22_Awards. 22.

For the tech-savvy folks who first experienced Ward’s wiki, it was rather familiar—it closely mirrored the conventions used for keywords in computer programming. In time, CamelCase would become quite commonplace even in the commercial world. YouTube, MySpace, LiveJournal, and other arbitrary mixes of upper- and lowercase have become part of the dot-com lexicon. On March 25, 1995, Cunningham launched his WikiWikiWeb creation on c2 .com, and invited folks to visit. More importantly, he asked people to edit and contribute to the site what they knew about programming and software engineering. They would not need an account or password, which was quite odd even for computer veterans. There would be no gatekeeper, no central editor to submit to. Ward firmly believed that wikis would work because, “People are generally good.” The wiki quickly started to grow, as folks started adding their experiences and recommendations to the site.

Even more importantly, on Ward’s wiki every version of every page was saved, providing a complete trail of changes and, in effect, the ability to easily inspect or undo any edit. People weren’t afraid of trying to edit the wiki, because nothing was ever permanently lost or destroyed. Pages could be resurrected and reverted back to their original state. Finally, after eight years of waiting, he had an easy to edit, networked, collaborative resource that people could share in creating. Cunningham’s WikiWikiWeb (more affectionately known as Ward’s Wiki at http://c2.com/cgi/wiki) became a curiosity and a central location for programmers interested in patterns in computer code. He would later dub it the Portland Pattern Repository, as it allowed people to individually contribute to it. WikiWikiWeb became popular not just for the computer programming knowledge that accumulated, but also because of the wiki community that arose from it. One of the folks who discovered this was Sunir Shah, who described his first experience: While searching for information on Design Patterns, I stumbled onto WikiWikiWeb.


pages: 62 words: 15,274

Sass for Web Designers by Dan Cederholm

Amazon: amazon.comamazon.co.ukamazon.deamazon.fr

c2.com, don't repeat yourself, Firefox, Ruby on Rails, web application

But I’m mentioning it here because, again, if it feels right for you, then go for it. The important thing is to take advantage of one of these tools to make your life a little easier (http://bkaprt.com/sass/34/). REFERENCES Shortened URLs are numbered sequentially; the related long URLs are listed below for reference. Chapter 1 1: http://pragprog.com/the-pragmatic-programmer 2: http://c2.com/cgi/wiki?DontRepeatYourself 3: http://www.w3.org/People/Bos/DesignGuide/maintainability.html 4: http://sass-lang.com/about.html Chapter 2 5: http://rubyinstaller.org 6: http://mhs.github.com/scout-app/ 7: http://incident57.com/codekit 8: http://livereload.com 9: http://compass.handlino.com Chapter 3 10: http://blog.engineyard.com/2011/front-end-maintainability-with-sass-and-style-guides 11: http://www.w3.org/TR/css-variables/ 12: http://compass-style.org 13: http://bourbon.io/ Chapter 4 14: https://github.com/scottjehl/picturefill Resources 15: http://sass-lang.com/docs/yardoc/file.SASS_REFERENCE.html 16: http://thesassway.com 17: http://css-tricks.com/search-results/?


pages: 394 words: 118,929

Dreaming in Code: Two Dozen Programmers, Three Years, 4,732 Bugs, and One Quest for Transcendent Software by Scott Rosenberg

Amazon: amazon.comamazon.co.ukamazon.deamazon.fr

A Pattern Language, Benevolent Dictator For Life (BDFL), Berlin Wall, c2.com, call centre, collaborative editing, conceptual framework, continuous integration, Donald Knuth, Douglas Engelbart, Douglas Engelbart, Douglas Hofstadter, Dynabook, en.wikipedia.org, Firefox, Ford paid five dollars a day, Francis Fukuyama: the end of history, George Santayana, Grace Hopper, Guido van Rossum, Gödel, Escher, Bach, Howard Rheingold, index card, Internet Archive, inventory management, Jaron Lanier, John Markoff, John von Neumann, knowledge worker, Larry Wall, life extension, Loma Prieta earthquake, Menlo Park, Merlin Mann, new economy, Nicholas Carr, Norbert Wiener, pattern recognition, Paul Graham, Potemkin village, RAND corporation, Ray Kurzweil, Richard Stallman, Ronald Reagan, Ruby on Rails, semantic web, side project, Silicon Valley, Singularitarianism, slashdot, software studies, source of truth, South of Market, San Francisco, speech recognition, stealth mode startup, stem cell, Stephen Hawking, Steve Jobs, Stewart Brand, Ted Nelson, Therac-25, thinkpad, Turing test, VA Linux, Vannevar Bush, Vernor Vinge, web application, Whole Earth Catalog, Y2K

“These have the advantages”: From Kent Beck and Ward Cunningham, “A Laboratory for Teaching Object-Oriented Thinking,” from the OOPSLA ’89 Conference Proceedings, October 1989, New Orleans, at http://c2.com/doc/oopsla89/paper.htm. Barry Boehm, “A Spiral Model of Software Development and Enhancement,” in ACM SIGSOFT Software Engineering Notes, August 1986. “Part of the purpose of the workshop”: Brian Marick’s blog posting from March 17, 2004, is at http://www.testing.com/cgi-bin/blog/2004/03/17# march17. The Agile Manifesto is at http://agilemanifesto.org/. “We were taking all these practices”: Ron Jeffries’s quote is from Sam Williams, “Totally Awesome Software?” in Salon, May 29, 2002, at http://archive.salon.com/tech/feature/2002/05/29/ extreme_programming/index.htm. “Always implement things”: The YAGNI principle is defined at http://xp.c2.com/YouArentGonnaNeedIt.htm. “Deliver Crap Quickly”: From Robert Lefkowitz’s blog posting titled “Extreme Programming Refactored” from April 2004; it used to be at http://r0ml.blogs.com/fot/2004/04/extreme_program .htm and is now offline.

Steve Silberman, “The Geek Syndrome,” Wired, December 2001, at http://www.wired.com/wired/archive/9.12/aspergers _pr.htm. “The typical behavior of a student”: Gerald Weinberg, The Psychology of Computer Programming, Silver Anniversary Edition (Dorset House, 1998), p. 50. “I figured, OK, I’m running this repository”: Ward Cunningham’s talk at the OOPSLA Conference, October 2004, Vancouver, B.C. The Portland Pattern Repository is at http://c2.com/ppr/. The OSAF wiki is at http://wiki.osafoundation.org. Brooks’s discussion of the Tower of Babel is in The Mythical Man-Month Anniversary Edition (Addison Wesley, 1995), p. 74. “There are a couple of dark sides”: James Gosling, “Sharpen the Axe: The Dark Side,” blog entry from January 4, 2005, at http://today.java.net/jag/page13.htm#106. The Jargon File entry on yak shaving is at http://www.faqs.org/docs/jargon/Y/yak-shaving.htm.


pages: 313 words: 84,312

We-Think: Mass Innovation, Not Mass Production by Charles Leadbeater

Amazon: amazon.comamazon.co.ukamazon.deamazon.fr

1960s counterculture, Andrew Keen, barriers to entry, bioinformatics, c2.com, call centre, citizen journalism, clean water, cloud computing, complexity theory, congestion charging, death of newspapers, Debian, digital Maoism, double helix, Douglas Engelbart, Edward Lloyd's coffeehouse, frictionless, frictionless market, future of work, game design, Google Earth, Google X / Alphabet X, Hacker Ethic, Hernando de Soto, hive mind, Howard Rheingold, interchangeable parts, Isaac Newton, James Watt: steam engine, Jane Jacobs, Jaron Lanier, Jean Tirole, jimmy wales, John Markoff, John von Neumann, Kevin Kelly, knowledge economy, knowledge worker, lone genius, M-Pesa, Mark Shuttleworth, Mark Zuckerberg, Marshall McLuhan, Menlo Park, microcredit, new economy, Nicholas Carr, online collectivism, planetary scale, post scarcity, Richard Stallman, Shoshana Zuboff, Silicon Valley, slashdot, social web, software patent, Steven Levy, Stewart Brand, supply-chain management, The Death and Life of Great American Cities, the market place, The Wealth of Nations by Adam Smith, The Wisdom of Crowds, Thomas Kuhn: the structure of scientific revolutions, Whole Earth Catalog, Zipcar

Available from http://www.cjr.org/ issues/2003/5/blog-jensen.asp 6 http://portal.eatonweb.com 7 http://www.technorati.com/about 8 http://slashdot.org and http://www.digg.com http://www.plastic.com http://www.fark.com 9 See Anna Maybank, ‘Web 2.0’, at www.charlesleadbeater. net. 10 See http://english.ohmynews.com 11 Nicole Ellison, Charles Steinfield and Cliff Lampe, ‘Spatially Bound Online Social Networks and Social Capital: The Role of Facebook’, Department of Telecommunication Information Studies and Media, Michigan State University, 2006. Available from http:// msu.edu/%7enellison/facebook_ica_2006.pdf 12 Danah Boyd, ‘None of This Is Real: Identity and Participation in Friendster’, University of California, Berkeley. Available from http://www.danah.org/ papers/NoneOfThisIsReal.pdf 13 http://c2.com/cgi/wiki?WikiHistory 14 The Economist New Media Survey, ‘The Wiki Principle’, The Economist, April 2006. Available from http://www.economist.com/surveys/displaystory. cfm?story_id=6794228 15 See Steven Levy and Brad Stone, ‘The New Wisdom of the Web’, Newsweek, April 2006. Available from http:// www.msnbc.msn.com/id/12015774/site/newsweek 16 Fred Turner, From Counterculture to Cyberculture (Chicago, IL/London: University of Chicago Press, 2006) 17 Patrice Flichy, The Internet Imaginaire (Cambridge, MA: MIT Press, 2007) 18 Charles Leadbeater, ‘The DIY State’, Prospect 130, January 2007 19 Fred Turner, op. cit. 20 John Markoff, What the Dormouse Said: How the Sixties Counterculture Shaped the Personal Computer Industry (Penguin, 2006) 21 Patrice Flichy, The Internet Imaginaire (Cambridge, MA: MIT Press, 2007) 22 Jonathan Lethem, ‘The Ecstasy of Influence’, Harper’s Magazine, February 2007 23 Garrett Hardin, ‘The Tragedy of the Commons’, Science 162 (1968), pp. 1243–48 24 Elenor Ostrom, Governing the Commons (Cambridge University Press, 1990) 25 Lawrence Lessig, Code and Other Laws of Cyberspace (New York, NY: Basic Books, 1999) and Free Culture (New York, NY: Penguin Press, 2004) 26 Melvyn Bragg, The Routes of English (BBC Factual and Learning, 2000); Melvyn Bragg, The Adventure of English (Hodder & Stoughton Ltd, 2003) 27 Jonathan Lethem, ‘The Ecstasy of Influence’, Harper’s Magazine, February 2007 28 Cory Doctorow et al., ‘On “Digital Maoism: The Hazards of the New Online Collectivism” By Jaron Lanier’, Edge (2006). http://www.edge.org/discourse/digital_ maoism.html 29 Paul A.

, Creative Review, August 2006 Wright, Robert, Nonzero (Abacus, 2001) Zeldin, Theodore, Conversation (Harvill Press, 1998) Zittrain, Jonathan L., ‘The Generative Internet’, Harvard Law Review 119. 1974 (2006) Zuboff, Shoshana, and James Maxim, The Support Economy: Why Corporations Are Failing Individuals and the Next Episode of Capitalism (Allen Lane, 2002) Web addresses www.blizzard.com/inblizz/profile.shtml www.bookcrossing.com c2.com/cgi/wiki?WikiHistory counter.li.org/ english.ohmynews.com/ www.fark.com www.ige.com www.plastic.com portal.eatonweb.com www.slashdot.org www.technorati.com/about www.worldofwarcraft.com INDEX 42 Entertainment 10, 11 A ABC 173 academia, academics 6, 27, 48, 59 Acquisti, Alessandro 210 Adam, James 95 adaptation 109, 110, 121 advertising 104, 105, 129, 173, 180, 219 Aegwynn US Alliance server 99 Afghanistan 237 Africa broadband connections 189 mobile phones 185, 207 science 196 use of Wikipedia 18 Aids 193, 206, 237 al-Qaeda 237 Alka-Seltzer 105 Allen, Paul 46 Altair BASIC 46 Amadeu, Sérgio 202 amateurism 105 Amazon 86 America Speaks 184 American Chemical Society 159 anarchy cultural 5 Wikipedia 16 Anderson, Chris: The Long Tail 216 Apache program 68 Apple 42, 103, 104, 135, 182 iPhone 134 iPods 46 Arendt, Hannah 174, 176 Argentina 203 Arrayo, Gloria 186 Arseblog 29, 30 Arsenal Football Club 29, 30 Arsenal.com 29 arXiv 160 Asia access to the web 5, 190 attitude to open-source 203 and democracy 189 mobile phones 166, 185 and open-source design communities 166–7 Ask a Ninja 57, 219 assembly line 93, 130 assets 224 astronomy 155, 162–3 authority 110, 115, 233 authorship and folk culture 57, 58 and mapping of the human genome 62 Azerbaijan 190 B bacteria, custom-made 164 Baker, Steve 148 Banco do Brazil 201 Bangladesh 205–6 banking 115, 205–6 Barber, Benjamin: Strong Democracy 174 Barbie, Klaus 17 Barbie dolls 17 Barefoot College 205 barefoot thinking 205–6 Barthes, Roland 45 Batchelor, Charles 95 Bath University 137 BBC 4, 17, 127, 142 news website 15 beach, public 49, 50, 51 Beach, The (think-tank) xi Bebo 34, 85, 86 Bedell, Geraldine x, xii–xiii Beekeepers 11, 15 Benkler, Yochai 174 The Wealth of Networks 194 Berger, Jorn 33 Bermuda principles 160 Billimoria, Jeroo 206 BioBrick Foundation 164 biology 163 open-source 165 synthetic 164–5 BioMedCentral 159 biotechnology 154, 163–4, 196–7, 199 black fever (visceral leishmaniasis) 200 Blackburn Rovers Football Club 29 Blades, Joan 188 Blizzard Entertainment 100 Bloc 8406 191 Blogger.com 33 blogs, blogging 1, 3, 20, 29–35, 57, 59, 74, 75, 78, 86, 115, 159, 170, 171, 176, 179, 181–2, 183, 191, 192, 214, 219, 229 BMW 140 Bohr, Neils 93 bookshops 2 Boulton, Matthew 54–5 Bowyer, Adrian 139, 140, 232 Boyd, Danah 213, 214 Bradley, Bill 180 Brand, Stewart 39–40, 43, 63 brands 104, 109 Brazil 201–2 Brenner, Sydney 62–5, 70, 77, 118, 231 Brief History of Time, A (Hawking) 163 Brindley, Lynne 141, 142, 144–5 British Library, London 141, 142, 144, 145 British Medical Journal 159 British National Party 169 Brooks, Fred 77–8 Brooks Hall, San Francisco 38 BT 112 bugs, software 70, 72, 165 bulletin boards 34, 40, 68, 77 Burma 190, 191 Bush, President George W. 18, 33–4, 180, 183 business services 130, 132, 166 C C. elegans (Caenorhabditis elegans) 62–5 Cambia 197 Cambridge University Press 159 camcorders 11 Campbell, Anne 176 Cancer Genome Atlas 160 capital 224 capitalism 224 commune 121, 125 managerial 24 modern 91, 121 social dimension of 90 Carlson, Rob 164 Carnegie Mellon University 210 cars manufacture 135–6 sharing 153 CBS 173 Center for Bits and Atoms, MIT 139 CERN (European Organization for Nuclear Research) 30–31, 159 Chan, Timothy 106, 107 chat rooms 165 Chavez, President Hugo 203 Cheney, Dick 180 Chevrolet 105 Chicago: Full Circle council project 184 China based on privileged access to information 236 creative and cultural sectors 129–30 hackers 234 Internet connection 190, 204 makes available genetic data 199 motor-cycle production 136–7 online games market 106 open-access scientific data 159–60 open-source designs 141 politics 171, 192 power struggle in 235 spending on R & D 96, 159 web censorship 190–91 Chinese Communist Party 171, 235 Chongquing, China 136 Cisco 190 Citibank 207 Citizendium 14 climate change 170, 239 Clinton, Bill 174, 188 Clinton, Senator Hillary 181, 182, 183 CNN 15 co-operatives 121, 122, 123, 188 co-ordination 109, 110–11 coffee houses, London 95 Coke 109–10, 239 Cold War 169, 235 Coles, Polly xiii collaboration 9, 22, 31, 32, 36, 67, 79–80, 81, 82 collaborative innovation 65, 70, 75 and commerce 227 computer game 99, 100 Cornish tin-mining 55 and healthcare 150 and the library of the future 145 new technologies for 227–8 open 126, 128 peer 239 public services 145, 146, 152, 153 scientific 154, 155–6 We-Think 21, 23, 24, 146 Collis, Charles 134 Columbia University 212 commerce 25, 38, 48, 52, 57, 98, 227 commons 49, 50, 51–3, 79, 80, 124, 191, 226 communes 39–40, 46, 90, 121, 122, 128 communication(s) 130, 168, 174, 206, 239 mobile 186 Communism, collapse of 6 communities collaborative 117 and commerce 48 and commons 52 conversational 63 Cornish tin-mining 55 creative 70, 95 diverse 79–80 egalitarian 27, 48, 59, 63, 64 hacker 232 healthcare 151, 152 independence of 23 of innovation 54 libertarian, voluntaristic 45 Linux 65, 227 and loss of market for local newspapers 3 meritocratic 63 open-source 45, 68, 75, 80, 83, 95–6, 102, 109, 110, 111 open-source design 166–7 of scientists 53, 228 self-governing 59, 79, 80, 97, 104, 232 sharing and developing ideas 25 web 21, 23 worm-genome researchers 62–5 community councils 77, 80, 82 Community Memory project 42–3 companies computer-games 128 employee-owned 121, 122 shareholder-owned 122, 123, 125 see also corporations; organisations computer games 60, 127, 218 children and 147 created by groups on the web 7, 23, 87 modularity 78 multi-player 7, 204 success of World of Warcraft 98–9 tools for creating content 74 and We-Think 23 computer-aided design 134 computers democratising how information is accessed 139 distrust of 39 Goa School Computers Project 200–201 laptop 5, 36, 82, 155 mini- 135 personal 39, 46, 203 punch-cards 38 and science 154, 155 viruses 3, 4 connect 67, 75–9 Connectiva 201 consumer spending 131 consumers 98–108 consumer innovators 101–3 consumption constraints 25–6 engaging 89 fans 103–4 freedom 218 and innovation risk 100–101 participant 98–108 urban 124 contribute 67, 70, 71, 72, 73, 74–5 conversation 53, 54, 63, 69, 77, 93, 95, 113, 118, 174 Copernicus, Nicolaus 162 copyright 124, 157, 196 core 66, 67, 68–9, 70 Cornell University 233 ‘Cornish’ engines 55–6, 136, 229 Cornish tin-mining industry 54–6, 63, 125, 136 corporations centralisation of power 110 closed 128 and collaborative approaches to work 109 the cost of corporate efficiency 89–90 difficulty in making money from the web 7 hierarchies 88, 110 industrial-era 88 leadership 115, 117–19 loss of stability 122 restructuring and downsizing 88–9 see also companies; organisations counter-culture (1960s) 6, 27, 39, 45, 46, 59 Counts, David 183 Craigslist 3, 40, 118, 128, 218 Creative Commons 124 creative sector 129–30 creativity 1–2, 3, 5, 6, 9, 67, 82–3 collaborative 7, 20, 58, 86, 154 collective 39, 57–8 consumers 89 corporate 91–2 emergence of 93, 96 enabled by the web 1–2, 3, 5, 19, 26, 218–21, 222, 227 freedom to create 218–21 and interaction 119 and open innovation 93 origin of 112–13 social 5, 7, 58, 59, 82, 83, 86 tools for 218, 219 Crick, Francis 52, 62, 76 crime 153, 169, 183 criminality 1, 3 crowds 23, 61, 70, 72, 77 Crowdspirit 134 cultural élite 2 cultural sector 129–30 culture academic 38 anti-industrial 27, 28 basis of 4 collaborative 135 consumerist 172 corrosion of 4 cultural anarchy 5 folk 6, 27, 56–9, 220, 226 hippie 38 individual participation 6 political 171 popular 102 post-industrial 27, 28 pre-industrial 27, 28 We-Think 28, 59, 62, 169, 194, 230, 232–3, 238 Web 2.0 45 web-inflected 27 Western 239 wiki 14 work 114 YouTube cultural revolution 3 Cunningham, Ward 35–6 cyber cafés 107, 190, 192, 201, 204 Cyworld 34, 85, 86 D Dali, Salvador 105 Darby, Newman 102 Darpa 164 David, Paul 53 de Soto, Hernando 224–5 The Mystery of Capital 224 de Vellis, Phil 182 Dean, Howard 176–7, 178, 180, 185 Dean Corps 177 Debian 66 Debord, Guy 45, 46 decentralisation 7, 13, 39, 46, 59, 78, 226, 232 decision-making 78, 82, 84, 115, 173, 174 del.i.cious 86 democracy 1, 3, 5, 6, 7, 16, 24, 170–74, 175, 176–92 basis of 174 conversational democracy at a national level 184 ‘craftsmen of democracy’ 174 Dean campaign 178 democratic advances 184 depends on public sovereignty 172 formal 195 geek 65 Homebrew 176 public debate 170, 171 and We-Think 170, 221, 239 Department for International Development (DFID) 207 Descartes, René 19–20 design 166 modular 136–7 open-source 133–5, 140, 141, 162–3, 166–7 developing world Fab Labs in 166 government attitudes to the Internet 190 impact of the web on 166 mobile phones 185–6 and open-access publishing 166 and open-source design communities 166–7 and open-source software 200–203 research and development 196 and We-Think’s style of organisation 204 diabetes 150 Digg 33 discussion forums 77 diversity 9, 23, 72, 76, 77, 79–80, 112, 121 division of labour 111 DNA description of the double helix (Watson and Crick) 52, 62, 76 DNA-sequencing 164–5 Dobson, John 102, 162–3 Doritos 105 dot.com boom 106 Dupral 68 Dyson (household-goods company) 134 Dyson, Freeman 163, 164 E E-Lagda.com 186 Eaton, Brigitte 33 Eatonweb 33 eBay 40, 44, 102, 128, 152, 165, 216–18, 221, 229, 235 Ebola virus 165 Eccles, Nigel xi economies of scale 137 economy digital 124, 131, 216 gift 91, 226 global 192 global knowledge 239 of ideas 6 individual participation 6 industrial 122 market 91, 221 a mass innovation economy 7 networked 227 of things 6 UK 129, 130 and We-Think 129 Edison, Thomas 72, 93, 95 EditMe 36 education 130, 146–50, 167, 183, 194, 239 among the poorest people in the world 2, 193 civic 174 a more convivial system 44 Edwards, John 181 efficiency 109, 110 Einstein, Albert: theory of relativity 52 elderly, care of 170 Electronic Arts 105, 106, 128, 177 Electronic Frontier Foundation 40 electronics 93, 135 Eli Lilly (drugs company) 77 Ellis, Mark: The Coffee House: a social history 95 enclosures 124 Encyclopaedia Britannica, The 15–18, 126 encyclopaedias 1, 4, 7, 12–19, 21, 23, 36, 53, 60, 61, 79, 161, 231 Encyclopedia of Life (EOL) 161, 226 Endy, Drew 164, 165 energy 166, 232, 238 Engelbart, Doug 38–9, 59 engineering 133, 166 Environmental Protection Agency 152 epic poems 58, 60 equality 2, 24, 192–7, 198, 199–208 eScholarship repository, University of California 160 Estonia 184, 234 Estrada, President Joseph 186 ETA (Basque terrorist group) 187 European Union (EU) 130 Evans, Lilly x Evolt 68, 108 F Fab Labs 139, 166, 232 fabricators 139 Facebook 2, 34–5, 53, 142, 152, 191, 193, 210 factories 7, 8, 24 families, and education 147 Fanton, Jonathan 161 Fark 33 Feinstein, Diane 176 Felsenstein, Lee 42, 43, 44 fertilisers 123 Field Museum of Natural History, Harvard University 161 file-sharing 51, 58, 135, 144, 233 film 2, 3, 4, 47, 86, 129, 216, 218, 220–21 film industry 56 filters, collaborative 36, 86 financial services 130, 132 Financial Times 118 First International Computer (FIC), Inc. 136, 141 flash mobbing 10, 11 Flickr 34, 85, 86, 210, 218–19 Food and Drug Administration (US) 92 Ford, Henry 24, 93, 96 Fortune 500 company list 122 Frank, Ze (Hosea Jan Frank) 57, 219 freedom 1, 2, 6, 24, 208, 209, 210–21, 226 French, Gordon 41, 42 friendly societies 188 Friends Reunited 34 friendship 5, 233 combinatorial 95 Friendster 34, 35 fundamentalists 232 G Gaia Online 35 Galileo Galilei 154 gambling 169 GarageBand software 57, 135, 148 Gates, Bill 46, 47, 51, 227 Gates Foundation 160 geeks 27, 29–36, 37, 38, 48, 59, 65, 179 gene-sequencing machines, automated 64 genetic engineering 164, 196–7, 235 Georgia: ’colour revolution’ 187 Gershenfeld, Neil 139–40, 166, 232 GetFrank 108 Ghana, Fab Lab in 139 Gil, Gilberto 202 Gjertsen, Lasse 56, 218 Gland Pharma 200 global warming 238 globalisation 202, 228, 239 Gloriad 155 GM 135 Goa School Computers Project 200–201 Goffman, Erving 103–4 Goldcorp Inc. 132–3, 153 Golden Toad 40 GoLoco scheme 153 Google x, 1, 29, 32, 33, 47, 66, 97, 104, 113–14, 128, 141, 142, 144, 212 Google Earth 161 Gore, Al 64 governments in developing countries 190 difficulty in controlling the web 7 GPS systems 11 Grameen Bank 205–6, 208 ‘grey’ sciences 163 grid computing 155 Gross, Ralph 210 group-think 23, 210–11 groups 230–31 of clever people with the same outlook and skills 72 decision-making 78 diverse 72, 80, 231 and tools 76–7 Guthrie, Woody 58 H Habermas, Jurgen 174 hackers 48, 74, 104, 140, 232, 234 Hale, Victoria 199 Halo 2 science fiction computer game 8 Hamilton, Alexander 17–18 Hampton, Keith 183–4 Hanson, Matt xi health 130, 132, 146, 150–52, 167, 183, 239 Heisenberg, Werner 93 Henry, Thierry 29 Hewlett Packard 47 hierarchies 88, 110, 115 hippies 27, 48, 59, 61 HIV 193 Homebrew Computer Club 42, 46–7, 51, 227 Homebrew Mobile Phone Club 136 Homer Iliad 58 Odyssey 58 Homer-Dixon, Thomas: The Upside of Down 238–9 Hubble, Edwin 162 Human Genome Project 62, 64, 78, 155, 160, 161, 226 human rights 206 Hurricane Katrina 184 Hyde, Lewis: The Gift 226 hypertext 35, 39 I I Love Bees game 8, 10–12, 15–16, 19, 20, 69, 231 IBM 47, 66, 97 System/360 computer 77 idea-sharing 37, 94, 237, 239 as the biggest change the web will bring about 6 with colleagues 27 and consumer innovators 103 dual character of 226 gamers 106 Laboratory of Molecular Biology 63 through websites and bulletin boards 68 tools 222 We-Think-style approach to 97 and the web’s underlying culture 7 ideas combining 77 and creative thinking 87 from creative conversations 93, 95 gifts of 226 growth of 222, 239 and the new breed of leaders 117–18 ratifying 84 separating good from bad 84, 86 testing 74 the web’s growing domination 1 identity sense of 229 thieves 213–14 Illich, Ivan 43–5, 48 Deschooling Society 43, 44, 150 Disabling Professions 43 The Limits to Medicine 43, 152 Tools for Conviviality 44 independence 9, 72, 231 India Barefoot College 205 creative and cultural sectors 129–30 Fab Lab in 139 Internet connection 190, 204 mobile phones 207 and One World Health 200 spending on R & D 96 telephone service for street children 206 individuality 210, 211, 215, 216, 233 industrialisation 48, 150, 188 information barriers falling fast 2 computers democratise how it is accessed 139 effect of We-Think 129 large quantities on the web 31–2 libraries 141, 142, 143, 145 looking for 8 privileged access to 236 sharing 94, 136 the web’s growing domination 1 Wikipedia 19 Innocentive 77 innovation 5, 6, 91–3, 94, 95–8, 109 among the poorest people in the world 2 biological 194 collaborative 65, 70, 75, 90, 119, 146, 195 collective 170, 238 and competition/co-operation mix 137 Cornish mine engines 54–6 corporate 89, 109, 110 and creative conversations 93, 95 creative interaction with customers 113 cumulative 125, 238 decentralised 78 and distributed testing 74 and diverse thinking 79 and education 147 independent but interconnected 78 and interaction 119 and Linux 66 local 139 a mass innovation economy 7 medical 194 open 93, 96–7, 125, 195 in open-source communities 95–6 and patents 124 pipeline model 92, 93, 97 R & D 92, 96 risks of 100–101 social 170, 238 successful 69 user-driven 101 and We-Think 89, 93, 95, 125, 126 the web 2, 5, 7, 225 Institute for One World Health 199–200 Institute for Politics, Democracy & the Internet (IPDI) 179 Institute of Fiscal Studies 131 institutions convivial 44 industrial-era 234 and knowledge 103 and professionals 3, 5 public 142, 145 Instructables site 134 Intel 97 intellectual property 75, 122, 124, 125, 234 law 124–5 intelligence, collective bloggers 33 getting the mix right 23 Google’s search system 32 I Love Bees and Wikipedia examples 8, 10–19 milked by Google 47 the need to collaborate 32 self-organisation of 8 and social-networking sites 35 the web’s potential 3, 5 International Polar Year (IPY) 156, 226 Internet broadband connection 178, 189, 192 combined with personal computers (mid-1990s) 39 cyber cafés 107, 190, 192, 201, 204 Dean campaign 177 in developing countries 190 draws young people into politics 179, 180 an early demonstration (1968) 38 and Linux 66 news source 178–9 open-source software 68 openness 233 and political funding 180 pro-am astronomers 163 used by groups with a grievance 168 in Vietnam 189–90, 191 investment 119, 121, 133, 135 Iran 190, 191 Iraq war 18, 134, 191 Israel 18 Ito, Joi 99 J Japan politics 171 technology 171 JBoss 68 Jefferson, Richard 197, 199 Jodrell Bank Observatory, Macclesfield, Cheshire 162 JotSpot 36 journalism 3, 74, 115, 170–71 Junker, Margrethe 206 K Kampala, Uganda 206 Kazaa music file-sharing system 144 Keen, Andrew 208 The Cult of the Amateur 208 Kelly, Kevin 211 Kennedy, John F. 176 Kenya 207 Kepler, Johannes 162 Kerry, John 180 Khun, Thomas 69 knowledge access to 194, 196 agricultural 194 barriers falling fast 2 collaborative approach to 14, 69 encyclopaedia 79 expanding 94 gifts of 226 individual donation of 25 and institutions 103 and networking 193 and pro-ams 103 professional, authoritative sources of 222 sharing 27, 44, 63, 70, 199 spread by the web 2, 3 Wikipedia 16, 18, 19, 195 Korean War 203 Kotecki, James (’EmergencyCheese’) 182 Kraus, Joe 36 Kravitz, Ben 13 Kuresi, John 95 Kyrgyzstan: ’colour revolution’ 187 L Laboratory of Molecular Biology, Cambridge 62–3, 77 labour movement 188 language 52–3 Lanier, Jaron 16, 210–11, 213 laptop computers 5, 36, 82, 155 lateral thinking 113 leadership 89, 115, 116, 117–19 Lean, Joel 55 Lean’s Engine Reporter 55, 63, 77 Lee, Tim Berners 30–31 Lego: Mindstorms products 97, 104, 140 Lewandowska, Marysia 220, 221 libraries 2, 141–2, 143, 144–5, 227 life-insurance industry (US) 123 limited liability 121 Linked.In 35 Linux 65–6, 68, 70, 74, 80, 85, 86, 97, 98, 126, 127, 128, 136, 201, 203, 227 Lipson Community College, Plymouth 148 literacy 194 media 236 Lloyd, Edward 95 SMS messaging (texting)"/>London coffee houses 95 terrorist bombings (July 2005) 17 Lott, Trent 181–2 Lula da Silva, President Luiz Inacio 201 M M-PESA 207, 208 MacArthur Foundation 161 McCain, John 180 MacDonald’s 239 McGonigal, Jane 11, 69 McHenry, Robert 17 McKewan, Rob 132–3, 153 McLuhan, Marshall: Understanding the Media 45 Madrid bombings (March 2004) 186–7 Make magazine 165 management authoritative style of 117 and creative conversation 118 hierarchies 110 manufacturing 130, 132, 133–7, 138, 139–41, 166, 232 niche 139 Marcuse, Herbert 43 Marin 101 Mark, Paul xi market research 101 market(s) 77, 90, 93, 102, 123, 216, 226–7 Marsburg virus 165 Marx, Karl 224 mass production 7, 8, 24, 56, 96, 227, 232, 238 Massachusetts Institute of Technology (MIT) 139, 164, 233 Matsushita 135 media 129, 130, 156, 172, 173, 182, 211 literacy 236 Meetup 179, 185 Menlo Park laboratory, New Jersey 95 Merholz, Peter 33 meritocracy 16, 63 Microsoft 46, 47, 51, 56, 75, 109–10, 126, 127, 144, 202, 203, 204, 239 Office 201 Windows 200 Windows XP 66 Middle East 170, 189, 190, 192 Milovich, Dimitry 102 ‘minihompy’ (mini homepage) 204 Minnesota Mining and Materials 121 mobile phones 5 in Africa 185, 207 in Asia 166, 185 camera phones 74, 115, 210 children and 147 in developing-world markets 207–8 with digital cameras 36 flash mobs 10 I Love Bees 11 in India 207 open-source 136, 203 politics 185–9 SMS messaging (texting) 101–2, 185, 187, 214, 215 mobs 23, 61 flash 10, 11 modularity 77, 84 Moore, Fred 41–2, 43, 46, 47, 59, 227 More, Thomas: Utopia 208 Morris, Dick 174 Morris, Robert Tappan 233 Mosaic 33 motivation 109–12, 148 Mount Wilson Observatory, California 162 mountain bikes 101 MoveOn 188–9 Mowbray, Miranda xi music 1, 3, 4, 47, 51, 52, 57, 102, 135, 144, 218, 219, 221 publishing 130 social networking test 212–13 mutual societies 90, 121 MySpace 34, 44, 57, 85, 86, 152, 187, 193, 214, 219 MySQL 68 N National Football League (US) 105 National Health Service (NHS) 150, 151 National Public Radio (NPR) 188 Natural History Museum, London 161 Nature magazine 17 NBC 173 neo-Nazis 168 Netflix 216, 218 Netherlands 238 networking by geeks 27 post-industrial networks 27 social 2–7, 20, 23, 34–5, 36, 53, 57, 86, 95, 147, 149, 153, 159, 171, 183–4, 187, 193, 208, 210, 212, 213–15, 230, 233 New Economy 40 New Orleans 184 New York Magazine 214 New York Review of Books 164 New York Stock Exchange 95 New York Times 15, 182, 191 New Yorker magazine 149 Newmark, Craig 118 news services 60, 61, 171, 173, 178–9 newspapers 2, 3, 30, 32, 34, 171, 172, 173 Newton, Sir Isaac 25, 154 niche markets 216 Nixon, Richard 176 NLS (Online System) 39 Nokia 97, 104, 119, 140 non-profits 123 Nooteboom, Bart 74 Noronha, Alwyn 200–201 Norris, Pippa 189 North Africa, and democracy 189 Nosamo 35, 186 Noyes, Dorothy 58 Nupedia 13, 14 Nussbaum, Emily 214–15 O Obama, Barack 181, 191 Ofcom (Office of Communications) 31 OhmyNews 34, 87, 204, 231 oil companies 115 Oldenburg, Henry 25, 53–4, 156 Ollila, Jorma 119 Online System (NLS) 39 Open Architecture Network (OAN) 133–4 Open Net Initiative 190 Open Office programme 201 Open Prosthetics 134 Open Source Foundation 97 OpenMoko project 136 OpenWiki 36 O’Reilly, Tim 31 organisation commons as a system of organisation 51 pre-industrial ideas of 27, 48 social 20, 64, 165 We-Think’s organisational recipe 21 collaboration 21, 23 participation 21, 23 recognition 21 Organisation for Economic Co-operation and Development (OECD) 196 organisations civic 189 open/collaborative vs. closed/hierarchical models 89, 126, 127, 128 public 152 successful 228 see also companies; corporations Orwell, George: 1984 182 Ostrom, Elinor 51–2, 80 ownership 6, 119, 120, 121–6, 127, 128, 225 Oxford University 234 P paedophiles 3, 168, 213–14 Page, Scott xi, 72 Pakistan 237 Palace of Fine Arts, San Francisco 40 parallel universes 7 participation 23, 216, 223, 230, 232 consumers 98, 100 public services 145, 146, 150, 152, 153 a We-Think ingredient 21, 24 Partido Populaire (PP) (Spain) 187 patents 55, 56, 92, 97, 102, 124, 154, 196, 197, 199 Paul, Ron 185 Pawson, Dave x–xi Pax, Salam 57 peasants 27, 48, 59 peer recognition 54, 106, 111, 156, 228–9 peer review 53, 54, 156, 165, 236 peer-to-peer activity 53–4, 135, 148, 151 People’s Computer Company 41 People’s Democratic Party (Vietnam) 191 performance art/artists 2, 10 performance management 110 Perl 68 Peruvian Congress 202 Pew Internet & American Life 31, 179 pharmaceutical industry 92–3, 195–6, 197, 199, 200 Phelps, Edmund 114–15, 220 Philippines: mobile phones 185–6 Philips, Weston 105 photographs, sharing of 34, 75, 86, 218–19 Pitas.com 33 Plastic 33 Playahead 35 podcasts 142 Poland 220–21 polar research 156 politics bloggers able to act as public watchdog 181–2, 183 decline in political engagement 171–2 democratic 173 donations 179 funding 180–81 and journalism 170–71 and mobile phones 185–9 online 183 the online political class 179 and online social networks 35, 86 political advocates of the web 173–4 racist groups on the web 169 and television 173, 183 ultra-local 183, 184 US presidential elections 173, 179 videos 182 the web enters mainstream politics 176 young people drawn into politics by the Internet 179 Popper, Karl 155 Popular Science magazine 102 pornography 169, 214 Post-it notes 121 Potter, Seb 108–9 Powell, Debbie ix power and networking 193 technological 236 of the We-Think culture 230 of the web 24–5, 185, 233 PowerPoint presentations 140, 142, 219 privacy 210, 211 private property 224, 225 Procter and Gamble (P & G) 96–7, 98 productivity 112, 119, 121, 151, 227, 232 agricultural 124 professionals, and institutions 3, 5 property rights 224 public administration 130 Public Broadcasting Service 188 Public Intellectual Property Research for Agriculture initiative 199 Public Library of Science 159 public services 132, 141–2, 143, 144–53, 183 public spending 146 publishing 130, 166 science 156–7, 159–60 Putnam, Robert 173, 184 Python 68 Q quantum mechanics 93 ‘quick-web’ 35 R racism 169, 181–2 radio 173, 176 RapRep (Rapid Replicator) machines 137, 138, 139, 140, 141, 232 Rawls, John: A Theory of Justice 194 Raymond, Eric 64 recognition 21, 223 peer 54, 106, 111, 156 record industry 56, 102 recycling 111 Red Hat 66, 227 Red Lake, Ontario 132, 133 research 166 market 101 pharmaceutical 195–6 research and development (R & D) 92, 96, 119, 196 scientific 154–7, 159–65 retailing 130, 132 Rio Grande do Sul, Brazil 201 Roh Moo-hyun, President of South Korea 35, 186 Roosevelt, Franklin 176 Roy, Bunker 205 Royal Botanic Gardens, Kew, Surrey 161 Royal Society 54 Philosophical Transactions 25, 156 Ryze.com 34 S Sacca, Chris 113, 114 Safaricom 207 St Louis world fair (1904) 75–6 Samsung xi, 203 Sanger, Larry 13, 14, 16 Sanger Centre, Cambridge 155 Sao Paolo, Brazil 201 SARS virus 165 Sass, Larry 139 satellite phones 11 Saudi Arabia 190 scanners 11 Schumacher, E.

Writing Effective Use Cases by Alistair Cockburn

Amazon: amazon.comamazon.co.ukamazon.deamazon.fr

business process, c2.com, create, read, update, delete, finite state, index card, information retrieval, iterative process, recommendation engine, Silicon Valley, web application

I have seen project teams go directly from the concepts in the use cases to a draft design. They tighten and refine the design from there. 1.http://members.aol.com/humansandt/papers/oonewcomers.htm 2.Read the original article: Beck, K., Cunningham, W., "A laboratory for object-oriented thinking", ACM SIGPLAN 24(10):1-7, 1989, or the book: Wirfs-Brock, R., Wilkerson, B., Wiener, L., Designing Object-Oriented Software, Prentice-Hall, 1990. Online, visit http:// c2.com/cgi/wiki?CrcCards or http://members.aol.com/humansandt/papers/crc.htm. 173 Chapter 17. Use Cases in the Overall Process Use Cases to UI Design - Page 174 17.4 Use Cases to UI Design Larry Constantine and Lucy Lockwood, in Software for Use, and Luke Hohmann, in GUIs with Glue, have written better than I can about designing the user interface. However, most project teams ask, during use case writing, "How do we transition from UI-free use cases to actual UI design?"

Beck, K., Cunningham, W., "A laboratory for object-oriented thinking", ACM SIGPLAN 24(10):1-7, 1989. Cockburn, A., "VW-Staging", http://members.aol.com/acockburn/papers/vwstage.htm Cockburn, A., "An Open Letter to Newcomers to OO", http://members.aol.com/humansandt/ papers/oonewcomers.htm Cockburn, A., "CRC Cards", http://members.aol.com/humansandt/papers/crc.htm Cunningham, W., CrcCards", http://c2.com/cgi/wiki?CrcCards McBreen, P., "Test cases from use cases", http://www.cadvision.com/roshi/papers.html Online resources useful to your quest. The web has huge amounts of information. Here are a few starting points. http://www.usecases.org http://members.aol.com/acockburn http://www.foruse.com http://www.pols.co.uk/usecasezone/ 246 F Flexography 44, 46, 48, 50, 52, 54, 56, 58, 60 247

Catalyst 5.8: The Perl MVC Framework by Antano Solar John, Jonathan Rockway, Solar John Antano

Amazon: amazon.comamazon.co.ukamazon.deamazon.fr

c2.com, create, read, update, delete, database schema, Debian, en.wikipedia.org, Firefox, MVC pattern, Ruby on Rails, web application

~test@some-place.com' => ['another', 'test', 'some-place.com'], ); then you'll see two tests running: $ prove -Ilib t/irc-parser-nickname.t t/irc-parser-nickname....ok All tests successful. Files=1, Tests=2, 0 wallclock secs ( 0.07 cusr + 0.01 csys = 0.08 CPU) You can take this technique a step further and write test cases in a separate (non-Perl) file and load that file as the %tests hash. Then, you can have someone other than a programmer to write your test cases. If you choose to follow this route, then you should take a look at FIT (http://fit.c2.com/), and the Test::FITesque module on CPAN. Testing a database ChatStat is a pretty database-heavy application, so there's no way to avoid testing the database part. We can make testing the database less painful by providing an easy way for creating an empty database just for testing. This is easy to do with SQLite; we just create a temporary database, deploy our schema to it, run the tests, and then delete the database.


pages: 253 words: 80,074

The Man Who Invented the Computer by Jane Smiley

Amazon: amazon.comamazon.co.ukamazon.deamazon.fr

1919 Motor Transport Corps convoy, Alan Turing: On Computable Numbers, with an Application to the Entscheidungsproblem, Albert Einstein, anti-communist, Arthur Eddington, British Empire, c2.com, computer age, Fellow of the Royal Society, Henri Poincaré, IBM and the Holocaust, Isaac Newton, John von Neumann, Karl Jansky, Norbert Wiener, Pierre-Simon Laplace, RAND corporation, Turing machine, V2 rocket, Vannevar Bush, Von Neumann architecture

., p. 2. 16 “Colossus was a special-purpose machine”: Flowers, “Colossus,” p. 96. 17 “When I came to put them together”: Roberts, p. 469. 18 “Hitler had sent Field Marshall Rommel”: Flowers, “D-Day at Bletchley Park,” p. 80. 19 “The result was a defeat”: Ibid. 20 “even up to 26 June”: Roberts, p. 470. 21 “If I had … spent the war interned”: Flowers, “D-Day at Bletchley Park,” p. 82. 22 “It is regretted that it is not possible”: Good and Timms, http://www.ellsbury.com/tunny/tunny-000.htm. 23 “You’d be working on a problem”: I. J. Maskell, http://c2.com/cgi-bin/wiki?TommyFlowers. 24 “Flowers received very little remuneration”: Ibid. Chapter Seven 1 “More steerage-class Jewish families”: Macrae, p. 42. 2 “he was one grade below me”: Marton, p. 41. 3 “Before he finished high school”: Macrae, p. 71. 4 “He joined in class pranks”: Ibid., p. 41. 5 “From all over the globe”: Marton, p. 64. 6 “by his first question”: Macrae, p. 281. 7 “an internal summary of their work”: McCartney, p. 118. 8 “Johnny grabbed other people’s ideas”: Macrae, p. ix. 9 “The primary memory would be fairly small”: Ibid., p. 309. 10 “Dr.


pages: 224 words: 48,804

The Productive Programmer by Neal Ford

Amazon: amazon.comamazon.co.ukamazon.deamazon.fr

anti-pattern, business process, c2.com, continuous integration, database schema, domain-specific language, don't repeat yourself, Firefox, general-purpose programming language, knowledge worker, Larry Wall, Ruby on Rails, side project, type inference, web application, William of Occam

What Galileo did was prove that things that seem nonintuitive can in fact be true, which is still a valuable lesson. Some hard-fought knowledge about software development is not intuitive. The idea that you can design the entire software up front, and then just transcribe it seems logical, but it doesn’t work in the real world of constant change. Fortunately, a giant catalog of nonintuitive software lore exists in the Anti Patterns catalog (http://c2.com/cgi/wiki? AntiPatternsCatalog). This is the ancient lore of software. Rather than gnashing your teeth in frustration when your boss is forcing you to use a library of subquality code, point out to him that he’s falling into the “Standing on the Shoulder of Midgets” anti pattern, and he’ll see that you aren’t the only one who thinks it’s a bad idea. Understanding the existing software lore provides great resources when you are being asked to do something that you know in your gut is the wrong thing to do, and yet some managertype is forcing the issue.

Infotopia: How Many Minds Produce Knowledge by Cass R. Sunstein

Amazon: amazon.comamazon.co.ukamazon.deamazon.fr

affirmative action, Andrei Shleifer, availability heuristic, Build a better mousetrap, c2.com, Cass Sunstein, cognitive bias, cuban missile crisis, Daniel Kahneman / Amos Tversky, Edward Glaeser, en.wikipedia.org, feminist movement, framing effect, hindsight bias, information asymmetry, Isaac Newton, Jean Tirole, jimmy wales, market bubble, market design, minimum wage unemployment, prediction markets, profit motive, rent control, Richard Stallman, Richard Thaler, Robert Shiller, Robert Shiller, Ronald Reagan, slashdot, stem cell, The Wisdom of Crowds, winner-take-all economy

For an overview, see “FAQ: People, Julian Simon’s Bet with Paul Ehrlich,” Overpopulation.com, at http:// www.overpopulation.com/faq/People/julian_simon.html (last visited Jan. 28, 2005). Chapter 5 / 1. See Bol Leuf and Ward Cunningham, The Wiki Way: Quick Collaboration on the Web (Boston: Addison-Wesley, 2001), 15. 2. For those interested in the original WikiWikiWeb site, the place to go is http:/c2.com/cgi/wiki; it includes many thousands of pages with discussions of software design. 3. Ibid. 4. Ibid., 17. 5. All quotations from the Wikipedia site are available via http:// en.wikipedia.org/wiki/Main_Page. 252 / Notes to Pages 140–50 6. http://en.wikipedia.org/wiki/Wikipedia:Replies_to_common_ objections. 7. See http://en.wikipedia.org/wiki/Image:Stop_hand.png. 8. See http://en.wikipedia.org/wiki/Category: NPOV_disputes. 9.


pages: 834 words: 180,700

The Architecture of Open Source Applications by Amy Brown, Greg Wilson

Amazon: amazon.comamazon.co.ukamazon.deamazon.fr

8-hour work day, anti-pattern, bioinformatics, c2.com, cloud computing, collaborative editing, combinatorial explosion, computer vision, continuous integration, create, read, update, delete, David Heinemeier Hansson, Debian, domain-specific language, Donald Knuth, en.wikipedia.org, fault tolerance, finite state, Firefox, friendly fire, Guido van Rossum, linked data, load shedding, locality of reference, loose coupling, Mars Rover, MVC pattern, peer-to-peer, Perl 6, premature optimization, recommendation engine, revision control, Ruby on Rails, side project, Skype, slashdot, social web, speech recognition, the scientific method, The Wisdom of Crowds, web application, WebSocket

If it's not possible, or even if it's "only" extremely taxing, to test with a particular browser, then tests just aren't run for it, with knock-on effects for how well complex applications work with that browser. Whether those automation hooks are going to be based on WebDriver is an open question, but we can hope! The next few years are going to be very interesting. As we're an open source project, you'd be welcome to join us for the journey at http://selenium.googlecode.com/. Footnotes http://fit.c2.com This is very similar to FIT, and James Shore, one of that project's coordinators, helps explain some of the drawbacks at http://jamesshore.com/Blog/The-Problems-With-Acceptance-Testing.html. For example, the remote server returns a base64-encoded screen grab with every exception as a debugging aid but the Firefox driver doesn't. I.e., always returns the same result. The Architecture of Open Source Applications Amy Brown and Greg Wilson (eds.)

There are many interesting possibilities with this open-source spreadsheet engine, and if you can find a way to embed SocialCalc into your favorite project, we'd definitely love to hear about it. Footnotes https://github.com/audreyt/wikiwyg-js http://one.laptop.org/ http://seeta.in/wiki/index.php?title=Collaboration_in_SocialCalc http://search.cpan.org/dist/Web-Hippie/ http://about.digg.com/blog/duistream-and-mxhr https://github.com/gimite/web-socket-js http://perlcabal.org/syn/S02.html http://fit.c2.com/ http://search.cpan.org/dist/Test-WWW-Mechanize/ http://search.cpan.org/dist/Test-WWW-Selenium/ https://www.socialtext.net/open/?cpal http://opensource.org/ http://www.fsf.org https://github.com/facebook/platform https://github.com/reddit/reddit The Architecture of Open Source Applications Amy Brown and Greg Wilson (eds.) ISBN 978-1-257-63801-7 License / Buy / Contribute Chapter 20.


pages: 263 words: 20,730

Exploring Python by Timothy Budd

Amazon: amazon.comamazon.co.ukamazon.deamazon.fr

c2.com, centre right, general-purpose programming language, Guido van Rossum, index card, random walk, sorting algorithm, web application

Similarly, anybody can edit an article to correct errors (either grammatical or factual) or add further information. A community of readers for the wikipedia periodically examine recently altered articles to weed out inappropriate content, but such deletions are rare in comparison to the vast amount of useful information. The wiki web we develop in this chapter is much simpler, and closer in spirit to the original wiki web (http://c2.com/cgi/wiki). The basic idea of the wiki is that information is organized using topic words, termed pattern words. A pattern word is written as a single word with embedded capital letters, for example PatternWord. (This convention grew up in the context of the study of ideas termed design patterns, hence the name. However, the idea of the Wiki has since transcended its original use in the design pattern community).


pages: 509 words: 92,141

The Pragmatic Programmer by Andrew Hunt, Dave Thomas

Amazon: amazon.comamazon.co.ukamazon.deamazon.fr

A Pattern Language, Broken windows theory, business process, buy low sell high, c2.com, combinatorial explosion, continuous integration, database schema, domain-specific language, don't repeat yourself, Donald Knuth, general-purpose programming language, George Santayana, Grace Hopper, if you see hoof prints, think horses—not zebras, index card, loose coupling, Menlo Park, MVC pattern, premature optimization, Ralph Waldo Emerson, revision control, Schrödinger's Cat, slashdot, sorting algorithm, speech recognition, traveling salesman, urban decay, Y2K

As well as regular updates on Linux news, the site offers information on technologies that are cool and issues that affect developers. ⇒ www.slashdot.org Cetus Links. Thousands of links on object-oriented topics. ⇒ www.cetus-links.org WikiWikiWeb. The Portland Pattern Repository and patterns discussion. Not just a great resource, the WikiWikiWeb site is an interesting experiment in collective editing of ideas. ⇒ www.c2.com Internet Resources The links below are to resources available on the Internet. They were valid at the time of writing, but (the Net being what it is) they may well be out of date by the time you read this. If so, you could try a general search for the filenames, or come to the Pragmatic Programmer Web site (www.pragmaticprogrammer.com) and follow our links. Editors Emacs and vi are not the only cross-platform editors, but they are freely available and widely used.


pages: 448 words: 84,462

Testing Extreme Programming by Lisa Crispin, Tip House

Amazon: amazon.comamazon.co.ukamazon.deamazon.fr

c2.com, continuous integration, data acquisition, database schema, Donner party, Drosophila, hypertext link, index card, job automation, web application

Every team member is responsible for staying on track during standups. It takes practice and focus, but most people prefer short meetings! Wiki Whiteboards aren't practical for every documentation need. A project wiki, which is a Web site everyone can easily update on the fly, is a good resource for keeping everybody in sync. (Wiki-wiki is an alliterative substitute for quick, and we use wiki as a shorthand for the official name, WikiWikiWeb. See www.c2.com/cgi/wiki?WikiHistory for a history of wiki.) If your team doesn't have one and you can see beneficial applications of using one, suggest it. Here are some of the pages that might be on the project wiki: Customer contact information Iteration planning output: task tracking Status Standup notes Grade cards Customers' schedules, when and where they'll be offsite and onsite Technical resources; how-tos, intranet access account info Install information and access to installation files Metrics Acceptance tests UML diagrams Metrics XP is designed to be lightweight and streamlined, producing fewer expensive artifacts.


pages: 370 words: 105,085

Joel on Software by Joel Spolsky

Amazon: amazon.comamazon.co.ukamazon.deamazon.fr

barriers to entry, c2.com, commoditize, George Gilder, index card, Jeff Bezos, knowledge worker, Metcalfe's law, Network effects, new economy, PageRank, Paul Graham, profit motive, Robert X Cringely, shareholder value, Silicon Valley, Silicon Valley startup, six sigma, slashdot, Steve Ballmer, Steve Jobs, the scientific method, thinkpad, VA Linux, web application

Raymond has convinced me that threads are usually not as good a solution as separate processes;2 indeed, years of experience have shown me that programming with multiple threads creates much additional complexity and introduces whole new categories of dangerously frightful heisenbugs.3 #3 seemed like a good solution, especially since our underlying database is multi-user and doesn't mind lots of processes banging on it at the same time. So that's what I'm planning to do when I get back from Thanksgiving vacation. __________ 2. See www.faqs.org/docs/artu/ch07s03.html#id2923889. 3. For more information on heisenbugs, see c2.com/cgi/like?HeisenBug. Notice, though, the big picture. We've gone from read the file/save it in the database to something significantly more complicated: launch a child process, tell it to read the file and save it in the database, add a progress bar and cancel button to the child process, and then some kind of mechanism so the child can notify the parent when the file has arrived so it can be displayed.


pages: 313 words: 95,077

Here Comes Everybody: The Power of Organizing Without Organizations by Clay Shirky

Amazon: amazon.comamazon.co.ukamazon.deamazon.fr

Andrew Keen, Berlin Wall, bioinformatics, Brewster Kahle, c2.com, crowdsourcing, en.wikipedia.org, hiring and firing, hive mind, Howard Rheingold, Internet Archive, invention of agriculture, invention of movable type, invention of the printing press, invention of the telegraph, jimmy wales, Kuiper Belt, liberation theology, lump of labour, Mahatma Gandhi, means of production, Merlin Mann, Metcalfe’s law, Nash equilibrium, Network effects, Nicholas Carr, Picturephone, place-making, Pluto: dwarf planet, prediction markets, price mechanism, prisoner's dilemma, profit motive, Richard Stallman, Robert Metcalfe, Ronald Coase, Silicon Valley, slashdot, social software, Stewart Brand, supply-chain management, The Nature of the Firm, The Wealth of Nations by Adam Smith, The Wisdom of Crowds, transaction costs, ultimatum game, Vilfredo Pareto, Yogi Berra

CHAPTER 5: PERSONAL MOTIVATION MEETS COLLABORATIVE PRODUCTION Page 111: wikis Wikis are one of the great surprises of the last ten years’ worth of work on social tools. While many such tools were simply updates of work done in the 1960s through 1980s, wikis offered a genuinely new pattern of interaction. There are now millions of wikis in operation, both out in public and inside organizations. Ward Cunningham’s original wiki is still in operation at c2.com/cgi/wiki. The Wikimedia Foundation, nonprofit parent of Wikipedia, has a number of other wiki-based projects in operation, all listed at wikimedia.org. One of the best descriptions of the history and development of Wikipedia itself is at Marshall Poe’s excellent “The Hive,” Atlantic Monthly, September 2006, and at www.theatlantic.com/doc/200609/wikipedia. . Page 118: Division of labor is usually associated If you want to get a sense of the division of labor for Wikipedia, choose any article and look at the top of the page.


pages: 629 words: 142,393

The Future of the Internet: And How to Stop It by Jonathan Zittrain

Amazon: amazon.comamazon.co.ukamazon.deamazon.fr

A Declaration of the Independence of Cyberspace, Amazon Mechanical Turk, Andy Kessler, barriers to entry, book scanning, Brewster Kahle, Burning Man, c2.com, call centre, Cass Sunstein, citizen journalism, Clayton Christensen, clean water, commoditize, corporate governance, Daniel Kahneman / Amos Tversky, distributed generation, en.wikipedia.org, Firefox, game design, Hacker Ethic, Howard Rheingold, Hush-A-Phone, illegal immigration, index card, informal economy, Internet Archive, jimmy wales, John Markoff, license plate recognition, loose coupling, mail merge, national security letter, old-boy network, packet switching, peer-to-peer, Post-materialism, post-materialism, pre–internet, price discrimination, profit maximization, Ralph Nader, RFC: Request For Comment, RFID, Richard Stallman, Richard Thaler, risk tolerance, Robert Bork, Robert X Cringely, SETI@home, Silicon Valley, Skype, slashdot, software patent, Steve Ballmer, Steve Jobs, Ted Nelson, Telecommunications Act of 1996, The Nature of the Firm, The Wisdom of Crowds, web application, wikimedia commons, zero-sum game

See Fredrik Wacka, Why Blogs Rank High in Search Engines, WEB PRO NEWS, Jan. 4, 2005, http://www.webpronews.com/insiderreports/2005/01/04/why-blogs-rank-high-in-search-engines (explaining that blog entries rank high because they are filled frequently with relevant keywords, cut straight to the point, use entry titles as page titles, are coded well, and usually stick to one topic per post). 81. See Lost Camera, http://lostcamera.blogspot.com. 82. See Peter Meyers, Fact-Driven? Collegial? Then This Site Wants You, NY. TIMES, Sept. 20, 2001, at G2. 83. See Ward Cunningham, Wiki Design Principles http://www.c2.com/cgi/wikiiWiki DesignPrinciples (as of Mar. 26, 2007, 12:00 GMT) (explaining that his goals for the first release of Wiki included designing an “organic” system in which “[t]he structure and text content of the site are open to editing and evolution,” in which “[t]he mechanisms of editing and organizing are the same as those of writing so that any writer is automatically an editor and organizer,” and in which “[a]ctivity within the site can be watched and reviewed by any other visitor to the site”).


pages: 476 words: 132,042

What Technology Wants by Kevin Kelly

Amazon: amazon.comamazon.co.ukamazon.deamazon.fr

Albert Einstein, Alfred Russel Wallace, Buckminster Fuller, c2.com, carbon-based life, Cass Sunstein, charter city, Clayton Christensen, cloud computing, computer vision, Danny Hillis, dematerialisation, demographic transition, double entry bookkeeping, Douglas Engelbart, en.wikipedia.org, Exxon Valdez, George Gilder, gravity well, hive mind, Howard Rheingold, interchangeable parts, invention of air conditioning, invention of writing, Isaac Newton, Jaron Lanier, John Conway, John Markoff, John von Neumann, Kevin Kelly, knowledge economy, Lao Tzu, life extension, Louis Daguerre, Marshall McLuhan, megacity, meta analysis, meta-analysis, new economy, off grid, out of africa, performance metric, personalized medicine, phenotype, Picturephone, planetary scale, RAND corporation, random walk, Ray Kurzweil, recommendation engine, refrigerator car, Richard Florida, Rubik’s Cube, Silicon Valley, silicon-based life, Skype, speech recognition, Stephen Hawking, Steve Jobs, Stewart Brand, Ted Kaczynski, the built environment, the scientific method, Thomas Malthus, Vernor Vinge, wealth creators, Whole Earth Catalog, Y2K

., p. 266. 310 brain/arm combo: (1998) “‘Quick-Thinking’ Robot Arm Helps MIT Researchers Catch on to Brain Function.” MITnews. http://web.mit.edu/newsoffice/1998/wam.html. 311 on this planet are parasitic: Peter W. Price. (1977) “General Concepts on the Evolutionary Biology of Parasites.” Evolution, 31 (2). http://www.jstor.org.libaccess.sjlibrary.org/stable/2407761. 314 collaboratively write and edit material: Ward Cunningham. “Publicly Available Wiki Software Sorted by Name.” http://c2.com/cgi/wiki?WikiEngines. 314 by YouTube each month in the United States alone: comScore. (2009) “YouTube Surpasses 100 Million U.S. Viewers for the First Time.” ComScore. http://www.comscore.com/Press_Events/Press_Releases/2009/3/YouTube_Surpasses_100_Million_US_Viewers. 314 stories deposited on fan-fiction sites: M. E. Curtin. (2007) In discussion with the author’s researcher. See M. E. Curtin’s Alternate Universes for her earlier stats: http://www.alternateuniverses.com/ffnstats.html. 315 with categories, labels, and keywords: Heather Champ. (2008) “3 Billion!”


pages: 310 words: 34,482

Makers at Work: Folks Reinventing the World One Object or Idea at a Time by Steven Osborn

Amazon: amazon.comamazon.co.ukamazon.deamazon.fr

3D printing, A Pattern Language, additive manufacturing, air freight, Airbnb, augmented reality, autonomous vehicles, barriers to entry, Baxter: Rethink Robotics, c2.com, Computer Numeric Control, computer vision, crowdsourcing, Douglas Engelbart, dumpster diving, en.wikipedia.org, Firefox, future of work, Google Chrome, Google Glasses, Google Hangouts, Hacker Ethic, Internet of things, Iridium satellite, Khan Academy, Kickstarter, Mason jar, means of production, Minecraft, minimum viable product, Network effects, Oculus Rift, patent troll, popular electronics, QR code, Rodney Brooks, Shenzhen was a fishing village, side project, Silicon Valley, Skype, slashdot, social software, software as a service, special economic zone, speech recognition, subscription business, telerobotics, urban planning, web application, Y Combinator

I looked at the site quite a bit last week and got some good ideas for things that I want to try out and play with. Mota: That’s great. That’s what I feel a lot when I go to other materials web sites. To me materials are way cooler than kits, because a kit you can only assemble in one or two ways, but in general materials are just inspiring. All right, thank you very much. Osborn: Thank you for your time. Mota: It was nice talking to you. CHAPTER 14 Ward Cunningham Inventor Wiki Ward Cunningham (http://c2.com/~ward/) has made many contributions to software programming and the Internet. Ward laid groundwork that established design patterns1 and extreme programming2 as common practices in computer software design. His work on design patterns led to his invention of the Wiki, which has changed the way information is collected and shared around the world on the Internet. Ward holds a master’s degree in electrical engineering from Purdue University.


pages: 508 words: 120,339

Working Effectively With Legacy Code by Michael Feathers

Amazon: amazon.comamazon.co.ukamazon.deamazon.fr

c2.com, computer age, index card, Mars Rover, Silicon Valley, web application

One of the very powerful things about FIT is its capability to foster communication between people who write software and people who need to specify what it should do. The people who specify can write documents and embed actual tests within them. The tests will run, but they won’t pass. Later developers can add in the features, and the tests will pass. Both users and developers can have a common and up-to-date view of the capabilities of the system. There is far more to FIT than I can describe here. There is more information about FIT at http://fit.c2.com. Fitnesse Fitnesse is essentially FIT hosted in a wiki. Most of it was developed by Robert Martin and Micah Martin. I worked on a little bit of it, but I dropped out to concentrate on this book. I’m looking forward to getting back to work on it soon. Fitnesse supports hierarchical web pages that define FIT tests. Pages of test tables can be run individually or in suites, and a multitude of different options make collaboration easy across a team.

The Singularity Is Near: When Humans Transcend Biology by Ray Kurzweil

Amazon: amazon.comamazon.co.ukamazon.deamazon.fr

additive manufacturing, AI winter, Alan Turing: On Computable Numbers, with an Application to the Entscheidungsproblem, Albert Einstein, anthropic principle, Any sufficiently advanced technology is indistinguishable from magic, artificial general intelligence, Asilomar, augmented reality, autonomous vehicles, Benoit Mandelbrot, Bill Joy: nanobots, bioinformatics, brain emulation, Brewster Kahle, Brownian motion, business intelligence, c2.com, call centre, carbon-based life, cellular automata, Claude Shannon: information theory, complexity theory, conceptual framework, Conway's Game of Life, cosmological constant, cosmological principle, cuban missile crisis, data acquisition, Dava Sobel, David Brooks, Dean Kamen, disintermediation, double helix, Douglas Hofstadter, en.wikipedia.org, epigenetics, factory automation, friendly AI, George Gilder, Gödel, Escher, Bach, informal economy, information retrieval, invention of the telephone, invention of the telescope, invention of writing, Isaac Newton, iterative process, Jaron Lanier, Jeff Bezos, job automation, job satisfaction, John von Neumann, Kevin Kelly, Law of Accelerating Returns, life extension, lifelogging, linked data, Loebner Prize, Louis Pasteur, mandelbrot fractal, Mikhail Gorbachev, mouse model, Murray Gell-Mann, mutually assured destruction, natural language processing, Network effects, new economy, Norbert Wiener, oil shale / tar sands, optical character recognition, pattern recognition, phenotype, premature optimization, randomized controlled trial, Ray Kurzweil, remote working, reversible computing, Richard Feynman, Richard Feynman, Robert Metcalfe, Rodney Brooks, Search for Extraterrestrial Intelligence, selection bias, semantic web, Silicon Valley, Singularitarianism, speech recognition, statistical model, stem cell, Stephen Hawking, Stewart Brand, strong AI, superintelligent machines, technological singularity, Ted Kaczynski, telepresence, The Coming Technological Singularity, Thomas Bayes, transaction costs, Turing machine, Turing test, Vernor Vinge, Y2K, Yogi Berra

Duane Rettig wrote: "... companies rode the great AI wave in the early 80's, when large corporations poured billions of dollars into the AI hype that promised thinking machines in 10 years. When the promises turned out to be harder than originally thought, the AI wave crashed, and Lisp crashed with it because of its association with AI. We refer to it as the AI Winter." Duane Rettig quoted in "AI Winter," http://c2.com/cgi/wiki?AiWinter. 163. The General Problem Solver (GPS) computer program, written in 1957, was able to solve problems through rules that allowed the GPS to divide a problem's goals into subgoals, and then check if obtaining a particular subgoal would bring the GPS closer to solving the overall goal. In the early 1960s Thomas Evan wrote ANALOGY, a "program [that] solves geometric-analogy problems of the form A:B::C:?


Martin Kleppmann-Designing Data-Intensive Applications. The Big Ideas Behind Reliable, Scalable and Maintainable Systems-O’Reilly (2017) by Unknown

active measures, Amazon Web Services, bitcoin, blockchain, business intelligence, business process, c2.com, cloud computing, collaborative editing, commoditize, conceptual framework, cryptocurrency, database schema, DevOps, distributed ledger, Donald Knuth, Edward Snowden, ethereum blockchain, fault tolerance, finite state, Flash crash, full text search, general-purpose programming language, informal economy, information retrieval, Internet of things, iterative process, John von Neumann, loose coupling, Marc Andreessen, natural language processing, Network effects, packet switching, peer-to-peer, performance metric, place-making, premature optimization, recommendation engine, Richard Feynman, Richard Feynman, self-driving car, semantic web, Shoshana Zuboff, social graph, social web, software as a service, software is eating the world, sorting algorithm, source of truth, SPARQL, speech recognition, statistical model, web application, WebSocket, wikimedia commons

References [1] “Java Object Serialization Specification,” docs.oracle.com, 2010. [2] “Ruby 2.2.0 API Documentation,” ruby-doc.org, Dec 2014. [3] “The Python 3.4.3 Standard Library Reference Manual,” docs.python.org, Febru‐ ary 2015. [4] “EsotericSoftware/kryo,” github.com, October 2014. [5] “CWE-502: Deserialization of Untrusted Data,” Common Weakness Enumera‐ tion, cwe.mitre.org, July 30, 2014. [6] Steve Breen: “What Do WebLogic, WebSphere, JBoss, Jenkins, OpenNMS, and Your Application Have in Common? This Vulnerability,” foxglovesecurity.com, November 6, 2015. [7] Patrick McKenzie: “What the Rails Security Issue Means for Your Startup,” kalzu‐ meus.com, January 31, 2013. [8] Eishay Smith: “jvm-serializers wiki,” github.com, November 2014. 140 | Chapter 4: Encoding and Evolution [9] “XML Is a Poor Copy of S-Expressions,” c2.com wiki. [10] Matt Harris: “Snowflake: An Update and Some Very Important Information,” email to Twitter Development Talk mailing list, October 19, 2010. [11] Shudi (Sandy) Gao, C. M. Sperberg-McQueen, and Henry S. Thompson: “XML Schema 1.1,” W3C Recommendation, May 2001. [12] Francis Galiegue, Kris Zyp, and Gary Court: “JSON Schema,” IETF InternetDraft, February 2013. [13] Yakov Shafranovich: “RFC 4180: Common Format and MIME Type for Comma-Separated Values (CSV) Files,” October 2005. [14] “MessagePack Specification,” msgpack.org. [15] Mark Slee, Aditya Agarwal, and Marc Kwiatkowski: “Thrift: Scalable CrossLanguage Services Implementation,” Facebook technical report, April 2007. [16] “Protocol Buffers Developer Guide,” Google, Inc., developers.google.com. [17] Igor Anishchenko: “Thrift vs Protocol Buffers vs Avro - Biased Comparison,” slideshare.net, September 17, 2012. [18] “A Matrix of the Features Each Individual Language Library Supports,” wiki.apache.org. [19] Martin Kleppmann: “Schema Evolution in Avro, Protocol Buffers and Thrift,” martin.kleppmann.com, December 5, 2012. [20] “Apache Avro 1.7.7 Documentation,” avro.apache.org, July 2014. [21] Doug Cutting, Chad Walters, Jim Kellerman, et al.: “[PROPOSAL] New Subpro‐ ject: Avro,” email thread on hadoop-general mailing list, mail-archives.apache.org, April 2009. [22] Tony Hoare: “Null References: The Billion Dollar Mistake,” at QCon London, March 2009. [23] Aditya Auradkar and Tom Quiggle: “Introducing Espresso—LinkedIn’s Hot New Distributed Document Store,” engineering.linkedin.com, January 21, 2015. [24] Jay Kreps: “Putting Apache Kafka to Use: A Practical Guide to Building a Stream Data Platform (Part 2),” blog.confluent.io, February 25, 2015. [25] Gwen Shapira: “The Problem of Managing Schemas,” radar.oreilly.com, Novem‐ ber 4, 2014. [26] “Apache Pig 0.14.0 Documentation,” pig.apache.org, November 2014. [27] John Larmouth: ASN.1 Complete.


pages: 1,076 words: 67,364

Haskell Programming from first principles by Christopher Allen, Julie Moronuki

Amazon: amazon.comamazon.co.ukamazon.deamazon.fr

c2.com, en.wikipedia.org, natural language processing, spaced repetition, Turing complete, Turing machine, type inference, web application, Y Combinator

A typical fizzbuzz solution in Haskell looks something like: fizzBuzz :: Integer -> String fizzBuzz n | n `mod` 15 == 0 = | n `mod` 5 == 0 = | n `mod` 3 == 0 = | otherwise = "FizzBuzz" "Fizz" "Buzz" show n main :: IO () main = mapM_ (putStrLn . fizzBuzz) [1..100] You will craft a fizzbuzz that makes gouts of blood come out of your interviewer’s eye sockets using State. This is a suitable punishment for asking a software candidate to write this in person after presumably getting through a couple phone screens. 4 http://c2.com/cgi/wiki?FizzBuzzTest CHAPTER 23. STATE 835 import Control.Monad import Control.Monad.Trans.State fizzBuzz :: Integer -> String fizzBuzz n | n `mod` 15 == 0 = | n `mod` 5 == 0 = | n `mod` 3 == 0 = | otherwise = "FizzBuzz" "Fizz" "Buzz" show n fizzbuzzList :: [Integer] -> [String] fizzbuzzList list = execState (mapM_ addResult list) [] addResult :: Integer -> State [String] () addResult n = do xs <- get let result = fizzBuzz n put (result : xs) main :: IO () main = mapM_ putStrLn $ reverse $ fizzbuzzList [1..100] The good part here is that we’re collecting data initially before dumping the results to standard output via putStrLn.