<?xml version="1.0" encoding="iso-8859-1"?>
<rss version="2.0">
<channel>
<title>Blogcritics Author: Craig Pfeifer</title>
<link>http://blogcritics.org/</link>
<description>A sinister cabal of superior bloggers on music, books, film, popular culture, politics, and technology - updated continuously.</description>
<language>en</language>
<copyright>Copyright 2005-2007 by the authors</copyright>
<lastBuildDate>Wed, 25 Jun 2003 16:02:18 EDT</lastBuildDate>
<docs>http://backend.userland.com/rss</docs>
<generator>Blogcritics.org custom software</generator>

<item>
<title>Announcement: Short-content feeds</title>
<link>http://blogcritics.org/</link>
<author>Phillip Winn</author><description>Sunday, August 26, 2007, marks the switch of all Blogcritics.org article feeds from full-content to short-content. This is the result of several converging factors, and is unfortunately a permanent decision (as permanent as any decision can be on the web, that is). We are aware of all of the reasons that this is a Bad Idea, and we are aware that some of you will be quite upset about having to click on something to read the free content, and we&#039;re sorry. Unfortunately, despite great effort, full-content feeds are not currently economically viable.

Two other factors are involved: full-content feeds have resulted in an unprecedented level of content theft, with BC content appearing on many websites, usually spam sites, without attribution or permission. This duplicate content causes a cascading set of problems, not the least of which is that search engines generally aren&#039;t favorable to duplicate content, and don&#039;t always guess correctly. Finally, our RSS advertising partner is strongly in favor of short-content feeds.

