Skip to content

Weekly InfinaDyne Chat

November 6, 2015

This week is a little different with a video showing a demonstration of the Vindex product.

If you haven’t seen Vindex before, you might want to take a look at the web page for it.  It is a product that is designed to make life much simpler for anyone that needs to analyze or examine video as part of their job.  Most of the focus recently has been on processing surveillance video, usually from dedicated DVR systems, but Vindex is designed to work with nearly any sort of digital video.

Version 2 of Vindex was a significant improvement in that it added video enhancement.  Version 2.1 then added a new “frame reader” to Vindex so that it is no longer reliant on installing any sort of codec pack on Windows.  This demonstration video focuses on the video enhancement in sort of a trivial way – just increasing the brightness of a surveillance video so that we can see the subject’s face better.

There are certainly other ways to do this, but I think you will see from this demonstration that playing a video, grabbing a screen capture and then enhancing that with something like Photoshop is a bit more complicated and probably more time-consuming.  Also, while there are many very nice video tools that you can purchase, Vindex is priced to be within reach of every organization that is using digital video in any manner.

If you would like to try out Vindex for yourself, click here to go to the Vindex page and download the trial version.  Questions? send them to sales [@] infinadyne [.] com,

 

Weekly Chat, 23 October 2015

October 23, 2015

Here is another weekly chat, this time discussing some of the new features in CD/DVD Inspector version 5.0.  One of the big things with this version is that the even for simple tasks it is often the case that the same content is being retrieved from the disc multiple times.  If you bring up the new Image Gallery and then produce a report with thumbnails every single picture on the disc will have been read at least three times.  When there are thousands of pictures on a disc, this can be quite time-consuming.

Previously, there was a argument in favor of always reading from the disc.  Partly, this was somewhat outdated but still relevant for many, this argument was disk space.  A simple DVD that is full of data is going to take 4.35GB of hard drive space to hold an image and it has only been in the last few years that terabyte and multi-terabyte hard drives for computers were common.

Also, there was the argument that if all you are doing is producing a report from a disc creating an image file is of limited benefit if you then turn around and produce the report from the image file.  This is still true in some sense, although with the assumption of greater processing speed, faster hard drives and nearly unlimited hard disk space, it is more reasonable to create an image file from every disc as a first step.

When used interactively, this is very simple.  You point at a physical CD/DVD/Blu-ray drive and select it.  Immediately you are prompted for where to save an image file.  You can select between the “InfinaDyne” .IDIF/.DMEM format or an ISO+CUE format with the caveat that file system information is stored in the InfinaDyne format which eliminates re-discovery if the image file is opened again later.

For a robotic system the same option is utilized to control the processing of discs and image files, only for a robotic system the image file is stored in the predesignated output folder.  The format of this image file can be selected with the Robotic Loader preferences.  If no image file is selected, then the InfinaDyne image file format is used and the image file is deleted when processing of the disc ends.

The benefit of creating an image file as a first step of processing a disc is only really apparent when some of the newer features are used, but even if all you are doing is producing a report with a robotic system there maybe some benefit to running the report off an image file.

The option that controls this is called “Always collect image file” and it is on the general Options tab for Preferences.  It will be defaulted to checked with version 5.0 so if you do not want this behavior you will need to uncheck it.

If you are interested in something specific being discussed, please let me know at sales@infinadyne.com.

Weekly Chat

October 16, 2015

Here we have another weekly chat from InfinaDyne.  This time I’m talking about the DB Freedom product.

Things are progressing with CD/DVD Inspector 5.0 and there will be some major updates to FlashRetriever Forensic Edition.

Weekly chat

October 8, 2015

Here is the second in a series of video chats, this one talking about new features in CD/DVD Inspector version 5 and a mention of the Vindex product and what it can do for you if you are called upon to analyze digital video.

More coming next week!

Weekly Chat

October 3, 2015

I am going to try to post a video each week that is of general interest to InfinaDyne software users.  These will be initially hosted on YouTube, simply out of convenience.

