Skip to main content


Showing posts from September, 2018

Using C# to Automate Linear Regression in Excel

Excel has a nice linear regression tool as part of the included Analysis ToolPak add-in.  It is quick and easy to use even for the layperson.
To make sure you have this add-in enabled:
Go to File > Options > Add-insSelect Manage “Excel Add-ins”Click on “Go”Make sure “Analysis ToolPak” is checked
Let’s say we have the following sample data of gas and crude oil prices.

And we want to analyze the relationship crude oil pricing has to gas pricing.  To manually run the regression tool:
Open the “Data” ribbon menuCick “Data Analysis”Select “Regression” in the listClick “Ok” Here are some sample settings for the tool:

This would be the output:

There are many articles out there on how to interpret and use the results of linear regression analysis.  You may want to take note of the R Square value, which indicates how closely your values relate.

Now let’s say you wanted to run a lot of linear regressions or wanted to re-run them every time there is a new data point.  And you are lazy and d…

Online Video Disruption: Blockchain and WebTorrent

So, I thought I had this awesome idea to disrupt the online video market.  A vision of a decentralized video marketplace with self-sustainable incentive structures.  Imagine this mashup: WebTorrent + Blockchain = YouTube Killer.While watching a video you would be sharing it back out, which would greatly reduce the burden of viral videos on central nodes.  Encourage node hosting infrastructure development by giving hosters a small cut of transactions.  Allow a direct relationship and incentive structure between niche content creators and consumers with monetization through microtransactions.  Reward influencers for spreading content.Time to get started, right?  Well, just like many of you that have a lot of ideas, I soon discovered someone else is already working on it. is almost exactly what I had envisioned, and they have some big players behind them.  The primary difference is their approach is completely ad-free.  I understand their reasoning for flipping the script a…

Using Paint.NET to Blend Images

Note: this is a repost from my original blog back in 2009. 
Sometimes I need to do a little graphics work, but I do not have Photoshop.  Instead I use a great free tool called Paint.NET.  It is an open source image editing project built with C#.  It has a very rich feature set in many ways similar to Photoshop.  Community plugins are also available.Like other graphics tools, sometimes you have to figure out the tricks to get things done.  In this case I will be showing one way to seamlessly blend the edges of two photos.  I needed to do this for some scrolling banner images, but there are many other uses for this technique.First you want to open both images.  Then expand the canvas on the first image in order to fit the second image.  This is done by selecting the “Image” menu item, and then the “Canvas Size” sub item.Now copy the second image and paste it onto the second image into a new layer.  You can use the “Paste in to New Layer” option under the “Edit” menu.  Move the edge of …

I’m Back

My blog is back after many years.  Will probably start from scratch.  May bring back a few of my old posts.  Gonna be focusing on philosophy, coding, technology, ideas, and trends.