A Look Ahead


Here we are again, the end of the year. Last year
I did pretty well with my prognostications, mainly because I chose carefully. This time, I’m feeling a bit more reckless. A year from now, I am sure I’ll be scratching my head – what was I thinking? – but then again, that’s not such a bad place to be.

So in no particular order, here are some things that I believe have a reasonable chance of occurring in 2005 with regard to the intersection of media, technology, and search.

1. We will have a goat rodeo of sorts in the blogging/micropublishing/RSS world as commercial interests push into what many consider a “pure medium.” I’ve seen this movie before, and it ends OK. But it’s important that the debate be full throated, and so far it looks to be shaping up that way. I’m already seeing these forces at work over at Boing Boing, and I am sure they will continue. We’ll all work on figuring out ways to stick to our principles and get paid at the same time, however, I expect that things might get more contentious before they get better, and 2005 may be a more fractious year in the blogosphere as we evolve through this process.

2. Along those lines, things will not go as swimmingly as we’d like with regard to “monetization.” As the majors get into the space and start throwing around their weight and lucre, some folks will make bad decisions, and others will freeze and make no decisions at all. It will get harder to innovate before it gets easier. We’ll all be surprised by the lack of what we consider “progress” in the RSS/Blogging world, and expectations of major publishing revenues will not materialize as quickly as perhaps we think they should. However, we’ll in fact be making huge strides in understanding the path forward, it just won’t seem like it. By the end of the year, the world will begin to realize that “blogs” are in fact an extraordinarily heterogeneous ecosystem comprised of scores, if not hundreds, of different “types” of sites.

3. There will be two to five major new sites that emerge from “nowhere” to become major cultural influencers along the lines of the political bloggers of 2004. One of them will be sold to a major publisher/aggregator for what seems like a large sum of money, driving the abovementioned #2 and #1.

4. Meanwhile, the long tail will become the talk of the “old line” media world. To capture some of that value, we’ll see a slew of deals and new publishing projects from the established brands that seek to capture the idea of community journalism, affiliate commerce sales, and collaborative content creation.

5. Google will do something major with Blogger. I really have no idea what, but it’s overdue. Six Apart will grow quickly but face a crisis in its implementation as its core users demand more features that are “unbloglike” like customer databases and robust publishing support tools. This (and other things) may drive Six Apart or one of its competitors into the arms of Yahoo or AOL or even – gasp – Quark or Adobe or Marcomedia.

6. Ask will continue to consolidate traffic by buying smaller search sites.

7. Yahoo and Google will both test systems that combine local merchant inventory information with search, so that merchants can use search as a direct sales channel. By the end of the year, there will be no question that the search companies are in direct competition with the ecommerce companies, but it won’t matter – there’s room for them all. Paul Ford will continue to get droves of readers to his related, and very prescient, three year old post on how Google takes over the world.

8. Microsoft will lose search share before they gain it back later in the year when the integration of MSN search starts to scale with new versions of Office and IE . Net net, however, MSFT will gain total in total search sessions from last year, and its technology will get much, much better.

9. Firefox will near 15% of total browser share. Firefox faithful will wonder why it’s not much much higher. But MSFT will release a very good upgrade of IE, see #8.

10. A third party platform player with major economies of scale (ie eBay or Amazon) will release a search related innovation that blows everyone’s mind, and has everyone buzzing about how it redefines what’s possible in search.

11. The China question will become a critical issue to the search community. Defining the China question will in itself be a major task of 2005. How do search companies go in without being “evil”? Is the tradeoff worth it?

12. By the end of the year, there will be no question that search is a media business, and that the major players in search are major players in the content business.

13. Something major will finally happen at Tivo. We all hope that it’s a sale to Apple, but if it is a sale, it will more likely be to Comcast or DirecTv.

14. All year, Apple will be rumored to launch a video iPod, but it won’t – it’s still too early. By the end of 2005, we will just be starting to see traction in the video over IP market and its connection to search. Google will introduce Video search at some point in 05, but it will stay in Labs.

15. Mobile will finally be plugged into the web in a way that makes sense for the average user and a major mobile innovation – the kind that makes us all say – Jeez that was obvious – will occur. At the core of this innovation will be the concept of search. The outlines of such an innovation: it’ll be a way for mobile users to gather the unstructured data they leverage every day while talking on the phone and make it useful to their personal web (including email and RSS, in particular). And it will be a business that looks and feels like a Web 2.0 business – leveraging iterative web development practices, open APIs, and innovation in assembly – that makes the leap. (More on this when I start posting again).

16. Perhaps most recklessly…I will finish my book. The reviews will be mixed, as my attempt to satisfy both the exacting audience of Searchbloggers and the more general audience of a major trade hardcover may fall flat. Many will say I tried to do too much, others that I didn’t do nearly enough (how’s that for airing my deepest fears in public?!). However, I’ll be happy with the effort, and the book will do OK, thanks mainly to the support of this community. So, ahead of time, thanks for your support this past year. I learned more from this process than I ever thought possible, and I owe it all to you, who grace my site with your time and input.

17. Lastly, I will be involved in starting a new business in the field of media and technology. It will start very slowly, and I’ll screw up as much as I possibly can in the early stages, before imposing it on the rest of the world. Hopefully, you’ll all be there to keep me honest as I try to figure out a few ideas I’ve been simmering for the past year or so.

Unless there’s a major story which breaks in the next week or so, I’m signing off for the year, and look forward to resuming posting in 2005. Have a wonderful holiday, and a prosperous, healthy New Year. Oh, and please add your thoughts on 2005 below – I know I missed a lot….

Posted by John Battelle at 11:22 AM – permalink | Comments (20) | TrackBack (15)

–>

My predictions for 2005

Scoble’s predictions for 2005 — since everyone else is having so much fun:

1) Apple Computer will ship a computer that uses a pen and a digitizer that is combined with the screen. It won’t, however, call this a “Tablet PC.”

2) Several executives will get fired for NOT blogging. Why? Blogging helps get adoption and executives who don’t get adoption will be cut. They might not be told it was for not blogging, but watch who replaces the execs who are ousted.

3) Several more people will get fired FOR blogging. Another one was reported today. Or worse yet, will get sued for what they write or do on their blogs. Blogging is dangerous business.

4) Tablet PC’s will go mainstream. Froogle’s #1 ranking is just a hint of what’s coming.

