Reviews

Product Review: DBVisualizer 7

Tuesday, 23 February 2010 @ 19:56

I finally got my hands on a copy of the DBVisualizer. I have been ready to try version 7 out for a long time. It has some new features that I am really excited to try out. I have not used the product since version 5; yet, there are some killer things that I wanted to try out. I have been looking for a db tool that has some great Object management, searching and Graphing capabilities.

First, let me talk a little about what has prompted me to get my hands on this great tool. DBVisualizer is a database tool that is written in Java and can run on various platforms; meaning I can run it on windows, linux and mac – and I do. It is fantastic to have a tool that I can run on all three and use it daily for all my database development. I do a lot of database development with a few different databases. As I work on mulitple databases, I find it difficult to move between different tools to perform similar tasks. Currently, I am working with the following databases: Oracle, MySQL, PostgreSQL and Sqlite. I do, every once in a while, access MS SQL Server and DB2. It is rare, but the occasion does arise. What I find frustrating is to have tools for each one or running stuff on the command line all the time. Don’t get me wrong, I love the command line, yet I do my job is a lot easier when I have one tool to handle all the different databases that I work with on a daily basis. For this reason, I have been eager to give DBVisualizer a spin.

When I first started up DBVisualizer it was great to have database drivers already configured for me. That was one of the issues with previous version that they did not come with some preconfigured drivers that would allow me to get my database connections up and going. It was very easy to get MySQL, PostgreSQL, and SQLite up and running. I did have to get Oracle configured (that might be an issue with Oracle that it does not come pre-configured due to restrictions on the bundling the driver with the product). Either way I got it installed and configured.

One new feature that I throughly enjoy is the concept of profiles for each database type. For example, there is a profile for MySQL, PostgreSQL and SQLite. This allows me to custom tailer my connections for my database types or I can have it use the auto detection to decide which one to use. I wish I had all the time to go into the other options that can be configured with the connection. There are setting for the type of connection with regards to the type of database I am working with: development, test, or production. I can also configure any JDBC options as well. The connection hooks come in handy for anything that I need to run right when the connection is made and when the connection is going to be disconnected. There are tons of other configuration items; you just have to check it out for yourself.

I really like the additional of folders in the Database Tab. This has allowed me to organize my databases into folders and groups. I like to put all my database types in a specific folder. The Scripts Tab has really been useful for storing all my scripts that I tend to run over and over again. The Favorites Toolbar is a great addition for all my databases that I constantly access throughout the day.
For some the Query Builder might be a one feature that is amazing. For me, I am not a big fan of the Query Builder; it is there for the using and it works great. For some, this might be just the thing that you need for your database development work.

Another great feature that I have come to enjoy is the References Graph that can generate a graph based on the references between your tables. This has really helped me out to see a representation of the database in a nice simple graph, which I can then export or print.

Sometimes as I am designing the database I need to do many different administrative tasks on the databases. DBVisualizer offers various actions that allow me to perform these tasks and they are accessed at different levels depending on the database object type that I am working with. These actions have really saved me time exporting and restoring a database.

Another new feature that I wanted to check out was the Procedure Editor. I tried it out on creating some MySQL procedures and only felt that it lacked in the debugging of a procedure. That is it! It provides a clean and intuitive interface for creating functions and procedures. It is fantastic to use the same tool for creating functions and stored procedures in different databases. Then I was able to execute that code and test it out. I wish that it had line by line debugging of the procedure as that would save me some time and effort of some of the code that I was writing.

Overall, I have been very impressed with DBVisualizer. The product is clean, stable and allows me to accomplish my tasks regardless of the database that I am connected with. There are a few items that I would love to see added to the product. Namely procedure debugging and integration with a content repository system like svn, cvs and or git. I have some projects that are database ones and it would be nice to work with them as a project instead of just opening files up and running the contents. Since this is a java based project and it uses JDBC drives, I would love to see some integration with some of the new cloud databases like CouchDB or some of the new ones coming out. That might already be in the works for the next version; just a thought.

Sams Teach Yourself PHP, MySQL, and Apache by Julie Melonie

Monday, 26 October 2009 @ 22:34

As you can guess from the title, this book is a primer geared towards beginning AMP developers. I’ve probably read half a dozen books like this over the last year, and this is one of the best I’ve seen.

Melonie is the Technical Director at i2i Interactive in Los Altos, Callifornia, and has written 8 books on web development topics, mostly centered around PHP and MySQL. This book assumes no previous knowledge of PHP or MySQL. The only real requirement is a working knowledge of HTML. Melonie explains the material in a clear, non-intimidating fashion which makes it truly accessible to anyone. She does a good job of explaining concepts that are often difficult for new programmers (such as objects), and gives plenty of examples to illustrate.