Take a look at the first one:

CD/DVD Inspector 5 is something that is coming along and will be introducing a number of new features into the product.  There will be more features described in future video chats.

A UPS in a Virtual World

August 11, 2015

41zXOFArsvL[1]A while back we “converted” or “upgraded” from a number of separate machines to one big server machine running Xen.  There were a number of advantages to this approach for both capacity and management, as well as getting some increased horsepower for operations.  The one thing that didn’t make the transition easily was the way the UPS was being handled.

Like just about everyone, all the server machines are on a fairly large UPS and have been since the beginning.  The problem has always been handling notification between the machine the UPS is connected to and the rest of the machines.  There are a number of somewhat OK solutions for this, some pretty costly and some free.  Unfortunately the common theme for all of these is they don’t work all that well straight out of the box.

Recently, we upgraded the NAS from a Thecus to a Synology box and increased the capacity significantly.  The Thecus was getting a bit old and the software support for it has not been what it could have been – meaning existing customers more or less got forgotten by the company.  Synology has a far better software offering and is more compatible with the way things work here.  So we moved over to it.  As part of this, we needed to figure out a UPS sharing strategy that worked with the Synology box.

It turns out that there is one and only one UPS sharing solution that works with Synology – NUT or Network UPS Tools.  It is an open-source Linux/Unix tool originally but has been ported to both Mac OS and Windows in a sort-of satisfactory manner.  With this in mind, the implementation of NUT on all of the various servers (virtual and physical) connected to the “big” UPS was started.  It should be said that a “big” UPS these days is a lot smaller than you might think, if you aren’t buying UPSs for a company.  The days when a server could be expected to need a huge power supply for lots of hot hard drives is over.  Our server running Xen uses all 2.5 inch drives and even with dual redundant power supplies is very comfortably served with a 1500 VA UPS.

Of course, the first thing right out of the box that was discovered was that the documentation for Synology is great for sharing a UPS between multiple Synology boxes but utterly absent for sharing a UPS with anything else.  Synology uses a Linux base for their software and in keeping with the whole open-source idea the documentation was an afterthought.  NUT being open-source as well suffers from the same problem: nobody is getting paid to produce documentation and it just isn’t as sexy as writing code.

It seemed like the simplest alternative was to first plug the UPS into the Synology box and then figure out how to get the other “clients” to communicate with it.  It puts the onus of managing the UPS hardware connection onto Synology and there is no shortage of things saying that works.

So, with a number of Windows machines as “clients” for the UPS sharing, the next step was to find a Windows port of NUT that was complete enough to act as a client for the Linux Synology implementation.  What I managed to find was NUT-Installer-2.6.5-6.msi.  This was on the SourceForge web site for NUT and it is sort of complete.  It does include some dependencies that are installed with it, but somehow the builder of this package seems to have assumed that everyone has OpenSSL installed on their Windows machine.  It also makes some assumptions about it being OK to split up executable files into “bin” and “sbin” but not copy the DLL files in “bin” over to “sbin”.

What I did was find an OpenSSL .ZIP file and extract the necessary DLL files for NUT to work.  These files have to go in both the “bin” and “sbin” folders.  Another technique would be to properly install OpenSSL with these DLL files in something like the Windows\System32 folder – this didn’t seem to be necessary or all that desirable.

After finding that critical programs wouldn’t start properly from the “sbin” folder because of missing DLLs, all the DLL files from the “bin” folder were copied over to the “sbin” folder.  If you aren’t terribly adept at using Event Viewer you might not catch this problem right off and it will take considerable work to figure out what is going on.  I recommend just copying the files over and leaving it at that.  Another solution might be to move all the “sbin” stuff to the “bin” folder but that seemed like it might involve more severe configuration changes and might even require a recompile – which I did not want to do.

As a note aside, I didn’t want to recompile NUT for Windows because it is uses GCC and MSYS (a derivation or modern version of MinGW) and it would require installing a whole new toolset in order to compile it.  Sure it might be the “right” way, but it is also rather time-consuming so I really wanted a solution that would work from binary, pre-built files.

