Showing posts with label programming. Show all posts
Showing posts with label programming. Show all posts

Tuesday, May 21, 2013

Lisp Prolog and Evolution:

Via @HNTweets.

Sami Badawi writes about how LISP, Prolog, and programming languages since then.

Friday, December 14, 2012

Intel releases open source GraphBuilder for big data



by Shaun Nichols at v3.co.uk.

The NoSQL Ecosystem

by Adam Marcus in The Architecture of Open Source Applications.

Unlike most of the other projects in this book, NoSQL is not a tool, but an ecosystem composed of several complimentary and competing tools. The tools branded with the NoSQL monicker provide an alternative to SQL-based relational database systems for storing data. To understand NoSQL, we have to understand the space of available tools, and see how the design of each one explores the space of data storage possibilities.

If you are considering using a NoSQL storage system, you should first understand the wide space of options that NoSQL systems span. NoSQL systems do away with many of the traditional comforts of relational database systems, and operations which were typically encapsulated behind the system boundary of a database are now left to application designers. This requires you to take on the hat of a systems architect, which requires a more in-depth understanding of how such systems are built.

Guido Van Rossum Left Google for Dropbox



From Forbes by Tomio Geron, Forbes Staff.

Dropbox Snags Google Exec And Python God Guido Van Rossum



Image credit:  by Doc Searls via Wikipedia.

Sunday, December 02, 2012

Tuesday, July 10, 2012

Why is Clojure so slow?



RT @newsycombinator

From Martin's Computer Programming Blog.


What we can see it that Java itself accounts for 0.35s of the startup time, but unfortunately Clojure adds another second(!) on top of that. This 1.3s pause before main gets called is why Clojure is unsuitable for "terminal scripts". The running time of any scripts (like lein or starting the REPL) will be totally dominated by the startup time. Most Clojure developers will not notice this too much to, since they spend almost all their time in the REPL itself, but users of those Clojure programs will!

My summary is that it spends 95% of the startup-time loading the clojure.core namespace (the clojure.lang.RT class in particular) and filling out all the metadata/docstrings etc for the methods. This process stresses the GC quite a bit, some 130k objects are allocated and 90k free-d during multiple invokes of the GC (3-6 times), the building up of meta data is one big source of this massive object churn.

Tuesday, July 03, 2012

Tuesday, June 26, 2012

Introduction to Python descriptors



RT @NewsOfLinux

From IBM Developer Works.

This is Python's version of getters and setters.

Saturday, June 23, 2012

Why we owe it all to Alan Turing

by Dan Crow on Gigaom.

…he, more than anyone, can be said to be the father of the computer. So what was his great insight? What is it he did that shaped our world so profoundly?

The Church-Turing Thesis has two very important implications.

First, it recognized the fundamental limitations of the system — for example, that there are some programs that are not computable by any machine.

But it was the second implication that was most profound: within its limitations, a Turing Machine can be programmed to run any piece of software. In fact, one of the programs that can be run on a Turing Machine is a simulation of a Turing Machine. And the simulated Turing Machine can itself run any program that a Turing Machine can run.

This is the genius of Turing’s work, his key insight. He has defined a “Universal Machine” — one that can run simulations so powerful they are themselves universal machines.

Sunday, May 27, 2012

Thursday, April 26, 2012

A Forgotten Principle of Compiler Design

from Programming in the 21st Century.
That a clean system for separately compiled modules appeared in Modula-2, a programming language designed by Niklaus Wirth in 1978, but not in the 2011 C++ standard…hmmm, no further comment needed. But the successor to Modula-2, Oberon, is even more interesting.

Friday, February 17, 2012

Strings in Scheme Lisp

I was recently trying to find what string functions were built into Scheme.  Yes, it actually is in the manual but my web search brought up this site:   Python vs. Scheme: strings.

R-Like Statistics in Clojure

“Incanter is a Clojure-based, R-like platform for statistical computing and graphics. Incanter can be used as a standalone, interactive data analysis environment or embedded within other analytics systems as a modular suite of libraries.” From incanter.org..

Friday, January 27, 2012

Google’s Python Lessons are Awesome

via Hartley Brody


The lovably geeky Nick Parlante — a Google employee and CS lecturer at Stanford — has written some awesomely succinct tutorials that not only tell you how you can use Python, but also how you should use Python. This makes them a fantastic resource, regardless of whether you’re just starting, or you’ve been working with Python for awhile.

Google's Python class 

Thirty Books Everyone in the Software Business Should Read

Micro ISV Blog.