About

I work as a professional Lisp and Python developer and recently founded my own contract development studio; I began programming as a child in Basic and TurboPascal, primarily to create my own games in the spirit of classic text adventures and my favourite Sierra titles. I first discovered Lisp when I was 9 years old, when I happened across a new copy of The Little LISPer at the public library.

As a teenager, I expanded my reach into AI programming, desktop application development in Visual Basic and Visual C++, and web development in ASP, ColdFusion, VBScript, JavaScript, and HTML; learned how to build my own computers and robots; got involved in the open-source/linux community; joined the Nano Computer Dream Team (when it was still worth being a member of); designed my first hybrid optical/quantum computer and an integrated programming, scripting, and markup language; founded a web design company, and ran a home business for IT consulting and custom hardware builds.

Over the past two decades, I’ve kept up with emerging web and desktop technologies and expanded further into os x and mobile development, among other things. In short, computers are my life. I have a particular penchant for Common Lisp, but I make it my business to learn and use as many programming languages as I can fathom.

Technology excites me, and the next decade will prove to be an especially exciting one. With the continuing improvements being made to quantum computers, machine-learning algorithms, artificial intelligence, natural speech recognition, thought-controlled computing, robotics, and space-tech, it’s hard to know what to focus on, and even harder to predict what the future might be like. I intend to be there every step of the way, chronicling everything I find, and contributing everything I can.

