検索 - みる会図書館

検索対象: The Best Software Writing I. Selected and Introduced by Joel Spolsky

The Best Software Writing I. Selected and Introduced by Joel Spolskyから 296件ヒットしました。

The Best Software Writing I. Selected and Introduced by Joel Spolsky


CLAY SHIRKY 201 There's another way of thinking about tech and social dynamics that's very, very attractive—anybody who 100kS at this stuff has the same epiphany: 。 。 Omigod, the software is determimng what people do! " And that is true, up tO a point. But you cannot completely program social issues either—different mailing lists run on the same SOft 、 but have different cultures; both SIashdot and PIastic.com run on the same software platform, but they have very different cultures t00. You can't separate technological effects from social ones, and you can't specify all SOCial issues ln technology. The group is going tO assert its existence independently Of the software somehow, and you're gomg tO get a mix Of social and technological effects. The group is real. lt will exhibit emergent effects. lt can't be ignored, and it can't be programmed, WhiCh means you have an ongoing 1SSue. And the best pattern, or at least the pattern that's worked the most often, is t0 put into the hands 0f the group itself the responsibility for defining what value is, and defending that value, rather than trying t0 describe everything in the software up front. 2. ) The second thing you have to accept: members are different from users. A pattern will arise in which there is some group Of users that cares 1 れ ore than average about the integrity and success Of the group as a whole. And that becomes your core group, Art Kleiner's phrase for "the group within the group that matters most. The core group on Communitree was undifferentiated from the group Of random users that came in. They were separate in their own minds, because they knew what they wanted t0 d0, but they couldn't defend themselves against the Other users. But in all successful online communities that l've lOOked at, a core group arises that cares about the community as a whole—not Just their part Of it—and that gardens effec- tively and takes care Of the social enuronment by encouragmg good behavior and discouraging bad behavior. NOW, if the software does not always allOW the core group tO express itself, it will invent new ways 0f doing so. On alt. folklore. urban, the Usenet discussion group about urban folklore, a group 0f people hung out together and, over time, got t0 be friends. Enough 0f these AFU reg- ulars were also Silicon Valley dwellers that they decided t0 get together for a real-world barbecue, and tO coordinate that, they set up a separate mailing list, which they called the Old Hats list.

The Best Software Writing I. Selected and Introduced by Joel Spolsky


ABOUT THE AUTHORS X111 Eric Johnson graduated from the University of lllinois with a BS in com- puter science in 1993 and has worked at FactSet Research Systems ever S1nce. Currently he is the director Of market data engineering and lives with his wife and tWO kids in southwestern Connecticut. He can be reached at [email protected]/ Er1C Lippert has been a software developer at Microsoft since 1996. He spent his first five years working on VBScript, JScript, Windows Script HOSt, and Other scripting technologies and more recently has been working on Visual Studi0 T001s For Office. He also writes a blog, 、 Mhere he dispenses advice about scripting, security, and (occasionally) romance.When not writing software or writing about software, EriC can be found playing 01d songs on 01d pianos, trying t0 keep the mast of his tiny sailboat upright, building kites, or talking his friends into helping him fix his 97-year-old house. Michael "Rands" Lopp is a Silicon Valley—based software engineering manager. He's ridden a variety 0f high-tech roller-coasters, including Borland lnternational, Netscape Communications, Apple Computer, and a start-up you've unfortunately never heard Of. ln his spare time, he writes a weblog at WWW. randsinrepose.com/ where he optimistically con- templates the fact that the world continues tO get uncomfortably smaller. Larry Osterman has been working at Microsoft since 1984. ln that time, he's worked as a software engineer deep in the plumbing Of various [email protected] products, including MS-DOS, MS-NET, LAN Manager, Windows NT, Exchange, and eHome, and is currently working in the Windows Multimedia Technologies group. Larry lives just north of Seattle with his wife Valorie and their tWO kids, four cats, and tWO horses. Mary Poppendieck is a seasoned leader in both operations and new prod- uct development with more than 25 years 0f IT experience. She has led teams implementing lean solutions ranging from enterprise supply chain management tO digital media, and built one Of 3 、 1 ' s first just-in-time lean production systems. Mary is currently the president 0f Poppendieck LLC in Minnesota. Her book L 〃 SO 〃 曜 4 D ビ 怩 あ 々 川 た An Agile 肪 0 which brings lean principles t0 software development, won the S0ftware Development Productivity Award in 2004.