After figuring out how to tailor the configuration files for NUT on Windows to get it to work as a “slave” to the Synology box, I had three tailored configuration files out of six.  The others simply aren’t used.  There are a few key points when connecting a client to the Synology implementation:

  • The Synology UPS is called “ups”.  This doesn’t appear to be documented anywhere officially.  I did find a posting that referenced this but it is a fairly obscure and extremely necessary fact.
  • The user and password for connecting to the Synology UPS service is “monuser” and “secret”.  Again, no official source for this and I had to find it by digging through files on the Synology box.  Turns out I found this elsewhere in posts but buried pretty deeply.
  • There is a reference to a file in the UPSMON.CONF file and this must be changed from the default for Windows – the Windows distribution comes with the default set to something that will not work on Windows.

The last thing to do to get a client up and running is to start the “Network UPS Tools” service.  This is probably easiest done through the “Services” applet on Windows but I suppose one could use the command:

net start “Network UPS Tools”

with the caveat that the quotes are very important.

You will note that there isn’t any sort of indication externally that the NUT client is running.  It is hidden away as a service without any sort of user interface and no user-mode program that will say it is running properly.  There is a separate NUT client that is available called “winnut15.zip” out there that is actually a Windows user interface client.  All it does is display the status of a NUT “master”, so it isn’t useful for getting your Windows box to shut down in an orderly fashion when the UPS is running out of battery power.  But this program can be helpful in figuring out that the “master” is running and the UPS is doing what it is supposed to do.

The Synology box does not provide any indication of what “slave” or “client” computers are connected to it and therefore isn’t capable of telling you anything about your configuration.  How do you know everything is working?  I am going to say the only answer is to try it – unplug the UPS – and see what happens.

Trying to do this with other software, such as the APC stuff, wouldn’t have worked with any NAS box and it is not a nice installation on Linux in any respect.  Other open-source solutions exist, such as apcupsd, but they don’t get along with Synology.  I will say that the Synology implementation here seems to be very flexible in that while it is an APC UPS today there are a huge number of manufacturers that are supported by NUT and having the “master” being the Synology box isolates all of the clients from the details of the UPS hardware.

Science and Engineering

August 10, 2015

Previously, as in maybe 100+ years ago, “science” was important and the importance of it vastly exceeded the importance of engineering.  Today, I believe that trend has changed and the discipline of “engineering” is probably more important.  But, I am of the believe that engineering is at least the stepchild of science and you can’t ignore scientific discipline any more than you can ignore gravity.

Engineering, in layman’s terms, is the practice and discipline of making things that work, making things that aren’t working work, and the skills and abilities to be able to convert someone’s theory into practice.  This is certainly concerned with science but is more practically grounded.  In today’s world the distinction is important.

One of the key aspects of this is the motivation of the scientist is always “Why?” whereas in general the engineer isn’t really concerned with why or why not but just getting the thing working.  Out in the desert with a non-working car the scientist is going to be stuck on the point of trying to figure out where the water in the cooling system went and while he might have some interesting theories about where you could find water in the desert, the engineer is going to be focused a lot more firmly on both getting something into the cooling system and that it stays put.  The idea of using a children’s fruit drink isn’t going to occur to the scientist – its not water, remember – but to the engineer the sugar in the drink might just be the ticket to sealing up the leak.

McGyver is certainly not a scientist but he is the 1980s answer for engineering.

Over the weekend I made a big mistake; once again I watched the movie “The Core”.  This came out over 10 years ago and, as far as I know, has never been equaled in its mistakes, gotchas and distortions.  One of my least favorite lines is where one of the “scientists” in explaining to someone that all science is “best guess” and nobody really knows anything.  This might be a cute line for a post-modernistic movie tailored for an audience that believes science has given them nothing but Agent Orange and Tang but shows a disturbing lack of education.

