Lisp Match

(DEF MATCH (PATTERN ASSERTION)
   (COND ((EQUAL PATTERN '?) T)
         ((AND (ATOM PATTERN)
               (EQUAL PATTERN ASSERTION)) T)
         ((ATOM PATTERN) NIL)
         ((ATOM ASSERTION) NIL)
         (T (AND (MATCH (FIRST PATTERN) (FIRST ASSERTION))
                 (MATCH (REST PATTERN) (REST ASSERTION))))))
FIRST < - CAR
REST <- CDR
Posted in General | Leave a comment

Rob Barton Quote

“Systems programmers are the high priests of a low cult.”
 
Robert “Bob” Barton (1967)
Posted in General | Leave a comment

ARPA NETWORK 1973

Screen Shot 2013-03-19 at 11.24.32 PM

Almost 40 years ago.

Posted in General | Leave a comment

The Old Dr. Dobbs

Screen Shot 2012-12-02 at 12.18.27 AM

Posted in General | Leave a comment

Experience one of my first big computers: the ATT 3B1

A long time ago now, in the 1990 or 1991 timeframe, I bought an ATT 3B1. It was my first true Unix machine.

I could tell you lots about it, but there is a Wikipedia page up for it already (the ATT 3B1).

The interesting message is the perspective of time.

Some nut actually preserved for eternity the startup or boot process on video. Look at how long this takes and listen to how loud that hard drive is:

GO HERE TO SEE AND HEAR WHAT IT WAS LIKE TO BOOT THIS DEVICE

:-)

Posted in General | 2 Comments

ubuntu – python – ImportError: cannot import name urandom

If you are on ubuntu and you get this bug, this might be because the python that you were using in a virtualenv was updated. ubuntu and some other distros may do this automatically.

You can verify that this occurred by looking at the:

/var/log/apt/history.log

or log in the equivalent location on your system.

The quick fix is to just re-run virtualenv.

In my case this was as simple as:

$ virtualenv .

I hope this helps some people out there.

Posted in General | Leave a comment

Great article on Waterfall / The Power of Open Access to Information

First, someone in the agile camp actually reads the original description on ‘Waterfall’ from 1970. Surprise – it is really really close to agile. This is a great read. Hopefully, this will end a lot of the debates on terminology and focus on the specifics of ‘good process’.

http://polishinggems.blogspot.com/2011/07/why-is-waterfall-model-bad.html

The second key point that is seen here is on how information is transferred from generation to generation. People may think that because technical people are well… technical that they are always assured of using the best practices. The truth is that this is a universal human problem.

The good news is that this is solvable. The mistakes are getting recognized faster. I don’t have any specific data other than my own experience, but I think I can make a strong case.

In the 80’s when I needed to see some code or a paper, it just wasn’t possible. There was no way for me to get that journal that cost a lot of money or attend the conference that sponsored it. There was no way for me to spend a thousand dollars on the original berkeley unix tapes (which was at cost), and on top of that have a $10,000 9-track tape reader to get the data off of it. This was general, very few people had great access.

If you heard ‘such and such’ can solve the Y problem, and you trusted that person, that was probably good enough.

Today, we have wikipedia and more and more stuff is ‘online’. This entire problem goes away. For example, I was once interested in a particular Smalltalk technology. In the past I just didn’t have access to the technology. Once the internet made it available, I downloaded the implementation, tried it out, and found it to be very similar to another tech in another language. This took less than an hour. The interesting thing here is that I would talk about this tech to others with amazement. I would think of this tech as a “silver bullet” and talk about as the ‘most impressive thing’. Do you see the failing here?

Another great example is around ‘quotes’. For example, most people know Stewart Brand’s quotation that ‘information wants to be free’. That alone is an interesting meme. Yet, the full context is much more valuable and relevant:

http://en.wikipedia.org/wiki/Informationwantstobefree

(yes, I just used recursion, not intentional)

If access to good information continues to happen, I think new structures will emerge around information that have not existed before. These structures will allow us to be a bit more knowledgable about the ‘why’ of something vs. just indoctrinating systems.

Thank you internet.

Posted in General | Leave a comment

Neat Chart on Schumpeter Cycles

schumpeter cycles

Click to enlarge the chart. Pretty interesting chart.

When I was old enough to be seriously looking for work, it was right around the 1990 low. It was a pretty tough time to find interesting work.

You can read more about Joseph Schumpeter on Wikipedia.

Posted in General | Leave a comment