Author Archives: Chris Kottmyer

Interactive Programming Diagrams

Python Tutors

Introduction:

Philip J. Guo is a professor of Cognitive Science at UC San Diego, who focuses on teaching programming at interactively online.  He has produced great products for both programming beginners and those interested in Python internals (10-hour lecture).

He impressed me with Python Tutors website: python tutors. Python Tutors is: Python, Java, JavaScript, TypeScript, Ruby, C and C++.  Python tutors converts Python written on the left into data structures on the right.  This provides a deeper view of what Python is actually doing.  The diagrams are step-based, which means you can see the execution of each line of code and what happens beneath the covers.  Red and Green arrows show you the line to be executed and the line being executed.  An example below.

Example (click image to go to interactive page):


Related Posts:

introduction to python – health innovators class

great python books – beginner to intermediate

Happy Holidays,

Chris

Statistics and Machine Learning Visualizations

Visually Explained

At work, a software engineer provided a link to interactive data visualizations.  The visualization shows a statistical model and their fit with data.  The data points can be moved/modified instantly influencing the model.  It’s a fun way of seeing how a model works.

Interactive Data Visualizations: Statistics Models

Example Interactive VisualizationExample Interactive Visualization

The models and concepts available are: PCA, OLS, Conditional probability, Markov Chains, Eigenvectors and Image Kernels.

Chris

Similar Posts:

Machine Learning: Part 1

Introduction to Python Courses

Dear Reader,

I am providing free lectures on intro-to-python.  Salesforce supporting me through their voluntary time off program.  Salesforce.com under it’s 1-1-1 program gives each employee 7 days to work on voluntary projects.

You can find the lectures here:

Lectures

Code

Application Class

The 4th class will be held at Cambridge Innovation Center, 1 Broadway, Cambridge Ma on Saturday November 18th 2017.  They are held every 2nd Saturday afterwards.  Possible projects:

  1. A mini Q/A program.  It introduces the concept of regex using re.
  2. Opening a file in python, reading it’s lines and analyzing words.
  3. Utilizing SimpleHttp server host a basic webpage with <p>, <h1> and <div> tags.  This is a simple introduction to a one-line web server.

The curriculum is free and I encourage people to submit practice problems to the GitHub repository.

Moodle Platform

Moodle is an open-source learning platform. Often, Moodle is used in universities.  I plan on implementing a Moodle instance to host lectures online.

Spammy E-mails, Great!

Moodle implementation has stalled.  I decided to host e-mail service myself.  I did get smtp and e-mail server up.  The obstacle now is getting Google and other e-mail providers to realize my E-mail isn’t spam.

Why is it considered SPAM?

Evidently, you can send an E-mail from chriskottmyer.com, but claim it originated from john smith.com.  Web industry has developed two processes to prevent this: SPF and DKIM.  SPF creates a guarantee that a message from johnsmith.com originates from johnsmith.com.  DKIM encrypts SMTP header preventing snoopers from changing that in transit.

Apache and VPL!

After resolving the spam crisis, I will have to deal with an annoying URL issue.  Moodle loves my IP address.  It loves it so much, it’s bound it to all the URLs.  I don’t like!  I’ll have to make either application-level change or re-route in Apache to resolve.

Having Moodle is great.  It doesn’t support programming assignments out of the box.  Luckily, some wonderful academics invented a plugin called the VPL.  It takes code presented to the web, submits it to a restrictive JVM-based sandbox and runs it.  It should prevent any malicious hackers from hijacking the server (crossing fingers).  It also supports automated grading of coding exercises (yay!).

Both issues aren’t blocking the lectures!  Hopefully everyone can enjoy those!

Best,

Chris

 

Yoast App

Yoast Application for WordPress

Yoast Application for WordPress

Introduction

Yoast (website) is a group dedicated to SEO, which provides a free WordPress plugin to improve your website.  The plugin has useful features.  For example, it computes a readability score and scores your post for Google keywords:

Yoast plugin

Readability

Yoast plugin makes suggestions to improve readability of your blog posts.  On Yoasts website, you will see a summary of how to plan blog posts:

Practical tips to set up a clear text structure

Within the practical tips webpage, Yoast explains the importance of headers (<h1>,<h2>…).  Headers, larger text found above paragraphs, provide context about the paragraphs that follow.  This provides Google with benefit when matching search queries with your website.  The post discusses the use of transition words to connect and smoothen the flow of the paragraphs.  Yoast app automatically calculates this for the blog post you are typing.  It recommends that 30% of words be transition words.

