Category: Computer

  • A basic square root function in assembly

    Why learn assembly? It is painful, and nearly useless to know. But once you understand it, you now know how a computer “works”. It is impossible to understand the hardware/software interface without an knowledge of assembly. In particular, if you are in the computer security field, you have to understand how things really work. These…

  • Provenance (in Computer Science)

    Provenance is the ability to record the history of data and its place of origin. In general, it is the ability to determine the chronology of the ownership, custody or location of any object. The primary purpose of tracing the provenance of an object or entity is often to provide contextual and circumstantial evidence for…

  • Halt!

    You can’t work long in computer science until you have to understand the halting problem. The halting problem is concerned with determining whether a program will finish running or continue to run forever. It has a storied history. In 1936, Alan Turing proved that a general algorithm to solve the halting problem for all possible…

  • Family Photo Management

    Post still in work Our family pictures were scattered over several computers, each with a unique photo management application. In an effort to get a good backup in place. I moved all my pictures to one computer where I accidentally deleted them. (Long story.) I was able to recover them all, but I had numerous…

  • Caging the Demon

    As computers become powerful and solve more problems, the possibility that computers could evolve into a capability that could rise up against us and pose an existential threat is of increasing concern. After reading a recent book on artificial intelligence (AI), Superintelligence, Elon Musk recently said: I think we should be very careful about artificial…

  • Shellshock: Bashing Bash for Fun and Profit

    The latest fundamental computer security vulnerability, termed Shellshock, was discovered by a vulnerability researcher Stephane Chazelas (a linux shell expert living in the UK) which allows for arbitrary code execution on linux or mac computers through creating a custom environment variable. If you haven’t already, you need to patch your system(s) and you might be…

  • Cryptography

    We are swimming in a sea of information. Without encryption this whole operation would be a very public event. Encryption enables our communications to be anonymous or secure and makes e-commerce and private communications possible. Because of this, I registered for Dan Boneth’s cryptography course. At this point, I’ve only watched one lecture, but I…

  • Gradient Descent

    It has been awhile since I’ve studied optimization, but gradient descent is always good to brush up on. Most optimization involves derivatives. Often known as the method of steepest descent, gradient descent works by taking steps proportional to the negative of the gradient of the function at the current point. Mathematically, gradient descent is defined…

  • Excel Sorting and Grouping

    I had two tables downloaded from Amazon: Items Order Date Order ID Title Category 1/26/14 102-4214073-2201835 Everyday Paleo Family Cookbook 1/13/14 115-8766132-0234619 Awesome Book A 1/13/14 115-8766132-0234619 Awesome Book B and Orders Order Date Order ID Subtotal 1/6/14 102-6956821-1091413 $43.20 1/13/14 115-8766130-0234619 $19.42 1/16/14 109-8688911-2954602 $25.86 I’m building our Q1 2014 taxes and needed rows…

  • OFX for USAA via Ruby

    My wife and I have been through roughly 10-15 different budget/financial tracking systems. We started with every penny in MS Money, used several different spreadsheets, spent several years in Mint and have pretty much dropped all of that for a top-down strategy that has us budgeting savings, non-discretionary spending, and a rainy day buffer and…