<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>After Hours</title>
	<atom:link href="http://onegearonegroove.com/afterhours/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://onegearonegroove.com/afterhours</link>
	<description>various musings from my professional life</description>
	<lastBuildDate>Thu, 24 Dec 2009 16:57:04 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>digital + physical</title>
		<link>http://onegearonegroove.com/afterhours/?p=69</link>
		<comments>http://onegearonegroove.com/afterhours/?p=69#comments</comments>
		<pubDate>Thu, 24 Dec 2009 16:56:38 +0000</pubDate>
		<dc:creator>hal</dc:creator>
				<category><![CDATA[miscellaneous]]></category>

		<guid isPermaLink="false">http://onegearonegroove.com/afterhours/?p=69</guid>
		<description><![CDATA[The title comes from Alan Reiter&#8217;s recent article, &#8220;Amazon Fosters Emergence of &#8216;Digital+Physical&#8217; Sales&#8221;. I completely agree with the premise: there would be considerable utility in being able to access content in multiple forms even for a modest upcharge.
When Amazon first launched its Kindle, I put together a handful of thoughts on the idea. I [...]]]></description>
			<content:encoded><![CDATA[<p>The title comes from Alan Reiter&#8217;s recent <a href="http://www.internetevolution.com/author.asp?section_id=526&amp;doc_id=186049">article</a>, &#8220;Amazon Fosters Emergence of &#8216;Digital+Physical&#8217; Sales&#8221;. I completely agree with the premise: there would be considerable utility in being able to access content in multiple forms even for a modest upcharge.</p>
<p>When Amazon first launched its <a href="http://www.amazon.com/Kindle-Wireless-Reading-Display-Generation/dp/B0015T963C/">Kindle</a>, I put together a handful of <a href="http://onegearonegroove.com/afterhours/?p=45#more-45">thoughts</a> on the idea. I also commented towards the end that bundling the digital and physical would be a powerful approach. This was two years ago and there hasn&#8217;t been much movement on this front.</p>
<p>It&#8217;s still true that you some texts are eligible for the <a href="http://www.amazon.com/gp/help/customer/display.html?ie=UTF8&amp;nodeId=110744011">Amazon Upgrade</a>. This feature enables you to access electronic versions of the physical book you purchased for a small fee. Aside from expanding the number of books that are upgradable, it seems that this service is mostly forgotten. The idea was good but it fell short of being really useful. The problem, of course, is that you have to be online. Further, similar online services were launched, such as <a href="http://my.safaribooksonline.com/">Safari</a>, which provide online access to <em>a lot</em> of books, though they are typically technical. As well, Safari is subscription based (per-month or annual payment options) which might be less price competitive in the long run.  That said, if you belong to a University or corporation, it is possible the enterprise purchased a site license giving employees/students access.</p>
<p>The most obvious connection is to merge Amazon Upgrade with Kindle. Given the lack of information on the issue on Amazon&#8217;s site, that hasn&#8217;t happened and it doesn&#8217;t seem to be happening any time soon.</p>
<p>It would incredibly useful to have Kindle, online and physical access to content, especially for those of us in a technical or education field. Kindle certainly provides the most flexible access to content. However, neither the Kindle nor it&#8217;s larger sibling, <a href="http://www.amazon.com/Kindle-Wireless-Reading-Display-Generation/dp/B0015TCML0">Kindle DX</a>, is the best <a href="http://news.cnet.com/8301-13512_3-10234956-23.html">format for all texts</a>, especially high-resolution, color-dependent graphics. While book images and graphics are typically sufficient, the online environment can offer much greater resolution and even significant improvements in annotations (publisher, author or everyone generated). This includes inline errata which, for technically oriented books, could prove invaluable. (Ever tried learning a new programming language from a book with grave errors? Math texts with wrong answers or conclusions?) From an educator&#8217;s point of view, access to online content would enable graphics and passages to be clearly displayed in the classroom for discussion.</p>
<p>For the record, I don&#8217;t think the Kindle is key in this endeavor. Ultimately having online access to and third party storage of your media means less to personally manage and that is the attraction.</p>
<p>I do understand book/music/video publishers&#8217; concerns about lost revenue: purchase a hard copy, get the digital access, sell the hard copy to a friend for a reduced rate. I have read more articles than I care to count identifying the need for these domains to develop a business model that meets the needs of the times but I have yet to see one suggested that really addresses the problems on both sides (comments welcome if you know of one). Maybe it just comes down to publishers taking a hit on their bottom line. I haven&#8217;t really thought this through.</p>
<p>In any event, as Reiter discusses, the opportunity is ripe for the change. Hopefully a solution, good for both producers and consumers, isn&#8217;t far from emerging.</p>
]]></content:encoded>
			<wfw:commentRss>http://onegearonegroove.com/afterhours/?feed=rss2&amp;p=69</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>dr. dobb&#8217;s deceased</title>
		<link>http://onegearonegroove.com/afterhours/?p=66</link>
		<comments>http://onegearonegroove.com/afterhours/?p=66#comments</comments>
		<pubDate>Fri, 13 Feb 2009 00:13:21 +0000</pubDate>
		<dc:creator>hal</dc:creator>
				<category><![CDATA[publications]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://onegearonegroove.com/afterhours/?p=66</guid>
		<description><![CDATA[I received a notice in the mail today that Dr. Dobb&#8217;s Journal will, as of the February 2009 issue, no longer be providing the hardcopy magazine. Instead, it will transition to an all-online publication. There will still be some DDJ print appearing the InformationWeek once a month. This was a big surprise to me though [...]]]></description>
			<content:encoded><![CDATA[<p>I received a notice in the mail today that <a href="http://www.ddj.com"><em>Dr. Dobb&#8217;s Journal</em></a> will, as of the February 2009 issue, no longer be providing the hardcopy magazine. Instead, it will transition to an all-online publication. There will still be some <em>DDJ</em> print appearing the <a href="http://www.informationweek.com"><em>InformationWeek</em></a> once a month. This was a big surprise to me though it seems it&#8217;s been <a href="http://www.ddj.com/linux-open-source/212700891">common knowledge</a> for a while.</p>
<p><em>DDJ</em> was one of the few independent technical publications I subscribe to as it is, in my mind, one of the best produced. I carried the issues in my bag for weeks and read an article when I had a short break in the day. I usually read most of it, especially the regular columns.</p>
<p>I find the cancellation as disturbing as when I found out <em>Software Development</em> was no longer to be printed and was <a href="http://www.ddj.com/architect/sdmag.jhtml">absorbed</a> by <em>DDJ</em>. I viewed <em>DDJ</em> at that time, as I do now, to be a great publication but it wasn&#8217;t <em>Software Design</em>. They overlapped but definitely hit different niches. </p>
<p>It&#8217;s similar, too, to when I was deemed no longer eligible to receive <a href="http://www.embedded.com/"><em>Embedded System Programming</em></a>, which apparently is now <em>Embedded Systems Design</em>, for free. The subscription rate isn&#8217;t horrible ($55 as of today) but, for me, it was more the principle. I&#8217;m not actively working on embedded systems anymore and really would have no reason to purchase products from the advertisers so I can see the reasoning.</p>
<p>The cancellation is just unfortunate on a number of levels.</p>
<p><span id="more-66"></span><br />
While I certainly enjoy the online access to articles I want to reference, having the material appear solely on the web will significantly dilute what <em>DDJ</em> had to offer. Sure, the articles will be of the same quality and the ability to provide even more to the reader will be attractive in some ways but the print offered something special: limited space.</p>
<p>The fact that the print version could only include so many articles to span so many pages meant that article quality had to significantly enter the equation. Having effectively infinite space to store and offer content means that there there is less incentive to not publish articles. I have a hard time believing that the average quality won&#8217;t diminish. The other thing about the limited space is that there are starting and ending points and a very simple way to navigate the content. Reading the magazine left you with a sense of accomplishment when you finally read that last article. </p>
<p>The bundling of a small number of articles is not to be taken lightly. The editorial staff would have to find balance among the content or weave together articles that offered a common thread. I think this is important. You can&#8217;t replace the collective works of Vonnegut with a compendium of a handful of chapters from each book he wrote. A book contains coherent, logically related content that makes little sense when read only in pieces. I feel the same way about CDs. While I can see the attraction of to scouring <a href="http://www.apple.com/itunes/">iTunes</a> and buying a handful of singles, I think it does the artist an injustice. As with magazines and books, the artists, or so I would like to think, decide on a subset of their creations bundled together to convey a story or a set of emotions. The songs gain meaning from their neighbors.</p>
<p>There is another added benefit to the hardcopy. As I spend most of my day interacting with my machine, staring at LCD renderings, listening to fans and disk grinds, I find it a well-needed break to pick up another form of media. With a printed magazine, I am able to tuck it under an arm and go anywhere to read. I can move it closer or farther away. I can write on it. I can rip things out. I can share a tangible thing with another human being. I am unshackled from looking at the immense world through a tiny little window.</p>
<p>I also like the fact that most print journals tend to be uncluttered and certainly free of moving, talking and expanding ads. There are times when the ads get in the way but for the most part, they are benign. The real focus is the content.</p>
<p>Aside from the print/digital conversation, there is also the issue of <em>DDJ</em> appearing as a subset of <em>InformationWeek</em>. As <em>DDJ</em> and Software Design had different audiences, it&#8217;s even more the case between <em>DDJ</em> and <em>InformationWeek</em>. I also think that InformationWeek just doesn&#8217;t offer the depth in its articles that <em>DDJ</em> did with theirs.</p>
<p>Though the print version of <em>DDJ</em> has met its demise, there are still many other publications that remain and are worth a read. One of which is the <a href="http://cacm.acm.org/"><em>Communications of the ACM</em></a>. It recently underwent a transformation in terms of its content and presentation and it was a marked improvement. I couldn&#8217;t be happier with the results; it might be that it hearkens back to the days <em>Software Development</em> (for me anyway).</p>
<p>So it goes. I&#8217;ll always have the back issues that occupy half of a shelf in my office.</p>
]]></content:encoded>
			<wfw:commentRss>http://onegearonegroove.com/afterhours/?feed=rss2&amp;p=66</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>review &#8211; programming collective intelligence</title>
		<link>http://onegearonegroove.com/afterhours/?p=61</link>
		<comments>http://onegearonegroove.com/afterhours/?p=61#comments</comments>
		<pubDate>Mon, 12 Jan 2009 01:43:06 +0000</pubDate>
		<dc:creator>hal</dc:creator>
				<category><![CDATA[book]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[reviews]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://onegearonegroove.com/afterhours/?p=61</guid>
		<description><![CDATA[

copyright O&#8217;Reilly Media, Inc.

Programming Collective Intelligence: Building Smart Web 2.0 Applications
by Toby Segaran
2007 O&#8217;Reilly Media
Rating: 
Late last spring, maybe early summer, I picked up a copy of this book. I didn&#8217;t really have time to engage it until a little before the fall semester started as I included it in a class. The more I [...]]]></description>
			<content:encoded><![CDATA[<div class="caption left">
<a href='http://oreilly.com/catalog/9780596529321/' title='Cover - Programming Collective Intelligence'><img src='http://onegearonegroove.com/afterhours/wp-content/uploads/2009/01/prog_coll_intell_cover.gif' alt='Cover - Programming Collective Intelligence' /></a><br />
copyright O&#8217;Reilly Media, Inc.
</div>
<p><strong>Programming Collective Intelligence: Building Smart Web 2.0 Applications</strong><br />
<em>by Toby Segaran</em><br />
2007 O&#8217;Reilly Media</p>
<p><strong>Rating:</strong> <img class="rateit" src="http://onegearonegroove.com/afterhours/wp-content/plugins/rateit/images/star-full.png" /><img class="rateit" src="http://onegearonegroove.com/afterhours/wp-content/plugins/rateit/images/star-full.png" /><img class="rateit" src="http://onegearonegroove.com/afterhours/wp-content/plugins/rateit/images/star-full.png" /><img class="rateit" src="http://onegearonegroove.com/afterhours/wp-content/plugins/rateit/images/star-full.png" /><img class="rateit" src="http://onegearonegroove.com/afterhours/wp-content/plugins/rateit/images/star-empty.png" /></p>
<p>Late last spring, maybe early summer, I picked up a copy of this book. I didn&#8217;t really have time to engage it until a little before the fall semester started as I included it in a class. The more I worked through the text, the more I realized that this book is a lot of fun. It&#8217;s not for the novice or those who want things more fully explained.</p>
<p>Still, if you want to learn a great deal about how to perform mining on data openly (mostly) accessible on the web with the understanding the technical details are often left to the reader which may mean much investigation outside the text, I highly recommend it. As I said, it&#8217;s fun.</p>
<p><span id="more-61"></span><br />
The book uses Python, with assorted third-party libraries, and assumes the reader is either comfortable with the language or is capable of learning it they follow along. I happened to be in latter and took this as an opportunity to learn Python. </p>
<p>In the introduction, Segaran points the reader to an introductory Python book and then provides a brief summary of some of the &#8220;quirkier&#8221; aspects of Python syntax: lists (arrays), dictionaries (hashmaps), blocks defined by indentation and list comprehension. The first three are pretty simple to understand but list comprehensions can be a bit awkward. In general, much of the syntax goes unexplained which can be problematic for the novice reader.</p>
<p>As the book progresses, more sophisticated uses of Python syntax and constructs appear which probably should have been given some treatment in the introduction. Basically, if you are going to discuss lists, dictionaries and comprehensions, it&#8217;s probably worthwhile to mention, say, <a href="http://diveintopython.org/power_of_introspection/lambda_functions.html">lambda functions</a>.</p>
<p>Beyond the syntax concerns which could arguably be dismissed by the introduction&#8217;s caveat is the techniques and algorithms introduced. The descriptions of the algorithms and their purposes are generally decent in the sense that you can get a feel for how the algorithms work. Plus, the code provided by the book does help illustrate things some. The problem, though, is that the algorithms and code are rather intertwined. This is a mixed blessing: The book does a good job of explaining the explicit example but it&#8217;s not trivial to generalize.</p>
<p>One area in which the book could use a little expansion is how to interpret the results of a particular technique. For example, clustering is presented pretty much at face value without much expansion on how to use the end results. It would also be useful to discuss tuning of the algorithms as well as really how to balance the trade-offs between different techniques; for instance, when discussing decision trees both Gini impurity and entropy are introduced, or in the second chapter, &#8220;Making Recommendations&#8221;, both Euclidean distance and the Pearson Correlation Coefficient are used. In both cases it is mentioned that trying both approaches and examining the results will lead to which provides the better tool for the job.</p>
<p>I do realize that some of these issues are just the reality of having a finite space in which to deliver the content. The book would be immense if all such conversations were had. Also, experience plays a major part in deciding how to best handle a particular analysis problem and that is hard to convey in any book, especially one such as this that is targeting readers who haven&#8217;t had much experience with the techniques.</p>
<p>One improvement that could be made is to add references. Obviously Segaran is drawing from a lot of experience and his knowledge evolved probably by reading other spins on data mining and general statistics. Sharing sources at specific points in the text to direct the reader to more complete explanations and examples would be extremely valuable.</p>
<p>And I have to say that the book&#8217;s source code is horrific. Of course, in the interest of fairness, I readily admit that I am hyper-anal about the style of my source code and the elegance of my data structures. Also, I suppose it could be argued that Python is a prototyping tool so worrying about literate programming is not part of the approach. Still, if code has to be read by someone other than the author &#8211; as is the case for every reader of the book &#8211; clean code is desirable.</p>
<p>I imagine that having to fit source code into a standard page width and not wanting it to span numerous pages is necessary. Such constraints probably lead to writing compact code rather than worrying about readability.</p>
<p>Not to be all negative, there is a lot of positive things to be said about the book. First and foremost is the content. It&#8217;s a great collection of topics. Segaran pours a lot into the book, especially the real-world applications. Each chapter is generally stand-alone and includes explicit examples that access data available on the web. While I wasn&#8217;t able to access all data and APIs, for example, I wasn&#8217;t able to get an API key for Hot or Not, for the most part everything worked well.</p>
<p>Segaran also provides a list of suggested exercises at the end of each chapter. Some are challenging. The nice part about the exercises is it gives a nice starting point for reaching a little farther. I also found this useful in the class the book was used. </p>
<p><strong>Bottom line:</strong> Though there are a few rough points, the book is an absolute blast. It&#8217;s one of the most unique texts I have encountered in a while and it really opens a world of possibilities for the inclined. </p>
]]></content:encoded>
			<wfw:commentRss>http://onegearonegroove.com/afterhours/?feed=rss2&amp;p=61</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>remodel</title>
		<link>http://onegearonegroove.com/afterhours/?p=57</link>
		<comments>http://onegearonegroove.com/afterhours/?p=57#comments</comments>
		<pubDate>Thu, 04 Sep 2008 17:53:43 +0000</pubDate>
		<dc:creator>hal</dc:creator>
				<category><![CDATA[miscellaneous]]></category>

		<guid isPermaLink="false">http://onegearonegroove.com/afterhours/?p=57</guid>
		<description><![CDATA[When I upgraded to a new version of WordPress a conflict occurred between my theme and the new engine. I finally figured out how to at least get in and establish a new theme. I&#8217;m working to get the old theme fixed and back in use.
The theme I was using was a modification of the [...]]]></description>
			<content:encoded><![CDATA[<p>When I upgraded to a new version of WordPress a conflict occurred between my theme and the new engine. I finally figured out how to at least get in and establish a new theme. I&#8217;m working to get the old theme fixed and back in use.</p>
<p>The theme I was using was a modification of the k2 theme. I didn&#8217;t really do it in an optimal way which meant I couldn&#8217;t simply upgrade k2 itself. This will give me a chance to correct the problem. </p>
<p>So it goes.</p>
<p><strong>Update!</strong> Alright. After having initially resolved the problems, I finally found a little time to sit down and craft a post. Trying to reach the dashboard, more problems surface. So, after some time, I&#8217;ve managed to get enable the default template and things mostly look normal. But I&#8217;m too agitated to write. I&#8217;ll get back to it.</p>
<p><em>&#8211; Hal</em></p>
]]></content:encoded>
			<wfw:commentRss>http://onegearonegroove.com/afterhours/?feed=rss2&amp;p=57</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>keynote sermons</title>
		<link>http://onegearonegroove.com/afterhours/?p=54</link>
		<comments>http://onegearonegroove.com/afterhours/?p=54#comments</comments>
		<pubDate>Thu, 01 May 2008 13:42:20 +0000</pubDate>
		<dc:creator>hal</dc:creator>
				<category><![CDATA[miscellaneous]]></category>

		<guid isPermaLink="false">http://onegearonegroove.com/afterhours/?p=54</guid>
		<description><![CDATA[At CCSC-CP 2008, the keynote speaker was Robert Martin, the president/CEO of Object Mentor, Inc, as well as author of a numerous books and articles. The main thrust of his talk was that code needs to be developed in an agile manner with testing to be the forefront activity. This was motivated by stories of [...]]]></description>
			<content:encoded><![CDATA[<p>At CCSC-CP 2008, the keynote speaker was <a href="http://www.objectmentor.com/omTeam/martin_r.html">Robert Martin</a>, the president/CEO of <a href="http://www.objectmentor.com/">Object Mentor, Inc</a>, as well as author of a numerous books and articles. The main thrust of his talk was that code needs to be developed in an agile manner with testing to be the forefront activity. This was motivated by stories of &#8220;rotten code&#8221; that is typically solved by management&#8217;s response to the developers &#8220;beating the drums of redesign&#8221;. Martin has been in the software business a good while and has had considerable exposure to software projects of, what my guess would be, almost all varieties. So, certainly, he speaks from experience.</p>
<p>By the end of his presentation, though, I personally didn&#8217;t feel that I had learned much or heard anything that I haven&#8217;t heard or read before. In fact, I would say that there wasn&#8217;t much Martin offered that couldn&#8217;t be found in books that have been stocked by most Borders for years. The theatrics of a seasoned speaker aside<sup>*</sup>, his address seemed to be received very well by many in the audience. I would assume that students found his content novel or perhaps at least an independent validation of what they were exposed to in their classes (oddly, though, the students in attendance of such events are probably not the ones that need the validation). </p>
<p>But why would the professionals in the audience derive so much pleasure from the talk? I would hope that they found nothing groundbreaking in his message given the content consisted of mainstream topics that have been around for roughly a decade. It must be the presentation style. </p>
<p>So what makes a successful conference keynote? It seems that you need to either provide the audience with information they find novel and relevant or you need to find a way to resonate. Success in the latter approach seems to be the conference equivalent of a Sunday sermon.</p>
<p><span id="more-54"></span><br />
As I looked around the room during Martin&#8217;s address, heads of many faculty (I&#8217;m assuming) were nodding fervently as Martin made some of his key points. The dramatic pauses he introduced were filled with hushed-but-audible approvals. Martin was reading from the methodology scriptures and there was everything but a feverish &#8220;AMEN!&#8221; bubbling from the audience.</p>
<p>I have observed this phenomenon at other times, in other contexts as well: political speeches, motivational speeches and sales pitches. There is also the problem of faulty logic but that&#8217;s a little outside of this discussion. What, then, makes an audience respond well to non-novel content? At this point, my only explanation is that there are many people who like to hear what they already know. If the content is already in their repertoire &#8211; or at least very close &#8211; they emerge feeling confident, that they can easily discuss the address with their fellow attendees. Basically, they feel comfortable. They feel good as their knowledge has been reaffirmed.</p>
<p>The success also depends on the person giving the address: the more popular the speaker, the less dependent is the success of the address on the actual content. Not everyone could have delivered the address that Martin did. The same content, tone and delivery style adopted by someone unknown with obscure credentials would not have been as successful. In part, for some, hearing someone they greatly admire state things they already know provides a small connection, perhaps providing a sense that they have made a smaller step towards greatness.</p>
<p>The problem is that this limits progress. After attending a talk (or reading a book), not reflecting on what was new in the message can lead to an inflated perception of self. What incentive does someone have if their perception is that they are on the edge because they believe they and the expert are of like mind? In actuality, having an improved sense of self due to an identification with an expert is only valid if your ideas were not formed via some influence of the expert prior to such identification.</p>
<p>To make matters worse, once someone has achieved greatness, the work required to remain great is considerably less. That is, the idea that enables someone among the masses to walk among the elite must be incredibly significant. However, an idea from a member of the elite can still be perceived to be more meritorious than an idea from a member of the masses even if the former is in fact less meritorious than the latter. This has to do with marketing (and politics).</p>
<p>This worries me. But the world has progressed, faltered and recovered despite the fact that such things occur. It&#8217;s more that such behavior could eventually be applied to a problem that leads to an unrecoverable disaster.</p>
<p><em><sup>*</sup> Martin is, without a doubt, a dynamic speaker. His approach, though, was too big for the moderately sized lecture hall that we occupied. It would have fit more appropriately in a theater. In a large venue, the sweeping gestures and dramatic pauses have to be exaggerated to be able to ripple through the crowd and be perceived by those in the remote corners. In the smaller room it&#8217;s overwhelming. To be fair though, I don&#8217;t react well to the overly dramatic and often find it distracting from the purpose at hand. But, hey, I&#8217;m a bit of a cynic.</p>
]]></content:encoded>
			<wfw:commentRss>http://onegearonegroove.com/afterhours/?feed=rss2&amp;p=54</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>review of &#8220;data quality&#8221;</title>
		<link>http://onegearonegroove.com/afterhours/?p=52</link>
		<comments>http://onegearonegroove.com/afterhours/?p=52#comments</comments>
		<pubDate>Fri, 25 Apr 2008 14:05:08 +0000</pubDate>
		<dc:creator>hal</dc:creator>
				<category><![CDATA[book]]></category>
		<category><![CDATA[reviews]]></category>

		<guid isPermaLink="false">http://onegearonegroove.com/afterhours/?p=52</guid>
		<description><![CDATA[

copyright Springer

Data Quality : Concepts, Methodologies and Techniques
by Carlo Batini and Monica Scannapieco
2006 Springer
Rating: 
This semester I had the unpleasant experience of being told by the campus bookstore, the day classes started, that the book I intended to use for my class was no longer in print and used copies were not available. I originally [...]]]></description>
			<content:encoded><![CDATA[<div class="caption left">
<a href='http://www.springer.com/computer/database+management+%26+information+retrieval/book/978-3-540-33172-8' title='Cover - Data Quality'><img src='http://onegearonegroove.com/afterhours/wp-content/uploads/2008/04/cda_displayimage.jpg' alt='Cover - Data Quality' /></a><br />
copyright Springer
</div>
<p><strong>Data Quality : Concepts, Methodologies and Techniques</strong><br />
<em>by Carlo Batini and Monica Scannapieco</em><br />
2006 Springer</p>
<p><strong>Rating:</strong> <img class="rateit" src="http://onegearonegroove.com/afterhours/wp-content/plugins/rateit/images/star-full.png" /><img class="rateit" src="http://onegearonegroove.com/afterhours/wp-content/plugins/rateit/images/star-full.png" /><img class="rateit" src="http://onegearonegroove.com/afterhours/wp-content/plugins/rateit/images/star-full.png" /><img class="rateit" src="http://onegearonegroove.com/afterhours/wp-content/plugins/rateit/images/star-half.png" /><img class="rateit" src="http://onegearonegroove.com/afterhours/wp-content/plugins/rateit/images/star-empty.png" /></p>
<p>This semester I had the unpleasant experience of being told by the campus bookstore, the day classes started, that the book I intended to use for my class was no longer in print and used copies were not available. I originally geared the course towards design philosophy and incorporated the book, <a href="http://www.amazon.com/dp/0201722194/"><strong>Software Design</strong></a>, by David Budgen, an excellent book and its unavailability is incredibly frustrating.</p>
<p>As I was unable to quickly find a suitable replacement, I decided to take the course in a slightly different direction and find ways to discuss in more depth than I had before the notion of &#8220;quality&#8221;. To this end, I found <strong>Data Quality</strong>. After working through the text, I found it to be broad enough for incorporation into the class and serve as a starting point for deeper discussions but it also was unexpectedly dense, a bit discontinuous and, probably the most important, appears to contain significant errors which is why I could only rate it 3.5. </p>
<p>I still recommend the book as I think it contains good material but it&#8217;s important to know what to expect.</p>
<p><span id="more-52"></span><br />
The strength of book lies in its content and to some degree the high-level organization of the chapters. I believe it works well as an undergraduate text (senior-level course). While the students may find the details challenging, getting a basic understanding of the why data quality is important, how to establish and implement a data quality framework and how to both handle the integration of different data sources and predict the quality of the end integration from the quality of the data sources is readily accessible.</p>
<p>The book provides plenty of references which enables deeper discussions of the topics presented. The survey-style approach the book uses provides the opportunity to direct students to follow through by locating and reading the papers/texts in which the original model was defined. In fact, to truly understand some of the topics in detail, further reading is a must. In essence, the book provides a good point of departure.</p>
<p>The survey style also means that there is limited attention to examples (though they are present). I found it useful, as an assignment, for the students to develop their own examples to illustrate the concepts. While this works when integrating the text in to a course, for someone reading this independently, the lack of solid examples could prove difficult. I don&#8217;t particularly see this as a negative given the point of the book.</p>
<p>In terms of minor weaknesses, more consistency with the examples (and to some extent better examples) and the use of unnecessary technical details are two areas that detract from the book&#8217;s quality. In terms of illustrating the former, consider the quality composition discussion in section 4.2. Part of the difficulty in understanding the topic is that multiple models and techniques were used to illustrate compositions in different dimensions. On one hand, it might be unavoidable since not every model adequately handles all dimensions. However, it was difficult to keep track of what model was being applied in what situation. Perhaps with greater clarity when establishing the context the discussion would be easier to follow. But I think focusing attention on one model at a time would simplify the delivery and help the reader see the application.</p>
<p>For the other case, there are often instances where overly fine details lend themselves more to confusion than to illumination. Section 5.4.3 contains descriptions of several comparison functions. In the case of <em>n</em>-grams, the Jaro Algorithm and Token Frequency-Inverse Document Frequency, the inclusion of explicit formula with the description is rather confusing as they are presented with limited context. For a reader who is not well-versed in a given approach, I would argue that it detracts from the point of discussion. It would be much simpler to just describe the approach as none seem to be explicitly invoked at a later time (or at least I don&#8217;t recall their use). It would be much more reader-friendly to provide a reference. In fact, in that same section, this approach was used for the description of Smith-Waterman, albeit without a reference.</p>
<p>The most difficult aspect of the book are the errors. I use the term &#8220;error&#8221; in the sense that, after much consideration and further research, I was not able to arrive at the conclusions presented by the authors. I fully understand the error may be on my part at which point I would concede that the issue would reflect the authors&#8217; lack of clarity for a given issue. Errors range from something a little more involved than a simple typo, which a reader could with a little thought reconcile, to errors that lead to fundamental confusion. An example of the former is at the top of page 82, where <code>|r</code><sub> <code>1</code></sub> <code>|</code> should be <code>|ref(r</code><sub> <code>1</code></sub> <code>)|</code> (and sim. for &#8221; <code>r</code><sub> <code>2</code></sub>&#8220;). A more fundamental problem is in the description and interpretation of the of Figure 2.5, where I believe the area Cb should be the area bounded between the line, <em>y</em>=<em>c_max</em>, and the curve, <em>C</em>(<em>t</em>).</p>
<p>As stated earlier, I think the strengths of the book outweigh the negatives and would hope that others would not use the weaknesses pointed out here as a reason to avoid it. In terms of a class text, I think it illustrates to the students that print can&#8217;t be taken at face value and active reading is always a must. Plus, it affords the opportunity to direct students to correct error and/or explain the confusion. (But do note that I am not advocating for this style to be adopted by future authors!)</p>
]]></content:encoded>
			<wfw:commentRss>http://onegearonegroove.com/afterhours/?feed=rss2&amp;p=52</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>degrees vs. certifications vs. &#8230;</title>
		<link>http://onegearonegroove.com/afterhours/?p=51</link>
		<comments>http://onegearonegroove.com/afterhours/?p=51#comments</comments>
		<pubDate>Wed, 19 Mar 2008 04:05:42 +0000</pubDate>
		<dc:creator>hal</dc:creator>
				<category><![CDATA[miscellaneous]]></category>

		<guid isPermaLink="false">http://onegearonegroove.com/afterhours/?p=51</guid>
		<description><![CDATA[There are two questions I am asked routinely by (typically prospective) students:

Should I pursue a certification in X?
Why would I pursue a degree from a university as opposed to a tech school?

With respect to the first questions, a recent article by Warren Wyrostek on InformIT discusses issues with certifications. The problems span from the simple [...]]]></description>
			<content:encoded><![CDATA[<p>There are two questions I am asked routinely by (typically prospective) students:</p>
<ol>
<li>Should I pursue a certification in X?</li>
<li>Why would I pursue a degree from a university as opposed to a tech school?</li>
</ol>
<p>With respect to the first questions, a recent <a href="http://www.informit.com/articles/article.aspx?p=1180991">article</a> by Warren Wyrostek on <a href="http://www.informit.com">InformIT</a> discusses issues with certifications. The problems span from the simple mechanics &#8211; vendor-centricity, inability for certification processes to truly measure competence and continuous renewals on the part of the certified &#8211; through more economic reasons for why the certification bodies will struggle.</p>
<p>The bottom line is that a certification is worth pursuing if it is immediately relevant to a specific job position for which you want to apply. Of course, this gives rise to the question of how often is it relevant. To understand this some I did a few searches on <a href="http://www.monster.com">Monster.com</a> (date: 2008-03-19) in the categories of computer services/hardware/software, internet/e-commerce and IT/software development with no region specified :</p>
<ul>
<li><a href="http://jobsearch.monster.com/Search.aspx?fn=9005&#038;fn=543&#038;fn=6&#038;fn=554&#038;fn=660&#038;cy=US&#038;vw=b&#038;re=0&#038;jsyesreg=1&#038;brd=1&#038;pg=1&#038;q=ccna">Searching for &#8220;ccna&#8221;</a> yielded 1021 jobs.</li>
<li><a href="http://jobsearch.monster.com/Search.aspx?fn=9005&#038;fn=543&#038;fn=6&#038;fn=554&#038;fn=660&#038;cy=US&#038;vw=b&#038;re=0&#038;jsyesreg=1&#038;brd=1&#038;pg=1&#038;q=msce">Searching for &#8220;MSCE&#8221; yielded </li>
<li><a href="http://jobsearch.monster.com/Search.aspx?fn=9005&#038;fn=543&#038;fn=6&#038;fn=554&#038;fn=660&#038;cy=US&#038;vw=b&#038;re=0&#038;jsyesreg=1&#038;brd=1&#038;pg=1&#038;q=a%2B">Searching for &#8220;a+&#8221;</a> yielded 1114</li>
<li><a http="">Specifying no keywords</a> resulted in 5000+ jobs</li>
</ul>
<p>After filtering the overlap by searching for positions requiring two or all three of the certifications, the count for such positions involving at lease one of the certifications was 1115. (Searching for &#8220;ccna msce&#8221; resulted in 22 position, &#8220;ccna a+&#8221; resulted in 134, &#8220;msce a+&#8221; resulted in 14 and &#8220;ccna msce a+&#8221; resulted in 3.)</p>
<p>I also examined random positions in each search to get a feel for whether the certification was desired or preferred. I wasn&#8217;t able to nail down a sense of percentage by visual inspection (there were too many jobs) and trying to use the search to discriminate between the two proved difficult since there are various ways to state that certification is required. It&#8217;s worth noting too that the jobs requiring A+ certification were primarily entry level help desk positions and something most graduates of a university would not pursue (though they may take such a position if other opportunities were not available to them).</p>
<p>I address the second question roughly by explaining that the program offered at Penn State provides a considerably broader set of experiences with one of the primary goals being graduates that are adept at critical thinking, are adaptable, operate will in the presence of significant ambiguity, can pull from a diverse exposure and able to be life-long learners. Technical schools tend to focus on a specialized set of skills over a specialized set of environments which may become obsolete over time.</p>
<p>While graduates of a tech school are able to find employment, they often can only advance so far. Organizations expect staff in the upper level positions to have obtained degrees at reputable universities or colleges. Though I don&#8217;t know for certain, the rationale is probably based on the intent of the university education. They want some sense of measure that the employees in positions making critical decisions for the organization are prepared for such tasks.</p>
<p>I&#8217;m still trying to organize my thoughts on this latter question. There are many nuances that require further thinking. I&#8217;ll get back to it before long.</p>
]]></content:encoded>
			<wfw:commentRss>http://onegearonegroove.com/afterhours/?feed=rss2&amp;p=51</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>conference 2.0 &#8211; race to a buzzword</title>
		<link>http://onegearonegroove.com/afterhours/?p=50</link>
		<comments>http://onegearonegroove.com/afterhours/?p=50#comments</comments>
		<pubDate>Tue, 11 Mar 2008 23:50:08 +0000</pubDate>
		<dc:creator>hal</dc:creator>
				<category><![CDATA[miscellaneous]]></category>

		<guid isPermaLink="false">http://onegearonegroove.com/afterhours/?p=50</guid>
		<description><![CDATA[I am probably jumping the gun with this post but I haven&#8217;t written anything in a while and it&#8217;s a rather immediate topic: the interview of Facebook&#8217;s Mark Zuckerberg by Sarah Lacy at SXSW 2008. Identified as a disaster by many accounts, others found it to be an unfortunate occurrence, even Zuckerberg himself.
What concerns me [...]]]></description>
			<content:encoded><![CDATA[<p>I am probably jumping the gun with this post but I haven&#8217;t written anything in a while and it&#8217;s a rather immediate topic: the interview of <a href="http://www.facebook.com">Facebook&#8217;s</a> Mark Zuckerberg by Sarah Lacy at SXSW 2008. Identified as a disaster by <a href="http://www.google.com/search?q=zuckerberg+lacy+disaster&#038;ie=utf-8">many accounts</a>, others found it to be an unfortunate occurrence, even <a href="http://blog.wired.com/underwire/2008/03/sxsw-mark-zuc-1.html">Zuckerberg</a> himself.</p>
<p>What concerns me more is the reaction of several (perhaps many but I didn&#8217;t search long enough) that identified the situation as a revolution, a changing tide of the way conferences are executed. In an <a href="http://money.cnn.com/2008/03/11/technology/fost_conference.fortune/?postversion=2008031115">article</a>  on <a href="http://money.cnn.com">CNNMoney.com</a>, Dan Fost used the term &#8220;Conference 2.0&#8243;. This is probably the start of a buzzword war and we at large will be the casualties. But more importantly, I am concerned the event will spark a notion that this is the way of the future and conference organizers should heed the call. I haven&#8217;t seen much discussion regarding this or similar concerns and I hope that eventually more sources will offer balance to the topic.</p>
<p><span id="more-50"></span><br />
My primary concern stems from a &#8220;proof by example&#8221; approach. This isn&#8217;t necessarily suggesting that the authors of articles relating the amazing influence of mob force on an organized event but more in the interpretation of the masses thinking that they are welcome to drive any public discussion in any direction that pleases them. Such behavior would become rather distracting. I can envision many good presentations being derailed by a group thinking they have the vision of the people.</p>
<p>Certain venues are more conducive to real-time attendee-defined content; for example, technical expos. Expos are generally driven by industry elements demonstrating their latest wares. These are typically pre-defined by marketing with hired expert addresses and vendors who pay premiums to be present. The price of admission for the end user is steep as well  (but you will get your fill of free food and drinks).</p>
<p>Many of the talks at expos are by paid experts who travel the circuit giving the same talk many times. They are focused on their topics and typically have a great deal of experience. Anecdotally, from my experience, many of these experts are attached to some business or other, be it a tool vendor or consulting firm. They typically are there to sell their ideas as much as they are to present them. Since the talk is likely to be similar to the last one the attendees heard from the speaker (as has been my experience), this type of venue might lend itself well to an audience-driven format especially if there is a control on the way the audience provides direction.</p>
<p>The reason that this may work is that the talks provided at expos are often directed toward the average user (of a product or method), or perhaps the advanced user, and not the expert. Many of the expo talks I have attended where I was more on the expert end of the scale were entertaining but I can&#8217;t say they were all that useful for inspiring something new. The average/advanced users have specific questions they want solved and in a venue where they may feel they have paid for a service, they want to be able to ask them and not necessarily hear the party line.</p>
<p>On the other end of the spectrum would be an academic conference. In this venue, the content is necessarily not something to be determined in real-time. A presentation at an academic conference is, ideally, one that presents some advance of knowledge in a specific area. It&#8217;s something that may only be known or understandable by a small group of people, <a href="http://query.nytimes.com/gst/fullpage.html?res=9F0CE1DB1E31F93AA15755C0A965958260&#038;sec=&#038;spon=&#038;pagewanted=3">perhaps just the presenter</a>. In this case the result requires a build up of context and arguments and derailing the presenter would render the talk pointless as the end goal may never be reached. Here, the Q&#038;A would have to wait to the end.</p>
<p>This doesn&#8217;t mean that the those attending do not have influence over the content, it is just that the participation happens prior to the event. Conference committees may define the theme and topics for a conference but it is through a collection of reviews, often done by those intending to attend the conference, that give rise to the final content.</p>
<p>If you were to argue that Zuckerberg&#8217;s interview and a presentation by an expert at an academic conference aren&#8217;t the same, you would certainly be right. My point is that many won&#8217;t make the distinction and without a balanced discussion there will be some instances very soon where good events turn bad. Ideally the event will force event organizers to include more flexible agendas where it makes sense. Even academic conferences need a breeze of fresh air at times but too much wind makes it difficult to be in the park.</p>
]]></content:encoded>
			<wfw:commentRss>http://onegearonegroove.com/afterhours/?feed=rss2&amp;p=50</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>embedding windows messenger</title>
		<link>http://onegearonegroove.com/afterhours/?p=49</link>
		<comments>http://onegearonegroove.com/afterhours/?p=49#comments</comments>
		<pubDate>Mon, 28 Jan 2008 01:58:33 +0000</pubDate>
		<dc:creator>hal</dc:creator>
				<category><![CDATA[miscellaneous]]></category>

		<guid isPermaLink="false">http://onegearonegroove.com/afterhours/?p=49</guid>
		<description><![CDATA[Windows Live Messenger can be embedded into a web page. This feature seems to have arrived in November 2007 based on the flurry of blog activity. 
Embedding a messaging window is rather simple. To do so, you just need to change your Web Settings for your Windows Live account. Once you agree to expose your [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://get.live.com/messenger/overview">Windows Live Messenger</a> can be embedded into a web page. This feature seems to have arrived in November 2007 based on the flurry of blog activity. </p>
<p>Embedding a messaging window is rather simple. To do so, you just need to change your <a href="http://settings.messenger.live.com/Applications/CreateHtml.aspx">Web Settings</a> for your Windows Live account. Once you agree to expose your Messenger status, you can then select one of three embedding choices: full messaging client, a button or just an icon. The <a href="">details</a> are available from Microsoft but it pretty much just a matter of copying the generated code and pasting it into your web page. </p>
<p><span id="more-49"></span><br />
Once you have the Messenger client embedded, there is still one more configuration needed before you can start receiving messages. I point this out because the setting is not mention on the Windows Live page and took me a while to find. Specifically, on your messenger client options, in the &#8220;Privacy&#8221; section, you need to uncheck the box for &#8220;Only people on my Allow List can see my status and send me messages&#8221;. </p>
<p>I typically use Trillian and this setting could not be set from that client (or at least I couldn&#8217;t figure out how to do so). When I first started playing with the embedded client, I wasn&#8217;t receiving messages. It took me the better part of a day to realize the problem and figure out the solution. I have been having trouble with Trillian recently and may have to abandon it. </p>
<p>Now, let&#8217;s take a look at the details.</p>
<p><em>Note: This may be a bit of a mess. The idea is there but it probably needs some polishing. At some point I plan to write a tutorial on how to do more with these APIs but I wanted to start with a simple overview.</em> </p>
<p>The three options provide generated code that is easy to include. The Messenger client is pretty much WYSIWYG but you can configure the way it looks via the <a href="http://msdn2.microsoft.com/en-us/library/bb936685.aspx"> IM Control API</a>. The status of the target user (the one who will be receiving the messages) is indicated in the Messenger client.  </p>
<p>If the full client is too large to include in your web page, you can still indicate the status of the target user and provide a link to a Messenger client (a web page containing the client, perhaps just the client itself). The status is obtained using the <a href="http://msdn2.microsoft.com/en-us/library/bb936687.aspx">Presence API</a> . It provides access to the target user&#8217;s Messenger status as well as access to the standard Messenger icons (these can be overridden).</p>
<p>I think the easiest way to get started is to use the generated code for the button:</p>
<div class="sourcecode">
&lt;script type=&quot;text/javascript&quot; src=&quot;[code containing the callback]&quot;&gt;&lt;/script&gt;<br />
&lt;div<br />
&nbsp;&nbsp;id=&quot;Microsoft_Live_Messenger_PresenceButton_[target user id]&quot;<br />
&nbsp;&nbsp;style=&quot;padding:0;&quot;<br />
&nbsp;&nbsp;msgr:width=&quot;120&quot;<br />
&nbsp;&nbsp;msgr:backColor=&quot;#010103&quot;<br />
&nbsp;&nbsp;msgr:altBackColor=&quot;#010103&quot;<br />
&nbsp;&nbsp;msgr:foreColor=&quot;#010103&quot;<br />
&nbsp;&nbsp;msgr:conversationUrl=&quot;[generated url to initiate a messaging session]&quot;&gt;&lt;/div&gt;<br />
&nbsp;<br />
&lt;script type=&quot;text/javascript&quot; src=&quot;[url to register callback]&quot;&gt;&lt;/script&gt;
</div>
<p>I omitted to generated URL's. They are long and distract from the discussion. Generate your own code and examine them. </p>
<p>The first <code>&lt;script&gt;</code> tag references the source code file which contains the function to be used as a callback. The callback is registered in the second <code>&lt;script&gt;</code> tag. The generated code provides both of these. The second one you will want to leave as. The first is where you can customize the way the target user's presence is visualized.</p>
<p>The callback you provide needs to accept a <code>presence</code> object. There, you can create any HTML you desire and splice it into the document. When the second <code>&lt;script&gt;</code> tag is processed by the browser, your callback will be executed.</p>
<p>To start customizing, take the generated code and download the callback code provided by Microsoft. You can access it by opening the URL specified in the <code>src</code> attribute of the first <code>&lt;script&gt;</code> tag. Once you download it, place it somewhere accessible by your development page and modify it as desired. Be sure to update the <code>src</code> attribute as well.</p>
<p>It's worth noting that in order to obtain presence and create a Messenger client, you need to have the user id associated to the account for the target user. When you create the HTML code for a client, button or icon, you can find your account id in the code. It should be obvious but, if not, you can find it at the end of the string value associated to the <code>id</code> attribute. (It should be 16 characters long.)</p>
]]></content:encoded>
			<wfw:commentRss>http://onegearonegroove.com/afterhours/?feed=rss2&amp;p=49</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>learning java</title>
		<link>http://onegearonegroove.com/afterhours/?p=46</link>
		<comments>http://onegearonegroove.com/afterhours/?p=46#comments</comments>
		<pubDate>Mon, 21 Jan 2008 19:27:19 +0000</pubDate>
		<dc:creator>hal</dc:creator>
				<category><![CDATA[book]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[reviews]]></category>

		<guid isPermaLink="false">http://onegearonegroove.com/afterhours/?p=46</guid>
		<description><![CDATA[

copyright O&#8217;Reilly Media, Inc.

Learning Java, 3e
by Patrick Niemeyer and Jonathan Knudsen
2005 O’Reilly Media
While looking for a different text to use in IST 240, I found the text Learning Java by Niemeyer and Knudsen. This book has done nothing but impress me. While in the end it might make for a difficult text to begin programming [...]]]></description>
			<content:encoded><![CDATA[<div class="caption left">
<a href='http://www.oreilly.com/catalog/learnjava3/' title='Cover - Learning Java'><img src='http://onegearonegroove.com/afterhours/wp-content/uploads/2008/01/0596008732_cat.gif' alt='Cover - Learning Java' /></a><br />
copyright O&#8217;Reilly Media, Inc.
</div>
<p><strong>Learning Java, 3e</strong><br />
<em>by Patrick Niemeyer and Jonathan Knudsen</em><br />
2005 O’Reilly Media</p>
<p>While looking for a different text to use in IST 240, I found the text <em>Learning Java</em> by Niemeyer and Knudsen. This book has done nothing but impress me. While in the end it might make for a difficult text to begin programming in Java for the lesser experienced, as many O&#8217;Reilly texts can be, it is going to be a solid addition to the bookshelf  of an aspiring information technologist. Hopefully this title will continue to evolve.</p>
<p>For a few semesters, I had been using <em>Java in 60 Minutes a Day</em> by Rich Raposa. That text was well received by the students and the content spanned the core material I needed for the class as well as advanced topics (Swing, network programming, JavaBeans, database programming) that interested students could engage if they so desired. Unfortunately, the book has become significantly dated. It is based on Java 1.4 and so is missing topics introduced in Java 1.5, generics being one of more important topics.</p>
<p><span id="more-46"></span><br />
I contacted the publisher about a year ago (maybe more) to inquire as to the future of the Raposa title. They replied and said the intention is to not continue it. I explained my interest and support of the book, and even offered to help update the contents, but they had no interest.</p>
<p>Last semester, I used Hebert Schildt&#8217;s, <em>Java: A Beginner&#8217;s Guide, 4e</em>. For use in IST 240 (and probably as a good book for learning Java), there were a few problems. One of the more important ones was the lack of any treatment of the Java Collections Framework. Unfortunately, I didn&#8217;t realize this until we were covering the Collections Framework in class. </p>
<p>What is stranger still is that Schildt did include a chapter on Java Generics. Why generics are discussed but the Collections Framework omitted, I will never understand. Most who venture to learn Java will be more apt to use the Collections Framework more than they would define their own generic classes. For a good starting reference this seems problematic. It did have include chapters on Swing and multithreaded programming but such topics were thinner than what Raposa had provided. The student opinion of the Schildt book was low as well. They found aspects of it sufficient but expressed that there was room for much improvement.</p>
<p>Fresh from the disappointment of Schildt, I more carefully examined the contents of Niemeyer and Knudsen. I noted that it covered all of the topics I planned to include in IST 240 (or that students would need). It covered the topics Raposa had with the exception of database programming. However, it also included chapters on processing images, audio and the Java Media Framework as well as more advanced text processing. Probably the more crucial inclusion for the course, though, was the chapter on Java and XML. The treatment of XML in the text was sufficient enough, perhaps supplemented by online readings, that I felt comfortable eliminating the XML text that I usually include.</p>
<p>More than the inclusion of particular topics is the degree to which the authors explain the topics. It is more than a casual treatment. There are many in-depth explanations and discussions of interesting language features and obscure library elements (or at least those typically used by the public). For example, a short section in Chapter 16 discussed the <code>java.awt.Robot</code> class; and the <code>Scanner</code> and <code>Matcher</code> classes discussed in the text processing chapter, Chapter 10.</p>
<p>From an experienced user&#8217;s point of view, I have consulted the text several times on miscellaneous topics and found that the authors provide deeper insight than usually included in a book with a title suggesting the reader will &#8220;learn&#8221; a topic. My bias is to assume that such types of titles imply a something suited for a beginner but not one with experience. This book presents itself well to both crowds.</p>
<p>It might be argued that the book&#8217;s inclusion of such topics render it intimidating or difficult for the novice. There might be some truth to that. Perhaps for an introductory programming course, this text would be a little heavy. However, for a course such as IST 240 where general competence with programming is assumed, the book seems to be a good choice. Students might have to read passages twice or consult with the instructor for further clarification (all things we want students to do anyway) it will be a while before the needs of such readers will outgrow what the text has to offer.</p>
]]></content:encoded>
			<wfw:commentRss>http://onegearonegroove.com/afterhours/?feed=rss2&amp;p=46</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