5) Microsoft will be more interesting at the end of 2005 than at the beginning. And, in a year that just saw the launch of Halo 2, that’s saying something.

6) Scoble will be taped to a tree on Microsoft’s campus after he talked about blogs once too often.

7) Three things will join: cell phones. Hard drives. Skype. That convergence will get everyone to question whether the iPod has a future. Of course, if Steve Jobs has anything to say about it we’ll probably be talking about the iPhone instead.
8) HDTV. It will be big. ger. Or something.

9) RSS will go mainstream. Why? Cause it’ll be part of the browsing experience.

10) By the end of 2005 we’ll all know what attention.xml is and why it’s important for the services we choose to support it.

11) There will be a major disaster in 2005 and mainstream media will use citizen journalists in a new way to cover the disaster.

12) There will be several Fortune 1000 companies that build 24/7 blogging teams. Mostly for technical support reasons, but some for PR reasons to react to what Slashdot commenters write about their products at 3 a.m. right before the East Coast journalists wake up to start doing their aggregator runs.

13) Microsoft will open source a major product. My guess is it’ll be Train Simulator since there’s no hope that Train Simulator will ever be a runaway success like Halo 2, but Train Simulator still has hundreds of thousands of devoted fans.

14) There will be a couple of major marketing misteps because marketing directors will have thought that all they needed to do was a blog and everything else would fall into place.

15) The blogosphere will be embarrassed at least twice because things that we bloggers believe to be true will not turn out to be true. Oh, wait, that should have been a 2004 prediction. Heck, it happened twice this year, maybe it’ll happen four times in 2005.

16) An executive at a major company will retire “to have more time to blog.”

17) Apple Computer will think that podcasting is a way to lock people into the iPod platform and will buy iPodder for, oh, say, $300 million. Oh, wait, I forgot, Steve Jobs isn’t Steve Case.

18) Dave Winer will get bored of driving around the USA. Will fly to Munich, buy a BMW, and start driving around Europe.

19) The PDC will sell out in 2005, even after bloggers report on everything that’ll be shown there before the conference. Why? Well, see, hanging out in Universal Studios with Don Box and Chris Sells is cool enough. Who needs Longhorn, new gadgets, or a new Visual Studio when you have THAT?

OK, now, obviously this is all a bit tongue-in-cheek. I wish I really was good at predicting the future like John Battelle. But, I hope you all have a great holiday. Thank you so much for such a great year. Yes, even you Goebbels!

3:09:20 PM http://blogger.org.cn/blog/ comment

