Convergence of arithmetic and geometric means of the n-th root of a sequence of certain binomial coefficients


Blaise Pascal first introduced the triangle that would later come to hold his name [1], although in modern notations the so-called binomial coefficient denoted by $n \choose k$ may be more familiar to the reader. We shall prove a few interesting results regarding a sequence of the $n$-th root of means of the set of binomial coefficients
{n \choose 0}, {n \choose 1}, {n \choose 2}, {\cdots}, {n \choose n}.
In particular, if $A_n$ is the arithmetic mean of (\ref{binomial}) and $G_n$ is the geometric mean of (\ref{binomial}), we will show that the infinite sequences
S_A = A_1, \sqrt{A_2}, \sqrt[3]{A_3}, \sqrt[4]{A_4}, \cdots, \quad S_G = G_1, \sqrt{G_2}, \sqrt[3]{G_3}, \sqrt[4]{G_4}, \cdots
converge to $2$ and $\sqrt{e}$ respectively.

Continue reading “Convergence of arithmetic and geometric means of the n-th root of a sequence of certain binomial coefficients”

Real number approximations in finite space with IEEE 754

Jeffrey Quesnelle

Computer systems often need to represent real numbers as a part of their operation, but how to encode these numbers in fixed, finite space is non-trivial. If the size of the variable in question is bounded then so-called fixed point arithmetic can be used, treating both sides of the decimal point as integer values. In general however it would be useful to have a more flexible method of representing values that can hold both $10$ and $10^{-9}$ in a small, fixed amount of memory.

The current base ten number system is a relatively new invention [1]. We may take for granted that there is a well-defined way of writing down numbers (with only terminating reals having non-unique representations) but the problem of representing an arbitrary real number in fixed space (say, in computer memory) raises several interesting tradeoffs between precision and accuracy; we give an extremely abbreviated overview of the most popular method of representing reals in computers: IEEE 754.

IEEE Standard for Floating-Point Arithmetic (IEEE 754-2008 or simply 754) is the internationally accepted method for performing operations on and transmitting approximations of reals on computer systems. The key property of 754 is that the decimal point “floats”, i.e. if a number is very large or very small the decimal point can be “moved around” so that most bits are used to represent the significant digits of the number. Compare this method to fixed point arithmetic which has a bias towards numbers closer to zero; in 8.8 fixed point math (8 bits for whole part, 8 bits for fractional part) the number $2^{7}$ is represented as $1000 \; 0000.0000 \; 0000$ and $2^8$ cannot be represented at all, even though both numbers contain only one “significant digit”!

Continue reading “Real number approximations in finite space with IEEE 754”

nds4droid release 46

Hey there boys and girls, how about an nds4droid update for the holidays? As always it’s on Google Play and sourceforge. Your changes:

  • Added a soft options button that will open the options menu. This will allow new devices that don’t display the options compatibility bar to access the options.
  • (Hopefully) fixed a bug that caused excessive battery drain when minimized on devices with buggy OpenSL ES drivers (reported by LG Korea)

Automotive Ethernet: The Definitive Guide

ETHERNET-GUIDE-2I’m excited to announce my first real published work! Automotive Ethernet: The Definitive Guide is a comprehensive guide to the developing world of Automotive Ethernet. For the past twenty years most automotive networking has relied on CAN bus to move information around the car. CAN is quickly outgrowing it’s usefulness though, and the industry is now shifting to using Ethernet. I wrote this book along with several others at my company, and it will be available on October 20th, 2014 as an eBook from Amazon, and the physical version will be available soon after. Enjoy!


Using emscripten/WebGL to run a Nintendo 64 emulator at full speed in most games with Firefox

I recently spent some time learning emscripten, the LLVM-to-Javascript compiler and decided that porting mupen64plus, the popular Nintendo 64 emulator, would be a good test of its features. Took a bit to get right, but you can checkout the code and a working demo of it here: (Requires Firefox unfortunately for now)

Setting up a man-in-the-middle device with Raspberry Pi, Part 1

I recently purchased that most marvelous of devices the Raspberry Pi and naturally my thoughts turned to the nefarious given its cheap price and small package. I decided to attempt to create a man-in-the-middle device that could be discreetly attached to a remote network and could redirect and sniff traffic. I’m only a very novice Linux user so it took a bit of learning to wrangle man pages as well as some intrepid Google-fu, but I’m going to document how I was able to turn this tiny device into an evil packet-sniffing machine. Continue reading “Setting up a man-in-the-middle device with Raspberry Pi, Part 1”

nds4droid release 45

Got an e-mail recently from someone having problems running nds4droid on an NVIDIA SHIELD so I’ve made a couple of updates that should ease the pain for those of you using these newfangled console-like devices. You can as always find it on Google Play and sourceforge. Bullet points:

  • Changed the default key mapping to open the options menu to “KEYCODE_BUTTON_START.” This should be a better default for controller-based systems like the OUYA or the NVIDIA SHIELD. It will require a full reinstall of the app for this default to take effect.
  • Added the ability to access the settings screen from the ROM browser options menu.
  • Enabled compatibility for devices without a touchscreen.

nds4droid release 43/44

EDIT: I have pushed a fix (release 44) for those who couldn’t access the menu in release 43.

Reports of my death have been greatly exaggerated. As proof, I present to you nds4droid release 44! As expected it’s on Google Play and sourceforge. The changes:

  • Minor performance enhancements
  • Added a setting to disable the auto-scanning ROM browser (default to the old file browser)

Gone Home is what video games were meant to be

Most of this blog is spent posting about my pretty popular Nintendo DS emulator, nds4droid. 3.5 million can’t be wrong (this is of course not true), but between working on it and playing obsessive amounts of Counter-Strike: Global Offensive, I don’t have time for too much else. So, if you’re just here for nds4droid, bear with me a bit why I explain why a new game, Gone Home had such a profound impact on me. Continue reading “Gone Home is what video games were meant to be”