Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror

Submission Summary: 0 pending, 34 declined, 27 accepted (61 total, 44.26% accepted)

Books

Submission + - Matplotlib for Python Developers (sourceforge.net)

Craig Maloney writes: Ever since there was a collection of numbers, it seems that invariably someone will want a graph of those numbers. There's literally hundreds of different styles of graphs, and almost as many programs and tools to make those graphs. Matplotlib, a library and toolkit for the Python language, provides an easy and effective way to make some pretty impressive graphics with little more than a smattering of Python. Matplotlib for Python Developers is equally impressive at distilling the core set of features of Matplotlib in a way that shows the reader how to get the most out the Matplotlib toolkit.

Matplotlib for Python Developers begins with the customary introduction to the Matplotlib library. It includes where to download Matplotlib, as well as brief installation instructions for both Linux, Macintosh, and Windows platforms. The book then quickly moves to the next chapter, where the basic library functions are presented, via the interactive iPython shell. Each section of the chapter introduces a new part of the graph, with items like titles, grid lines, and labels being explained clearly and concisely. Also briefly presented are other useful libraries like numpy, as well as the various back-ends that Matplotlib supports. Chapter 3 continues the even pace, presenting more plot styles, and plot types, including polar graphs. These two chapters cover the fundamentals of Matplotlib very well, with each step clearly marked by what the graph should look like once completed.

The next chapter introduces more advanced plotting concepts that Matplotlib is capable of handling. The chapter begins with the three ways that Matplotlib may be used (The pyplot module, pylab, and the Object Oriented interface). From there, the book delves into subplots, multiple figures, additional axes, logarithmic axes, date plotting, contour plots, and image plots. Also included are sections on using LaTeX and TeX with Matplotlib, both for exporting graphs, as well as using TeX inside plots via Mathtext. By the end of the chapter, I felt very comfortable with the environment and the capabilities of Matplotlib, both as an interactive environment, and as a module for my own programs.

The next four chapters cover integrating Matplotlib with GTK+, QT4, wxWidgets, and web-based environments. The chapters for GTK+, QT4, and wxWidgets each begin by presenting a basic overview of the toolkit, and why one might want to use that particular toolkit. Next, the book shows how to embed a Matplotlib figure in a window, both with static and real-time data input. The book then shows how to use the toolkit's builder with Matplotlib (Glade for GTK+, QT Designer for QT4, and wxGlade for wxWidgets. The chapter on web development veers slightly from this format by showing several examples of using CGI and mod_python with Matplotlib before showing how to use Matplotlib with Django and Pylons.

The last chapter pulls together some "real world" examples together for the grand finale. The examples clearly show how Matplotlib would work for such plotting Apache web logs, fitting curves, and plotting geographic data. The geographic data plotting uses an additional module called basemap, which allows for plotting precisely on a map. This example floored me with the amount of power that Matplotlib possesses.

Overall, I found this book to be informative, without a lot of fluff. The organization of the book sometimes dipped into a chaotic presentation of "oh, look at this", but overall the author kept a very even pace, with clearly defined goals and clean resolution of those goals. Matplotlib for Python Developers is definitely a book that I would pick up to refresh my memory for using Matplotlib. The asking price is a bit steep for book that is just shy of 300 pages, but overall I highly recommend it for anyone looking to get started with this exceptional library. I'd also recommend it for anyone looking for alternatives to some of the other plotting packages available. Matplotlib is quite powerful, and Matplotlib for Python Developers makes this power very accessible.

Books

Submission + - Hacking VIM (decafbad.net)

Craig Maloney writes: "Throughout the years, there have been many clones and re-implementations of the venerable vi editor. One variant of vi that emerged and stayed with us is VIM. Since it's introduction, VIM has proven itself a worthy successor to the traditional vi editor. VIM has rightfully taken the place of standard vi implementations as the spiritual successor to vi, completely replacing the vi editor on many, if not all of the current Linux distributions. Many improvements have been made to VIM such as tabs, spell checking, folding, and many, many more. However many of these new enhancements may still remain hidden to anyone who isn't keeping up on the cutting edge of VIM development. Hacking VIM is a good resource for becoming more familiar with the new features of VIM and how to make them work best for you.

Hacking VIM is a short book, weighing in at a scant 210 pages. The book contains six chapters, and two appendices. The first chapter covers the history of VIM, and the lineage of vi clones that preceded it. Chapter 2 covers personalizing VIM. This chapter covers how to really take VIM and customize it for your own needs, from changing the fonts and colors for GVIM to personalizing the status bar, and using tabs. Chapter 3 deals with navigating better in VIM, whether it's in a singular file, or a group of files (which is especially important for several programming environments). Chapter 4 discusses the many productivity enhancements of VIM, such as templates, auto-completion, code folding, sessions, and the built in diff mode. Advanced formatting is covered in chapter 5, which has a few interesting tips on making code look better. Rounding out the book (and weighing in as the largest chapter of the book) is scripting VIM. VIM has excellent scripting capabilities, and this chapter covers them in great detail, from finding scripts to writing your own. Lastly, the Appendix covers some of the neat scripts available for VIM, such as a minesweeper game, and the obligatory Towers of Hanoi puzzle and mail client (because no software is considered done until it reads mail and news. :) )

