Microsoft and Quantum Computing

Microsoft recently announced they are developing a new programming language designed for Quantum Computing.  This (still unnamed) language will come with full Visual Studio integration as well as a Quantum Computing Simulator and will be available before the end of 2017.

Microsoft is also going to release *two* versions of the Quantum Computing Simulator. One version will run locally, the other version will be powered by Azure. The local version of the stimulator will offer up to 32 qubits and will need 32GB of RAM. Each additional qubit doubles the amount of memory required. The Azure version will scale up to 40 qubits.

This is fantastic news for anyone interested in Programming or Technology in general.  I’ve been very impressed with Microsoft over the last few years, their Visual Studio development tools, their SQL Server database product, Azure etc.  I’ve signed up to the Quantum Computing preview program and am looking forward to playing with their offering in due course.

Quantum Computing

More information on Microsoft and their Quantum Computing efforts can be found here: https://www.microsoft.com/en-us/quantum/default.aspx

Looking for an App creating for your Windows or Mac Computer? What about an App for your iOS or Android Tablet or Phone, or A Web App? Bespoke, Custom, High Quality Applications. Contact Me

Magic Cipher Video: Steganography (Hiding Data in Images)

http://www.magiccipher.com

Looking for an App creating for your Windows or Mac Computer? What about an App for your iOS or Android Tablet or Phone, or A Web App? Bespoke, Custom, High Quality Applications. Contact Us

Magic Cipher: Usage Scenarios and Examples

Example 1: One to One Private Communications

Bill and Ted are ready to start making plans for their next Excellent Adventure. Knowing that their email discussions could be intercepted and easily read, they use the Magic Cipher Shared Secret Generator with it’s Strength Meter to create a Shared Secret they can use together.

They type their discussions into Magic Cipher and email the contents as encrypted text directly from within Magic Cipher. They are now secure in the knowledge that no­-one can obtain access to their plans and attempt to put a spanner in the works!

Example 2: One to Many Private Communications

Bill and Ted decide they want to involve the Historical Babes in some of their plans, but not all. The four of them agree a Shared Secret and now Bill and Ted can communicate between themselves using their own Shared Secret and if they wish to include the Historical Babes they use the second Shared Secret previously agreed between the four of them.

Example 3: One to Many Private Communications over a Public Medium

Frodo is setting off on his next adventure and as is the fashion nowadays he wants to update the world with his travels via an online blog. With his new Macbook Pro this will be easy enough, however there is certain information he wishes only to be read and understood by Merry and Pippin who are holding the fort for him back in Hobbiton.

Before he sets off the three of them agree on a Shared Secret and as Frodo updates the world via his blog he uses Magic Cipher to append an encrypted entry on the end of his posts, in a separate paragraph, knowing that the world can see but not read or understand his instructions, which are only for the eyes of Merry and Pippin. Frodo uses the built in Virtual Keyboard to add a little bit of extra security to his posts.

Example 4: The Benefits of Cross Platform

Unfortunately, small, slim and gorgeous though it is, the Macbook Pro is just a little bit too big ­ and let’s face it, expensive ­ to take across Middle Earth, what with the danger from the Orcs and other dark forces.

At the last minute Frodo decides to switch to a small Linux notebook which he obtained free of charge with his mobile broadband card. Luckily Magic Cipher works as well on Linux as it does on macOS or Windows, so Frodo has no need to change his plans, or his choice of encryption software.

Example 5: Magic Cipher, Not Just for Men

While Frodo is off on his travels his wife, feeling lonely, takes a lover. Knowing that the local Hobbiton ISP takes quite an interest in emails to and from the villagers, they both use Magic Cipher to arrange their rendezvous. Even hobbits need loving.

Besides it was rather selfish of Frodo to disappear like that for months at a time ­ and who knows what he got up to with Sam on that epic journey?

Example 6: A Picture is Worth a Thousand Words …

