something - みる会図書館


検索対象: THE BEST SOFTWARE WRITINGⅠ
58件見つかりました。

1. THE BEST SOFTWARE WRITINGⅠ

ERIC SINK 237 2. MakeSureYour ProductIs Something Customers Want Pardon me for again stating the obvious, but this fact remains: if you're not selling something that people want, your gap is enormous. A good proactive sales guy can overcome this problem. The tactics for selling things that nobody wants are very well understood. How many people would buy rustproofing for their new car if they had to specifically ask for it? ln the responsive sales approach, you have basically no hope of sell- ing a product that is not fundamentally appealing. lt is therefore extremely important that you dO your homework and convrnce yourself that you are building a product that will be desirable. This is the other half of marketing ・ Choose Your Position If you have read anything at all about classical marketing, you have prob- ably heard the word "positioning" at least once. Basically, positioning4 is the process Of figuring out hOW your target market will perceive your product. How do you want your product to be known? To what other products will yours be compared? Answering these questions IS a critical step toward ensuring that your product is something people want. ChooseYour Competition Avoiding competition is perhaps the most common way of ending up with a product nobody wants. You need competition. 5 By avoiding com- petition, you are simultaneously avoiding customers. Your product concept is validated by the presence 0f other ISVs who are profitably selling something similar. If there is nothing on the market that resem- bles your product, be afraid. 4. See http://software.ericsink.com/Positioning.html. 5. See http://software.ericsink.com/Choose Your Competition. html.

2. THE BEST SOFTWARE WRITINGⅠ

86 THE BEST SOFTWARE WRITING I t0 distribute the entire site (edging on 1 , 000 , 000 words before long) in a straight RDF format, with an attached fact base 0f quotes, events, and suchlike culled from the content. This way, if anyone wants to browse Ftrain ()r an Ftrain-like site) in some Other format, they can simply write the best interface for themselves. I plan tO move asset management tO a spreadsheet. And l'm going t0 buy some really nice socks, and a bell for my bicycle. So l'm up late wondering if it's possible t0 create a CSound or Process1ng for the Web. Something that understands links and the very specific needs Of designers, information architects, and readers/users Of a site, and something that is not bound by competing traditions from interface design, publishing, Journalism, and typography. Something that would allOW us tO see the Web as a unified space, rather than as a set Of design interfaces (CSS), transformation languages (XSLT), data structure addressing mechanisms (DOM, XPath), interface specifiers (JavaScript), and markup approaches (XHTML). One way things might go can be seen in REST (Representational State Transfer). The REST architecture for the Web is an "elegantizing Of something that, prior tO its formal description, was quite ad hOC and inconvenient. REST is a way t0 describe what URls (like http : / / ftrain.com/ mean, hOW they can be used tO generate queries across the network, and hOW the entire Web can be seen as a collection not Of pages but of connectable programs that are accessed by URIs. Compare REST, which is simple and already works, t0 web services, which add a layer of complexity tO the existing Web, exist in parallel tO the content-based 嶬 b , and are grounded in a collection of ideas about distributed objects and network computing that arrived before the Web. B0th approaches try to do roughly the same thing. But l'd argue that what makes REST a success and web services less Of a success is that REST is truly grounded in the Web. lt kept what worked and then made it 1 れ ore elegant: easier tO understand in a formal way, easler tO teach. Elegance is not JtISt some sort Of prissy foolishness; it's a way tO describe ideas and solutions that have staying power, that appeal tO something outside Of the moment, that can contribute tO a discipline and be built

3. THE BEST SOFTWARE WRITINGⅠ

