Category: Computers

The Method of Complements

Abraham Lincoln once famously said, “Everybody loves a compliment.”  I suspect that if he had been a mathematician he would have loved complements, too. We’ve already seen what complements are and talked about the two most prolific: the radix complement and the diminished radix complement. Now it’s time to explore how we can leverage complements …

Continue reading

How to Install Pip on Ubuntu 16.10 Yakkety Yak

Python Logo

I am excited this evening. Why? Because I am finally getting back to some real Python development. While I have recently coded up some GIMP plug-ins, I haven’t really taken the time to properly set up my Python environment since making the switch from OS X to Ubuntu in December.  Now I’ve got some Django programming …

Continue reading

Number System Complements

In my last post about binary signed integers, I introduced the ones complement representation. At the time, I said that the ones complement was found by taking the bitwise complement of the number. My explanation about how to do this was simple: invert each bit, flipping 1 to 0 and vice versa. While it’s true that …

Continue reading

Program Python Plug-ins for GIMP: Hello, GIMP World

GIMP preferences

In my last post, I briefly explained GIMP‘s scripting and plug-in system and the two most common ways to program custom extensions and scripts: Script-Fu and Python-Fu. Script-Fu, being the older of the two options, is well documented and the more widely used of the two. Not because I love the road less traveled, but …

Continue reading

Programming Scripts and Plug-ins for GIMP: Introduction

GIMP logo

For several years now, Adobe Photoshop has been the sole reason that I have continued to run Mac OS X. During that time, I have done the majority of my work in an Ubuntu instance running in a Parallels virtual machine. I’ve finally bitten the bullet and installed Ubuntu as the primary operating system on …

Continue reading

How to Disable IPv6 in Ubuntu 16.04 Xenial Xerus

Internet Protocol version 6 (IPv6)

In the course of troubleshooting a pseudo-distributed mode installation of Apache Hadoop on my Ubuntu 16.04 vm, one of the tips I stumbled across suggested disabling IPv6. For any networking neophytes, Internet Protocol version 6, aka IPv6, is the most recent version of the Internet Protocol (IP), the system governing the assignment of addresses to networks …

Continue reading

Binary Signed Integers – Ones Complement

In the last post, we saw that one of the major failings of the signed magnitude representation was that addition and subtraction could not be performed on the same hardware as for unsigned integers. As I pointed out, the reason for this is because negating a number in signed magnitude does not yield the additive …

Continue reading

Grace Hopper on Distributed Computing

Grace Hopper

In pioneer days they used oxen for heavy pulling, and when one ox couldn’t budge a log, they didn’t try to grow a larger ox. We shouldn’t be trying for bigger computers, but for more systems of computers. – “Amazing” Grace Hopper

Google Refreshes Asimov’s Three Laws of Robotics

Ever since their introduction over eighty years ago, Isaac Asimov‘s Three Laws of Robotics have been the de jure rules governing the acceptable behavior of robots. Even the uninitiated and uninterested are likely to say they know of them, even if they can’t recite a single rule verbatim. When conceived, the Three Laws were nothing but a thought …

Continue reading

Google Built Their Own Chip for Machine Learning

Google's Tensor Processing Unit board

In a post on their Google Cloud Platform Blog yesterday, the Alphabet company announced that they have built their own integrated circuit (IC) designed from the ground up with only one application in mind: machine learning. Developed in secret, the Tensor Processing Unit board, or TPU for short, has already been deployed internally at Google for …

Continue reading