Yet Another 2005 Prediction ListScoble’s list of 2005 predictions inspired me to do a little crystal ball gazing this week. Naturally, if even one of these comes to pass, I’ll look much smarter than I actually am.

  1. Firefox’s browser share will be surpassed by new non-MSFT HTML browser for Windows.
    Yes, Firefox is nice, and more importantly, isn’t yet a target for malware. And yes, a lot of people who work near the corner of 156th St. NE and NE 40th Ave. expect Google to release a browser any day now. Despite all of this, my money is on Apple taking Safari to Windows and quickly becoming the browser to beat.
  2. Sun Microsystems will embrace Eclipse.
    Eclipse 3.x is now way above the “good enough” bar and has IBM’s deep pockets behind it. In 2005, Sun will cut its losses on Netbeans and do the right thing for Java by unifying on a common tool platform.
  3. The term SOA will have been beaten to death and the software industry will invent or recycle some equally vague term to replace it.
    The term has zero differentiation value at this point and marketing teams across the globe are looking to coin a replacement that will give them something more interesting to say about their middleware than “we move messages around really well.” If “Business Agents” become the buzzword de l’année, I expect Mary Jo Foley to hunt me down and kill me.
  4. Intel and/or AMD will find a way to market (if not actually build) a 6Ghz CPU.
    As the competition heats up, I predict at least one vendor will start selling CPUs branded as 6Ghz or greater by year’s end. Whether this happens by branding multicores based on the sum of the clock speeds or through more creative redefinitions of Ghz, if the result is a bump in sales, the industry will happily embrace the new measure.
  5. BEA won’t change hands.
    Again, conventional wisdom says that BEA is ripe. This has been the case for at least the last two years – I’m convinced that BEA will last the year without being acquired. Moreover, I would expect at least one high-profile acquisition or hire in 2005 to counter the perceived bleeding of talent in 2004.
  6. Despite some interesting and useful new technologies being announced, PDC 2005 will be seen as a let down.
    Microsoft PDCs have been like Star Trek films – the “even” numbered PDCs are far better than the “odd” numbered PDCs. 2000 in Orlando (.NET) and 2003 in LA (Longhorn) were “even” numbered PDCs and both were fantastic. 1999 in Denver (NT5 redux (we really mean it this time)) and 2001 in LA (hailstorm) were lackluster. Next year’s PDC has the challenge of overcoming this pattern, which is doable (I believe Star Trek Film #9 broke the streak), however, PDC 2003 was so well executed it’s going to be very hard to match it, let alone exceed it.
  7. Miguel de Icaza will leave Novell and join Google.
    Miguel will announce he’s bored and will start a public bidding war. Microsoft will step aside as Miguel goes to Google and brings C# with him. The biggest upside is that Josh Bloch will finally write the book he’s destined to write – Effective C#.
  8. Mac OS X Media Center Edition.
    It’s so obvious I can’t believe it hasn’t happened yet. Far more obvious than a Tablet PC knock-off. Sorry Robert.
  9. XML Query, the Semantic Web, and WS-* will continue to hold promise.
    This is the polite way of saying that none of the above will have an explosive burst of adoption in 2005. XML Query will be lucky to be in CR by the end of 2005 (it has a huge surface area). The semantic web and RDF still require way too much deep geekery to grok. The WS-* stack will stabilize in 2005, but without platform-level support (which won’t really emerge until 2006), its scope is limited to early adopters.
  10. Scoble will make the cover of a major national news magazine.
    No I don’t expect his Scobleness to be named man of the year, but I do believe the blog bubble will continue to grow well into 2005 to the point where Scoble will be held up as one of several emblematic corporate bloggers to grace the cover of Time, Newsweek, Businessweek, etc.. If this doesn’t happen, then I predict Scoble will fulfill Pirillo’s prediction and get fired for trying to make it happen, which unfortunately won’t be newsworthy enough to land his mug on a cover. Again, sorry Robert.
posted on Wednesday, December 29, 2004 1:08 AM

–>

Comments
  • # re: Yet Another 2005 Prediction List

    Dare Obasanjo
    Posted @ 12/28/2004 7:56 PM
    >1. Firefox’s browser share will be surpassed by new non-MSFT HTML browser for Windows.

    I can’t see any incentive for Google to release a browser. There’s a lot of interesting client apps they could build [an Outlook killer integrated with GMail, a killer photo sharing app based on Picasa that integrates with Flickr after they buy it, a rich client story for Orkut, etc] that make more business sense to me than getting in the browser game. I’d lose a lot of respect for the Google guys if they are wasting folks like Bosworth and Joe Beda on another IE.

    >7. Miguel de Icaza will leave Novell and join Google.

    Miguel is really big on Free Software. I’d be interested to see what anyone would offer him that would make him give that up. Miguel is a killer hire though.

    > 10. Scoble will make the cover of a major national news magazine.

    Depending on how you define major this is a sucker bet. I’m pretty sure this is inevitable.

  • # re: Yet Another 2005 Prediction List

    Anonymous Coward
    Posted @ 12/28/2004 10:04 PM
    11. Don Box has no good prediction for .Net and talks more about Google than his current employer. Don Box is looking for a job.

  • # re: Yet Another 2005 Prediction List

    Christopher R. Gardner
    Posted @ 12/29/2004 4:36 AM
    As far as prediction #7, Bill Wagner beat Joshua Block to the punch.

    http://www.awprofessional.com/title/0321245660

  • # re: Yet Another 2005 Prediction List

    Mark A. Richman
    Posted @ 12/29/2004 4:36 AM
    Actually, I’d bet on a Google IM client, a la Trillian or Gaim, but integrated with GMail and some other as-yet-unreleased Google technology ;)

    Google would make a killing on a search-enabled iTunes-ish app.

    Also, a unification of Firefox, Thunderbird, and Sunbird is in the works (read, “Outlook Killer”).

    “Don Box is looking for a job.” — WHAT?! My bet is that Don is so happy doing what he does that it doesn’t seem like a job to him anyway.

  • # re: Yet Another 2005 Prediction List

    Mike Griffin
    Posted @ 12/29/2004 4:44 AM
    SOA is nothing but an abstract concept, it has no mass and its only purpose for existing is to sell books and offer new course material. There is no such thing as SOA.

  • # re: Yet Another 2005 Prediction List

    SOA
    Posted @ 12/29/2004 5:07 AM
    Mike you can’t deny your saviour – come to me child!

  • # 2003 is even?

    The Math-Magician
    Posted @ 12/29/2004 5:20 AM
    Last time I checked 2003 was and odd number…

  • # re: Yet Another 2005 Prediction List

    Ben Poweski
    Posted @ 12/29/2004 5:40 AM
    >> Sun Microsystems will embrace Eclipse.

    This is still a wet dream, I hope you’re right. .Net has surpassed java in solving real world problems (There are actually top notch tools, well tool, supporting their specifications). Java 5 is a dramatic step forward. Fragmentation between tool vendors has caused a lag in support for it as well as other new specifications.

    Give me a sun JSF wysiwyg like Java Studio Creator built on eclipse, then i’ll retract my previous statement.

  • # Firefox v Google

    Damien Guard
    Posted @ 12/29/2004 6:43 AM
    I really doubt this one Don as Firefox is already cross platform and masses of techies are migrating less-able friends and family.

    I’ve recently done just this any while all these less-able people know Google for the big-name search engine it is not one knew even of GMail – all were still using Hotmail.

    The question is can Google leverage their monopoly on the search engine into the email, desktop search and other markets without getting in the antimonopolistic mess Microsoft found themselves in?

    [)amien

  • # re: Yet Another 2005 Prediction List

    Onorio Catenacci
    Posted @ 12/29/2004 7:52 AM
    A unification of Firefox, Thunderbird and Sunbird? You mean Mozilla? :-)

    --
    Onorio

  • # re: Yet Another 2005 Prediction List

    Bozo
    Posted @ 12/29/2004 8:18 AM
    SOA not real? Let's revisit this at this point next year and see... SOA is an architectural movement - it's clear that the bozos on this blog don't understand the difference between product, technology, and architecture. So, hide your head in the sand, if you wish -- just realize that SOA is an <i>inevitability</i>

  • # 2005

    Andrew Stopford's Weblog
    Posted @ 12/29/2004 1:39 PM

  • # re: Yet Another 2005 Prediction List

    theCoach
    Posted @ 12/29/2004 11:07 AM
    Any votes for Longhorn getting scaled back and released as Windows XP - SP3, with Scoble leading an army of people to await THE truly next generation codenamed Gamecock OS? Promises are made that WinFS will ship 3 months after the server version, which will trail the client by six months. Bob Muglia appears miffed and less certain. ;)

    -- looking forward to a year of great things, Mr. Box!

  • # re: Yet Another 2005 Prediction List

    Phil
    Posted @ 12/29/2004 12:30 PM
    (3) SOA will probably be replaced by something like 'Business Process Integration' or 'Modular Integration Points' or something equally vague.

    (7) I'm surprised that Miguel and Nat haven't gone to Google already. I'm sure that someone have already approached them and it wasn't a good fit for them. Possibly they got the same impression of Google that Bill Joy did.

    (8) I'm sure someone has bounced around the idea of a Mac OS based Media Center. If they ever do release consumer devices like that they will be very unique and different from the current offerings, same way the iPod/iTunes is so much different from all other MP3 players/browsers.

    (9) The WS-* stack will slow down for sure. Then we wait to see how different vendors implement the specs.

    (10) I see Scoble on TV, interviewed at a blogging dinner somewhere, showing off the TabletPC and his Audiovox phone.

  • # re: Yet Another 2005 Prediction List

    Michael Rys
    Posted @ 12/29/2004 12:44 PM
    Hi Don

    Interesting predictions. I think that XQuery will become more interesting after SQL Server 2005 and Oracle 10gR2 will be released (both in the second half of 2005 as it currently looks) - regardless of the W3C spec status...

  • # re: Yet Another 2005 Prediction List

    Sean Chase
    Posted @ 12/29/2004 1:42 PM
    #3 is definitely a belly laugh. Truth is more humorous than fiction, plus it sounds like a great idea for a Dilbert cartoon. I just read an article ("The Free Lunch is Over") with respect to #4 that made the point: multicores and HT will help all of our spyware to run faster, but nothing much else to cheer about. The "creative redefinitions" of GHz will be much like car manufacturers boasting about horsepower. There's a saying "horsepower sells cars; torque wins races." I suppose multithreaded apps will have to be the "PC torque." Either way, I guess I'm excited about my spyware running faster. Also, regarding #10 - not sure about the magazine cover for Scoble, but he's quickly becoming the geek version of The Drudge Report. :-)

  • # 2005 predictions

    Jes
    Posted @ 12/29/2004 5:20 PM

  • # re: Yet Another 2005 Prediction List

    Kris-o-Rama
    Posted @ 12/29/2004 3:08 PM
    Here are my predictions - Don Box quits Microsoft and joins Google to embrace Java, Python and his former love C++ to build WS-Google stack!

  • # re: Yet Another 2005 Prediction List

    jinath
    Posted @ 12/29/2004 5:15 PM
    can't you Predict a Tsunami in 2005 :)

  • # re: Yet Another 2005 Prediction List

    waveinfin
    Posted @ 12/29/2004 6:46 PM
    why not these predictions contains some views about currently programming language? I want to know the future of C++,can someone tell me?

  • # re: Yet Another 2005 Prediction List

    shooby
    Posted @ 12/30/2004 1:07 AM
    Mine own predictions, as a top 10 list

    10. Don Boxs head wont fit on earth anymore, he moves to Venus, because it rhymes with what Bill Gates is.
    9. Longhorn renamed 'who the fuck cares'.
    8. Another 2 or 3 hundred critical Windows XP patches
    7. Another 2 or 3 hundred critical but unpatched Windows XP exploites
    6. Windows 98 still running on most IT computers.
    5. Most XP users don't realize that with a new set of icons, they wouldnt know the difference between XP and Windows 98
    4. Office 2005 'Rent by the minute' licensing plan announced, no one buys any.
    3. Bill Gates still a smelly loser who doesnt care who he steals from.
    2. More 'charity' from Bill, you guessed it, free Windows 98 licensese.
    and the number 1
    1. More and more people will realize that Microsoft is whats wrong with the software industry, perhaps even Mr Box

    ...give it a shot

  • # shooby

    Mr. America
    Posted @ 12/30/2004 4:13 AM
    shooby, your top 10 list and your site reveal a certain idiocy fostered by ... well, we'll just leave it at that

  • # re: Yet Another 2005 Prediction List

    shooby
    Posted @ 12/30/2004 4:31 AM
    I use humor to make a point. Others can't even finish a sentence.

  • # re: Yet Another 2005 Prediction List

    MS
    Posted @ 12/30/2004 4:47 AM
    Shooby:

    If you had done what Don had done (started a very successful company training company, written one of the most successful book on Windows programming, co-authored SOAP, and engineered Indigo (in process)), I wonder what planet would your head fit in. Maybe Jupiter, because its full of gas just like your head.

    Why don't you do something worthwhile like building a killer OS instead of spewing venom against XP/Longhorn?

    > Don Boxs head wont fit on earth anymore, he > moves to Venus

    FYI, Venus is smaller than Earth.

  • # Don Box:2005年IT技术前景预测 (2004.12.30) 来自:CSDN

    Geranium
    Posted @ 12/30/2004 7:49 AM
    Ping Back??:blog.csdn.net

  • # re: Yet Another 2005 Prediction List

    Cram
    Posted @ 12/30/2004 5:03 AM
    Shoob,

    Relax fella... Software is still so young. Your 'any other than M$' wishes are coming true right before our eyes as other companies gain their share of the market.
    You seem bitter. Let the market dictate the software business.

  • # re: Yet Another 2005 Prediction List

    shooby
    Posted @ 12/30/2004 5:48 AM
    FYI, I read the book, seen the OS, and have had my own share of good stuff.

    The main point is, no one invests in software companies, and thereby inovation, because its stolen by Microsoft. Why do market research for someone those creeps. And if you'd ever done business with Microsoft on that level, thats what you'd call them too.

    I'm trying to convince you not to abet the rogue behaviour of this bad mannered corporation. Don is just the bongo-drum du jour.

    I dont blame Don for working for them, and I'm sure he feels the same way about them, but is quiet, more or less, while he's cashing their checks.

    I guess what pisses you off is that I'm good at it.

    So, be really pissed.

  • # re: Yet Another 2005 Prediction List

    Sriram
    Posted @ 12/30/2004 9:28 AM
    Shooby -I usually don't believe in engaging trolls - but come on!No one invests in software companies?? Oh well..I should try another profession then.

  • # 2005 Predictions

    [Smalltalk]
    Posted @ 12/30/2004 2:51 PM
    Predictions for 2005 from Scoble, Pirillo, Battelle and Box. I’ll spare you mine……

