Switch to SSL

There are no excuses left.  Every website should be using SSL.  I spent a few hours this weekend and got McVicker Group, McVickerNet, and CodexVT all using a SSL for Free cert.

Not that I do anything super high security on these sites, but it makes me feel better to have an extra layer of identification on my web properties.

Once you have the cert installed, the easiest way to force all your traffic to SSL is by adding the following .htaccess code.

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://yourdomain.com/$1 [R=301,L]

Remember to backup your .htaccess file before making changes and swap out “yourdomain.com” in the last line.

If you are running WordPress, you will probably need to update internal links too.  I used a great plugin, SSL Insecure Content Fixer, and let it is fix all content and scripts.

Favorite Sessions from Google Next

Well, I got too busy to blog when I returned from Google Next.  Here are some of my favorite sessions.

TensorFlow and Deep Learning without a PhD was definitely worth the price of admission.  Here are the two videos.

Firebase was also super impressive.  My son and I have already built the tutorial chat application and are turning it into a universal translator based on geolocation of clients.

You can subscribe to the Google Next 2017 Channel on YouTube and see all sorts of highlights.

Enjoy!

 

Google Next 2017

I’ve spent the last week in San Francisco at Google Next 2017.  It is nice to be at Moscone for something smaller than DreamForce.  10,000 people this week feels so much more manageable than 140,000 at my last Salesforce.com conference.

Big things coming for G Suite (fka Google Apps).  My favorite new announcement is App Maker.  It is totally Microsoft Access for the web.  You can build web apps using drag and drop and add App-Script where you need something really special to happen.  Only bummer is they are planning on limiting it to G Suite for Business (the $10/user plan).

I’ll do a series of blog posts over the next week with links to my favorite sessions.  Machine Learning is definitely something Google is trying to win.  They rolled out a set of APIs with fully trained models for Speech, Translation, Image Recognition, and even Video Classification.

 

PyCharm Database View and Google Cloud SQL

PyCharm has really improved my developer productivity.  It has great integration with the Google Apps SDK and with a little tweaking, can support multiple Google Cloud SQL database logins.

The tricky part is managing the stored credentials behind the scenes. Seems like the Google SQL Command Line Tool only supports 1 login at a time. If you are like me and do projects for multiple clients, then you need multiple Google Account logins.

What works pretty easily is swapping out the credential file behind the scenes. Take a look here to find where the Command Line Tool is storing it’s credential:

https://developers.google.com/cloud-sql/docs/commandline#revokeaccess

You can setup the Command Line Tool using your first account, then rename the resulting credential File (or Registry Key in Windows. Setup the Command Line Tool again using your next account, then rename the credential file/key to something else.  Now you can swap your active credential by swapping in the right file/key.  Symbolic links work in Mac/Linux, .reg files to set the right key should work in Windows.

Once you have the right Credential in place, tell PyCharm about the Google Command Line Tool .jar database connector file and you are good to go.  Here’s a picture of my setup.

Setup PyCharm with Google Cloud SQL

PyCharm is Good

The Wayland Barn loves PyCharm.  I’ve been using Google App Engine and Django with Eclipse for about a year and I finally took the plunge and switched to a dedicated IDE.  What a difference!

I shouldn’t complain.  The Eclipse add-in I had been using, PyDev, was free and worked pretty well.  In fact, I’d never have switched except that Google broke the dev_appserver about 3 months ago and I lost my ability to do step debugging in Eclipse.

After a very short learning curve with PyCharm, I’ve got my projects, databases, GIT source control, and deployment all working in a neat package.

Freemium ain’t Free

Over the weekend, PowerWeek.com switched from Freemium pricing to a Free Trial model.  The change was motivated by 3 factors.

  1. We looked at our user base and saw that lots of people signup and then never return. So we were emailing them every day for the rest of their lives?  Not good.
  2. Most of our user community is trying to make a change in their work habits. They want to get more done.  If PowerWeek is free, then we reduce the commitment and initiative to really try our dogma.
  3. Our users are business people who can benefit economically from adopting PowerWeek and promoting that others in their downline do the same.  By leading with a “free” promise, it becomes hard to see the product as something you pay to leverage.

Freemium is great for advertising driving websites.  We are the opposite.  Our users unanimously told us to NOT start using advertising to pay for the operation.

The experiment has begun.  We had an 8% conversion rate from Freemium (which is killer, we know), but we think we can do even better!  To read more about our user-driven decision, check out our press release.

Yes! PHP on GAE!

I was talking with Google Enterprise Support about how reasonable my bill was last week and I couldn’t believe my ears.  He told me that Google App Engine (GAE) was now supporting PHP.  Check it out here.  I know that sounds geeky (’cause it is), but it is also really great for me and everyone who wants to use the platform.

Google App Engine is a super way to build web apps that can scale without system engineering.  But you needed to work in a bit of a non-traditional environment.  Now I can build teams with PHP developers, rather than needing Python (and Django).  Not that there’s anything wrong with Python — but it is a smaller pool of talent.

Here’s another great take on the news.  VentureBeat estimates that 75% of the web is presented with PHP.  Wooah.

Uggg, SQL Server 2012 Bummer

I’ve been having a great time in the Wayland Barn doing data migration work with MS SQL Server 2012.  The gigantic legacy database I’m moving to Salesforce.com is super speedy on my SSD so everything is good.

Until I find out that that legacy database has triggers and stored procedures written with a deprecated JOIN syntax.  They are using *= in a zillion places to perform OUTER JOINS.  and the rain starts pouring in Wayland. Truth is, that syntax has been out of style for a decade.  But Microsoft was still supporting it until just this newest release.  Check out this very good summary of the situation.

Easy Wins for Salesforce.com

I’ve been working on a Salesforce.com data migration recently and I love it when they improve the platform in subtle yet powerful ways.  My most recent pleasant surprise is the expanded length of “Name” fields.  Names used to be limited to 80 characters, which seemed generous, but still left us with a hack for storing legal names on some objects (tables).

Now Names can be up to 255 characters and it is a great simplifier.  So with joy and gratitude, I’d like to ask Salesforce to do something way easier.  Please enhance the best on-demand report writer and allow us to show/hide totals and grand totals in matrix reports.  This idea has been floating around for years and I can’t imagine it being difficult to implement.

Prototyping Breakthroughs

Today we had a breakthrough on prototyping a new app.  After umpteen hours of notes and ideas and sketches it all came together.  We went from feeling lost in our Wayland office, to having a plan of attack — in one breakthrough hour.

We decided to mock it up (again) in Balsamiq so we could be sure it would work right.  Then we realized that the new thinking is such a great simplifier, that we can mock it up in HTML and Django just as fast.  And we’ll really get a feel for how the app hangs together.

Not sure what created the breakthrough.  Maybe the soak time, a good nights sleep, our track record of great teamwork, who knows.  Stay tuned…we’ll see how it turns out.