100 THE BEST SOFTWARE ・ WRITING I The Final Frontier After software, the most important tool to a hacker is probably his Office. Big companies think the function Of Office space is tO express rank. But hackers use their offices for more than that: they use their office as a place t0 think in. And if you're a technology company, their thoughts are your product. SO making hackers work in a noisy, distract- ing environment is like having a paint factory where the air is full Of soot. The cartoon strip Dilbert has a 10t to say about cubicles, and with good reason. All the hackers I know despise them. The mere prospect of being interrupted iS enough tO prevent hackers from working on hard problems. If you want to get real work done in an office with cubicles, you have tWO options: 、 at home, or come ln early or late or on a 、 When no one else iS there. Don't compames realize thiS iS a S1gn that something is broken? An Office envlronment is supposed tO be something you work in, not something you work despite. Companies like CiSCO are proud that everyone there has a cubicle, even the CEO. But they're not so advanced as they think; obviously they still view Office space as a badge Of rank. NOte t00 that Cisco is famous for doing very little product development in house. They get new tech- nology by buying the startups that created it—where presumably the hackers did have somewhere qulet tO work. One big company that understands what hackers need is Microsoft. I once saw a recruiting ad for 、石 croso 丘 with a big picture Of a door.. Work for us, the prenuse was, and we'll give you a place to work where you can actually get work done. And you know, Microsoft is remarkable among big companies in that they are able tO develop SOft 、 vare in house. Not well, perhaps, but well enough. If companies want hackers t0 be productive, they should 100k at what they do at home. At home, hackers can arrange things themselves so they can get the most done. And when they work at home, hackers don't work in noisy, open spaces; they work in rooms with doors. They work in cozy, neighborhoody places with people around and somewhere to walk when they need t0 mull something over, instead of in glass boxes set ⅲ acres 0f parking lots. They have a sofa they can take a nap on

4. THE BEST SOFTWARE WRITINGⅠ

276 THE BEST SOFTWARE WRITING I 5 門 50 佑な恒 0 が M 門ぎ日いを計 いドを十 ? Symbols Symb01s are words that 100k just like variables. they may contain letters, digits, or underscores. But they start with a colon. :a, :b, or :ponce de leon are examples. Symbols are lightweight strings. Usually, symbols are used in situa- tions where you need a string but you won't be printlng it tO the screen. You could say a symbol is a bit easier on the computer. lt's like an antacid. The C010n indicates the bubbles trickling up from your com- puter's stomach as it digests the symbol• Ah. Sweet' sweet relief. chvhky ト 0 Constants Constants are words like variables, but constants are capitalized. If vari- ables are the nouns Of Ruby, then think Of constants as the proper nouns. Time, Array, or Shake lt Like A polaroid Picture are examples. ln English, proper nouns are capitalized. The Empire State Building. You can't Just move the Empire State Building. You can't just decide that the Empire state Building is something else. Proper nouns are like that. They refer tO something very specific and usually change over time.

5. THE BEST SOFTWARE WRITINGⅠ

PAUL GRAHAM 97 That's not a new idea. Fred Brooks wrote about it in 1974 3 and the study he quoted was published in 1968. But I think he underestimated the variation between programmers. He wrote about productivity in lines Of code: the best programmers can solve a glven problem in a tenth of the time. But what if the problem isn't given? ln programming, as in many fields, the hard part isn't solving problems, but deciding what problems tO SOlve. lmagination iS hard tO measure, but in practice it dominates the kind Of productivity that's measured in lines Of COde. Productivity varies ln any field, but there are few in which it varies so much. The variation between programmers is SO great that it becomes a difference in kind. I don't think this is something intrinsic tO program- ming, though. ln every field, technology magnifies differences ln productivity. I think what's happening in programming is Just that we have a 10t 0f technologicalleverage. But in every field the lever is getting longer, SO the variation we see IS something that more and more fields Will see as time goes on. And the success Of compames, and countries, will depend increasingly on how they deal with it. If variation in productivity increases with technology, then the contribution Of the most productive individuals will not only be dispro- portionately large but will actually grow with time. When you reach the point where 90 % 0f a group's output is created by 1 % of its members, you lose big if something (whether Viking raids, or central planning) drags their productivity down tO the average. If we want tO get the most out Of them, we need tO understand these especially productive people. What motivates them?What do they need to do their jobs ? HOW d0 you recognize them? How do you get them to come and work for you ~ And then Of course there's the question, hOW dO you become one ~ Morethan Money I know a handful 0f super-hackers, so I sat down and thought about what they have in common. Their defining quality is probably that they 3. . in his book The Mythical Man Mo れ舫 . ー Ed.