[转]HTML 旁门左道:爱上你的这六天
2004-12-31 0:13:43 爱上你的第一天:

假如现在要制作一个儿童网站,需要为文章加注拼音。那么我们可以利用Ruby标签来做这件事。

<p>1.Ruby:</p>
<Ruby>
清风是世界上最纯洁的人
<RT>Qing Feng Shi Shi Jie Shang Zui Chun Jie De Ren
</Ruby>

<RT>后面的就是拼音内容,无需封闭标签

缺点:可惜Mozilla不支持此标签

爱上你的第二天:

一篇文章的目录,我们要按照序号进行编排,手动编排序号既容易出错也不易修改,如何解决呢?今天就要用到<OL>标签:)

<OL>
<LI>这是列表的第一个项目
<LI>这是列表的第二个项目
</OL><OL START=3>
<LI>这是以编号3起始的项目
</OL>

<OL TYPE=A>
<LI>这是项目A
<LI>这是项目B
</OL>

此标签同时支持IE和Mozilla,OK。

在我爱上你的第三天:

昨天的例子是用来自动生成序号的,那么也许你会说:“好难看,能不能用图片当前面的标志,还不用我一个一个的加?”答案是肯定的。

只需要配合CSS,那么非常的简单

<style>
ul.blogroll{
list-style:url(dot.jpg) disc;
}
</style><ul class=”blogroll”>
<li><a xhref=”http://blogger.org.cn/blog/1.htm” mce_href=”http://blogger.org.cn/blog/1.htm”>平面设计</a></li>
<li><a xhref=”http://blogger.org.cn/blog/2.htm” mce_href=”http://blogger.org.cn/blog/2.htm”>网页设计</a></li>
<li><a xhref=”http://blogger.org.cn/blog/3.htm” mce_href=”http://blogger.org.cn/blog/3.htm”>动画设计</a></li>
</ul>