We hope that you&#039;ll continue to subscribe to BC via RSS, and when an article grabs your eye, it&#039;s only a click away, still free on the BC website. Thank you for your understanding.</description>
<category>Administration</category><guid isPermaLink="false">0@blogcritics.org</guid>
<pubDate>Sun, 26 Aug 2007 12:00:00 EDT</pubDate>
</item>
<item>
<title>Radiohead for Classical Piano</title>
<link>http://blogcritics.org/archives/2003/06/25/160218.php</link>
<author>Craig Pfeifer</author><description>&quot;True Love Waits: Christopher O&#039;Riley Plays Radiohead&quot; is an amazing fresh take on the best Radiohead songs from all their albums to date (excluding HTTF). The fact that so many RH songs translate naturally to classical piano is a testament that RH&#039;s songs are complex, and well-written with lots of little nooks and crannies that have yet to be explored.I knew I was old when I heard REM&#039;s &quot;Don&#039;t Go Back to Rockville&quot; arranged for 101 strings in a WalMart in suburban Virginia at 6p on a Saturday. I wanted to run around the store telling people &quot;NO! DON&#039;T LISTEN! MY FAVORITE BAND DOESN&#039;T REALLY SOUND LIKE THIS!&quot; But listening to this CD, I would eagerly share it with others.Like you.So go over to Amazon and listen to a sample. &quot;Everything in it&#039;s Right Place&quot; gives me chills. Put it on as background music the next time your friends come over. Wait until someone gets a look on their face like someone just farted and asks &quot;Waitaminute, is this radiohead?&quot; Then just sit there and smile and nod like the hardcore fan you are.</description>
<category>Music</category><guid isPermaLink="false">6504@blogcritics.org</guid>
<pubDate>Wed, 25 Jun 2003 16:02:18 EDT</pubDate>
</item>
<item>
<title>NO SPOILERS! Order of the Phoenix Best Book Yet!</title>
<link>http://blogcritics.org/archives/2003/06/25/102232.php</link>
<author>Craig Pfeifer</author><description>NO SPOILERS!I received my copy of HPatOotP Saturday morning and just finished reading it last night.Awesome awesome awesome. The backstories of the major characters are even more filled out than in Goblet of Fire (which also revealed quite a lot about the characters), and the rich tapestry is coming together in ways that not even the most feral fans could have imgined.Rowling certinaly isn&#039;t slowing the pace one bit, the characters continue to grow and become more complicated as they get older and their world evolves and we start to explore new places in both the Muggle and Wizarding worlds. This book is truly a turning point in the series where many of the characters &quot;come of age&quot; so to speak and transform (tranfigure?) themselves from students of wizardry to full-blown wizards and witches capable of handling themselves in real world situations, while learning to cope with the ever-so-painful time of the teen age years.Phew! My only regret is that I&#039;m done with the 5th book and the release date for the 6th installment hasn&#039;t been announced yet. But don&#039;t take my word for it.</description>
<category>Books</category><guid isPermaLink="false">6487@blogcritics.org</guid>
<pubDate>Wed, 25 Jun 2003 10:22:32 EDT</pubDate>
</item>
<item>
<title>New Barenaked Ladies Album</title>
<link>http://blogcritics.org/archives/2003/06/20/090457.php</link>
<author>Craig Pfeifer</author><description>From reading the Barnaked Ladies blog, they have written and recorded all the songs for the next album, and are currently in the mixing process. It&#039;s been 3 years since they released Stunt, and I&#039;m ready for some new Canadian music that isn&#039;t commercial punk (a la Avril &amp; Sum 41).</description>
<category>Music</category><guid isPermaLink="false">6360@blogcritics.org</guid>
<pubDate>Fri, 20 Jun 2003 09:04:57 EDT</pubDate>
</item>
<item>
<title>The WIRE : Best show on Television!</title>
<link>http://blogcritics.org/archives/2003/06/09/171411.php</link>
<author>Craig Pfeifer</author><description>I saw the second episode of the second season of HBO&#039;s new drama &quot;The Wire&quot; last night and I&#039;m blown away. This is the best show on television.The show is set in and around the City of Baltimore. Last season the center of attention was a courtyard in the projects that was the center of a drug trade that the police were staking out to unravel. But it&#039;s not yet another cop show, or another drug trafficking show. It&#039;s a show about flawed individuals who have jobs they may or may not like, make choices and suffer the consequences.Each season (13 episodes) follows a single case as the various investigating units (Baltimore City Police, Baltimore County Police, Maryland State Police) build their case, interact with the prosecuting units (federal and state lawyers/judges) and even have internal battles. You&#039;re not only taken along on the investigation, but you get to watch the meetings where the different units interact (which is the most fascinating point, since you realize that it&#039;s no different than any other workplace : there&#039;s a certain amount of bullshit inherent in every job).The second season is about the decline of the American blue-collar worker. Ever since the 1970&#039;s the American dream of &quot;If you&#039;re not so smart, but you have a strong back and are willing you bust your ass, you will never go hungry&quot; has been fading away as labor intensive jobs have moved overseas. Baltimore used to be an east coast manufacturing hub with the Lehigh Cement factory, a Bethlehem Steel plant and a Domino Sugar processing facility. Head writer and long time Baltimore resident David Simon saw this and wanted to make it a focal point according to his interview in the Baltimore City Paper. This season centers around crooked longshoremen working at the Port of Baltimore. They take care of &quot;cans&quot; (slang for large steel containers the size of a tracor trailer) that have special cargo and broken US Customs seals. They make sure that they get out of the yard without anyone noticing, for a small fee.A great ensamble cast (Wendell Pierce, Dominic West, John Doman)and great writing make for the best hour of television each week. New episode 10p Sundays HBO, replays Tuesday &amp; Friday night 10p.</description>
<category>Video</category><guid isPermaLink="false">6034@blogcritics.org</guid>
<pubDate>Mon, 9 Jun 2003 17:14:11 EDT</pubDate>
</item>
<item>
<title>Java Performance Tuning, 2nd Edition</title>
<link>http://blogcritics.org/archives/2003/03/31/013906.php</link>
<author>Craig Pfeifer</author><description>Review of ORA&#039;s 2nd Edition Java Performance Tuning
Overview
Performance has been the albatross around Java&#039;s neck for a long time. It&#039;s a popular subject when developers get together &quot;Don&#039;t use Vector, use ArrayList, it&#039;s more efficient.&quot; &quot;Don&#039;t concatenate Strings, use a StringBuffer, it&#039;s more efficient.&quot; It&#039;s a chance for the experienced developers to sit around the design campfire and tell ghost stories of previous projects where they implemented their own basic data structures {String, Linked List...} that was anywhere from 10-50% faster than the JDK implementation (and in the grand oral tradition of tall tales, it gets a little more efficient every time they tell it). Every developer has written a microbenchmark (a bit of code that does something 100-1000 times in a tight loop and measure the time it takes for the supposed &quot;expensive operation&quot;) to try and prove an argument about which way is &quot;more efficient&quot; based on the execution time. The problem is when running in a dynamic, managed environment like the 1.4.x JVM, there more factors that you don&#039;t control than you do, and it can be dificult to say whether one piece of code will be &quot;more efficient&quot; than another without testing with actual usage patterns. This book provides substantial benchmarks (not just simple microbenchmaks) with thorough coverage of the JDK including loops, exceptions, strings, threading, and even underlying JVM improvements in the 1.4 VM. This book is one of a kind in its scope and completeness.The Gory Details
The best part of this book is that it not only tells you how fast various standard Java operations are (sorting strings, dealing with exceptions, etc.), but he has kept all of the timing information from the previous edition of the book. This shows you how the VMs performance has changed from version 1.1.8 up to 1.4.0, and it&#039;s very clear that things are getting better. The author also breaks out the timing information for 3 different flavors of the 1.4.0 JVM: mixed interpreted/compiled mode (standard), server (with Hotspot), and interpreted mode only (no run time optimization applied).

