Chris Wanstrath

8 results back to index

pages: 408 words: 63,990

Build Awesome Command-Line Applications in Ruby: Control Your Computer, Simplify Your Life by David B. Copeland

Chris Wanstrath, database schema,, full stack developer, Ruby on Rails, web application

They include Paul Barry, Daniel Bretoi, Trevor Burnham, Ian Dees, Avdi Grimm, Wynn Netherland, Staffan Nöteberg, Noel Rappin, Eric Sendlebach, Christopher Sexton, and Matt Wynne. Finally, I’d like to thank the many programmers who’ve contributed to the open source projects I mention in the book, including, but probably not limited to, the following: Aslak Hellesøy, TJ Holowaychuk, Ara Howard, Yehuda Katz, James Mead, William Morgan, Ryan Tomayko, Chris Wanstrath, and, of course Yukihiro “Matz” Matsumoto, who created such a wonderful language in which to write command-line apps. With all that being said, let’s get down to business and start making our command-line apps a lot more awesome! Footnotes [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] Copyright © 2012, The Pragmatic Bookshelf.

However, although you could bundle a man page with your Ruby command-line app, man wouldn’t be able to access it easily because of the way RubyGems installs apps (we’ll talk more about RubyGems in Chapter 7, ​Distribute Painlessly​). Even if man could access your app’s files, creating a man page is no small feat; it requires using the nroff[20] format, which is cumbersome to use for writing documentation. Fortunately, the Ruby ecosystem of open source libraries has us covered. gem-man,[21] a plug-in to RubyGems created by GitHub’s Chris Wanstrath, allows users to access man pages bundled inside a gem via the gem man command. ronn [22] is a Ruby app that allows us to create man pages in plain text, without having to learn nroff. We can use these two tools together to create a manual page that we can easily distribute with our app and that will be easily accessible to our users. Once we’ve installed these tools, created our man page, and distributed our app to users, they’ll be able to read whatever detailed documentation we’ve provided like so: ​$ gem man db_backup​ ​DB_BACKUP.RB(1) DB_BACKUP.RB(1)​ ​​ ​NAME​ ​ db_backup.rb - backup one or more MySQL databases​ ​​ ​SYNOPSIS​ ​ db_backup.rb database_name​ ​ db_backup.rb -u username -p password database_name​ ​ db_backup.rb -i|--iteration database_name​ ​etc....​

pages: 282 words: 79,176

Pro Git by Scott Chacon

Chris Wanstrath, continuous integration, creative destruction, Debian, distributed revision control, GnuPG, pull request, revision control

If you want to see what you’ve staged that will go into your next commit, you can use git diff --cached. (In Git versions 1.6.1 and later, you can also use git diff --staged, which may be easier to remember.) This command compares your staged changes to your last commit: $ git diff --cached diff --git a/README b/README new file mode 100644 index 0000000..03902a1 --- /dev/null +++ b/README2 @@ -0,0 +1,5 @@ +grit + by Tom Preston-Werner, Chris Wanstrath + + +Grit is a Ruby library for extracting information from a Git repository It’s important to note that git diff by itself doesn’t show all changes made since your last commit — only changes that are still unstaged. This can be confusing, because if you’ve staged all of your changes, git diff will give you no output. For another example, if you stage the benchmarks.rb file and then edit it, you can use git diff to see the changes in the file that are staged and the changes that are unstaged: $ git add benchmarks.rb $ echo '# test line' >> benchmarks.rb $ git status # On branch master # # Changes to be committed: # # modified: benchmarks.rb # # Changed but not updated: # # modified: benchmarks.rb # Now you can use git diff to see what is still unstaged $ git diff diff --git a/benchmarks.rb b/benchmarks.rb index e445e28..86b2f7c 100644 --- a/benchmarks.rb +++ b/benchmarks.rb @@ -127,3 +127,4 @@ end main() ##pp Grit::GitRuby.cache_client.stats +# test line and git diff --cached to see what you’ve staged so far: $ git diff --cached diff --git a/benchmarks.rb b/benchmarks.rb index 3cb747f..e445e28 100644 --- a/benchmarks.rb +++ b/benchmarks.rb @@ -36,6 +36,10 @@ def main @commit.parents[0].parents[0].parents[0] end + run_code(x, 'commits 1') do + git.commits.size + end + run_code(x, 'commits 2') do log = git.commits('master', 15) log.size Committing Your Changes Now that your staging area is set up the way you want it, you can commit your changes.