Sat on his sofa safe back at home several months after his epic journey to Mordor, Frodo dreams of his next challenge. With Sam on board, who now lives several miles away in Bree, Frodo and Sam use the Steganography features of Magic Cipher to enable them to swap ideas and plans which they have hidden in pictures which they upload to their Facebook pages.

With no evidence that their pictures are anything more than rather boring pictures of Sams garden or Frodos wine collection, nobody has any clue that there is another adventure being planned. In fact nobody has any reason to suspect Sam and Frodo are even in communication regularly. Problem Solved!

Magic Cipher Video: Text / Email Encryption

http://www.magiccipher.com

Looking for an App creating for your Windows or Mac Computer? What about an App for your iOS or Android Tablet or Phone, or A Web App? Bespoke, Custom, High Quality Applications. Contact Us

Xojo Generic Listbox Export: Tab, CSV and JSON

The following piece of code is written in the Xojo language (highly recommended by the way) and is a method that takes two Parameters, a List Object, and a Descriptive Type which is a String that can only be one of the following values:

  1. “,” – Comma, Standard Comma Separated CSV
  2. “;” – Semicolon, Alternative CSV
  3. chr(9) – Tab Character, Tab Delimited
  4. “JSON” – JSON Structure

Click Here to Download Code

GenericListBoxExport

The contents of your specified ListBox will the be output in your chosen format 🙂

Xojo Building Blocks from chol.technologyLooking for an App creating for your Windows or Mac Computer? What about an App for your iOS or Android Tablet or Phone, or A Web App? Bespoke, Custom, High Quality Applications. Contact Us

Software Licensing and Software Piracy: Part 1

Your favourite piece of software was created by someone, or many someones, who used their time and hard won expertise to build something useful or enjoyable, or both. With the exception of Free Software or Open Source Software, that someone is entitled to, expects and deserves to be rewarded for their efforts.

If a price is attached to the software and you use the software without paying the price that is asked, then that is Software Piracy. Many would argue that it amounts to nothing less than theft.

If I sell physical products, lets say Widgets, then if I have 10 and you take 10 without paying for them, then I now have 0, you have 10 and hopefully a guilty conscience as well. That is theft. If however you use my software without paying for it then I am not directly affected by it. I still have it. Would you have bought it if you couldn’t have obtained a pirate copy ? Maybe. Maybe Not. In my opinion that is why Software Piracy differs from traditional theft. What you have actually done is taken away my chance of receiving income from you for that software sometime in the future. It just isn’t clear cut either way, with laws, policies and attitudes being firmly rooted in the ‘pre digital media’ 20th century.

Having established that there is a cost to producing software and that the developer does deserve to be rewarded for their time and efforts, it stands to reason that we have to have a mechanism in place that makes this possible. That mechanism is generally known as Software Licensing.

I’ve been developing software for financial reward for nearly as long as I’ve been using computers, getting on for thirty years, and I have never wavered in my belief that whatever form of licensing you use, you should never punish the genuine, fee paying customer for the actions of the Software Pirate.

Seriously, I have bought software in the past that had licensing schemes so restricting or complex or time consuming (or just plain ridiculous), that I have saved time and effort by downloading a cracked copy of the software and using that instead, all the time cursing the software developers for making me waste my time and effort. In effect punishing me for my honesty.  As a Software Developer or Software Publisher that’s not an experience you want for your customers.

Whatever Software Licensing mechanism is used, there will always be some who do not like it and resent it being used. If as a developer you have done your best to minimise the impact on the genuine customer, whilst making some effort to thwart the Software Pirate, then you have done all you can and any customer who is going kick up a fuss about your licensing mechanism is unlikely to be a customer you actually want. Most customers would actually like you to stay in business and realise that to do that, it is necessary to be paid for the work you do, and / or the products you sell. Sacking your customer can sometimes be a good thing. But that’s a subject for another blog post 🙂

So what is a fair software license, for both the supplier and the customer ?  What is it fair to expect your customer to do to license their copy of your product, and so help protect your product, your sales, your livelihood and the future investment and development in a product that is important to both you ?