此代码同时支持Mozilla和IE,希望效果你还满意。

效果见下:

素材图为:

第四天

现在有两个人提出需求:

“我是一技术类网站,希望用户在此交流一些代码,希望这些代码可以直接显示在网页上”
“我是一个论坛,我希望可以屏蔽掉用户发贴中的恶意代码。使他不执行。”

当然一种方法是,我们将用户输入的内容进行替换,将<>括号替换成html的写法(例如:& l t ;)。但是
我们今天用<XMP></XMP>标签来做这件事情。

<xmp>
<OL>
<LI>这是列表的第一个项目。
<LI>这是列表的第二个项目。
</OL>
<OL START=3>
<LI>这是以编号 3 起始的项目。
</OL>
<OL TYPE=A>
<LI>这是项目 A。
<LI>这是项目 B。
</OL>
</xmp>

在<XMP>内的标签会直接渲染出来。

第五天:

XML,MSN,XHTML,CSS,W3C,BMW,IBM,ICQ,HTML………

这些都是什么?都是缩写。如何向不懂的用户解释这个缩写的含义呢?当然可以在后面跟上说明,例如:W3C(World Wide Web Consortium),但那么做就不是旁门左道了:)

OK,今天我们来用<acronym>标签,这个标签的作用就是用来标识这种缩写。

例如:

<acronym title=”Cascading Style Sheets”>CSS</acronym>

title就是这个缩写的说明。效果如下:

是的,只要鼠标放到文字上就会出现对应的说明,而且文字标有虚线下划线提示用户这是一个头文字缩写。

  但是但是但是,这种下划线在IE中是不会出现的,那么要让IE出现虚线下划线我们就要借助CSS了。

<style>
acronym{
border-bottom:1px dotted black;
}
</style>

爱上你的第六天:

表格线的制作技法,我们现在要制作一个数据表格,希望每一个单元格均用黑线包围,那么如何制作呢?如下图所示:

首先我们使用经典的“21法则”:也就是cellpadding为2,cellspacing为1,表格背景有颜色,td再设背景色,利用表格间的缝隙来加上交叉线

<table width=”500″ border=”0″ cellpadding=”2″ cellspacing=”1″ bgcolor=”#000000″>
<tr bgcolor=”#FFFFFF”>
<td> </td>
<td> </td>
<td> </td>
</tr>
</table>

由于不想文章太长,请手动多加一些<tr>使效果更明显,当然最后我会给出一个Example下载。

这是N年一直在使用的方法,简单易用,但是,现在都在强调样式分离,OK,为了追赶潮流,让我们用CSS来做这件事。

CSS方法1:模仿“21法则”

表格仍然是那个表格,为了方便我们给表格起名为

<table id=”table1″>
<tr>
<td> </td>
<td> </td>
<td> </td>
</tr>
</table>

OK,这是一个干净的表格,我们用CSS来定义他

#table1{
background-color:#000000;//表格整体背景黑色,也就是缝隙间的颜色
width:500px;
padding:0px;
border-spacing:1px;//表格缝隙1个px
}
#table1 td{
background-color:#FFFFFF;
}

  但是,你会发现在IE下显示表格线会显得很粗。。。由于IE对CSS2标准支持不够,所以显示不是像预想的一样(广告时间:在这里推荐一下Mozilla浏览器:))

那么如何使用CSS,才能在所有浏览器均显示正常呢?并且不利用这种缝隙法的歪门邪道,而就是利用border来做呢:),OK答案就在下面。

重新建立一个表格id=”table2″

#table2{
border:1px solid #000000;//为表格外面画线
width:500px;
padding:0px;
border-collapse:collapse;//由于td四周画线,所以某些线会绘制两次,会变粗,使用这个属性可以自动合并同类项
border-spacing:0px;//表格间无需空隙
}
#table2 td{
border:1px solid #000000;//为td四周画线
}

OK,以上CSS和“21法则”的效果是完全相同的,IE和Mozill均显示正常,而且是样式与表格进行了脱藕:)

完整代码下载:附件

已发行的版本:
版本号 名称 中文名 发布日期
JDK 1.1.4 Sparkler 宝石 1997-09-12
JDK 1.1.5 Pumpkin 南瓜 1997-12-13
JDK 1.1.6 Abigail 阿比盖尔–女子名 1998-04-24
JDK 1.1.7 Brutus 布鲁图–古罗马政治家和将军 1998-09-28
JDK 1.1.8 Chelsea 切尔西–城市名 1999-04-08
J2SE 1.2 Playground 运动场 1998-12-04
J2SE 1.2.1 none 1999-03-30
J2SE 1.2.2 Cricket 蟋蟀 1999-07-08
J2SE 1.3 Kestrel 美洲红隼 2000-05-08
J2SE 1.3.1 Ladybird 瓢虫 2001-05-17
J2SE 1.4.0 Merlin 灰背隼 2002-02-13
J2SE 1.4.1 grasshopper 蚱蜢 2002-09-16
J2SE 1.4.2 Mantis 螳螂 2003-06-26
将来发行的版本:
J2SE 5.0 (1.5.0) Tiger 老虎 已发布了Beta版本
J2SE 5.1 (1.5.1) Dragonfly 蜻蜓 未发布
J2SE 6.0 (1.6.0) Mustang 野马 未发布

另外听说J2SE 7.0叫dolphin.可以看出,从1.2.2开始就有规律了,都是昆虫或者动物的名称,J2SE应该改名叫J2ZE(Java 2 Zoo Edition)比较合适看来

今天在看TheServerSide.Com的时候发现了这么一条新闻:

X-develop – a multi-language IDE supporting Java and .NET

本来也不是特别感兴趣,因为Visual Studio.NetEclipse已经都发展到极至了感觉,要再想超越这两个IDE实在是很困难,但是还是去X-develop的网站看了一下:

X-develop is a new multi-language cross-platform IDE from Omnicore. X-develop targets the .NET platform, the Mono platform and the Java platform. It offers advanced code analysis, project wide on-the-fly error checking, refactoring, smart editing, fast code navigation capabilities and other productivity-boosting features for C#, Java, J# and Visual Basic.NET. X-develop is available for Windows and Linux.

