background preloader

A personal view of the theory of computation

A personal view of the theory of computation

Related:  AlgorithmsComputational

Jeff Erickson's Algorithms This page contains lecture notes and other course materials for various algorithms classes I have taught at the University of Illinois, Urbana-Champaign. The notes are numbered in the order I cover the material in a typical undergraduate class, wtih notes on more advanced material (indicated by the symbol ♥) intersprsed appropriately. New Jan 2015: In addition to the algorithms notes I have been maintaining since 1999, this page also contains new notes on "Models of Computation", which cover a small subset of the material normally taught in undergraduate courses in formal languages and automata. I wrote these notes for a new junior-level course on "Algorithms and Models of Computation" that Lenny Pitt and I developed, which is now required for all undergraduate computer science and computer engineering majors at UIUC. You can see this material in context at my Fall 2014 course web site. Feedback is always welcome, especially bug reports. Title: The Mystery of the Binary Author: Viznut Originally published in the [ALT] magazine issue 0x0000 The subcultures of computing are very young. There are no legends nor values that come from the distant past. Steps to create a Vagrant Base Box with Ubuntu 14.04 Desktop (GUI) and VirtualBox Since the advent of the IaaS and PaaS providers, the decline in usage of monolithic architectures (e.g.: application server + relational DB) and the need for distributed and automatically scalable applications, as software developers we have to be increasingly more aware and skilled in the tools and techniques used to orchestrate and automate the deployment of all the different components that our architecture might end up with. Among these tools, normally encompassed in the DevOps space, I am currently very interested in Vagrant, Docker, Ansible and Ubuntu JuJu. Although I already use Vagrant, today I decided I wanted to know how to create my own Base Boxes that I can reuse.

Lectures 1 and 2: Analysis of Algorithms I just finished watching the last lecture of MIT's "Introduction to Algorithms" course. Having a great passion for all aspects of computing, I decided to share everything I learned with you, my dear readers! This is the first post in an article series about this course. Combinatorial Game Theory Combinatorial Game Theory studies strategies and mathematics of two-player games of perfect knowledge such as chess or go (but often either concentrating instead on simpler games such as nim, or solving endgames and other special cases). An important distinction between this subject and classical game theory (a branch of economics) is that game players are assumed to move in sequence rather than simultanously, so there is no point in randomization or other information-hiding strategies. The bible of combinatorial game theory is Winning Ways for your Mathematical Plays, by E. R. Berlekamp, J. 1 Introduction The goal of this guidebook is to introduce you to Docker, show you what it can do, and how to get it up and running on your system, and how to use it to make your life better. This guide is still very rough, and needs a lot of work, but because it is open source and available on you can help make it better. Reverse a linked list in java « Think ! If you search for it you will get millions of solutions but sadly (like many things in internet) the first few solutions seem unintuitive and unnecessarily complex for such a simple problem, not sure why, anyway putting mine out there for somebody to point out why I should go for a more complex solution. [in java for a change] Idea : Use two references and reverse their links and proceed till we reach the end public void reverse_iterative { if(isEmpty()) { return;} //curr == null Node currNode,nextNode , loopNode; currNode = head; nextNode =; = null; while(nextNode != null) { loopNode =; = currNode; currNode = nextNode; nextNode = loopNode; } head = currNode; }

Umbral calculus In mathematics before the 1970s, the term umbral calculus referred to the surprising similarity between seemingly unrelated polynomial equations and certain shadowy techniques used to 'prove' them. These techniques were introduced by John Blissard (1861) and are sometimes called Blissard's symbolic method. They are often attributed to Édouard Lucas (or James Joseph Sylvester), who used the technique extensively.[1] In the 1930s and 1940s, Eric Temple Bell attempted to set the umbral calculus on a rigorous footing. In the 1970s, Steven Roman, Gian-Carlo Rota, and others developed the umbral calculus by means of linear functionals on spaces of polynomials. On the Design of Editors for Small Computers C.H. Whitfield M.Sc University of Edinburgh May 1972 Abstract CS 240 Computer Science II Syllabus Spring 2008 SYLLABUS This page last changed 6/19/08 Objectives: Hermite polynomials In mathematics, the Hermite polynomials are a classical orthogonal polynomial sequence that arise in probability, such as the Edgeworth series; in combinatorics, as an example of an Appell sequence, obeying the umbral calculus; in numerical analysis as Gaussian quadrature; in finite element methods as shape functions for beams; and in physics, where they give rise to the eigenstates of the quantum harmonic oscillator. They are also used in systems theory in connection with nonlinear operations on Gaussian noise. They are named after Charles Hermite (1864)[1] although they were studied earlier by Laplace (1810) and Chebyshev (1859).[2] Definition[edit] There are two different ways of standardizing the Hermite polynomials:

Counting bytes fast - little trick from FSE An apparently trivial and uninteresting task nonetheless received some special optimization care within FSE : counting the bytes (or 2-bytes shorts when using the U16 variant). It seems a trivial task, and could indeed be realized by a single-line function, such as this one (assuming table is properly allocated and reset to zero) : while (ptr<end) count[*ptr++]++; And it works. So what's the performance of such a small loop ? Well, when counting some random data, the loop performs at 1560 MB/s on the test system.

Adnan Aziz Elements of Programming Interviews We're excited to release a free soft copy sampler of EPI. Specifically, this PDF shows the organization, content, style, topics, and quality of our book. Amit, Tsung-Hsien and I have completed "Elements of Programming Interviews"! Buy it at - it's the best investment you as a software professional can make in your future. Malament–Hogarth spacetime A Malament–Hogarth (M-H) spacetime, named after David B. Malament and Mark Hogarth, is a relativistic spacetime that possesses the following property: there exists a worldline and an event such that all events along are a finite interval in the past of