GStreamer The Evolution of a Haskell Programmer Fritz Ruehr, Willamette University Freshman Haskell programmer fac n = if n == 0 then 1 else n * fac (n-1) Sophomore Haskell programmer, at MIT (studied Scheme as a freshman) fac = (\(n) -> (if ((==) n 0) then 1 else ((*) n (fac ((-) n 1))))) Junior Haskell programmer (beginning Peano player) fac 0 = 1 fac (n+1) = (n+1) * fac n Another junior Haskell programmer (read that n+k patterns are “a disgusting part of Haskell”  and joined the “Ban n+k patterns”-movement ) fac 0 = 1 fac n = n * fac (n-1) Senior Haskell programmer (voted for Nixon Buchanan Bush — “leans right”) fac n = foldr (*) 1 [1..n] Another senior Haskell programmer (voted for McGovern Biafra Nader — “leans left”) fac n = foldl (*) 1 [1..n] Yet another senior Haskell programmer (leaned so far right he came back left again!) -- using foldr to simulate foldl fac n = foldr (\x g n -> g (x*n)) id [1..n] 1 Memoizing Haskell programmer (takes Ginkgo Biloba daily) facs = scanl (*) 1 [1..] fac n = facs !! (studied at Oxford) Ph.D. Tenured professor
Extensible Markup Language (XML) 1.0 (Fifth Edition) 2 Documents [Definition: A data object is an XML document if it is well-formed, as defined in this specification. In addition, the XML document is valid if it meets certain further constraints.] Each XML document has both a logical and a physical structure. 2.1 Well-Formed XML Documents [Definition: A textual object is a well-formed XML document if:] Taken as a whole, it matches the production labeled document.It meets all the well-formedness constraints given in this specification.Each of the parsed entities which is referenced directly or indirectly within the document is well-formed. Document Matching the document production implies that: It contains one or more elements. [Definition: As a consequence of this, for each non-root element C in the document, there is one other element P in the document such that C is in the content of P, but is not in the content of any other element that is in the content of P. 2.2 Characters Character Range Note: 2.3 Common Syntactic Constructs White Space Note:
Pupil Pupil is an eye tracking hardware and software platform that started as a thesis project at MIT. Pupil is a project in active, community driven development. For noncommercial use, the hardware is accessible, hackable, and affordable. Our vision is to create a tool kit for a diverse group of people interested in learning about eye tracking and conducting their eye tracking projects. Headset Capture Software Visualization Software Discussion Forum The main forum for PUPIL discussion is the pupil-discuss group. Pupil in 3D Pupil3d uses Pupil for experimental 3D tracking of visual attention using structure from motion. NUMA (Non-Uniform Memory Access): An Overview - ACM Queue Christoph Lameter, Ph.D. NUMA (non-uniform memory access) is the phenomenon that memory at various points in the address space of a processor have different performance characteristics. At current processor speeds, the signal path length from the processor to memory plays a significant role. Increased signal path length not only increases latency to memory but also quickly becomes a throughput bottleneck if the signal path is shared by multiple processors. Today, processors are so fast that they usually require memory to be directly attached to the socket that they are on. As the trend toward improving system performance by bringing memory nearer to processor cores continues, NUMA will play an increasingly important role in system performance. NUMA systems today (2013) are mostly encountered on multisocket systems. Performance-sensitive applications can require complex logic to handle memory with diverging performance characteristics. How Operating Systems Handle Numa Memory NODE LOCAL.
Python Programming/Creating Python Programs Welcome to Python! This tutorial will show you how to start writing programs. Python programs are nothing more than text files, and they may be edited with a standard text editor program. What text editor you use will probably depend on your operating system: any text editor can create Python programs. It is easier to use a text editor that includes Python syntax highlighting, however. Hello, World! The first program that every programmer writes is called the "Hello, World!" Open up your text editor and create a new file called hello.py containing just this line (you can copy-paste if you want): This program uses the print function, which simply outputs its parameters to the terminal. Now that you've written your first program, let's run it in Python! Windows Create a folder on your computer to use for your Python programs, such as C:\pythonpractice, and save your hello.py program in that folder.In the Start menu, select "Run Mac Linux Linux (advanced) #! Result
pymc Go for System Administrators - blog dot lusis If I never directly touch a Go concurrency primitive, I’m convinced I’m going to write all my cli apps with it just for ease of deployment. This is something I said the other day. I figured it deserved a more detailed blog post. Most people who know me professionally know two things about me: I’m fairly pragmatic and somewhat conservative about technology decisionsI’m a language tourist This second one is something Bryan Berry attributed to me in an early FoodFight episode. I love learning new programming languages. So it’s weird that I find myself 18 years later having a working knowledge of ruby, python, perl, java and a few other languages to a lesser degree. This leads me to picking up Go. If you haven’t heard of Go, there are countless articles, blog posts and a shitload of new tooling written in it. Mind you I don’t pick up languages based on popularity. I actually attempted that route working on a PAM module for StormPath. So why Go now? On Pragmatism Tooling in Go The syntax is easy.
PEP 8 -- Style Guide for Python Code Code should be written in a way that does not disadvantage other implementations of Python (PyPy, Jython, IronPython, Cython, Psyco, and such).For example, do not rely on CPython's efficient implementation of in-place string concatenation for statements in the form a += b or a = a + b. This optimization is fragile even in CPython (it only works for some types) and isn't present at all in implementations that don't use refcounting. In performance sensitive parts of the library, the ''.join() form should be used instead.
nu7hatch/gmail Structure and Interpretation of Computer Programs A powerful programming language is more than just a means for instructing a computer to perform tasks. The language also serves as a framework within which we organize our ideas about processes. Thus, when we describe a language, we should pay particular attention to the means that the language provides for combining simple ideas to form more complex ideas. Every powerful language has three mechanisms for accomplishing this: primitive expressions, which represent the simplest entities the language is concerned with,means of combination, by which compound elements are built from simpler ones, andmeans of abstraction, by which compound elements can be named and manipulated as units. In programming, we deal with two kinds of elements: procedures and data. In this chapter we will deal only with simple numerical data so that we can focus on the rules for building procedures.4 In later chapters we will see that these same rules allow us to build procedures to manipulate compound data as well.
Astropython its-not-software - steveyegge2 You don't work in the software industry. The software industry has been around a lot longer than ours, and it continues to thrive in parallel to ours. There's some overlap, just as the hardware and software industries have some overlap. But it's a lot less than you probably realize. Not knowing that we're not in the software industry is hurting you every day. But it's also hurting us in that any competitor who does understand that it's a different industry is going to start coding circles around us, to whatever extent they've figured it out. Our Sister Industry So what's the software industry, and how do we differ from it? Well, the software industry is what you learn about in school, and it's what you probably did at your previous company. So it includes pretty much everything that Microsoft does: Windows and every application you download for it, including your browser. Servware Servware is stuff that lives on your own servers. Software Lifecycle Broken/Incomplete Models Documentation Yawn.