The Best Software Writing I. Selected and Introduced by Joel Spolsky


208 THE BEST SOFTWARE WRITING I Some pieces 0f social software, like IRC channels and mailing lists, are self-moderating with scale, because as the signal-to-nolse ratio gets worse, people start tO drop Off, until it gets better, SO people jOin, and so it gets worse. You get these sorts Of oscillating patterns, but the overall system is self-correcting. And then my favorite pattern is from MetaFiIter, which is: when we start seeing effects Of scale, we shut Off the new user page. 、 。 Someone mentions us in the press and hOW great we are? 'Bye! ' ' That's a way of raising the bar; that's creating a threshold Of participation. And anyone who bookmarks that page and says, "You know, I really want to be in there; maybe l'll go back later," that's the kind of user MeFi wants to have. You have tO find some way t0 protect your 0 、 users from scale. This doesn't mean the scale of the whole system can't grow. But you can't try tO make the system large by taking individual conversations and blowing them up like a balloon; human interaction, many-to-many interaction, doesn't blOW up like a balloon. lt either dissipates, or turns into broadcast, or collapses. So plan for dealing with scale in advance, because it's going to happen anyway. Conclusion NOW, those four things are of course necessary but not sufficient condi- tions. I propose them more as a platform for building the interesting differences 0 圧 There arelots and lots and lots of other effects that make different bits Of software interesting enough that you would want to keep more than one kind Of pattern around. But those are commonali- ties l'm seeing across a range Of SOCial software for large and long-lived groups ・ ln addition, you can do all sorts of things with explicit clustering, whether it's guilds in massively multiplayer games, or communities on LiveJournal or what have you. You can do things with conversational artifacts, where the group participation leaves behind some record. Right now, the ・ Wikipedia is the most interestlng conversational artifact

The Best Software Writing I. Selected and Introduced by Joel Spolsky


130 THE BEST SOFTWARE ・ WRITING I many computer SCIence graduates. lt was Just respectable enough tO be taught at the collegiate level, and fast enough to be usable for that degrading domain 0f problems known as "the real world. ' The only real competition that C had faced was from such powerful threats as Pascal, Basic, FORTRAN, and Cobol. Pascal briefly flirted with fame but flamed out. Basic won its market share, but could never shake the stink Of its backwater roots, undeserved as it may be. With that, we were le 丘 with the only two real contenders. FORTRAN was for the slide ruler crowd and C0b01 was, well, it was C0b01. C found the then-perfect balance between respectable programnung language and reasonable business tOOl. From there, it tOOk over the development scene. NOW, Of course l'm aware that there are many other languages out there. There was Ada, but it had all the sex appeal of an 800-page requirements document from the U. S. Department Of Defense. The rest of the plausible contenders—Modula, CLU, Smalltalk, Prolog—couldn't find their tippmg point because they overlooked the needs of their core audience: the undergrad student. The language couldn't have fit into their dorm-room PCS let alone their brains. Across the industry, nothing was as entrenched as FORTRAN C0b01 , and Basic over such a large swath of development arenas. ln any given system that used these classic programming languages, one could achieve a semi-plausible détente between most Of them. lnteroperability between any Of them was never perfect, but it was cer- tainly doable. Depending on your operating system, FORTRAN could call into C0b01 or even Basic into FORTRAN. Link-Ievel compatibility was possible. The power of this détente did more than mitigate the debates among the communities. lt meant that the high-priced business consultants writing in C0b01 had half a chance at repurposing a statistical package wrltten in FORTRAN. Never pretty, but most real-world integration efforts rarely are. If anything, the groups got to leverage each other through the level playing field that was the linker in most environments. Let's not forget that the Mac had an early academic love affair with the Pascal community that resulted in its pascal calling convention and predilection toward Pascal strings. Fortunately, the Mac was cured Of that silliness. Despite the awkward nature, C and FORTRAN still inter- operated with the Mac.