Transition words are one of three main metrics I often work on to improve posts.  The other two are active vs passive voice and Flesch Reading Score.  Active voice places the emphasis of the sentence as the main object instead of the subject.  For example, “Chris plays the trumpet” is active voice vs passive “the trumpet is played by Chris.  Active voice is considered less confusing then passive voice. With passive voice, it is harder to figure out what the sentence is about.  More about passive voice below:

Passive voice

The last metric on readability is the Flesch Reading Ease test (wiki:Flesch-Kincaid readability test).  Flesch test provides a formula that is supposed to correlate with ease of use:

Formula

Flesch-Kincaid Formula

Results

Flesch Score Results

Formula Conclusion

The major conclusion from this formula is that you want short sentences with few syllables.  This style of writing correlates with easier comprehension.  It also decreases the odds people will run away from your website.

 

Key Words

Another section of Yoast focuses on key words.  Key words are words in Google search queries that you would like your post to be associated with.  For example, I might want this specific blog post to show up when people type: “Improve blog post readability” or “Yoast features” into Google.  The underlined words would be my key words. The plugin provides key metrics on your chosen keyword:

Keyword Analysis

How do I look on Google?

The last cool feature worth mentioning is you can edit how you look like on Google.  Evidently, a website can provide some metadata (data about the webpage to Google), which tells Google how to present your webpage as a search result.  The below form provides SEO Title, the blue name (hyperlink) of your website.  A slug, which is the end of your url, in the below case (yoast is the slug): christopherkottmyer.com/blog/2017/09/22/yoast.  As well as the description google uses for your webpage.

Google Metadata

Overall, Yoast provide a really cool tool set to improve your blog posts.  It also provides a study into what an expert thinks is great content.  Hoping this helps readers develop better content and improve their own readability!

Best luck blogging!

Chris

Related ChrisKottmyer.com Posts:

SEO for Growth – Bend Google to your Way!

SEO for Growth

SEO for Growth Book

SEO for Growth

Bloggers often make fortunes with financialsamurai.com being a great example.  The question, how do you become a successful blogger and more importantly a successful marketer.  SEO for Growth by John Jantsch and Phil Singleton discusses how you can optimize your blog to beat those Google Search rankings and be listed on the first page.  That can be the difference between getting no traffic and being like this cute pug watching money fall from the sky.

Cute pug watching $1 bills fall

Isn’t he cute!

What does Google hate?

Spammy pages that look more advertisement then content!

You forgot smart phones exist!

You cover half your webpage with Eye Junk!  The other half is infinite scrolling.

You are a copy-paste king/queen.  Very original!

What Google Likes!

Google is in the business of answering search queries.  Anything that detracts from that is bad business.  Google is interested in original content that best answers search queries and penalizes websites that produce noise or distraction. To simplify marketers and web designers lives Google provides resources on best practices curate great content and provides tools to analyze your website (site maps, simulations of google crawls, viewing data and more).  Google also graciously provides paid advertisement as well:

Adwords!

Each day, 3.5 billon people ask Google a question.  Over a single year, that is 1.2 trillion searches.  That’s as many searches a day as Donald Trump is estimated having in cold hard cash.  You as an advertiser wants a slice of those people’s attention, which is where Adwords comes into (word) play.  Adwords let’s you bid on search terms, the questions people ask.  Rarer search terms have less demand.  SEO for Growth says this is fertile ground as you can bid for more targeted terms that better represent your customer.  In turn, your customer is more likely to convert into a purchase or blog reader.

Google Analytics! 

Everyone loves a dashboard.  Don’t they?  Google Analytics might be a Marketers Mecca in that it prevents a view of your audience.  Do people coming to your websites like your article on clothing or would rather stalk your About me page?  Google Analytics also tracks other useful information.  For example, where did the person originate?  Did they start on another 3rd party website or where they intensively Googling for an answer?  This type of information can help you fine-tune what appeals to your audience and, if you are clever, be utilized for A/B split test.  A/B split testing is when you send people to two webpages that differ by a single feature.  You then see who stays around, buys or clicks on more ads (group A or B).

Google of course provides a lot more tools than presented in this blog.  I will most likely get into more details in the future.  For now, I have a laundry list of site improvements mentioned in SEO for Growth!

Hopefully, with these tools, I can finally have my website pay for my next Latte!

Best Luck Blogging,

Chris