engineering my way through a cup of coffee

Partially Derivative had a great segment on AI artists -- honestly: hilarious and thought provoking -- thinking about a new project wherein a team of programmers and art historians managed to train up an algorithm to reproduce the *style* of Rembrandt. The computer doesn't replicate Rembrandts, it paints new ones that replicate the style of Rembrandt. Vidya brought up the question: who is the artist here? Is it the programmer? Or are we willing to grant artistic ownership to the computer itself?

tags: AI, thought experiments,

Recently I was talking, on the internet no less, with someone who was trying to take some data presumably drawn at random and find the parameters of the corresponding pdf (some weird Weibull something-er-other for doing risk modelling but that's beside the point for what follows). In simple cases the common man would look up the maximum likelihood estimators for the parameters of the given pdf, or maybe numerically find the parameters that minimize the Kolmogorov-Smirnov statistic or something. This guy's plan was to do a non-linear least squares fit of the pdf.

tags: random numbers, python, statistics,

Matt Parker released a video recently about a mind-bogglng card trick wherein he goes out of his way to introduce randomness into the shuffling of a deck of cards into two piles...and yet can make rock solid predictions about how many red cards and black cards are in each pile.

tags: card trick,

I found an interesting problem in Ask Metafilter the other day about sorting people into work groups. The problem is this: suppose you have a group of 90 people and you want to sort them into 3 equal sized teams. To facilitate this you ask them to write down the 5 people they most want to work with. What method (algorithm) should you use to sort these people such that you accomodate the most preferences?

tags: partitioning, python,

One unfortunate thing about using excel for coding at work is the difficulty in version controlling spreadsheets. Excel files are big binary blobs and, unlike the source files for most programming languages which are text files, cannot be easily diffed. This raises all sorts of issues with the maintainability of the spreadsheets and the macros that are embedded in them. I hacked together a simple solution to this problem in powershell, for newer versions of Excel (I have Excel 2013 on my work computer and it works there!)

tags: excel, vba, powershell,

I'm a big fan of using circular references and other tricks to get excel to solve equations numerically and automatically. Nobody likes constantly clicking through the solver or using goal seek when the spreadsheet could just solve itself. However circular references can be a hassle, especially for the uninitiated.

About this time last year I wrote up a post on storage tank venting and how to size a gooseneck. Well I was called upon recently to collect my notes and calculations into a guideline to go with my code and it forced me to reevaluate the assumptions I baked into my calcs.

When I was still in school doing my chemical engineering thang, I slapped together some code in matlab for doing flash calculations i.e. determining how a mixture will partition into phases at a given temperature and pressure. Over time this project migrated into python, and in this post I sit back and reflect on the edges of the project and when I should *stop* and consider it done, if ever.

tags: design choices, thermodynamics, process models,

I built a toy model of a production line, earlier, and now I'm back to bludgeon it with more statistics.

tags: production, stochastic process, python,

A recent numberphile episode had a neat idea of how to, apparently, beat the odds in guessing whether one known number is larger than an unknown random number, by adding a *third* random number.

tags: random numbers, numberphile, python,

I am reading The Goal and in one chapter there is a toy model of a factory, in which boy scouts move matches from one bowl to the next trying to move matches to the end of the line, how many they can move from their bowl determined by a roll of a dice.

tags: production, stochastic process, python,

Abacus data did some polling and it came up with some nice data that validates some of my wild hand-waving speculation about the recent provincial election.

tags: elections,

I've been hearing a lot that this past election was the PC party's to lose, and that what we saw was not an "Orange Crush" as much as an ABC -- Anything But Conservative.

I was thinking, while I drove home today, about how close so many of the ridings seemed, and whether or not voter turn out was correlated to how contested a riding was.

Alberta's big election was last night, and an orange wave overcame the province resulting in an NDP majority. This ends the 44 year reign of the Progressive Conservative party, and marks the *fourth* change in government in Alberta, *ever*, in 110 years. **Yes** only **4**.

Anyways. For a long time …

Last time I dealt with VBA I came up with a horrible kludge for getting html into my excel spreadsheet. After noodling around I have found a better way.

My first attempt at copying the contents of an HTMLTable into an excel spreadsheet was slow as molasses. It took literal …

Because I was a bad person in a past life, and I need to be punished, I work in a place where the one and only tool for doing calculations is excel, and my data source is a cryptic enterprise intranet that uses activex for everything and does not have …

tags: excel, vba, suicidal ideation,

Continuing on from last time I looked at storage tanks I want to look at how well the one foot method lines up with the equation I derived for a simple cylindrical shell.

tags: API 650, hoop stress, python,

This isn't really engineering related, directly, but I think it is an interesting example of when data can lead you to the wrong conclusions.

Where I work we have a central document management database that manages the flow of documents from creation through approval and release. So, for example, I …

tags: quality system, metrics, missing data, python,

In my ongoing quest to reinvent all the equations in all the engineering codes, I found myself idly wondering why the equations of shell thickness in API 650 are the way they are. You would think that the governing stress in a storage tank is the hoop stress, and the …

tags: API 650, hoop stress, python,

Page 2 / 4