The Best Software Writing I. Selected and Introduced by Joel Spolsky


CLAY SHIRKY 187 predates the lnternet, SO the first part is going tO be about ・ W. R. Bion's research, which I will talk about in a moment, research that I believe helps explain how and why a group is its own worst enemy. The second part is: why now? What's going on now that makes this worth thinking about? I think we're seeing a revolution in social soft- ware in the current envlronment that's really interesting. And third, I want to identify some things, about half a dozen things, in fact, that I think are core to any software that supports large, long- lived groups. PartOne: How a Group lts Own Worst Enemy? So, Part One. The best explanation I have found for the ways in which this pattern establishes itself, the group is its own worst enemy, comes from a book by W. R. Bion called Ex 々 〃 じ お Gro 〃 々 5 , wrltten in the middle of the last century. Bion was a psychologist who was doing group therapy with groups of neurotics. (Drawing parallels between that and the lnternet is left as an exercise for the reader. ) And while he was trying tO treat these patients, he realized that they were, as a group, conspiring to defeat therapy. There was no overt communlcatlon or coordination. But he could see that whenever he would try tO dO anything that was meant to have an effect, the group would somehow quash it. And he was driving himself crazy, in the colloquial sense Of the term, trying tO figure out whether or not he should be looking at the situation as "Are these individuals tak- lng action on their own, or iS this a coordinated group?" He could never resolve the question, and so he decided that the unre- solvability Of the question was the answer. TO the questlon "DO groups 0f people behave as aggregations of individuals or as a cohesive group? " Bion's answer was that human groups are "hopelessly committed to both, " which is to say hopelessly committed to individual identity 4 〃 d to group membership. He said that humans are fundamentally individual, and also funda- mentally social. Every one of us has a kind of rational decision-making

The Best Software Writing I. Selected and Introduced by Joel Spolsky


