Organizing Using Directives in Visual Studio

When it comes to removing and sorting unused using directives in the Visual Studio Editor, a useful feature that is not enabled by default is to place all System directives on the top.

Here’s what it looks like with the option disabled:
phong 1

And here’s one with the option enabled:
phong 2

Step 1: Turn on the option
phong 3

Step 2: Use the “Remove and Sort” option
phong 4

Phong Hoang
Director of Development
ImageSource, Inc.

Steve Jobs and Promoting Insanely Great Software Quality

“You can’t just ask customers what they want and then try to give that to them. By the time you get it built, they’ll want something new.” (Steve Jobs, 1989)

“You‘ve got to start with the customer experience and work back toward the technology – not the other way around.” (Steve Jobs, 1997)

“[If you’re lucky, when you grow up you’ll discover one simple fact: Everything around you that you call life was made up by people that were no smarter than you and you can change it, you can influence it, you can build your own things that other people can use.” (Steve Jobs, 1994)

steve-jobs-12-970x0

Few people in recent history have made the impression Steve Jobs did. He was a thunderous, hypersonic force in a world of (relatively speaking) slow-motion quiet, leaving behind a vibrant legacy of astonishing dimensions and changing not only the way people communicate, but the very way people think about communicating in the world of information interchange.

The first two quotes highlight the difficulty of transforming a process/idea into mass-marketable software. Further, they show that for the past twenty years or so, the process of building software has not changed appreciably. One can search the Internet, scanning for the one definitive article that outlines the perfect strategy and methodology for software development, marketing and deployment. With the millions of people working diligently the past twenty-plus years in the tech world to codify any and all matters, it seems that would be doable. OK. Go ahead and look. I’ll wait. And, if the past is any indicator of future performance, twenty years from now I’ll still be waiting and you’ll be howling, foaming-at-the-mouth mad, surrounded by seriously alarming piles of used, fermenting pizza boxes and empty soda bottles. And the only one who will still love you is your Mom. Maybe. Software development can be likened to being chased by a rabid Rottweiler while trying to catch an over-amped cat jonesing for tuna when you have one leg in a cast and the cat isn’t inclined to be caught and the Rottweiler seriously wants to turn your good leg into its new, favorite chew toy, you know? Continue reading

How to run SQL code against an Oracle databse

Context: ILINX Capture, ILINX Release and Oracle IPM 11g

Problem: A customer wanted the ability to run some custom SQL code against an Oracle database after a doc has been released to Oracle IPM 11g.

Solution: Place the built-in DatabaseLookup IXM after Release and use the return value from Release to call Oracle. Below is a screen shot of the workflow:

phong

Phong Hoang
Development Manager
ImageSource, Inc.

Pulling the value from a tag in an XML data type using T-SQL

If you need to extract the data from an XML data type column to be used as part of query, and you need it to be a usable data type in MS-SQL, you can use the Value() method.  Using the Value method, we can extract the data contained within an XML tag as a SQL Data Type. The Value() method takes two arguments:

XQuery and SQLType

The following returns the value stored in the second <SSID> tag as a VarChar(50):

— First we create an XML variable to store the data that we’ll use for this example
DECLARE @x xml
SET @x =      ‘<NETWORKS>
<SSID> Wompsters University </SSID>
<SSID> Wompsters Inc </SSID>
</NETWORKS>’

— Select the second SSID value and specify that we’d like to return it as a VarChar(50), (Keep in mind the <SSID> position starts at 1, not 0)
SELECT @x.value(‘(//NETWORKS/SSID)[2]’, ‘varchar(50)’);

— This will return the VarChar “Wompsters Inc”, which you could use like a normal String in any SQL query

Benn McGuire
QA Test Engineer
ImageSource, Inc.

ILINX Capture Mobile for iOS and Android Update

ILINX Capture Mobile extends document capture, normally limited to scanners inside of your organization, out to mobile devices in the field.

  • Capture documents on your mobile device via its camera or existing photos folder
  • View and select batch profiles and associated document types live from your internal ILINX Capture system
  • Index and send documents directly into your ILINX Capture workflow for processing, all from your supported mobile device

ILINX Capture Mobile is great for city/county inspectors, accident photos, realtors, appraisers, or anyone needing to document information remotely or even just expedite travel expenses.

Look for the full details coming soon at: http://imagesourceinc.com/

Robert Hughet
Product Manager
ImageSource, Inc. 

Speed Up File Management With Enumeration

If you’ve ever had manage a collection files in .NET then you know the drill, you call Directory.GetFiles or DirectoryInfo.GetFiles.  In either case you get an array of files back, either in the form of file name strings or FileInfo objects.  This method works just fine for a small list of files, but when the list size starts to get large, loading a large array into memory can be problematic.  Not only does it consume a large amount of memory, but sorting and looping through this large array can be time consuming.

Continue reading

.NET FileSystemWatcher

This week, I had to put together a simple application which watched a specific directory for the creation of a file with a given name. The goal was to process the contents of the file and then delete the file. The directory should be continually monitored and each subsequent file creation should be processed.

 

Continue reading