Safari InformIT – For the IT Crowd.

Safari Books Online
Image by iogi via Flickr

One of my long-term favorite services that I’ve subscribed to as a paying member on-again, off-again is Safari Books Online. Safari offers access to a vast library of hundreds of IT related books for online reading.

If you work in the IT realm, its well worth the subscription cost – especially if you can get your employer to foot the bill for you. IT books are such a niche volume and oftentimes so massive in size that they frequently run $50-$100 for a single volume. Safari offers a relatively inexpensive alternative – while also preventing the proliferation of the dreaded stacks of outdated IT books that seem to crop up around us as technology changes at a blistering pace.

The price used to be $10/mo. for their basic subscription – but that was years ago and it is now a much steeper $23/mo. – but still well worth the price.

Oftentimes when we find online subscription services the best and the brightest are not among the selection – this is not the case with Safari. You’ll find numerous volumes from a variety of the best technical publishers including O’Reilly Media, Microsoft Press, Sams, Apress, Cisco Press, Packt Publishing, Que, and McGraw-Hill.

Perhaps a little insiders peek at what I’ve been reading (or at least perusing) over the last year or two on Safari will help provide some idea of the range and depth of the collection:

  • Martin WP Reid’s Pro Access 2007.
  • Ross Mistry and co.’s Microsoft SQL Server 2005 Management and Administration.
  • Michele E. Davis and Jon A. Phillips’ Learning PHP and MySQL 2nd Edition.
  • Luke Welling and Laura Thomson’s PHP and MySQL Web Development.
  • Andrew and Paul Hudson’s Ubuntu Unleashed 2008 Edition.
  • Karen S. Fredricks’ SugarCRM for Dummies.
  • John Paul Mueller LINQ for Dummies.
  • Dino Esposito’s Programming Microsoft ASP.NET 3.5.
  • Scott Driza’s Word 2007 Document Automation with VBA and VSTO.
  • Kirk Haselden’s Microsoft SQL Server 2008 Integration Services Unleashed.
  • Larry Tenny and Zeeshan Hirani’s Entity Framework 4.0 Recipes: A Problem-Solution Approach.
  • Alex Mackey’s Introducing .NET 4.0: with Visual Studio 2010.
  • Michael Lisin and co.’s Microsoft SQL Server 2008 Reporting Services Unleashed.
  • Brian Larson’s Microsoft SQL Server 2008: Reporting Services.
  • Laurent Bugnion’s Silverlight 4 Unleashed.
  • Michael W. Picher’s Building Enterprise-Ready Telephony Systems with sipXecs 4.0.

Along with extensive collections of books on development (web, java, .net, php), database (mssql, mysql, oracle), server/workstation administration (windows/linux), and network administration there are titles on digital media, engineering, math and science, personal and professional development, and so on.

Did I mention you get discounts on books (significant ones) if you purchase them while having a subscription? Sweet.

No, I’m not getting paid by Safari for this post. 😛

FrontRange’s GoldMine CRM Software.

I spend a lot of time using and configuring FrontRange Solution’s GoldMine CRM software. I’m not claiming to be an expert in the software – in fact, if you travel over to the more frequently utilized forums related to GoldMine you’ll see I sometimes get taken to task for asking seemingly simplistic questions. But, as someone who is involved from a systems administration side and is still a n00b in some senses, I thought my perspective might be worthwhile.

This is a living document. I plan to flesh out much of the brief points here.

The Good

  • Utilizes Microsoft SQL Server on the back-end.
  • The User Interface is fairly intuitive.
  • The User Interface is highly customizable, allowing it to be customized for any type of organization/business.
  • Automated Processes allow advanced automation and scheduling of tasks and communications.
  • Keeps detailed history of changes made to records.
  • Allows for a number of interesting updates – for example you can update a field to be “proper” which will attempt to take something like DAVE MACKEY and turn it into Dave Mackey.
  • Includes a 5-digit zip code database with the product.
  • Allows for one-to-many records that can be associated to a contact, this allows you to do things like associate multiple people, phone numbers, addresses, etc. to a single contact ad infinitum – e.g. you are not limited to a hard and fast number (only three addresses, and so on).
  • Lookups allow you to force data entry to occur with only certain values and to assist data entry in occurring faster by providing auto-type as an individual enters data.
  • You can see how long people have been logged in, if they are idle, if they are actually doing anything, and so on.
  • Integrates with Microsoft Office – including Word, Excel, and Outlook.
  • Can integrate using Computer Telephony Interface (CTI) with your phone system.
  • Numerous plugins and addons are available to extend the functionality of GoldMine.