10 thoughts on “About

  1. I resonate with your enthusiasm — keep it up. 😉 BTW, I discovered your site while Googling “django emotiv.”

  2. Hi, Lupton,

    I’m Mao Xin from Tsinghua University in China. I’m very interested in D-Wave, and my team want to do some research in the applications of it. However, we have no access to the toolkit of it.

    Could you give us one? thank you!

      1. No, I haven’t. I will try to do this. But if it doesn’t work, could you give me some suggestion? Thank you!

  3. Hey Colin,

    I’m completely new to programming and am exploring which technology I should use for my start-up. I just finished my course in graphic design and am now entering into university where I will study a double degree in industrial design and computer science.

    I had reached the conclusion that I should learn python initially but I then went on to decide that I should learn Javascript to make use of the full stack framework Meteor. You say it’s much easier to learn as a less seasoned developer. So my question is should I learn lisp as my first programming language or Javascript. Building my start-up is directly related to my income so I am torn between learning the best (lisp) first or learn programming via Javascript.

    Although I have slightly different views on the world as you. Still slowly reading through your stuff so it may or may not change. I do believe we are on the cusp a big evolutionary change.. I have friends in biochemistry that are doing interesting work with growing crystals and I would like to be able to help them with scientific next generation tech programming.

    1. If you could enlighten me as to what you think I should do that would be great. I am also on the look out of an exceptional mentor/teacher that understands me. I’m a theta healing practitioner and also very into esoteric knowledge and the quest for greater understanding of life in all it’s beauty… I actually believe we can transcend the need for computers and machines all together by using the powers which are hidden within us all.

      Any tips/advice would be greatly appreciated.

      1. I suppose it’s also worth mentioning that that’s the point of my little pet-project, Neuro-Occultism—that as transhumanism and psychonautics stipulate, we can use technology to increase the pace of self-discovery and self-mastery, but it’s the self-mastery that actually matters; using EEGs/BCIs to get a look at our own brainwaves while meditating is significantly useful, in particular, as it allows us to record empirical data on our meditative experiments. But the most powerful computer on the planet is the one we were born with—our brains. We don’t need to upgrade our biology with primitive cybernetics, unless of course it’s a medical necessity; but assuming we’re in perfect health, the main advantage of technology from an occult perspective is that it enables an objective approach to the Great Work. The old techniques work fine, such as meditation, lucid dreaming, visualization, and so on; so the question is, how can we use technology to streamline the old methods that normally take decades to learn and master?

    2. Hi Wade,

      In my experience at least, when you’re launching a start-up, it’s really important that you can build your MVP in less than three months, and then launch in another 6. Your choice of technology is somewhat entangled with that tight timeline, as well as the needs of the project. Having to learn a new technology at the onset of the project may hold you back somewhat—but it may just as easily inspire you to do greater things. In Peter Seibel’s book, Practical Common Lisp, he describes how his father had to take over this FORTRAN project that was going nowhere and switch the technology to Lisp without knowing the language, but was still able to complete the full project scope on time and in budget, including the time it took for him and his team to learn the language. If you’re committed to working hard, you can achieve anything you want—you just have to focus your will to the point of obsession. But it also helps when you’re using a technology as carefully designed as Common Lisp.

      Now, my book on Lisp isn’t finished yet, and very much a draft; as such it might interfere with your learning process. Practical Common Lisp may be too dense for you though, as it was written for experienced programmers who want to add Lisp to their resume. If you’re absolutely new to programming, you may want to give Land of Lisp a whirl—I enjoyed reviewing it when it was released, because it reminded me of those fun programming magazines that were a thing back in the 80s when I was first learning to program in Basic and TurboPascal. But Norvig’s PAIP, and Touretzky’s Common Lisp: A Gentle Introduction to Symbolic Computing are also great places to start, and more serious in their tone.

      Your other selections for possible technologies suggest the platform for your start-up is going to be web-based, though; it’s worth mentioning that web development in Common Lisp won’t save you from learning HTML5, CSS3, and JavaScript first (plus a bunch of JavaScript frameworks like jQuery, Underscore, AngularJS, etc.). Lisp will, however, allow you to apply the web languages more intelligently, as a compilation target instead of as your core technology stack. If you want to dive right into the web with absolute minimum overhead, and still get into the Lisp family, you may actually want to start with Clojure. You can check out the books The Joy of Clojure and Clojure For The Brave and True—I think it will give you the best results for your immediate need, and get you used to the Lisp-family of languages while I finish Learn Lisp The Hard Way. As an anecdote, I’ve only been using Clojure for about six months, but at least for the very specific task of building asynchronous web applications, I’ve found Clojure to be slightly more productive than Common Lisp—but mostly because of the libraries available for Clojure web development. You’ll want to check out Compojure, HTTP-Kit, Hiccup, Cheshire, Om, and naturally lean on ClojureScript heavily.

      Good luck with your start-up and school, and hope this extra info helps!

      1. Thank you for the prompt response.

        Seems we have very much the same views and outlook on life which is good. I followed Ray Kurzweil for a while but it seemed that he was focused on resurrecting his father and fears death. It also seemed that a lot of others with an interest in AI were focused on similar things driven by fear.

        Yes my start-up is primarily web focused. The MVP is essentially a Meetup imitation. I had reached the conclusion of using Meteor as it appears to be designed for rapid development and with Javascript working everywhere I figured I could make do. Essentially mastering Javascript and using it as my only programming language utilising node.js etc (making best use of my time as I don’t intend to become a full time programmer I wish to have enough time remaining to focus on other endeavours) though in saying this I have felt intuitively that there is more and have kept looking to make sure I am making the right decision. Clojure does look like a good alternative. So I see my two options as.

        1. Going the route of Clojure web development
        2. Going the route of Meteor then learning Common Lisp to further my programming skills

        Do you have much experience or thoughts on Meteor.js?
        Also I am sorry for using your comments to ask questions. I was unsure how I could contact you directly. My twitter is @scatterVISION if you wish to message me your email etc so we can maintain contact.

      2. I am familiar with Meteor, yeah; I was profiling it for a few projects a year ago, but it didn’t meet my security needs. I think I still have one meteor-based test project up on my github, actually. It disappointed me as a framework, but then I’m very demanding of my technology stack. For what it is, though, it’s a cool concept and executed nicely. Although I think the main complaint about it from the Node.js/JavaScript community is that it substantially changes the Node evaluation model, on purpose, which a lot of server-side JavaScript developers dislike. I really like the seamless integration of live-updating templates and code though—but you can achieve the same effect with AngularJS and pure Node, without breaking the event-loop like Meteor does.

        I can certainly understand that you don’t want to work as a full-time programmer—as an entrepreneur you need a diverse skill-set, and your focus has to be big-picture, but being able to get your project off the ground with a small team is key too. In my opinion, programming is an essential skill, as essential as reading, writing, and math; sure, there will always be master-hackers whose code expresses a poetry and clarity beyond the reach of most fingers, the Dickens and Shakespeares of coding—but everyone should still be able to write clean, concise, bug-free software that does exactly what they need it to. Programming is already that important now, but it’s only going to keep getting more important. And that’s one of the many reasons I emphasize Lisp-family languages over others, because once grokked, they enable you to achieve arbitrary complexity with concise simplicity. I hope you enjoy Clojure and Common Lisp! They are mind-opening languages.

Leave a reply to Colin J.E. Lupton Cancel reply