PART 1 : LIES, DAMN LIES, AND STATISTICS
The book starts off with three chapters of sage advice about the tools and process of profiling/tuning. Before you spend any time profiling, you have to have a process and a goal. Without setting goals, the tuning process will never end and it will likely never be successful. The author outlines a general strategy that will give you a great starting point for your tuning task forces. Chapter 2 presents the profiling facilities that are available in the Java VM and how to interpret the results, while chapter 3 covers VM optimizations (different garbage collectors, memory allocation options) and compiler optimizations.

PART 2 : THE BASICS
Chapters 4-9 cover the nuts and bolts, code-level optimizations that you can implement. Chapter 4 discusses various object allocation tweaks including: lazy initialization, canonicalizing objects, and how to use the diferent types of references (Phantom, Soft, and Weak) to implement priority object pooling. Chapter 5 tells you more about handling Strings in Java that you ever wanted to know. Converting numbers (floats, decimals, etc) to Strings efficiently, string matching, it&#039;s all here in gory detail with timings and sample code. This chapter also shows the author&#039;s depth and maturity; when presenting his algorithm to convert integers to Strings, he notes that while his implementation previously beat the pants off of Sun&#039;s implementation, in 1.3.1/1.4.0 Sun implemented a change that now beats his code. He analyzes the new implementation, discusses why it&#039;s faster without losing face. That is just one of many gems in this updated edition of the book. Chapter 6 covers the cost of throwing and catching exceptions, passing parameters to methods and accessing variables of differnt scopes (instance vs. local) and different types (scalar vs. array). Chapter 7 covers loop optimization with a java bent. The author offers proof that an exception terminated loop, while bad programming style, can offer better performance than more accepted practices. Chapter 8 covers IO, focusing in on using the proper flavor of java.io class (stream vs. reader, buffered vs. unbuffered) to acheive the best performance for a gven situation. The author also covers performance isses with object serialization (used under the hood in most Java distributed computing mechanisms) in detail and wraps up the chapter with a 12 page discussion of how best to use the &quot;new IO&quot; package (java.nio) that was introduced with Java 1.4. Sadly, the author doesn&#039;t offer a detailed timing comparison of the 1.4 NIO API to the existing IO API. Chapter 9 covers Java&#039;s native sorting implementations and how to extend their framework for your specific application.PART 3 : Threads, Distributed Computing and Other Topics
Chapters 10-14 covers a grab bag of topics including: threading, proper Collections use, distributed computing paradigms, an optimization primer that covers full life cycle approaches to optimization. Chapter 10 does a great job of presenting threading, common threading pitfalls (deadlocks, race conditions), and how to solve them for optimal perforamce (e.g. proper scope of locks, etc). Chapter 11 provides a wonderful discussion about one of the most powerful parts of the JDK, the Collections API. It includes detailed timings of using ArrayList vs. LinkedList when traversing and building collections. To close the chapter, the author discusses different object caching implementations and their individual performance results. Chapter 12 gives some general optmization principles (with code samples) for speeding up distributed computing including techniques to minimize the amount of data transferred along with some more practical advice for designing web serivces and using JDBC. Chapter 13 deals specifically with designing/architecting applications for performance. It discusses how performance should be addressed in each phase of the development cycle (analysis, design, development, deployment), and offers tips a checklist for your performance initiatives. The puzzling thing about this chapter is why it is presented at the end of the book instead of towards the front with all of the other process-related material. It makes much more sense to put this material together up front. Chapter 14 covers various hardware and network aspects that can impact applicaiton performance including: network topology, DNS lookups, and machine specs (CPU speed, RAM, disk).
PART 4 : J2EE Performance
Chapters 15-18 deal with performance specifically with the J2EE APIs: EJBs, JDBC, Servlets and JSPs. These chapters are essentially tips or suggested patterns (use coarse grained EJBs, apply the Value Object pattern, etc) instead of very low-level performance tips and metrics provided in earlier chapters. You could say that the author is getting lazy, but the truth is that due to huge number of combinations of appserver/database vendor combinations, it would be very dificult to establish a meaningful performance baseline without a large testbed. Chapter 15 is a reiteration of Chapter 1, Tuning Strategy, re-tooled with a J2EE focus. The author reiterates that a good testing strategy determines what to measure, how to measure it, and what the expectations are. From here, the author presents possible solutions including load balancing. This chapter also contains about 1.5 pages about tuning JMS, which seems to have been added to be J2EE 1.3 acronym compliant. Chapter 16 provides excellent information about JDBC performance strategies. The author presents a proxy implementation to capture accurate profiling data and minimize changes to your code once the profiling effort is over. The author also covers data caching, batch processing and how the different transaction levels can affect JDBC performance. Chapter 17 covers JSPs and servlets, with very little earth shattering information. The author presents tips such as consider GZipping the content before returning it to the client, and minimize custom tags. This chapter is easily the weakest section of the books. Admittedly, it&#039;s difficult to optimize JSPs since much of the actual running code is produced by the interpreter/compiler, but this chapter either needs to be beefed up or dropped from future editions. Finally, chapter 18 provides a design/architecture-time approach towards EJB performance. The author presents standard EJB patterns that lend themselves towards squeezing greater performance out of the often maligned EJB. The patterns include: data access object, page iterator, service locator, message facade, and others. Again, there&#039;s nothing earth shattering in this chapter. Chapter 19 is list of resources with links to articles, books and profiling/optimizing projects and products.What&#039;s Bad?
Since the book has been published, the 1.4.1 VM has been released with the much anticipated concurrent garbage collector. The author mentions that he received an early version of 1.4.1 from Sun to test with. However, the text doesn&#039;t state that he used the concurrent garbage collector, so the performance of this new feature hasn&#039;t been determined by this text.