The Bad

  • Ummmm…Why did you just crash? 🙁 Again?
  • Shows you each email it is sending – and won’t stop – which becomes a hassle if you are sending out a lot of emails.
  • If you “curtain” a record (that is, prevent people from seeing certain aspects of it) the individual can no longer edit any aspect of the record.
  • There is no option to “Add User From” field in Auto-Processes when sending emails (which is odd, b/c there is almost everywhere else in Auto-Processes).
  • You have to create multiple events within an AP to handle multiple actions off the same event. It’d be nice to design one event that then has multiple actions – would reduce redundancy.
  • There is not granular abilities to restrict data at the UI level (one can do more at the database level). This makes it difficult to prevent people from entering invalid characters or values into a field – this could be easily fixed with validation, which is a common feature in most products.

The Ugly

  • In database theory there is something called normalization. This is considered best-practice and involves (amongst other aspects) dividing tables into logical divisions, e.g. rather than having all your columns in one table (like name, address, state, city, zip, phone, age, birthdate, and so on) you divide them into logical tables with “keys” (unique identifiers) that can link between the tables to make one big view when needed by the end user. Unfortunately, GM throws this idea out the window in several significant areas – namely the core contact tables CONTACT1, CONTACT2, and CONTSUPP. CONTACT1 and CONTACT2 should be divided up into a number of tables like – person, address, phone, email, and so on – instead of all being lumped into one table…but this is livable.
  • The really annoying part comes with CONTSUPP, which is used as a “catch-all”. Looking for an additional contact associated with that contact? Look in CONTSUPP. Looking for an additional phone number? Email address? Company? Look in CONTSUPP. This even would be livable except for the fact that the column names in no way reflect the contents of the columns, thus while the column name might be “Zip” it may actually hold a phone number, and while a field may be named “Contact” it may hold a phone number, and so on. There are “header” records (also in CONTSUPP) that you can use to “decode” all of this, but still…this is bad, really bad.
  • Another bad design concept is the account numbers. Rather than using integers as most do – like 1000471812 and so on, they utilize a complex combination of values from each contact record that give you a accountno that looks something like A78294VB~$%. Several of these characters are reserved in SQL which means that if you aren’t very careful your script may do something you don’t expect.
  • The application utilizes DDE – a very outdated data sharing methodology. While they discourage in their API documentation third parties from using DDE they still have it enabled by default and the Microsoft Office plugin is built on the DDE technology.
  • The pricing isn’t out of line with many other CRM providers who have been around for a while – but it is certainly out of line with many of the newer entrants and SaaS solutions.

Would Be Nice

  • You cannot delete the USERDEFxx fields which are auto-created on CONTACT2 and which you usually don’t use (you can create your own user defined fields with descriptive names instead).
  • Would be nice if it supported record types beyond character, numeric, and date such as BLOB and boolean.
  • Cannot resize the User Defined Fields window.
  • Ability to edit all User_Var values through GUI – rather than ini files.
  • Since it was originally built on dBase it offers very tight integration with many dBase language features but only decent integration with MSSQL features.
  • Movement of the INI, TBI, and BIN files into sub-directories within the GM directory to help declutter.
  • Right now you have to manually create preview images of reports, it’d be nice if this was auto-generated.
  • The ability to “undo” steps in the Expression Builder. Right now if you accidentally make a make a mistake you are out-of-luck and have to do all hand editing from thereon out – or clear the expression builder and start again.
  • If a document is queued by an AP and and then the AP is dropped, the document remains queued. There should be an option to have it removed.
  • The ability to have a different name for an email template than for the subject of an email.
  • Support for all merge fields in the email design interface.
  • The ability to copy/move events between APs.

Microsoft’s Free Development Tools.

Image representing Microsoft
Image via CrunchBase

I remember as a teenager programming for years in QBASIC – a free, lite version of QuickBasic Microsoft bundled with DOS and early versions of Windows. It was great fun – but I yearned to get my hands on the full QuickBasic so I could compile my applications and give them to others without giving away all my source code (okay, OSS was barely known back then).

Later I would save for months to purchase Visual Basic 5. $100+ is a lot of money for a teenager – but I wanted to program so bad that I scraped and saved.

After that there was the ASP.NET Web Matrix – a predecessor to the great tools Microsoft now offers for free. Unfortunately, its development was abandoned and for a long period of time I was left in a painful lurch….but then Microsoft started the trend that has made me extremely happy – free lite development tools.

These development tools include Visual Basic 2008 (for desktop applications), Visual C# 2008 (also for desktop applications, but in C#), Visual C++ (just like the last two), and Visual Web Developer (for web applications) – all in the Express line. Additionally they’ve thrown out there SQL Server Express (database back-end) and SQL Server Studio Management Studio Express (for writing SQL and managing databases).

While these applications are noted as “express” that doesn’t suggest that they are majorly crippled – rather they are extremely full functioning applications which can be used to create many impressive applications. For the new, hobbyist, or small business developer many times the Express Editions will be all that you ever need.

This was a smart move on Microsoft’s part – it gets people hooked on Microsoft development young – and it works great for us as well – because we get free development tools. By the time Microsoft expects us to shell out cash – well, we are probably making some from our now decent development skills. Go grab yourself some free development applications: https://www.visualstudio.com/vs/visual-studio-express/.