A nice way of quickly getting a sort of changelog of what has been added to your project since your last release or e-mail is to use the git shortlog command. It summarizes all the commits in the range you give it; for example, the following gives you a summary of all the commits since your last release, if your last release was named v1.0.1: $ git shortlog --no-merges master --not v1.0.1 Chris Wanstrath (8): Add support for annotated tags to Grit::Tag Add packed-refs annotated tag support. Add Grit::Commit#to_patch Update version and History.txt Remove stray `puts` Make ls_tree ignore nils Tom Preston-Werner (4): fix dates in history dynamic version method Version bump to 1.0.2 Regenerated gemspec for version 1.0.2 You get a clean summary of all the commits since v1.0.1, grouped by author, that you can e-mail to your list.

pages: 602 words: 177,874

Thank You for Being Late: An Optimist's Guide to Thriving in the Age of Accelerations by Thomas L. Friedman

3D printing, additive manufacturing, affirmative action, Airbnb, AltaVista, Amazon Web Services, autonomous vehicles, Ayatollah Khomeini, barriers to entry, Berlin Wall, Bernie Sanders, bitcoin, blockchain, Bob Noyce, business cycle, business process, call centre, centre right, Chris Wanstrath, Clayton Christensen, clean water, cloud computing, corporate social responsibility, creative destruction, crowdsourcing, David Brooks, demand response, demographic dividend, demographic transition, Deng Xiaoping, Donald Trump, Erik Brynjolfsson, failed state, Fall of the Berlin Wall, Ferguson, Missouri, first square of the chessboard / second half of the chessboard, Flash crash, game design, gig economy, global pandemic, global supply chain, illegal immigration, immigration reform, income inequality, indoor plumbing, intangible asset, Intergovernmental Panel on Climate Change (IPCC), Internet of things, invention of the steam engine, inventory management, Irwin Jacobs: Qualcomm, Jeff Bezos, job automation, John Markoff, John von Neumann, Khan Academy, Kickstarter, knowledge economy, knowledge worker, land tenure, linear programming, Live Aid, low skilled workers, Lyft, Marc Andreessen, Mark Zuckerberg, mass immigration, Maui Hawaii, Menlo Park, Mikhail Gorbachev, mutually assured destruction, Nelson Mandela, pattern recognition, planetary scale, pull request, Ralph Waldo Emerson, ransomware, Ray Kurzweil, Richard Florida, ride hailing / ride sharing, Robert Gordon, Ronald Reagan, Second Machine Age, self-driving car, shareholder value, sharing economy, Silicon Valley, Skype, smart cities, South China Sea, Steve Jobs, supercomputer in your pocket, TaskRabbit, The Rise and Fall of American Growth, Thomas L Friedman, transaction costs, Transnistria, uber lyft, undersea cable, urban decay, urban planning, Watson beat the top human players on Jeopardy!, WikiLeaks, women in the workforce, Y2K, Yogi Berra, zero-sum game

You end up with a virtuous cycle for the rapid learning and improving of software programs that drives innovation faster and faster. Originally founded by three grade-A geeks—Tom Preston-Werner, Chris Wanstrath, and P. J. Hyett—GitHub is now the world’s largest code host. Since I could not visit any major company today without finding programmers using the GitHub platform to collaborate, I decided I had to visit the source of so much source code at its San Francisco headquarters. By coincidence, I had just interviewed President Barack Obama in the Oval Office about Iran a week earlier. I say that only because the visitor lobby at GitHub is an exact replica of the Oval Office, right down to the carpet! They like to make their guests feel special. My host, GitHub’s CEO, Chris Wanstrath, began by telling me how the “Git” got into GitHub. Git, he explained, is a “distributed version control system” that was invented in 2005 by Linus Torvalds, one of the great and somewhat unsung innovators of our time.

At General Electric, a big thanks to William Ruh and Megan Parker both for the ideas they shared and for all the GE engineers to whom they introduced me. At Walmart, Doug McMillon, Neil Ashe, Dan Toporek, and their colleagues showed me in exacting detail every digital interaction that happened behind the scenes when I tried to buy a television from Walmart’s mobile app. They also introduced me to the best ribs in Arkansas. I am deeply indebted to Doug Cutting from Hadoop and Chris Wanstrath from GitHub for patiently walking me through the evolution of both of their companies and ensuring that I got every fact right. It took multiple visits and follow-ups with both for me to fully understand what they had each helped to create, and I am extremely grateful for their tutoring. Qualcomm’s cofounder Irwin Jacobs did the same on my two visits to his campus. He, his son Paul, and their whole team were enormously generous with their time.

pages: 292 words: 85,151

Exponential Organizations: Why New Organizations Are Ten Times Better, Faster, and Cheaper Than Yours (And What to Do About It) by Salim Ismail, Yuri van Geest