6. THE BEST SOFTWARE WRITINGⅠ

尺 00 B 舫 EXCELAS A DATABASEI / 〃計ル 4 ″〃〃行 / 0 〃″〃 d 0 ー舫 4 ア 0 CO ゆ 0 ″曜 4 ″ s 〃ゆ 5 舫ビ 々 ~ C ー〃ビ S ー 0 〃 7 れ CO 〃〃れ g e 〃 74 〃 . ー Ed. s a developer, you ve probably, at some unfortunate point in your life (possibly several points, actually), been handed an Excel file that has been crammed full 0f "data" by someone ln marketing and been told t0 "dO something with it. " Columns probably didn't line up, and a thousand different fonts were used. Every feature 0f Excel was probably abused and abused again to avoid having tO use an actual database application for storage Of the data. Of course, it's up tO you tO make sense Of the layout, and marketing could just give a bleepity-bleep about what a pain it is t0 suck weird data out of Excel and "do something with it" when little or (more often) no thought has been given t0 possibly making the data consistent or, dare I say, orderly. TO this end, l've put together an art project to illustrate the process. What you will see unfold before your peepers is a process of discovery— my thoughts on how these files are created. 1. Rory BIyth, "ExceI as a Database," Neopoleon.com (http : //www.neopoleon.com/, September 29 , 2003. See http://neopoleon.com/b10g/posts/434.aspx.

7. THE BEST SOFTWARE WRITINGⅠ

PAUL FORD 91 Men are mortal. Socrates IS a man. Therefore Socrates is 1 れ ortal. Paul Ford wrote this essay. Therefore Paul Ford is a writer. This page is related to that page ・ You're reading something constructed using a rhetorical practice, something informed both directly and indirectly by the entire history of composition up until this point, from the Sophists tO Derrida. But you're navigatlng lt using pure logical statements, usmg spans Of text or images that, when clicked or selected, get other files and display them on your screen. The text is based in the rhetorical tradition; the links are based in the logical tradition; and somewhere in there is something worth figur- ing out (and steps have been taken by people like Richard Lanham, the people who developed the PLINTH system, and others). A historian Of rhetoric, Lanham points out that the entire history of Western pedagogical understanding can be understood as an oscillation between these tWO traditions, between the tradition rhetoric as a means for obtaining ()r critiqueing) power—language as a collection Of inter- connected signifiers co-relating, outside Of morality and without a grounding in "truth, ' ' and the tradition 0f seeking truth, 0f searching for a fundamental, logical underpinning for the universe, using ideas like the platonic solids or B001ean logic, or t001S like expert systems and particle accelerators. Rather than one Of these traditions being correct, Lanham writes in T わビ E c な 0 れた Word, it's the tension bet 、 veen the tWO that characterizes the history Of discourse; the oscillation is built intO Western culture, and often discussed as the concept 5 々てて 4 右〃 ra (the art of making it 100k easy). And hence this site, which lets me work out that problem in practice: what is the relationship between narratlves and logic? What is 斗酣〃 for the Web? Hell if I know. My way of figuring it all out is to build the system and write inside it, because l'm t00 dense tO work out theories. I have absolutely no idea what l'm dOing, and most Of it is done with a sense Of hopelessness, as when, like tonight, I produce nearly 4 , 500 words in a sitting that represent the absolute best 0f my thinking, but those words are as SOlid as cottage cheese, as filled with hOles as swiss cheese, as stinky as limburger, as tasty as a nice brie, as spreadable as Velveeta, as covered in wax as a Gouda, as sharp as a mild cheddar from Cracker Barrel, as metaphorically overextended as a cheese 10g. Obviously it is late, and we are all tired. There are many people much smarter than I will ever, ever be working in language, in the semiotics Of

8. THE BEST SOFTWARE WRITINGⅠ