One thing that’s missing from a lot of other introductory books is the Apache piece. I like that this book dedicates some time to Apache besides just the usual cursory overview of how to install it. Melonie explains what you need to know about the Apache configuration file, and covers some useful topics like implementing virtual hosting and setting up a secure web server.

Final word: I can definitely recommend this book as a good starter for anyone wanting to get their feet wet in AMP development. It could probably even serve as a refresher for more experienced developers, or a reference for anyone.

A Web Developer’s Guide to System Security

Monday, 13 July 2009 @ 13:35

For our July meeting, Josh Fenio will present on A Web Developer’s Guide to System Security. The presentation will track the day to day aspects of a security-minded systems administrator. Topics that will be covered include intrusion prevention, intrusion detection, and recovery, along with relevant tools to accomplish each mission.

Josh Fenio is a software engineer in Northern Nevada, known as “stderr” or “dataw0lf” on the IRCs.

Book Review: MediaWiki Administrators’ Tutorial Guide

Wednesday, 26 December 2007 @ 23:25

Packt Publishing sent me a copy of MediaWiki Administrators’ Tutorial Guide for review. MediaWiki is the open source wiki software that powers Wikipedia.org. Many organizations, including mine, use MediaWiki to power their own wikis. The book is a bit incoherent at times and needs polishing, but it had some good sections and introduced me to several new features of MediaWiki.

The title is a misnomer since the first half of the book addresses MediaWiki basics, topics with which an “administrator” should already be familiar. Besides chapter 2, which covers installation, it’s not until Chapter 7 (“Administrating MediaWiki”) that the book really begins to address administrative topics. In a few places the book even suggests that you “request an administrator” (sic) to complete a certain task. (Wait, I thought I was the administrator?) The book might more aptly be called “The MediaWiki User and Administrator’s Guide.”

These are the chapters:

  • Chapter 1 – About MediaWiki
  • Chapter 2 – Installing MediaWiki
  • Chapter 3 – Starting MediaWiki
  • Chapter 4 – Advanced Formatting
  • Chapter 5 – Organizing Content
  • Chapter 6 – MediaWiki in a Multi-User Environment
  • Chapter 7 – Administrating MediaWiki
  • Chapter 8 – Customizing MediaWiki
  • Chapter 9 – Hacking MediaWiki
  • Chapter 10 – MediaWiki Maintenance
  • Chapter 11 – Cool Hacks

There were a few instances of gushing praise for wiki software that seemed untempered and unsubstantiated. These weakened the book, as if the book were fighting for legitimacy. For example, the introduction states, “If we think a forum, blog, and CMS are easy solutions for this, then a wiki will be an even easier solution for the problem.” (p. 9) Not a line you’d use to sell MediaWiki door to door. After explaining how to edit a page (again, is that necessary for an administrator?) it reads, “Can editing be simpler than that? I don’t think so.” (p. 15) An administrator’s guide doesn’t need to preach the virtues of the software — administrators are already sold — but if it attempts this, the claims should be specific and backed by evidence, not sweeping and general. If the book were to explain that “X percentage of users prefer wiki software because of Y and Z” or “wiki software isn’t right for every situation, but it’s great for A and B,” the administrator might actually have some ammunition with which to sell wiki software to users and decision makers.

Chapter 6 addresses using MediaWiki in a multi-user environment. I think this should be assumed from the beginning. Again, wiki software is not universally superior to all other blogging or CMS packages. It should be assumed that MediaWiki will be used for multi-user collaboration since that’s where it excels. It shouldn’t be an afterthought.

I found several typos and awkwardly written sentences. The editing team should have done another pass over the book.