23andMe, 3D printing, Airbnb, Amazon Mechanical Turk, Amazon Web Services, augmented reality, autonomous vehicles, Baxter: Rethink Robotics, Ben Horowitz, bioinformatics, bitcoin, Black Swan, blockchain, Burning Man, business intelligence, business process, call centre, chief data officer, Chris Wanstrath, Clayton Christensen, clean water, cloud computing, cognitive bias, collaborative consumption, collaborative economy, commoditize, corporate social responsibility, cross-subsidies, crowdsourcing, cryptocurrency, dark matter, Dean Kamen, dematerialisation, discounted cash flows, disruptive innovation, distributed ledger, Edward Snowden, Elon Musk,, Ethereum, ethereum blockchain, game design, Google Glasses, Google Hangouts, Google X / Alphabet X, gravity well, hiring and firing, Hyperloop, industrial robot, Innovator's Dilemma, intangible asset, Internet of things, Iridium satellite, Isaac Newton, Jeff Bezos, Joi Ito, Kevin Kelly, Kickstarter, knowledge worker, Kodak vs Instagram, Law of Accelerating Returns, Lean Startup, life extension, lifelogging, loose coupling, loss aversion, low earth orbit, Lyft, Marc Andreessen, Mark Zuckerberg, market design, means of production, minimum viable product, natural language processing, Netflix Prize, NetJets, Network effects, new economy, Oculus Rift, offshore financial centre, PageRank, pattern recognition, Paul Graham, paypal mafia, peer-to-peer, peer-to-peer model, Peter H. Diamandis: Planetary Resources, Peter Thiel, prediction markets, profit motive, publish or perish, Ray Kurzweil, recommendation engine, RFID, ride hailing / ride sharing, risk tolerance, Ronald Coase, Second Machine Age, self-driving car, sharing economy, Silicon Valley, skunkworks, Skype, smart contracts, Snapchat, social software, software is eating the world, speech recognition, stealth mode startup, Stephen Hawking, Steve Jobs, subscription business, supply-chain management, TaskRabbit, telepresence, telepresence robot, Tony Hsieh, transaction costs, Travis Kalanick, Tyler Cowen: Great Stagnation, uber lyft, urban planning, WikiLeaks, winner-take-all economy, X Prize, Y Combinator, zero-sum game

Yet when interviewers asked the same question of those companies’ systems administrators, 95 percent answered yes, an outcome that led IBM to make a major strategic shift into open source. Celebrated—even recognized—or not, open source software runs the Internet (and thus the world) today. After that extraordinary initial success, the open source movement settled into a stable, stratified environment over much the last decade, with the community producing little in the way of new innovation. Everything changed in 2008, however, when Chris Wanstrath, P.J. Hyett and Tom Preston-Werner (all out of Paul Graham’s Y Combinator entrepreneurial incubator program) founded a company called GitHub. An open source coding and collaboration tool and platform, GitHub has utterly transformed the open source environment. It is a social network for programmers in which people and their collaborations are central, rather than just the code itself. When a developer submits code to a GitHub project, that code is reviewed and commented upon by other developers, who also rate that developer.

pages: 239 words: 80,319

Lurking: How a Person Became a User by Joanne McNeil

4chan, A Declaration of the Independence of Cyberspace, Ada Lovelace, Airbnb, AltaVista, Amazon Mechanical Turk, Burning Man, Chelsea Manning, Chris Wanstrath, citation needed, cloud computing, crowdsourcing, delayed gratification, dematerialisation, don't be evil, Donald Trump, drone strike, Edward Snowden, Elon Musk, feminist movement, Firefox, Google Earth, Google Glasses, Google Hangouts, helicopter parent, Internet Archive, invention of the telephone, Jeff Bezos, jimmy wales, l'esprit de l'escalier, Marc Andreessen, Mark Zuckerberg, Marshall McLuhan, means of production, Menlo Park, moral panic, move fast and break things, move fast and break things, Network effects, packet switching, PageRank, pre–internet, profit motive, QAnon, recommendation engine, Saturday Night Live, Shoshana Zuboff, Silicon Valley, slashdot, Snapchat, social graph, Stephen Hawking, Steve Jobs, Steven Levy, Stewart Brand, technoutopianism, Ted Nelson, Tim Cook: Apple, trade route, Turing complete, We are the 99%, web application, white flight, Whole Earth Catalog

The first issue of Model View Culture, which was published in January 2014, is available online. For more context, in 2014, Astra Taylor and I co-wrote an essay for The Baffler on sexism and Silicon Valley, “The Dads of Tech.” The TechCrunch report “Julie Ann Horvath Describes Sexism and Intimidation Behind Her GitHub Exit” was authored by Alex Wilhelm and Alexia Tsotsis (March 18, 2014). GitHub hired a third-party investigator to look into Horvath’s allegations. Chris Wanstrath published the findings on the company blog on April 28, 2014 (“Follow up to the investigation results”). The investigator found that “Tom Preston-Werner in his capacity as GitHub’s CEO acted inappropriately, including confrontational conduct, disregard of workplace complaints, insensitivity to the impact of his spouse’s presence in the workplace, and failure to enforce an agreement that his spouse should not work in the office.”