Part 2 Soon …

busbanner

Affiliate Links

Get Involved ?

I’m looking for Testers and Reviewers for my products. If you are interested in being involved then you can apply here:

Testers

Reviewers

warm-fuzzy-4.jpg?w=450

Although there is no financial incentive there is the opportunity to get involved in the thrilling Software Development process (!) and then of course there is that warm fuzzy feeling that you get from helping someone out – a feeling that is way more inviting and satisfying  than any form of payment …

blog_footer.png

Products
Affiliate Links

Databasics: Primary Key

databasics

There is an ongoing debate among database ‘experts’ regarding the design of a Primary Key. A debate that in my opinion should have been done and dusted a long time ago.

Note: A Primary Key is a piece of data contained in a database Column that uniquely identifies the database Row. This is the same as how a National Insurance number uniquely identifies us to the authorities in the UK, or how a soldiers Service Number uniquely identifies then within the Military. If you need to View, Update or Delete an existing database record then it is essential that you can uniquely identify it.

 

Two Main Schools of Thought

The first says that the Primary Key should be a valid piece of information in it’s own right – not just an identifier. Like a name for example.  In the West we use a Surname which identifies us when amongst other people, most of which will hopefully have a different surname. In situations where that is not true, for example family gatherings, the first name can be used as well as a means of narrowing this down. It can be difficult to build up a unique piece of information using valid information.

The second school of thought acknowledges the problems of the above solution and solves these issues by allowing a non meaningful Unique Identifier whose sole purpose is to be able to identify uniquely within any amount of similar items. This is basically what we have with soldier Service Numbers and National Insurance numbers.

 

My Preference

My preference is with the second school of thought and in fact you can easily adopt this strategy with most Database Engines using the Auto Increment option on the Column. This lets the Database Engine itself take care of generating a Unique, Non Reuseable Identifier.

I always use the first Column of my Database Table as my Primary Key and name it: 

XXX_pk

The XXX depends on the Database Table in question. For example I might have a Table called: 

bas_con_main

for my Contacts. Each column will be prefixed with con. Therefore my Primary Key for this particular table will be:

con_pk

 

Consistency and Structure

All my Database designs use the same structure in order to build consistency, something which is not fully appreciated until you have to work with legacy databases which haven’t been built with consistency, structure or maintainability in mind.

Another example of consistency and structure; the second column of every Database Table I design is always XXX_updguid. 

This column contains another identifier, however this one changes with every edit or update of the database record. This is used so that I can find out if the data I am viewing on my screen has actually since been updated elsewhere by someone else. A comparison between the value of the updguid I have in memory and the value of the one stored in the database is all that is needed to determine the validity of the information I am viewing. If the information is stale I have several options I can pursue. This all is part of my Record Locking strategy, covered in another Databasics article soon 🙂

 

Any questions, comments or thoughts to blog@zombielabs.net

___________________________________

© Steven Cholerton 2013

www.stevencholerton.com

___________________________________

Version 1.0.0 – 2nd December 2013

 

 

blackdogCRM: Contacts

This image shows the three ‘tabs’ that make up the main Contacts window in blackdogCRM.

blackdogcrm

stevencholerton.com

Sales,Distributor and Dealer Enquiries to: 762@zombielabs.net

New Support Forum Coming Very Soon: zombielabs.net/forum

###

Free Software [2]

macsimumSupport: Free Software [2]

macsimumSMS: SMS Sending from your Mac or Windows PC. 


Macsimumsms

 

Macsimumsupport logo

stevencholerton.com

Sales,Distributor and Dealer Enquiries to: 762@zombielabs.net

New Support Forum Coming Very Soon: zombielabs.net/forum

###

CRM: What and Why

There are many types of relationships. Personal,  Prospects, Customers and Suppliers for example.  These are all valid and valuable relationships.

 