从介绍的幻灯片来看,这个IDE的功能还是很强大的,基本和高级的功能基本都涵盖了,但是我感觉还是没有强大到使开发者更换IDE的程度,因为其他的IDE也都有这些功能或者可以由插件得到.不过它的有一个feature倒是很令我有点吃惊,它的Java Debugger是可以step-back的,也即可以在调试的时候往回退运行程序!有点Word里面”撤销”的感觉,虽然没用过这个IDE,但是这点实在太巧妙了.Silde里面自称是industry-leading,一点也不为过.

Back-in-time Java Debugger
Our industry-leading back-in-time Java debugger allows you to step back through your code and investigate what exactly caused a problem.

1.2

SwiXml, is a small GUI generating engine for Java applications and applets. Graphical User Interfaces are described in XML documents that are parsed at runtime and rendered into javax.swing objects.

SwingML
Swing Markup Language

SwingML is an effort to create a markup language to render in a web browser JFC/Swing based graphical user interfaces.

http://blogger.org.cn/blog/:: JGOODIES :: Java User Interface Design

:: Java User Interface Design ::

We make Java look good and work well

JGoodies focuses on Java look, UI design and usability. We provide articles, libraries, example applications, desktop patterns and a Swing application architecture.

Jelly : Executable XML

Jelly is a tool for turning XML into executable code. So Jelly is a Java and XML based scripting and processing engine. Jelly can be used as a more flexible and powerful front end to Ant such as in the Maven project, as a testing framework such as JellyUnit , in an intergration or workflow system such as werkflow or as a page templating system inside engines like Cocoon .

Thinlet is a GUI toolkit, a single Java class, parses the hierarchy and properties of the GUI, handles user interaction, and calls business logic. Separates the graphic presentation (described in an XML file) and the application methods (written as Java code).

JDesktop Network Components (JDNC)

The goal of the JDesktop Network Components (JDNC) project is to significantly reduce the effort and expertise required to build rich, data-centric, Java desktop clients for J2EE-based network services. These clients are representative of what enterprise developers typically build, such as SQL database frontends, forms-based workflow, data visualization applications, and the like.

JDNC leverages the power of J2SE and Swing while providing a higher level API, as well as an optional XML markup language, which enables common user-interface functionality to be constructed more quickly, without requiring extensive Swing or GUI programming skill. Additionally, JDNC simplifies the task of connecting a rich client to a J2EE backend, including JDBC and WebServices.

内容管理系统(CMS)的设计和选型

作者: 车东 Email: chedongATbigfoot.com/chedongATchedong.com

写于:2003/03 最后更新:

09/02/2004 16:00:41 Feed Back >>

版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本声明
http://www.chedong.com/tech/cms.html

关键词:”content manage system” cms 内容管理系统

内容摘要:

内容管理系统概述

内容管理系统是一个很泛的概念:从商业门户网站的新闻系统到个人的Weblog都可以称作发布系统。

  • 框架型:本身不包含任何应用实现,只是提供了底层框架,具体应用需要一定的二次开发,比如Cocoon,Vignette;
  • 应用型:本身是一个面向具体类型的应用实现,已经包含了新闻/评论管理,投票,论坛,WIKI等一些子系统。比如:postNuke xoops等;

但无论如何,在发布系统选型之前,首先了解自己的实际需求是最重要的:想根据现成系统将自己的需求硬往上照搬是非常不可取的。访问量,权限控制和各种功能需求。每个模块和功能自己都比较清晰一点以后,再去网上找找类似的实现:你会发现其实每个环节到目前上都有比较成熟的实现了,而且还在不断完善和发展中,如果没有:你的需求太特殊,或者可以尝试分解成更小的系统组合实现。

内容管理系统被分离成以下几个层面:各个层面优先考虑的需求不同

  1. 后台业务子系统管理(管理优先:内容管理):新闻录入系统,BBS论坛子系统,全文检索子系统等,针对不同系统的方便管理者的内容录入:所见即所得的编辑管理界面等,清晰的业务逻辑:各种子系统的权限控制机制等;
  2. Portal系统(表现优先:模板管理):大部分最终的输出页面:网站首页,子频道/专题页,新闻详情页一般就是各种后台子系统模块的各种组合,这种发布组合逻辑是非常丰富的,Portal系统就是负责以上这些后台子系统的组合表现管理;
  3. 前台发布(效率优先:发布管理):面向最终用户的缓存发布,和搜索引擎spider的URL设计等……

内容管理和表现的分离:很多成套的CMS系统没有把后台各种子系统和Portal分离开设计,以至于在Portal层的模板表现管理和新闻子系统的内容管理逻辑混合在一起,甚至和BBS等子系统的管理都耦合的非常高,整个系统会显得非常庞杂。而且这样的系统各个子系统捆绑的比较死,如果后台的模块很难改变。但是如果把后台各种子系统内容管理逻辑和前台的表现/发布分离后,Portal和后台各个子系统之间只是数据传递的关系:Portal只决定后台各个子系统数据的取舍和表现,而后台的各个子系统也都非常容易插拔。

内容管理和数据分发的分离:需要要Portal系统设计的时候注意可缓存性(Cache Friendly)性设计:CMS后台管理和发布机制,本身不要过多考虑“效率”问题,只要最终页面输出设计的比较Cacheable,效率问题可通过更前端专门的缓存服务器解决。

此外,就是除了面向最终浏览器用户外,还要注意面向搜索引擎友好(Search engine Friendly)的URL设计:通过URL REWRITE转向或基于PATH_INFO的参数解析使得动态网页在链接(URI)形式上更像静态的目录结构,方便网站内容被搜索引擎收录;

---------------    ---------------     ---------------                    |新闻管理子系统|   | BBS论坛子系统|    | 商城子系统  |                    ---------------    ---------------     ---------------                          |            /    |                /   内                               |        ----------|---            /    容   <== 业务子系统(零件生产)      |           /      |             /     管                             ---------------      |    ---------------  理                             |专题制作子系统|     |    |全文检索子系统|                                ---------------      |    ---------------                                                     |          /                                     -------------------------|---------------------------------------------                           |        /            频                                            ---------------             道   <== Portal系统(产品组装)                   | Portal 系统 |             管                                            ---------------             理                                                  |                                                -------------------------|---------------------------------------------                            |                     前                                                  |                     台   <== 发布系统(分发代理)                    ---------------              发                                           |前台发布系统 |              布                                           ---------------                                                             /                                                                       /                                                           ---------------      ---------------                                      | 用户浏览器   |     |Search Engine|                                      ---------------      ---------------