pages: 416 words: 100,130

New Power: How Power Works in Our Hyperconnected World--And How to Make It Work for You by Jeremy Heimans, Henry Timms

"side hustle", 3D printing, 4chan, Affordable Care Act / Obamacare, Airbnb, augmented reality, autonomous vehicles, battle of ideas, Benjamin Mako Hill, bitcoin, blockchain, British Empire, Chris Wanstrath, Columbine, Corn Laws, crowdsourcing, David Attenborough, Donald Trump, Elon Musk, Ferguson, Missouri, future of work, game design, gig economy, hiring and firing, IKEA effect, income inequality, informal economy, job satisfaction, Jony Ive, Kibera, Kickstarter, Lean Startup, Lyft, Mark Zuckerberg, Minecraft, Network effects, new economy, Nicholas Carr, obamacare, Occupy movement, profit motive, race to the bottom, ride hailing / ride sharing, rolodex, Saturday Night Live, sharing economy, Silicon Valley, six sigma, Snapchat, social web, TaskRabbit, the scientific method, transaction costs, Travis Kalanick, Uber and Lyft, uber lyft, upwardly mobile, web application, WikiLeaks

Howard, Rick Ifland, Verity Jones, Ben Keesey, Jess Kutch, Joseph Kvedar, Sheila Lirio Marcelo, Nancy Lublin, Brian Lynch, Benjamin Mako Hill, Natalia Mehlman Petrzela, Michelle Michael, Geoff Mulligan, Nehkara Nikki Newhouse, Rainer Nõlvak, Alex Pentland, John Pinette, Shael Polakow-Suransky, Ai-jen Poo, Katie Radford, Thomas Reese, Jay Rogers, Robin Sather, Nathan Schneider, Michael Silberman, James Slezak, Lara Stein, Courtnie Swearingen, Madelon van Tilburg, Eric Topol, Chris Wanstrath, David Weinberger, Paul Wicks, Rob Wijnberg, David Willey. Most of all, we want to thank the many people we have never met who have already engaged with this thinking, improved it, and used it in their own work to make more people more powerful. * * * — Henry wants to thank: My colleagues and the board of directors at the 92nd Street Y for their support and encouragement throughout the process.

pages: 628 words: 107,927

Node.js in Action by Mike Cantelon, Marc Harter, Tj Holowaychuk, Nathan Rajlich

Amazon Web Services, Chris Wanstrath, create, read, update, delete, Debian,, Firefox, Google Chrome, MITM: man-in-the-middle, MVC pattern, node package manager, p-value, pull request, Ruby on Rails, web application, WebSocket

Using EJS to add templating capabilities to the client side You’ve now learned how to use a fully featured Node template engine, so it’s time to look at the Hogan template engine, which deliberately limits the functionality available to templating code. 11.3. Using the Mustache templating language with Hogan Hogan.js ( is a template engine that was created by Twitter for its templating needs. Hogan is an implementation of the popular Mustache ( template language standard, which was created by GitHub’s Chris Wanstrath. Mustache takes a minimalist approach to templating. Unlike EJS, the Mustache standard deliberately doesn’t include conditional logic, nor any built-in content-filtering capabilities other than escaping content to prevent XSS attacks. Mustache advocates that template code should be kept as simple as possible. In this section you’ll learn How to create and implement Mustache templates in your application The different template tags available in the Mustache standard How to organize your templates using “partials” How to fine-tune Hogan with your own delimiters and other options Let’s look at the alternative approach Hogan provides for templating. 11.3.1.

pages: 549 words: 134,988

Pro Git by Scott Chacon, Ben Straub

Chris Wanstrath, continuous integration, creative destruction, Debian, distributed revision control, GnuPG, pull request, remote working, revision control, web application

A nice way of quickly getting a sort of changelog of what has been added to your project since your last release or e-mail is to use the git shortlog command. It summarizes all the commits in the range you give it; for example, the following gives you a summary of all the commits since your last release, if your last release was named v1.0.1: $ git shortlog --no-merges master --not v1.0.1 Chris Wanstrath (8): Add support for annotated tags to Grit::Tag Add packed-refs annotated tag support. Add Grit::Commit#to_patch Update version and History.txt Remove stray `puts` Make ls_tree ignore nils Tom Preston-Werner (4): fix dates in history dynamic version method Version bump to 1.0.2 Regenerated gemspec for version 1.0.2 You get a clean summary of all the commits since v1.0.1, grouped by author, that you can e-mail to your list.