Today with the rise of social networking everybody has many ways of being contacted, and many forums on which to air their views, make statements and and ask questions.  In addition they have many ways of contacting you, and of talking about you. To keep track of this continuous flow of  information, you need some form of:

 

Contact

Relationship

Management

 

CRM is generally understood to mean Customer Relationship Management.  Personally I believe this is inaccurate and potentially misleading.  The whole CRM concept revolves around relationships with individuals and companies, many of whom are not your customers.  

 

Focusing on customers only would be very short sighted indeed, and successful businesses need to focus on all of their contacts and the relationships they share with them. 

 

CRM is designed to bring together information from various disparate sources into one central repository of real-time accurate contact information.  

 

This empowers employees to make informed decisions when interacting with the outside world.

 

These informed decisions are necessary for CRM to fulfill it’s brief of reducing costs and increasing customer satisfaction and loyalty. Having said that CRM is not just about customers, they are however one of our most important assets and should be looked after appropriately.


The fact is that CRM should be responsible for increasing your bottom line.  In business every single decision boils down to that one simple question:  Does this make us more profitable ?  Anything that does not directly or indirectly answer yes to that question is not worth considering, at least from a purely business point of view.

 

CRM does not have to be implemented and used throughout the whole company.  It is perfectly feasible for a single department to use CRM to help them with their particular function, as long as it is realised that CRM cannot fulfill it’s design criteria of being a central repository of contact information unless it is installed company wide.  That being understood and accepted, by all means install it in a department, the benefits you get will almost certainly be better than what you had before.

 

Many papers on CRM will tell you that everyone from the CEO to the Janitor should have CRM installed.  When you are a multi-million dollar company who’s revenue stream depends almost completely on installed licenses then it’s understandable that you will sell CRM as a huge enterprise wide undertaking.  I am not disagreeing with the theory but in practice CRM can and perhaps should be implemented in phases.  

 

What better way than implementing one department at a time ?

 

CRM is often installed as part of an initiative to ‘Increase Customer Service’ or ‘Serve Customers Better’ or some such grand statement.  Introducing CRM in such a way can fog the issues and cause potential problems with a successful installation.  

 

As I mentioned earlier, in business every single decision boils down to that one simple question:  Does this make us more profitable ?  So we can rewrite the previous initiative statements as: 

 

‘Keep the customers happier because then they will buy again and also recommend us to their friends, so making us more profitable and successful, the customer more satisfied and therefore everyone wins.’ 

 

This statement has a number of advantages, the first being that it is 100% true.  The second is that it is refreshingly believable.  The third is that it cannot easily be misconstrued or interpreted incorrectly.   

 

So, what has this got to do with CRM.  Everything.  Keeping this statement in mind throughout the CRM selection and installation process will lead to higher satisfaction and a greater return on investment, the reason being that CRM is a tool and a technology to help you make that statement happen, and then to keep it happening.  

 

Once that is understood there is clarity in your goals and you are halfway towards being prepared for a successful CRM installation.


Where next ?  www.contaxcrm.com

stevencholerton.com

Sales,Distributor and Dealer Enquiries to: 762@zombielabs.net

 

New Support Forum Coming Very Soon: zombielabs.net/forum

 

###

blackdogCRM Mobile

Here are a few images of the Mobile and Tablet Editions of blackdogCRM

0085 KindleFireHD

0085 iPhone4

0085 iPad

stevencholerton.com

Sales,Distributor and Dealer Enquiries to: 762@zombielabs.net

New Support Forum Coming Very Soon: zombielabs.net/forum

###

De-Duping

Using R10Clean to de-duplicate a text file of names and email addresses. R10Clean is available to purchase for either Windows, Mac or Linux, for £10 from here: www.r10clean.com

www.stevencholerton.com

stevencholerton.com

Sales,Distributor and Dealer Enquiries to: 762@zombielabs.net

New Support Forum Coming Very Soon: zombielabs.net/forum

###

blackdogCRM Features

SQL Logging
 