这里,我把在内容发布系统选型中找到的一些资料总结如下:

    内容管理系统的选型

    关键词:CMS Content Manage System

    CMS行业研究
    http://www.cmswatch.com
    http://www.cmsreview.com
    http://www.cmsinfo.org

    CMS讨论邮件列表
    http://www.cms-list.org

    商业软件和开源项目列表:
    http://directory.google.com/Top/Computers/Software/Internet/Site_Management/Content_Management/

    推荐:基于XML的发布框架
    http://cocoon.apache.org/

    具体实现复杂程度可能会根据需求的不同而不同,但越是大型的系统越是需要分工:将内容(数据),表现(模板)和应用逻辑(程序)尽可能分离和对这3 者的管理。

    Portal—门户系统
    Open source Projects:
    http://jportlet.sourceforge.net/
    Apache Software Foundation: Jakarta JetSpeed 1.3
    JetSpeed home page: http://jakarta.apache.org/jetspeed/site/index.html
    JetSpeed Portlet API: http://cvs.apache.org/viewcvs/jakarta-jetspeed/proposals/portletAPI/
    http://www.liferay.com/home/index.jsp
    http://basicPortal.com/
    http://www.jahia.org/
    http://jporta.sourceforge.net/

    商业软件:
    BEA WebLogic Portal – http://edocs.bea.com/wlp/docs81/javadoc/com/bea/Portal/model/Portlet.html
    IBM Websphere Portal – http://www.software.ibm.com/wsdd/zones/Portal/
    Oracle Portal Developer Kit – http://Portalstudio.oracle.com/

    其它:
    PSML – http://jakarta.apache.org/jetspeed/site/psml.html
    BEA: Web Logic Portal 4.0 http://www.bea.com/products/weblogic/Portal/index.shtml
    IBM: WebSphere Portal 2.1 http://www-4.ibm.com/software/webservers/Portal/
    iPlanet: iPlanet Portal Server 3.0 http://www.iplanet.com/products/iplanet_Portal/home_Portal.html
    Oracle: Oracle 9i Portal http://www.oracle.com/ip/deploy/ias/Portal/index.html
    SAP Portal: http://www.iviewstudio.com
    Epicentric Portal: http://www.epicentric.com/solutions/products/efs/

    参考:
    Wafer:Java开发框架研究
    http://www.waferproject.org/index.html

    门户(Portal)系统相关开发框架:
    http://udoo.51.net/mt/archives/000011.html

    广告管理系统

    关键词:ad server

    广告系统和内容的分离,可以大大降低系统之间的关联度。

    专业行业研究网站:
    http://adres.internet.com

    相关厂商和开源项目:
    http://directory.google.com/Top/Computers/Programming/Languages/PHP/Scripts/Ad_Management/?il=1
    http://directory.google.com/Top/Computers/Software/Internet/Servers/Advertising/?tc=1
    http://www.jspin.com/home/apps/admanage?cob=winedit
    http://www.scriptdex.com/dex/php_ad_management.shtml

    推荐:
    http://www.phpadsnew.com/ 功能性比较强
    http://oasis.sourceforge.net/ 免费 基于日志记录和定期导入MYSQL统计,可以负载50万请求/每小时 以上

    如果看重广告的第3方特性,可以选择第三方服务:
    http://www.doubleclick.net/
    http://www.allyes.com/

    论坛/社区系统

    关键词: BBS FORUM

    论坛软件介绍:
    http://directory.google.com/Top/Computers/Internet/Web_Design_and_Development/Message_Boards/

    推荐:
    http://www.phpBB.com PHP + MySQL open source
    http://www.vbulletin.com/order/ PHP + MySQL 有付费的商业支持85-160$

    http://www.jivesoftware.com/products/pricing.jsp 商业论坛系统,1000$-2500$ 有知识库扩展应用
    http://yazd.yasna.com/features.jsp 基于 Java

    所见即所得(WYSIWYG)编辑器

    在内容的录入管理方面,所见即所得是比较重要的,这样可以大大简化对系统中布局排版的需求。
    基于浏览器的WYSIWYG(所见即所得)编辑器是CMS设计中,编辑工具的主要考虑方面。目前主要是通过JAVASCRIPT调用IE或其他浏览器的内置方法实现。其中基于IE5.5浏览器的实现最为简洁。这里有一个完整的例子:
    Building a WYSIWYG HTML Editor Part 1/2
    Building a WYSIWYG HTML Editor Part 2/2

    主要功能:

    • 能够通过JAVASCRIPT实现的基本功能:加粗,斜体字,居中,添加链接,添加图片,模式切换:HTML和文本模式的切换,
    • Word垃圾代码过滤
    • 图片上载接口:图片上载最好通过其他独立模块实现。

    选型指标:

    • 不依赖服务器端代码:只通过JAVASCRIPT或客户端控件实现代码,可以保证以后系统迁移的方便。
    • WORD垃圾代码过滤

    可视化编辑器大全:
    http://www.bris.ac.uk/is/projects/cms/ttw/ttw.html

    推荐:
    http://www.aine.be/aynhtml/

    图片/文件上传组建

    图片和文件等非结构化数据还是分别使用另外的服务解决比较好。这样可以大大简化CMS本身的复杂程度。

    推荐:
    文件上传:
    Apache Commons项目
    http://jakarta.apache.org/commons/

    ImageJ:图片处理缩略图生成和水印等
    http://rsb.info.nih.gov/ij/

    关于Blog系统的选型,目前主流的基于PHP的包括:
    ・ Nucleus 3.0 www.nucleuscms.org
    ・ pmachine 2.3 www.pmachine.com
    ・ b2evolution 0.9.0.3 www.b2evolution.net
    ・ Serendipity 0.6 www.s9y.org
    ・ WordPress 1.2 www.wordpress.org
    ・ bBlog 0.7.3 www.bblog.com
    ・ pLog 0.3.1 www.plogworld.org
    ・ Simplog .9 www.simplog.org
    ・ Textpattern 1.18a www.textpattern.com

    原文出处

帕累托改进

十二月 26, 2004