92 THE BEST SOFTWAREWRITING I fiction, breaking down language into its component parts, defining, like Saul Kripke, what a 〃 4 川ビ actually is. They use equations, and seek the truth. l'm looking for a way to tell a story that works within the boundaries established by these machines. I seek tO entertain, amuse, and evoke. l'm t00 gullible t0 believe in the idea of truth. Which means that 1 100k on, in profound, gap-jawed stupidity, at the artificial intelli- gence community, the specialists in linguistics, the algorithm experts, the standard-writers, the algorithm specialists, the set theory specialists, the textual critics and Other hermenauts, and the statlsticians, but I don't 100k on in jealousy, but in a kind 0f depression, like being a three-chord guitarist missing a few fingers, trying t0 play a cover 0f Le 立 c du ~ 〃川々 5. As much as I want tO fathom it all, any sort Of understand- ing that might be complete eludes me. l've met the people who can think in thoughts longer than a few pages—and I am not 0f them. That said, I have my good points. And as of now, the world has 4 500 more words in it. 10 That's worth something; even if they're lousy words, they might be a useful bad example t0 someone. Perhaps, for all their jargon, they managed tO entertain, amuse, or evoke. And I dO have a content management system that is beginning tO work for me, that is showing me the limits in my prose, paving the way for future work, and letting me d0 some 0f the things with words that I could not d0 before, and dOing it in such a way that it is lnvisible tO most readers, creating an experlence that is focused on the author's ideas, and not on the medium in which I work. That is what is most painful about a new medium: how much the work is about the medium itself. Weblogs are a pure example: there is a significant percentage 0f weblogging that is 4 わ 0 weblogging, as people figure out what t0 d0 with the new forms, much as when people, faced with a microphone, will say, 当 am talking into the microphone, hello on the microphone, me, hey, mcrophone. Microphone. Hey. Me. l'm here. TaIking. Hi there, on the microphone. That's me, talking. Please check out my blog. " As any toddler's parents will tell you, narcissistic self-consciousness IS a part Of early growth, and it will take years before we get it out Of our collective systems, but eventually people will realize the value of saying something besides 当 am saying something," and we can go from there. The medium may be the message, but the 川 ssag is alSO the message. 10. More like 5 , 600. ーお d.

9. THE BEST SOFTWARE WRITINGⅠ

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 writing 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 twice 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 to judge a hacker is to work with him on something. And this is the reason that high-tech areas only happen around uni- versities. The active ingredient here is not SO much the professors as the students. Startups gro 、 up around universlties because umversrtles 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 of their own.

10. THE BEST SOFTWARE WRITINGⅠ

CLAY SHIRKY 185 00d morning, everybody. I want tO talk this morning about social software, and about a pattern seen over and over social software that supports large and long-lived groups. ln particular, I want to talk about what I now think is one of the core challenges for designing large-scale social software, the pattern described in the title of this talk: "A Group ls lts Own Worst Enemy. Let 1 れ e Offer a definition Of social software, because it's a term that's still fairly amorphous. My definition is quite simple: it's software that supports group interaction. I alSO want tO emphasize, though that's a fairly simple definition, how radical social software is. The lnternet sup- ports lOts Of commumcatlons patterns, prmcipally point-to-point and two-way, one-to-many outbound, and many-to-many two-way. Prior tO the lnternet, we had lOts Of patterns that supported point-to- point two-way. 嶬 had telephones; we had the telegraph. We were familiar with technological mediation Of those kinds of conversations. Prior tO the lnternet, we had lOts of patterns that supported one-way broadcast Of information. I could put something on television or the radio; I could publish a newspaper. We had the printing press. So although the lnternet does good things for those ways of communicat- ing, technological support for point-to-point and broadcast well predate the lnternet. Software for groups is different. prior to the lnternet, the last tech- nology that had any real effect on the way people sat down and talked together was the table. There was no technological mediation for group conversations. The closest we got 、 the conference call, WhiCh never really worked right—"Hello? Do I push this button now? Oh, shoot, I just hung up. ' lt's not easy tO set up a conference call, but it's very easy t0 email five 0f your friends and say, "Hey, where are we going for przza ' ー SO ridiculously easy group forming IS quite a new pattern, something technology has never made easy before. We've had social software for 40 years at most, dated from the Plato BBS system, and we've only had a decade or so of widespread availabil- ity, SO we're just finding out what works. We're still learning hOW tO make these kinds of things.