Hacking VIM prefaces each tip with which version of VIM will work with each function. There were only a few instances where I noticed that a particular function was mis-marked as requiring a later version of VIM that actually worked with earlier versions. The book also contains good images which help demonstrate some of the more visual components of VIM, like tabs, folding, and the spell checker.

Hacking VIM is chock-full of useful tips for getting the most out of VIM. The book is aimed at those who have already gained some familiarity with the VIM editor, and is by no means a tutorial for the novice user. There is clearly a bias in this book to the intermediate and advanced VIM users. Unfortunately, this is at odds with the first chapter, which starts with a history of the VIM editor. This wastes some of the space of the book, and would have been best used with more unique and different tips. Also, having some experience with VIM, I found certain tips weren't worth the trouble, and others quite confusing. The section on signs was a bit confusing, and I'm still unclear on why they're worth the trouble. There were several instances where I wondered what the productive benefit of a tip would be. On the other hand, I did find several tips invaluable. It's easy to overlook new functions in the CHANGELOGs, so I missed that newer versions of VIM had integrated spell-checking. Overall, Hacking VIM had enough good tips in it that I hadn't discovered on my own to make it worth the read.

Like most editors, VIM can induce editor fiddling sessions that result in little work being done, and Hacking VIM contains lots of fodder to make even the most ardent tweaker happy. Unless you carefully follow the mailing lists for VIM, and try every new feature as it is released, you might miss some really helpful productivity enhancers. My only wish for this book would be more focus on really productive tips, and less history about the other versions of vi that didn't survive. Hacking VIM may have lots of "of course" items for the truly seasoned VIM user, but for those of us who don't keep up-to-date with the latest features, Hacking VIM is an excellent way to get more familiar with some of the truly great features that have been introduced in later VIM versions."

Books

Submission + - The Official Ubuntu Book

Craig Maloney writes: "Over the long history of Linux, there have been many different distributions. One of the most famous distributions, love it or hate it, is the Ubuntu distribution. Ubuntu has come quickly from being the new kid on the block with the Warty Warthog release (4.10) to the most recent release Gutsy Gibbon (7.10). In that three year span, Ubuntu has grown from a handful of enthusiasts and developers to a thriving worldwide community. The Official Ubuntu Book is the official book from Canonical, which describes not only the Ubuntu distributions, but also the community from which Ubuntu is derived.

The Official Ubuntu Book is comprised of 10 main chapters covering various aspects of the Ubuntu project. The first chapter discusses a bit of the history of the Ubuntu project, as well as the relationship of Canonical to the project. Chapter 2 dives into installing Ubuntu from either the Live CD or the Alternative installation CD. Chapter 3 shows how to use the applications that ship with Ubuntu with some detail. Some of the more in-depth programs get more attention, like The GIMP and Firefox. Also covered are the basics of the GNOME interface, such as adding items to the panels, or logging off of the system. Chapter 4 covers basic system administration (printers, upgrades, file sharing), and package management. Chapter 5 introduces the Ubuntu Server variant, covering RAID, LVM, and more package management techniques. Chapter 6 deals with support issues in a question / answer format, and is a great place for readers to get some of their more common questions answered. Chapter 7 covers the Kubuntu variant of Ubuntu in more depth. Chapter 8 and 9 introduce the Ubuntu Community, and the tools that keep the Ubuntu project running. These chapters alone should be required reading for anyone with more than a passing interest in the Ubuntu project. Lastly, Chapter 10 covers the Edbuntu project, and demonstrates how to set up a LTSP network. The appendices include the Ubuntu related documents, a quick tutorial on the command line, and a great Windows / Ubuntu equivalent section for those who are looking for the best alternatives for certain Windows programs. All-in-all, The Official Ubuntu Book covers the main aspects of the Ubuntu project in a very thorough manner.

Included with the book is the Ubuntu 7.04 release (Feisty Fawn) on DVD. This is a solid release, and was current at the time the book was published. It still has 12 months active support even in light of the recent 7.10 (Gutsy Gibbon) release, and should give those looking to try Ubuntu an excellent starting point.

The biggest issue facing a book like The Official Ubuntu Book is determining a target audience. Ubuntu appeals to a wide range of people; from the newest newbie to the hardened UNIX aficionado. Making a book that speaks to both is no easy task. Fortunately, The Official Ubuntu Book does an admirable job of providing enough to keep both parties interested. New Ubuntu users will find lots of information about how to get things accomplished in Ubuntu, while seasoned UNIX user will find enough information to see what th differences are between Ubuntu and other Linux distributions. Both will find a great introduction to participating with the rest of the Ubuntu community in the later chapters of the book. Any user of Ubuntu would be well served in reviewing those chapters fora sense of what opportunities exist, and how best to participate in the community given their talents and skills. True, the chapters describing specific applications lack much depth, but the omission can be forgiven in light of the shear amount of material covered. Just learning how to navigate what is provided on the live CD could fill a tome the size of this book, leaving no room to discuss the more about the community. The Official Ubuntu Book balances between both extremes, and provides plenty of information about both the Ubuntu distribution, and the community.

