Wicked Cool Java
Simon P. Chappell writes "Every now and then, as a book reviewer, you just have to take a chance. The way it works is that editors ply their wares to you, sending you lists of available books on a regular basis and tempting titles catch your eye. The problem is that until you've committed to review the book, received it and read it, you don't know whether you've found a good one or have just been a victim of drive-by marketing. This was such a book. The title sounded good and I just had to try it out. But would it live up to the name that it bore?" Read the rest of Simon's review.
Wicked Cool Java
author
Brian D. Eubanks
pages
224 (12 page index)
publisher
No Starch Press
rating
8/10
reviewer
Simon P. Chappell
ISBN
1593270615
summary
Programmers and technical leads will love this book.
Most of the books that I review are targeted for programmers and this is no exception to that rule. If you code Java for fun or profit, then this book is for you. That said, as one whose day job is a technical lead for Java development, I actually appreciated the book more than I expected. For a technical lead, just knowing that something is possible and seeing clear examples of how to do it, is a huge relief. When you're the guy who has to lead the efforts to fulfill I.S. management's promises, it's good to know that your team can do some of the things they said we could, using language features in conjunction with available open-source and free libraries.
The back cover calls it an "idea sourcebook" and I'm going to concur with that description. It contains a very wide range of subject matter and so each chapter addresses a portion of that spectrum. The first three chapters cover core Java skills and will be applicable to every reader of the book. The balance of the chapters are more discretionary and will appeal to different readers to differing levels. Each of the chapters brings about a dozen thoughts or tools concerning the subject area to the reader. Most of these tools are explained and short code samples are given for their use.
The first chapter covers the Java language and some of the core APIs. It looks at a few of the forgotten gems of the Java language while mostly looking at some of the fancy new features of Java 5. Chapter two addresses String utilities, primarily through the regular expression capabilities introduced in Java 1.4. String handling is a first order skill, even in these days of objects, so this chapter is very welcome. Chapter three looks at processing XML. Like string handling, XML processing is becoming a first order skill, that even if you don't like (and I don't), it is still important to be able to handle the vast quantity of the stuff that we are surrounded with.
Chapter four looks at the semantic web. This is a world that speaks RDF, RSS and Dublin Core. If you already speak that dialect of geek, this is your chapter. The fifth chapter examines scientific and mathematical applications; calculation engines, arbitrary-precision arithmetic and neural network drivers. Chapter 6 brings us graphics and data visualization; graphing and report generation are the order of the day here. Chapter seven looks at multimedia and synchronization. This is the chapter for learning to make music, having your computer talk back to you and having more fun with threads than you ever thought possible. The last chapter, number eight, is titled "Fun, Integration and Project Ideas". It's a veritable grab bag of ideas, ranging from using Java to control a LEGO robot to writing in JVM Assembly Language.
While I don't wish to steal any thunder from the book, perhaps an example or two would be appropriate at this point? The JScience API is discussed in chapter five and it's unit framework is explored from pages 109 to 111. Calculations with values of differing units can be problematic; just ask any NASA engineer. The JScience framework allows you to work in the appropriate units for a value and have all calculations with those units convert themselves correctly. There are many practical uses for this, but I enjoyed the furlongs per fortnight example that the book provides: did you know that the speed of light in a vacuum is 1,802,617,499,785.253 furlongs per fortnight? In chapter two there is a great example of generating random text. This can be useful for suggesting pronounceable passwords and just such an example is given on pages 34 to 36.
If you have the desire to explore some of the uncharted waters of the Java world, then there's a good chance that you'll like this book. If you are the kind of person who loves to hear about new and interesting things that you can do with Java and are happy to have them served up in a book where they're categorized and presented with code examples, you'll love this book. As I mentioned earlier, this book is also useful for those leading teams of Java programmers; where knowing that something is doable is of great value in and of itself.
If you are one of the large number of Java programmers still working at the 1.4.x level, or who needs to target 1.4.x JVMs, the first chapter will be the least useful of the whole book, with the majority of it's examples based on Java 1.5. If you are not really much of a one for interesting Java coding suggestions, with examples, then perhaps this is not the book that you thought you were looking for.
The book has a website, the cunningly named wickedcooljava.com that provides links to all of the libraries and code projects mentioned in the book.
This is a great book. I loved it, but then I fall into the realm of the perpetually curious and I love to explore new and interesting things to use Java for."
You can purchase Wicked Cool Java from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.
Most of the books that I review are targeted for programmers and this is no exception to that rule. If you code Java for fun or profit, then this book is for you. That said, as one whose day job is a technical lead for Java development, I actually appreciated the book more than I expected. For a technical lead, just knowing that something is possible and seeing clear examples of how to do it, is a huge relief. When you're the guy who has to lead the efforts to fulfill I.S. management's promises, it's good to know that your team can do some of the things they said we could, using language features in conjunction with available open-source and free libraries.
The back cover calls it an "idea sourcebook" and I'm going to concur with that description. It contains a very wide range of subject matter and so each chapter addresses a portion of that spectrum. The first three chapters cover core Java skills and will be applicable to every reader of the book. The balance of the chapters are more discretionary and will appeal to different readers to differing levels. Each of the chapters brings about a dozen thoughts or tools concerning the subject area to the reader. Most of these tools are explained and short code samples are given for their use.
The first chapter covers the Java language and some of the core APIs. It looks at a few of the forgotten gems of the Java language while mostly looking at some of the fancy new features of Java 5. Chapter two addresses String utilities, primarily through the regular expression capabilities introduced in Java 1.4. String handling is a first order skill, even in these days of objects, so this chapter is very welcome. Chapter three looks at processing XML. Like string handling, XML processing is becoming a first order skill, that even if you don't like (and I don't), it is still important to be able to handle the vast quantity of the stuff that we are surrounded with.
Chapter four looks at the semantic web. This is a world that speaks RDF, RSS and Dublin Core. If you already speak that dialect of geek, this is your chapter. The fifth chapter examines scientific and mathematical applications; calculation engines, arbitrary-precision arithmetic and neural network drivers. Chapter 6 brings us graphics and data visualization; graphing and report generation are the order of the day here. Chapter seven looks at multimedia and synchronization. This is the chapter for learning to make music, having your computer talk back to you and having more fun with threads than you ever thought possible. The last chapter, number eight, is titled "Fun, Integration and Project Ideas". It's a veritable grab bag of ideas, ranging from using Java to control a LEGO robot to writing in JVM Assembly Language.
While I don't wish to steal any thunder from the book, perhaps an example or two would be appropriate at this point? The JScience API is discussed in chapter five and it's unit framework is explored from pages 109 to 111. Calculations with values of differing units can be problematic; just ask any NASA engineer. The JScience framework allows you to work in the appropriate units for a value and have all calculations with those units convert themselves correctly. There are many practical uses for this, but I enjoyed the furlongs per fortnight example that the book provides: did you know that the speed of light in a vacuum is 1,802,617,499,785.253 furlongs per fortnight? In chapter two there is a great example of generating random text. This can be useful for suggesting pronounceable passwords and just such an example is given on pages 34 to 36.
If you have the desire to explore some of the uncharted waters of the Java world, then there's a good chance that you'll like this book. If you are the kind of person who loves to hear about new and interesting things that you can do with Java and are happy to have them served up in a book where they're categorized and presented with code examples, you'll love this book. As I mentioned earlier, this book is also useful for those leading teams of Java programmers; where knowing that something is doable is of great value in and of itself.
If you are one of the large number of Java programmers still working at the 1.4.x level, or who needs to target 1.4.x JVMs, the first chapter will be the least useful of the whole book, with the majority of it's examples based on Java 1.5. If you are not really much of a one for interesting Java coding suggestions, with examples, then perhaps this is not the book that you thought you were looking for.
The book has a website, the cunningly named wickedcooljava.com that provides links to all of the libraries and code projects mentioned in the book.
This is a great book. I loved it, but then I fall into the realm of the perpetually curious and I love to explore new and interesting things to use Java for."
You can purchase Wicked Cool Java from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.
This book name is wicked retahded.
I feel like I'm back in 1998...
Like starbucks. And anime. Gay.
Is there a way to get a list of windows printers without using native calls?
Is there a way to print "straight through" to local or network connected printers in Java? Eg. printing a few lines of text and escape codes (not an entire "page") on a line printer (dot matrix, thermal, whatever.)
Is there a way for a java app to trap keypresses when the java app is out of focus, without using a native interface?
...from the people who brought you "Super Jumbo Shrimp" and "Military Intelligence: An Introduction".
With spending like this, exactly what are "conservatives" conserving?
Java is slower than C, yet less powerful than C++.
Java is portible but so is C#, C, C++.
Java currently doesnt seem to be a match for C#, Java is ok, but i have yet to see a successful project written in java.
Looking at the APIs used by the book, I think he forgot two very important ones:
PDFBox - A library that gives you complete parsing control over PDFs. You can create documents from scratch, extract text, merge pages, change text/images/fields, populate forms, etc. With the use of PDFs in corporate environments on the rise, you just can't go wrong with PDFBox in your toolbox.
POI - Does your company use Office documents in any way, shape, or form? Then you need POI. Create spreadsheets and word documents from scratch, modify existing documents, create spreadsheet computers and reports on the fly. The possibiliies are endless, and your boss with thank you for not having to deaL with ANOTHER CSV file.
Javascript + Nintendo DSi = DSiCade
or "Wicked Cool Philately"
If you are not really much of a one for interesting Java coding suggestions, with examples, then perhaps this is not the book that you thought you were looking for. That's something that a relatively high level language such as Java lends itself all too well to. It seems, from this review at least, that this is a cookbook, but rather than the very useful code in something like the Perl Cookbook, this is full of trivial examples that rarely apply to the real world. Not much good to learn from, not much good to copy from. I doubt it'll be appearing in my collection any time soon.
http://twitter.com/onion2k
Was I just biased against the book originally b/c the rather childish/dumb name? I read the headline... got the impression the reviewer disliked the book. Decided to read the review anyway and kept thinking to myself the book sounds decent waiting for a "but" and never found one. I may have to check it out.
decidedly offtopic but relevant.
If it were done when 'tis done, then t'were well it were done quickly... MacBeth
...concerned with String libs. I need to be paid more.
Try it and SEE!
The simple truth is that interstellar distances will not fit into the human imagination
- Douglas Adams
"The title sounded good?"
Uh... no. If you missed such an obvious sign, you probably shouldn't be reviewing anything.
I've been using JExcelAPI for a while, and it's dirt simple to use for reading and writing Excel files. It's fairly complete feature-wise, and it's been able to do everything I need. It also has an easy learning curve, which was helpful when we were in a crunch.
You can accomplish anything you set your mind to. The impossible just takes a little longer.
Must be from New England.
Java sucks- everyone knows that. If you want C/C++, use them; if you want something better, you step up to Smalltalk or Lisp. :P I mean, no one uses Java unless they're forced to. Or brainwashed.
Why don't we ever see a book review on here that says, "This book is a total joke, a scam to make money on a buzzword?"
I'm sure such a book review might not pay as well in kickbacks, but it sorta devalues the point of doing book reviews if you never see negative ones.
I've had enough abrasive sigs. Kittens are cute and fuzzy.
inheritance + abstraction = crazy delicious
Athletic Scholarships to universities make as much sense as academic scholarships to sports teams.
This is a world that speaks RDF, RSS and Dublin Core. If you already speak that dialect of geek, this is your chapter.
Great, now I am going to have to buy several other books just to be able to read this one chapter.
He who knows best knows how little he knows. - Thomas Jefferson
It appears they are trying to rip off the writers of good java books (www.wickedlysmart.com, makers of the Head First series of Java books)
Ick.
Wicked cool high school class! I read the book but got a C for cool?
Because I have low karma, I need pills.
This would make a great text book for advanced java programming classes.
"For a technical lead, just knowing that something is possible and seeing clear examples of how to do it, is a huge relief."
If you're leading a good programming team, you don't need a book to know if something is doable.
If the team isn't good enough, then the book won't help.
The title sounded good and I just had to try it out. But would it live up to the name that it bore?"
No.
This book is a lot of fun as it focuses on many interesting ideas for Java programmers. Do not expect complete solutions to complex problems. Instead it highlights many open source Java packages and APIs and gives very simple examples of how they can be used. It is up to the reader to go to the web, download the various packages, and play with them. For example, in the area of music, the author discusses JMusic, which provides a solid framework for computer-assisted composition in Java, and is also used for generative music, instrument building, interactive performance, and music analysis. The book just shows a simple program that generates a filtered sawtooth wave, and a few other simple examples. The readers are expected to explore the API themselves for meatier applications. Other open source packages that are highlighted and explored on a simple level are JFugue, another API for music programming, Javolution for embedded programming applications, and Piccolo, an API from the University of Maryland that supports the development of 2D structured graphics programs in general and Zoomable User Interfaces (ZUIs), in particular.
The book also explores the more interesting parts of the Java language itself such as using the AWT Robot class for automating key/mouse events, using the new enum types in Java 5, and several off-beat applications of the various Java classes that handle XML data.
None of the ideas shown here lead to full blown applications that will make you rich. Instead, the idea is to get you thinking in creative ways about what can be accomplished with the Java language and also to introduce you to some interesting open source API's that are out there on the web that are both labor-saving and creative. I would recommend this book to any experienced Java programmer. I notice that Amazon does not show the table of contents so I do that here:
Chapter 1: Java Language and Core APIChapter 2: String Utilities
Chapter 3: Processing XML and HTML
Chapter 4: Crawling the Semantic Web
Chapter 5: Math and Science
Chapter 6: Graphics and Data Visualization
Chapter 7: Multimedia and Sychronization
Chapter 8: Fun, Integration and Project Ideas
The above was from an Amazon spotlight review.
Save yourself $4.19 by buying the book here: Wicked Cool Java. And if you use the "secret" A9.com discount, you can save an extra 1.57%!
What??! NO chapter on UI design? So java programs will still be resource hogs AND look ugly even after this book hits the shelves? Wicked Cool, indeed.
I particularly enjoy rubbing your noses in my towering intellect. On a personal note, I am an avid mustard enthusiast.
If your customer/employer works with OfficeXP and later (or OpenOffice, for that matter) you can use the XMLSpreadsheet format. This format has 90% the functionality of the native xls format (no macros or graphs, but can do tabs, pivot tables, etc. This way you aren't tied down to a particular api or programming language. Plus you can use design your spreadsheet as a php/jsp page, or use xslt to transform from your xml data to the excel format.
Best of all, Microsoft has published very good documentation as well as the XML Schema (which comes in quite handy for text editors that use schemas for tag-completion. They are also much easier to "debug" because the file format is human readable (well... it's ugly but still better than looking at bif8 in a hex editor).
The Complete Idiot's Guide to Wicked Cool Ornithology for Dummies
I am sick of working with you amatures ! The correct title for the tome would be:
The Complete Idiot's Ultimate Guide to How to Learn Extreme Wicked Cool Java for Dummies in a Nutshell in 24 Hours
music lover since 1969
In the old Perl Journal there was a review of Perl for Dummies. It was two pages long and it must have ripped every single chapter in the book (oddly enough I never picked up a copy of the book to check). It was one of the best book reviews I have ever read because it meshed so well with everything I think is wrong with most popular press computer books (too much cognitive overhead too early in introductory texts and too much recycling of on-line documentation in all of the books). Not sure what it did to ad revenue to publish such a scathing review but it made me swear udying loyalty to the Perl Journal.
I enjoyed the furlongs per fortnight example that the book provides: did you know that the speed of light in a vacuum is 1,802,617,499,785.253 furlongs per fortnight?
Abe: "The metric system is the tool of the devil! My car gets forty rods to the hogshead, and that's the way I likes it!"
Philately will get you nowhere
NT needed.
So, what he's saying is, you have to read the book to find out what sort of review to write, instead of just believing that every book you get is brilliant and regurgitating the associated press release?
Life certainly is tough as a book reviewer. I bet sometimes they even put favourable quotes on the back of the book to throw you. But they're no use with our wily correspondent!
Oh wait... Java sucks. Why the hell would I ever read this?
The author wants to show off an evolutionary computation (genetic algorithms, genetic programming, evolution strategies, etc.) package in Java and he picks ... jgap? Too simple. IMHO, and I think in the opinion of most EC Java coders, the system to beat is ECJ. [and I know]
ebay
google
azureus
eclipse
oracle stored procedures
jedit
tribal trouble
most of the enterprise websites on the planet
etc... etc...
We all knew that. Google told us.
Karma: It's all a bunch of tree-huggin' hippy crap!
Wicked Java, I get. Cool? Doesn't fit in the same sentance as Java.
I'd really like to see a book that covers in-depth the use of reflection in java. I've played around with it a bit and it seems like it's a really nice way to supplement some of the problems caused by the lack of pointers in Java. Unfortunately, it also seems to be one of the things for which the documentation is a little lean. Anyone know of a good book that covers this aspect of Java?
Famous Last Words: "hmm...wikipedia says it's edible"
Wicked Cool Shell Scripts... Wicked Cool PHP (out soon) and a few others.
-JM (former no starch press editor)
Hyperic Community Manager
ok, not that funny but troll?
"This can be useful for suggesting pronounceable passwords and just such an example is given on pages 34 to 36."
;-)
That's one hell of a long password. I guess it's implied in the phrase `pronounceable passwords' that one is allowed to take coffee breaks