Part of the annoyance of watching the movie is that for the entire 135 minutes there is about one silly thing every minute or so.  There are plenty of web sites that talk about the “bad science” of this movie, so many that there is no need to repeat the litany of wrong-headedness that pervades this movie.

The tie-in with this post is early on in the beginning of the movie we see pigeons crashing through big windows in tall buildings.  Now a “scientist” might be able to come up with a plausible theory how this is possible, but from an engineering perspective it is incredibly silly.  I did a very small amount of research on this last night and discovered the phrase that tempered glass is a pretty old technique and one that has been superceded by a number of other ways to make higher strength glass.  But even tempered glass in a 1/4 inch thick window glass form requires an impact of around 10,000 PSI to punch through it.  With a hammer, what you need is 10,000 pounds of force (better expressed in something like neutons, but I’m trying to stick with what I have) to break such a window – not impossible with a 1-pound hammer with about a 1/4 inch striking surface and a good swing at the window.  This is assuming the hammer is tilted somewhat when striking the window – if the head of the hammer was perfectly perpendicular to the glass the striking force would be distributed over a larger area and require even more powerful a swing.

OK, so what about a pigeon?  Your average pigeon is 9-13 ounces in weight, and the top of its little head might be at most 1 square inch in area after some initial mashing occurred.  So could a pigeon create a 10,000 PSI impact into a glass window?  I am NOT going to get into the full depth of the mathematics here to prove such a thing is impossible, but I am going to say that it would require the pigeon be flying over 100 MPH at the time of impact.  Highly doubtful.  I don’t think you could break a modern building window with a pigeon even if it was fired from a good-sized air cannon at over 100 MPH.  One of the key aspects of this is the little pigeon body has far less resistance to impact forces than the glass.  So even if you has sufficient acceleration of the pigeon, the pigeon would be pulped rather than actually breaking the glass.

Could you break the window with more pigeon impacts?  Say, 100 pigeons striking at the same time?  Dividing up the force required by 100 would certainly change things some, but still we are talking about 100 pounds of pigeon needing to develop far more than 10,000 pounds of force because it is spread over a much larger area.  The end result is 100 pigeons become a sticky mass of pulped pigeon and the window remains intact.

This commentary on pigeons can also be applied to the 1963 Alfred Hitchcock classic “The Birds”.  Although we are dealing with small window pane glass or the glass in a telephone booth, still the mismatch between bird structure and glass structure leads one to the inescapable conclusion that the birds simply do not have sufficient mass or cohesiveness to effect damage on virtually any size piece of glass.  At least for birds the size of pigeons or smaller.  Now, if you want to talk about bald eagles going up against a window the size of the bird itself, well, we are talking about a whole different sort of scale here.

Here is where the engineering discipline makes a significant difference.  A scientist is likely to focus on mass-on-mass impact and come out with a lot of equations showing that at 1027 MPH a pigeon can penetrate a large office building window.  The engineer is far more likely to note very early on that one reason pigeons do not fly over 30-40 MPH is because their wings would tear off.  Similarly, upon impact with any hard surface the less cohesive mass is going to come apart and distribute the impact energy over a much larger area.  There is little question that a pigeon is less cohesive than a big glass window.

So rather than expressing the problem as a purely mathematical one that has a solution – all it takes is a big blackboard – the engineer can get right to the heart of the question and say all the math is pointless because the pigeon comes apart.

This is the difference between the scientist and the engineer.

I would happily further this discussion with people that want to refute this or confirm it.

Sometimes We Are Too Smart

July 14, 2015

At least sometimes we are too smart for our own good.  This is something that has existed since 1998 or 1999 and hasn’t been “discovered” until now.  Sometimes, consequences take a while to come around to bite you.

A long, long time ago there was a product created called CD-R Verifier.  The idea behind this product was to produce an MD5 signature value of a whole CD or CD-R and be able to compare this to another disc easily and graphically.  The “point” of the product was that it used pretty sophisticated buffering techniques to stream the data off the disc about as fast as the drive could possibly read it.