SQL (nowadays normally pronounced seequell) originally stood for Structured Query Language and was designed as an English Like way of asking for information from a database. SQL has been a standard for many years now and someone with some SQL experience under their belt is very welcome in most organisations.
 
blackdogCRM talks to its database using SQL exclusively. Unlike many systems blackdogCRM does not hide its internal workings from you, why should we ? We have nothing to hide and you have plenty to gain should you wish to view the statements that blackdogCRM is issuing and maybe use them yourself within our Query Tools or within a third party reporting tool. If you have Crystal Reports or Business Objects experience for example then that can be put to good use with blackdogCRM and SQL.

The ability to log all the SQL statements sent to the database is a useful and often overlooked function that can at times be extremely useful. For Auditing or Verification purposes it can be invaluable.

There are two ways of logging SQL. The first involves setting a Preference, see image below:

stevencholerton.com

This method save the SQL to a log file stored in your blackdogCRM.Live folder.  This file is called blackdogCRM_SQLLog.r10

When opened in your favourite Text Editor or Spreadsheet program, the contents look something like this:

stevencholerton.com

The second method requires you to select the Toggle SQL Session Log menu option, from the Utilities menu.  When the SQL Session Log window opens click the Start button. Subsequent SQL statement executions will be captured by this window.
 
stevencholerton.com

If either of these two logging methods are activated then additionally the SQL statements are logged to the local computers System Log. Access to the System Log differs according to whether you are running blackdogCRM on Windows or Mac OSX. How to view the entries within the System Log is beyond the scope of this document.
 

stevencholerton.com

Sales,Distributor and Dealer Enquiries to: 762@zombielabs.net

New Support Forum Coming Very Soon: zombielabs.net/forum

###

Free Software [1]

macsimumSupport: Free Software [1]

macsFileTool: Bulk File Renaming Tool

macsFileTool

Macsimumsupport logo

stevencholerton.com

Sales,Distributor and Dealer Enquiries to: 762@zombielabs.net

New Support Forum Coming Very Soon: zombielabs.net/forum

###

New Images: blackdogCRM

blackdogCRM is currently still in Beta, and no official announcements have yet been made. blackdogCRM will run on Mac OSX as well as Windows. In addition companion applications are available for iPad, iPhone and Android Tablets.

stevencholerton.com

Here are some pre-release screenshots of 0.9.5 running on Mac OSX Mountain Lion, 10.8.4. Note that these are potentially subject to change before the final product ships.

blackdogcrm

blackdogcrm

stevencholerton.com

Sales,Distributor and Dealer Enquiries to: 762@zombielabs.net

New Support Forum Coming Very Soon: zombielabs.net/forum

###

Dropbox Tips

Anyone with a computer or similar device needs DropboxWith that out the way here are a couple of tips to help you with Dropbox.

The first tip concerns apps from your iPad or iPhone that you have given access to Dropbox. Over time it’s easy to forget what app has what access and this opens up potential security concerns.

Logon to the Dropbox website and select the ‘My apps’ tab. Here you can control all apps that have Dropbox access and what level of access they have. It’s worth reviewing this list every once in a while.

www.stevencholerton.com

As with apps the same issue can occur over time with devices. How many devices have you got hooked up to Dropbox ?

www.stevencholerton.com

Finally, keep an eye on your Storage. A tip to get a little extra storage is to invite someone else to a Shared Folder.

www.stevencholerton.com

Look after your Dropbox and it will look after you  🙂

stevencholerton.com

@stevechol 

New Images: blackdogCRM

blackdogCRM is currently still in Beta, and no official announcements have yet been made. blackdogCRM will run on Mac OSX as well as Windows. In addition companion applications are available for iPad, iPhone and Android Tablets.

stevencholerton.com

Here are some pre-release screenshots of 0.9.4 running on Mac OSX Mountain Lion. Note that these are potentially subject to change before the final product ships.

blackdogCRM

blackdogCRM

blackdogCRM

blackdogCRM

blackdogCRM

stevencholerton.com@stevechol