The J2EE performance chapters aren&#039;t as strong as the J2SE chapters. After seeing the statistics and extensive code samples of the J2SE sections, I expected a similar treatment for J2EE. Many of the J2SE performance practices still apply for J2EE (serialization most notably, since that his how EJB, JMS, and RMI ship method parameters/results across the wire), but it would be useful to fortify these chapters with actual performance metrics.So What&#039;s In It For Me?
This book is indispensible for the archtiect drafting the performance requirements/testing process, and contains sage advice for the programmer as well. It&#039;s the most up to date publication dealing specifically with performance of Java applications, and is a one of a kind resource.</description>
<category>Books</category><guid isPermaLink="false">4220@blogcritics.org</guid>
<pubDate>Mon, 31 Mar 2003 01:39:06 EST</pubDate>
</item>
<item>
<title>Jackass: The Movie</title>
<link>http://blogcritics.org/archives/2003/03/30/142650.php</link>
<author>Craig Pfeifer</author><description>I picked up Jackass: The Movie (widescreen) on DVD this week (available on Wednesday) and I have mixed feelings. The movie is (IMHO) hilarious, but the DVD extras are so so.The movie -&gt; DVD transfer is very well done. It&#039;s tough to complain about how a movie looks that was partially shot with glasses mounted cameras, but the quality didn&#039;t suffer any more than the original did.The &quot;5 hours of extras&quot; is misleading. The 5 hours is made up of:
- commentary by Johnny Knoxville, Dmitry Elyashkevich, and Jeff Tremaine
- group commentary by the entire cast
- MTV making of jackass special
- Andrew WK music videoThe 27 minutes of outtakes are just that, stuff they didn&#039;t put in the movie so that it was a better movie. It&#039;s basically a lame blooper reel without anything really embarassing or funny in it. I was a bit disappointed with this.Then there&#039;s the commentary by the entire cast. I was hoping they would talk about where they shot that particular bit, the circumstances surrounding the bit or funny things that happened that they didn&#039;t show. Well, not really. It&#039;s more like them sitting around making dick jokes, laughing and carrying on conversations that are totally orthogonal to what&#039;s going on in the movie. At first I was disappointed, but then I thought about it some more. What do you expect from guys who run around downtown Tokyo in panda suits and apply muscle stimulators to their fun parts? &quot;I remember the first time I saw Kurosawa&#039;s Rashomon when I was a art histroy and semiotics double major at Brown and it really inspired this scene.&quot; I don&#039;t think so.The commentary with Johnny, Jeff and Dmitry is where the money is. They give the inside scoop about each scene; where, how and why. This is why you by DVDs. They talk about how they setup each scene, what could&#039;ve gone wrong to totally blow it, and what really did go wrong.All in all, a bit disappointing, but worth it to enjoy this bit of age-appropriate fun in the privacy of your own home.</description>
<category>Video</category><guid isPermaLink="false">4213@blogcritics.org</guid>
<pubDate>Sun, 30 Mar 2003 14:26:50 EST</pubDate>
</item>

</channel>
</rss>