The success of the Ubuntu project is due in no small part to the people who spend their time participating with other Ubuntu users. Reading The Official Ubuntu Book not only gives a sense of what Ubuntu is about, but also shows how open and inviting these users are. The Official Ubuntu Book may not be the best tutorial for the new Linux user, but it is an excellent book for those who want to take the next step and be a part of putting together and supporting a large Linux distribution. The Official Ubuntu Book captures the spirit of the Ubuntu community well, and brings the excitement in a palpable form to the reader. I can recommend this book to new users of Ubuntu with only the caution that they may need to find other resources to learn the many new programs that ship with Ubuntu. However, I can also highly recommend this book to anyone who has even a passing interest in getting involved with the Ubuntu project, both new and experienced. The Official Ubuntu Book, much like the Ubuntu project, is an ambitious undertaking, and similarly we all benefit from their hard work."
Books

Submission + - Project Arcade

Craig Maloney writes: "Growing up, I found myself more than once in an arcade, be it in the mall, Meijer, or a free-standing building. The atmosphere was unmistakable: loud, with lots of activity, and people getting fully immersed and "in the zone" between them and their pixellated avatar. While playing an arcade game at home has been possible for many years now, the true arcade experience has been a little more elusive. There's something about having an upright video game cabinet, and playing on arcade hardware that gives the game that extra sense of being right in the arcades of my youth. There are many sites out there that have different plans for building a MAME arcade cabinet from scratch, but most read like a post-mortem for how the author pieced together their particular setup. And what if you just want to convert an old (non-working, I hope) cabinet into a MAME arcade cabinet? Lots of information is out there, but where do you start? Project Arcade is an excellent introduction for building your own MAME arcade cabinet from scratch, and compiles lots of material into one comprehensive book.

Project Arcade is split up in to five parts. The first part describes the planning process, and comprises complete plans for building an arcade cabinet from scratch. The second, third, and fourth parts are a list of parts and design decisions for the hardware for your MAME arcade cabinet, from the control panel and computer, to the speakers and monitor. The fifth part is a summary of various "off-the-shelf" solutions for purchasing a complete MAME-ready arcade cabinet, as well as links to other "inspirational" projects. Obviously, if you're building the MAME arcade cabinet from the wood up, and outfitting it with your own hardware, then most of the book will be applicable to you. I found all sections to be very valuable, and regardless of which direction I take (build or buy) I'll be more informed when I finally devise my plans and make my purchases.

One thing that stood out in Project Arcade was the thoroughness of the book. Unlike some "build your own arcade books", Project Arcade contains complete plans for an arcade cabinet, from start to finish, including lists of all of the materials. I unfortunately didn't build the cabinet, and am not an expert on woodworking, but the plans looked complete and well thought out. At the very least, it left me with the impression that this was something that I could likely handle with some help. The part I am a little more familiar with (the electronics) was quite fascinating. The book catalogs a great deal of hardware available to the arcade-cabinet builder, and there were parts that I didn't know were available, such as screw-terminal keyboard adapters (no more taking apart cheap keyboards for me). The author details many different joysticks, trackballs, and button choices available, with thoughtful discussion on the pros and cons of each choice. I felt through most of the book like I was being guided by someone who was passionate about building excellent MAME arcade cabinets, and had a lot of knowledge to share. Even the section on pre-made cabinets was carefully put together, with the benefits of each cabinet design explained thoroughly. There are also copious amounts of photos, so you'll know exactly what it is you're looking at. Also, where applicable, there are diagrams and charts to aid and assist.

Unfortunately, the strengths of Project Arcade are also part of its weaknesses. There are a LOT of parts described in the book. After a few pages of the same type of part, my mind started to wander. While the descriptions are comprehensive and insightful, I found myself after a while thinking "I get it already". Detailed descriptions of taking apart keyboards and soldering to them to me seemed obvious, but I can see why the author decided to take the time to explain the process more thoroughly for those who may not be as comfortable taking apart something electronic. Also, the book focused mostly on the hardware for building a MAME arcade cabinet. I would have appreciated the same depth of discussion on the software available to complete the project, mostly because I think the author could have brought some very insightful recommendations on what software to use with the MAME arcade cabinet.

When I build my MAME cabinet, be it a conversion of an old (non-working) cabinet, or from scratch, Project Arcade will definitely be the book I use on that project. While the descriptions can be a bit verbose, the book delivers a very thorough and insightful perspective on what I should be looking for when envisioning what my completed MAME cabinet should be. Much like a do-it-yourself book for remodeling your bathroom, the book can only provide you guidance; the finished project is up to your creativity and imagination. Project Arcade is that guidance to building yourself the perfect MAME arcade cabinet."

Slashdot Top Deals

Nothing ever becomes real till it is experienced -- even a proverb is no proverb to you till your life has illustrated it. -- John Keats

Working...