Along the way, it got decided there would be a “demonstration” version.  This is different than a real trial or evaluation in that it would never time out but it would only be a demonstration of the capabilities of the program.  The demo version was to be only that and not do anything useful at all.  There was even a note in the help that the demonstration version couldn’t actually be used for anything and that it was simply a “demonstration.”

This product was never an astonishing success but it was an interesting illustration of the capabilities of optical media drives with proper buffering being used.  The US military decided to use it to compare MD5 signatures of discs in the field with disc signatures created on a Unix system where they were created initially.  Disc duplication and manufacturing companies utilized the product to check the discs they were producing.  As it is a pretty cheap product and fulfills a pretty specific need, it is a nice tool to have if you need it.

It has been a remarkably stable product since 1999 and has required only minimal changes over the years to cope with changes to Windows.  Until recently, that is.

A couple of months ago I got an email from a customer saying that they were having a problem with their customer.  They duplicated a master disc and checked the signature in their office.  The master and the duplicate matched perfectly.  They sent the disc copy to their customer who checked it and found a different signature.  Now, this has happened before and it has generally resolved down to being a problem with a specific drive.  The solution has been to get that drive, check it, and figure out what the problem was in getting the correct ending sector for the disc.

Of course, being an obsolete drive where the incorrect signature was being calculated meant a trip down EBay lane to get one of them.  No problem, it just took a little time.  When the drive arrived it was tested and after some fooling around it was shown to be calculating the correct signature.

Huh?  Yes, the supposedly failing drive was doing the right stuff.  Getting the disc from our customer that was copied and failing resulted in no change – the correct signature was being calculated every time.  After some further checking it started to seem like the end user had something odd going on until our customer reported getting the same signature on a specific model drive.

Along about now in the process we get an email from forwarded from the folks encountering the problem that was remarkably informative.  They were using the demonstration version of the product.  They never noticed that it wasn’t supposed to produce valid signatures.

Some folks might point out that the folks using the demo version were simply trying to get away without paying for the product and “shame on them.”  Well, maybe, but part of the software business is not doing dumb things to your (prospective) customers and I feel this was clearly a case of just being too terribly clever back in 1998 or so.  The idea was to give a meaningful demonstration of what the product did without ever having to have a real expiration, unlock code or any nonsense like that.  The idea that someone might miss that they were using a demonstration version and try to use it as the full product didn’t really enter into the thinking at the time.  In hindsight, that was a big mistake.

So with the latest release the demonstration version comes out with a nice warning message at the beginning that says it is just a demonstration and cannot really be used for anything useful.  This message is presented in a number of different ways to the user to make sure they cannot forget they are using a demonstration version.

This isn’t a case of encouraging people to actually buy the product when they need it, although that would be nice.  The problem is that a lot of expensive support time got wasted figuring out what a non-problem was because the customer’s expectations were different than the reality of the product.  Clearly a case of the developer being too clever for the customer.  For a simple tool-type product this is something that might be able to be forgiven, but it can cause incredible headaches if this sort of thinking gets into larger systems.  If it is embedded deeply enough this can be uncorrectable and users will be unlikely to be very forgiving.

The lesson here is that if you are going to do something the customer or user might not expect, you need to tell them explicitly.  No, a note in the help that nobody ever reads isn’t going to cut it.  It needs to be in the user’s face at least once and not just when they install the product.

DB Freedom – a Mobile, Ad-hoc Query Tool

June 29, 2015

Let’s say you have a need to find out what customers have reported problems with their purchases recently.  It is all in a database and if you were at your desk there is a nice tool for accessing this… but it isn’t a web app and you can’t use it from your iPad.

Sure, the company has been talking about getting a mobile development company to build some apps for use by sales, but so far it hasn’t happened yet.  Because it is considered a nice-to-have it is always the first thing to get cut from the budget.

So, what can you do?  Well, DB Freedom is an easy-to-use tool that is suitable for sales people to be able interrogate databases from an iPad.  It shows you the databases that are available, shows you the tables and columns that are available and helps you to build “queries” that go against the live database.  You want to know what customers have reported a problem in the last month so if you call on them you aren’t taken by surprise with outstanding issues?  Easy.  This is the sort of thing that can be done in a few minutes with DB Freedom.

