<?xml version="1.0" encoding="iso-8859-1"?>
<rss version="2.0">
<channel>
<title>Blogcritics Author: Greg</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>Sat, 15 Apr 2006 22:01:36 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>Book Review: &lt;i&gt;wxPython in Action&lt;/i&gt; by Noel Rappin and Robin Dunn</title>
<link>http://blogcritics.org/archives/2006/04/15/220136.php</link>
<author>Greg</author><description>One of the interesting frameworks the Python programming community provides is an open source graphical user interface (GUI) framework called wxPython. Like other GUI frameworks, wxPython has an extensive library of widgets and controls for building windowed applications. In addition to this, wxPython gives a programmer the ability to write one GUI application that will run on all three major operating systems:  Microsoft Windows, Mac OS X, and Linux. Not only that, but depending on what platform the code is running, it will automatically morph itself to the look and feel of that platform. While this technology is exciting, learning how to use it is an entirely different matter.  As anyone who has tried to use wxPython knows, the documentation for it is rather sparse. So much so, that the recommended approach seems to consist of copying code from examples within the wxPython distribution, and then coding and experimenting with it to divine the inner workings of all its parameters and effects. This approach was way too tedious and time-consuming for me, so I put off learning this corner of Python - until now.Recently this subject has finally gotten its due, thanks to a book and ebook published  by Manning Publications entitled wxPython in Action. The book was written by Noel Rappin and Robin Dunn. Noel is a senior software engineer for Motorola, and Robin is the creator and maintainer of wxPython; two people who have had extensive experience using and supporting the wxPython platform.The book is divided into three major parts: the first gives an introduction to the basic structure and function of a wxPython GUI application. It looks at some of the basic widgets, discusses the principles of event-driven programming and explains the use of a tool called PyCrust to analyze GUI-based applications. The first part also outlines the use of  the Model/View design pattern, and looks at re-factoring and testing GUI applications. Part 1 then ends with a step-by-step development of a sketch pad application. Part 2 gives more detail about the implementation and use of the GUI elements briefly discussed in Part 1. Separate chapters are devoted to basic controls (ie. text boxes, buttons, etc), standard frames and dialogs, and GUI layout and drawing.Part 3 examines some advanced elements like list, grid and tree controls. It also looks at incorporating HTML and printing into wxPython applications. Finally, Part 3 concludes with topics on implementing cut and paste, drag and drop, and multi-threading functions.With few exceptions, the book takes its title to heart. Offering a very fast, cogent, and concise explanation of the many widgets and tools necessary to implement a polished GUI application. One of the great features of this &quot;in Action&quot; book is the nesting of a functional index (in the form of frequently asked questions) within the table of contents. This makes recipes for common GUI widgets and techniques easy to find. For example, if one needed to quickly learn how to enter numbers, look up the chapter title &quot;Working with the basic controls&quot;, then look under the subheading &quot;Entering and displaying numbers.&quot; Under that subheading, one will find frequently asked questions like: &#039;How do I make a slider?&#039; or &#039;How do I make those neat up/down arrow buttons?&#039;. Under each of these questions, the author provides a relatively short explanation of the widget function, and then illustrates its implementation with a mini-GUI application. Copious annotations are often provided for a complex code snippet, explaining how individual wxPython method calls work. Attribute and style tables are also included to describe how a widget&#039;s look and behavior can be altered. The book seems to include just about every feature/widget you would need to create a polished end product. I also sat down and tried out several of the mini-GUI applications in the book. The annotations provided with the code made learning the GUI techniques relatively easy. While I was not able to run every code example in the book, the ones I did run were bug-free. For those who don&#039;t like to type in the code examples, you can download all the code examples at the Manning Publications website.If you do find something missing, buggy or confusing, you can turn to Manning Publications&#039; Author Online Forum. Here, you can submit questions directly to the authors and read their responses.Manning also sells an ebook version of this book for about half the softcover price. The ebook appears to be an identical copy of the print edition with a few extra features added to it. Since the book is in the PDF format, it makes some use of PDF&#039;s ability to link to other parts of the text. For instance, you can have the table of  contents presented side-by-side with the text and jump from one section to another by clicking on the various chapters and sub-headings in the table of contents. The index is also linked to the text, with each page number linked to its respective page.One feature I would like to see added to ebooks is the ability to link a word or phrase in the text to definitions or explanations found in other parts of the text. As great as this new book is for explaining the aspects of developing wxPython  applications, I did have a few criticisms about the book.In Part 1, &quot;Introduction to wxPython,&quot; some chapters seem to provide too much information, especially for users who have had no experience with GUI frameworks.  While Chapter 1 lives up to the book&#039;s &quot;in Action&quot; presentation style, some parts of Chapter 2 do not. In the first four sections of Chapter 2, the book gets bogged down in an extremely detailed discussion about opening application objects, redirecting output, and shutting down applications. As a result, the text here seems rather dense, and makes the going rather slow. The majority of the material presented in the first half of Chapter 2 could have been included in a later, advanced section of the book, or in an Appendix. Fortunately, the second half of Chapter 2 gets back to the &quot;in Action&quot; style. In Chapter 3, &quot;Working in an Event-Driven Environment,&quot; more or less the same writing problem happens again. The reader get exposed to lots and lots of detail about event-driven programming issues before seeing any code. The presentation once again made me feel as if I was reading a dense reference manual.  In this case, I had to read through almost nine pages of text before I saw a coded implementation of event  binding. This was way more detail than I needed to understand basic event binding. It  was also more detail than I was going to need for the sketch pad example in Chapter 6. Unfortunately, this dense and overly detailed treatment of the event-driven environment went on for the rest of Chapter 3.  In Chapter 4, &quot;Making wxPython Easier to Handle with PyCrust,&quot; the prose is again dense and long on detail. Given the relatively simple examples in this book, I didn&#039;t feel a chapter on using PyCrust, a program analysis tool, was needed. Even more surprising, this tool doesn&#039;t seem to be mentioned again in the rest of book. While I agree PyCrust is useful, I feel its discussion should have been placed in an Appendix.  A similar problem appears in Chapter 5, &quot;Creating Your Blueprint.&quot; Here the authors discuss the Model/View architecture, testing, and re-factoring of GUI based programs. Most of this material seems too advanced for this part of the book, and would be better suited to an Appendix. If you are new to GUI development and want to avoid some of the extra information in Part 1, I would recommend you read all of Chapter 1, then skim Chapters 2 and 3 for the basic concepts that are presented, then skip Chapters 4 and 5, and head directly to Chapter 6. Engineers with previous GUI development experience can probably skip Chapters 2-5, then read Chapter 6. Please don&#039;t let these few criticisms deter you from buying this book. Overall,  wxPython in Action does a great job of pulling together a tremendous amount of  material. And for the most part, the writing is easy to read, concise, and cogent. I  think this a great first effort for both authors, and an extremely useful resource for the Python community.  
</description>
<category>Sci/Tech</category><guid isPermaLink="false">46394@blogcritics.org</guid>
<pubDate>Sat, 15 Apr 2006 22:01:36 EDT</pubDate>
</item>
<item>
<title>Google Flies Too Close to Sun Microsystems</title>
<link>http://blogcritics.org/archives/2006/03/20/115154.php</link>
<author>Greg</author><description>After the acquisition of Writely, a collaborative online word processing tool, and SketchUp, an illustration tool for creating three-dimensional models, the recent rumors about a Sun Microsystems acquisition seem to point to a bundling of PC applications offered either online or on a low cost (Sun?) PC.Others have speculated about using Sun computers to run large high speed database applications to support or sell Google services. In either case, Google  is once again offering products that are already in the marketplace, and, at best, will offer only marginal gains in productivity. Even if all of these products were actually sold to the public, they would not generate the massive  earnings growth reflected in Google&#039;s stock valuation.Google&#039;s need for higher earnings growth has sent it on a search for new products outside its core business; foreign territory for two geeks who have only demonstrated big profitable success in the area of targeted ads posted on their search engine. Most of the recently introduced products have been a series of me-too products: Picasa, photo management, Google Maps, navigation, Google News, etc. While some have been very good refinements of their  competitor&#039;s products, they do not provide a great leap in productivity for customers. Even worse, the vast majority of theses new products don&#039;t appear to have been monetized in any significant way.The founders of Google don&#039;t seem to be trumpeting any grand improvement to their search engine technology either; something that seems to have lot of room for improvement (see my last entry, &quot;Google&#039;s A-Go-Go Power is Gone&quot;).It&#039;s not uncommon to see this kind of one-hit-wonder phenomena in the tech world, after all, designing just one great tech product usually requires a lot of skill, labor and good timing. What is surprising is that Google doesn&#039;t seem to be going after a large under-served market. Nor does it seem to be close to developing new and vastly cheaper solutions to some of Information Technology&#039;s most expensive and time consuming tasks. One wonders if we still need large software companies to solve big problems. Look at the recent success of small software shops like 37 signals. They developed the Ruby on Rails web framework which has vastly reduced the complexity and expense of database backed web applications. Once upon a time, Google was a very small company that greatly improved upon the search engine of Alta Vista.Increasingly, the most exciting news in software tech seems to come from small outfits: Digg.com, 37 signals (not only Ruby on Rails, but their very good applications Basecamp and Backpack), del.icio.us (nowowned by Yahoo) -- to name a few. Why not buy one of these companies instead? If Google is going to seek out small info tech, why not go after some with more exciting potential like Digg, since it is directly related to their search technology expertise.Google&#039;s current string of acquisitions and product developments seem to follow a penchant for coolness. If Google wants to make cool products and great earnings, then they should have bought Apple Computer and promoted Steve Jobs to CEO of Google. Here is a CEO with a long track record of finding under-served markets and creating cool products to fill them. Better yet, lots of customers want to buy them.Trying to duplicate the magnitude of Google&#039;s search engine success in a totally different sector of info tech is really hard work, usually demanding very different skills. So far, the founders of Google have not shown the needed versatility or skill to achieve this goal, but they are burning through lots of cash. I wish them luck on their next great product, but I wouldn&#039;t bet on it.</description>
<category>Sci/Tech</category><guid isPermaLink="false">45258@blogcritics.org</guid>
<pubDate>Mon, 20 Mar 2006 11:51:54 EST</pubDate>
</item>
<item>
<title>Google&#039;s A-Go-Go Is Gone</title>
<link>http://blogcritics.org/archives/2006/03/11/085951.php</link>
<author>Greg</author><description>Recently, people have been weighing in on the reasons for Google&#039;s stock market decline and cloudy future. Let me add my reasons to the pile.Google is wasting money and straying from its roots. Instead of trying to be a Universal Translator, a Universal Navigator, a Web 2.0 Office Suite, etc., they should get back to refining and &quot;smartifying&quot; the Google search engine. For instance, adding a natural language query system to pose simple questions (i.e. &quot;search Dell site for desktop computers with AGP slots&quot;) would help to improve the relevance of search results and save time. Another natural direction for improvement would allow a user to tailor search results by the demographics of the user. What would users with similar demographics select as relevant links for this query? All in all, we still spend too much time looking for relevant results from a search query.While Google Ads have been a huge success and moneymaker, the same cannot be said for Google AdSense or its other web services. In the case of Google AdSense, recent articles in the media have said that Google AdSense has been a disappointment; users find it difficult to use, and revenues have been low. Google&#039;s other web offerings have also been less than impressive in terms of their innovation. Recently introduced products such as Google Desktop Search and Google Maps are relatively easy for others to duplicate, and do not give Google any great competitive advantage. The recent decline in Google&#039;s stock was foreshadowed during the pre-IPO period in an article that appeared in the Wall Street Journal. In the article, disturbing comments that pointed to a lack of ambition about the company&#039;s financial future arose when one of the founders said he did not care about the money any more (loosely paraphrasing here). Clearly he no longer had a &quot;fire in his belly.&quot; So, with this attitude, how much radical innovation and growth could one expect?The ongoing spray of random and incomplete product roll-outs is further evidence of Google&#039;s own ignorance of its next &quot;killer app.&quot; They remind me more of a charitable foundation that is just giving away products - mostly commodity-level ones at that.Competitive and profit margin pressures continue to build as more portal players and Google encroach upon each other&#039;s markets. Email, photo management, search engines are all being done by small and large players (i.e. Yahoo, Flickr, etc.). Other ad networks have also come along to add to the growing inventory (or glut?) of ad space on the web.We won&#039;t see another fast and long rise in Google&#039;s stock until Google comes along with another product that is extremely useful and difficult to duplicate.</description>
<category>Sci/Tech</category><guid isPermaLink="false">44800@blogcritics.org</guid>
<pubDate>Sat, 11 Mar 2006 08:59:51 EST</pubDate>
</item>

</channel>
</rss>