## Shenzhen I/O – Harmonic Maximization Engine

By now we are veterans in making cheap electronic gadgets for the company. And now they want us to make a Harmonic Maximization Engine! That sounds cool.

When we look at the specifications we are supposed to copy the audio-in to audio out as long as the maximize is not high.

If the maximize input is high then we should apply the following algorithm

AUDIO_OUT = (AUDIO_IN – 50) x 4 + 50

As it is given to us in the manual. This gives us the following signals for verification

Posted by Kristian in Shenzhen IO, 1 comment

## Shenzhen I/O – Drinking Game Scorekeeper

Joe have been out drinking again. This time with Baron Von Schnapps. I don’t say this was a serious game. However, it resulted in yet another deal for us. So good job Joe on landing electronics, bad job for your liver. However, they want to promote their drink with a small game. And we are to make a drinking Game Scorekeeper to help them with that.

He might not remember the exact rules, but we are given two inputs called point and foul. As well as a display with a non-blocking xbus input. And if they trigger point, we should increment the display with one. If we get a foul we should subtract 2. However, we should never show less than zero on the display. Continue reading →

Posted by Kristian in Shenzhen IO, 1 comment

## Shenzhen I/O: Animated Esports Sign

I think Joe has been out drinking with some friends. At least he landed us the fourth deal. We are to make an animated esports sign for one of the famous stars in the world.

The board has 5 simple outputs and we are supposed to generate signals that looks like

Posted by Kristian in Shenzhen IO, 2 comments

## Reverse Polish Notation

One of the most popular pages on mathblog is the infix to postfix converter. When I realized that –  I decided it was worth diving a little more into what postfix or Reverse Polish Notation as it is better known is. Reverse Polish Notation is a mathematical notation which is functioning very well in a stack based implementation. In Reverse Polish Notation the operators follow their operands, in contrast to Polish Notation, in which operators precede their operands. One of the main benefits of Reverse Polish Notation is the fact that it does not rely on parentheses to evaluate the expression – as long as each operator has a  fixed number of operands. Continue reading →

Posted by Kristian in Math, 3 comments

## Shenzhen I/O: Diagnostic Pulse Generator

The third task we get is playing solitaire, but ignoring that the third programming puzzle we get is that we need to test some manufacturing equipment. We can do that by building a diagnostic pulse generator that sends a pulsing signal to the output whenever we hold a button.

The board looks like this where the button is a simple input. When it goes high we should generate a pulse to the pulse output with a certain characteristic. Continue reading →

Posted by Kristian in Shenzhen IO, 5 comments

## Shenzhen I/O: Control Signal Amplifier

In our second assignment we are asked to build a signal amplifier as a replacement for a control signal amplifier factory module that got eeeehhhh smashed…. but don’t worry, no one was hurt much. This task is in my opinion still as close as we get to a tutorial in this game as we ever will. The signal amplifier is pretty simple. We will take the input signal from a simple input, multiply it by 2 and send it to the simple output pin.

Posted by Kristian in Shenzhen IO, 3 comments

## Shenzhen I/O: Fake Surveillance Camera

The very first challenge we get in Shenzhen IO is to make some LEDs blink on a fake security camera. We have just been hired by Shenzhen Longteng Electronics CO. Ltd and we are taking on an old project we are taking over from a guy who quit. The camera has two LEDs called “active” and “network” and we should design and code the solution to make them blink in this pattern

Posted by Kristian in Shenzhen IO, 3 comments

## Shenzhen I/O

Is your biggest dream to move to china and program cheap electronic devices? Mine is not. However you now get the chance to play a video game where you do just that. Shenzhen I/O is a programming puzzle game created by Zachatronics where you solve puzzles through programming and designing embedded electronic circuits. I got hooked on it when I saw my favorite youtuber Scott Manley play it. You should go watch him some time, he is excellent both at making fun Kerbal Space Program videos, but also his scientific explanations are awesome. Continue reading →

Posted by Kristian in Shenzhen IO, 0 comments

## Project Euler 267: Billionaire

It has been a long while since I solved any Project Euler problem. For some reason I read an article about it and someone references Problem 267, so I decided to take a look at it, and it sucked me in. The problem reads

You are given a unique investment opportunity.

Starting with £1 of capital, you can choose a fixed proportion, f, of your capital to bet on a fair coin toss repeatedly for 1000 tosses.

For example, if f = 1/4, for the first toss you bet £0.25, and if heads comes up you win £0.5 and so then have £1.5. You then bet £0.375 and if the second toss is tails, you have £1.125.

Choosing f to maximize your chances of having at least £1,000,000,000 after 1,000 flips, what is the chance that you become a billionaire?

All computations are assumed to be exact (no rounding), but give your answer rounded to 12 digits behind the decimal point in the form 0.abcdefghijkl.

Posted by Kristian in Project Euler, 12 comments

## Making decisions under uncertainty in everyday life

Everyday I (and probably everyone else) am faced with decisions that we have to make, some of them are small, some of them are big.  At least for me there are two aspects governing the decisions I want to make. I want to make the best decision and I am making the decisions without knowing everything.  This is exactly what stochastic optimization and what I work with in my daily job.

But now I have found a really good example from real life which I am facing often and which have some really interesting characteristics. It involves something I know that several people have been thinking about when walking in a city: How can we come from point A to point B in the most effective way.

I wont be getting into details of how to formulate any of this in a mathematical setting. You can find lots of text books on that. I just want to introduce you to some of the concepts and ideas of it. Continue reading →

Posted by Kristian in Math, 2 comments