The book taught me several new things about MediaWiki, including the following:

  • Interwiki links, page 61 — “Using interwiki links, we can create links to other sites on the Internet. This gives users the option to avoid pasting in entire URLs (as for regular web pages) and instead use shorthand by adding a prefix to another wiki.”
  • External images, page 67 — Use $wgAllowExternalImages = true; then write something like this: [http://www.packtpub.com http://www.packtpub.com/images/PacktLogoSmall.png]
  • Definition Lists, page 75 — “To indicate a definition term, use a semi colon at the beginning of the line. To indicate the definition, use a colon….”
  • Creating a gallery, page 100 — You can create pages with four columns of image thumbnails.
  • Magic Words, page 107 — “Magic words [like NOTOC or NOEDITSECTION] are a few reserved words that are used for special purposes in MediaWiki. They are used to create special types of formatting.”
  • Using Sort Keys to Sort Category Listings, page 121 — Category listings are sorted alphabetically by first letter. With sort keys you can cause specific categories to appear out of the usual order.

Administrators and developers will like the sections on how to use templates (p. 122), how to create a new skin (p. 208), and how to write MediaWiki extensions (p. 226).

I would have liked more information on these topics:

  • Subversion (SVN) usage and best practices
  • Database internals
  • Memcached
  • Administering multiple installations of MediaWiki (wiki farms)

This book could conceivably be two. After being thoroughly proofread and polished to match the audience, the first half of the book could be a great resource for MediaWiki users. The second half, expanded to include the above topics, would be well suited for a MediaWiki administrator.

Book Review: Professional Search Engine Optimization with PHP

Wednesday, 29 August 2007 @ 22:22

As part of my research for last Thursday’s UPHPU meeting about search engine optimization, I reviewed a new book:  Professional Search Engine Optimization with PHP: A Developer’s Guide to SEO by Jaimie Sirovich, Cristian Darie, published in April 2007 by Wrox. In my opinion, SEO should be a part of every developer’s training. The book covers all the basics, debunks a few myths, advises on how to avoid black hat SEO attacks, talks about foreign language SEO, and rounds out with chapters including an e-commerce case study and SEO for WordPress.

You can find a more detailed review of Professional Search Engine Optimization with PHP at designsimply.com.

ZEND PHP 5 Certification Study Guide

Thursday, 1 March 2007 @ 10:02

I recently picked up a copy of the “ZEND PHP 5 Certification Study Guide” by php|architect. I have not yet finished it, however thus far I have liked it enough to want to tell other people about it.

The book is around 250 pages long (short by most standards). To this point I have found that this book is a good way to brush up on things I already knew and learn some things that I did not. I am personally using the book to help me study for the PHP 5 certification. However, certification or not, it is turning out to be an excellent tool for honing my skills. It has the added benefit of showing me areas that I need to work on as well as indicating to myself how much about PHP I really know.

I would recommend this book to the PHP programmer of any level.

Essential PHP Security

Thursday, 17 August 2006 @ 4:41

I recently finished reading Essential PHP Security by Chris Shiflett (O’Reilly). It was a good, quick read, and for me it was mostly a review of principles I had previously read on Chris’s blog. The main principles are filter input and escape output. Using separate arrays for each kind of data is a best practice:

// filter input and assign it to the "$clean" array
if (ctype_alnum($_POST['name']))
    $clean['name'] = $_POST['name'];

// escape HTML output with htmlentities()
$html['name'] = htmlentities($clean['name'], ENT_QUOTES);
echo "You entered the name $html[name].";

// escape MySQL output with mysql_real_escape_string()
$mysql['name'] = mysql_real_escape_string($clean['name']);
mysql_query("INSERT INTO table (name) VALUES ('$mysql[name]')");

After reading the book I was only left with one question: is HTTP Authentication over SSL fairly secure? (I assumed it would be.) I emailed Chris with my question and he responded quickly in the affirmative. Thanks, Chris.

Ajax in action

Friday, 10 February 2006 @ 19:15

The book takes an excellent approach in explaining both how AJAX works, and how it can be wielded. For example, the authors chose very practical and useful applications that developers could easily find themselves coding for a client. Example projects include advanced HTML forms, type-ahead suggestions, a desktop interface, and search engine.

“Ajax is a growing new technology at the time of this writing and we’re delighted to bring you the low down on it, in the inimitable style of Manning’s In Action series. In doing so, though, we faced an interesting problem. Although Ajax is indisputably hot, it isn’t rally new. It isn’t a really a technology, either…”

The advent of Rich Internet Applications is a result of a harmony of several web disciplines. While there are several ways to create RIA, Ajax is certainly in the forefront.

While AJAX is the soup d’jour, the authors are also very caution to explain the security risks of AJAX and devoted a whole chapter to concerns you will want to consider.

This is my first experience with this publisher and these authors, but I found this book to be less rigid than many other technical books I have read. Truth told, I felt the book was written more in a conversational style and was able to gleam more of the information I wanted easier and faster through their approach.

All things being equal, you should have a good understanding of JavaScript and XML before approaching AJAX in general. I’m not saying you to have achieved Jedi Master status, but padawans may have some difficulty.

I’d recommend this book

M

Ajax In Action
By:
Dave Crane
Eric Pascarello
Darren James
Published by Manning

Spring into PHP5

Saturday, 30 April 2005 @ 17:00

“Spring into PHP5″ is a new book from Addison-Wesley’s series “Spring into…”. The book is written by Steven Hotzner; an author with many books in his line of credits. If you are new to PHP5 this might be a great book to check out.

I just got a copy of the new book from Steven Holzner entitled “Spring into PHP 5″. The “Spring into” is a new series of books coming from Addison-Wesley publication. You can check it out at Addison-Wesley for more information on additional titles in the series. First, let me give some back ground on Steven Holzner. I first heard about Steven in the Java programming world. With more than 88 books to his list of publications, he has extensive experience in teaching and software development.

Now lets get into the book. As with all my reviews the first thing i like to do is check out the table of contents for anything that catches my eye. Sure enough, there is a couple of chapters that really stood out; chapter 6 Creating Web Forms and Validation User Input and Chapter 7 Object Oriented Programming and File Handling. As I preceded to read through chapter 6 i noticed that the book has a very, and i mean, very simplistic approach. The book is written for new PHP users that want to get started with PHP5. However, as I read through the book I noticed that the book does not cover many of the new features that PHP5 has to offer. For example, the book does not really have any coverage of interfaces and the new XML features. The book does a great job in covering basic PHP functionality and only devotes chapter 7 to Object Oriented Programming.

Some of the good items to discuss about the book is that it is simple and provides simple examples for users just learning PHP. The author does not spend any time focusing on the theory behind PHP and web based programming. For me this is a negative aspect of the book, but can be a positive aspect for a user just wanting to get down to using PHP with no interest in the workings of PHP. The examples and very simple and the Steven does a great job explaining the examples in detail for the reader.

Overall, I feel “Spring into PHP5″ is a decent book for a new user just starting out with PHP5. However, with the lack of real PHP5 chapters and the weakness of chapter 7, I think that a new user can find a book that goes into great detail about PHP5 and the new object oriented engine that it contains. For a user that wants simple examples with a simple and easy to understand layout this book does the trick.


Spring into PHP5
Author: Steven Holzner
Publisher: Addison-Wesley Publishing
Published: April 2005
ISBN: 0131498622
Rating: * *

Linux Quick Fix Notebook

Friday, 29 April 2005 @ 8:06

If you are at all interested in Linux, this is one book that you really must have in your library. It is a book that you atleast need to check out.

I recently had the opportunity to review a new book in the Bruce Perens’ Open Source Series entitled “Linux Quick Fix Notebook”by Peter Harrison. The book is definitely one to have in your library. The first thing I did when i received the book was open it up to the table of contents and searched out some advanced topics that I have been looking to read. Topics like wireless networks, iptables, and LVMs to name a few. I was impress to see those topics and more advanced topics like software raids, LDAP and Radius, and linux vpns. Harrison wrote the book to follow a simple pattern of providing real answers to questions ranging from the most basic to advanced.

One of the first sections of the book that I read was “Expanding Disk Capacity”. In searching the table of contents this was one section that really caught my eye. My reasoning for selecting this section is two fold: first, I wanted to see if the book could be used as a reference to various topics; and second, because I wanted to check out some of the advanced topics covered in the book. Peter Harrison does a fanatastic job of focusing on the topic at hand and providing simple and intellegient instruction to your questions. The flow of the book allows you to pick it up and start with a section and just move through it.

As I started reading the book, I noticed that the progression of the topics moved in an orderly fashion that a system administrator would follow. It allowed the basic administrator to start from the beginning and progress to an advanced level of configuration, security and optimization. One item that I did not really like is the references to RedHat as the linux distro. Yet, I can agree with Peter, that many users will start out with this distro or one similar. I think that the topics are great, and my only regret is that there were not more topics to read about.

The book in its entirety is definitely a must have for any system administrator or software developer. Mr. Harrison provides valuable information in sizable chunks for the reader to manage. My only real critique would be to have a different layout in each topic. For example, in chapter 7 Peter discusses “The Linux Boot Process”. He does a great job of explaining and outlining the process. Still, I think that perhaps having sub-sections in the topics would allow readers to glean additional information. Like have a security, advanced, and optimization sub-sections to each topic.

All in all, Harrison does an exceptional job in bring many great topics into one book. Harrison’s style allows the reader to move forward or back without loosing momentum in the book. The reader can get quick answers to their questions.


Linux Quick Fix Notebook
Author: Peter Harrison
Publisher: Prentice Hall Publishing
Published: March 2005
ISBN: 0131861506
Rating: * * * * *

pages

categories

events

syndication

random members

Utah PHP Users Group

recent posts

recent comments

recent job announcements

search

C7 Data Centerscolocated at C7 Data Centers
administered by Anavi Design