Paying for Data Protection

Data breaches are everywhere.

Here's a list of some recent ones.

The only one I was personally affected by was the Target breach.  My credit card company suggested I close the card and open a new one.  I waited.  Then a $2,300 purchase was attempted, and declined, for a bunch of pens ordered online.  They closed the credit card and re-issued new ones.  And all the auto payments tied to the old account had to be changed.

I did some research and found a good site from Equifax.  They are one of the three credit bureaus that keep track of people's credit.  They have a list of products to choose from, listed here.

For me, parting with money is almost painful.  But I signed up for the family plan, month to month, no contract.  They're supposed to inform the other two credit bureaus to watch for activity.  We'll see what happens.

Also, there's a web site to let you know if your information has been pawned, here's the article.  And here's the URL https://haveibeenpwned.com/ where you can check your emails as well as sign up to be notified if something happens.

Fraud has been around since the beginning of money, with fool's gold.  In today's world, the level of complexity surrounding theft of finances and identity is increasing and we have to take preventive measures against becoming a victim.

Even if that means paying a monthly fee for protection.  Mafia style.


Business Intelligence Utility Player

One of the good things about consulting is end to end programming.  Typically you're involved in the entire life cycle of the project.

From scoping a project out, to creating a Statement of Work, to designing the data model, the ETL, the OLAP cube, the reports, the Dashboard, perhaps integration with SharePoint, Active Directory, Security Groups, documentation and moving to production.

I prefer playing the role of Utility Player.  I like to jump from task to task, wherever needed on any particular day.

A few weeks ago, I was working on a project, much of the ETL was already done, dozens of reports were in the process of passing Quality Assurance.  I mentioned to the client that I could speed up the Crystal Reports.  They asked how.

So they gave me a sample report, which was running slow, over 8 minutes.  I did a few tweaks, all withing the Crystal Reports developer - no changes to the SQL pointing to the Business Object Universe, the report ran in 4 minutes.  Shaved off 1/2 the time.  Then I did a few more tweaks, and it ran in under 2 minutes.  Shaved another 50% off.

The goal was to run under a minute, but the Production server should have more processors and memory, so I'm guessing it will meet the 1 minute requirement.

Now all the reports will get the same tweaks, and the run times should be much faster.

And then on to the next task.

Service Oriented Business Intelligence Consulting

When scoping out a new project, you have to work with the client or customer to discuss the features of the project.

Meetings are required, typically face to face, to review the list of items they'd like.  By discussing what the end product looks like, you get to dive into the details with the customer.

Typically this means getting up to speed real fast on the clients business.  You learn the business rules, how the data flows through the systems, who does what when.  And sometimes you the client admits that they don't always follow an internal process 100% of the time, which makes it harder to code for.

What's interesting about programming Business Intelligence solutions, you get to learn about every facet of the business.  From products and geography to customers and accounts payable and GLs.  You get a birds eye view into the entire business and it's helpful to get up to speed fast.

And sometimes the Business Intelligence person becomes the resident expert into the complete ecosystem picture, which is good for repeat business.  Having a consulting firm that understands the business, the people, the process', having a signed NDA, it's a natural fit for a contract to get extended and re-extended over years.  Because having to re-train new consultants from scratch takes time.  Establishing a good working relationship with the client staff is key to long term relationships.  That way, they are not threatened by loss of job and become willing members of the consulting team.

A lot of clients have a need of consolidating various data sets into a central repository, that complies with traditional data warehouse methodology.  And some reports and perhaps some dashboards and scorecards and KPI for upper management.  Some are internal, others are client facing.  So allocating time for good Quality Assurance is key.  Or tweaks to the data or reports.

Sometimes it's good to let the client explore the possibilities.  Perhaps they've always had an idea of how to turn the data into insight, but lacked the resources or expertise.  By asking opened ended questions, suggesting possibilities, you can almost see the clients mind turning, brainstorming ideas.

Sometimes items get added to the project just by letting the client know some of the possibilities.

What if we gave you the ability to do xxxxxx?  Or what if we could generate reports sent directly to your email inbox, at whatever frequency you'd like?  Or what if we moved this process from Access and Excel to a real data warehouse that ran like clockwork.

Being a consultant typically means providing a solution, and moving on to the next project.  But sometimes you get in there, learn the business, help the client achieve good results, so they ask you back for more projects.  Consulting is also providing a service, a lending hand to a client, a win win situation.

And so it goes~!


Soft Skills Just as Important as Technical Skills

Programming is extremely difficult.  Not necessarily the act of programming.  Languages have straight forward syntax that follow logic.  So if you think clearly, you can probably program.

The difficult part is the surrounding stuff:
  • How to fix problems you weren't expecting. 
  • How to integrate with other apps without breaking stuff. 
  • Translating business rules into code. 
  • How to interact with the business users. 
  • Where to store the source code. 
  • Moving code from development to test to production. 
  • How to fix defects. 
  • How to log your time. 
  • How to estimate your time. 
  • How to time management. 
  • How to prioritize your tasks. 
  • How to inform the team and clients of your progress and identify impediments. 
  • How to close out a project. 
  • How to speak to senior management. 
  • How to find your next job. 
  • How to network. 
  • How to present in front of groups. 
  • How to learn new technology and stay current. 
  • How to write your resume. 
  • How to market yourself in the social space.
Most of all, if you want to get into programming, ask yourself if you are self motivated, self directed, can solve problems with little or no assistance, good at time management and meeting deadlines and disconnect occasionally  so you're well rounded.

Programmers create for a living.  Once you finish the project, you're on to the next.  Nobody's goes back and looks at your code and gives positive feedback.  Chances are, you'll get very little recognition unless you finish the project way under time or budget, even still, customers rarely acknowledge all the hard work that went into the final product.

On a positive note, good programmers have a good future in any economy.


Windows App Studio Beta Example

I was poking around the MSDN site today and saw a link for the Windows App Studio Beta.

Figured I try it out: http://appstudio.windows.com

Received email...

Selected a sample template...

Layout appears in browser...

Lots of options...

Before you install a Windows App Studio Beta app you must install this certificate on your Windows Phone (click here) or your Windows 8.1 Device (click here), this process is described in our How To.

It provides the option to install on Windows 8.1, Windows Phone 8.1 or download the Visual Studio Code.  This example produced code for Windows 10, but you can choose the 8.1 option (nothing prior).

Looks like a great new option from Microsoft.