No, you can’t make changes this way.  And it is secure, so important company information isn’t going to be leaking out.  It works with Wi-Fi and cellular connected iPad devices right now with Android support coming in the future.

See more information about this on the InfinaDyne web page.



I have mentioned DB Freedom before, but there has been an important new part to this story.  Previously, the only way it worked was to have each user running a database connector application on their office computer.  This creates some overhead and can introduce some rather unexpected network traffic if there are a lot of users.

There is now an alternative to this one-user-one-PC approach.  The Enterprise Server.  What this does is consolidate all of the “user PC” database access into one server.  It improves the response time of the mobile app and it cuts out all the network traffic going to and from individual user PCs.

The Enterprise Server is designed for companies that have at least 10 users of DB Freedom and can benefit from consolidating the network traffic and such into one server.  Obviously, it requires the IT folks to get involved and set this up, unlike the individual access that is part of the DB Freedom app.  It requires very little attention to manage so it should be IT friendly.

Contact InfinaDyne for more information about DB Freedom and how it can help you.

Mobile Ad-hoc Query Tool

May 19, 2015

Would you like to be able to create, save and run queries against a database from a mobile device?  I might have the answer for you.  InfinaDyne has a product called DB Freedom which is designed for the iPad which does this.

How do we get to run queries against a live database from a mobile device?  Well, it involves some tricky networking and security.  First off, it is your database that you want to access, so you need to run an access tool on your PC to get to it.  This access tool usually can run as a service in the background, so you will not even know it is there.  Even if your company has a firewall in place to prevent such things, DB Freedom’s PC component will likely be able to be used – the iPad does not connect directly to your PC.

The iPad app will function with current iOS versions and is pretty simple to use.  It allows quite a bit of flexibility in terms of selecting and formatting output and uses a strongly guided approach towards building queries.  Of course, there are limitations to what the query builder can do and what sorts of things can be done with the whole system but overall I think you will find that it is possible to do a huge amount within the limits that are there.

Mostly, this app is self-explanatory.  You pick a database and it shows the tables that are contained within it.  From there you can choose multiple tables and specify the relationships between the tables (which is remembered) and then choose from the list of columns that are then exposed.  You can then specify formatting for the columns, change the column order and decide to prompt for one or more items to control the selection.

This means that you can define a query to prompt for a part of a name and it will do so whenever that query is invoked.  It is all pretty simple to use and makes getting the information you are interested in quick and easy.  From the results that are displayed you can copy the contents and paste it into other apps or messages.

Because this is all done from a live database and not a cached snapshot there is no requirement for synchronizing or limits based on the amount of storage available on the iPad.  Large results sets can take up memory on the iPad which may require you to terminate other running apps if you are going to try to do something that returns 500 or 1000 results.  Also, because this is all happening over the network doing this with an older iPad that doesn’t have a 4G cell modem may be somewhat slow.  Certainly if you are going to retrieve large results sets you want to be on a Wi-Fi connection.

The data that moves between your database and the iPad is encrypted for security.  This allows you to use this on open Wi-Fi networks without concern for other users “eavesdropping” on your connection.

The iPad app is free… sort of.  You get five saved queries when you install it and if you want to save more than that you need to purchase additional save “slots”.  This app has been tested on iPad models 2, 3, Air and Air 2 and performs well on all of them.

What kinds of things can you do with this?  Well, one of the things that I have set up is a query to show recent sales recorded in our customer database.  It shows a list of recent purchases and tapping on one of them will then show the details of a sale.  This sort of list-detail navigation is built into the structure of DB Freedom.

Today DB Freedom is available for the iPad only, but if there is substantial interest in this adding Android tablet support is certainly something that will be coming along.  You will find mention of an “Enterprise Edition” and this is something that is also planned for the future.  Right now, one PC running the connector application is required for each iPad being used.