164 THE BEST SOFTWARE WRITING I tO the management team. Shortly after the meeting started, Janice asked Sue how she would rank her team members. Sue took a deep breath, got a smile 0f encouragement from Wayne, and explained how the whole idea of ranking made no sense for a team effort, especially in an Agile environment. She explained how she had asked for advice from the team and ended up with an angry and susplcious team. "You should never have talked to the team about this, " said Janice. 。 。 Ho 旧 on a minute," Wayne jumped in. "I thought our goal in this company IS tO be fair. { 0 Ⅵ , can 、 keep our evaluation POlicies secret and expect people tO consider them fair? lt doesn't matter if we think they are fair; it matters if employees think they are fair. If we think we can keep what we are dOing a secret, we're kidding ourselves. ・ We need tO be transparent about how we operate; we can't make decisions behind closed doors and then try to tell people, 'Don't worry, we're being fair. ' " Sue was amazed at hOW fast the nature 0f the discussron changed after Wayne jumped to her defense. ApparentIy, she wasn't the only one who thought this ranking business was a bad idea. Everyone agreed that Sue's team had done an excellent job, and the new product was key to their business. No one had thought that it could be done, and indeed the team as a WhOle had far exceeded everyone's expectations. lt became ap- parent that there wasn't a person in the room who was willing to sort out whO had contributed more or less to the effort, so sue's top evalua- tion for every team member was accepted. 、 åore important, the group was concerned that a de-motivated team was a senous れ . Eventually, the vice president agreed to go to the next meeting of the team and discuss the company's evaluation policies. sue was sure that this would go a long way tO revitalize the team spirit. NOW the management team members had a problem of their own. They knew that they had to live within a merit pay system, but they sus- pected they needed to rethink the way it was implemented. Since changes like that don't happen overnight, they formed a committee to 100k intO var10us evaluation and pay systems. The committee started by agreeing that evaluation systems should not be used to surprise employees with unexpected feedback about their performance. Performance feedback 100PS must be far shorter than annual, or even quarterly, evaluation cycles. Appraisals are good times

The Best Software Writing I. Selected and Introduced by Joel Spolsky


DANAH BOYD 37 disorder was about. Even . N ど ル S ル ビ e た titled one Of its articles on MPD "Unmasking Sybil: A re-examinatlon 0f the most famous psychiatric patient in history. Discussions 0f human psychology, mental disorders, and multiple personality also appeared in studies 0f the lnternet. B0th Sandy Stone and Sherry Turkle, tWO famous sociable media researchers, considered the potentials brought on by digital interactions in terms 0f multiple per- sonality. They saw the opportunity for "parallel lives" and "multiple selves ' ' as empowering, freeing the subject from the restraints Of the physical body in everyday life. Sociable technologies not only supported but encouraged pseudony- mous participation; even tOday, we talk about lt as a protective t001 against privacy invaslon. people were encouraged tO fragment their identity int0 different pseudonyms so that they could properly contextu- alize their online participation. They were encouraged tO develop multiple selves. Guess what? people aren't that fragmented. While they may lead faceted lives, their control over what informatlon tO present when is very nuanced and cannot simply be partitioned intO multiple identities. Unfortunately, though, our earliest ideas about multiple personality have pervaded not only the discourse around but alSO the actual tech- nologies Of sociable media. Whenever I raise concerns about privacy or vulnerability, l'm 0ften t01d that people should just create separate identitles. Think about how aslnine that is. Why on earth should we encourage people t0 perform a mental disorder in the digital world? We d0 so because we've built technology that does not take intO consideration the subtle nuances 0f the identity faceting with which people are already accustomed. AS geeks, we were trained tO separate policy and mecha- nism through systems courses. ・ / e rely on people tO figure out the policies, not realizing that we've framed what is possible through our technology. As we know, the lnternet did not live up t0 the fantasy of a world where social identity no longer mattered. ln a project called "The Turing Game, ' ' 2 Amy Bruckman showed that people performed their everyday 2. See http://www ・ cc ・ gatech.edu/elc/turing/.

The Best Software Writing I. Selected and Introduced by Joel Spolsky


CORY DOCTORO ′ 55 anada is strongly considering ratifying the 1996 WIPO "lnternet Treaties. ” These are the treaties that caused the United States to implement the loathsome Digital Millennium Copyright Act (DMCA), and they've wrought untold damage around the world. What will this mean for Canada ?Well, for starters, the G / 0 わ ビ の Ma 〃 notes that a notice-and-takedown reglme IS lnevitable: ln what iS bound tO be a controversial element, the committee recommended that lnternet service providers (ISPs) must be held liable for copyrighted material that goes through their systems. To be exempt from that liability, the lSPs must show they are acting as true 。 、 intermediaries," without actual or constructive knowledge Of the content. ISPs should be required to comply with a 、 、 notice and takedown" system against subscribers whO violate copyright laws. Boing Boing's mcomparable sysadmin, Ken Snider, a Canadian geek, wrote lt is extremely important tO me that our government not bow to ClRA. I have high hopes that the current minority gov't means they won't deal with this anytime soon, but I *want* tO get the message out tO every damned MP I can get my hands on. The problem is, I don't have any *specific* informa- tion on these provisions. I was hoping you would, or at least, could point me in the right direction ()r even champion the cause with me! ・ W ( ) 0 ! ). lt's *critically* important t0 me that Canada doesn't follow the US in this process. l'm prepared tO dO whatever it takes tO make the reasons *why* this is a shitty idea known, I just need some help making my points clear and con- crse, as well as containing the appropriate amount 0f 、 、 politik" that they'll make a difference. SO, Ken, here are some ans 、 for you. Copyright is a system for regulating technology—it regulates tech- nologies used t0 make and distribute copies. 嶬 have lots 0f technology regulation in the world: there are rules that govern the operation Of automobiles and rules that govern the marketing Of electrical appliances. ThiS isn't wrong per se.

The Best Software Writing I. Selected and Introduced by Joel Spolsky


CLAY SHIRKY 197 meeting, I think it was Pete Kaminski wh0 said, "Well, l've also opened up a wiki, and here's the URL. ' ' And he posts the URL 0f the wiki in the chat window. And people on the call also start annotating things in the wiki, adding bookmarks in the chat channel, and so on. The meeting is gomg on in three separate modes at the same time, tWO in real time (the phone and the chat) and one annotated (the wiki). You know how conference calls usually are: either one or two people dominate it, or everyone s walking over each Other, interruptmg and cut- ting each other 0 圧 lt's very difficult t0 coordinate speakers in a conference call because people can't see one another, WhiCh makes it hard tO manage the interrupt logic. ln JOi's conference call, the interrupt logic got moved t0 the chat room. people would type "Hand," and the moderator 0f the conference call will then type, "You're speaking next, in the chat. So the conference call flowed incredibly smoothly, because the chat provided a kind of control channel for the speaking ・ Meanwhile, in the chat, people are annotating what people are say- lng. "Oh, that reminds me of So-and-so's work. '' Or "You should 100k at this URL... you should 100k at that ISBN number. " ln a conference call, to read out a URL, you have t0 spell it out—"N0, no, no, it's w w ln a chat window, you get it and you can click on it w dot net dash. right there. You can say, in the conference call or the chat: 。 。 GO over tO the wiki and 100k at this. ” This is a broadband, multimedia conference call, but it isn't imple- mented as a single giant thing. lt's Just three little pieces 0f software, laid next to each other and held together with a little bit of social glue. This is an incredibly powerful pattern. lt's different from "Let's take the L0tus juggernaut and add a web front-end. And the fourth and final driving the current revolution in social SOft- ware is ubiquity. The Web has been growing for a long, long time. ln the beginning, just a few people had web access, and then lots 0f people had web access, and then most people had web access. But something differ- ent is happemng now. ln many situations, 4 〃 people have access tO the network. And "all ” is a different kind of amount than "most. ” "AII ” lets you start taking things for granted. 、 ・ ow , the lnternet isn't everywhere in the world. lt isn't even every- where in the developed world. But for some groups 0f people—students, people in high-tech offices, knowledge workers—everyone they work with is online. Everyone they're friends with is online. Everyone in their family is online.

The Best Software Writing I. Selected and Introduced by Joel Spolsky


106 THE BEST SOFTWARE ・ WRITING I Recognition SO whO are the great hackers ~ HOW dO you know when you meet one? That turns out to be very hard. Even hackers can't tell. l'm pretty sure now that my friend Trevor Blackwell is a great hacker. You may have read on Slashdot how he made his own Segway. The remarkable thing about this prOJect was that he wrote all the software in one day (in Python, incidentally). For Trevor, that's par for the course. But when I first met him, I thought he was a complete idiOt. He was standing in RObert Morris's office babbling at him about something or other, and I remember stand- ing behind him making frantic gestures at RObert tO shOO this nut out Of his office so we could go to lunch. Robert says he misjudged Trevor at first t00. Apparently when R0bert first met him, Trevor had just begun a new scheme that involved 、 vriting down everything about every aspect of his life on a stack of index cards, which he carried with him every- where. He'd also just arrived from Canada, and had a strong Canadian accent and a mullet. The problem is compounded by the fact that hackers, despite their reputation for SOCial obliviousness, sometimes put a good deal Of effort intO seeming smart.When I was in grad schOOl I used tO hang around the MIT AI Lab occasionally. lt was kind of intimidating at first. Everyone there spoke so fast. But after a while I learned the trick of speaking fast. You don't have tO think any faster; just use t 、 vice as many words to say everything. With this amount of noise in the signal, it's hard to tell good hackers when you meet them. I can't tell, even now. You alSO can't tell from their resumes. lt seems like the only way t0 judge a hacker is to work with him on something. And this is the reason that high-tech areas only happen around uni- verslties. The actlve ingredient here is not SO much the professors as the students. Startups grow up around universities because umversities bring together promising young people and make them work on the same pr0Jects. The smart ones learn WhO the Other smart ones are, and together they cook up new projects 0f their own.