帕累托最优,也称为帕累托效率,是博弈论中的重要概念,并且在经济学工程学社会科学中有着广泛的应用。帕累托最优是指资源分配的一种状态,在不使任何人境况变坏的情况下,而不可能再使某些人的处境变好。帕累托改进是指一种变化,在没有使任何人境况变坏的前提下,使得至少一个人变得更好。一方面,帕累托最优是指没有进行帕累托改进的馀地的状态;另一方面,帕累托改进是达到帕累托最优的路径和方法。帕累托最优是公平与效率的“理想王国”。

帕累托最优是以提出这个概念的意大利经济学家维弗雷多・帕雷托的名字命名的, 维弗雷多・帕雷托在他关于经济效率收入分配的研究中使用了这个概念。

如果一个经济制度不是帕累托最优,则存在一些人可以在不使其他人的境况变坏的情况下使自己的境况变好的情形。普遍认为这样低效的产出的情况是需要避免的,因此帕累托最优是评价一个经济制度和政治方针的非常重要的标准。

[转]Using Lucene with EJB

十二月 24, 2004

Search is important! All too often search looks like where thing like ‘%that%’. Users know google, and quite a few even know its query language at this point. Aside from wanting to provide more functionality in search, users are expecting it. Google seems simple, doesn’t it?Enter Lucene. I’ll presume you’ve heard of it at least, if not used it. Lucene does full text indexing, and that is it. It does this really well. The beauty (well, one) is that you can index anything. In this case, I’ll index an object being persisted by OJB. The key is to embed information required to retrieve the document being indexed.

Take a gander at a fairly simple Student class (this is frmo an app I am doing for my little brother, who is a professor (of such terrible subjects as rock climbing and white water kayaking, don’t get me started)).

The primary use case for this application is for a student coop employee to be finding a student in the system, then finding gear and checking the gear out for the student. Finding the student is key, and that is best served by… searching! So we have a database record for each student, and want to have a convenient search facility, which can search based on name, student id (idNumber), phone number, even address. Lucene makes this is a snap. To do it, we just store the id (internal/pk id) in an unindexed field when we add a student in the StudentIndexer:

public void add(final Student student) throws ServiceException {
final Document doc = new Document();
doc.add(Field.Text(NAME, student.getName()));
doc.add(Field.Text(ID_NUMBER, student.getIdNumber()));
doc.add(Field.Text(ADDRESS, student.getAddress()));
doc.add(Field.Text(PHONE, student.getPhone()));
doc.add(Field.UnIndexed(IDENTITY, student.getId().toString()));
try {
synchronized (mutex) {
final IndexWriter writer = new IndexWriter(index, analyzer, false);
writer.addDocument(doc);
writer.optimize();
writer.close();
}
}
catch (IOException e) {
throw new ServiceException("Unable to index student", e);
}
}

Notice the UnIndexed field on the Document? This tells Lucene to store this field with the record, but don’t index it or search on it. When you retrieve the document you will get the field though. Perfect place to stash the primary key.

When we look for the students, we don’t want to get back Lucene Document instances, though, we want to go ahead and get the nice domain model instances of Student. What we’ll do is query against the index, pull all the pk’s for the hits out, then select for the domain objects using those pks (from the StudentIndex:

public List findStudents(final String search) throws ServiceException {
return this.findStudents(search, Integer.MAX_VALUE);
}

public List findStudents(final String search, final int numberOfResults) throws ServiceException {
final Query query;
try {
query = QueryParser.parse(search, StudentIndexer.NAME, analyzer);
}
catch (ParseException e) {
throw new ServiceException("Unable to make any sense of the query", e);
}
final ArrayList ids = new ArrayList();
try {
final IndexReader reader = IndexReader.open(index);
final IndexSearcher searcher = new IndexSearcher(reader);
final Hits hits = searcher.search(query);
for (int i = 0; i != hits.length() && i != numberOfResults; ++i) {
final Document doc = hits.doc(i);
ids.add(new Integer(doc.getField(StudentIndexer.IDENTITY).stringValue()));
}
searcher.close();
reader.close();
}
catch (IOException e) {
throw new ServiceException("Error while reading student data from index", e);
}
final List students = dao.findStudentsWithIdsIn(ids);
Collections.sort(students, new Comparator() {
public int compare(final Object o1, final Object o2) {
final Integer id_1 = ((Student) o1).getId();
final Integer id_2 = ((Student) o1).getId();
for (int i = 0; i != ids.size(); i++) {
final Integer integer = (Integer) ids.get(i);
if (integer.equals(id_1)) {
return -1;
}
if (integer.equals(id_2)) {
return 1;
}
}
return 0;
}
});
return students;
}

The findStudents(string, string, int): List method is a little bit more complex than I like as it does a few things: query against the lucene index, extract the primary keys for the hits, query for the students matching those pk’s (via the StudentDAO), and finally sorts the results (no way to specify the sort order in the query, it is dependent on the order of the hits from the lucene query). With that though, we support queries such as Tiffany, which is simple, or a more fun one, name: Aching phone: ???-1234 or what not. Go look at the Lucene query parser syntax. It is worth noting that the above query defaults to searching on the name field if no specific field is specified. This seems to make sense to me =)

If you look at the StudentIndex and StudentIndexer you will see there are also facilities for adding and removing documents from the lucene index. This gets important on any insert/update/delete operation. The update is important to catch as you need to remove the old entry and insert a new one in the index. Doing this is best done (my opinion) via an aspect which picks these operations out. That is outside the scope of this article though ;-)

For a larger application with more things being indexed (this just has two searchable domain types) I might generalize the search capability via a DocumentFactory such as:

public class BeanDocumentFactory implements DocumentFactory {
public Document build(Object entity) {
final Document document = new Document();
try {
final BeanInfo info = Introspector.getBeanInfo(entity.getClass());
final PropertyDescriptor[] props = info.getPropertyDescriptors();
for (int i = 0; i != props.length; ++i) {
final PropertyDescriptor prop = props[i];
final String name = prop.getName();
final Method reader = prop.getReadMethod();
final Object value = reader.invoke(entity, new Object[]{});
final Field field = Field.Text(name, String.valueOf(value));
document.add(field);
}
}
catch (Exception e) {
throw new RuntimeException("Handle these in real application", e);
}
return document;
}
}

But I have not needed to generalize it for a real project yet =)

Speaking of Lucene (which rocks) I am eagerly anticipating Erik Hatcher’s new book, Lucene in Action. If it is anything like Erik and and Steve Loughran’s Java Development with Ant Lucene will be a lucky project to have it in circulation.

About the author

Brian McCallister
Blog:
http://kasparov.skife.org/blog/

下一页 »